FIDOの最新動向から考える巨大プラットフォーマーとの関係

おはようございます、ritouです。

Google I/O の "A path to a world without passwords" っていう発表、ご覧になりましたか?

www.youtube.com

FIDO, WebOTP, FedCM...いいネタ揃ってますね!今回はFIDOの話をしましょう。 パスワード認証はもう終わり!時代はパスワードレス認証ですよと言い続けてはや数年経ちましたが、最近こんなプレスリリースが出ていました。

prtimes.jp

すべての人にとってウェブをより安全で使いやすいものにするための共同の取り組みとして、AppleGoogleMicrosoftは本日、FIDOアライアンスとWorld Wide Web Consortium(以下、W3C)が策定した共通のパスワードレス認証のサポートを拡大する計画を発表しました。

何やら大ごと感ありますが、3行でまとめると

  • FIDOは指紋認証などのローカル認証と公開鍵暗号方式を組み合わせた仕組みである
  • FIDOの最大の特徴は それぞれの認証器(セキュリティキーもしくはPCなどの端末にしか存在しない秘密鍵 を利用することであるが、それ故にロスト時のリカバリーや新規端末利用(機種変更など)時に全ての利用サービスで再登録が必要ってところに課題があった
  • Apple, Google, MSなどがプラットフォーマーの強みを活かしてその辺うまく同期する仕組み作ったら課題も解決して便利になるな!ついでにだけど、パスワードに対してパスキーって呼ぶぞ!

といったところです。

1番目はおいておいて、2番目はこれまで段階的にホワイトペーパーなどが出ていた部分ですね。別記事で取り上げました。 今回は3番目を強く全面に押し出してパスワードレスやっていき!みたいなところを印象付けてきているように見えます。それ実現できたらすごいことになるよな!書かれている通り理想を実現できればな!そんなに上手く行かんだろうけどな! っと言う部分を含め、今回はApple, Google, MSといった巨大プラットフォーマーとFIDOの関係について整理します。

これまでのFIDOと巨大プラットフォーマーの関係

FIDOというとYubicoなどのセキュリティキーが印象的ではありますが、実際は端末自体を認証器として利用できる Platform Authenticator が特にコンシューマ分野においては重要だろうと言われてきました。Platform Authenticator側、つまりPC/Mobile端末のFIDO対応みたいなところで考えると、当然Apple/Google/MSの存在を感じずにはいられないですね。**

さらにWebアプリからFIDOを利用するためのWebAuthnについて、肝となるブラウザの対応においてもSafari=Apple, Chrome=Google, Edge=MSとあとはFirefoxなどが割と頑張って対応を進めたことである程度どこでも使える状況になったと言えますがこれはまぁいいか。

一方で、これまで数年にわたりパスワードレス認証やID連携についての動向を共有したりしてきた経験から、FIDOではユーザーが単独でサイトごとに強度の高い認証方式を利用できることで、認証器さえ持っていたらこれまで巨大プラットフォーマーとのID連携を利用してリスクベースなど含めた恩恵を受けてきたところから脱却できるのでは? という声も聞いたことがあります。OpenIDなんとかな立場でID連携いいですよ〜って推していると「認証の全てを巨大プラットフォーマーに握られるのもなぁ」みたいなことを言う人がいて、FIDOならそこから脱却できるのでは?と考えてた人がいました。言いたいこともわかります。

とはいえ、全体としては なんだかんだで巨大プラットフォーマーの対応に支えられてここまで普及が進んでいる と言える気がしていたところに、今回の発表によりそれがさらに加速するのではないかなーと考えています。

プラットフォーマーの力でどこまで便利になるのか?

上述の通り、FIDOにはセキュリティキーや対応端末そのもののロストなどのリカバリー、新規端末からの登録し直し面倒問題という課題もあるわけですが、今まではそれに対応しようとすると 複数の認証器でFIDOが使えるように設定しておく みたいなところしかなく、これも上に書きましたがデバイス自身が認証器として使える端末を複数台持っているようなユーザーでない限りC向けサービスのユーザーにとっては敷居が高そうだな遠いう状態でした。

それを、プラットフォーマーの力技でサポートしていこうというのが今回の話で、この記事が割と明るいです。

www.publickey1.jp

実は各社細かい違いがあったり、得意な部分みたいなのもあるのでざっくり整理すると次のような感じを目指そう!という段階です。

  • Apple / Google / MSアカウント毎にFIDOの秘密鍵(以下、パスキー)を管理できてログイン中の端末同士では セキュアな方法で 共有でき、バックアップもとれる
  • 初めて利用する端末では Bluetoothを利用して手元のスマホから利用可能

前者は少し前に Apple が発表したものそのものです。MSも同様な仕組みをやりたそうな発表をしていました。後者はGoogleAndroid端末で進めているものですね。

zenn.dev

MSは現状のAppleのようにアカウントベースに鍵の共有ができるようになりそうな雰囲気、AppleはいわゆるApple信者的な人であれば前者のみでもOKな感じなのであまり後者の仕組みはやってこない気もしなくはない、GoogleAndroidを用いて他社のプラットフォーム上での存在感を出したいと思っているように見えつつ、一度それをやったら鍵が共有されるような機能を乗せてくるのかなというところです。

blog.google

っていう細けぇ話はありますが、巨大プラットフォーマーの対応により、それぞれのアカウントベースでの鍵管理に近づいていくように見えますね。 今後の課題はプラットフォームを跨いだ鍵管理がどのように行われるかというあたりでしょう。Android -> iPhone に変更、その逆の場合にちゃんと鍵が共有されるような世界になるかどうか、各プラットフォームの利益目的だけでは進まなそうな後一歩を踏み出せるかが重要です。

ID連携 vs FIDO(改)

FIDOが鍵管理の部分でプラットフォーマー支えられる時代が来そうとなると、ID連携との違いがまた気になってきます。

  • ID連携ではサービスはID連携の仕組みだけが必要、とはいえOIDCの接続は必要。認証はIdPで行われもちろんIdPへの認証でFIDOを使うこともできる。
  • FIDO(改)はそれぞれのサービス毎に鍵管理が必要、プラットフォーマーがその鍵管理を支えてリカバリーや新規端末利用時のユーザーの負担を軽減

プラットフォーマーが前面に出るか後ろで支えるか、みたいな話になりそうですね。

認証機能単体の利用サービスの実装負荷としてはFIDO(改)の方がApple/Google/MSアカウントそれぞれとID連携するよりは軽いでしょう。 上述の通り、ユーザーがプラットフォームを跨ぐ挙動(Android -> iPhoneに変更)した時にちゃんとサポートできるかは、もう少し詳しく考える必要があるでしょう。

プラットフォーマー以外は今後どうなる?

Yubicoなどのセキュリティメーカーはどうすべきかってところは気になりますね。 個人的にはプラットフォーマーの鍵管理にうまく接続できる(セキュリティキーでログインしたら鍵情報が端末やプラットフォーマーのアカウントに共有される)方向になるのかなーと思ったりします。

終わり

最近のFIDOの動向を、巨大プラットフォーマーとの関係という観点から見ていきました。 個人の業務としても自サービスへのFIDOの導入を検討してはいるので、こういう動向を踏まえて使いやすい状態を目指していきたいところです。

ではまた!