Chrome 電腦版密碼金鑰的 Signal API

發布日期:2024 年 11 月 13 日

自 Chrome 132 版起,Chrome 桌面版 (macOS、Windows、Linux 和 ChromeOS) 支援 Signal API,可讓密碼金鑰供應器中的密碼金鑰與信賴方伺服器上的公開金鑰憑證保持一致。

建立密碼金鑰 (可偵測的憑證) 時,使用者名稱和顯示名稱等中繼資料會與私密金鑰一併儲存在密碼金鑰提供者 (例如密碼管理工具) 中,而公開金鑰憑證則會儲存在信賴方 (RP) 的伺服器中。儲存使用者名稱和顯示名稱有助於使用者瞭解要使用哪個密碼金鑰登入,因為系統會在登入時要求使用者選取密碼金鑰。當使用者擁有來自不同密碼金鑰供應商的密碼金鑰超過兩個時,這項功能就特別實用。

不過,在某些情況下,密碼金鑰提供者和伺服器上的憑證清單之間的差異可能會造成混淆。

第一個情況是使用者刪除伺服器上的憑證,但密碼金鑰供應器中的密碼金鑰仍維持不變。下次使用者嘗試使用密碼金鑰登入時,密碼金鑰提供者仍會向使用者顯示密碼金鑰。不過,由於伺服器無法使用已刪除的公開金鑰進行驗證,因此登入作業會失敗。

第二種情況是使用者在伺服器上更新使用者名稱或顯示名稱。下次使用者嘗試登入時,密碼金鑰供應器中的密碼金鑰仍會顯示舊的使用者名稱和顯示名稱,即使已在伺服器上更新。理想情況下,這兩者應保持同步。

Signal API

WebAuthn Signal API 可讓 RP 向已連結的密碼金鑰提供者傳送現有憑證信號。這可讓支援密碼金鑰的供應商更新或從儲存空間中移除錯誤或已撤銷的密碼金鑰,以便與伺服器保持一致。

舉例來說,如果使用者無法登入 RP,因為 RP 伺服器上的相關憑證已不存在,RP 可以使用 Signal API 向密碼金鑰供應器發出信號,表示已刪除的憑證已不再有效,以便密碼金鑰供應器刪除相關密碼金鑰。

另一個例子是,當使用者前往 RP 的設定頁面並刪除現有憑證時,RP 可以使用 Signal API 向密碼金鑰提供者傳送可用憑證清單,讓密碼金鑰提供者保持相關密碼金鑰的同步。

從 Chrome 的 Google 密碼管理工具刪除密碼金鑰時,系統會顯示這個對話方塊。
在 Chrome 的 Google 密碼管理工具中刪除密碼金鑰時,系統會顯示這個對話方塊。

它也可以傳送更新的使用者名稱和顯示名稱,以便更新同一位使用者所儲存的密碼金鑰中繼資料。

舉例來說,當使用者在 RP 上更新使用者名稱或顯示名稱時,RP 可以使用 Signal API 向密碼金鑰提供者傳送更新的使用者資訊,讓密碼金鑰提供者能夠保持相關密碼金鑰的使用者資訊同步。

在 Chrome 的 Google 密碼管理工具中更新密碼金鑰中繼資料時,系統會顯示對話方塊。
在 Chrome 的 Google 密碼管理工具中更新密碼金鑰的相關 metadata 時,系統會顯示這個對話方塊。

Chrome 電腦版的 Google 密碼管理工具會實作 Signal AP。對於 Chrome 擴充功能的密碼金鑰供應器,則由供應器自行決定是否要反映信號。

我們預計日後在 Android Chrome 上支援 Signal API。

如要瞭解如何整合 WebAuthn Signal API,請參閱「使用 Signal API 讓密碼金鑰清單與伺服器保持同步」。