google
セキュリティ
認証
二段階認証
FIDO

Googleのガチセキュリティ「高度な保護機能プログラム」を試してみる,あと仕組みとか

More than 1 year has passed since last update.

Googleアカウントのセキュリティ,耐不正アクセス性を高められるオプション「高度な保護機能プログラム」が提供され始めたので,試してみる.

すなわち,この記事は以下の内容ではない;
・自社サーバのセキュリティを高める
・PCのセキュリティを高める
・Google内部のセキュリティを詳解する
・気になる人のGoogleアカウントをクラッキングする

それから,スクリーンショットを貼るつもりが紛失したので,貴方がたの優秀な心の目で見て欲しい.

tl;dr

まだ早い(Bluetooth周りがいまいち)

設定

全く難しくない.
高度な保護機能プログラム
上記リンク先より設定開始.

まずは物理的な認証用のキーが必要となる.
下図の通りリンクで誘導してくれているが,リンク先が米アマゾンである.
日アマゾンで探し直したほうが良い(配送に時間がかかる,あるいはそもそも配送非対応).

(スクリーンショットがここに貼られるはずだった)

手元に2つとも揃ったら,次画面へ進む.
指示に従いキーを登録.
Bluetoothキーも登録はUSB経由で行う.

(スクリーンショットがここに貼られるはずだった)

2キーとも登録が済むと,次画面で警告がでる.
内容は以下の通り(これは別途コピペしておいたので紛失を免れた).

高度な保護機能による変更内容

・ログインには物理セキュリティ キーとパスワードが必要です
 セキュリティ キーが必要なのは、新しいパソコン、ブラウザ、端末で初めてログインするときだけです

・メールを読むには、Gmail か Inbox by Gmail が必要になります
 Gmail と Inbox by Gmail にはどちらもモバイルアプリが用意されています。Chrome でウェブ バージョンも利用できます

・Apple のメールアプリ、連絡先アプリ、カレンダー アプリから Google データにアクセスできなくなります
 iOS アプリから Gmail、コンタクト、カレンダーにはアクセスできなくなります。メール アプリを使用してメールを確認することができなくなります。

・サードパーティ アプリは Gmail、Google ドライブ、コンタクトにアクセスできなくなります
 フィッシングからデータを保護するため、サードパーティのアプリによる Google ドライブ、Gmail、コンタクトへのアクセスはすべて拒否されます

・アカウント復元では、本人確認の特別な手順を行います
 セキュリティ キーを紛失して、アカウントにアクセスできなくなった場合には、アカウントの復元に数日かかります

・2 段階認証プロセスに対応していないアプリではアカウントを使用できなくなります
 一部のアプリでは、2 段階認証プロセスの代わりにアプリ パスワードが使用されます。これらのアプリは引き続き使用できますが、Google アカウントでは使用できません

誤解を招くような表現だが,iOSから全く使えなくなるという意味ではないはずだ.
Google製のiOSアプリからは問題ないはずである(推定なのは後述).
iOSデフォルトのアプリを連携させるユーザが多いため,こういった表記になったのだろう.

上記の警告に同意した上で次画面に行けば,晴れて有効化となる.

(スクリーンショットがここに貼られるはずだった)

実際どうだったか

Chromebook内のAndroidサイドでの認証に失敗.
iOSでの認証に失敗.

いずれもBluetooth接続時に認識されずタイムアウト.
他の認証手段(SMSで認証コード送信など)は,そもそもこの「高度な保護機能プログラム」によって選択できなくなっている.
検証機種はChromebook Pixel(2015), iPad Proである.

仕組み

折角なので,中心となる物理キー周りの仕組みについても俯瞰的に触れておく.

FIDO(Fast IDentity Online)という仕様が採用されている1

なぜよりセキュアなのか

ざっくり言えば,パスワード(に相当するもの)をサーバ-クライアント間で受け渡さないからである2
 
パスワード相当を受け渡ししないため,生体認証にも適している.
(生体認証は変更不可能のため,殊更に漏洩に注意する必要があった)

問題点

クライアント側でパスワード相当を保存するため,クライアント自体のセキュリティは必要.
(しかし保存しない場合でも必要なのは確か)

ちなみに

上記の仕組みを理解すれば明らかだが,生体認証や物理キーであること自体にはあまり意味がない.
実際のところ,FIDOとしてはPIN入力も想定されている.
Googleが物理キーを採用したのは,利便性などによるものだろう.

雑感

文字が入力される

認証でも何でもない場面でキーのボタンを押すと,一見ランダムな文字が入力される.
おそらくキーに保存されている,パスワードに相当するものだろうと思われる3
こういった不注意による漏洩リスクはあるかもしれない.

もはやパスワード要らないのでは

実はFIDOのうち二段階認証としてのキーなのである.
パスワードを丸々置き換えるためのキーは,現在のところ発売されていないようである.

セキュリティ高めるなら毎回でいいんじゃないの,手軽だし

上記に同じ.

おしまい

何か間違いなどあったらマサカってください.

参考文献

FIDO とは
FIDOの仕組み(公式サイト)


  1. 更に細かく言うと,「UAF(Universal Authentication Framework)」「U2F(Universal 2nd Factor)」という仕様がある.Googleアカウントで現在使われているのは後者.前者はまるまるパスワードを置き換え,後者は二段階認証の代替に留まる. 

  2. 公開鍵暗号方式を利用し,都度サーバから送られるチャレンジを元に生成するトークンを受け渡すのである. 

  3. 仮にトークンなのであれば,チャレンジなしに何を元に生成しているのか,ということになる.また,あの物理キーにトークンを出力できるほどの処理ができる,とは少し考えにくい.