在Android中,有一种方法可以知道密钥对的公钥是否在TEE内生成,并因此具有硬件支持 (https://source.android.com/security/keystore/attestation)。 我找不到在iOS中实现此功能的方法。 有人知道是否有方法吗?
在Android中,有一种方法可以知道密钥对的公钥是否在TEE内生成,并因此具有硬件支持 (https://source.android.com/security/keystore/attestation)。 我找不到在iOS中实现此功能的方法。 有人知道是否有方法吗?
DCAppAttestService
。
https://developer.apple.com/documentation/devicecheck/dcappattestservice
注意:与此同时,我的答案已经过时。请参考Tolga Okur在2020年6月23日之前的答案。出于历史目的,我不会删除它。
我不知道有直接类似的可能性,但如果您的应用程序存在于未越狱的设备上,您可以创建密钥并将其存储在iOS设备的安全区域内,确保它们被安全地存储且无法被破解。请注意,您只能存储256位椭圆曲线私钥。然后,您可以通过秘密密钥获取公钥,例如通过SecKeyCopyPublicKey
。
TrailOfBits创建了一个示例项目,您可以在其中查找更多与安全区域API的交互。
安全区域本身受到安全引导链的保护,以确保其单独的软件已由Apple验证和签名。 请参阅:https://www.apple.com/business/docs/iOS_Security_Guide.pdf