在 Google 密碼管理工具中自動變更密碼

Google 密碼管理工具會自動變更遭盜用的憑證密碼。

自動變更密碼功能可協助美國的 Chrome 電腦版使用者,快速更新在公開資料侵害事件中外洩的密碼。如果 Google 偵測到儲存的密碼外洩,Google 密碼管理工具可以建立高強度且獨一無二的替代密碼,並為使用者更新。

這項功能會為使用者填寫網站的密碼變更表單,並使用新的高強度密碼,然後將密碼儲存到 Google 密碼管理工具,所有作業都會在背景完成。這樣一來,使用者就不必手動更新,有助於確保帳戶安全。

使用者體驗

如果使用者使用遭外洩的密碼登入支援的網站,Google 密碼管理工具可能會提供變更密碼的選項。如果接受,系統就會開始執行自動變更密碼程序。

自動變更密碼功能會瀏覽網站,並為使用者完成密碼更新。

使用者可以在作業進行期間取消。完成後,新密碼會儲存至 Google 密碼管理工具,並連結至 Google 帳戶,因此可在所有已同步的裝置上使用。

如何找出遭外洩的密碼

使用者儲存密碼或登入網站時,Chrome 會檢查使用者名稱和密碼是否曾在公開的資料侵害事件中外洩。

為此,Chrome 會使用隱私權保護程序,將加密憑證與已知違規清單進行比較。如果找到相符項目,Chrome 會通知使用者密碼已遭盜用。Google 絕不會看到實際的使用者名稱或密碼。如要瞭解詳情,請參閱 Google 安全性網誌,瞭解 Google 如何協助保護您的帳戶,避免資料外洩。

遭入侵密碼清單是由公開資料侵害事件和安全分析師建立。

自動變更密碼功能最佳化

為支援自動變更密碼功能,並提升與 Google 密碼管理工具和其他工具的相容性,請導入下列網路標準和最佳做法。這些變更可協助瀏覽器和密碼管理工具與密碼相關表單可靠地互動。

使用已知的變更密碼網址

使用 /.well-known/change-password 路徑宣傳密碼變更頁面的位置。當需要更新密碼時,瀏覽器和密碼管理工具 (例如 Google 密碼管理工具) 可透過這個網址,快速將使用者導向正確位置。

例如:

https://yourdomain.com/.well-known/change-password

這不僅能提升使用者體驗,還支援自動變更密碼等功能。支援這個路徑可提高網站與自動化工具的相容性。

網址/.well-known/change-password必須重新導向至密碼變更表單。

您可以透過下列任一方式實作重新導向:

  • 伺服器端 (建議)
    • 將網路伺服器 (例如 Apache 或 Nginx) 設定為使用 HTTP 狀態碼 302、303 或 307 發出暫時重新導向。
    • 如果目的地會變更,請避免使用 301 (永久重新導向)。
    • 如果使用者未登入,重新導向時可能會先將他們帶往登入流程。
  • HTML 中繼重新整理 (替代方法)

    • 在已知路徑提供基本 HTML 網頁,執行用戶端重新導向:
    <!DOCTYPE html>
    <html>
    <head>
      <meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
      <title>Redirecting...</title>
    </head>
    <body>
      <p>Redirecting you to the change password page...</p>
    </body>
    </html>
    
    • /.well-known/change-password 路徑不得代管實際的密碼變更表單。僅供探索和重新導向之用。詳情請參閱「用於變更密碼的知名網址」。

如要進一步瞭解變更密碼的知名網址,請參閱「加入變更密碼的知名網址,方便使用者輕鬆變更密碼」一文。

在表單中使用自動完成屬性

瀏覽器和密碼管理工具會使用 autocomplete 屬性瞭解表單欄位的用途,這項屬性有助於提高自動填入的準確度、啟用密碼產生功能,且是自動變更密碼等功能正常運作的必要條件。

請使用下列 autocomplete 值:

目的 常見用途
username 識別帳戶使用者名稱 登入、註冊、變更密碼
current-password 現有密碼欄位 登入、變更密碼
new-password 新密碼欄位 註冊、變更密碼、重設密碼

以下程式碼片段顯示含有 autocomplete 值的表單範例:

...
<form action="/https/developer.chrome.com/change-password-handler" method="post">
  <div>
    <label for="current-pw">Current password:</label>
    <input type="password" id="current-pw" name="current-password"
           autocomplete="current-password" required>
  </div>

  <div>
    <label for="new-pw">New password:</label>
    <input type="password" id="new-pw" name="new-password"
           autocomplete="new-password" required minlength="8"
           aria-describedby="password-constraints">
    <div id="password-constraints">Minimum 8 characters.</div>
  </div>

  <div>
    <label for="confirm-pw">Confirm new password:</label>
    <input type="password" id="confirm-pw" name="confirm-password"
           autocomplete="new-password" required minlength="8">
  </div>

  <button type="submit">Change password</button>
</form>
...

其他最佳做法

請按照下列準則改善密碼變更表單的可用性和相容性:

  • 使用語意式 HTML 元素,例如 <form><label><button>
  • 使用 forid 屬性,確認標籤已正確連結至輸入內容。
  • 使用 minlengthpattern 等屬性顯示密碼規則,並提供內嵌指引。
  • 在表單附近顯示確認或錯誤訊息。