web-dev-qa-db-ja.com

OpenPGP(Yubikey)を使用してアプリケーションパッケージ(APK)に署名するにはどうすればよいですか?

APKに署名 OpenPGPキーを含むファイルをYubikeyのOpenPGPアプレット内に保存したい。

YubikeyのPIVアプレットを使用したAPK署名のソリューション があることは承知しています。ただし、PIVアプレットは、キー長が2048ビットまでのRSAキーしか処理できません。

BSI TR-02102-1暗号化メカニズム技術ガイドライン (英語版の翻訳)では、2023年以降(または2023以降の使用の場合)、キーの長さが大きいまたは3000ビットに等しいものが許可されます。最初に使用可能な標準キーの長さは3072ビットになります。 BSI TR-02102に準拠する必要があります。

これは、キーの長さに3072ビットを使用し、アルゴリズムとしてRSAを使用する必要があり、PIVAPKシンギングアプローチを使用できないという要件に要約されます。

Yubikey 4のOpenPGPアプレットを使用して、標準の手順またはカスタムの手順を使用してAPKファイルに署名する方法はありますか?

:秘密鍵はYubikeyで生成され、エクスポートできません。これは、Yubikeyの設計と、私の最小セキュリティ要件によるものです。したがって、エクスポートと会話は可能な解決策ではありません。

40
burnersk

RSAをサポートするUSB​​トークンまたはスマートカードを使用する 3072 個人の身元確認のために4096? Yubikey 5 でさえPIV/ FIPS 201-2 (SmartCardエミュレーション)のサポートをサポートしていません。しばらく検索しましたが、それをサポートするハードウェアはまだほとんどないようです(適用可能な場合)。私が見つけた代替案は、 RSA SecurIDNitrokey Pro 2 および Gemalto IDBridge K5 でした。

APK署名 v2 または v の場合、アップロードキーの強度はそれでも問題にならない可能性があります多く...それはRSA 1024, RSA 2048, RSA 4096, RSA 8192, RSA 16384がサポートされていると言っていますが、実際のリリースキーがどの強度を持っているかはどこにも書かれていません。それのかなり興味深い部分。 V3SchemeSigner PKCS1V1.5エンコーディング形式のヒント。ただし、確認する唯一の方法は、ssh-keygen -lf ./rsa_key.pub(公開鍵ファイルのフィンガープリントを表示し、鍵の強度も表示します)を実行して、Playストアからパッケージの公開鍵を確認することです。

security.stackexchange.com さらに手がかりが得られる可能性があります。

1
Martin Zeitler