kagi

パスワードの要らない世界~FIDOが標準化を目指すオンライン認証プロトコル『UAF』『U2F』

  • このエントリーをはてなブックマークに追加

by [2014年10月30日]

東京電機大学で行われた『FIDO:Fast IDentity Online』セミナー内で、FIDO に実装されるプロトコルについての解説がありました。この記事ではその内容に基づいて、そのプロトコルの仕組みやどう安全なのかをご紹介していきます。

▼FIDOの詳細についてはこちら
パスワードだけでは危険な現代のオンライン認証~FIDOアライアンスの考えるセキュリティとは?

登壇者
FIDOアライアンスの代表 Michael Barrett氏、FIDOアライアンスのエグゼクティブ・ディレクターBrent McDowell氏、Googleの情報セキュリティ担当者 Sam Srinivas氏、ヤフー株式会社 五味秀二氏、Nok Nok LabsのRolf Lindemann氏、GoogleのDirk Balfanz氏。

FIDO は2種類の認証プロトコルの標準化を目指す

現在 FIDO を実現する認証方式としては2つの方式が考案されており、それぞれ UAF Standard、U2F Standard と名づけられている。

UAF とは Universal Authentication Framework の略であり、FIDO対応のデバイスを用いてパスワードを使わずに行う認証のことを指している。
一方、U2F とは Universal Second Factor の略であり、こちらは現在の2要素認証の技術を進化させた認証のことである。

UAF、U2F の仕組みについて、より具体的に見ていこう。

デバイス側で個人を認証し、ネットに個人認証情報を流さない UAF

まずは UAF についてだが、Nok Nok Labs の Rolf Lindemann 氏によれば、デバイスに自分を認証させる情報を登録し、そのデバイスをオンラインサーバで登録する、という仕組みだ。
このプロトコルの最大のポイントは、認証を個人の認証とデバイスの認証に分解したという点だ。
現状では、インターネットを通してパスワードで認証を行っているが、この認証をデバイスによる個人の認証とオンラインサーバによるデバイスの認証に分解したことで、個人認証に用いる情報がインターネットを経由することがなくなる。つまり、ネットから個人の認証情報が流出する可能性が無くなるのだ。
パスワードからの脱却も FIDO Alliance の大きなテーマであるため、生体認証に対応したデバイスを用いて個人認証は生体情報で行うことを基本としている。

FIDOプロトコルでは、認証デバイスをサーバーに登録し、デバイス側で認証キーを発行する。

より簡単でより安全な2要素認証 U2F

一方 U2F だが、Google の Dirk Balfanz 氏によれば、現行のオンライン認証に USB メモリなどの第2要素による認証を追加した2段階認証である。
これは要するに、Googleアカウントで言えば、ID(Gmailアドレス)&パスワードの他に電話番号も登録し、Google 管理コンソールから有効にすれば利用することができる2段階認証を改善したようなものである。
現状の2要素認証は、ユーザー側から見れば非常に手間のかかる、面倒くさい方式であり、Google の Sam Srinivas 氏によれば2段階認証を利用しているユーザーはあまり多くないという。また、ワンタイムパスワードを生成するような機器は壊れやすかったり、高価であるという問題もある。
そこで、FIDO では、安価に作れる USB メモリのようなデバイスを挿すだけでできるような、UX(ユーザーエクスペリエンス)を改善した2要素認証として U2F を提案している。
また、この U2F では、2要素目のキーとして用いているデバイスから公開鍵と秘密鍵のペアを生成し、その公開鍵を事前にサーバに登録する方式をとっている。認証の際には USB キーから生成した秘密鍵でサインした情報を、サーバに事前登録された鍵と照合して認証する。
このため、悪意を持った偽のサーバにアクセスしてしまったとしても、偽のサーバがそこから認証のキーを得て本来のサーバにアクセスすることはできない仕組みだ。接続先のサイトに登録した認証デバイス(オーセンティケータ)と認証要素が揃って初めて認証できる仕組みであることから、フィッシングや「なりすまし」対策が可能となる。

FIDOでは、図中2のProcessing部分を標準化したU2F APIを公開している

将来的には全ての認証を UAF で

FIDO を実現する認証方式を2つ開発した理由については、現在の認証を全て UAF へ移行するまでの間、一部の認証を U2F で行う必要があるからだ、と元 Paypal の最高情報セキュリティ責任者 Michael Barrett 氏は語った。
つまり、将来的には全ての認証を UAF でカバーしたいと考えているが、UAF を採用するにはデバイスを FIDO 対応に開発する必要があるため、JavaScript の U2F 対応 API の導入のみで移行できる U2F 認証をまずは広め、その上で徐々に UAF 認証を普及させていく、という方針のようだ。

人が覚えられるパスワードの数を Web サービスの数が上回ってしまっている昨今では、パスワードを使いまわさない、というのは理想ではありますがほぼ不可能です。そのため、生体認証の導入が求められています。また、現状のように個人認証情報がネットを経由する方式では生体認証にしたところで、認証キーを盗まれてしまう危険性は拭えません。
そこで、それらの問題を解決すべく、認証を個人認証とデバイス認証に分割した UAF が考案され、さらに UAF 移行するまでの間に現行の認証方式を強化するために U2F も考案したよ、というのが今回のお話でした。
筆者もパスワードを使い回しつつも、サービスによって使い分けていますが、徐々に覚えきれなくなってきていて、何度も入力し直さなければならないことも増えてきたので、パスワードの要らない世の中になったら確かに便利だと思います。

FIDO Alliance
株式会社ディー・ディー・エス

コメントは受け付けていません。

PageTopへ