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.

[参考译文] DRA821U:DRA821 上运行时的加密和解密

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1658155/dra821u-encryption-and-decryption-from-runtime-on-dra821

器件型号: DRA821U

你好

我有一个问题,关于功能和可用的工具加密(或 blobing)和解密 任意“文件“从运行时.

为了提供更多的背景信息、让我们想象一下以下场景:

  • 我的 Linux 操作系统收到一个包含新 fitImage 的更新(使用 Linux 内核、专注于使用 Linux 内核的 fitImage、现在我们忘记 abotu tispl)
  • Linux 使用“特殊的 Linux 工具*“、该工具将使用硬件绑定密钥(或配置期间保存在安全存储中的任何密钥)加密新的 fitImage。
  • 重新启动
  • U-boot (假设 U-boot 在 SPL 之后正确运行、因此已在 Cortex-A 上运行)-在加载 fitImage 之前、我们使用“特殊 U-boot 工具*“ 来解密 (deblob) fitImage  
  • U-boot 加载 fitImage

签字人:

  • “特殊 Linux 工具“-我是指任何以安全方式使用硬件绑定密钥(或由用户编程)执行加密/解密操作的 Linux 工具/应用 /任何内容、例如利用 SoC 特定机制/ DMSC / OPTEE /其他  
  • “特殊 U-boot 工具“-我是指任何 U-boot API/shell 命令(例如,我可以想象一些 shell 命令、如 ti_encrypt/ti_decrypt)、这些命令能够利用 SoC 特定机制 / DMSC / OPTEE / othy 来加密/解密任意有效载荷

如果你能 提出 这样的建议、或者你提出任何其他解决办法、使我能够实现我上述所述的目标、我将非常感激。

 

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

    尊敬的 PB:

    虽然 TI 不提供运行时 fitImage 加密/解密的开箱即用解决方案、但我们一定可以指导您完成使用 OP-TEE + TIFS 的方法。

    Linux 加密映像:

    1. 在 Linux 中创建一个符合以下条件的 OP-TEE 用户空间应用程序:
      1.  与在安全环境中运行的可信应用程序 (TA) 进行通信
      2.  将 fitImage 数据发送到 TA 进行加密
    2. 受信任的应用程序使用硬件绑定密钥处理加密:
      1. DKEK(派生密钥加密密钥)-源自设备的唯一加密)
      2. DSMEK(派生二级加密密钥)-备用硬件绑定密钥
    3. 将加密的 fitImage 存储到引导介质(eMMC、SD 卡等)中

    UBOOT 解密映像:  

    1. 在此阶段、OP-TEE 已运行(在引导流程中作为 tispl.bin 的一部分加载)
    2. U-Boot 向受信任的应用程序发出 SMC(安全监视器调用):
      1. 传递加密的 fitImage 位置
      2. TA 使用同一个 DKEK/DSMEK 密钥对其进行解密
      3. 解密的映像返回到 U-Boot

    使用

    此致
    Diwakar