GitHubの2段階認証(スマホでQRコードを読み取ってワンタイムパスワードで認証)

GitHubのスマホ認証アプリを使った2段階認証は、アカウントのセキュリティを強化する方法です。まず、GitHubアカウントのセキュリティ設定で2段階認証を有効にします。次に、スマートフォンに認証アプリ(例:Google AuthenticatorやAuthy)をインストールし、GitHubから表示されるQRコードをスキャンしてアプリにアカウントを追加します。この設定後、ログイン時には通常のパスワードに加えて、認証アプリが生成する一時的な6桁のコードの入力が求められます。このコードは数十秒ごとに更新されるため、不正アクセスのリスクを大幅に低減できます。

目次

登録概要


GitHubのワンタイムパスワード(OTP)認証は、アカウントのセキュリティを強化するための二段階認証(2FA)の一環です。スマホを使用してOTP認証を行う方法は以下のようになります。

認証アプリのインストール

スマホに認証アプリをインストールします。一般的なアプリには、Google Authenticator、Authy、Microsoft Authenticatorなどがあります。

GitHubでの2FA設定

GitHubのアカウント設定で「Security」(セキュリティ)セクションを選択し、「Two-factor authentication」(二段階認証)を設定します。この際、「Set up using an app」(アプリを使って設定)オプションを選ぶと、QRコードが表示されます。

QRコードのスキャン

認証アプリで表示されたQRコードをスキャンします。これにより、アプリがGitHubアカウントとリンクされ、アプリ上で定期的に新しいOTPが生成されるようになります。

ログイン時の認証

GitHubにログインする際、ユーザー名とパスワードを入力した後、認証アプリに表示されるワンタイムパスワードを入力する必要があります。このパスワードは通常、30秒ごとに新しく生成されます。

この仕組みにより、パスワードだけでなく、物理的にユーザーの手元にあるデバイス(スマホ)から生成されるワンタイムパスワードが必要となるため、不正アクセスのリスクが著しく減少します。このような二段階認証は、アカウントの保護に非常に効果的です。

認証アプリのインストール

Google Authenticatorのインストール

様々なワンタイム認証アプリがあります
今回は、スマホ認証アプリとしてGoogle Authenticatorを使います

【iOS】
https://itunes.apple.com/jp/app/google-authenticator/id388497605?mt=8

【Android】
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja

Google Authenticatorは、Googleが提供する二段階認証(2FA)用のアプリで、より高いセキュリティレベルをユーザーのアカウントに提供するために設計されています。このアプリは、ユーザーがオンラインアカウントにログインする際に、パスワードとともにワンタイムパスワード(OTP)を入力することを要求します。以下はGoogle Authenticatorの主な特徴と使用方法です:

主な特徴

  1. ワンタイムパスワード生成: Google Authenticatorは、30秒ごとに新しい6桁のパスワードを生成します。このパスワードは、ログインする際にユーザー名とパスワードに加えて要求されます。
  2. オフラインでの動作: インターネット接続がなくても、アプリは正常に動作し続けます。これは、パスワードがデバイス上で生成されるためです。
  3. 広範な互換性: 多くのオンラインサービスやアプリがGoogle Authenticatorに対応しています。これには、ソーシャルメディア、メールプロバイダー、金融サービスなどが含まれます。
  4. 認証コードの同期: Googleアカウントと複数のデバイス間で同期。これにより、スマートフォンを紛失した場合でも常にコードを利用できます
  5. QRコードによるデバイス間のアカウント移行: アカウントを新しいデバイスに手軽に移行できます(下記の参考タイトルを参照)

使用方法

  1. アプリのインストール: Google PlayストアまたはApple App StoreからGoogle Authenticatorアプリをダウンロードしてインストールします。
  2. アカウントの追加: 二段階認証を設定しているサービスにログインし、「2FA設定」を開きます。多くの場合、QRコードが表示されるので、それをGoogle Authenticatorアプリでスキャンします。
  3. ワンタイムパスワードの利用: アプリがQRコードを認識すると、そのアカウントのためのワンタイムパスワードがアプリ上で生成されます。ログインする際は、このパスワードを使用して認証を完了します。

Google Authenticatorを使用することで、アカウントへの不正アクセスを効果的に防ぐことができ、オンラインのセキュリティが大幅に向上します。

スマホ認証アプリを起動しておきます

GitHubでの2FA設定

ブラウザでGitHubのページを開き、サインインします

2段階認証が必須登録の予備期間切れの場合、GitHubの機能に制限がかかります
QRコードが表示されますので、下記、「QRコードのスキャン」の項までスキップしてください

2段階認証画面のところまで進めます

アカウント画面を開きます

GitHub画面右上のアカウントアイコンをクリック

設定画面を開きます

アカウント画面が開きますので、画面左のSettingをクリック

パスワード、認証登録画面を開きます

画面左側のPassword and authenticationをクリック

2段階認証方式として認証アプリを登録

Authenticator appを追加をクリック

QRコードのスキャン

スマホアプリでQRコードを読み取らせる

スマホアプリで、右下の+記号をクリック

QRコードをスキャンをタップ

PCのモニターに表示されているQRコードをスマホでスキャンすると、スマホの画面に6桁の認証コードが表示されます

スマホの認証アプリとの連携

2段階認証の優先順位を選択

Authenticator app が Configuredになったのを確認
Preferred 2FS methodをAuthenticator appを選択

以上で完了です

ログイン時の認証

アカウントとパスワードでこれまで通りサインインします

2段階認証の画面が表示されるので、「認証アプリを使う」選択します

スマホの認証アプリを起動して、表示されている認証コードを入力し、Verifyをクリックします

一定時間ごとに認証コードは更新されますので、表示されているコードを入力してください

以上で、サインインが完了し、通常通りアクセスできるようになります

認証ができなくなった時に備える

認証ができなくなった場合に備えて、リカバリーコードを保存しておきましょう

2段階認証登録画面で、Recovery optionsのViewをクリック

コードの一覧が表示されますので、ダウンロードして大切に保管しておきます

スマホ間で、認証情報を引き継ぐ


Google Authenticatorのデータを古いスマホから新しいスマホへ引き継ぐことは可能です。最近のアップデートにより、Google Authenticatorもバックアップと復元のプロセスが簡略化されています。以下に引き継ぎ方を説明します。

新しいバックアップ機能を使う方法

  1. バックアップの準備: 古いデバイスのGoogle Authenticatorアプリで、設定メニューを開き、「アカウントの転送」または「バックアップの作成」のオプションを選択します。
  2. バックアップの作成: 指示に従って、Googleアカウントにログインし、認証データのバックアップを作成します。
  3. 新しいデバイスでの復元: 新しいデバイスにGoogle Authenticatorをインストールした後、同じGoogleアカウントにログインして、バックアップから認証データを復元します。

新しいバックアップ機能を利用できる場合は、その方がはるかに便利で安全です。デバイスの変更が予定されている場合は、最新の情報を確認し、可能な限りバックアップ機能を使用することをお勧めします。

GitHubで利用できる2段階認証(2FA)の種類


GitHubで利用できる2段階認証(2FA)の種類には以下のものがあります:

  1. 認証アプリ:
    • これはスマートフォンやタブレットにインストール可能な認証アプリ(例:Google Authenticator、Microsoft Authenticator)を使用します。アプリは定期的に変わる6桁のコードを生成し、そのコードをGitHubにログインする際に入力する必要があります。
  2. SMS認証:
    • この方法では、ユーザーが登録した携帯電話番号にSMSメッセージを通じて6桁の認証コードが送信されます。このコードをGitHubにログイン時に入力することで認証が完了します。
  3. ハードウェアセキュリティキー:
    • 物理的なセキュリティキー(例:YubiKey)を使用して認証します。セキュリティキーをデバイスの適切なポートに挿入してボタンを押すことで、ログイン時に認証が行われます。WebAuthn(Web認証)もサポートされています。
  4. 回復コード:
    • これは2段階認証を設定する際に生成される一連のコードです。他の認証方法が利用できない場合に、これらのコードを使用してアカウントにアクセスすることができます。安全な場所に保管することが推奨されます。

これらの方法を組み合わせて使用することで、アカウントのセキュリティをさらに強化することができます。例えば、認証アプリとハードウェアセキュリティキーの併用などです。

参考)パスワードログイン以外の方法

「Passkey」とは2段階認証(2FA)の方法とは異なるセキュリティ概念です。Passkey(パスキー)は、パスワードの代わりに使用されるデジタルキーであり、より安全なログイン方法を提供することを目的としています。

Passkeyの特徴

パスワードレス認証

Passkeyを使用すると、ユーザーはパスワードを覚える必要がなく、ログインのためにはデバイスやバイオメトリック(指紋や顔認識など)を使用します。

デバイス間の互換性

Passkeyはクラウドを介して同期されるため、異なるデバイス間でログイン情報を容易に共有できます。

高いセキュリティ

Passkeyは公開鍵暗号技術を使用し、ユーザーの秘密情報がサーバー上に保存されることはありません。これにより、パスワードの盗難リスクを軽減します。

Passkeyは、オンラインでの認証プロセスを簡素化し、より直感的かつ安全なユーザー体験を提供することを目指しており、従来の2段階認証とは異なり、セキュリティを強化する新しい方法です。最近では、AppleやGoogle、Microsoftなどの大手テクノロジー企業がPasskeyを支持しており、広範囲にわたる採用が進んでいます。

参考)おすすめの認証アプリの比較