OpenPGPを使用せずにYubikeyを使用して単一のファイルを暗号化する方法はありますか?
私はSSHログインと個々のファイル暗号化(パスワード保存)にYubikeyを使用します。 YubikeyはCCIDモードでのみ実行されます(現在OTPまたはU2Fを使用していません)。すべてのタスクには物理プレゼンステストが必要です。
これまで私はYubikeyをOpenPGPスマートカードとしても使用してきました。
gpg-agent --enable-ssh-support
SSHサポートのため。- gnupg.vimプラグインファイルを暗号化するために使用されます。
GnuPG は不正で信頼できず、スクリプトを書くのは難しいです。このモードでYubikeyの使用を中止したいです。
NIST PIVスマートカードで構成された別のYubikeyがあります。私はOpenSSHのPKCS11サポートと一般的なSSHエージェントを使用しています。これはgpgツールよりはるかに安定していますが、個々のファイル暗号化はサポートされていません。。
私が知っている限り、PIVスマートカードを使用した単一ファイル暗号化にはいくつかの可能なオプションがあります。
- 一種の
ssh-agent
+vim
ハッキング? - PKCS11に基づくシームレスなファイル暗号化ツールはありますか?
- ファイルを暗号化するためにyubikeyの他のスロットの1つ(OpenSCまたは一部のlibccidエントリ)を使用しますか?
- Yubikeyと直接通信するオープンソースパスワードマネージャーはありますか?
答え1
以下は、次のプロセスを自動化するために作成したPythonスクリプトです。
暗号化するには、ssh-agentの有線プロトコル(参照)RFCドラフト詳細はこちら)を使用すると、秘密鍵で任意のデータに署名できます。
- 任意の数字を選択してください
- SSH-agent署名が必要
- 署名を使用した対称鍵の派生
- 対称鍵を使用したデータの暗号化
- 乱数と暗号化されたデータ(対称鍵を除く)をディスクに保存する
そして解読します:
- ディスクからの乱数と暗号化されたデータの再読み込み
- ssh-agentへの乱数署名の要求
- 署名を使用して、データ暗号化に使用されたものと同じ対称鍵を派生します。
- データを復号化!