Chrome 38 (Win/Mac/Linux) がUSBセキュリティキーに対応し、あわせてGoogleの2段階認証もこれに対応しました。従来のスマートフォンによる認証と比べてキーを挿す*1だけとお手軽なほか、似たような外見・URLのフィッシングページに誘導されてもブラウザが正規のページか自動的に判断するので騙されてキーを入力してしまうことがなくセキュアだということです。
Use Security Key for 2-Step Verification - Android - Google Account Help
利用できるのは、FIDOが策定しているU2F (Universal 2nd Factor)に対応したキー。
私はamazon.comで↓のを買いました。 たったの$6なり。ボタン等はついてないので挿しっぱなしにはできず、認証時に挿すという感じになりますが、とにかく安かったので。
http://www.amazon.com/gp/product/B00OGPO3ZS/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
プラスチックのカードが封筒に入って届くので、切り取って、USB端子部分の厚み調整のために折り曲げて完成。
登録はGoogleの登録ページを開いてキーを挿すだけ。以降、認証するときはキーをさすと、自動的にログイン後のページに進んでくれるという感じです。
USBキーが使えない環境では、従来のスマートフォンを使った2段階認証を利用できます。
JavaScript API
FIDOでは、JavaScriptのAPI*2も策定しています。
https://fidoalliance.org/specs/fido-u2f-javascript-api-v1.0-rd-20141008.pdf
Googleの認証ページではhigh-level APIを使っているようですが、プラグインと会話できるようにmanifest等が必要なのでセットアップが大変。
今のところ、Googleの2段階認証以外でお手軽に実験するには、リファレンス実装( GitHub )のExtension ( https://chrome.google.com/webstore/detail/fido-u2f-universal-2nd-fa/pfboblefjcgdjicmnffhdgionmgcdmne ) を入れ、デモサイト( https://u2fdemo.appspot.com/ )を訪れるのが簡単そう。
発行されたキーの内容や、認証の様子がビジュアルに見れます。Mac/Chrome 38でなんども動かしてると結構落ちるのがアレですが。