パスワードに依存しない認証「WebAuthn」をChrome/Firefox/Edgeが実装開始、W3Cが標準化。Webはパスワードに依存しないより安全で便利なものへ
Google、Mozilla、マイクロソフトが「WebAuthn」の実装を開始。これによって「FIDO2」の普及が期待され、Webブラウザから指紋認証や顔認証などで簡単にWebサイトへのログインや支払いの承認といった操作が実現されそうだ。
多くのWebアプリケーションは、ユーザーの認証にユーザー名とパスワードの組み合わせを用いています。
しかしユーザー名とパスワードの組合わせを用いる方法にはさまざまな問題が指摘されています。身近なところでは、安全なパスワードを生成することの手間や、安全性を高めるためにパスワードの使い回しを避けようとした結果発生する多数のパスワードを管理することの手間などがあげられます。
そしてこうしたパスワードの不便さが結果としてパスワードの使い回しを引き起こし、いずれかのサイトで万が一パスワードが流出した場合にはそれを基にしたリスト型攻撃が有効になってしまう、などの状況も引き起こしてしまいます。
この状況を改善するために、パスワードに依存した認証ではなく公開鍵暗号などを用いることでWebの安全性や利便性をより高めようと、W3Cが標準化を進めているのが「Web Authentication」(WebAuthn)です。
WebAuthnは4月10日、W3Cの勧告候補になったことが発表されました。同時にGoogle、Mozilla、マイクロソフトは「WebAuthn」のサポートを表明。それぞれのブラウザでの実装開始も発表されました。
WebAuthnとFIDO2の技術とは?
WebAuthnは、「FIDO Alliance」(ファイドアライアンス)が策定した認証技術「FIDO2」を構成する技術の1つです。W3CとFIDO Allianceは協力してこの「FIDO2」の実現と普及を目指しています。
FIDO2では、パスワードの代わりに指紋認証や顔認証などの生体認証やPINコードなどを用います。どういった方法を用いるかは選択可能で、いずれにせよユーザーはパスワードなどを覚えることなく簡単な操作で認証を行い、ログインや支払いなどの操作ができるのが1つ目の特長です。
そして認証を行うときのクライアントとサーバのあいだのやりとりには、公開鍵暗号の技術を使います。
例えば、指紋認証のために指紋をクライアントデバイスに登録すると、その指紋に対応した秘密鍵と公開鍵が作成され、秘密鍵はクライアントデバイス内にある、外からはアクセスできない安全な領域に保存されます。
サーバには公開鍵が送られ、サーバ側で保存されます。
公開鍵はもともと公開しても問題ない情報なので、通信経路上で誰かに見られても、サーバから漏洩しても問題ありません(もちろん全然問題ないわけではありませんが……)。漏洩に対する耐性がFIDO2の2つ目の特長です。
例えばユーザーがサーバへログインしようとするときには、まず、指紋認証などでクライアントデバイスによって本人であることが確認されます。確認されたら、クライアントデバイスはサーバから送られてきたデータを本人の秘密鍵で署名してサーバに返送します。
サーバは、受け取ったデータが本人の秘密鍵によって署名されたかどうかを、あらかじめ受け取っていた公開鍵を用いて検証できます。検証できれば、たしかに本人がクライアントデバイスから通信していることが確認できるわけです。
このように本人確認がパスワードに依存せず、クライアントデバイスによる指紋認証のような便利な方法で実現できて、通信経路上やサーバには漏洩したら困るような情報が流れないというのがFIDO2の特長なのです。
FIDO2では、もうひとつ2要素認証の方法についても用意されていますが、ここでは省略します。
FIDO2の普及でWebサイトへのログインがずっと簡単に
FIDO2を推進するFIDO Allianceは、2012年にPaypal、Lenovoなど6社が中心になって、より安全な認証技術の標準を策定するために設立された団体です。
現在ではAmazon.comやGoogle、マイクロソフト、Mozilla、インテル、ARMなどITベンダだけでなく、VISAやMasterCard、アメリカンエクスプレス、ゴールドマンサックス、ING、Bank of America、三菱UFJ銀行、NTT、NTTドコモ、KDDI、ソフトバンク、ベライゾン、サムスン、ファーウェイなど、金融、通信、デバイスをはじめとする非常に多くの企業が参加しています。楽天やYahoo! Japanの名前もあります。
FIDO Allianceの説明によると、すでに市場には多くのFIDO2対応デバイスやWebサイトが存在しています。例えばモバイルデバイスのトップ5ベンダから製品が出荷済みで、GoogleやFacebookやPaypalなどもFIDO2対応の機能を備え、ほかにも多くのWebサイトが対応しているとのこと。
2016年2月に、FIDO AllianceとW3CはFIDO2の実現と普及のため、FIDO2のWeb認証に関わるWebAuthnをW3C標準とするための作業を開始しました。前述の通り、WebAuthnは2018年4月10日にW3Cの勧告候補に到達し、Google、Mozilla、マイクロソフトはWebAuthnのサポートを表明し、それぞれのブラウザでの実装を開始しました(残念ながらアップルの名前はありません)。
WebAuthnが実装され、FIDO2がさまざまなWebサイトで広く使われるようになれば、Webの世界ではパスワードを覚えておく手間や漏洩によるリスクなどから解放され、指紋認証や顔認証などの簡単な方法でのログインや支払いなどもできることが期待されます。
そしておそらくそうした便利さや安全性はWebだけでなく、世の中一般のアプリケーション全体へ影響を与えるでしょう。FIDO Allianceには銀行やECサイトの名前も連なっていましたから、それだけでなくECサイトやオンラインバンキングといったWebにおけるお金の流れといったものも変えていくことが十分に考えられるのではないでしょうか。
関連記事
2019年3月、WebAuthnはW3Cの勧告となりました。
マイクロソフトは、Windows 10の大型アップデート(RS5)に向けて開発中の最新ビルド、Windows 10 build 17723で、パスワード不要でWebサイトにログインできる標準仕様「WebAuthn」をMicrosoft Edgeに実装したことを明らかにしました。
ChromeではMacのTouchIDやAndroidの指紋認証をWebサイトへのログインに利用できるようになりました。
あわせて読みたい
オープンソース版Cassandraよりレイテンシ半分、スループット2倍の商用版Cassandra「DataStax Enterprise 6」リリース
≪前の記事
NGINX Unitが正式リリース。PHP、Go、Pythonなどに対応した軽量アプリケーションサーバ