ソリッドシード株式会社

WordPressで設定する2要素認証(HOTP / TOTP)

2021年3月19日

2要素認証とは

認証の為に2つ要素を要求する方式です。
多要素認証のうち、必要な要素が2つのものを指します。

似ている名称として2段階認証がありますが、こちらは『段階』のみを指している場合があり、
セキュリティ強度が高くないものも含まれる為、注意が必要です。

尚、今回の記事では『知識要素』『所持要素』『生体要素』のうち、
知識要素(ID,パスワード)と所持要素(Google Authenticator)の2要素認証となります。

HOTPとTOTP

よく使用される認証方法にその時しか使用できない『ワンタイムパスワード』がありますが、
そのパスワードの生成方式として有名なのがHOTPとTOTPです。

  • TOTP : Time-based One-Time Password
  • HOTP : HMAC-based One-Time Password

どちらも基本的な仕組みとして、秘密鍵 + 何か を元にハッシュ関数用いてワンタイムパスワードを生成します。
その『何か』が時間(Time-based)なのかログイン試行回数(HMAC-based)なのかの違いです。

トークンソフトウェア

認証時にパスワードを確認する為のパスワード生成器で、
HOTPやTOTPでパスワード生成しブラウザやデバイスで表示させるものです。
ソフトウェアとしてはGoogle Authenticatorが有名です。
Google Authenticatorの場合、Chrome拡張やモバイルアプリなど複数の選択肢が用意されています。

具体的な設定方法

手順としては

1:HOTP/TOTP対応しているWordPressプラグインをインストールする
今回はTwo Factor Authenticationプラグインを利用します。
執筆時点で最終更新日が2週間以内、検証済みWordPressバージョンが5.7であり、レビュー評価も良い為です。

2:Google Authenticatorをインストールする
今回はこのChrome拡張を利用します。
頻用するデバイスを選択すると便利です。

3:プラグインが発行するQRコードをGoogle Authenticatorで読み込み、登録する
管理画面の『Two Factor Auth』をクリックすると以下の画面が表示されます。
QRコード部分をGoogle Authenticatorで取り込み、完了。

です。
簡単ですね。

注意点

Google Authenticatorがインストールされたデバイス事体を紛失するとログイン自体が出来なくなります。
その為、バックアップとして設定時に表示されるバックアップコードや、QRコードのキャプチャ等を保存しておく必要があります。
設定とバックアップは両方セットで必ず行いましょう。

投稿者:Komine