SharePoint 和 OneDrive、Microsoft Teams 和 Exchange 的加密

Microsoft 365 是高度安全的環境,可在多個層級中提供廣泛的保護:實體資料中心安全性、網路安全性、存取安全性、應用程式安全性和數據安全性。

SharePoint 和 OneDrive

SharePoint 中的所有客戶檔案都會受到單一租用戶獨佔的唯一每個檔案密鑰所保護。 密鑰是由 SharePoint 服務建立和管理,或由客戶使用、建立及管理客戶密鑰時。 上傳檔案時,SharePoint 會在上傳要求的內容中執行加密,然後再傳送至 Azure 記憶體。 下載檔案時,SharePoint 會根據唯一的文件標識碼從 Azure 記憶體擷取加密的客戶數據,並在將客戶數據傳送給使用者之前解密。 Azure 記憶體無法解密,甚至無法識別或瞭解客戶數據。 所有加密和解密都會發生在強制執行租用戶隔離的相同系統中,這些系統 Microsoft Entra ID 和 SharePoint。

Microsoft 365 中的數個工作負載會將數據儲存在 SharePoint 中,包括將所有檔案儲存在 SharePoint 中的 Microsoft Teams,以及使用 SharePoint 作為記憶體的 OneDrive。 儲存在 SharePoint 中的所有客戶數據都會使用一或多個 AES 256 位密鑰 (加密,) 並分散到數據中心,如下所示。 (此加密程式的每個步驟都已驗證 FIPS 140-2 層級 2。如需 FIPS 140-2 合規性的其他資訊,請參閱 FIPS 140-2 Compliance.)

  • 每個檔案都會分割成一或多個區塊,視檔案大小而定。 每個區塊都會使用自己的唯一 AES 256 位金鑰來加密。

  • 更新檔案時,會以相同方式處理更新:變更會分割成一或多個區塊,而且每個區塊都會以個別的唯一密鑰加密。

  • 這些區塊 – 檔案、檔案片段和更新差異 – 會以 Blob 的形式儲存在 Azure 記憶體中,並隨機分散到多個 Azure 記憶體帳戶。

  • 這些客戶數據區塊的加密金鑰集本身已加密。

    • 用來加密 Blob 的金鑰會儲存在 SharePoint 內容資料庫中。
    • 內容資料庫受到資料庫訪問控制和待用加密的保護。 加密是使用 Azure SQL Database 中的透明數據加密 (TDE) 來執行。 (Azure SQL 資料庫是 Microsoft Azure 中的一般用途關係資料庫服務,可支援關係型數據、JSON、空間和 XML 等結構 ) 這些秘密位於 SharePoint 的服務層級,而不是租用戶層級。 這些秘密 (有時稱為主要密鑰) 儲存在稱為密鑰存放區的個別安全存放庫中。 TDE 提供作用中資料庫以及資料庫備份和事務歷史記錄的待用安全性。
    • 當客戶提供選擇性金鑰時,客戶金鑰會儲存在 Azure 金鑰保存庫 中,而服務會使用金鑰來加密租使用者金鑰,用來加密月臺金鑰,然後用來加密檔案層級密鑰。 基本上,當客戶提供金鑰時,就會導入新的金鑰階層。
  • 用來重新組合檔案的對應會與加密金鑰一起儲存在內容資料庫中,與解密所需的主要金鑰分開。

  • 每個 Azure 記憶體帳戶都有自己的唯一認證,每個存取類型 (讀取、寫入、列舉和刪除) 。 每個認證集都會保留在安全的金鑰存放區中,且會定期重新整理。 如上所述,有三種不同類型的存放區,每個存放區都有不同的函式:

    • 客戶數據會儲存為 Azure 記憶體中的加密 Blob。 每個客戶數據區塊的金鑰會分別加密並儲存在內容資料庫中。 客戶數據本身沒有解密方式的線索。
    • 內容資料庫是 SQL Server 資料庫。 它會保存所需的對應,以找出並重新編譯保留在 Azure 記憶體中的客戶數據 Blob,以及加密這些 Blob 所需的金鑰。 不過,這組金鑰本身會加密 (如上) 所述,並保留在個別的金鑰存放區中。
    • 金鑰存放區實際上與內容資料庫和 Azure 記憶體分開。 它會保存每個 Azure 記憶體容器的認證,以及保留在內容資料庫中一組加密金鑰的主要金鑰。

這三個記憶體元件 -Azure Blob 存放區、內容資料庫和密鑰存放區等這三個記憶體元件實際上都是分開的。 任何一個元件中保留的資訊本身都無法使用。 若沒有這三者的存取權,就無法擷取區塊的索引鍵、解密密鑰使其可供使用、將索引鍵與其對應的區塊建立關聯、解密每個區塊,或從其組成區塊重新建構檔。

保護數據中心計算機上實體磁碟區的 BitLocker 憑證會儲存在受伺服器陣列密鑰保護的 SharePoint 秘密存放區) (安全存放庫中。

保護每個 Blob 金鑰的 TDE 金鑰會儲存在兩個位置:

  • 安全存放庫,裝載 BitLocker 憑證,並受到伺服器陣列密鑰保護;和
  • 在 Azure SQL 資料庫管理的安全存放庫中。

用來存取 Azure 記憶體容器的認證也會保留在 SharePoint 秘密存放區中,並視需要委派給每個 SharePoint 伺服器陣列。 這些認證是 Azure 記憶體 SAS 簽章,具有用來讀取或寫入數據的個別認證,並套用原則,以便每 60 天自動到期一次。 不同的認證可用來讀取或寫入數據 (並非) 和 SharePoint 伺服器陣列都未獲授與列舉許可權。

注意事項

針對 Office 365 美國政府客戶,數據 Blob 會儲存在 Azure 美國政府記憶體中。 此外,Office 365 美國政府中的 SharePoint 金鑰存取權僅限於已特別篩選的 Office 365 人員。 Azure 美國政府營運人員無法存取用於加密數據 Blob 的 SharePoint 金鑰存放區。

如需 SharePoint 和 OneDrive 中數據加密的詳細資訊,請參閱 SharePoint 和 OneDrive 中的數據加密

列出 SharePoint 中的專案

清單專案是特定建立或可更動態地在網站內運作的客戶數據較社區塊,例如使用者建立清單中的數據列、SharePoint 部落格中的個別文章,或 SharePoint Wiki 頁面內的專案。 清單專案會儲存在內容資料庫 (Azure SQL 資料庫) 中,並使用 TDE 保護。

傳輸中資料的加密

在 OneDrive 和 SharePoint 中,有兩種情況會讓數據進入和結束數據中心。

  • 與伺服器的用戶端通訊 - 透過因特網與 SharePoint 和 OneDrive 的通訊會使用 TLS 連線。
  • 數據中心之間的數據移動 - 在數據中心之間移動數據的主要原因是異地復寫啟用災害復原。 例如,SQL Server交易記錄和 Blob 儲存體差異會隨時此管道流動。 雖然此數據已使用專用網傳輸,但會進一步受到最佳加密的保護。

Exchange

Exchange 會針對所有信箱數據使用 BitLocker,而 BitLocker 組態則會在 BitLocker 中說明加密。 服務層級加密會加密信箱層級上的所有信箱數據。

除了服務加密之外,Microsoft 365 還支援以服務加密為基礎的客戶密鑰。 客戶密鑰是 Microsoft 管理的 Exchange 服務加密金鑰選項,也是在 Microsoft 的藍圖中。 此加密方法提供 BitLocker 未提供更高的保護,因為它提供數據解密所需的伺服器管理員和密碼編譯密鑰隔離,而且加密會直接套用至數據 (與 BitLocker 相反,後者會在邏輯磁碟區套用加密,) 從 Exchange 伺服器複製的任何客戶數據仍會保持加密。

Exchange 服務加密的範圍是儲存在 Exchange 內待用的客戶數據。

Microsoft Teams

Teams 會使用 TLS 和 MTLS 來加密立即訊息。 所有伺服器對伺服器流量都需要 MTLS,不論流量是局限於內部網路還是跨越內部網路周邊。

下表摘要說明Teams所使用的通訊協定。

流量類型 加密者
伺服器對伺服器 MTLS
用戶端對伺服器 (例如立即訊息和目前狀態) TLS
媒體流程 (媒體) 的音訊和視訊共用 TLS
媒體的音訊和視訊共用 SRTP/TLS
訊號 TLS

媒體加密

媒體流量都是使用安全 RTP (SRTP) 加密,它是即時傳輸通訊協定 (RTP) 的設定檔,為 RTP 流量提供機密性、驗證功能和重播攻擊防護。 SRTP 會使用使用安全隨機數產生器所產生的會話密鑰,並使用訊號 TLS 通道進行交換。 用戶端對客戶端媒體流量是透過用戶端對伺服器連線訊號交涉,但在直接移至用戶端時會使用SRTP進行加密。

Teams 會使用認證型令牌,透過 TURN 安全地存取媒體轉送。 媒體轉送會透過受 TLS 保護的通道交換令牌。

Fips

Teams 會使用 FIPS (美國聯邦資訊處理標準) 符合規範的演算法來進行加密密鑰交換。 如需 FIPS 實作的詳細資訊,請 參閱美國聯邦資訊處理標準 (FIPS) 發行集 140-2