どーも、ritouです。
世の中みんながこの話題に夢中かと思います(大げさ)。
GitHubは以前から2要素認証の方式としてセキュリティキーをサポートしてきました。2015年ですって。
今回、その実装がWebAuthnに変更になったということです。
将来的には“Windows Hello”や“Touch ID”などもサポートされるという。
Windows HelloやmacOSのChromeなどを用いたTouch IDが利用可能になるのは、将来の話ではありません。もう対応しています。
この記事はパスワードレスを実現したかのような書きっぷり。
WebAuthnはパスワードレスを実現するための仕組みだが、今回のGitHubの対応は用途を2要素目の認証方法に限ったままなので、パスワードレス を実現したかのようなタイトルと内容には違和感がある。 https://t.co/fJgroqxeEL
— 👹秋田の猫🐱 (@ritou) August 22, 2019
GitHubの発表では、パスワードレスとしての利用のことが書かれています。
In addition, WebAuthn can make it possible to support login using your device as a “single-factor” security key with biometric authentication instead of a password. Although we’re not ready to announce further plans, we’ll continue to pursue ways to make secure authentication as easy as possible for everyone on GitHub.
パスワードレス を匂わせていますが、最初にも書いた通り、今回のは2要素認証のセキュリティキーの扱いをWebAuthnにしたっていうお話です。
説明は以上にして、あとは適当にスクリーンショットを見ていってください。
設定
Settings -> Security からやっていきます。
早速セキュリティキーの設定に進むとパスワード確認画面となります。
あれ?GitHubのパスワード確認にセキュリティキーって使えたっけ?今回この辺りも変更になったのかもしれません。 とりあえず進むと、セキュリティキー追加のフローに入ります。
WebAuthnの登録フローを使ってセキュリティキーを登録する場合、ユーザーに名前をつけさせるのが一般的になっています。 今まで見てきた実装では、処理が完了した時点で名前を入れさせるやり方でしたが、GitHubの場合は先に入力させるようです。
名前を入れて続けるとダイアログが。
YubiKeyとかの方と両方試すと
- Cross-Platform / PlatformAuthenticator 両方に対応
- UserVerification : 必須じゃない
- ResidentKey : 使わない
- Attestation : 要求してこない
というあたりは雰囲気でわかります。
設定が完了したので、ログアウトして認証に利用します。
Androidでも使えそうじゃん。ということで、モバイル用の画面から設定したいところですが、よくわからん。
Chromeから無理やりPC用のURL使って設定します。
で、ログアウトしてFIrefoxでやり直してみましょう。
できました。
GitHubは今回、WebAuthn対応したおかげで、
- 今までのFIDO2/FIDO U2F対応のセキュリティキー(Cross-Platform Authenticator)だけではなく、Windows Hello / Android / macOS(w/ Chrome)といったOSが提供する機能(Platform Authenticator)を利用できるようになった
- ブラウザもChromeのみだった(?)ものからWebAuthn対応のブラウザ全体へとサポート範囲が広がった
- 今後対応環境が増えても自動的に追従可能
といったメリットを享受できます。
今回、セキュリティキーのフローも試しましたが省略します。
これをみた誰かが、手元にある自慢のTitanを使ったフローでも紹介してくだされば良いのではないかと思います。
YubiKeyしかもってないのに登録の時にTitanって名前つけて後からアレッ?って思う遊びしてる
— 👹秋田の猫🐱 (@ritou) 2019年8月22日
Titan使った記事がでたー!!!
そういえば、最初の方でパスワード確認のフォームが変わったかな?みたいなことを書きました。
今まではパスワード確認しかなかった部分にセキュリティキーを使うとあるので、押してみたところWebAuthnのフローになりました。
これは結構便利だと思います。
来週のBuildersconの準備をしなくてはいけないので、これぐらいにしておきます。 今回のGitHubの例も紹介する予定です。
ではまた。