• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32量产时,怎么加密

江湖老李 2020-07-31 浏览量:944

我所了解的加密是将器件ID读出来,经过算法生成密钥,然后每次程序执行,读取ID,也经过算法生成,然后与之前的密钥进行比对。但是这种方法不利于生产,需要做多次烧写。

广大的发烧友们,又没有方便生产,安全到位,不易破解的方式进行stm32的开发。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 批量成产的话,我建议,你们需要一个上位机软件。

    boot程序是一个标准的,通用的程序。电路板生产出来之后,先下载BOOT程序。

    然后使用上位机软件,将标准的应用APP加载进入。


    上位给单片机下载APP固件时,先需要把单片机的UID读出来,然后自动的计算加密,把加密结果替换掉A标准APP固件中的几个字节。合成新的APP固件。下载到单片机即可。

    如果你不知道替换APP固件中的那几个位置,你可以先手动生成2个不同的APP固件,然后比较下就可以了。

    • 发布于 2020-08-01
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 烧写的时候选择选项字里面有加密设置,读id设置是会比较麻烦
    • 发布于2020-07-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 除非你用那种带了硬件加密功能的型号,不然建议还是靠芯片ID产生一个随机码,与程序里面的进行比对
    • 发布于2020-07-31
    • 举报
    • 评论 1
    • 0
    • 0
844e73f479677f91 回复了 chen0000009 :应该可以的。 回复

  • 这个流程是比较标准的流程,只是数据处理过程可能需要专门的写入程序,理论上是可以一次写入的。

    大致是这样

    1. 开发的程序中有 读取自身ID并计算 某个特征值的处理(其实不计算,直接用也是可以的)

    2. 固件中某个固定位置由写入程序直接写入读取到的ID信息或者经其计算的某个特征值

    因为固件中该特征值位置确定,写固件程序可以方便的在读取芯片ID后马上生成并替换位置,然后就可以一次性写入啦。

    • 发布于2020-08-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是使用芯片上的Id,加密后,计算出一个串号,在程序上进行加密的
    • 发布于2020-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接用串口烧写,配置好选项字,禁止读取功能,并关了仿真器功能就可以了
    • 发布于2020-08-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32量产时,怎么加密