ワンタイムパスワードとは?
様々なWebサービスを利用するのが当たり前となった現在,
そもそも固定パスワードには,
昨今のWebサービスでは通常のIDとパスワードにくわえ,
- ※1
- Google AuthenticatorではTOTP以外にHOTP
(HMAC-based One-time Password Algorithm) も利用可能ですが, あまり使われていないのではないでしょうか (個人の感想です)。本記事ではHOTPについての解説は省略します。
とはいえ,
oathtoolでワンタイムパスワードを生成する
TOTPの仕組みを簡単に説明すると,
図1 QRコードとテキストでシークレットが提供されているFacebookの二要素認証の設定画面。通常はGoogle AuthenticatorのカメラでQRコードを読み込むが,
「oathtool」
oathtoolパッケージのインストール
$ sudo apt install oathtool
以下のようにoathtoolコマンドの引数にシークレットを与えて実行すると,
Google Authenticator同様の6桁のワンタイムパスワードを生成する例
$ oathtool --totp -d 6 --time-step-size=30s --base32 (base32のシークレット文字列)
「--totp」
「-d 6」
「--time-step-size=30s」
端末からいちいちパスワードをコピーするのは面倒ですので,
生成したワンタイムパスワードをクリップボードにコピーする
$ oathtool --totp --base32 (base32のシークレット文字列) | xclip -sel c
「次」のパスワードを表示するには
ワンタイムパスワードは30秒ごとに切り替わるため,
oathtoolでは
複数個のワンタイムパスワードを連続して生成する例
$ oathtool --totp -w 3 --base32 (base32のシークレット文字列) 123456 789123 112233 445566