アカウントの悪用は誰にでも起こりうることであり、一般ユーザを狙った攻撃も年々増加しています。そのような理由から、アカウントに多段階認証/多要素認証を行うことが一般的になってきました。
中でもGoogleのアカウントは一際狙われやすいため、2段階認証を設定していない方はすぐにでも設定することをお勧めします。
Googleアカウントの2段階認証
Googleアカウントには2段階認証の仕組みが数多くあります。一般的には電話番号やログイン済みのスマホによる物がよく使われます。
しかし、そのどちらも、手元にスマホがあることが前提となっており、PCで全てを完結させたいという場合には2要素認証を諦めざるを得ない状態でした。
そこで、今回はTOTP(Time-based One-time Password)という仕組みを用いてGoogleの2段階認証を設定していきたいと思います。
TOTPとは
TOTPは Time-based One-time Password の略で、時間を基準にした一度限りのパスワードという意味です。
TOTPを簡単に説明すると、サーバーとクライアントがあらかじめ同じ鍵を共有し、その鍵と時間(主に現在時刻)から、一定期間(主に30秒)だけ使えるパスワードを生成する仕組みです。
大まかな流れ
今回の方法は、もともとスマホでのみ使える、Google 認証システムアプリというものが、一般的なTOTPを使用していることを利用し、別のTOTPが使用できるソフトウェアを利用するという方法を使っています。
可能性は限りなく低いと思いますが、将来的にGoogleのシステム変更により、この方法が利用できなくなる可能性があります。
GoogleアカウントでTOTPを使う
再設定用の電話番号かメールアドレスを設定する
後の作業に失敗するとGoogleアカウントにログインできなくなる可能性があります。
再設定用の電話番号もしくは再設定用のメールアドレスを設定しておくと安心です。
まずはGoogleのウェブページからGoogleアカウントにログインし、右上のアカウントアイコンをクリック、Google アカウントを管理を選択してください。
セキュリティ
を選択します。
Google による本人確認の方法
→再設定用の電話番号
もしくは再設定用のメールアドレス
を選択、再度パスワードの入力を行い、指示に従って変更します。
2段階認証の設定
セキュリティ
を選択し、Google へのログイン→2段階認証プロセスを選択します。
下にスクロールして使ってみる
を選択、再度パスワードの入力を行います。
初期設定でのみ電話番号かスマートフォン、もしくはセキュリティキーが必要になります。今回はスマートフォンを選択しました。
最後にバックアップ方法を登録します。
電話番号が使える場合は電話番号を、使えない場合は別のバックアップ オプションを使用
を押して、バックアップ コードをダウンロードもしくは印刷します。
このバックアップコードはそれぞれ一度しか使えないのでご注意ください。
TOTPの設定
いよいよTOTPの設定をしていきます。 ほかのソフトウェアも使用できると思われますが、今回はKeePassXCを使用します。KeePassXCのインストールや使い方についてはこちらをご覧ください。
2段階認証プロセス画面に入り、2 つ目の手順を追加してログインを確認する
から認証システム アプリ
を選択します。
認証システムを設定
を選択します。
スキャンできない場合
を選択
KeePassXCでGoogle用のエントリーを作り、エントリーを右クリック→TOTP→TOTPの設定を選択
メールアドレスと以下のキーを入力します(空白は無視されます):
の下に記載されている文字列をコピーします。
KeePassXCの秘密鍵:
の入力欄に貼り付けて、OK
を選択します。
KeePassXCのエントリーを選択した状態で、Ctrl+Tを押すとTOTPをコピーすることができます。
Googleアカウント設定側に戻り、次へ
を選択、今コピーしたコードを入力、確認を押して、正常に終了すれば完了です。
TOTPを使ってログイン
一度Googleアカウントからログアウトして、再度ユーザ名とパスワードを入力するとこのような画面が表示されると思います。正常にログインできてしまった場合はブラウザのCookieを削除するか、別の端末からお試しください。
下へスクロールして別の方法を試す
を選択します。
Google 認証システム アプリから確認コードを取得する
を選択します。
先ほどと同じようにKeePassXCでCtrl+Tを押してTOTPをコピーし、6桁のコードをペーストし、正常にログインできれば完了です。
まとめ
TOTPを使用することで各段にセキュリティを高めることができます。最近のウェブサービスは基本的にTOTPが使えることが多いので、Googleアカウントに限らず、ぜひ活用してみてください。