YubiKey(セキュリティキー)導入にあたってのメモ
最近の160億件のパスワード流出ニュース、Zoomでディープフェイクを用いて友人だと思い込ませマルウェアのリンクを踏ませる事例等を耳にし、またパスワードマネージャーの乗り換え検討の時期であったこともきっかけになり、遅ればせながらパスキーを導入しようと思い立ちました。
セキュリティキーとは?
ではなぜ、ハードウェアであるYubiKeyを選んだのか?このQiita記事内のツリー図が分かりやすいのですが、パスキーの運用には大きく3パターンほどあります。
1つ目がデバイス本体に秘密鍵を紐づけるやり方
(おそらくこれがFIDO認証の原型?最も基本的なやり方と思われる)2つ目がiCloudキーチェーンや1Passwordなどのクラウド同期サービスに秘密鍵を紐づけるやり方
3つ目がYubiKeyのような外部ハード(セキュリティキー)に秘密鍵を紐づけるやり方
当然ながら、複数端末で同じ秘密鍵をシームレスに扱える(=端末ごとにいちいち設定しなくていい)2つ目の運用方法が主流となっているようですが、私はこれを選びたくありませんでした。
最新の暗号化やセキュアな手法が使われていて安全性は相応に高いのでしょうが、とはいえローカルからクラウドにデータを出すということは、その途中経路で何らかの脆弱性を突いた攻撃を受けるリスクが生じることを意味します。
加えて、特定のアカウントに同期紐付けをすると、そのアカウントにアクセスできなくなったとき・乗っ取られたときなどに、秘密鍵も同時に失ってしまうからです。
1年前に突然のスマホ故障を経験してリスク分散の大切さを痛感した私には(あと分散性や自己主権が重視される暗号資産が好きというのも多少は手伝っている)、パスワードもパスキー(の秘密鍵)も二要素認証コードもすべてGoogleやAppleの単一アカウントにリンクさせるなんて発想はもはやありえません。
かといって、デバイス本体に紐づけるとパソコンとスマホで別々の設定が必要で手間だし、端末の故障・紛失リスクの巻き添えにもなる。もちろんYubiKeyだって紛失リスクはありますが、大事なのは「すべて同時に失わない」ということです。どんなに安全だと言われているサービスでも ‘絶対’ はありませんから。適度な分散が今の私には重要なテーマとなっています。
YubiKeyの注意点
セキュリティキーを検討する上でいくつか気づいた点があるので残しておくことにします。
まずなぜYubiKeyを選んだかですが、業界最大手で名だたる企業での採用事例も豊富であること、指紋認証に対応したシリーズ展開もあること、幅広い規格に対応していそうだったこと、などが理由として挙げられます。
YubiKey(Bio) とAndroidは相性が悪い
パスキーは3つある認証要素(知識・所有・生体)のうち、所有認証と他のどれかを組み合わせる手法です。物理的に所持する都合上、万が一落としたり盗まれたりした際に、簡単に使われてしまうと意味がない、というかむしろセキュリティホールを生み出していることになります。
そうシミュレーションした際に、盗み見られるとアウトなPINよりは指紋認証でロックをしておきたいと考えていました。
※「YubiKey Bio」というシリーズが指紋認証に対応している。
ところが・・自分と同じように考えているAndroidユーザは要注意です。
現状、Androidは外部認証器の高度な動作(指紋認証やPIN認証)に対応できないケースが多いらしいのです。
ネットのユーザ体験検索やGeminiでのリサーチ、YubiKey公式サイトの閲覧など色々やってみましたが、今の私のデバイス環境下ではAndroidとMacの両方で使えないと不便なため、いったん初手はYubiKey Bioを避けることにしました。
▼ YubiKey BioとCTAP2.1とAndroid15の互換性に関するGemini回答
https://g.co/gemini/share/63c97b4cfae7
またPINに関しても、Android上では初期設定だけできないのか、初期設定も設定後の毎回のPIN認証も両方できないのかなど、実際に使ってみないとなんとも言えないところが多いです。
現時点ではパスキーと従来型パスワードを併用できるサービスが多いことと、またFIDO U2F(パスワードを入れた後の2段階目としてセキュリティキーを用いる方法?)等の下位の認証方式もあるっぽいので、Androidがうんともすんともいかなくても最悪なんとかなるかなと思っています。
ファームウェアのバージョンに注意せよ
もう1つドキッとしたのがこれです、YubiKeyを注文するときのファームウェア(Firmware)のバージョン。
YubiKeyについて調べていたときに関連ニュースが出てきたのですが、どうやら 5.7.0 より前のバージョンには脆弱性が残っているらしいのです。攻撃するには高度な知識や機器が必要とのことなので、一般人がすぐに狙われることはなさそうですが、とはいえ脆弱性があると分かっているYubiKeyを使い続けるのは気が引けますよね。
なので、最新のファームウェアが組み込まれたYubiKeyを買いたいところなのですが、なんと落とし穴が。
私もこのAmazonレビューを読んでいなかったら、気づかずにポチっていました。
2024/10/16にファームウェアが5.7のものが来るだろうと期待して購入したら5.4.3でした。
ファームウェアの違いでパッケージが変わるわけでもなく、販売者さんに罪はないのですが、、、、、
ファームウェアのバージョンが保証されている販売者さんか、販売者さんに聞いたほうが良いです。
過去に購入したことがあるので物はいいのは間違いないです。ただファームウェアがなあ。
レビューに書かれている通り、YubiKeyには外側からファームウェアを区別できるような表示がありません。製造元のYubico社が提供する「YubiKey Verification」が(おそらく)唯一確実にファームウェアを確認する手段であると思われます。
私がザッと調べてみた限り、以下のように大手ECサイトは全滅でした。現状では、Yubico公式サイトか国内公式再販会社であるソフト技研さんから購入するのがベターと思われます。
【ファームウェアが明記されていないサイト】
Amazon、楽天、モノタロウ
【ファームウェアが明記されているサイト】
Yubico公式ストア、ソフト技研ショップサイト
※ 脆弱性の発覚から時間が経っておりファームウェア更新も進んでいることが予想されますが、一度出荷したYubiKeyの回収対応等は行なっていないようなので、EC各社が抱えた古い在庫の中に旧ファームウェア製品が紛れている可能性は否定できません。
なお、サイトリンクが不安な方は、Yubico公式ストアの製品ページ内やカートから進んだページにもソフト技研さんのリンクが掲載されているので、そこから確認してみてください。(以下参考画像)
ちなみに私も念のため届いたYubiKeyをチェックしましたが、ちゃんと 5.7.0 よりも新しいバージョンになっていました!
秘密鍵の保存容量(スロット数)も一応気にしてみる
YubiKeyはハードウェアのため保存できる秘密鍵にも上限があるようです。あまり表立って書かれていない情報なので見つけづらいですが、たしかどこかに20か30くらいのスロットがあると記載されていた気がします。
今はまだパスキー対応しているサービス自体が少ないので問題にはならないものの、今後パスキーの普及が進むとスロット数が重要になってくるかもしれません。
ちなみに、事前リサーチをしているときに気になる記述を見つけました。
CTAP2.1PREやCTAP2.1をサポートしているハードウェア認証デバイスであれば、内部に保存されている鍵を更新したり削除したりすることが可能ですが、CTAP2.0仕様のハードウェア認証デバイスの場合は一度保存した鍵を変更・削除することが不可能です。
そのため、誤った鍵を保存してしまった場合には、その鍵のスペースを諦めるか、デバイス全体をリセットすることになりますが、デバイス全体をリセットした場合にはマスターキーが変更されてしまい、そのデバイスに紐付いていた全ての認証情報が機能しなくなります。
2023年7月の記事なので少し古い情報ではありますが、一度使用したスロットが永久欠番になってしまうのはわりと困ります。
ただ、Yubico Product Documentationから「YubiKey Technical Manual」を開くと、一応それらしき記述がありました。さすがに秘密鍵の削除ができないということはなさそうですね。
Any YubiKey with firmware 5.2.1 and higher supports viewing and deleting individual discoverable credentials (also known as Passkeys) that are stored on the YubiKey
使ってみる中でまた気がついたことがあったら、追記などするかもしれません。
'25/07/15 最終更新



コメント