Chrome のパスワード保護を強化 - その仕組み
2020年1月6日月曜日
この記事は Patrick Nepper、Kiran C. Nair、Vasilii Sukhanov、Varun Khaneja による Google Online Security Blog の記事 "Better password protections in Chrome - How it works" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Chrome のパスワード保護が強化され、M79 のリリースで徐々にロールアウトされたことをお知らせします。ここでは、その仕組みを詳しく解説します。
この機能を Chrome に組み込むのは、ウェブを閲覧するさらに多くのユーザーを保護するための自然な次のステップです。これは次のように機能します。
セーフ ブラウジングは、日々数千もの安全でないサイトを新たに発見し、それをウェブ業界で共有されているブロックリストに追加しています。Chrome は、訪問した各サイトやダウンロードしたファイルの URL をこのローカルのリストと照合してチェックします。ローカルのリストは、約 30 分ごとに更新されます。リスト上に存在する URL に移動すると、Chrome は URL フィンガープリントの一部(URL の SHA-256 ハッシュの最初の 32 ビット)を Google と照合し、URL が本当に危険かどうかを検証します。Google は、この情報から実際の URL を判断することはできません。
しかし、ドメインをすばやく切り替えるか、Google のクローラーから隠れることで、一部のフィッシング サイトは 30 分の更新間隔をすり抜けてしまう場合があります。
そこで登場するのが、リアルタイム フィッシング保護です。この新しい保護は、セーフ ブラウジングのサーバーがアクセスしたことがあるページの URL をリアルタイムに調査できます。ウェブサイトにアクセスすると、Chrome はそのサイトを、安全であることがわかっているたくさんの有名ウェブサイトのリストと照合します(このリストはコンピュータに格納されています)。ウェブサイトがこのセーフリストに記載されていない場合、Chrome は(URL に埋め込まれたユーザー名とパスワードを削除した後)Google で URL をチェックし、危険なサイトにアクセスしようとしているかを判断します。私たちの分析によれば、悪意のある新しいサイトについてユーザーに警告することにより、保護が 30% 強化されます。
最初、この機能は、Chrome で既に [Make searches and browsing better] 設定をオプトインしているユーザーにロールアウトされます。企業の管理者は、この設定を Url Keyed Anonymized Data Collection Enabled ポリシー設定から管理できます。
今回の最新リリースでは、同期を有効にしていないユーザーも含め、Chrome にログインしているすべてのユーザーにこの保護を拡張します。さらに、この機能は、Chrome のパスワード マネージャーに格納されているすべてのパスワードで動作します。
保護されているパスワード(Chrome のパスワード マネージャーに保存したパスワードまたは Chrome へのサインインに使っている Google アカウントのパスワード)のいずれかを通常と異なるサイトに入力した場合、Chrome はこれを危険な可能性があるイベントと分類します。
このような場合、Chrome はこのサイトを、安全であることがわかっているたくさんの有名ウェブサイトのリストと照合します(このリストはコンピュータに格納されています)。ウェブサイトがこのセーフリストに記載されていない場合、Chrome は(URL に埋め込まれたユーザー名とパスワードを削除した後)Google で URL をチェックします。このチェックによってサイトが実際に疑わしい、または悪意のあるサイトであることがわかると、Chrome は即座に警告を表示し、侵害されたパスワードを変更することを促します。フィッシングされたのが Google アカウントのパスワードだった場合、Chrome は Google に知らせることも提案します。そうすることで、アカウントが侵害されないように保護を強化できます。
パスワードの再利用に注目することにより、Chrome は Google と共有するデータを最低限に抑えつつ、重要な瞬間にセキュリティを高めることができます。私たちは、予測的フィッシング保護により、さらにたくさんの人を保護できると考えています。
Reviewed by Eiji Kitamura - Developer Relations Team
Chrome のパスワード保護が強化され、M79 のリリースで徐々にロールアウトされたことをお知らせします。ここでは、その仕組みを詳しく解説します。
侵害されたパスワードの警告
昨年初め、Google は Password Checkup 拡張機能でパスワードの侵害に関する警告を初めて導入しました。Google は、侵害されている 40 億個の認証情報を認識しています。前述の拡張機能は、パスワードおよびユーザー名をその情報と比較します。詳細については、こちらをご覧ください。10 月には、Password Checkup 機能が Google Account に組み込まれ、passwords.google.com で同じ機能が使えるようになりました。この機能を Chrome に組み込むのは、ウェブを閲覧するさらに多くのユーザーを保護するための自然な次のステップです。これは次のように機能します。
- Google は、別の企業からユーザー名とパスワードのデータが流出したことを知ると、ハッシュ化と暗号化を行ったデータを、Google しか知らない秘密鍵と合わせてサーバーに保管します。
- ウェブサイトにログインすると、Chrome はハッシュ化したユーザー名とパスワードを Chrome しか知らない秘密鍵で暗号化して Google に送ります。この暗号化されたデータからは、Google を含め、誰もユーザー名とパスワードを解読することはできません。
- ユーザー名とパスワードが流出データに含まれているかを判断するため、複数のレイヤーの暗号化を利用する private set intersection with blinding と呼ばれる手法を使います。これにより、自分のユーザー名とパスワードを暗号化したものと、すべての流出したユーザー名とパスワードを暗号化したものを比較できます。自分のユーザー名とパスワードや、他のユーザーのユーザ名とパスワードが明かされることはありません。この計算を効率的に行えるように、Chrome はユーザー名の 3 バイトの SHA256 ハッシュ プレフィックスを送ることで、データを結合する規模を 40 億レコードから 250 レコードに削減しています。この場合も、ユーザー名の匿名性は維持されています。
- ユーザー名とパスワードが侵害されているかどうかは、そのユーザーにしかわかりません。侵害されていた場合、Chrome はその旨を通知します。そのときはパスワードを変更することを強くお勧めします。
リアルタイム フィッシング保護: セーフ ブラウジングのブロックリストをリアルタイムに確認
Chrome の新しいリアルタイム フィッシング保護は、既存のテクノロジーを展開するものでもあります。この場合は、実績豊富な Google セーフ ブラウジングが展開されます。セーフ ブラウジングは、日々数千もの安全でないサイトを新たに発見し、それをウェブ業界で共有されているブロックリストに追加しています。Chrome は、訪問した各サイトやダウンロードしたファイルの URL をこのローカルのリストと照合してチェックします。ローカルのリストは、約 30 分ごとに更新されます。リスト上に存在する URL に移動すると、Chrome は URL フィンガープリントの一部(URL の SHA-256 ハッシュの最初の 32 ビット)を Google と照合し、URL が本当に危険かどうかを検証します。Google は、この情報から実際の URL を判断することはできません。
しかし、ドメインをすばやく切り替えるか、Google のクローラーから隠れることで、一部のフィッシング サイトは 30 分の更新間隔をすり抜けてしまう場合があります。
そこで登場するのが、リアルタイム フィッシング保護です。この新しい保護は、セーフ ブラウジングのサーバーがアクセスしたことがあるページの URL をリアルタイムに調査できます。ウェブサイトにアクセスすると、Chrome はそのサイトを、安全であることがわかっているたくさんの有名ウェブサイトのリストと照合します(このリストはコンピュータに格納されています)。ウェブサイトがこのセーフリストに記載されていない場合、Chrome は(URL に埋め込まれたユーザー名とパスワードを削除した後)Google で URL をチェックし、危険なサイトにアクセスしようとしているかを判断します。私たちの分析によれば、悪意のある新しいサイトについてユーザーに警告することにより、保護が 30% 強化されます。
最初、この機能は、Chrome で既に [Make searches and browsing better] 設定をオプトインしているユーザーにロールアウトされます。企業の管理者は、この設定を Url Keyed Anonymized Data Collection Enabled ポリシー設定から管理できます。
予測的フィッシング保護の拡張
オンラインでの本人確認とデータの鍵となるのがパスワードです。この鍵が攻撃者の手に落ちれば、攻撃者は簡単になりすましてそのユーザーのデータにアクセスできます。私たちは、予測的フィッシング保護をリリースしました。これは、Chrome で履歴を同期しているユーザーが、認証情報を盗もうとするフィッシング サイトの疑いがある場所に Google アカウントのパスワードを入力した場合、そのユーザーに警告する機能です。今回の最新リリースでは、同期を有効にしていないユーザーも含め、Chrome にログインしているすべてのユーザーにこの保護を拡張します。さらに、この機能は、Chrome のパスワード マネージャーに格納されているすべてのパスワードで動作します。
保護されているパスワード(Chrome のパスワード マネージャーに保存したパスワードまたは Chrome へのサインインに使っている Google アカウントのパスワード)のいずれかを通常と異なるサイトに入力した場合、Chrome はこれを危険な可能性があるイベントと分類します。
このような場合、Chrome はこのサイトを、安全であることがわかっているたくさんの有名ウェブサイトのリストと照合します(このリストはコンピュータに格納されています)。ウェブサイトがこのセーフリストに記載されていない場合、Chrome は(URL に埋め込まれたユーザー名とパスワードを削除した後)Google で URL をチェックします。このチェックによってサイトが実際に疑わしい、または悪意のあるサイトであることがわかると、Chrome は即座に警告を表示し、侵害されたパスワードを変更することを促します。フィッシングされたのが Google アカウントのパスワードだった場合、Chrome は Google に知らせることも提案します。そうすることで、アカウントが侵害されないように保護を強化できます。
パスワードの再利用に注目することにより、Chrome は Google と共有するデータを最低限に抑えつつ、重要な瞬間にセキュリティを高めることができます。私たちは、予測的フィッシング保護により、さらにたくさんの人を保護できると考えています。
Reviewed by Eiji Kitamura - Developer Relations Team