新春特別企画

パスワードレス認証WebAuthnの勘所と対応状況

この記事を読むのに必要な時間:およそ 5 分

各プラットフォームの対応状況

最後にWebAuthnの各プラットフォーム対応について紹介します。

昨年8月に@AdamPowerが作成したFIDOとWebAuthnの採用状況の図を参考に,先日発表されたWebkitのWebAuthn対応※6など,私の知る限りのアップデートを加えたのが次の図です。

※6
Safari Technology Preview 71でWebAuthnに対応しました

図10 各ブラウザの対応状況

画像

U2F APIは現在Chromeでしかサポートされていません。一方,他のブラウザーでも実装が進んでいるWebAuthn APIはFIDO U2F対応のセキュリティキーでも利用できます。またU2Fのユースケース(2段階認証)もサポートしており,かつ移行方法も準備されています。そのため,今後はWebAuthn APIが主流になり,Chrome以外のブラウザーがU2F APIをサポートすることはないでしょう。

一方ブラウザー下部のCTAP1/U2F,CTAP2は,セキュリティキーの対応情報を表しています。CTAP1がU2Fプロトコルに対応したセキュリティキーへの対応状況,CTAP2はそのままCTAP2対応※7のセキュリティキーです。そしてplatformにはplatform-authenticatorの対応状況を示しました。

※7
一般にCTAP2対応を指して,FIDO2対応とも呼ばれます。

また,CTAP2ではU2Fと同等の機能に加え,PINによるユーザー認証,Resident Key(rk)によるユーザー情報の保存,Resident Keyが同一のrpIdに対し,複数のCredentialを持つ場合,それをリストアップする機能が仕様化されています。

図11 Edgeでユーザーのリストアップを行った例

画像

これらの機能はWebAuthnをサポートする,ブラウザー上※8に実装されます。

※8
液晶画面を搭載したAuthenticatorなどで,ユーザーのリストアップ機能(List)がAuthenticator側に実装される場合もあります。

PINの入力と,複数のCredentialをリストアップするUXは現状Edgeのみで利用可能です。そのためCTAP2の新機能を試す場合は,最新のWindows 10のEdgeを使うことになります。

この図を眺めていると,Edgeの実装の進み具合には驚かされます。しかしWebKitが実装を始めたことにより,主要ブラウザーすべてが対応する日も近いのかもしれません。

WebAuthnは基本的にはブラウザーのAPIですので,その動作はブラウザーに依存します。そのためブラウザーの実装による差異は非常に気になるところであり,2019年各ブラウザーの動きに注目していきたいところです。

WebAuthnを試す

WebAuthnのデモサイトはいくつかあります。おすすめなのがMicrosoftが提供しているデモサイトWebAuthn Test Appです。

このデモサイトではWebAuthnの様々なオプションを切り替えて実験ができるため,ブラウザーの対応状況を確認したり,動作の違いを確かめたりすることができます。先ほどの各ブラウザーの対応状況を見ながら,いろいろなオプションを変更して,WebAuthnの動作を確かめてみてください。

図12 WebAuthn Test Appで試せるオプション

画像

実際にサーバーサイドの実装をしてみたいという方は,少し古いですが,FIDO Alliance Sr. Certification EngineerであるYuiryのスライドが入門としておすすめです。

最後に

WebAuthnはパスワードやOTPに代わる新しい認証として,シンプルなユーザー体験と堅牢な認証の両立を実現できる可能性を秘めた,次世代の認証APIです。アカウントリカバリの問題や,よりセキュアな実装方法の検討など,議論すべき課題がまだまだ残っていますが,技術的にビジネス的にも非常に面白い分野だと考えています。

2018年は,先に示したとおりブラウザー対応が一気に進みました。2019年は,実際のサービスがどんどんリリースされる年になるかと思います。非常に楽しみですね。

今年も引き続き,WebAuthnの最新動向を追ってID界隈で活動していきますので,どうぞよろしくお願いいたします。

参考サイト

図について

本稿掲載の以下の図は,MDNのページに掲載されいているものを使いました。なお,MDNは Mozillaの貢献者たちによる著作物であり,CC-BY-SA 2.5の下でライセンスされています。

著者プロフィール

@watahani

もと本屋のソフトウェアエンジニア3年目。昨年からFIDOやWebAuthnといった認証技術について調査やコミュニティ活動を始める。YubiKey検定3級(自称)。

Twitter:@watahani
ブログ:https://blog.haniyama.com