第2の人生の構築ログ

自分の好きなことをやりつつ、インカムもしっかりと。実現していく過程での記録など。読書、IT系、旅行、お金に関係する話などの話題。

Google アカウントで2段階認証を行い、その2段階認証にPC/MacとスマホのBluetooth接続連携でボタンを押すだけ方式をやってみる(FIDO2のPresence)

前回はスマホだけで利用する場合に Yahoo カウントのログインに FIDO2 (生体認証)を使う方法を試しました。

www.morelife.work

今回は、Googleアカウントの2段階認証の設定を行います。前回とちょっと違うのは、スマホだけで操作するのではなく、PC/Macをメイン端末として、スマホを2段階認証に利用するパターンになります。

さらに、その2段階認証によくあるテキストメッセージによる認証コードを使った方式を使うのではなく、PC/Mac と Bluetooth 接続でスマホを連携し、スマホのボタンを押すだけ方式 (FIDO2) でやってみようと思います。

次世代?Bluetooth 接続を使ったスマホとの2段階認証のやり方

と、言葉だけで書いてみても、何のこと?という感じになると思いますので、先に最終的にやりたかったこ2段階認証のやり方をムービーではっておきます。
同じ画面で見せているので戸惑うかもしれませんが、左側が Mac のデスクトップ上のブラウザ画面、右側がモバイルの画面を Vysor というアプリを使って Mac に表示している状態です。

ムービーの内容を補足します。

  • 左側のブラウザでまずは Google アカウントの ID + 固定パスワードを使ってログインします。
  • 固定パスワードの認証が通ると2段階認証スタートです。
  • ここでは FIDO2 が使われます。ブラウザは Bluetooth 経由で FIDO2 の認証器(Authenticator)を探しに行きます(Android 端末の中にいます)。これが左側のブラウザ画面のダイアログ「スマートフォンを確認してください」になります。
  • 今度は右側のスマホのターンです。スマホの認証器(Authenticator)が勝手に起動され、「ログインしようとしています?」と表示されています。これ、Mac のブラウザから Bluetooth 経由でスマホにアクセスしているんですね。(FIDOの用語ではCTAPという仕様です。サーバからブラウザに送られていたチャレンジがスマホに送られています。)
  • スマホでは問題なければ右側のボタン(Pixel3 の音量を下げるボタンです)を押します。これによりユーザにより確認が行われたことになりますので、スマホ内の認証器の秘密鍵を使ってチャレンジに対する署名が行われ、ブラウザ経由でサーバに返されます(「デバイスに接続しています」とグルグル回っている状態のところでやっています。)。
  • サーバ側での認証が通れば2段階認証成功となります。
  • 無事、Google アカウントへのログインが許可され、Gmail を開けます。

どうでしょうか。とても楽でわかりやすいと思いませんか。2段階認証をこのユーザビリティでやれるのはスバラシイですね。上記のムービーの中で人間が行ったのは、最初の ID + 固定パスワードの入力と2段階認証時に音量の下げるボタンを押しただけです。

以下の記事も同様のことをしているものになります。

www.itmedia.co.jp

まずは2段階認証の設定を行います

まずは2段階認証の設定を行います。 Googleアカウントのセキュリティページを開きます。

f:id:dr_taka_n:20190805170320p:plain:w600

"オフ"になっている「2段階認証プロセス」を"オン"にします。

f:id:dr_taka_n:20190805170504p:plain:w600

f:id:dr_taka_n:20190805170728p:plain:w400

自身の Google アカウントの固定パスワードで認証します。

f:id:dr_taka_n:20190805170843p:plain:w400

現在設定を行っている Google アカウントを登録しているスマホが表示されます。「今すぐ送信」をクリックします。

f:id:dr_taka_n:20190805171118p:plain:w400

現在主に使っている Pixel が先に反応しました。Pixel側で反応しました。「はい」をタップしておきます。

f:id:dr_taka_n:20190805171342p:plain:w300

PC/Mac 側の設定に戻っています。先程「はい」をタップしたスマホの電話番号が表示されているはずです。「送信」をクリックします。

f:id:dr_taka_n:20190805171536p:plain:w400

スマホにテキストメッセージが送信され、認証コードが記載されているはずですので、そのコードを入力し、「次へ」をクリックします。

f:id:dr_taka_n:20190805171627p:plain:w400

正しく認証されていれば以下の画面になっているはずです。「有効にする」をクリックすることで「2段階認証プロセス」の設定は完了です。

f:id:dr_taka_n:20190805171816p:plain:w400

"2段階認証プロセスは2019/08/05より有効になっています"と表示されています。(はい、この記事を書くのがだいぶ後になってしまいました。。)

f:id:dr_taka_n:20190805172102p:plain:w400

「セキュリティ」の画面で「2段階認証プロセス」が"オン"になっているのがわかります。

f:id:dr_taka_n:20190805172937p:plain:w400

ここまでが「2段階認証」の設定です。ここまででもテキストメッセージを使用した2段階認証ができる状態ですので充分なのですが、せっかくですのでこの記事の最初に記載しましたような Bluetooth 接続でスマホのボタンを押すだけの仕組みを利用してみましょう。

2段階認証を Bluetooth 接続で行う「セキュリティキー」に設定します (FIDO2)

Bluetooth 接続で2段階認証を行う設定を行います。これは FIDO2 と言われる仕様が使われています。

改めて、「セキュリティ」(Googleアカウントのセキュリティページ)->「Googleへのログイン」->「2段階認証プロセス」を開きます。

画面の下の方に「セキュリティキー」という項目がありますので、クリックします。ここで言っている「セキュリティキー」は FIDO2 で言うところの認証器(Authenticator)のことを指します。

f:id:dr_taka_n:20190805173132p:plain:w400

Bluetoothで接続できていて、今回登録を行うセキュリティキー(認証器(Authenticator))の一覧が表示されています。(Bluetoothだけでなく、USBもインターフェイスとして利用可能です。)

ここでは、Pixel 3 XL を選択しました。

f:id:dr_taka_n:20190805173246p:plain:w400

「追加」をクリックします。

f:id:dr_taka_n:20190805173421p:plain:w400

特に Pixel 側で何もしなかったのですが、登録できた模様です。

f:id:dr_taka_n:20190805173603p:plain:w400

2段階認証プロセスの優先順が変わりました。「セキュリティキー」による認証がデフォルトとなっています。これで設定は完了です。

f:id:dr_taka_n:20190805173717p:plain:w400

この状態でログインを行いますと、冒頭のビデオのような2段階認証プロセスになります。ちょっと設定の手間がかかる気がしますが、いよいよ FIDO2 が普通に使える世界がきました。