密碼編譯和憑證管理

密碼編譯

密碼編譯會使用程式代碼來轉換數據,讓只有特定收件者可以使用密鑰來讀取數據。 密碼編譯會強制執行隱私權,以防止預期收件者以外的任何人讀取數據、確保數據不受竄改的完整性,以及驗證身分識別以確保通訊安全的驗證。 Windows 中的密碼編譯堆疊會從晶片延伸到雲端,讓 Windows、應用程式和服務能夠保護系統和使用者秘密。

Windows 中的密碼編譯已通過美國聯邦資訊處理標準 (FIPS) 140 認證。 FIPS 140 認證可確保美國政府核准的演算法會 (RSA 用於簽署、使用 ECDH 搭配 NIST 曲線進行金鑰協定、AES 用於對稱式加密,以及使用 SHA2 進行哈希) ,測試模組完整性以證明未發生任何竄改,並證明 Entropy 來源的隨機性。

Windows 密碼編譯模組提供低階基本類型,例如:

  • RNG) (隨機數產生器
  • 對稱和非對稱加密 (AES 128/256 和 RSA 512 到 16384 的支援,以 64 位增量和透過 NIST 標準質曲線 P-256、P-384、P-521) 的 ECDSA
  • 哈希 (SHA-256、SHA-384 和 SHA-512)
  • OAEP、PSS、PKCS1) 的簽署和驗證 (填補支援
  • 密鑰合約和金鑰衍生 (支援透過 NIST 標準質曲線 P-256、P-384、P-521 和 HKDF)

這些模組會透過密碼編譯 API (CAPI) 和加密新一代 API (CNG) 在 Windows 上原生公開,由 Microsoft 的開放原始碼密碼編譯連結庫 SymCrypt 提供技術支援。 應用程式開發人員可以使用這些 API 來執行低階密碼編譯作業, (BCrypt) 、密鑰儲存作業 (NCrypt) 、保護靜態數據 (DPAPI) ,以及安全地 (DPAPI-NG) 共用秘密。

憑證管理

Windows 提供數個 API 來操作和管理憑證。 憑證對於公鑰基礎結構 (PKI) 很重要,因為它們提供保護和驗證資訊的方法。 憑證是用來宣告公鑰擁有權的電子檔。 公鑰可用來證明伺服器和用戶端身分識別、驗證程式碼完整性,以及在安全的電子郵件中使用。 Windows 可讓使用者使用 群組原則 在 Active Directory 中自動註冊和更新憑證,以降低憑證到期或設定錯誤而可能中斷的風險。 Windows 會透過自動更新機制來驗證憑證,該機制會每天 (CTL) 下載憑證信任清單。 受信任的跟證書會由應用程式用來作為可信任 PKI 階層和數位證書的參考。 受信任和不受信任的憑證清單會儲存在 CTL 中,並可由系統管理員更新。 在證書吊銷的情況下,憑證會在 CTL 中新增為不受信任的憑證,以立即在使用者裝置上全域撤銷憑證。

Windows 也提供企業憑證釘選,藉由讓用戶保護其內部功能變數名稱免於鏈結至不需要的憑證,協助減少攔截式攻擊。 系統會檢查 Web 應用程式的伺服器驗證憑證鏈結,以確保它符合一組受限制的憑證。 任何觸發名稱不符的 Web 應用程式會啟動事件記錄,並防止使用者從 Microsoft Edge 存取。