全志科技
直播中

徐磊

7年用户 921经验值
私信 关注
[问答]

如何在安全OS端实现RSA私钥的生成与存储功能呢

  • 客户希望在安全OS端实现如下功能:
    • RSA私钥的生成与存储;
    • 公钥的提取(指定私钥,提取对应的公钥)
    • 指定信息的签名;对非安全OS传入的信息进行签名后,返回签名结果;
    • 信息的加密、解密;对传入的信息进行加密、解密等操作,并返回结果;
    想咨询一下当前tina optee是否支持openssl库,如果不支持openssl库,如何实现上述功能。
    首先optee不支持openssl库,但是有其他替代方案。
    GlobalPlatform API
    OPTEE实现了《GPD_TEE_Internal_Core_API_Specification》这一套API,提供了对称加密、非对称加密、签名、提取密钥等操作。
    mbedtls库
    mbedtls是为嵌入式设备而开发的一个TLS协议的轻量级实现,虽然是为嵌入式设备而开发,但它也能被用于其他各种平台,因此也常常被用作OpenSSL的一个轻量级替代。Tina SDK中optee-3.7.0中已经支持。

回帖(2)

李兵

2021-12-29 13:59:30
解决办法
GlobalPlatform API
密钥生成API:
TEE_GenerateKey
密钥提取API:
TEE_GetObjectBufferAttribute
签名验证API:
TEE_AsymmetricSignDigest
TEE_AsymmetricVerifyDigest
加解密API:
TEE_CipherInit
TEE_CipherUpdate
TEE_CipherDoFinal
TEE_AsymmetricEncrypt
TEE_AsymmetricDecrypt
可参考Linaro Security Working Group提供的例子,https://github.com/linaro-swg/optee_examples
mbedtls库
mbedtls算是比较常用的库,可参考官方API文档:https://tls.mbed.org/api/
本文提供了一个rsa例子,如附件0003-optee-add-optee-mbedtls-rsa-demo.patch
0003-optee-add-optee-mbedtls-rsa-demo.patch
举报

肖风迎

2021-12-29 13:59:30
1
举报

更多回帖

发帖
×
20
完善资料,
赚取积分