密碼編譯
本文概述了通用 Windows 平台 (UWP) 應用程式可用的加密功能。 有關特定任務的詳細信息,請參閱本文末尾的資料表。
詞彙
以下術語常用於密碼學和公鑰基礎設施 (PKI)。
詞彙 | 描述 |
---|---|
加密 | 使用加密演算法和金鑰轉換資料的過程。 轉換後的資料只能透過使用相同的演算法和相同的 (對稱) 或相關的 (公共) 金鑰來恢復。 |
解密 | 將加密資料恢復為其原始形式的過程。 |
純文字 | 最初指的是未加密的簡訊。 目前指任何未加密的資料。 |
加密文字 | 最初指的是加密的、因此無法讀取的文字訊息。 目前指任何加密資料。 |
雜湊 | 將可變長度資料轉換為固定長度 (通常較小) 值的過程。 透過比較雜湊值,您可以獲得兩個或多個數據相同的合理保證。 |
簽章 | 數位資料的加密雜湊通常用於驗證資料傳送者的身分或驗證資料在傳輸過程中沒有被篡改。 |
演算法 | 加密資料的逐步過程。 |
機碼 | 隨機數或偽隨機數可作為加密演算法的輸入來加密和解密資料。 |
對稱密鑰密碼學 | 加密和解密使用相同金鑰的密碼學。 這也稱為秘密密鑰密碼編譯。 |
非對稱密鑰密碼學 | 加密和解密使用不同但數學上相關的密鑰的密碼學。 這也稱為公鑰加密。 |
編碼方式 | 對數位訊息 (包括憑證) 進行編碼以便透過網路傳輸的過程。 |
演算法提供者 | 實作加密演算法的 DLL。 |
金鑰儲存提供者 | 用於儲存密鑰材料的容器。 目前,密鑰可以儲存在軟體、智慧卡或可信任平台模組 (TPM) 中。 |
X.509 憑證 | 數位文件通常由認證機構頒發,用於向其他相關方驗證個人、系統或實體的身分。 |
命名空間
以下命名空間可在應用程式中使用。
Windows.Security.Cryptography
包含 CryptographicBuffer 類別和靜態方法,使您能夠:
- 資料與字串之間的轉換
- 將資料與位元組數組相互轉換
- 對網路傳輸的訊息進行編碼
- 傳輸後解碼訊息
Windows.Security.Cryptography.Certificates
包含類別、介面和列舉類型,使您能夠:
- 建立憑證請求
- 安裝憑證回應
- 在 PFX 檔中匯入憑證
- 指定和擷取憑證請求屬性
Windows.Security.Cryptography.Core
包含類別和列舉類型,使您能夠:
- 加密和解密資料
- 雜湊資料
- 簽署資料並驗證簽章
- 建立匯入和匯出金鑰
- 與非對稱金鑰演算法提供者合作
- 與對稱金鑰演算法提供者合作
- 與雜湊演算法提供商合作
- 與機器身分驗證代碼 (MAC) 演算法提供者合作
- 與密鑰導出演算法提供者合作
Windows.Security.Cryptography.DataProtection
包含類別,使您能夠:
- 非同步加密和解密靜態資料
- 非同步加密和解密資料流
加密和 PKI 應用程式功能
適用於應用程式的簡化應用程式介面支援以下加密和公鑰基礎架構 (PKI) 功能。
密碼編譯支援
您可以執行以下加密任務。 如需詳細資訊,請參閱 Windows.Security.Cryptography.Core 命名空間。
- 建立對稱金鑰
- 執行對稱式加密
- 建立非對稱金鑰
- 執行非對稱式加密
- 衍生密碼型金鑰
- 建立訊息驗證碼 (MAC)
- 雜湊內容
- 數位簽署內容
該 SDK 還提供了一個簡化的介面,用於基於密碼的資料保護。 您可以使用它來執行以下任務。 如需詳細資訊,請參閱 Windows.Security.Cryptography.DataProtection 命名空間。
- 靜態資料的非同步保護
- 資料流的非同步保護
編碼支持
應用程式可以對加密資料進行編碼以透過網路傳輸,並對從網路來源接收的資料進行解碼。 有關詳細資訊,請參閱 Windows.Security.Cryptography 命名空間中可用的靜態方法。
PKI 支援
應用程式可以執行以下 PKI 任務。 如需詳細資訊,請參閱 Windows.Security.Cryptography.Certificates 命名空間。
- 建立憑證
- 建立自我簽署憑證
- 安裝憑證回應
- 匯入 PFX 格式的憑證
- 使用智慧卡憑證和金鑰 (sharedUserCertificates 功能集)
- 使用來自使用者 MY 儲存的憑證 (sharedUserCertificates 功能集)
此外,您可以使用清單執行以下操作:
- 指定每個應用程式受信任的根憑證
- 指定每個應用程式對等信任憑證
- 明確禁用系統信任的繼承
- 指定憑證選擇標準
- 僅限硬體憑證
- 透過一組指定的發行者連結的憑證
- 自動從應用程式商店選擇憑證
詳細文章
以下文章提供了有關安全場景的更多詳細資訊:
主題 | 說明 |
---|---|
憑證 | 本文討論 UWP 應用程式中憑證的使用。 數位憑證用於公開金鑰密碼編譯,將公開金鑰繫結至人員、電腦或組織。 繫結身分識別最常用來對一個實體驗證另一個實體。 例如,憑證經常用來對使用者驗證網頁伺服器以及對網頁伺服器驗證使用者。 您可以建立憑證要求,並安裝或匯入發行的憑證。 您也可以在憑證階層中註冊憑證。 |
密碼編譯金鑰 | 本文說明如何使用標準金鑰衍生函式來衍生金鑰,以及如何使用對稱和非對稱金鑰來加密內容。 |
資料保護 | 本文說明如何使用 Windows.Security.Cryptography.DataProtection 命名空間中的 DataProtectionProvider 類別,來加密和解密 UWP 應用程式中的數位資料。 |
MAC、雜湊以及簽章 | 本文討論如何在 UWP 應用程式中使用訊息驗證程式碼 (MAC)、雜湊值和簽章來偵測訊息竄改。 |
密碼編譯的匯出限制 | 使用此資訊來確定您的應用程式使用加密的方式是否可能阻止其在 Microsoft Store 中列出。 |
常見的密碼編譯工作 | 這些文章提供了常見 UWP 加密任務的範例程式碼,例如建立隨機數字、比較緩衝區、在字串和二進位資料之間進行轉換、在位元組數組之間進行複製以及對資料進行編碼和解碼。 |