跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. 32B11H在MCAL环境下串口代码升级与数据加密

32B11H在MCAL环境下串口代码升级与数据加密

已定时 已固定 已锁定 已移动 YTM32B1H系列
2 帖子 2 发布者 89 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yxydoctorY 离开
    yxydoctorY 离开
    yxydoctor
    写于 最后由 编辑
    #1

    本想在借助官方Secure Boot实现代码升级与加密,但Secure Boot没完全看懂,似乎是能实现,又似乎只能实现一部分功能。

    整个过程细分为4部分;
    1 - 加密固件;
    2 - 二级BOOT固件;
    3 - 用户App;
    4 - 上位机;

    1-加密固件:
    加密固件配合上位机,实现密钥写入,加密,密文写Flash等功能。其中:密钥写入,加解密算法移植于Crypto模块例程,密文写Flash为Fls模块。

    加密/解密对象为数据而非代码;由上位机发送明文,32B11H进行加密后写入一个密码扇区,写入的为密文而非明文。该密码扇区主要包括数据为:
    1 - 以2048个随机数为基础数据,这些数据无物理意义;
    2 - 产品出厂时的装订,校调数据;这些数据App中一定会用到;
    3 - 用户自行设置的加密/解密数据;这些数据允许破解,直接跳转;

    加密固件与二级BOOT固件占用相同的Flash地址空间;通过JTAG进行烧录。在密钥,密码数据写入Flash无误后,相同Flash地址空间写入二级BOOT固件,加密固件被清除。

    2 - 二级BOOT固件:
    二级BOOT固件的作用主要是负责通过串口与上位机进行数据交互,完成App固件的烧录。二级BOOT固件不涉及加密/解密操作。如果需要密码确认,也只会涉及到解密操作,不会涉及密钥写入,数据加密操作。

    3 - 用户App:
    用户App由二级BOOT进行串口烧录,App代码中会涉及到多处的密码认证和确认。因为有些数据属于工程量,破解时候这些数据是绕不开的。

    同样:APP固件也不会涉及密钥写入和加密操作。

    展望:
    如果上位机也能够实现同样的加密过程,则提供给现场人员或客户的的App升级固件也可以是密文,二级BOOT在解密为明文后,再写入对应的Flash地址。不过感觉含义不是很大。

    破解难点:
    1 - 出厂后的MCU是不含加密固件的,密钥和加密过程属于无固件可破解。
    2 - 写入密码区的数据基本以随机数为主,加密后写入flash。数据无规律可循。
    3 - 密码包括App固件所需的工程变量,不允许直接跳转。
    4 - 二级BOOT固件和App固件不包括加密环节,也规避了对密码扇区的误擦除和误写入。

    1 条回复 最后回复
    0
    • xianghanX 离线
      xianghanX 离线
      xianghan YunTu
      写于 最后由 编辑
      #2

      32B11H 下载到flash的需要是明文,不支持密文写入。

      1 条回复 最后回复
      0

    • 云途论坛规则/Yuntu Forum Rules

      发帖前请查看

    • YCT离线License申请流程

      帮助没办法联网的电脑使用YCT

    • YT CONFIG TOOL调查问卷

      帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

    • demo
      12
      can
      9
      lin stack
      6
      yt-link
      5
      vscode
      3
      adc模块
      2
      i2c
      2
      uuid
      2
      Online Users
      yt0069Y
      yt0069
      yxydoctorY
      yxydoctor
      SoJiHongS
      SoJiHong
      • 登录

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门