自動パスワード変更の最適化

Google パスワード マネージャーで不正使用された認証情報のパスワードを自動的に変更できるように、ウェブサイトを最適化します。

パスワードの自動変更は、米国の Chrome デスクトップ ユーザー向けに、一般に報告されているデータ侵害で検出されたパスワードをすばやく更新する機能です。保存されたパスワードが漏洩したことを Google が検出すると、Google パスワード マネージャーは安全で固有の代替パスワードを作成し、ユーザーのパスワードを更新できます。

この機能は、サイトのパスワード変更フォームに新しい安全なパスワードを自動入力し、Google パスワード マネージャーに保存します。これらの処理はすべてバックグラウンドで行われます。これにより、手動更新の必要がなくなり、ユーザーはアカウントの安全性を維持できます。

ユーザー エクスペリエンス

ユーザーが不正使用されたパスワードを使用して対応しているウェブサイトにログインすると、Google パスワード マネージャーがパスワードの変更を提案することがあります。お客様が同意すると、パスワードの自動変更プロセスが開始されます。

自動パスワード変更は、ウェブサイトをナビゲートして、ユーザーのパスワード更新を完了します。

ユーザーは、この処理中にキャンセルできます。処理が完了すると、新しいパスワードが Google パスワード マネージャーに保存され、Google アカウントにリンクされるため、同期しているすべてのデバイスで使用できるようになります。

不正使用されたパスワードの特定方法

ユーザーがパスワードを保存したり、サイトにログインしたりすると、Chrome はユーザー名とパスワードが公開されたデータ侵害に漏洩していないかどうかを確認します。

このため、Chrome はプライバシーを保護するプロセスを使用して、暗号化された認証情報を既知の漏洩リストと照合します。一致が見つかった場合、Chrome はパスワードが不正使用されたことをユーザーに通知します。Google が実際のユーザー名やパスワードを見ることはありません。詳しくは、Google セキュリティ ブログで、Google がデータ漏洩からアカウントを保護する仕組みをご覧ください。

不正使用されたパスワードのリストは、一般に報告されているデータ侵害とセキュリティ アナリストによって作成されます。

自動パスワード変更の最適化

自動パスワード変更用にウェブサイトを最適化し、Google パスワード マネージャーなどのツールとの互換性を高めるには、次のウェブ標準とベスト プラクティスを実装します。これらの変更により、ブラウザとパスワード マネージャーがパスワード関連のフォームと確実にやり取りできるようになります。

既知のパスワード変更用 URL を使用する

パス /.well-known/change-password を使用して、パスワード変更ページの場所を宣伝します。この URL を使用すると、パスワードの更新が必要な場合に、ブラウザや Google パスワード マネージャーなどのパスワード マネージャーがユーザーを適切な場所にすばやく誘導できます。

次に例を示します。

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

これにより、ユーザー エクスペリエンスが向上し、パスワードの自動変更などの機能がサポートされます。このパスをサポートすることで、サイトが自動化ツールと互換性を持つ可能性が高まります。

URL /.well-known/change-password はパスワード変更フォームにリダイレクトする必要があります。

リダイレクトは次の 2 つの方法で実装できます。

  • サーバーサイド(推奨):
    • HTTP ステータス コード 302、303、307 を使用して一時的なリダイレクトを発行するように、ウェブサーバー(Apache や Nginx など)を構成します。
    • 宛先が変更される可能性がある場合は、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 パスには、実際のパスワード変更フォームをホストしないでください。これは検出とリダイレクトのみを目的としています。詳しくは、パスワード変更用の既知の URLをご覧ください。

パスワード変更用の既知の URL について詳しくは、パスワード変更用の既知の URL を追加して、ユーザーがパスワードを簡単に変更できるようにするをご覧ください。

フォームで autocomplete 属性を使用する

ブラウザとパスワード マネージャーは、autocomplete 属性を使用してフォーム フィールドの目的を把握します。この属性は、自動入力の精度を高め、パスワードの生成を可能にします。また、パスワード自動変更などの機能が確実に動作するために必要です。

次の autocomplete 値を使用します。

目的 一般的な使用方法
username アカウントのユーザー名を特定します ログイン、登録、パスワードの変更
current-password 既存のパスワードのフィールド ログイン、パスワードの変更
new-password 新しいパスワードのフィールド 登録、パスワードの変更、再設定

次のコード スニペットは、autocomplete 値を含むフォームの例を示しています。

... <form action="/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> ... 

その他のベスト プラクティス

パスワード変更フォームのユーザビリティと互換性を向上させるには、こちらのガイドラインに沿って対応してください。

  • <form><label><button> などのセマンティック HTML 要素を使用します。
  • for 属性と id 属性を使用して、ラベルが入力に適切にリンクされていることを確認します。
  • minlengthpattern などの属性を使用してパスワード ルールを表示し、インライン ガイダンスを提供します。
  • フォームの近くに確認メッセージまたはエラー メッセージを表示します。