はじめに
静的パスワードを管理するYubiKey 5 のSecure Static Password という機能を使ってみたので、使った感想を記録しておきます。
Secure Static Password 機能について
Secure Static Password は、パスワードをYubiKey に登録して、そのパスワードを入力したい位置にカーソルを置いてYubiKey をタッチすると、登録したパスワードが入力されるという機能です。
パスワードは1件しか登録できないので、パスワードマネージャーのように複数のサービスのパスワードを管理できる訳ではないです。
- What is a Secure Static Password? – Yubico
環境
今回、普段使っているパスワードマネージャー1Password のログイン時に入力しているマスターパスワードをYubiKey に登録して使ってみようと思います。
- OS:macOS Monterey
- YubiKey Manager (ver.1.2.4)
- YubiKey 5 NFC
- 1Password (ver.8.7.0)
使い方
1. YubiKeyに静的パスワードを登録
YubiKey Manager を起動してYubiKey をパソコンに挿入し、メニューの[Applications] > [OTP] をクリックします。
YubiKey 5 のOTP にはスロットが2つあり、タッチする時間で使い分けができるようになっています。
- Slot 1:Short Touch(1〜2.5秒)
- Slot 2:Long Touch(3〜5秒)
今回は空のSlot2 を使うのでLong Touch (Slot2) の[Configure] をクリックします。
[Static password] を選択して[Next] をクリックします。
任意の文字列を手入力するか、[Generate] をクリックしてランダムな文字列を生成して登録するパスワードを入力し、[Finish] をクリックします。
- 入力できる文字種は、ModHex 形式とUSキーボードで使われる文字のどちらかを選択することができます。
- デフォルトはModHex形式 で、USキーボードで使われる文字に切り替える場合は、”Allow any character” のチェックをONにします。
- ModHex形式は、全ての言語のキーボードで共通の文字のみ( “c b d e f g h i j k l n r t u v” )で構成され、大文字と小文字の32文字が使えます。
元の画面に戻ると、Long Touch (Slot2) が”This slot is configured” に変わっていました。
- 登録後に[Configure] をクリックした先の画面で登録したパスワードを確認することはできなかった
- パスワードは1つしか登録できないので、再度[Configure] から同じ操作で登録すると上書きされる
2. YubiKeyに登録した静的パスワードを使う
1Password のアプリケーションを起動してYubiKey をパソコンに挿入します。
パスワードの入力欄にカーソルがある状態で、YubiKey を長くタッチすると、登録したパスワードがマスクされた状態で入力され、リーターンキーを押さずにそのままログインすることができました。
間違えて短いタッチをするとSlot1 に設定されているYubico OTP が入力されるので、タッチする長さには気を付ける必要がありそうです。
推奨の使い方
Yubico社が推奨する使い方について
Secure Static Password の機能はパスワードの一部にのみ使うことを推奨すると書かれています。
パスワードの前方部は記憶できる文字列、後方部はYubiKeyに登録する第三者の推測困難な文字列とするという感じです。
使用例は、以下の通りです。
- “Sunny33″を記憶して、”rcltrcihbkkiulnveuenervidliliifv”をYubiKeyに登録し、対象のサービスのパスワードは”Sunny33rcltrcihbkkiulnveuenervidliliifv” で登録する
- 対象のサービスにログインする際に、”Sunny33″を手入力し、続けてYubiKeyをタッチして”rcltrcihbkkiulnveuenervidliliifv” を入力する
万が一、YubiKey が盗まれてもパスワードの一部しか漏洩しないので、不正ログインを防ぐことはできそうですが、公開されている使い方なので、記憶できる部分が推測が容易だと簡単に突破されてしまいそうです。
あとがき
- YubiKey のタッチして文字を入力する仕組み
- YubiKey はパソコンにUSB 接続するとキーボードとして認識され、タッチするとキー入力として信号がパソコンに送られる
- ModHex形式 のパスワードについて
- [Generate] で32桁を生成できるので、ModHex形式で生成した32桁を使うのでもよさそう(32の32乗パターン)
- USキーボードのパスワードについて
- 日本語のJISキーボードのパソコンで使うと、USキーボードと配置が違う記号が登録と異なる記号で入力されるかと思ったけれど、登録と同じ状態で入力された
- 記憶が困難な文字列を登録するのであればUSキーボードで生成するのでもよさそうだけれど、サービス側が許可しない記号が含まれていないようにする必要があるのが若干面倒
- YubiKey の扱いに注意が必要
- キーボードで文字入力中にYubiKey に手が触れると、登録されている文字列がプレーンテキスト状態で入力される
- 無意識にYubiKey に手が触れて登録されている文字列が入力され、入力されたことに気付かないでファイル等を保存するみたいなことも起こりうる
- デフォルトでShort Touch(Slot1) に設定されているYubiKey OTP は、タッチしてYubiKey から出力される文字列はYubiKey のID(12文字) とAES-128の暗号文(32文字) を結合した44桁の文字列なので漏洩しても大して問題ない
- Secure Static Password はタッチしただけで生パスワードが漏洩する。推奨の使い方に従ったとしても、生パスワードの一部が漏洩することになる
- スマホでも使えるか?
- スマホにUSB接続してキーボードとして認識されれば、パソコンと同じように使える
- 手持ちのAndroid 端末(Pixel)では使えた
- 1Password のマスターパスワードで使うことについて
- Touch ID が使えるMac であれば、Touch ID で1Password にログインできるので、普段はマスターパスワードを入力する機会がない
- 1Password のサポートページにマスターパスワードは一意でランダムで記憶できるものにしましょうと書かれているが、凡人には困難
- 第三者に突破されずらいパスワードを扱いやすくすることができるだけでもSecure Static Passwordは使う価値があるのでは?
- How to choose a good 1Password account password – 1Password