2013年5月19日日曜日

YubiKey の設定 (Personalization Tool)


設定については、購入直後の設定を上書きする内容が含まれているため、自己責任でお願いします!

インストールした YubiKey Personalization Tool を起動した後、YubiKey を1枚接続すると、私の環境ではアプリの右側に次のように表示されました。

これを見ると、YubiKey の大体の状況が把握できます。

現在 Slot1 と Slot2 に設定がされている
ファームウェアのバージョンが 2.3.3
シリアル番号
サポートしている機能の一覧

Ndef に×マークが付いていますが、これは NFC データ交換フォーマット (NDEF : NFC Data Exchange Format) と推測されますので、NFC 対応の YubiKey NEO なんかだと有効になるのでしょうね。

ちょうど2つの YubiKey を持っているので、2つ同時に接続した状態でどうなるか試してみましたが、この場合、接続していない状態として扱われます。片方だけ認識されるわけではないため、問題は起こりにくいと言えるでしょう。無難な作りになっていますね。






ちなみに、Personalization Tool ではなく、旧来の Configuration Utility で YubiKey を調べる場合は次の手順になります。
起動後 Testing the Yubikey から
Check the Yubikey type and firmware version を選択
これで接続中の YubiKey の状態を確認できます。

その結果イメージがこちら


Configuration Utility だと「Yubikey type: Yubikey 2」というのがあり、Yubikey の種類がいくつかある事が推測されますが、私は Personalization Tool の方が、解りやすく感じます。


さて、具体的に設定を変えてみることにしましょう。

Yubico から購入したばかりの私の YubiKey は Slot1 に Yubico OTP が設定され、Slot2 には、Challenge-Response (HMAC-SHA1) が設定されていました。


そこで、Slot2 の認証設定を具体的な何かに変えてみる事にしましょう。
題材としては、YubiKey で google 検索した際に、日本語の情報としてヒットした以下

YubicoのYubikeyでRFC 4226のカウンターベースワンタイムパスワード(HOTP)をテスト
https://www.evernote.com/shard/s18/sh/a7706004-b2db-4d9d-a206-c89244e52bda/56130dc8438b885d783502be6c7158bc

この内容を、Configuration Utility ではなく、Personalization Tool で Slot2 に割り当ててみることにします。

Personalization Tool の上部メニューから OATH-HOTP を選択、[Advanced] ボタンを押下します。
対象の Slot は Configuration Slot 2 を選択
複数の YubiKey に設定はしないので、Program Multiple Yubikeys はチェックしない
設定の保護も特に行わないため、unprotected - Keep it that way を選択

OATH-HOTP Parameters
OATH Token Identifier は付けないためチェックしない
HOTP Length: 6 Digits
Moving Factor Seed: Fixed zero
Secret Key: 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30

これで [Write Configuration] ボタンを押下すると即座に Slot2 の設定が上書きされます。


それでは、実際に使って確認してみましょう。

YubiKey の Slot2 の設定を使うときはタッチセンサーに2~8秒触れて、指を離した時に利用されるようです。指を離すのが早いと Slot1 が使われてしまいます。

しっかりと触れてから離すと

755224
287082
359152
969429
338314

と順番に RFC 4226 で示されているテストケースの値が出ているので、意図した設定ができているのが確認できました。


基本的には他のタイプの認証も同じように上部のメニューから選んで内容を決めて Write Configuration で YubiKey に書き込みする。という流れで設定出来ます。
特殊なのは、Settings と Tools のメニューでしょうか?

Settings メニューは、YubiKey の全ての認証設定に共通した細かい設定が行えます。PC にキー入力する際、最後に改行を含めるとか、タブを含める等の挙動を変えることもできますが、注意すべき点として、Settings の内容を変えただけではダメで、Slot に認証設定を上書きしなければ、Settings の内容が適切に反映されることはありません。

開発や運用などで確認する際に便利かもしれないのが、Logging Settings でしょう。これは YubiKey 自体の利用ログではなく、Personalization Tool で実施した設定操作に対するログです。具体的には Log configuration output にチェックを付け、適切なログ出力ファイルを設定した後、各 Slot の認証設定を再度行えばログファイルが吐かれているはずです。

先ほど Slot2 に設定した HOTP を再度設定してログをみてみると解ると思うのですが、秘密鍵もログに吐かれるため設定した内容が正しいかどうかや、運用上で適切に設定が行われていることを確認する際は便利かもしれません。ただし、YubiKey のシリアルは出力されないため、複数の YubiKey で検証する必要がある場合に使うには不便でしょう。

普段はログが吐かれないため、実運用のレベルでは大きな問題にはなりにくいと思われますが、開発/設定と利用を同一端末で併用する場合は、ログファイルから秘密鍵が漏れる可能性を排除するために、ログファイルは削除しておく。あるいは使わないのが非常に手堅い運用と言えるでしょう。ログを見ることが無いのであれば、普段からログに関するチェックを外しておくべきと言えます。

Tools メニューでは、Delete Configuration を使って、Slot の認証設定を削除して未定義にできます。Challenge Response の確認や、NFC の挙動も変えられるみたいですね。Challenge Response の確認で、指定した Slot に対して Challenge Response が設定されているかどうか?や、HMAC-SHA1 と Yubico OTP どちらが設定されているのか?を判定することも可能です。購入直後の Slot2 の種別はこれで判定しました。

他にも細かい設定は多々あるようですが、とりあえず、Protection 絡みは厄介そうなイメージがあったので、まだ触れていません。基本的には間違って設定しても、あとから上書き設定すればなんとかなる感じでしょうか?


ちなみに、設定をしている際にあった不可解な現象として、各 Slot の認証設定をいろいろ変えていると、タッチセンサーに触れても、キー入力が行われない状況が極稀に発生していました。一旦 YubiKey を抜いて、再接続すると何事も無く意図した動きをしていたので、開発などで試行錯誤するような連続して設定を変えるような状況においては、このような事が起こる可能性もある。ということを踏まえておくべきかもしれません。


次回は、タッチセンサーの挙動について書こうと思います。

0 件のコメント:

コメントを投稿