工具与软件:
您好、TI 专家
我已经 使用 MCU SDK 作为参考将 SA2_UL 模块的 PKA 驱动程序移植到我们的软件平台、但我在尝试访问 SA2_UL_EIP_29T2寄存器时遇到崩溃。 您能否提供有关如何配置 AM6442以正常访问 SA2_UL_EIP_29T2寄存器以及 SA2_UL 模块中的任何其他寄存器的指导? MCU SDK 的版本为10.00。
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.
您好!
PKA 引擎仅保留用于系统固件、不可用于此处所述的常规用途:
此致、
Prashant
您好!
您能解释在 saul_access 链接中"主要"和"其他"是什么意思吗?
这些实例指的是 SA2UL 实例。 AM64x 中只有一个 SA2UL 实例(主)、其 PKA 引擎为系统固件保留。
有一种方法可以使用 PKA 引擎、但这需要执行此处所述的安全移交。
https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/security_handover.html
以下是 AM64x MCU+ SDK 中的 PKA 示例的工作原理。
在 MCU+ SDK 的缺省引导流程中、安全切换被请求为自复位序列的一部分:
此致、
Prashant
您好、Prashant
根据此处的"https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/security_handover.html""说明、我在 u-boot 源码中找到了一个配置文件"sec-cfg.yaml"。 我要访问 A53内核0上的 PKA 引擎、 因此、我将"sec-cfg.yaml"文件中"sec_transmit_cfg_cfg"下对应于"transfer_msg_sender"和"transfer_to_host_id"的参数从0修改为0x0A。 如下图所示:

我不知道这些修改是否会生效?
修改了上面提到的参数后、我在 u-boot 中的文件"driver/firmware/ti_sci.c"中添加了一个新函数"ti_sci_cmd_trigger_sec_coverly"、如下图所示:


我在"arch/arm/mach-k3/common.c"文件中添加了一个新函数"TRIGGER_SECURITY_TRANSFORT"、该函数用于调用函数"ti_sci_cmd_trigger_sec_accumulation"。

然后、我在"arch/arm/mach-k3/am642_init.c"文件中的 board_init_f 函数返回前、向函数"trigger_security_failover"添加了调用。在 EVM 板上运行它后、系统会提示以下错误:

您好!
不支持针对 U-Boot/Linux 引导流程的安全切换、因为这并不是为了与安全切换一起工作。
虽然安全交付可能允许您访问 PKA 引擎、但还有其他重大影响。 SYSFW 在安全移交后放弃了安全服务。 这意味着对于以下所有 TISCI SEC 消息、SYSFW 将返回 NACK。
https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/index.html#secure-management
在 U-Boot/Linux 引导流程中的不同位置需要这些消息、例如 OTPEE 使用 FWL 消息来配置所需的防火墙。 如果安全切换完成、这些消息将被 SYSFW 拒绝、从而导致启动失败。
此致、
Prashant
您好!
安全切换在 PSDK 中不受支持、所以我们不能进行测试并相应地提供任何补丁来启用这一功能。
如果有用、SYSFW 会提供 TISCI_MSG_PROC_AUTH_BOOT API 来对与 HSSE 器件上的活动编程密钥签名的二进制进行身份验证。
Linux 中还提供了用于各种加密操作的 OpenSSL、如下所述:
此致、
Prashant
您好!
我们的要求 是在 Linux 中或在 AM6442 (HS)上的其他 RTOS 中实施基于 RSA 加密和解密的 PKA。 这意味着无法在 Linux 中实现此函数。 对吗? 如果无法从根本上实现此功能、我们将不得不修改实施计划。 请告诉我们情况是否属实。
、在官员提供的固件中、 安全切换处理是否在内核 R5上执行? 我不确定我的理解是否正确? 在不考虑操作系统的情况下、如果我需要将安全性移交给 A53的内核0、那么在内核 R5的代码中实施安全性移交处理是否是必需的?
谢谢
Kuiyong Liu
Prashant、您好!
一些供您参考的问题背景:
由于客户需要将 SA2_UL 驱动程序从 MCU+ SDK 迁移到他们在 A53上自己的 RTOS、因此他们提出了上述问题。
1) 1)在 Linux 中使用 OpenSSL 的方式不容易将源代码迁移到自己的 RTOS、此处需要简单的低级驱动程序参考代码。
2) 2) 驱动程序"example_drivers_SA2UL_PKA_RSA_sign_verife.html"基于 R5 (而不是 A53)、需要的是在 A53上使用 PKA。
你有什么建议吗?
谢谢
Thomas
您有任何建议吗?
客户可使用 MCU+ SDK 在 A53内核上启动其 RTOS。
另外、还有许多开源加密库、可以集成以执行不同的加密操作(包括 RSA 加密和解密)。
本计划不适合我们、因为有许多相关更改。
那么唯一可行的选择就是利用开源库。
即使从 U-Boot 的安全切换成功、引导流程中的后续阶段不能如之前描述的那样请求任何 TISCI SEC 消息。 如果确实如此、SYSFW 将为导致引导失败的请求返回 NACK。