如何使用OpenPGP(Yubikey)对应用程序包(APK)进行签名?

2022-09-01 03:22:44

我想用存储在Yubikey的OpenPGP小程序中的OpenPGP密钥APK文件进行签名

我知道,有一个使用Yubikey的PIV小程序进行APK签名的解决方案。但是,PIV 小程序只能处理密钥长度高达 2048 位的 RSA 密钥。

BSI TR-02102-1 加密机制技术指南(英文译本)规定,从 2023 年起(或 2023 年及以后使用),仅允许密钥长度大于或等于 3000 位的 RSA 密钥。第一个可用的标准密钥长度为 3072 位。我必须符合 BSI TR-02102 标准

这总结了要求,我必须使用3072位作为密钥长度和RSA作为算法,并且我不能使用PIV APK唱歌方法。

有没有办法使用Yubikey 4的OpenPGP小程序通过标准过程或使用自定义过程对APK文件进行签名?

注意:私钥是在 Yubikey 上生成的,不可导出。这是由于Yubikey的设计以及我的最低安全要求。因此,导出和对话不是一个可能的解决方案。


答案 1

使用 USB 令牌或支持 RSA 3072 4096 的智能卡进行个人身份验证?甚至Yubikey 5也不支持PIV / FIPS 201-2(这是一种智能卡仿真)。我已经搜索了一段时间,但似乎几乎没有任何硬件支持它(以防万一它甚至适用);我能找到的替代品是RSA SecurIDNitrokey Pro 2金雅拓IDBridge K50

随着APK签署v2v3上传密钥的强度甚至可能没有那么重要......它说正在得到支持,但它没有说实际的发布密钥将具有哪种强度,这将是它相当有趣的部分。V3SchemeSigner提示PKCS1 V1.5编码格式;但是找出答案的唯一方法是通过运行(显示公钥文件的指纹,其中还显示密钥的强度)从Play商店检查软件包的公钥。RSA 1024, RSA 2048, RSA 4096, RSA 8192, RSA 16384ssh-keygen -lf ./rsa_key.pub

security.stackexchange.com 可能会提供进一步的线索。


答案 2

推荐