Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

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

    其它全志芯片讨论区
    r329 r328 r818 faq 技术支持
    1
    1
    1369
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by

      问题背景

      客户希望在安全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 Reply Last reply Reply Quote Share 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号

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