Office 2016 的密碼編譯和加密

Office 2016 提供加密設定來增強資料安全性。 這些設定可在數個應用程式中使用,包括 Access 2016、Excel 2016、OneNote 2016、PowerPoint 2016、Project 2016 和 Word 2016。

本文探討 Office 2016 中的密碼編譯和加密。 其中概述資料加密的設定,並提供與舊版 Office 相容性的詳細資料。

當您規劃加密設定時,請考慮下列建議:

  • 除非貴組織的安全性模型需要不同的設定,否則請避免變更預設加密設定。

  • 建議您強制執行密碼長度和複雜度,以確保在加密資料時使用強式密碼。

  • 建議您不要使用 RC4 加密。 如需詳細資訊,請參閱本文稍後 的與舊版 Office 的相容性

  • 沒有強制使用者加密檔的系統管理設定。 不過,系統管理設定會防止使用者將密碼新增至檔,因此會防止檔加密。 如需詳細資訊,請參閱本文稍後 的密碼編譯和加密設定

  • 將檔儲存在信任的位置並不會影響加密設定。 如果檔已加密並儲存在信任的位置,使用者仍然必須提供密碼才能開啟檔。

  • 如果您允許使用者密碼保護檔,他們可能會忘記或遺失密碼。 在這種情況下,您可以使用 DocRecrypt 工具來重設或移除密碼。 如需詳細資訊,請 參閱在 Office 2016 中移除或重設檔案密碼

關於 Office 2016 中的密碼編譯和加密

您可以搭配 Office 使用的加密演算法,取決於可透過 API 存取的演算法, (Windows 作業系統中) 的應用程式開發介面。 Office 2016 除了維護密碼編譯 API (CryptoAPI) 的支援之外,也包含 CNG (CryptoAPI:新一代) 的支援,這是 2007 年 Microsoft Office 系統中首次提供的 Service Pack 2 (SP2) 。

CNG 允許更敏捷式加密,其中可以指定主機電腦上支援的加密和雜湊演算法,以便在檔加密程式期間使用。 CNG 也允許更好的擴充性加密,其中可以使用協力廠商加密模組。

當 Office 使用 CryptoAPI 時,加密演算法取決於 Crypto Service Provider (CSP) 中可用的特定演算法,這是 Windows 作業系統的一部分。 下列登錄機碼包含電腦上安裝的 CSP 清單:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Cryptography/Defaults/Provider

下列 CNG 加密演算法或系統上安裝的任何其他 CNG 加密延伸模組,可以與 2007 Office 系統 SP2、Office 2010、Office 2013 或 Office 2016 搭配使用:

AES、DES、DESX、3DES、3DES_112 和 RC2

下列 CNG 雜湊演算法或系統上安裝的任何其他 CNG 加密延伸模組,可以與 2007 Office 系統 SP2、Office 2010、Office 2013 或 Office 2016 搭配使用:

MD2、MD4、MD5、對應MD-128、對應-160、SHA-1、SHA256、SHA384 和 SHA512

在 Office 2016 中,雖然有可修改加密方法的設定, 使用預設值加密 Open XML 格式檔案 (.docx、.xslx、.pptx 等 ) — AES (進階加密標準) ,其 256 位金鑰長度、SHA-2 和 CBC (加密區塊鏈結) — 提供適用于大多陣列織的強固加密。 美國國家安全局 (NSA) 選擇 AES 加密作為美國政府標準的最強業界標準演算法。 AES 加密與各種 Windows 作業系統相容,包括 Windows Vista、Windows 7、Windows 8 和 Windows 10。 它也支援多個 Windows Server 版本:Windows Server 2003、Windows Server 2003 R2、Windows Server 2008、Windows Server 2008 R2 和 Windows Server 2012。

密碼編譯和加密設定

下表列出您可以搭配存取 CryptoAPI 的 Office 版本使用的加密演算法設定。 此清單包含 Office 2016 之前的 Office 版本。包括 Office 2016。

用於 CryptoAPI 的加密演算法設定

設定 描述
受密碼保護之 Office Open XML 檔案的加密類型
您可以使用可用的密碼編譯服務提供者, (CSP) 使用此設定來指定 Open XML 檔案的加密類型。 如果您使用自訂 COM 加密增益集,則必須套用此設定。 此外,此設定在兩種案例中是不可或缺的。 首先,如果您使用 2007 Office 系統 SP1,並想要從預設值變更加密演算法。 其次,如果您使用早于 Microsoft Office 相容性套件的相容性套件版本來Word、Excel 和 PowerPoint 檔案格式,並想要變更加密演算法。
受密碼保護的 Office 97-2003 檔案加密類型
此設定可讓您從可用的密碼編譯服務提供者 (CSP) ,指定 Office 97-2003 (二進位) 檔案的加密類型。 此設定唯一支援的加密演算法是 RC4,我們不建議這麼做。

在 Office 2016 中,如果您必須變更受 密碼保護之 Office Open XML 檔案的加密類型 設定,請先啟用 [指定加密相容性 ] 設定,然後選取 [ 使用舊版格式] 選項。 [指定加密相容性] 設定適用于 Access 2016、Excel 2016、PowerPoint 2016 和 Word 2016。

下表列出當您使用 Office 2016 時可用來變更加密演算法的設定。 這些設定適用于 Access 2016、Excel 2016、OneNote 2016、PowerPoint 2016、Project 2016 和 Word 2016。

變更加密演算法的設定

設定 描述
設定 CNG 加密演算法
可讓您設定所使用的 CNG 加密演算法。 預設值為 AES。
設定 CNG 加密鏈結模式
可讓您設定所使用的加密鏈結模式。 預設值為 加密區塊鏈結 (CBC)
設定 CNG 加密金鑰長度
可讓您設定建立加密金鑰時要使用的位數目。 預設值為 256 位。
指定加密相容性
可讓您指定相容性格式。 預設值為 [使用新一代格式]
設定 CNG 內容的參數
可讓您指定應該用於 CNG 內容的加密參數。 若要使用此設定,必須先使用 CryptoAPI 建立 CNG 內容:新一代 (CNG) 。 如需詳細資訊,請 參閱 CNG 密碼編譯組態函式
指定 CNG 雜湊演算法
可讓您指定所使用的雜湊演算法。 預設值為 SHA1。
設定 CNG 密碼微調計數
可讓您指定) 密碼驗證器重新雜湊 (旋轉的次數。 預設值為 100000。
指定 CNG 亂數產生器演算法
可讓您設定要使用的 CNG 亂數產生器。 預設值為 RNG (亂數產生器) 。
指定 CNG Salt 長度
可讓您指定應該使用的 Salt 位元組數目。 Salt 是密碼和雜湊的額外輸入。 預設值為 16。

下表列出可針對Excel 2016、PowerPoint 2016和Word 2016設定的更多 CNG 設定。

Excel 2016、PowerPoint 2016和Word 2016特定 CHG 設定

設定 描述
在密碼變更時使用新金鑰
可讓您指定密碼變更時是否應該使用新的加密金鑰。 預設不會在密碼變更時使用新的金鑰。

您可以使用下表所列的設定,防止使用者將密碼新增至檔。 此設定可防止使用者加密檔。

用來防止使用者密碼保護檔的設定

設定 描述
停用密碼以開啟 UI
此設定可控制 Office 2016 使用者是否可以將密碼新增至檔。 根據預設,使用者可以新增密碼。

與舊版 Office 的相容性

如果您必須加密 Office 檔,建議您將檔儲存為 Open XML 格式檔案 (.docx、.xlsx、.pptx 等) ,而不是 Office 97-2003 格式 (.doc、.xls、.ppt 等) 。 用於二進位檔案 (.doc、.xls .ppt) 使用的加密會使用 RC4。 不建議這麼做,如 Office 檔密碼編譯結構規格的安全性考慮章節 4.3.2 和 4.3.3 中所述。 以舊版 Office 二進位格式儲存的檔只能使用 RC4 來加密,以維持與舊版 Office 的相容性。 AES 是預設和建議的加密演算法,可用來加密 Open XML Format 檔案。

Office 2016、Office 2013、Office 2010 和 2007 Office 系統可讓您將檔儲存為 Open XML Format 檔案。 此外,如果您有 Office 2003,您可以使用相容性套件將檔儲存為 Open XML Format 檔案。

只有 Office 2016、Office 2007 SP2 和 Office 2003 搭配 Office 2007 SP2 相容性套件可以讀取儲存為 Open XML Format 檔案的檔,並使用 Office 2016 加密。 若要確保與所有舊版 Office 相容,您可以在 HKCU\Software\Microsoft\Office\16.0\ <> application\Security\Crypto\ 名為 CompatMode 的下) 建立登錄機碼 (,並將其設為 0加以停用。 您可以為應用程式輸入的<>值代表您要為其設定此登錄機碼的特定 Office 應用程式。 例如,您可以輸入 Access、Excel、PowerPoint 或 Word。 當您將 CompatMode 設定為 0時,Office 2016 會使用 Office 2007 相容的加密格式,而不是使用 Office 2016 加密 Open XML Format 檔案時預設提供的增強式安全性。 如果您基於相容性理由而必須設定此設定,建議您也使用允許增強安全性的協力廠商加密模組,例如 AES 加密。

如果您的組織使用適用于 Word、Excel 和 PowerPoint 檔案格式的 Microsoft Office 相容性套件來加密 Open XML Format 檔案,您應該檢閱下列資訊:

  • 根據預設,在 Windows Server 2003 和 Windows Vista 作業系統上,相容性套件會使用 Microsoft Enhanced RSA 和 AES 密碼編譯提供者 AES 128,128 設定來加密 Open XML Format 檔案。

  • 使用者不會收到相容性套件使用這些加密設定的通知。

  • 如果安裝相容性套件,舊版 Office 上的圖形使用者介面可能會顯示 Open XML Format 檔案的不正確加密設定。

  • 使用者無法使用舊版 Office 中的圖形使用者介面來變更 Open XML 格式檔案的加密設定。

在 Office 2016 中移除或重設檔案密碼

Office 檔密碼編譯結構規格