去年の4月、すべてのAndroid 7以降のデバイスを2要素認証として使用できるようにすることが発表されて当ブログでも試しましたが、その仲間に、AppleのiPhoneが加わりました。
そもそも2要素認証ってなんですか?という方は、ちょっとレアな時代になってきていますが、MMOや銀行でいうセキュリティートークンなどがそれにあたります。Amazonなど一部サイトでログイン時にSMS経由で送信されるコードも2要素認証のひとつです。
ですが、SMSは電話番号を管理するSIMカードをハッキングし乗っ取ることで、完全な乗っ取りができてしまうことがわかっています。したがって業界ではSMS認証は安全ではないとされています。
そこでセキュリティートークンなわけですが、このセキュリティトークン、運用にコストが掛かるんですね。ソフトウェアトークンでさえ、ライセンス元に対して、払い出したトークンの数だけコストが掛かるような仕組みになっています。
今までは、物理的なアプローチがセキュリティートークンしかなかったわけですが、これに完全なセキュアエレメントを持っていると認定されたスマホに限りセキュリティーキーとして利用可能としたのがGoogleのアカウントログインです。
グーグルでは、すでに「プロンプト」いわゆるログインしようとしてますか?画面が導入されていますが、基本的にはあれと同じです。
プロンプトではGMAILアプリにプッシュ通知し、通知を受けたアプリが画面を生成しています。これはGMAILアプリがインストールされている場合、盗難されたスマホにも通知が行くということに他なりません。
今回のセキュリティーキー対応では、ここが違います。
導入時、「Google Smart Lock」アプリをインストールする必要があり、ログインしようとしていますか?という画面はSmart Lockアプリが生成します。
ただし、このSmart Lockアプリの承認は、承認されるログイン端末がBluetoothの電波圏内にある必要があります。したがって、SMSハッキングや盗難されたスマホなどに対して有効な選択となるのです。
仕組みとしては、ログイン端末が、近くに認証した端末があるかどうかを検索したときBluetoothのリストに載かどうかが条件なので、ログインする端末にもBluetooth機能がありオンになっている必要があります。検索だけするのでペアリングは必要ありません。
いまのところ、Googleのログインにしか使えないわけですが、自分以外がログインできないようにする最善策なので、できる限りやっておくことをおすすめします。
ただしiOS13以上が前提のようです。
導入方法
まずはgoogleのアカウント管理画面で手続きします。
myaccount>セキュリティ>2段階認証プロセス

ここにすでにgoogleアカウントでログインしている端末が表示されます。
以前は、わたしの環境だとGoogle Pixel 3 XLとUSB または Bluetoothのみがリストされていましたが、GoogleログインをしたことのあるiPhone端末がすべて追加されていました。

この画面になってから、iPhone側でSmart Lockアプリを開くと、設定ウィザードが開始されます。

まずは必須のBluetoothへの許可申請から始まり、

ログインするときにSmart Lockアプリを起動しやすくなる通知設定の許可申請へと続き、

iPhone側で許可を付与します。

ここからやっとアカウントの紐付けです。

IDとパスワードを入力して、

この名前のiPhoneをセキュリティキーとして登録するか確認します。

タップするとiPhoneがセキュリティーキーとして登録されます。

実機での動作
ただ普通に起動した状態では、なにも起こりません。

Googleにログインする時、ID、PWを入力し終えたところで、iPhone側の画面が切り替わります。

心当たりがあれば、はい、えっ?てなったら、いいえ、をタップ。

ちなみにAppleWatchにも通知が来ます。便利。ただしAppleWatchでは、はい/いいえを承認できません。

直ぐにできますし、安全になることは間違いないところなので、ぜひやってみてはいかがでしょうか。