YubiKey
YubiKeyについて
https://scrapbox.io/files/6381a63c29d95f001d162ea9.png
YubiKeyはYubicoが出しているハードウェア認証デバイス。この小さなデバイスで様々な形式の認証が可能。
YubiKeyにも色々な種類があるが、一番汎用性が高いのはYubiKey 5 NFC。OpenPGPやPIV、FIDO U2F/FIDO2、OATH-TOTPなどに対応している。それぞれ有効/無効を設定できるので必要なものだけ有効化することも出来る。
: みんな大好きPGP鍵。OpenPGP SmartCardという規格に対応しているため、YubiKey上に秘密鍵を保管でき、YubiKey上で署名や暗号化が出来る。
: アメリカ連邦政府で使用されるスマートカードの規格。PIV対応のソフト/ハードで認証や署名に使用することが出来る。RSA/ECC鍵を保存できるため、SSH秘密鍵保管庫としても使用できる。 GnuPGの機能を使用すればOpenPGPのスロットに入っている鍵をSSH秘密鍵として使用することも出来るが、こちらは複数のスロットが使用でき、スロットに応じてPINの要求頻度が変わるのが利点。NFCからのアクセスも出来る。
: Webで使用できるWebAuthnが有名。NFCアクセスが可能。***
: 時間に基づいたOTPの規格。Google Authenticatorが有名。大抵のWebサービスのOTPはこの実装を使用している。YubiKeyには時計が付いていないため、デバイス側に専用アプリをインストールすることでOTPを計算することが出来る。NFCアクセスが可能。
また、YubiKeyには2つのOTPスロットがあり、それぞれに異なる方式のOTPを設定できる。また、NFCに対応しているメソッドならNFCからもOTPスロットにアクセス可能。ただしアクセス出来るスロットは1つのみ(どちらにするかは設定可能)。
: Yubico独自のOTP。初めは単押しスロットにこちらが設定されている。YubiCloudや独自の検証サーバで検証可能。NFCアクセスも可能。
: HMACを使用したカウンタに基づいたOTPの規格。OATH-TOTPに比べるとかなり知名度が低い。基本的にTOTPの方が強固なのでどちらも使える状況ならTOTPを使おう。NFCアクセス可能。 Static Password
: 事前に設定したパスワード(文字列)が入力されるだけのシンプルなもの(OTPではない)。YubiKeyは物理的に刺すとキーボードのフリをするのでそれを使用している。他に比べると脆弱だが、どんな場面でも使用できるのが魅力。自分で覚えたパスワードを入力した後にStatic Passwordを使用することによって、パスワードだけの認証システムでも簡易的な2要素認証が可能。NFCアクセス不可(厳密にはStatic Passwordの読み出しは出来るが、UTF-8/ASCII形式ではなくHID形式で読み出される)。
: ホストの「チャレンジ」からYubiKey側の「レスポンス」を返す認証形式(一般的には逆の形式が多い)。SSHの認証などで使われる。使用できるアルゴリズムはHMAC-SHA1とYubico OTP。NFCアクセス不可。
各種機能解説