この記事は Google Cloud プロダクト マネージャー、Christiaan Brand による Google Online Security Blog の記事 "Using a built-in FIDO authenticator on latest-generation Chromebooks" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

先日、最新世代の Chromebook の Chrome 76 以降で、ハードウェアベースの Titan セキュリティを活用したビルトイン FIDO 認証システムを有効にするオプションが提供されることをお知らせしました。企業の管理者は、サポート対象となるサービス(例: G Suite、Google Cloud Platform)において、エンドユーザーが端末の電源ボタンを使って特定の種類のアカウント乗っ取り攻撃を防ぐ操作を許可できるようになりました。ただし、この機能はデフォルトで無効になっています。管理者は、Google 管理コンソールで DeviceSecondFactorAuthentication ポリシーを変更して有効化できます。

この機能について詳しくご説明する前に、まずは FIDO テクノロジーによって解決できる主なユースケースを見てみましょう。続いて、この新しい拡張機能が企業の組織をサポートできる高度な要件をどのように満たしているのかについて確認します。

主なユースケース

FIDO テクノロジーは、以下をサポートすることにより、リライング パーティ(インターネット サービスとも呼ばれます)が 3 つの個別のユースケースに関する問題を解決することを目指しています。
  1. 新しい端末でサービスに初めてログインする際のフィッシング攻撃を防ぐ。
  2. 既にログインしている端末で、サービスに対してユーザーが本人であることを再検証する。 
  3. ユーザーが接続に使っている端末が以前にログインした端末と同じであるかを確認する。通常、これは企業で必要とされる。 
セキュリティのプロなら、3 番目のユースケースを 2 番目の特殊な例と解釈するかもしれません。しかし、この 2 つにはいくつかの違いがあります。次に示すのは、その点に少し踏み込んだ内容です。
  • ケース 2 で FIDO テクノロジーが解決しようとする問題は、端末に格納された秘密鍵のロックを解除してユーザーが本人であることを再検証することです。
  • ケース 3 では、FIDO テクノロジーは以前に作成したキーが元の端末にまだ存在するかどうかを確認します。その際、ユーザーが誰であるかという証拠は一切使われません。

ユースケース 1 の仕組み: ローミング セキュリティ キー

このユースケース全体が今まで認証したことのないまったく新しい端末にログインする前提なので、ユーザーが FIDO セキュリティ キー(取り外し可能、クロスプラットフォーム、またはローミング認証システム)を持っている必要があります。この定義によれば、Chrome OS 端末のビルトイン FIDO 認証システムはこの要件を満足できません。以前に設定されていない限り、ユーザーが本人かどうかを検証できないからです。初回のログイン時に、ユーザーが本人かどうかは、以前にアカウントに結びつけられたセキュリティ キー(Google の Titan Security Key など)が存在することによって検証されます。
Titan Security Key 


ユーザーのログインが成功すると、セキュリティ キーはユーザーがログインした端末を信頼します。通常、Cookie などのトークンを端末に配置することによって、この端末で既にユーザーが 2 要素目の認証を済ませていることをリライング パーティが「覚えておける」ようにします。この手順が完了すると、この端末で物理的な 2 要素目を要求する必要はなくなります。Cookie が存在することは、リライング パーティにとってこの端末が信頼できるという証しだからです。

必要に応じて、既に認識されている端末(たとえば金融サービス企業など、特に機密性が高く規制が厳しいサービス)のユーザーが正しいユーザであるかを検証することを定期的に要求するサービスもあるかもしれません。ほぼすべての場合、再認証の際に知識要素(パスワードなど)に加えて 2 要素目も再提示することを求める必要はないでしょう。この操作は既に初回認証で行っているからです。

なお、Chrome OS 端末では、ログインしていないときのデータは暗号化されます。これにより、悪意のあるアクセスに対してデータの保護を強化できます

ユースケース 2 の仕組み: 再認証 

ユースケース 2 はよく「再認証」と呼ばれ、同じユーザーが以前に検証した端末からサービスを使用していることをリライング パーティが再検証できるようにするものです。主にこれが発生するのは、パスワードの変更など、特に機密性が高いアクションを実行する場合や、金融サービス企業などの規制が厳しいサービスを使用する場合です。この場合、ビルトインのバイオメトリック認証システム(例: 指紋認証センサー、Android 端末の PIN など)を登録できます。こういった認証システムは、対象のサービスに対してユーザーが本人であることを簡単に再検証できる方法を提供します。実際、Android 端末では、いくつかの Google サービスに対してこのユースケースが最近有効化されました

さらに、こういった特定のソリューションには、セキュリティ面のメリットが存在します。つまり、リライング パーティは以前に発行された Cookie だけを信頼する必要はなく、(バイオメトリックを通して)適切なユーザーが存在することや、特定の端末で特定の秘密鍵が利用できることを検証できます。この検証は、ハードウェアに格納された鍵マテリアル(例: Pixel Slate の Titan セキュリティ)に基づいて行われることもあります。これは、リライング パーティを利用しているのが適切な端末の適切なユーザーであることを示す強力な要素になり得ます。

ユースケース 3 の仕組み: ビルトイン端末認証システム

最新世代の Chromebook のビルトイン FIDO 認証システムは、ユーザーが以前にログインした端末とリライング パーティを使用している端末が同じであるかを検証する際の課題を解決するために役立ちます。

先ほど、ユーザーが以前に認証されたことを覚えておくために、リライング パーティは初回のログイン時に Cookie やトークンをユーザーの端末に配置するのが一般的だと説明しました。端末に不正なソフトウェアが存在するなど、状況によっては、このトークンが持ち出される可能性もあります。定期的に「ビルトイン認証システムのタッチ」を求めれば、リライング パーティは以前にトークンを発行した正しい端末からの操作であることを認識できます。また、FIDO 認証システムは秘密鍵の持ち出しに対する保護が強化されているので、トークンが別の端末に持ち出されていないことを検証する際にも役立ちます。そのため、このシステムはハードウェア自体に格納されるのが一般的です。たとえば、最新世代の Chromebook(例: Pixel Slate)の場合、ハードウェアベースの Titan セキュリティによって保護されています。

Pixel Slate 端末にはハードウェアベースの Titan セキュリティが組み込まれている 

Chrome OS の実装では、FIDO の鍵のスコープは特定のログイン ユーザーに制限されています。つまり、実質的に端末上のすべてのユーザーにそれぞれ独自の FIDO 認証システムが必要で、ユーザーは境界を越えたアクセスはできません。このユースケースは、企業環境にとりわけ役立つと考えています。この機能がデフォルトで有効になっていないのはそのためです。管理者は、Google 管理コンソールを使って有効化できます。

ユーザーには、Titan Security KeyAndroid スマートフォン などのプライマリ FIDO セキュリティ キーを持つことを強くおすすめします。これは、G Suite でサポートされている「FIDO 再認証」ポリシーと組み合わせて使うとよいでしょう。
Google 管理コンソールでビルトイン FIDO 認証を有効化する

ビルトイン FIDO 認証システムをサービスの「セキュリティ キー」として Chrome OS 端末に登録することも技術的には可能ですが、別のマシンからサービスにログインする必要が生じた際にアカウントがロックアウトされるリスクが増すことになるので、避けた方がよいでしょう。

サポート対象の Chromebook

最新世代の Chromebook の Chrome 76 以降で、ハードウェアベースの Titan セキュリティを活用したビルトイン FIDO 認証システムを有効にするオプションが提供されます。Chromebook でこの機能を有効にできるかどうかを確認するには、chrome://system に移動して「tpm-version」エントリを確認します。「vendor」が「43524f53」であれば、Chromebook で Titan セキュリティが使われています。

Chromebook で chrome://system に移動する

まとめ

端的にご説明すると、この新しい拡張機能は、ユーザーが接続に使っている端末が過去にログインした端末と同じであることを確認したい企業に価値を提供できると、私たちは確信しています。しかしほとんどのユーザーは、アカウントのロックアウトを回避するために、Titan Security KeyAndroid スマートフォン、または他のベンダーのセキュリティ キーなどのローミング FIDO セキュリティ キーを使うべきです。

Reviewed by Eiji Kitamura - Developer Relations Team