了解金鑰背後的加密原理有助於理解它們為何如此安全。本文解釋了金鑰身份驗證的技術基礎。## 公鑰密碼學基礎知識密鑰基於公鑰加密技術(也稱為非對稱加密技術)建構。在這個系統中,產生兩個數學上相關的金鑰:一個保密的私鑰和一個可以自由分享的公鑰。用公鑰加密的資料只能用私鑰解密,反之亦然。
當您為服務建立金鑰時,您的裝置會產生唯一的公鑰-私鑰對。公鑰被發送到服務並儲存在他們的伺服器上。私鑰仍然安全地儲存在您裝置的安全區域或 TPM(可信任平台模組)中,並且永遠不會離開您的裝置。## 身份驗證過程當您使用密鑰登入服務時,流程如下。該服務會向您的裝置發送質詢(隨機資料字串)。您的裝置使用您的私鑰簽署此質詢,從而產生數位簽章。已簽署的質詢將發送回服務。該服務使用您儲存的公鑰驗證簽名。如果簽名有效,則認證成功。
至關重要的是,您的私鑰永遠不需要透過網路傳輸。該服務永遠不會看到您的私鑰。這與密碼有根本的不同,密碼必須將您的秘密傳輸到伺服器進行比較。## WebAuthn 和 FIDO2 標準金鑰透過 W3C(萬維網聯盟)開發的 WebAuthn API(Web 驗證)和 FIDO 聯盟的 FIDO2 規格進行標準化。 WebAuthn 定義瀏覽器和 Web 服務如何與驗證器(您裝置的金鑰系統)互動。
CTAP(用戶端到身份驗證器協定)定義瀏覽器如何與硬體安全金鑰等外部身份驗證器進行通訊。這些標準共同確保密鑰在不同平台和瀏覽器上一致地運作。## 安全飛地與硬體保護現代設備使用專用硬體來保護私鑰。 Apple 的 Secure Enclave、Google 的 Titan M 和 Microsoft 的 TPM 是獨立的處理器,獨立於主 CPU 處理加密作業。即使作業系統遭到破壞,儲存在這些安全區域中的私鑰也無法被提取。## 網路釣魚抵抗解釋金鑰具有防網路釣魚功能,因為 WebAuthn 協定在加密質詢中包含來源(網站網域)。為 example.com 建立的金鑰不會回應來自邪惡範例.com 的身份驗證請求,因為加密資料中嵌入的網域不符。
與密碼甚至 TOTP 程式碼相比,這是一個基本的安全優勢,可以輸入任何網站,無論其網域為何。## 概括金鑰利用數十年的密碼學研究來提供比密碼更安全、更可用的身份驗證。公鑰加密、硬體安全和網域綁定憑證的結合創建了一個能夠抵禦最常見攻擊媒介的系統。

