Webサイトを快適にご利用いただくためには、IE11以降、Chrome、Firefox、またはSafariをご使用ください。

U2Fと適応型MFA

Universal Second Factor(U2F)とは、ユーザ認証ワークフローの一部として物理的なデバイスを使用することにより、多要素認証(MFA)をシンプルにする認証規格のことです。ログイン資格情報を入力したあと、コンピュータのUSBポートに挿した小型デバイスを押すかタップするだけで、それが第二認証要素として機能する仕組みです。ドライバのインストールは不要で、対応するブラウザさえあれば利用可能なので、便利な上にセキュリティも確保できます。U2Fなら、キーロギングやフィッシング、中間者攻撃などの攻撃を防ぐことができます。

U2Fの策定団体

U2Fは、インターネットユーザにとって使いやすく安全なログイン方法を提供しようと、FIDOアライアンスが考案、リリースした規格です。GoogleはFIDO内のU2F策定グループを設立した一員で、現在は第二認証要素としてU2Fを加えるための支援をしています。また最近では、U2Fの上位に構築された新たな仕様セットであるFIDO2もFIDOアライアンスから発表されています。

U2Fの対応サービス

Facebook、Bitbucket、GitHub、Gmail、YouTubeなど、主要なWebサイトやアプリケーションの多くがU2Fに対応しています。

ブラウザに関しては、現在以下のものが対応しています。

  • Google Chromeバージョン38以上
  • Mozilla Firefoxバージョン57以上
  • Operaバージョン40以上
  • Safari OSバージョン13.5.1以上

iOSデバイスの場合、U2FはSafari経由で使用される一方、Androidデバイスの場合は、Google ChromeとAndroidのデフォルトブラウザの両方に対応しています。

U2Fの利用方法

持ち運び可能なU2Fハードウェアは、USB、Bluetooth-LE、近距離無線通信のデバイス形式に対応しており、これらのデバイスを使うことで、U2Fプロトコルに対応しているインターネット上のあらゆるWebサイトへのセキュアなログインができます。U2Fによる一般的な二要素認証の仕組みは次の通りです。

  1. U2Fに対応したWebサイト(www.example.com)にアクセスします。このWebサイトはオリジンとも呼ばれます。アクセスしたWebサイトでアカウントを開き、U2Fデバイスを登録します。
  2. デバイスでパブリックキーとプライベートキーのペアが一組生成されます。デバイスはプライベートキーを厳重に保管し、Webサイトに対してパブリックキーと対象のユーザアカウントを関連付けるよう要求します。www.example.comのログインに使用できるのは、この一意のキーペアのみとなります。
  3. ユーザが自身のログイン資格情報をwww.example.comに入力すると、そのユーザのパブリックキーを使って一意のチャレンジが生成されます。このチャレンジを解決できるのは、U2Fデバイスに保管されているプライベートキーのみです。
  4. チャレンジを受け取るとU2Fデバイスは、www.example.comのプライベートキーを使って署名し、Webサイトに返送します。
  5. Webサイトが一意の署名を確認すると、ユーザにログインが許可されます。

なお、この5つのステップは複雑に見えるかもしれませんが、すべて見えないところで行われ、エンドユーザはU2Fデバイスを挿してボタンを押す(またはタップする)だけです。

同じU2Fデバイスを使って、インターネット上の別のサイトを登録することもできます。U2Fデバイスを自分だけの仮想キーチェーンとお考えください。これを使えば、お気に入りのWebサイトに滞りなくセキュアにログインすることができます。

U2Fの利用方法

U2Fのハッキングの可能性

どんな認証メカニズムもハッキングを絶対に受けないとは言い切れません。とはいえ、これまでのところU2Fプロトコルに関して侵害や脆弱性は報告されていません。

U2Fはフィッシング攻撃の防止を意図したものです。仮に、ユーザがだまされて偽のWebサイトを本物と思ってしまったとしても、パブリックキーとプライベートキーが一致しないため、認証は失敗します。

また、U2Fは中間者(MITM)攻撃の防止にも非常に有効です。認証プロセス中にWebサイトとユーザ間の通信に干渉しようとしている人がいると考えてみてください。中間者が干渉するとすぐに、チャレンジのオリジンが登録されたものと違うとU2Fデバイスが気付き、レスポンスを中止するのです。

適応型多要素認証(AMFA)とは

認証要求はどれも同じように行われるわけではありません。適応型多要素認証は、ログイン試行の状況を使用して、適用すべき認証ルールやポリシーをリアルタイムで判断します。ログインの連続失敗回数、アクセス要求のレベル、IPアドレス、位置情報、デバイスのID、時間帯などさまざまな要素を用いて、ユーザのログインエクスペリエンスを調整します。

たとえば、ログイン試行を何度も失敗している、正式に登録されていないデバイスから要求している、勤務時間外に機密データがあるサーバにログイン要求しているなど、高いリスクのユーザと判断された場合に限り、MFAが使用されます。適応型多要素認証を利用すると、

  • 企業が待ち望む、ユーザエクスペリエンス強固なセキュリティの両立が可能となります。
  • また、リスクの低い信頼できるユーザはログインしやすくなる一方、
  • 侵入者の可能性がある者はログインが非常に難しくなります。

AMFAとMFAの違い

MFAは、別のセキュリティレイヤを追加することでパスワード関連の侵害を防止します。ただし、エンドユーザに多要素認証の登録をしてもらうのはハードルが高い場合もあります。それも当然でしょう。ワンタイムパスワード(OTP)が生成されるのを待ってから入力するのは面倒だからです。1日に何度もそれを行うとなればなおさらです。ユーザは、ソーシャルメディアのフィードをチェックしたり、記事を読んだり、TV番組をストリーミングで見たりしたいだけであって、こうした一見ささいな行動のために、わざわざ2つ目の認証要素を追加しようとは思いません。もちろんMFAを必須にすることもできますが、それでは顧客の不満を犠牲にすることに(往々にして)なってしまいます。

セキュリティとユーザエクスペリエンスという2つのバランスを絶妙に確保することは難しい問題ですが、非常に重要です。ここで役立つのがAMFAです。AMFAを利用すると、第一要素の認証時に不審な点やリスクの高そうな点が見受けられなければ、多くの場合、第二要素の入力が不要になります。従来のMFAを強化したこの方法によって、日頃からアクセスしているユーザの利便性は、はるかに向上します。その例を以下に紹介します。

シナリオ1: アランという顧客が、あるWebポータルにログインするシナリオを考えてみましょう。彼はこのWebサイトに登録して以来ずっと、同じノートパソコンでログインしています。IPアドレスもいつも同じ都市です。そして、パスワードの認証は1回目でパスしています。こうした要素や他の認証要素を基に、ログインしようとしている者が本当にアラン本人であることをシステムで確認できた場合、第二認証要素の入力は求められません。

シナリオ2: 今度は、アダムというハッカーがアランのログイン資格情報を入手した場合を考えてみましょう。アダムがログインしようとすると、ログインの要求元が新しいデバイスであり、位置情報も異なることをシステムが検知します。そして、この要求をリスクの高いものと分類し、アダムに対して第二認証要素を入力するよう求めます。アダムは第二認証要素を入力できないので、アクセスは拒否されます。

U2FとAMFAの併用 - 両方のメリットを活用

AMFAは、エンドユーザとサービスプロバイダの双方にメリットがあります。サービスプロバイダは厳重ながらも顧客の立場を考えたセキュリティポリシーを実行でき、エンドユーザは第二認証要素の入力がほとんどの場合で不要になります。では、U2FとAMFAを併用して、よりお客様重視の堅牢性を高めた認証ソリューションを形成したらどうなるでしょうか。

まれに第二認証要素の入力が必要になっても、お客様は自身のU2Fデバイスのボタンをタップするか押すだけなので、別のアプリケーションを開いてパスコードを取得したり、OTPのメッセージが届くのを待ったりするより、はるかに利便性に優れています。サービスプロバイダにとっても、デバイスがブラウザと直接通信してくれる上に、キー署名の複製が実質不可能になるため、セキュリティがはるかに向上します。

まとめ

U2Fは、二要素認証をシンプルにすると同時に、フィッシング攻撃や中間者攻撃などの危険なサイバー攻撃のリスクを軽減します。AMFAは、定期的にアクセスするユーザに対しては第二認証要素を要求せず、不審な人物が初めてアクセスした場合には第二認証要素を厳しく要求します。この2つの方式を組み合わせれば、シンプルながらもセキュアなログインを実現することができます。