YubiKeyとセキュリティキーの違い|どれを買うか迷う人へ

ガジェット

※この記事にはプロモーションが含まれます

YubiKey 5C NFC・Security Key C NFC・YubiKey C Bio Seriesなど主要4モデルを比較。FIDO2・OTP・PIVの違い、AWS CLIでのMFA運用、ファームウェア、選び方のポイントまで、実際の利用シーンに基づいた解説です。

AWSを触っているとMFAの話は避けて通れません。スマホの認証アプリ以外の選択肢として物理キーが気になり、YubiKeyのラインナップを調べてみました。調べ始めると型番が多くて、「5C NFC」と「Security Key C NFC」の違いすら最初はよくわからなかったです。自分用の整理メモですが、同じところで迷っている人の役に立てばうれしいです。

※ファームウェアの仕様などは、執筆時点(2026年10月)で確認できた範囲の情報です。購入前にYubico公式の製品ページも確認してください。

この記事でわかること

  • YubiKey 5シリーズ・Security Keyシリーズ・Bioシリーズの違い
  • 代表的な4モデルの特徴と、どんな人に向いているか
  • FIDO2だけで足りるのか、OTPやPIVまで必要なのかの考え方
  • ポート形状、パスキーの保存数、予備キーなど、選ぶときに見ておきたいポイント

YubiKey主要4モデルの比較表

モデル名 主な違い 向いている人
YubiKey 5C NFC USB-C+NFC。FIDO2/U2Fに加えてOTP・OATH(TOTP)・PIV・OpenPGPにも対応した全部入り 1本で何でもこなしたい人。開発者やAWSのCLIも使う人
YubiKey 5C Nano 機能は5シリーズと同じ。USB-Cポートに挿しっぱなしにできる極小サイズで、NFCには非対応 特定のPCで使い続けたい人。抜き差しが面倒な人
Security Key C NFC by Yubico USB-C+NFC。FIDO2/U2F専用で、OTP・PIV・OpenPGPには非対応 Webサービスのパスキーと2段階認証だけ使えればいい人。初めての1本
YubiKey C Bio Series 指紋センサーを内蔵し、PINの代わりに指紋で認証できる。NFCには非対応 PIN入力を減らしたい人。机の上のPCでの利用が中心の人

表ではUSB-Cモデルを中心に並べましたが、ほとんどのモデルにUSB-A版もあります(YubiKey 5 NFC、Security Key NFCなど)。名前に「C」が付くかどうかがUSB-Cかどうかの目印、とざっくり覚えておくと迷いにくいです。

各モデルの特徴

YubiKey 5C NFC

YubiKeyと聞いて多くの人が思い浮かべるのがこのモデルかなと思います。5シリーズはFIDO2/WebAuthn、FIDO U2F、Yubico OTP、OATH-TOTP/HOTP、PIV(スマートカード)、OpenPGP、チャレンジレスポンスに対応していて、Yubicoのラインナップの中では一番多機能です。

NFCがあるので、スマホの背面に当てるだけで認証できます。レビューでは「PCではUSB、スマホではかざすだけ、という使い分けができるのが便利」という声をよく見かけます。

自分の環境だとMacBook Air(M2)がUSB-Cポートしかないので、選ぶならC系になりそうです。普段はAnkerのUSB-Cハブにモニターなどをつないでいますが、ハブ経由でも普通のUSBデバイスとして認識されるはずなので、そこは気にしなくてよさそうです。

YubiKey 5C Nano

中身は5シリーズなので、機能は5C NFCとほぼ同じです。違いは形で、ポートに挿すとほとんど出っ張らないくらい小さく、挿しっぱなし運用が前提のモデルです。

ただ、挿しっぱなしだとノートPCごと盗まれた場合にキーも一緒に持っていかれます。もちろんFIDO2はPINやタッチが必要なので即アウトではないですが、「持ち歩ける」という物理キーのメリットは少し薄れます。NFCもないので、スマホでの認証には別のキーが必要です。メインはNanoで固定、予備兼スマホ用にNFCモデル、という2本構成を紹介している人もいて、個人的にはこれが一番スマートな気がしています。

Security Key C NFC by Yubico

青いボディ(ブラック版もあります)でおなじみのモデルです。対応しているのはFIDO2とU2Fだけで、OTPやPIV、OpenPGPは使えません。

正直、最初は「機能が少ない下位版」と思っていたんですが、調べていくと、Webサービスのログイン用途ならこれで十分な人がかなり多そうです。Google、Microsoft、GitHub、AWSのマネジメントコンソールなど、主要なサービスはFIDO2/パスキーで登録できます。5シリーズとの価格差もそれなりにあるので、最初の1本、あるいは予備用として選ぶのもアリだと思います。

ファームウェア5.7以降のSecurity Keyシリーズは、パスキーの保存数も5シリーズと同じ最大100件に増えています。パスキー目的で使う分には、5シリーズとの差はほとんどないはずです。

YubiKey C Bio Series

指紋センサーを内蔵したモデルです。FIDO2/U2F専用の「FIDO Edition」と、PIV(スマートカード)にも対応した「Multi-protocol Edition」の2種類があります。名前がそっくりなので、買う前にどちらなのかはちゃんと確認したほうがよさそうです。

PINの代わりに指紋で認証できるのが一番の売りです。レビューでは「毎回PINを打たなくていいのが楽」という評価が多い一方で、「指紋の登録は最初に少し手間がかかる」という声も見かけました。NFCには対応していないので、スマホでの利用はあまり考えられていないようです。

そういえば、YubiKeyの「Yubi」は日本語の「指」から来ているらしいです。指紋モデルがあるのはちょっと出来すぎな気もします。

5シリーズとSecurity Keyシリーズ、結局どっちを選ぶか

一番迷うのはここだと思います。自分なりに整理すると、判断のポイントは「FIDO2以外の機能を使うかどうか」です。

  • OATH-TOTP:Google Authenticatorのような6桁コードの秘密鍵をキーの中に保存できる(Yubico Authenticatorアプリで表示する)
  • PIV:スマートカードとして使える。SSH鍵やWindowsのサインインなど
  • OpenPGP:GPG鍵を入れてGitのコミット署名などに使える
  • Yubico OTP:タッチすると長いワンタイムパスワードを入力してくれる、昔からある方式

AWSを使っている人だと、OATH-TOTPに対応しているかどうかが意外と効いてきそうです。マネジメントコンソールのMFAにはFIDOセキュリティキーを登録できますが、AWS CLIで sts get-session-token を使ってMFA付きの一時認証情報を取るときは、FIDOキーではなくTOTP系のMFAが必要とされているようです。5シリーズならTOTPの秘密鍵をキーの中に保存しておけるので、CLI用のMFAコードもYubiKeyから出せます。Security Keyシリーズでは、それができません。

ちなみに、TOTPの仕組み自体はかなりシンプルで、共有の秘密鍵と現在時刻からHMACを計算しているだけです。RFC 6238のテストベクタで確かめてみました。

import hmac, hashlib, struct

def totp(secret: bytes, unix_time: int, step: int = 30, digits: int = 6) -> str:
    counter = unix_time // step
    mac = hmac.new(secret, struct.pack(">Q", counter), hashlib.sha1).digest()
    offset = mac[-1] & 0x0F  # ここ注意: 末尾バイトの下位4bit
    code = struct.unpack(">I", mac[offset:offset + 4])[0] & 0x7FFFFFFF
    return str(code % 10**digits).zfill(digits)

secret = b"12345678901234567890"
for t in (59, 1111111109, 2000000000):
    print(t, totp(secret, t), totp(secret, t, digits=8))

実際に実行した結果
▲実際にこのブログの裏側で実行してみた結果です

8桁の結果(94287082、07081804、69279037)がRFCに載っている値と一致すれば正解です。YubiKeyのOATH機能は、この秘密鍵をキーの外に出さずに内部で計算してくれます。スマホの認証アプリだと秘密鍵はスマホの中にあるので、機種変更のときの移行が面倒だったりします。その点、キーに入れておけば移行の手間はかなり減りそうです。

キーの中身はCLIからも確認できます。YubiKey Manager(ykman)はPython製なので、自分のようなPythonメインの人間にはちょっと親近感があります。

brew install ykman
ykman info
ykman fido credentials list
ykman oath accounts list

ykman info を実行するとファームウェアのバージョンや有効になっているアプリケーションが表示されるので、手元のキーが何に対応しているかすぐに確認できます。

選ぶ前に知っておきたいポイント

ファームウェアはアップデートできない

これは知らなかったので驚きました。YubiKeyはセキュリティ上の理由で、ファームウェアを後から更新できません。パスキーの保存数が最大100件に増えたのも、TOTPの保存数が64件になったのも、少なくともドキュメント上はファームウェア5.7.4時点で「FIDO2は最大100件」「OATHは64 seeds」に増えた扱いになっています。それより前のバージョンのキーだと、パスキーは25件までになります。中古品や古い在庫を買うのは避けたほうがよさそうです。

購入前に公式情報を確認して、新しいバージョンのキーを選ぶことをおすすめします。

パスキーの保存数は「無制限」ではない

従来の2段階認証(U2F的な使い方)ではキーに情報を保存しないので、登録できるサービス数に上限はありません。一方、パスキー(discoverable credential)はキーの中に保存されるので、上限があります。100件あれば個人用途ではまず足りないことはなさそうですが、仕組みとしてそういう違いがある、というのは覚えておいて損はないです。

ポートとNFCは自分の端末で決める

MacがUSB-CでiPhoneもUSB-Cなら、USB-C+NFCモデルがどちらにも対応できて無難そうです。最近のiPhoneはUSB-Cなので、ポート形状の互換性を意識して選ぶのが大切です。

キーは2本用意するのが基本

どのレビューや解説記事でも必ず言われているのがこれです。キーを1本しか登録していないと、なくしたときにログインできなくなります。AWSのIAMユーザーにはMFAデバイスを複数(最大8つ)登録できるので、メインと予備の2本を登録しておくのがよさそうです。予備まで5シリーズにすると出費が大きいので、片方をSecurity Keyにするのも現実的な選択肢だと思います。ただ、その場合は予備のキーでTOTPを使えないので、CLI用のMFAをどうするかは別途考える必要があります。ここはまだ自分の中でもベストな構成が決まっていません。

まとめ

  • Webのログインとパスキーだけなら、Security Key C NFC(またはUSB-A版)で十分
  • TOTP・SSH・GPG署名までまとめたいなら、YubiKey 5シリーズ(持ち歩くならNFC、挿しっぱなしならNano)
  • PINの入力を減らしたいならBio。ただしPIVが必要ならMulti-protocol Editionを選ぶ
  • ファームウェアは更新できないので、新しいバージョンかどうかを確認し、予備を含めて2本用意する

自分の場合は、AWS CLIのMFAもまとめたいので5C NFCを軸にする方向で考えています。予備をSecurity Keyにするか、もう1本5シリーズにするかはまだ迷い中です。

タイトルとURLをコピーしました