Google Authenticator

Google Authenticator（Google 認証システム）は、Googleが開発した二段階認証(二要素認証)を行うトークンソフトウェアである。Authenticatorは、Googleログイン時の二段階認証に必要な6桁の数字コードを生成する。また、LastPassやDropboxといった他社製のアプリケーションの二段階認証にも対応する。
対応環境.
GoogleはiOS、BlackBerry、AndroidバージョンのAuthenticatorを提供している。他にも幾つかのサードパーティでも実装している。
技術的概要.
Googleは各ユーザーに80ビット秘密鍵を生成し16文字のbase32文字列かQRコードで提供している。クライアントはUNIX時間で30秒ごとに代わるメッセージを伴ったこの秘密鍵を使ってHMAC-SHA1を作っている。HMACの部分が6桁数字のコードに変換される。
Google AuthenticatorはRFC 6238で定義されたTime-based One-time Password Algorithmを使用している。