Closed bridge-y closed 10 months ago
自分の場合、以下の用途で使いそう。
セキュリティキー
2要素認証のセキュリティキーとして使う。
GPG 鍵の保存
PC には鍵を保存しないことで、盗まれた場合のリスクを下げる。
保存した GPG 鍵は、Git の署名などに使う。
drduh/YubiKey-Guide: Guide to using YubiKey for GPG and SSH
YubiKeyの編集をする
$ gpg --edit-card
使えるコマンドを見る
はじめは使えるコマンドはほとんどありません
gpg/card> help
adminモードに入る
adminモードでは管理系のコマンドが使えるようになります
gpg/card> admin
もう一度使えるコマンドを見る
adminモードに入ったので使えるコマンドが増えます
gpg/card> help
KDF 有効化
gpg/card> kdf-setup
# 管理者PINを入力する。
PINの変更
gpg/card> passwd
gpg: OpenPGPカードno. XXXXXを検出
1 - change PIN
2 - unblock PIN
3 - change Admin PIN
4 - set the Reset Code
Q - quit
あなたの選択は? 1
PIN changed.
1 - change PIN
2 - unblock PIN
3 - change Admin PIN
4 - set the Reset Code
Q - quit
あなたの選択は? 3
PIN changed.
1 - change PIN
2 - unblock PIN
3 - change Admin PIN
4 - set the Reset Code
Q - quit
あなたの選択は? q
PIN試行回数の変更
ykman openpgp access set-retries 5 5 5
鍵の転送
gpg --edit-key <KEYID>
gpg> key 1
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb* ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
gpg> keytocard
鍵を保管する場所を選択してください:
(1) 署名鍵
(3) 認証鍵
あなたの選択は? 1
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb* ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
gpg> key 1
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
gpg> key 2
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb* cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
gpg> keytocard
鍵を保管する場所を選択してください:
(2) 暗号化鍵
あなたの選択は? 2
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb* cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
gpg> key 2
sec ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: 無期限 利用法: C
信用: 究極 有効性: 究極
ssb ed25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: S
ssb cv25519/<KEYID>
作成: <CREATEDDATE> 有効期限: <EXPIRESDATE> 利用法: E
# save すると転送した鍵が削除される
gpg> save
タッチポリシーの設定
デフォルトではタッチOffになっているため、On または Cached に変更する。
以下は Cached に変更するコマンド。
ykman openpgp keys set-touch aut cached
ykman openpgp keys set-touch sig cached
ykman openpgp keys set-touch enc cached
Android の K-9 Mail + OpenKeychain で、SimpleLogin で暗号化したメールを読み取ってみた。
SimpleLogin | Open source anonymous email service
結果:
読み取りに成功。ただし、暗号化したメールにアクセスするたびに NFC で Yubikey をタッチすることを求められた。
利便性の観点から、SimpleLogin の PGP encription にはYubikey に入れた鍵を使わないほうがよさそう。
以下を参考に各サイトに Yubikey を登録していった。
パスワード管理/MFA管理の戦略 | Web Scratch
Yubikey を登録するサイトの候補は、既に TOTP を設定しているサイトとした。
これらのサイトの洗い出しには、Bitwarden のモバイルアプリを利用した。
→ 私は TOTP を Vaultwarden (Bitwarden の Rust実装) で管理しており、Bitwarden のモバイルアプリでは TOTP を一覧表示できる機能がある。
軽く調べてみたところ、家の鍵や車の鍵などと一緒にキーリングにつけて持ち運ぶ方法が出てきた。
この方法は私には合わないので、他の方法を検討した。
出先で Yubikey が必要になる機会はあまりないかもしれないが。
クレジットカードサイズの Yubikey ホルダーに入れ、カードウォレットに入れて持ち運ぶ。
MagSafe でスマホにくっつけたかった。
ただ運ぶだけなら、カードウォレットとクレジットカード型の Yubikey ホルダーのみでよい。
背景
Cloudflare のキャンペーンで購入した Yubikey が 2 つある。
できることや設定方法を調査してから、どう活用するか考えたい。