CH32--用芯片的UID给固件加密

发布时间 2023-06-29 20:43:40作者: WCH_CH32

          本文主要介绍怎么利用UID进行固件加密!

 

,CH32系列每个芯片都有唯一的身份标识:        

 ,读取方式:

以8/16/32位进行读访问下面地址都是可以的

 三,利用UID加密

所谓:"道高一尺魔高一丈",只有不断的更新加密技术以增加解密成本或许在一定程度上能够遏制不正规解密行为在,下面就先介绍一下UID的一种

简易加密方案,虽然简易,不过对于一般的小型产品还是能够在一定程度上起到保密效果的。

     实现方法:

      1,芯片外部:

         获取芯片UID-----自定义加密算法-----生成加密数据(密钥)-----保存到芯片内部/外部存储芯片中

       2,芯片内部:

        程序开头读取芯片的UID-----采用同样的加密算法对UID进行运算-----读取保存的数据-----一致则执行用户代码,不一致则清楚固件。

说明:至于1中的实现方式可以通过编写一个上位机来自动生成密钥并保存到芯片存储介质中,至于算法肯定是越复杂越好,同时至于密钥的存储区未使用的部分最好都填充完,以免被解密者利用。

 

注:目前最常用的大致就是上述加密思路,如果觉得简易可以将上面的各个步骤都给加密,同时可采用密钥与密码结合的方式来使固件进一步加密!