[开发工具] 【PW200烧录器评测】+离线授权加密

[复制链接]
1489|3
 楼主| 呐咯密密 发表于 2020-7-2 16:45 | 显示全部楼层 |阅读模式
Powerwriter我最看重的就是超级加倍,错了,超级加密。软件支持在线授权、离线授权和IcwKey授权三种加密方式。但是目前只支持离线授权。
965545efd9d6300922.png
其他的两种即将发布,但是还没发布,憨憨技术在线发呆:
906005efd9d7927429.png
这里测评离线授权加密。
一、打开powerwriter软件,选择芯片,选择UID加密设置,选择加密模式为内置离线授权。秘钥地址可以根据编译器自动生成,也可以固定(编译器会从芯片的flash最后给出,可能导致空间不够放置密钥),可使用软件读取Program Memory查看FLASH的空位固定密钥地址。步奏参看下图。
716655efd9d93740e7.png
845695efd9db03016d.png
629435efd9dc073fe3.png
二、生成Matrix编码
80525efd9de65d70f.png
导出源码后记得保存,导出的源码是一个完整的工程,这里我们只需要两个文件,cortex_chipid_binding.ccortex_chipid_binding.h文件。将这两个文件包含进自己的需要加密的项目中。
313965efd9df47f95a.png
在需要加密的部分进行如下操作,我是全部加密,不通过验证,所有代码功能都不执行。
main.c中包含cortex_chipid_binding.h头文件。
762355efd9e014c408.png
主函数中进行UID验证,验证通过才执行循环里面的代码,否则主循环代码不执行。如果别人通过读取你的flash直接烧录到新的芯片中,代码不会执行。
677355efd9e10228cf.png
到此可以直接编译下载到芯片中,烧录时注意将powerwriter断开连接。此时代码不运行。我的代码是串口数据返回,收到数据会返回数据。此时无数据返回。
511555efd9e1c2cfbd.png
此时回到powerwriter,切换到Program Memory选项卡,添加之前的keil工程的HEX文件,之后应用固件。
406975efd9e3ce9c4f.png
三、编程加密。
此时点击执行-智能自动编程,会自动编译加密文件并烧录进芯片。如果选择保存并离线加载,软件会把所有的数据配置好之后 作为一个package 加载到Power Writer。断开与软件的连接,就可以当做离线烧录器使用了。美滋滋。小量产品直接离线烧录,爽翻天。
704145efd9e5940030.png
此时运行代码,代码可以运行。
382515efd9e6493290.png
此时切换到Program Memory选项卡,读取当前页,然后保存为bin文件,烧录到其他芯片,程序不起作用,达到加密目的。
913365efd9e72d6543.png
至此,powerwriter离线加密就测试结束,整个布置过程很简单,但是我第一次做的时候一头雾水,感觉好难。理解做完之后过程相当简单,在产品量产前对程序进行加密,一次设置可以离线烧录,非常方便。当然,因为手头设备和本人技术限制,具体加密程度本人无法做出判断。但是根据手册的介绍此加密会大大提高**的难度和成本,提高代码安全。在线授权和IcwKey授权的加密方式会更加安全。但是创芯工坊还未发布,坐等秃头程序员熬夜发布再做后续测评。

评论

"安全"无止境 。。。。PowerWriter 希望为保护程序开发者权益出一份力!  发表于 2020-7-2 20:50
饭伤胃 发表于 2020-7-2 19:10 | 显示全部楼层
棒棒哒
gygp 发表于 2020-7-2 22:17 | 显示全部楼层
        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

568

主题

4087

帖子

56

粉丝
快速回复 在线客服 返回列表 返回顶部