This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [常见问题解答] AM62x 上 OPTEE 中密钥撤销的 SYSFW API

Guru**** 2455360 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487308/faq-sysfw-api-on-key-revoke-in-optee-on-am62x

器件型号:AM625

工具与软件:

SYSFW/TIFS 支持通过 TISCI API TISCI_MSG_WRITE_KEYREV 撤销密钥使用案例。
https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/otp_revision.html#dual-signed-certificate-for-writing-keyrev
https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/otp_revision.html#sec-api-wr-keyrev-otp

常见问题解答列出了如何通过在 ARM TZ A53上运行的安全 OPTEE 调用 TISCI API TISCI_MSG_WRITE_KEYREV。
这里提供了一个有关如何从 R5内核调用 API 的配套常见问题解答
https://e2e.ti.com/support/processors-group/processors/f/791/t/1202686

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1/. 0001-add-opte-TISCI-key-revoke-test-code.patch:使用 OPTEE 4.0标签作为基准的 OPTEE 驱动程序补丁。
    https://git.ti.com/cgit/optee/ti-optee-os/commit/?h=4.0.0
    - OPTEE 驱动程序通过直接从 OPTEE 初始化函数调用在补丁中进行健全性测试,在真实的 OTA 更新用例中,它应该由 TA/PTA/Linux 调用。
    -在密钥撤销时调用 TIFS API 需要由系统 OTA 更新过程触发,该过程还会同时提示闪存中的固件更新(签名为 BMPK)。
    -有关如何生成修补程序中使用的双签名证书"Dual_cert_keyrev.h"、请参阅配套的常见问题解答

    2/. 为 AM62x SoC 添加了附加的 OPTEE 补丁、
    对于 AM64x SoC、下面列出了一项线路更改、因为与 AM62x 相比、AM64x 具有不同的 SRAM 存储器映射。

    - #define SRAM_SCRATCH_BASE 0x43C3B000
    + #define SRAM_SCRATCH_BASE 0x701A0000

    3/. AM62x-SK 电路板(HS-SE)上的示例测试日志

    I/TC: >>>> ti_sci_set_keyrev() unit test start
    I/TC: req.value = 0x00000002  
    I/TC: req.cert_addr_lo = 0x43C3B000  
    I/TC: req.cert_addr_hi = 0x00000000  
    I/TC: req.hdr.type = 0x9035  
    I/TC: req.hdr.host = 0xB  
    I/TC: req.hdr.seq = 0x4  
    I/TC: req.hdr.flags = 0x2  
    I/TC: resp.hdr.type = 0x9035  
    I/TC: resp.hdr.host = 0xB  
    I/TC: resp.hdr.seq = 0x4  
    I/TC: resp.hdr.flags = 0x2  
    I/TC: >>>> ti_sci_set_keyrev() return success!!!

    e2e.ti.com/.../0001_2D00_add_2D00_optee_2D00_TISCI_2D00_key_2D00_revoke_2D00_test_2D00_code.patch