zoukankan      html  css  js  c++  java
  • RT600之master key

    上一篇我们讲到了PUF,PUF的目的是为了让key更加安全。
    RT600除了支持PUF外,还推出了master key的方案。简单来说,就是对存储到固定地址的key,进行AES的加密运算,经过运算后的key才能解密数据。实质上就是对key的再加密,hake即便获取了存储的key,但是无法知晓key的加密运算法则,因此无法解密数据。

    几种key的处理:

    • HMAC SHA256 key128
      存储在fuse中的master key经过如下的算法,得到的key对image header计算得到HMAC.
      AES256(MASTERKEY256, 00000000_00000000_00000000_00000000)
    • Encrypted boot image key256:
      maser key经过如下的算法,得到的key用于image的加解密
      AES256(MASTERKEY256, 01000000_00000000_00000000_00000000_02000000_00000000_00000000_00000000)
    • SB2 KEK key or FW update Key
      master key经过如下的运算,用于SB的加解密
      AES256(MASTERKEY256,03000000_00000000_00000000_00000000_04000000_00000000_00000000_00000000)
    • OTFAD KEK128(supports both per device AES key and pre shared AES key)
      OTFAD key 跟 master经过如下算法,得到OTFAD kek,用于key blob的解密
      AES256 ENCRYPT(MASTERKEY256, OTFAD_key[127:0] fuse);
  • 相关阅读:
    Google 的开源技术protobuf 简介与例子(转)
    set 学习笔记
    map 学习笔记
    网络编程-socket学习笔记
    POSIX线程_学习笔记
    shell 脚本练习
    vector 学习笔记
    用archlinux作为日常开发机的感受
    python中获取上一个月一号的方法
    golang在linux下的开发环境部署[未完]
  • 原文地址:https://www.cnblogs.com/richard-xiong/p/9908863.html
Copyright © 2011-2022 走看看