• RT600之PUF


    PUF是恩智浦LPC Niobe4,RT600新推出的功能。它是一个带SRAM用于管理秘钥的硬件模块。
    目的是为了让秘钥更加安全

    • 具体内容如下:

      1. PUF简介
      2. 如何使用PUF

    PUF简介

    • 传统的MCU,如果加密一段数据,需要将对应的解密key存放到固定的位置。解密的时候,调用该key进行数据的解密。传统的方式有个弊端,就是hake可以获取到key,不能保证加密数据的安全性。
    • 恩智浦新推出的LPC系列的芯片(Niobe4,RT600)增加了PUF模块。用于对秘钥的保护管理。使用这个模块,我们存放到固定位置的不是明文key,而是经过PUF处理后的key-store。

    -如下是PUF的对key的处理

    • key store的结构图(RT600)

    PUF使用(Niobe4)

    • 生成key store

      1. Enroll生成activation code
        blhost.exe -p com25 -- key-provisioning enroll
      2. set-key生成key store
        blhost.exe -p com25 -- key-provisioning set_key 7 16
        生成prince region0的key store
        blhost.exe -p com25 -- key-provisioning set_key 8 16
        生成prince region1的key store
        blhost.exe -p com25 -- key-provisioning set_key 9 16
        生成prince region2的key store
        blhost.exe -p com25 -- key-provisioning set_user_key 3 sbkek.bin
        根据提供的sbkek.bin生成sb kek key store
      3. get-key读取生成的key store
        blhost.exe -p com25 -- key-provisioning read_key_store key_store.bin
        将生成的key store读取出来。前1200 bytes是header(0x95959595)+diascardtime+activation code,后面跟着的就是key store(header(0x59595959)+key code)
    • key store的使用

      1. 将生成的key store存到固定的位置
        blhost.exe -p com25 -- key-provisioning write_key_store key_store2.bin
        blhost.exe -p com25 -- key-provisioning write_key_nonvolatile 0
        执行完命令后,我们会发现key store已经写入FFR key store中
      2. ROM启动时,会自动调用key store,re-construct出key。对数据进行解密
        如果activation code存在于key store中,ROM启动时会init PUF,否则不init。
        在activation存在的前提下,如果存在key code。则根据不同的key code,ROM有如下动作:
        • SBKEK key code,只有使用了receive-sb-file命令后,PUF对SBKEK key code解密。然后执行
        • Prince key code,只要存在,ROM立即解密
        • UDS key code,只有secure boot的时候才会执行
  • 相关阅读:
    spring3: Bean的命名与Bean的实例化
    极客软件测试52讲总结分享
    如何有效地搭建测试环境?
    用xshell 连接docker Linux服务器
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
    jenkins 关联 钉钉机器人
    Jenkins pipeline 语法详解
    jenkins 添加 证书凭证Credentials
    项目中使用的S2SH整合中使用的struts.xml(参考模板)
  • 原文地址:https://www.cnblogs.com/richard-xiong/p/9908849.html
Copyright © 2020-2023  润新知