导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【FAQ】全志R329Tina中TA下有哪些加解密接口?

    其它全志芯片讨论区
    r329 r328 r818 faq 技术支持
    1
    1
    1432
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • q1215200171
      budbool LV 9 最后由 编辑

      问题背景

      客户希望在安全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中已经支持。

      解决办法

      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

      1 条回复 最后回复 回复 引用 分享 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策