搜索
bottom↓
回复: 20

像SWD这种公开协议的烧录过程加密是否有意义

[复制链接]

出0入0汤圆

发表于 2023-8-19 11:51:03 | 显示全部楼层 |阅读模式
看到有的脱机烧录器有次数限制,还有用平台直接发布程序给用户自己烧录,为了防止程序泄露,通常在传输过程中进行加密,防止从SWD线上读取有效内容。

但是如果破解者有能力从SWD线上读取并分晰协议得到代码,那么根据SWD的公开协议,模拟一个目标芯片,不就可以得到最终代码了吗?不管过程怎么加密,最后都要把最终的代码写到FLASH的。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2023-8-19 13:07:34 | 显示全部楼层
modbus 发表于 2023-8-19 12:31
有这能力的人都去干专职破解者了,开盖、去UID不是挣的更多
(引用自4楼)

开盖门槛高了,写个目标协议是纯软件,而且一个模拟器就可以通用所有的加密传输。

我只是想印证一下我的看法,这些加密传输真的就这么容易破吗?那些脱机烧录器应该不会这么简单吧,是不是我没理解其中的原理。

像STC的加密传输,我认为是有比较高的门槛的,首先下载协议是不公开的,无法模拟目标,加密传输是先在芯片里写了解密密码,但是SWD协议是完全公开的,加密和解密都是实时进行的,这样模拟目标就能得到最终写入Flash的内容,应该是这样吧?

出0入0汤圆

 楼主| 发表于 2023-8-19 13:42:25 | 显示全部楼层
liandao 发表于 2023-8-19 13:21
你可以得到每一次写入flash的完整内容,但如果每次写入的内容都是不一样,且写入这片子的内容复制到另外 ...
(引用自6楼)

我觉得这是两个加密:

一个是目标程序本身的加密,比如对比唯一ID等手段让FLASH的内容复制到另一片也不能工作。

另一个是烧录器在传输中的加密,防止在烧录过程中代码泄露,目前讨论的是这种加密传输的情况,烧录器应该不会修改程序功能加上验证ID,只是在传输过程通过唯一ID加密传输的代码,最终写入FLASH的代码是解密过的,得到这份代码应该相当于开盖拿到的代码,至于第一种在程序中有加密功能的代码,即使是开盖拿到,也是一样工作不了,需要二次反汇编解密等,这个先不讨论。

出0入0汤圆

 楼主| 发表于 2023-8-19 14:33:14 | 显示全部楼层
LL00 发表于 2023-8-19 14:04
如果先把烧录代码传到SRAM里,通过SRAM里的程序来下载,那么SWD就可以传输加密的数据了 ...
(引用自8楼)

烧录器与SRAM之间无论怎么加密,最终SRAM需要解出代码写到FLASH中,如果模拟一个目标芯片,是不是就能得到最终写到FLASH中的代码,能力有限,不知模拟目标芯片难度怎么样。或者说让目标芯片成为一个不能读保护的芯片,这样烧录完就能直接从flash中读出代码,烧写时的加密等于被绕过了。

出0入0汤圆

 楼主| 发表于 2023-8-20 06:38:10 | 显示全部楼层
t3486784401 发表于 2023-8-19 17:29
SWD 相当于传输层,加密设计思路之一,就是在不安全的传输层上(例如可被监听)实现点对点安全的传输(即使 ...
(引用自14楼)

加密在传输过程中我相信是很难解的,我本来认为高手能用软件模拟单片机,烧录器让我做什么我就做什么,让我写进FLASH的内容就是解密过的。不过后来想想要软件模拟单片机难度应该比较大,所以加密传输还是比较有用的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 08:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表