搜索
bottom↓
回复: 43

请教ATSHA204A加密IC被破解的难度,谢谢。

[复制链接]

出0入36汤圆

发表于 2022-2-22 15:54:15 | 显示全部楼层 |阅读模式
1、打算用STM32G070+ATSHA204A,做加密防破解。
2、我在淘宝上问了下,说ATSHA204A破解4500块钱。

请教了解的朋友说说这个芯片是不是早已被很容易的就攻破了?谢谢。

出0入0汤圆

发表于 2022-2-22 16:13:54 | 显示全部楼层
我在用这个 IC, 感觉配合 MCU 用,同时也不联网的话,就是聊胜于无的水平
如果 ATSHA204A 本身用的方式正确的话,从 ATSHA204A 这边应该还是不好破解的,但能搞到 MCU 固件的话,改一下跳过检查部分就比较容易了

出0入36汤圆

 楼主| 发表于 2022-2-22 16:29:20 | 显示全部楼层
wudicgi 发表于 2022-2-22 16:13
我在用这个 IC, 感觉配合 MCU 用,同时也不联网的话,就是聊胜于无的水平
如果 ATSHA204A 本身用的方式正确 ...
(引用自2楼)


我通过无线联网,我打算把无线通讯的加密秘钥存到加密芯片里面,拿到程序,拿不到秘钥,还是接入不了网络。

出300入477汤圆

发表于 2022-2-22 16:40:47 | 显示全部楼层
redworlf007 发表于 2022-2-22 16:29
我通过无线联网,我打算把无线通讯的加密秘钥存到加密芯片里面,拿到程序,拿不到秘钥,还是接入不了网络 ...
(引用自3楼)

问题不在这里。
你自己要用这个密钥,总得把它读出来,所以必须用加密芯片里面的可读的存储区,这样你怎么读的别人也怎么读就行。
严格的加密芯片不是这么用的,真正的密钥永远不能离开加密芯片。
用SHA加密芯片的正确用法是加密芯片里面的密钥只在网络端有,单片机自己看不到。它在认证的时候是让加密芯片来做这个计算,然后只把加密芯片算完的SHA结果传给网络端。
网络端有密钥,可以自己也算一遍SHA结果来对比。


出0入0汤圆

发表于 2022-2-22 16:41:19 | 显示全部楼层
redworlf007 发表于 2022-2-22 16:29
我通过无线联网,我打算把无线通讯的加密秘钥存到加密芯片里面,拿到程序,拿不到秘钥,还是接入不了网络 ...
(引用自3楼)


用这个 IC 要联网加密用的话,基本用法是 IC 里先存好根秘钥,
用的时候把云端传来的随机数送给 IC,让它根据这个随机数、IC 里存储的根秘钥和 IC 里自己生成的随机数算出来一个 hash 值
这个 hash 值作为加密使用的会话秘钥 (长度不对可以截短或加填充),把 IC 里自己生成的随机数上报给云端后,云端可以算出来一个一样的 hash 值 (云端自己有存储好的根密钥值),就能正常加密通信了

出0入36汤圆

 楼主| 发表于 2022-2-22 23:53:46 来自手机 | 显示全部楼层
本帖最后由 redworlf007 于 2022-2-23 00:19 编辑
redroof 发表于 2022-2-22 16:40
问题不在这里。
你自己要用这个密钥,总得把它读出来,所以必须用加密芯片里面的可读的存储区,这样你怎 ...

(引用自4楼)


明白你的意思了,单片机上不存密钥,也不读密钥,单片机把一串数据发到加密ic里面,由加密ic计算出一串sha值,然后把原始数据和sha都发送给后台服务器,服务器用密钥,再自己算一遍,看看对不对。

出0入36汤圆

 楼主| 发表于 2022-2-23 00:02:52 来自手机 | 显示全部楼层
本帖最后由 redworlf007 于 2022-2-23 00:12 编辑
wudicgi 发表于 2022-2-22 16:41
用这个 IC 要联网加密用的话,基本用法是 IC 里先存好根秘钥,
用的时候把云端传来的随机数送给 IC,让它 ...

(引用自5楼)


你的意思是,云端先发个随机数给前端,前端用这个随机数+加密ic里的密钥+加密ic里面的随机数,再算出一个sha值作为会话密钥,用会话密钥按照一定的算法加密通讯数据,然后把加密后的通讯数据和加密ic里的随机数上传到云平台,云平台用密钥,再计算出会话密钥,解密通讯数据。

这样的话,每次通信都要云端先发随机数给前端,前端不能主动给云平台发送数据了。

出105入79汤圆

发表于 2022-2-23 02:34:21 | 显示全部楼层
经过你编程的ATSHA2ta04A是唯一的,你的mcu代码多处确认ATSHA2ta04A是来自你出厂就行。mcu程序被读取后跳过判断就无解。

有云服务场景,可以在云端再判断一次后再提供后续云服务。

出0入0汤圆

发表于 2022-2-23 05:06:20 | 显示全部楼层
redworlf007 发表于 2022-2-23 00:02
你的意思是,云端先发个随机数给前端,前端用这个随机数+加密ic里的密钥+加密ic里面的随机数,再算出一个 ...
(引用自7楼)

每次联网后,设备先和云端建立会话,会话建立后就可以一直用这个会话密钥了,不用反复协商
除非自己定义了会话密钥的过期时间

可以用 TCP 长连接维持会话,这样两边都知道对方是谁
或者不用长连接的话,就加个 session id 来标识会话

出300入477汤圆

发表于 2022-2-23 08:22:19 来自手机 | 显示全部楼层
本帖最后由 redroof 于 2022-2-23 08:24 编辑
redworlf007 发表于 2022-2-23 00:02
你的意思是,云端先发个随机数给前端,前端用这个随机数+加密ic里的密钥+加密ic里面的随机数,再算出一个 ...
(引用自7楼)


谁生成这个随机数是无所谓的,只要每次保证不一样并且不可预测就行。https里面是两边各生成一半。只因为你的设备会被破解,云端不会。所以不能只靠设备端生成随机数。设备是个假的每次都给同一个数,怎么办?
设备想主动发数据又没有建好连接,那就设备先发个随机数给云端,加上自己的信息,不加密,请求连接,云端回答一个自己的随机数,双方接下来都用这俩随机数合起来生成后面的通迅密钥就行了呗。

出0入36汤圆

 楼主| 发表于 2022-2-23 08:42:05 来自手机 | 显示全部楼层
wudicgi 发表于 2022-2-23 05:06
每次联网后,设备先和云端建立会话,会话建立后就可以一直用这个会话密钥了,不用反复协商
除非自己定义 ...

(引用自9楼)

我是433和后台通讯的,设备启动后得主动去问后台要随机数。

出0入36汤圆

 楼主| 发表于 2022-2-23 08:44:17 来自手机 | 显示全部楼层
redroof 发表于 2022-2-23 08:22
谁生成这个随机数是无所谓的,只要每次保证不一样并且不可预测就行。https里面是两边各生成一半。只因为 ...
(引用自10楼)

对,我前端和后台是433通讯,后台有互联网。
前端主动发生前,要先问后台要个随机数,来计算会话密钥。

出0入13汤圆

发表于 2022-2-23 08:49:00 | 显示全部楼层
也是一直没搞明白加密芯片的使用方法
看了上面几位的回复后感觉对加密芯片的使用方法顿时清晰了很多

出300入477汤圆

发表于 2022-2-23 08:49:07 来自手机 | 显示全部楼层
本帖最后由 redroof 于 2022-2-23 09:12 编辑
qwe2231695 发表于 2022-2-23 02:34
经过你编程的ATSHA2ta04A是唯一的,你的mcu代码多处确认ATSHA2ta04A是来自你出厂就行。mcu程序被读取后跳过 ...
(引用自8楼)


如果有云端,在正确使用下就无法被有价值的破解。
加密芯片的设计用途就是保管它内部的那个密码,但永远不会直接对外提供它。别人验证它知道密码的办法是给它一些数据叫它加上自己内部密码合起来算SHA,结果对了就证明它有正确密码。
这样在整个传输通道中根本没传输过密码本身。谁也不能截取到。
如果别人破解一个设备里的加密芯片,取得里面的密码,也只对这一个设备有效,另一个设备里的密码应该是不同的,你拿另一个设备照样没办法。
破一个设备花4500但只对你手上这一个设备有效,经济上都是亏的,所以不会人去破它的。杀头的生意有人做,亏本的生意没人做。
没有云端的话,你单片机里检查密码的逻辑是最值得破解的,把检查结果取反就行了,对所有设备都有效。这样别人破一次还是值得的,其实这个时候都不用去破解加密芯片,要改的是你的程序。

出30入0汤圆

发表于 2022-2-23 14:14:04 | 显示全部楼层
redroof 发表于 2022-2-23 08:49
如果有云端,在正确使用下就无法被有价值的破解。
加密芯片的设计用途就是保管它内部的那个密码,但永远 ...
(引用自14楼)

现在单片机固件直接读出来能反向成c或者汇编吗?

出300入477汤圆

发表于 2022-2-23 15:01:56 来自手机 | 显示全部楼层
橙子 发表于 2022-2-23 14:14
现在单片机固件直接读出来能反向成c或者汇编吗?
(引用自15楼)

这是你单片机的问题,和加密芯片无关。
如果能读回不加密的固件,那么汇编是肯定能得到的。

出0入36汤圆

 楼主| 发表于 2022-2-23 15:36:32 来自手机 | 显示全部楼层
本帖最后由 redworlf007 于 2022-2-23 15:37 编辑
redroof 发表于 2022-2-23 08:49
如果有云端,在正确使用下就无法被有价值的破解。
加密芯片的设计用途就是保管它内部的那个密码,但永远 ...

(引用自14楼)


每个加密ic里面放不同的密钥,感觉生产好难做,加密ic是烧录完密钥,再贴片的。
云平台得存好多密钥还得和前端设备对上。

出300入477汤圆

发表于 2022-2-23 15:40:25 | 显示全部楼层
redworlf007 发表于 2022-2-23 15:36
每个加密ic里面放不同的密钥,感觉生产好难做,加密ic是烧录完密钥,再贴片的。
云平台得存好多密钥还得 ...
(引用自17楼)

错。
加密IC是空片贴片的,你自己做测试校准之类的操作的时候顺便烧入唯一密码即可。反正你还得给设备烧入唯一序号。
云端得同时记录每个设备的唯一序号和对应密码。

出0入36汤圆

 楼主| 发表于 2022-2-23 15:55:09 来自手机 | 显示全部楼层
redroof 发表于 2022-2-23 15:40
错。
加密IC是空片贴片的,你自己做测试校准之类的操作的时候顺便烧入唯一密码即可。反正你还得给设备烧 ...

(引用自18楼)

加密ic空片贴,我板子上留烧录测试点?
板子上唯一序列号用的是单片机的唯一id。

出0入29汤圆

发表于 2022-2-23 16:01:42 | 显示全部楼层
STM32G070芯片破解难度比这个大多了,为啥不给这个芯片加密

出300入477汤圆

发表于 2022-2-23 16:05:46 | 显示全部楼层
本帖最后由 redroof 于 2022-2-23 16:08 编辑
sunrn123 发表于 2022-2-23 16:01
STM32G070芯片破解难度比这个大多了,为啥不给这个芯片加密
(引用自20楼)


单片机被人破解一个就永远破解了。
加密芯片你正确使用的情况下(有个不会被破解的云端配合,每个加密芯片里的密码不一样),被破解一个也只能针对这一个设备,所以完全不怕人破解(如果不是用于保护单个价值上万的设备的话,花几千块钱破解一个加密芯片完全是亏钱的)。

出300入477汤圆

发表于 2022-2-23 16:13:01 来自手机 | 显示全部楼层
redworlf007 发表于 2022-2-23 15:55
加密ic空片贴,我板子上留烧录测试点?
板子上唯一序列号用的是单片机的唯一id。 ...

(引用自19楼)

板子肯定得有测试模式啊,随便你怎么做,进了测试模式就可以给板子上的加密芯片写密码了。或者再简单一点第一次上电发现自己的加密芯片是空的就进测试模式,随便用什么通迅方法,反正能跟电脑上你的程序配合来写入密码就行。

出0入36汤圆

 楼主| 发表于 2022-2-23 16:35:11 | 显示全部楼层
sunrn123 发表于 2022-2-23 16:01
STM32G070芯片破解难度比这个大多了,为啥不给这个芯片加密
(引用自20楼)

STM32G070这种用量大的芯片,早晚会被破解。
加密IC的破解难度,比STM32G070的难度大。

STM32G070芯片里面没有安全秘钥区,STM32G071有,但是非常贵。

出0入36汤圆

 楼主| 发表于 2022-2-23 16:35:55 | 显示全部楼层
redroof 发表于 2022-2-23 16:13
板子肯定得有测试模式啊,随便你怎么做,进了测试模式就可以给板子上的加密芯片写密码了。或者再简单一点 ...
(引用自22楼)

我先买个ATSHA204A的开发板试试看,我还没玩过这个片子,不知道咋烧录的。

出0入36汤圆

 楼主| 发表于 2022-2-23 16:50:53 | 显示全部楼层
本帖最后由 redworlf007 于 2022-2-23 16:52 编辑
redroof 发表于 2022-2-23 16:13
板子肯定得有测试模式啊,随便你怎么做,进了测试模式就可以给板子上的加密芯片写密码了。或者再简单一点 ...
(引用自22楼)


你说别人要是不破解加密IC,他直接把我的单片机程序破解了,然后再重新放个单片机上去或者直接用我板子上的单片机,把破解出来的程序改改,烧录进去,借尸还魂,这个咋搞?

出300入477汤圆

发表于 2022-2-23 16:56:20 | 显示全部楼层
本帖最后由 redroof 于 2022-2-23 17:07 编辑
redworlf007 发表于 2022-2-23 16:50
你说别人要是不破解加密IC,他直接把我的单片机程序破解了,然后再重新放个单片机上去,把破解出来的程序 ...
(引用自25楼)


如果你的云端不可破解,那么结果是一样的啊,单片机程序送他也没事。
云端数据库里没有这个加密芯片的序号和密码,这个设备就不能连到你的云端。
其实你连加密芯片都可以没有,只要有个唯一的设备序号就行,单片机程序送给人也没事。
只有你云端认可的设备序号才能用。同一样序号的设备不能同时多个在线。这样别人拷了你的程序加上设备序号也只能上线一个。
他胡编另一个设备序号如果这个序号存在,那么就冲掉了一个已有的设备。别人也会发现。
他胡编一个不存在的设备序号那么云端不认可,没法用。

有加密芯片的好处是别人没法胡编一个加密芯片,破解一个也只能得到这一个的密码,他都造不出第二个来。他手上的第一个在破解的时候已经被破坏了。
其实你用加密芯片那么在云端也应该存储每个设备里面的加密芯片的唯一序号,这样别人就算破解了加密芯片也没意义。
因为他重新买一个加密芯片也得不到之前那个的唯一序号,除非自己软件仿真一个该型号的加密芯片,用之前破解出来的信息。
但这样在经济上也没有可行性,每破解一个真机只能做出一个假的,要亏死的。

出0入36汤圆

 楼主| 发表于 2022-2-23 17:04:58 | 显示全部楼层
redroof 发表于 2022-2-23 16:56
如果你的云端不可破解,那么结果是一样的啊,单片机程序送他也没事。
云端数据库里没有这个加密芯片的序 ...
(引用自26楼)

我的意思是有人,先把我的板子上的程序破解了,然后啥硬件都不换,直接在我的板子上,把单片机程序改写了,烧录进去,这样我就没办法区分了。

我的单片机比如以前通过加密IC,上传100块钱的金额,他改了单片机程序,打五折,上传50块钱给云端。

出300入477汤圆

发表于 2022-2-23 17:08:56 | 显示全部楼层
redworlf007 发表于 2022-2-23 17:04
我的意思是有人,先把我的板子上的程序破解了,然后啥硬件都不换,直接在我的板子上,把单片机程序改写了 ...
(引用自27楼)

这没问题。
但是这个人也得买一个你的真实设备,才能费事破解程序造出一个假的,所以通常来说在经济上也是不合算的。
你做到这一步已经完全够了。

出0入57汤圆

发表于 2022-2-23 17:24:16 | 显示全部楼层
朋友之前介绍过一个附件的加密片子,楼主不知有没有了解过?

可以把数据放进去,输出加密结果,也可以把部分用户代码放进去。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入36汤圆

 楼主| 发表于 2022-2-23 17:25:24 | 显示全部楼层
redroof 发表于 2022-2-23 17:08
这没问题。
但是这个人也得买一个你的真实设备,才能费事破解程序造出一个假的,所以通常来说在经济上也 ...
(引用自28楼)

这板子上只能做到这个地步了。

我现在是用的STM32G070,我再用stm32g071备用,071自带放置加密数据的安全区,用了这个再搞点其他手段就更难破解了。

出300入477汤圆

发表于 2022-2-23 17:53:40 | 显示全部楼层
redworlf007 发表于 2022-2-23 17:25
这板子上只能做到这个地步了。

我现在是用的STM32G070,我再用stm32g071备用,071自带放置加密数据的安 ...
(引用自30楼)

除非你的设备是收款机之类的设备,否则你做到正规加密芯片这一步就已经够了。
不可能防到别人重写你的程序这一步的。
如果你要完全防住别人读懂你所有程序代码并且重写程序,那么你用普通单片机来做就不合格,应该用专门的防篡改硬件平台。这明显不是你这样的小公司能做到的事情。

出300入477汤圆

发表于 2022-2-23 18:01:09 | 显示全部楼层
本帖最后由 redroof 于 2022-2-23 18:02 编辑
mrf245 发表于 2022-2-23 17:24
朋友之前介绍过一个附件的加密片子,楼主不知有没有了解过?

可以把数据放进去,输出加密结果,也可以把部 ...
(引用自29楼)


电脑加密狗的那个硬件平台,应该就是你说的这种了。
去买个可编程的电脑加密狗就行了啊,也就大几十块钱一个,就是ic卡的硬件平台做的,硬件防篡改,里面的程序全保密。正确使用的情况下完全无懈可击。
唯一可行的攻击方法是猜出它里面执行的用户自定义程序是啥样,然后重写一份。实际上如果使用者让人可以猜出你里面的函数的实现,那就是使用者自己的错。
淘宝上破解这种加密狗的人都只能说“不成功不收钱”,不保证成功。
从原理上,普通人是不可能破掉一个ic卡硬件的。

出300入477汤圆

发表于 2022-2-23 18:12:13 | 显示全部楼层
redworlf007 发表于 2022-2-23 17:25
这板子上只能做到这个地步了。

我现在是用的STM32G070,我再用stm32g071备用,071自带放置加密数据的安 ...
(引用自30楼)

其实ATSHA204这种硬加密芯片,我都不认为几千块钱可以保证破解出它里面存放的密码。毕竟这种芯片本身就是专门设计为可以抗硬件级的物理破解的,硬件破解它应该至少得以万为单位的钱数。
感觉网上那些所谓“破解”的人应该都是监控通讯,指望使用他的人自己的用法有漏洞才行的。
用他的人如果从里面读密码自己比较,那么当然就可以被人抓出密码。


出0入36汤圆

 楼主| 发表于 2022-2-23 18:32:38 | 显示全部楼层
redroof 发表于 2022-2-23 18:12
其实ATSHA204这种硬加密芯片,我都不认为几千块钱可以保证破解出它里面存放的密码。毕竟这种芯片本身就是 ...
(引用自33楼)

被破解,一般都不是加密IC这边出的问题,大都是使用者的单片机那边有啥漏洞。

出0入36汤圆

 楼主| 发表于 2022-2-23 18:33:30 | 显示全部楼层
mrf245 发表于 2022-2-23 17:24
朋友之前介绍过一个附件的加密片子,楼主不知有没有了解过?

可以把数据放进去,输出加密结果,也可以把部 ...
(引用自29楼)

我看看手册,谢谢了。

出300入477汤圆

发表于 2022-2-23 18:56:35 来自手机 | 显示全部楼层
redworlf007 发表于 2022-2-23 18:33
我看看手册,谢谢了。
(引用自35楼)

如果你做的东西跟钱相关,一个简单的方法就是去用智能ic卡的芯片去做。钱数存在ic卡里面,对钱数的操作也都由ic卡自己完成就行了。

出0入36汤圆

 楼主| 发表于 2022-2-23 23:13:15 | 显示全部楼层
redroof 发表于 2022-2-23 18:56
如果你做的东西跟钱相关,一个简单的方法就是去用智能ic卡的芯片去做。钱数存在ic卡里面,对钱数的操作也 ...
(引用自36楼)


我先按云端解密的方法做吧,借尸还魂的事情,先不管了,毕竟有成本要求,谢谢了。

出0入90汤圆

发表于 2023-6-20 13:42:54 | 显示全部楼层
mrf245 发表于 2022-2-23 17:24
朋友之前介绍过一个附件的加密片子,楼主不知有没有了解过?

可以把数据放进去,输出加密结果,也可以把部 ...
(引用自29楼)

这个芯片,能把部分程序放进去,这个确实就很厉害了。不过它的价钱略高,适合于价值高一点的产品去加密。
这个还挺不错的,以后我也用一下

出0入18汤圆

发表于 2023-6-20 13:49:42 | 显示全部楼层
买带trustzone的stm32

出1310入193汤圆

发表于 2023-6-20 15:54:47 来自手机 | 显示全部楼层
stc8系列单片机,利用内部自带唯一id
配合spi和stm程序进行加密,
有坛友方案已经在使用。
简单粗暴有效。

出0入36汤圆

 楼主| 发表于 2023-6-20 16:01:49 | 显示全部楼层
lb0857 发表于 2023-6-20 15:54
stc8系列单片机,利用内部自带唯一id
配合spi和stm程序进行加密,
有坛友方案已经在使用。
(引用自40楼)

具体是咋搞的?

出0入30汤圆

发表于 2023-6-20 16:29:15 | 显示全部楼层
本帖最后由 ycheng2004 于 2023-6-20 16:30 编辑

加密芯片主要是用于通信加密,ATSHA204A,
如各种刷卡等通信加密,主机的系统保密拿不到,这个市场很大,

大家想要的加密是防破解主机系统,
这个只有MCU本身加强加密功能,
或用偏门的MCU,
或最新的MCU/可以防几年,
有量可以定制MCU,

出675入8汤圆

发表于 2023-6-26 11:10:09 | 显示全部楼层
我整理一下大神们的思路

出0入36汤圆

 楼主| 发表于 2023-6-26 12:08:43 | 显示全部楼层
xml2028 发表于 2023-6-26 11:10
我整理一下大神们的思路
(引用自43楼)

整理好了,贴出来我们抄下,哈哈。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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

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