箇中奧妙:架構簡介
Dropbox 擁有多層防護,提供安全的資料傳遞、加密、網路設定,並在具可擴充性及安全的架構上提供應用程式層級的管控功能。
檔案系統架構
Dropbox 使用者隨時都可以透過桌面、網頁、行動用戶端、與 Dropbox 連接的第三方應用程式等多種介面存取檔案及資料夾。每種介面都有強大的安全防護設定和功能,不僅方便您存取檔案,還可確保使用者資料安全無虞。這些用戶端都會連上安全的伺服器以提供用戶存取檔案、與他人共享檔案、並在檔案有所變動 (新增、變更或刪除) 時更新連結的各個裝置。
我們的檔案系統架構由以下元素組成:
後設資料伺服器
使用者資料的特定基本資訊 (又稱後設資料) 會保存在其本身的儲存空間服務中,作為使用者帳戶的資料索引。後設資料包含基本帳戶與使用者資訊,例如電子郵件地址、姓名與裝置名稱。後設資料也包含檔案的基本資訊,包含檔案名稱與類型,可協助支援版本紀錄、復原與同步等功能。
後設資料資料庫
檔案後設資料儲存於 MySQL 支援的資料庫服務,且會視需要分區及複製,以協助系統達到效能與高可用性要求。
區塊伺服器
在設計上,Dropbox 提供超越傳統加密的安全機制以保障使用者資料。區塊伺服器處理來自 Dropbox 應用程式的檔案時,會把每個檔案切割成多個區塊,再用強大的編碼器將每個檔案區塊加密,只同步各修訂版本中經修改的區塊。Dropbox 應用程式偵測到新檔案或現有檔案的變更後,會通知變更的區塊伺服器,並處理新增或修改後的檔案區塊,然後傳遞至區塊儲存空間伺服器。此外,區塊伺服器也用於將檔案和預覽傳遞給使用者。
區塊儲存空間伺服器
使用者檔案的實際內容會儲存在區塊儲存空間伺服器的加密區塊中。使用者檔案的實際內容會儲存在區塊儲存空間伺服器內的加密區塊中。在傳輸前,Dropbox 用戶端會將檔案分割成檔案區塊,為儲存做好準備。區塊儲存空間伺服器為可處理內容的儲存空間 (CAS) 系統,可依據雜湊值存取各加密檔案區塊。
預覽伺服器
預覽伺服器可用於產生檔案預覽。預覽為以不同的檔案格式呈現使用者檔案,以便透過更合適且快速的方式在使用者裝置上顯示檔案。預覽伺服器會從區塊儲存空間伺服器上擷取檔案區塊,以產生預覽。提出檔案預覽要求時,預覽伺服器會從預覽儲存空間伺服器上擷取快取預覽,並傳遞至區塊伺服器。預覽最終會透過區塊伺服器呈現給使用者。
預覽儲存空間伺服器
快取預覽會以加密格式儲存於預覽儲存空間伺服器。
通知服務
這是一項獨立的服務,負責監控 Dropbox 帳戶中是否發生變更。這項服務中不會儲存或傳遞任何檔案資料或後設資料。各用戶端會與通知服務建立長輪詢連線並等待。只要在 Dropbox 中變更任何檔案,通知服務就會關閉長輪詢連線,通知相關的用戶端有變更發生。關閉連線表示用戶端必須連接至後設資料伺服器,才能安全地同步變更。
Dropbox Paper 系統架構
Dropbox 使用者隨時都可以透過網頁和行動用戶端,或是與 Dropbox Paper 應用程式連接的第三方應用程式來存取 Paper 文件。這些用戶端都會連上安全的伺服器以提供用戶存取 Paper 文件、與他人分享文件、並在文件有所變動 (新增、變更或刪除) 時更新連結的各個裝置。
Dropbox Paper 系統架構由以下元素組成:
Paper 應用程式伺服器
Paper 應用程式伺服器負責處理使用者要求、把經編輯的 Paper 文件輸出轉譯給使用者,以及執行通知服務。Paper 應用程式伺服器會將使用者的編輯寫入 Paper 資料庫,將這些資料存放至永續儲存空間。Paper 應用程式伺服器和 Paper 資料庫的通訊工作階段,會以強大的編碼器加密。
Paper 資料庫
使用者 Paper 文件的實際內容,以及這些 Paper 文件的特定後設資料,都會以加密的形式存放在 Paper 資料庫的永續儲存空間中。這包括 Paper 文件相關資訊 (例如名稱、共享成員和使用權限、專案和資料夾關聯等多項資訊) 以及 Paper 文件本身的內容 (包括留言與工作項目)。Paper 資料庫會依需要分區及複製,以協助系統達到效能和高可用性的要求。
後設資料伺服器
Paper 使用 Dropbox 系統架構圖表中所述的後設資料伺服器,處理 Paper 文件的相關資訊,例如 Paper 文件檔案的修訂紀錄及共享資料夾成員資格。Dropbox 會直接管理位於第三方主機代管資料中心的後設資料伺服器。
後設資料資料庫
Paper 使用 Dropbox 系統架構圖表中所述的後設資料資料庫,儲存 Paper 文件的相關資訊,例如共享、使用權限和資料夾關聯。Paper 文件後設資料儲存在 MySQL 支援的資料庫服務中,並會依據效能和高可用性的需求加以分區和複製。
Paper 圖片儲存空間伺服器
上傳到 Paper 文件的圖片,會以待用的形式加密儲存於 Paper 圖片儲存空間伺服器。Paper 應用程式和 Paper 圖片儲存空間伺服器之間的圖片資料傳輸,會透過加密的工作階段進行。
預覽伺服器
預覽伺服器會為上傳到 Paper 文件的圖片,以及 Paper 文件內嵌的超連結提供預覽。對於上傳到 Paper 文件的圖片,預覽伺服器會透過加密管道,擷取儲存在 Paper 圖片儲存空間伺服器的圖片資料。對於內嵌在 Paper 文件中的超連結,預覽伺服器會使用來源連結指定的加密方式,擷取圖片資料並轉譯成預覽圖片。預覽最終由區塊伺服器呈現給使用者。
預覽儲存空間伺服器
預覽儲存空間伺服器 Paper 會使用 Dropbox 系統架構圖表中提及的預覽儲存空間伺服器,儲存快取圖片預覽。快取預覽片段會加密儲存在預覽儲存空間伺服器中。
Dropbox 內部的安全性工作團隊和第三方安全專家通力合作找出和降低風險和潛在漏洞,確保 Dropbox 提供的服務安全無虞。這些團隊會定期測試和稽查應用程式、網路及其他安全功能,確保我們的後端網路安全穩固。此外,我們負責任的揭露政策也鼓勵使用者呈報所發現的安全漏洞。
資料中心
Dropbox 公司和生產系統儲存在位於美國的託管服務供應商及第三方子業務組織資料中心。這些第三方服務供應商負責 Dropbox 系統架構的實體、環境和執行方面的安全控管。Dropbox 本身負責位於第三方資料中心系統架構的邏輯、網路和應用程式安全。
加密
待用的 Dropbox 檔案和 Dropbox Paper 文件,皆使用 256 位元進階加密標準 (AES) 加密儲存。為確保資料在 Dropbox 應用程式 (目前有桌上型電腦版、行動版、API 和網頁版) 與我們伺服器之間傳輸安全無虞,Dropbox 使用安全通訊端層 (SSL)/傳輸層安全性 (TLS) 保護資料傳輸,並使用 128 位元或更高階的進階加密標準 (AES) 加密,打造安全的傳輸管道。同樣地,Paper 用戶端 (行動版、API 或網頁版) 和託管服務之間的資料傳輸,也會透過 SSL/TLS 加密。
認證綁定
Dropbox 使用檔案同步綁定的憑證,共享桌上型電腦和行動裝置用戶端。認證綁定屬於額外的檢查,目的在確保我們的用戶端所連接的伺服器,均具有經授權之認證機構清單所核發的數位憑證。此功能協助我們遏阻了掌控未經授權之認證機構的國家級攻擊者,確保您免於可能遭本機惡意軟體劫持連線的風險。
完整的轉寄密碼
對於我們控制的端點 (桌上型電腦和行動裝置) 及新型的瀏覽器,我們使用了強大的解碼器,並支援完整的轉寄密碼。藉由實作完整的轉寄密碼,私人金鑰將無法用於解密先前的網際網路流量。這可以進一步提升 Dropbox 加密通訊的防護,確實阻斷每個工作階段和上一個工作階段之間的連結。此外在網頁方面,我們會回傳所有驗證 Cookie,以確保安全,並啟用 HTTP 強制安全傳輸 (HSTS)。
金鑰管理
Dropbox 的金鑰管理系統架構針對操作、技術和程序設計了安全控制,極難直接存取金鑰。加密金鑰的產生、交換和儲存,都採分散方式進行。
Dropbox 代替使用者管理檔案加密這件麻煩事,同時支援先進的產品功能,以及提供高強度的密碼控制。檔案加密金鑰會依據生產系統架構安全控制及安全政策建立、儲存及保護。存取生產系統由一組不重複的 SSH 金鑰配對所控制。安全政策及程序皆須施以 SSH 金鑰保護。內部系統負責管理安全公開金鑰交換程序,私人金鑰則另妥善保管。
若要深入瞭解我們的控制和掌控功能,請參閱 Dropbox 安全白皮書。