關於密碼金鑰

密碼金鑰是比密碼更安全易用的替代驗證方法。使用者可透過裝置內建的解鎖機制 (例如解鎖圖案、PIN 碼、密碼或生物特徵辨識 (如指紋或臉部辨識)) 登入網站和應用程式。Credential Manager API 以 Web Authentication 標準為基礎,可簡化密碼金鑰驗證流程的整合作業。

密碼金鑰的優點

密碼金鑰比其他驗證機制更具優勢。

  • 提升登入體驗:使用者可以透過指紋或臉部辨識等方式驗證身分,不必輸入密碼,登入體驗更流暢快速。
  • 提升安全性:密碼金鑰採用公開金鑰密碼編譯技術,因此服務供應商的資料外洩不會導致帳戶遭盜用。密碼金鑰採用業界標準 API 和通訊協定,因此不會受到網路釣魚攻擊。
  • 在裝置和平台之間提供一致的體驗:使用者可以在不同裝置之間同步密碼金鑰,因此無論使用 Windows、iOS 或 Linux 等裝置或平台,都能享有簡化的驗證程序。
  • 在新裝置上順暢驗證:密碼金鑰支援「還原憑證」,可讓使用者在新裝置上順暢登入。
  • 減少登入時的不便:使用者不必記住密碼,因此不會忘記密碼。

如要查看說明這些優點的範例,請參閱採用密碼金鑰的應用程式案例研究

憑證管理工具中的密碼金鑰運作方式

依賴方用戶端應用程式依賴方應用程式伺服器中使用 Credential Manager API,透過密碼金鑰建立驗證解決方案。

建立密碼金鑰的步驟如下:

  1. 用戶端應用程式會向應用程式伺服器要求建立憑證所需的選項。
  2. 用戶端應用程式會使用這些選項,將要求傳送至 Credential Manager API,以產生公開/私密金鑰組。
  3. 公開金鑰會儲存在應用程式伺服器上,私密金鑰則會安全地儲存在使用者裝置的憑證供應商 (例如 Google 密碼管理工具) 中。

使用密碼金鑰登入的步驟如下:

  1. 用戶端應用程式會向應用程式伺服器要求憑證要求選項,伺服器則會在回應中傳送驗證問題。應用程式伺服器會安全地儲存這項驗證問題,以供日後驗證。
  2. 使用者同意使用密碼金鑰並解鎖裝置螢幕後,憑證供應商會使用儲存的私密金鑰簽署驗證問題,建立已簽署的聲明。
  3. 將簽署的聲明傳送至應用程式伺服器,並執行下列檢查:

    • 如果挑戰與儲存的挑戰相符。
    • 如果可使用公開金鑰驗證聲明中的簽章。

    如果應用程式伺服器成功驗證聲明,使用者就會登入。

密碼金鑰會將公開金鑰儲存在應用程式伺服器,私密金鑰則儲存在使用者裝置上
圖 1. 公開金鑰儲存在應用程式伺服器上,私密金鑰則儲存在使用者裝置上。這兩把金鑰都可用於驗證使用者。

Android 版本相容性

Credential Manager 的密碼金鑰實作功能適用於搭載 Android 9 (API 級別 28) 以上版本的裝置。

支援多種平台

密碼金鑰與多種作業系統相容,包括 Android、Microsoft Windows、macOS 和 iOS。此外,這些外掛程式也支援多種熱門瀏覽器,例如 Chrome、Microsoft Edge 和 Safari。

請參閱「支援的環境」,瞭解 Chrome 和 Android 的支援狀態。如要瞭解如何在網站中加入密碼金鑰,請參閱「網頁上的密碼金鑰」。

支援各種板型規格

密碼金鑰適用於其他 Google 開發的板型規格,包括 Android、Android Wear OS 和 Android XR。詳情請參閱「外型規格」。

後續步驟