はじめに
GitHubの二要素認証の必須化がニュースになっています。
GitHub、すべての開発者に二要素認証の要求開始、来週月曜日から1年かけて展開
GitHubが二要素認証を義務付け。2023年中にすべての開発者アカウントへ通知
反発の声もちらほら見かけます。
マジでふざけんな、SMS必須は困るで
— Torishima (@izutorishima) March 10, 2023
GitHub、すべての開発者に二要素認証の要求開始、来週月曜日から1年かけて展開 - Publickey https://t.co/DT726suKsR
PC watch "GitHub が二要素認証を義務付け。2023 年中にすべての開発者アカウントへ通知" https://t.co/ag12HUsTWe
— とりさん (@biochem_fan) March 13, 2023
こういうの押し付けるのほんとやめてほしい。機能を追加するのは結構だが、使うかどうかは各レポジトリに任せるべき。「このレポジトリは 2FA 不使用です」って警告だしてもいいからさ
SMSやワンタイムパスワード(Google Authenticatorなど)の場合、いちいちスマホに表示された番号を入力する必要があり、面倒です。二要素認証が嫌いになる気持ちは分かります。しかし二要素認証の方法はこれだけではありません。
GitHubはWebAuthnに対応しており、WindowsならWindows Hello、AndroidやiPhoneなら端末の画面ロックで認証できます。これなら大きな手間をかけずセキュリティーを強化できるので、GitHubの二要素認証にはWebAuthnを使う事をおすすめします。
Windows Helloを使用したログイン方法
Windowsユーザーが、GitHubの二要素認証にWindows Helloを登録すると、こんな感じでログインできるようになります。
まずCookieを消すか、ブラウザのプライベートブラウジングやシークレットモードなど、まっさらな状態でGitHubにアクセスし、「Sign in」クリックしてください。
最初にユーザー名とパスワードを要求されるので入力してログインします。
次に、二要素認証を要求されます。ここで「Use security key」をクリックすると…
Windows Helloのダイアログが出ました。この例ではPINを入力すると…
もうスマホ見て番号を手入力する手間は要りません。指紋認証、顔認証や桁数の少ないPIN番号で二要素認証できます。
二要素認証にWindows Helloを登録する方法
前提条件
すでにパソコンにWindows Helloを設定済みであること。
本記事では設定済みであるものとし、その設定方法には踏み込みません。設定方法は他に優れた解説がたくさんありますので、そちらをご覧ください。
手順
GitHubに通常通りログインしたら、右上の自分のアイコンをクリックして、「Settings」を選択します。
個人アカウントの設定に行くので、左メニューの「Password and authentication」を選択します。
まだ二要素認証を何も設定していない人は、このような表示になっています。詳細は省きますが、いったんSMS認証または認証アプリ(TOTP)の設定をする必要があるので、実施してください。
一方、SMS認証または認証アプリ(TOTP)の設定が済んでいる場合は、以下のような表示になっているはずです。「Security keys」の「Add」ボタンを押します。
「Register new security keys」ボタンが出現するので押します。
セキュリティーキーはGitHubに複数登録できるので、区別のための好きな名前を入力してAddを押します。ここでは「demo pc windows hello」とします。
ちなみに、同じPC上では異なるブラウザでも同一のセキュリティーキー扱いになるので、名前にブラウザの違いを分かるようにする必要はありません。
すると、Windows Helloのダイアログが出ます。この例ではPIN認証なので入力します。Windows Helloの登録状況によっては指紋認証や顔認証になると思います。
完了すると、このような表示になります。さきほど登録した「demo pc windows hello」が表示されていて、無事登録できたことが分かります。
このままだと、ログイン時は相変わらず認証アプリ(TOTP)またはSMS認証がまず要求されてしまいます(切り替えることは可能です)ので、Windows Helloを優先に設定します。右のメニューで「Set as preferred method」を選択して、優先(Preferred)にします。
成功すれば以下のように青字で「Preferred」が表示されるはずです。
参考リンク
公式ドキュンメント:セキュリティキーを使って 2 要素認証を設定する
まとめ
Windows Helloを使えばもはや二要素認証は面倒でなく、簡単にセキュリティーを強化できることが分かってもらえたかと思います。
上記の通り設定手順も簡単です。さくっとやってしまいましょう。
おまけ(WebAuthnについて)
ここまで「GitHubの二要素認証をWebAuthnで簡単にする」という観点で記事を書きました。
さて、もしあなたがWebアプリの開発者だとして、その認証はID/パスワードのみでしょうか。WebAuthnはGitHubに限らず、認証を便利に安全にする技術です。是非あなたのアプリもWebAuthnに対応しましょう!
NRIは、WebAuthnに対応したKeycloakというソフトウェアに注目し、情報発信を行っております。是非ご覧ください。
Keycloakとは (Keycloak by OpenStandia Advent Calendar 2017 1日目):
Keycloak - Open Source Identity and Access Management:
Keycloak 日本語ドキュンメント: