我希望签署APK 文件,其中包含存储在我的Yubikey 的 OpenPGP小程序中的OpenPGP密钥。
我知道,有一个solution for APK signing using Yubikey's PIV applet。但是,PIV applet只能处理密钥长度最多为2048位的RSA密钥。
BSI TR-02102-1 Cryptographic Mechanisms Technical Guidelines(翻译英文版)指出,从2023年起(或在2023年及之后的使用中),仅允许密钥长度大于或等于3000位的RSA密钥。第一个可用的标准密钥长度为3072位。我必须遵守 BSI TR-02102 。
这总结为要求,我必须使用3072位的密钥长度和RSA作为算法,我不能使用PIV APK唱歌方法。
有没有办法使用Yubikey 4的OpenPGP小程序使用标准程序或使用自定义程序对APK文件进行签名?
注意:私钥是在Yubikey上生成的,不可导出。这是由于Yubikey的设计和我的最低安全要求。因此,出口和对话不是一种可能的解决方案。
答案 0 :(得分:0)
使用支持RSA 3072 4096的USB令牌或智能卡进行个人身份验证吗?甚至Yubikey 5都不支持PIV / FIPS 201-2(这是SmartCard仿真)。我已经搜索了一段时间,但似乎几乎没有任何硬件可以支持它(以防它甚至适用);我可以找到的替代方法是RSA SecurID,Nitrokey Pro 2和Gemalto IDBridge K50。
使用APK签名v2或v3,上传密钥的强度甚至可能无关紧要……它表示支持RSA 1024, RSA 2048, RSA 4096, RSA 8192, RSA 16384
,但没有说明实际的释放键具有什么强度,这将是其中相当有趣的部分。 V3SchemeSigner提示PKCS1 V1.5编码格式;但是找出的唯一方法是通过运行ssh-keygen -lf ./rsa_key.pub
(从Play商店中检查包的公共密钥)(其中显示了公共密钥文件的指纹,还显示了密钥的强度)。 / p>
security.stackexchange.com可能会提供进一步的线索。