Navigation

    全志在线开发者论坛

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

    关于CE模块AES算法key的问题

    A Series
    3
    6
    2444
    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.
    • M
      mengxp LV 5 last edited by mengxp

      有人研究过 使用crypto engine 使用SSK做 AES 加密吗?
      我测试写入SSK "1234567890ABCDEF",然后用这个SSK作为KEY加密一个消息
      再使用输入key "1234567890ABCDEF",加密同样一个消息
      两个结果不一样?why?

      其中输入key的测试是没有问题的,使用标准 test vector测试过,结果没有问题

      难道 CE 在使用SSK加密前对key做了某种黑盒变换吗?

      M 2 Replies Last reply Reply Quote Share 0
      • M
        mengxp LV 5 @mengxp last edited by

        没有人回复下吗,求原厂大神解释一下啊。。。我现在想用SSK作为密钥加密kernel镜像,那么我量产时如何不依赖硬件,在主机上生成kernel镜像啊。

        YuzukiTsuru 1 Reply Last reply Reply Quote Share 0
        • YuzukiTsuru
          柚木 鉉 LV 9 @mengxp last edited by

          @mengxp 建议问FAE(((没玩过这类东西

          1 Reply Last reply Reply Quote Share 0
          • xiaowenge
            DOT小文哥 LV 8 last edited by

            本意是保护kernel镜像不被反编译破解?

            M 1 Reply Last reply Reply Quote Share 0
            • M
              mengxp LV 5 @xiaowenge last edited by

              @xiaowenge 是我想保护kernel不被读出并反编译,同时受保护的ssk密钥也无法读出,防硬件抄板拷贝。我现在只是不明白,ssk密钥在被硬件ce引擎作为aes密钥加解密时,是不是经过了某种处理?

              1 Reply Last reply Reply Quote Share 0
              • M
                mengxp LV 5 @mengxp last edited by

                问题解决了。

                我今天看到了 v833 的 Tina_Linux_Secure_Development_Guide.pdf 文档,里面有 TA 使用 SSK 加密的案例,查看了tina相关的代码,有一个sign.py,看了下,确认了加密引擎确实是使用原始SSK加密的,没有做什么黑盒变换。

                那特么为什么我自己写的bootloader在调用CE使用ssk加密的结果异常呢?

                想来optee肯定有相关的接口,找了下也就是
                #define TEESMC_SSK_ENCRYPT 0
                #define TEESMC_SSK_DECRYPT 3

                由于optee是闭源的,只能拿IDA逆了一下看他是怎么做的。
                发现了一个奇怪的事情,既然CE是使用SSK作为key,那代码里为什么要申请一个 256 字节的keyBuf呢?

                然后我试着在我的bootloader里面,给 task desc 的 key 指向了一个 256 字节的缓冲,果然OK了!!!

                1 Reply Last reply Reply Quote Share 0
                • 1 / 1
                • First post
                  Last post

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

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