Microsoft Edge が WebAuthn をサポート(Insider Preview版)
先日 https://webauthn.org の作者でもある @apower313 が Twitter で以下のようにつぶやいていたので、早速試してみました。
> Windows 10 Insider Preview Build 17682 からは、Edge で WebAuthn 動くよ!
Windows Blogs Insider Preview によると、 Windows 10 Insider Preview Build 17682 にて WebAuthentication API をサポートしたとあります。
>The implementation in Microsoft Edge allows users to use Windows Hello (via PIN or biometrics) and external authenticators like FIDO2 Security Keys or FIDO U2F Security Keys, to securely authenticate to websites. We’ll have more to share about Web Authentication in Microsoft Edge soon!
とあるので、新しい CTAP2 プロトコルで PIN もしくは Biometrics を利用した Single Factor ログインが可能のようです。
期待が高まりますね。
今回試した環境は以下の通りです。
・Windows 10 Insider Preview 17692
・Microsoft Edge 42.17692
動画
動画を見て頂いたらわかる通り、CTAP2部分は Windows Hello で実装されています。
今までHelloで利用できていた、指紋や顔認証といった「内部Authenticator」に加え、セキュリティキーなどの外部 Authenticator が加わった形になります。
内部 Authenticator についても WebAuthn から呼び出せるはずですので、気になる方は publickeyParam で RS256 を有効にしたコードを書いてみてはいかがでしょうか。
解説
実際の手順は以下の通りです。
https://webauthn.org にアクセスし、ユーザ名を入力し Register ボタンを押します。
すると Edge の Web Authentication API から Windows Hello が呼ばれ、結果 外部 Authenticator であるキーの挿入を求められます。
初めて利用するキーですと、新しいPINの設定を求められます。つまり現状、User Verification(PIN or Biometrics認証) は必須なようです。
新しいPINを入力すると、キーのタッチ(User Presence)が求められます。タッチが完了すると、PINの設定が完了しましたというダイアログが一瞬表示され、
次は Registration のためのキータッチを求められます。(今後このキーでは登録・認証の際に、設定したPINが使われます)
タッチが完了するとRegistrationが完了します。
次回以降、ログインの際は必ずPINの入力を求められます。
ちなみにU2Fのみ対応の YubiKey 4 で試すと、当然ですがPINの入力は求められません。
現在のところ、U2Fキーへの互換のため、ログインの際にも ユーザ名の入力が必要になっていますが、
今後は Resident Key(ユーザ情報を保存できるキー)であれば、PINの入力後にユーザ選択ダイアログが表示されるはずです。
Microsoft Edge がベータ版ですが、FIDO2対応のセキュリティキーに対応したことにより、Chrome がどのように追従するのか気になるところです。
コメント