以前紹介した Yubikey の多要素認証には、Yubico AuthenticatorでのOTPの表示が必要だったため、ソフトウェアのインストールが制限されている環境(特にサーバ環境や Thin Client環境など)など利用ができないケースが有ります。
今回は、OTPの表示機能を備えた一般的なハードウェアトークンで、Azure ADに対応しているToken2のデバイスを利用した多要素認証について紹介します。
Token2のプロダクト群の特徴は、従来型のハードウェアトークン(Classic Token)に加えて書き換え可能トークン(Programmable Token)が有るという点です。また、形状もよく見かけるようなキーホルダー型の物とカード型の物が有ります。 価格も1個あたり €10 ~ €20 程度と比較的リーズナブルです。
今回は、Programmableのうちのカードタイプ miniOTP-1-NB での設定を紹介します。(ちなみにClassicの場合は管理者が出荷時にプリセットされている秘密鍵をAzure ADに登録して利用します。現在プレビューで要Premiumライセンスです)
本体が €19 で日本までの送料が €5 (Priorityの場合、Tracking有りの場合 €11)掛かります。 スイスからの発送で、日本までの到着にかかる期間は1週間~10日程度でした。
クレジットカードや名刺サイズより結構小さいサイズなので、カードケースに入れて持ち運ぶ場合は落ちないよう少し気をつけた方が良いかもしれません。また、OTPは常時表示はされておらず、表示させる場合は右下の電源ボタンを押すと液晶部分に一定時間表示されます。
出荷時にプリセットされている秘密鍵はオーダーの確認画面からたどれるリンクもしくはこちらから入手することができます。その際に必要なのは「Order ID」「Email」「Serial number」、あとは任意で「暗号化用のPGP公開鍵」になります。(フォーマットでAzure MFA用のCSVを指定すれば、UPNさえ変更すればすぐに利用できるので便利です)
余談ですが、Serial numberの欄にenter rangeという欄があり、12345600+50(12345600~12345650まで)などの指定ができるので期待をしていたのですが、10枚まとめて買ってもバラバラのシリアルで来たのでシリアルはカード見ながら1個1個入れないとだめでした。
秘密鍵を書き込むためにNFC対応のAndroidスマートフォンと Token2 Burner App を利用します。このスマートフォンは最初のアクティベートの時以外は利用しません。
追加のセキュリティ設定を開き、[認証アプリまたはトークン] – [Authenticatorアプリの設定]をクリックします。デフォルトで表示されるQRコードではなく[通知をオフにしてアプリを構成]で表示されるQRコードを表示させます。
執筆時のバージョンは自動で付与されないようだったので、Token2 Burnerにアプリの権限でカメラの権限を手動で付与し、アプリを起動、Token2のカードのボタンを押し、NFCで接続ができることを確認した上で、[QR]をクリックしてカメラでQRコードを読み取り、最後にアプリの [burn seed]をクリックします。
成功すると burn seed process succeeded と表示されます。私の環境は接触があまり上手くないのか何度も試してみてようやく書き込んでくれました。画面に表示されているQRコードは特に有効期限無いので、慌てずゆっくり実行して大丈夫です。
最後に、カードに表示されている6桁のOTPをブラウザに入力して登録完了です。
最初の登録の所のみ少し面倒かもしれませんが、一度登録してしまえば後はカード/キーだけ持っていれば良いので、運用自体は楽になります。価格も安いので、スマートフォン禁止の環境で全社員に配るなどの用途には良いかもしれません。(初回書き込み用の環境だけ少し工面してあげる必要があるかもしれませんが)