FIDOアライアンスが言う「パスワードレス認証の普及を加速させる取り組み」とは?
ritouです。
少し前に、FIDOアライアンスからこんなドキュメントが出ていました。
これは何の話でしょうか?というのを整理しておきましょう。
これまでの課題 : デバイス毎に認証機(公開鍵)の登録が必要
しかし、依然として残っている課題は、ユーザーが新しいデバイスでサービス毎にFIDO認証の登録をする必要があることです。その最初の登録でパスワードが必要になる場合もあります。このとき、携帯電話やラップトップPCを変更すると、そのときに登録したFIDO認証資格情報はどうなるでしょうか?また、(携帯電話をなくしたときなどの)アカウントリカバリー(再設定)はどのようにすれば良いでしょうか?現在のFIDO認証モデルのままでは、このリカバリーが困難です。
所謂リカバリー難しい問題ですね。
これは、コンシューマーがより多くのサービスでFIDO認証を使うにあたって、複数デバイスを使ったり定期的に新しいデバイスに変更するときに問題になります。
FIDOってのはクロスデバイスで安全な仕組みとして提供できないと一部分の利便性向上にしかならず、なかなか辛いところがあります。せっかくいろんなプラットフォームが対応してきたので、あとはどれだけシームレスに使うことができるのかが課題になっていました。
2つのアプローチ
この文書では、FIDOアライアンスとW3C WebAuthn(Web認証)作業部会がこれを実現する方法を概説しており、これには2つの重要なアップデートが含まれています。
- ユーザーの携帯電話(FIDO認証器となる)と、ユーザーが認証を行おうとしているデバイスとの間で通信するためのプロトコルを定義し、携帯電話をローミング認証器として使用できるようにすること。
これは caBLEっていう仕組みで以前から知られているもので、特徴としては
- スマートフォンの認証器として利用する
- Bluetoothを使って認証器とFIDOを利用する端末をつなげる
と言うあたりです。
例えばChrome Canary を使ってWebAuthnのフローを試してみると、こんなん出てきます。
- このデバイス : プラットフォーム認証器
- USBセキュリティキー : ローミング認証器
は直感的かもしれません。上のAndroidスマートフォンを追加ってやってみると
QRコードが出てきて、それを手元のAndroid端末で読み取って認証器の登録を行うと言う流れです。
終わると、無事にAndroid端末が登録されました。
こんな感じで登録のフローなどが最適化されていくと使いやすくなるんじゃないか、と言うお話です。
- FIDO認証資格情報をユーザーのすべてのデバイスで広く利用できるようにし、デバイスの紛失に耐えられるようにし、異なるデバイス間でも同期できるようにすること。
これはまた違うアプローチで、「複数端末をアカウントで管理する」ようなプラットフォームのパワーを生かして鍵情報をマルチデバイスで保持しようというものです。
まさにAppleが言ってたあれですね。
新しいiPhoneを買ってセットアップしたら何も考えずにWebAuthn対応のサイトでローカル認証を用いて利用できる世界ですね。
端末毎にちゃんとしたセキュアな領域を持っていて、プラットフォーム側のユーザー認証も信用できるとなればそっちの責務で鍵情報を共有するアプローチがこれまでFIDOアライアンスが推してきたものと違うのでどうなるのかなと思っていたやつですが、この流れで他のプラットフォームなどでも採用されるようになると良いですね。
GoogleはAndroid端末をブラウザと接続、Appleはユーザーと鍵情報の紐付けると言うように異なるアプローチがとられているものの、FIDOがプラクティスとして整理することで。それそれぞれが自分達に足りないアプローチを取り入れる可能性もあります。
今後に期待しましょう。
もっと詳しく
知りたい人はドキュメントを読んでみましょう。
英語無理って人はこういうのも使ってなんとかしましょう。
ではまた!
Discussion