Google Authenticator を入れているデバイスを買い換えたので、2要素認証 (2FA: two-factor authentication) (サービスによっては MFA: Multi-factor authentication) を設定し直してみました。
2要素認証一般の話
- 今回使用しているのは TOTP という RFC にもなっている規格なので Google に依存しているわけではありません
- Apple ID の 2 ファクタ認証 は TOTP ではなさそうです
- Google Authenticator (iOS) や Google 認証システム (Android) がよく使われている気がします
- Google 依存を避けたいのなら IIJ SmartKey や Microsoft Authenticator というのもあるようです
- TOTP は QR コードかテキスト入力した秘密情報と時刻を元に認証用の数字を生成しているだけなので、複数の端末・アプリに同時に設定することも可能です (当然ですが、紛失した時のリスクは増加します)
github.com
- ログインしておく
- 右上の自分のアイコンをクリックして Settings をクリック
- Security をクリック
- Two-factor authentication の Edit をクリック
- パスワードの確認が入る
- Reconfigure two-factor authentication をクリック
- リカバリーコードと fallback SMS 設定には影響がないという説明を確認
- https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/ に対応アプリの説明あり
- Set up using an app をクリック
- QR コードをアプリでスキャン
- アプリに表示されている6桁の数字を入力して Enable two-factor authentication をクリック
Google アカウント
- ログインしておく
- https://myaccount.google.com/ から「Google へのログイン」をクリック
- 「2 段階認証プロセス」をクリック
- パスワードを再入力
- 2 段階認証の確認コードを入力
- 「2 つ目の手順」の「認証システム アプリ (デフォルト)」のペンのアイコンをクリック
- 「登録された認証システム アプリ」ポップアップが出てきたので「変更」をクリック
- 「お使いのスマートフォンの種類」で「Android」が選択されていたのでそのまま「次へ」をクリック (iPhone を選ぶとたぶん説明が違う)
- QR コードをアプリでスキャン
- 「次へ」をクリック
- アプリに表示されている6桁の数字を入力して「確認」をクリック
- 「完了」をクリック
Evernote
- ログインする
- 左下のアイコンから「設定」を開く
- 「セキュリティ概要」を開く
- 「2 段階認証が有効です」になっているので「設定を管理」をクリック
- 再設定はなさそうなので「2 段階認証を無効化」で一度無効化
- 「2 段階認証を無効化しますか?」が出てきたので「確認」をクリック
- 「2 段階認証が有効化されていません」になったので「有効化」をクリック
- 説明が出てくるので「続ける」をクリック
- 重要事項が出てくるのでさらに「続ける」をクリック
- メールアドレスを確認が出てくるので「確認用Eメールを送信する」をクリック
- メールを確認して確認コードを入力して「続ける」をクリック
- 「携帯電話番号を入力」で「日本 (+81)」のまま「90-xxxx-yyyy」のように入力して「続ける」をクリック
- SMS で確認コードが届くので確認コードを入力して「続ける」をクリック
- 「(任意)バックアップ用電話番号を設定」が出てくるので左下の「スキップ」をクリック
- 「Google 認証システムを入手する」の説明が出てくるので「iOS で続行」をクリック (一番上にあったので)
- QR コードをアプリでスキャン
- アプリに表示されている6桁の数字を入力して「続ける」をクリック
- 「バックアップコード」が表示されるのでコピーするなり印刷するなりして安全な場所に保存 (個人的には gpg で暗号化したファイルに保存している)
- 「続ける」をクリック
- 「バックアップコードを入力」でバックアップコードのひとつを入力して「セットアップを完了」(ここで入力しても無効にはならない)
- 「2 段階認証のセットアップが完了しました」の説明が出てくるので「完了」をクリック
- 「2 段階認証が有効です」になっているので、必要なら「設定を管理」からアプリケーション用パスワードを再設定していく必要がありそう (使っていなかったので不明)
live.jp
- ログインする
- 右上のアカウント画像から「アカウントの表示」をクリック
- 上のところから「セキュリティとプライバシー」をクリック
- 「アカウント セキュリティ」の「その他のセキュリティ設定」をクリック
- 「認証アプリ」から「本人確認アプリをセットアップ」をクリック
- 「認証アプリの設定」に入るので「アプリをインストールするモバイル デバイス」から「iPhone、iPad、または iPod touch」を選択して「次へ」をクリック
- Microsoft Authenticator で「個人のアカウント」を追加
- 同様に Android の設定の場合
- 「認証アプリの設定」に入るので「アプリをインストールするモバイル デバイス」から「Android」を選択して「次へ」をクリック
- Microsoft Authenticator で「個人のアカウント」を追加
- 同様に TOTP アプリの場合
- 「認証アプリの設定」で「その他」を選択して「次へ」をクリック
- 「この設定を行うと、以前に認証アプリを使って生成し、設定したコードがすべて無効になります。続行してもよろしいですか?」という確認が出てくるので「次へ」をクリック
- QR コードをアプリでスキャン
- 「アプリによって生成されたコード」にアプリに表示されている6桁の数字を入力して「次へ」をクリック
ログイン時に通知で許可するか拒否するか出てくるようになりました。 「その他」で TOTP の設定をするとそちらが優先されるようになりましたが、どちらが優先されるかは最後にどちらを使ったかで決まるようです。
TOTP から Microsoft Authenticator への通知への切り替えは「Microsoft アカウント アプリに本人確認要求を送ります。」でできて、通知から TOTP への切り替えは「問題が発生した場合」をクリックすると出てくる「セキュリティ コードを入力してください」でできるようです。
Microsoft Authenticator の方は通知で認証できたり、表示されているのが 8 桁だったりして、 Microsoft のアカウントの認証に対しては TOTP で一般的な 6 桁ではないので、 他の方式なのかもしれないと思って、ちょっと調べてみたのですが、 よくわかりませんでした。
Dropbox
- ログインする
- 右上のアカウントのところから「設定」をクリック
- 「セキュリティ」タブをクリック
- 「2 段階認証」の「主要」の「認証アプリ」の「編集」をクリック
- パスワードを入力して「次へ」をクリック
- 「モバイル アプリを使用」を選んだまま「次へ」をクリック
- QR コードをアプリでスキャン
- 「次へ」をクリック
- 対応アプリについては https://www.dropbox.com/help/363#2fa-apps に説明あり
- アプリに表示されている6桁の数字を入力して「確認」をクリック
- 「予備の携帯番号 (オプション)」に「日本 (+81)」と「90xxxxyyyy」のように入力されていたのでそのまま「次へ」をクリック
セキュリティの画面に戻って設定完了しました。
amazon.com
root-account-mfa-device とだけ出ていて、何のものなのかわかりにくかったのですが、 Amazon Product Advertising API で使っている amazon.com のものでした。
Amazon Product Advertising API で使っているだけなので、AWS の無料期間を始めないように注意しながら探しました。
- https://console.aws.amazon.com/iam/home?#security_credential の「Multi-Factor Authentication(MFA)」
- 「再同期」は意味がなかったので「無効化」してから「MFA の有効化」をしなおしました
- 「仮想 MFA デバイス」を選んで「次のステップ」
- 対応アプリの説明は https://aws.amazon.com/jp/iam/details/mfa/
- 説明を読んで「次のステップ」
- QR コードをアプリでスキャン
- アプリに表示されている6桁の数字を「認証コード1」に入力して、しばらく待って表示が変わったら「認証コード2」に入力して「仮想 MFA の有効化」
- 「MFA デバイスは正常に関連付けられました。」と出るので「完了」
さくらの会員メニュー
- ログインする
- 説明ページ: https://help.sakura.ad.jp/hc/ja/articles/206057222
- 「2段階認証の設定」をクリックする (わかりにくいがタイトルっぽいところがリンクにもなっている)
- 「※QRコードを発行・表示できるのは一度のみです。紛失した場合、一度設定を「無効」にする必要があります。」とあるので一度「無効」にして「設定変更」をクリック
- 確認が出るので「無効化」をクリック
- 再び「有効」にして「設定変更」をクリック
- 「2段階認証設定」をクリック
- 「QRコードを発行する」をクリック
- QR コードをアプリでスキャン
- 「認証コード入力画面へ」をクリック
- 認証コードを入力して「ログイン(認証)」をクリック
- 「QRコード発行済み」になっていれば2FAは設定完了
- さらに「バックアップコードを作成」をクリック
- 「現在のバックアップコードを表示する」をクリック
- バックアップコードを安全な場所に保管
libpam-google-authenticator
- ログインする
-
google-authenticator
コマンドを実行して.google_authenticator
ファイルを上書きする - 途中で表示される QR コードをアプリでスキャン
- emergency scratch codes (バックアップコード) も再発行されるので安全な場所に控えておく
まとめ
再設定機能があるサービスは再設定がしやすくて良かったのですが、そういう機能がないところは一時的に無効にしてセキュリティレベルが下がってしまうのが気になりました。
どちらが良いのかはわかりませんが、再設定によってバックアップコードが影響を受けないところと再発行のところがあるのも気になりました。
二要素認証 (多要素認証) はセキュリティにとって重要なものなので、デバイスの買い替えなどの適当なタイミングで再設定できたのは良い機会だったのかと思いました。