搜索
bottom↓
回复: 78

悬赏5000,加密方案找漏洞

  [复制链接]

出0入0汤圆

发表于 2013-12-31 00:07:30 | 显示全部楼层 |阅读模式
设计了一种加密方案用来加密FPGA,原理如下(假设下面提到的加密IC无法破解)

1、上电后,FPGA产生16 Bytes的随机数,发送给加密芯片
2、FPGA对16 bytes随机数+8 Bytes的密钥进行SHA-1运算,计算出20 Bytes的消息摘要
3、加密芯片对接收的16 Bytes随机数+8 Bytes的的密钥进行同样的SHA-1运算,运算出20个 Bytes的消息摘要返回给FPGA
4、FPGA比对接收的消息摘要与自身运算的消息摘要是否相同,若相同则工作,否则不工作。

上面提到的SHA-1算法为标准SHA-1算法,任何人都可以获取。请问大家,这种加密方案是否存在漏洞,若有坛友能指出其中存在漏洞,我愿意付5000作为酬谢

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-12-31 00:29:40 | 显示全部楼层
关注5000落谁之手。

出0入0汤圆

发表于 2013-12-31 00:54:51 | 显示全部楼层
sha-1已经被山东一教授破解了,破解方法也是暴力。

所以,在芯片中加上错误次数判断,是比较好的方法。错误超过几次  就永久停掉芯片的功能。

出0入0汤圆

发表于 2013-12-31 00:57:08 | 显示全部楼层
菜鸟感觉 “FPGA产生16 Bytes的随机数” 这个地方很重要。计算机中好像没有真正的随机数。

出0入0汤圆

 楼主| 发表于 2013-12-31 01:10:46 | 显示全部楼层
k_er_tlwei 发表于 2013-12-31 00:57
菜鸟感觉 “FPGA产生16 Bytes的随机数” 这个地方很重要。计算机中好像没有真正的随机数。
...

这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样,可得到一个随机值。这是altera官方的做法

出0入0汤圆

发表于 2013-12-31 01:12:21 | 显示全部楼层
这让咱说啥好呢…挂在传输线上把那36个字节采下来,两组样本就够了。然后么,用其中一组找个MPP集群暴力法就行了。因为找出的Key可能不止一组,因此需要第二组样本做正向验证。8 Byte SHA用个集群还真不需要多久…

出0入0汤圆

 楼主| 发表于 2013-12-31 01:47:50 | 显示全部楼层
Scarlette 发表于 2013-12-31 01:12
这让咱说啥好呢…挂在传输线上把那36个字节采下来,两组样本就够了。然后么,用其中一组找个MPP集群暴力法 ...

MPP集群没听说过,有这么厉害吗,假如我给你几组样本数据,真的可以搞定的话,我愿意付悬赏给你

出0入0汤圆

发表于 2013-12-31 01:51:35 | 显示全部楼层
用非对称加密吧,RSA之类

出0入0汤圆

发表于 2013-12-31 07:25:30 来自手机 | 显示全部楼层
fpga也可以解密,然后做逆向分析拿掉你的加密

出0入0汤圆

发表于 2013-12-31 07:39:23 | 显示全部楼层
6年前,同事用arm+一样算法+ds2460,加密寻破解漏洞。
花了一个中午,改了若干bit后轻松搞定,赢饭局一枚。(给二进制文件)

fpga破解可能困难些,一样有漏洞

出0入17汤圆

发表于 2013-12-31 09:09:41 | 显示全部楼层
是5k莫元还是5k人民币?

出0入0汤圆

发表于 2013-12-31 09:11:06 | 显示全部楼层
超复杂的方案只有变态的才有轻松解密。

出0入0汤圆

发表于 2013-12-31 09:15:25 | 显示全部楼层
DS2460就是IIC接口的加密芯片,没有不能破解的,只有花的时间和精力的长短

出0入0汤圆

发表于 2013-12-31 09:23:38 | 显示全部楼层
hhxb 发表于 2013-12-31 09:09
是5k莫元还是5k人民币?

楼主说,是5k欢乐豆,,,,

出350入477汤圆

发表于 2013-12-31 09:27:09 | 显示全部楼层
这里的密钥只作为hash的输入数据,所以8字节太短了。用64字节或者更长吧! 对8字节密码,最简单的方法就是穷举这个密码,这样最多做2^64次SHA就可以破掉了。

出350入477汤圆

发表于 2013-12-31 09:30:59 | 显示全部楼层
本帖最后由 redroof 于 2013-12-31 09:33 编辑

如果把你的密钥改成48字节(加上16字节随机数凑成64字节),基本上已经足够可靠。
因为带有随机数,攻击HASH算法找冲突是无用的。你对某个输入找到了冲突,下次随机数一变,就白费了^_^
我感觉这种方法除了穷举密钥,没有更好的方法。而这么长的密钥,没有办法穷举。

下面谁有对付此修改的好方法请提出。。。

出0入0汤圆

发表于 2013-12-31 09:37:32 | 显示全部楼层
给我吧,把FPGA固件读出来,直接把最后的判断条件改为true……

所以可以考虑加密引导,或者用actel

出350入477汤圆

发表于 2013-12-31 09:39:29 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:10
这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样, ...

哦,我想到了一个好方法:
不用攻击加密算法,只要攻击这个随机数就行了。
比如断开你这个振荡器的一端,然后用一个跟你主时钟相关的时钟信号取而代之。
这样你内部采样采到的就不再是随机数了,每次都是固定的值
然后,抓加密芯片的数据包,拿一个小单片机模拟加密芯片,就搞定了

出0入0汤圆

发表于 2013-12-31 09:40:48 | 显示全部楼层
改CPU卡(内置MCU)也可以……实质上就是认为CPU卡极难破解,可以把真正重要的部分算法放到CPU卡里,使用时FPGA送入参数,返回结果,这样即使FPGA固件被读出,也无法破解,因为这已经不是简单的判断条件了

出0入17汤圆

发表于 2013-12-31 09:42:05 | 显示全部楼层
直接用加密的fpga得了,actel的。。。

出350入477汤圆

发表于 2013-12-31 09:44:06 | 显示全部楼层
mhw 发表于 2013-12-31 09:37
给我吧,把FPGA固件读出来,直接把最后的判断条件改为true……

所以可以考虑加密引导,或者用actel ...

问题是你读出FPGA固件直接下载容易,但想修改固件基本上没办法。
记住校验密码的部分用硬逻辑就行了,不要用嵌入软核跑程序。
FPGA固件里面你怎么能找到哪个门或者触发器是“最后的判断条件”

出0入0汤圆

发表于 2013-12-31 09:54:59 来自手机 | 显示全部楼层
貌似cyclone5系列已经内置AES加密了。。。

出0入0汤圆

发表于 2013-12-31 09:55:21 | 显示全部楼层
关注一下!

出0入0汤圆

发表于 2013-12-31 10:07:47 | 显示全部楼层
redroof 发表于 2013-12-31 09:44
问题是你读出FPGA固件直接下载容易,但想修改固件基本上没办法。
记住校验密码的部分用硬逻辑就行了,不 ...

普通青年是没办法,但不代表有强大辅助工具的破解青年没办法……人家把芯片揭开盖子,显微镜拍个照,看看都知道哪些是core,哪些是RAM,哪些是Flash,哪些是串口……

出350入477汤圆

发表于 2013-12-31 10:23:26 | 显示全部楼层
mhw 发表于 2013-12-31 10:07
普通青年是没办法,但不代表有强大辅助工具的破解青年没办法……人家把芯片揭开盖子,显微镜拍个照,看看 ...

错!
FPGA里面的逻辑只有一种东西:LE
所有的LE在显微镜下面是一个样。用显微镜完全是徒劳。

出0入0汤圆

发表于 2013-12-31 10:31:55 | 显示全部楼层
redroof 发表于 2013-12-31 10:23
错!
FPGA里面的逻辑只有一种东西:LE
所有的LE在显微镜下面是一个样。用显微镜完全是徒劳。

那只是举个例子……固件都有了还需要显微镜干啥呢……

出0入0汤圆

发表于 2013-12-31 10:36:34 | 显示全部楼层
有了固件,还熟悉芯片内部构造,重新反转出原理图肯定是没问题的……有志于这一行的青年再推导出HDL都没问题……

出0入0汤圆

发表于 2013-12-31 10:40:00 | 显示全部楼层
8字节的秘钥,还是比较容易穷举的吧

出0入0汤圆

发表于 2013-12-31 10:53:24 | 显示全部楼层
FPGA不熟悉,有个问题不太理解
如果楼主的FPGA可以被破解,8 Bytes的的密钥已经保存在FPGA里面了。破解FPGA后直接读出来就可以了。
如果楼主的FPGA不可以被破解,还要加密IC做什么用呢?

出0入0汤圆

发表于 2013-12-31 11:12:30 | 显示全部楼层
如果能读取出FPGA里面的程序,把楼主代码中的对 “FPGA比对接收的消息摘要与自身运算的消息摘要是否相同”  的调用修改为nop,就可以直接跳到 “正常工作环节”。

当然以上是我按照单片机的思路想的,不太清楚fpga。

出0入26汤圆

发表于 2013-12-31 11:37:42 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:10
这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样, ...

在你采样的端口注入规律信号

出0入442汤圆

发表于 2013-12-31 11:52:10 | 显示全部楼层
电子喵星人 发表于 2013-12-31 00:54
sha-1已经被山东一教授破解了,破解方法也是暴力。

所以,在芯片中加上错误次数判断,是比较好的方法。错 ...

想停掉FPGA?没门。大不了重写程序,就当你的板子是开发板了。还有,你的产品得值那个价。外接SHA-1芯片可以破解,直接拷贝里面的数据(探针)。所以,你要么对每块芯片都用不同的SHA密钥,要么就用FPGA内部的ID。一个可靠的方案是在EEPROM中预设一长串密文,FPGA内部根据芯片ID产生一组密钥,并根据该密钥和EEPROM的密钥和密文加密数据。如果得到的数据是某一个指定的密文,则说明芯片为空,此时产生一串新的密文并写回EEPROM。否则验证结果,如果与预设一致,则验证通过,芯片正常工作;否则屏蔽部分功能,且在一定时间后不定时挂掉,只能断电重启(断电重启!!!),且持续工作时间越来越短。就是说,让抄袭者可以凑合着用,但是绝对没法安心用。芯片验证每隔几ms重新进行一次,以防止阵列配置下被人用切换器切换能正常运行的EEPROM。这样,量产时BITSTREAM是唯一的,只需要对每个EEPROM生成一组不同的密钥和密文就OK了,上电之后EEPROM数据自动校准,不用关心芯片ID。

出0入0汤圆

发表于 2013-12-31 13:16:30 来自手机 | 显示全部楼层
32楼好方法啊

出0入0汤圆

 楼主| 发表于 2013-12-31 13:31:29 | 显示全部楼层
hhxb 发表于 2013-12-31 09:09
是5k莫元还是5k人民币?

当然是人民币了

出0入0汤圆

发表于 2013-12-31 13:31:32 | 显示全部楼层
我知道苹果认证的外设也是这样弄的

出0入0汤圆

 楼主| 发表于 2013-12-31 13:33:34 | 显示全部楼层
redroof 发表于 2013-12-31 09:39
哦,我想到了一个好方法:
不用攻击加密算法,只要攻击这个随机数就行了。
比如断开你这个振荡器的一端, ...

这个反相器是在FPGA内部的,不是连接在外部引脚上。如果随机数从外部引脚上采样的话,这个漏洞也太明显了

出0入0汤圆

发表于 2013-12-31 13:33:48 | 显示全部楼层
如果你这个系统价值比较大 我可以抓你16位数字 记录下来所有的通信数据 然后查表就行 5000归我了 16位数量不大可以做到

出0入0汤圆

发表于 2013-12-31 13:38:44 | 显示全部楼层
非对称加密才行 只要保证一端不被破解 通信链路什么的都无所谓 当然密钥要足够长才行

出0入0汤圆

 楼主| 发表于 2013-12-31 13:46:20 | 显示全部楼层
wye11083 发表于 2013-12-31 11:52
想停掉FPGA?没门。大不了重写程序,就当你的板子是开发板了。还有,你的产品得值那个价。外接SHA-1芯片 ...

这个方法确实保险,但也不需要这么复杂。我这方法的前提是SHA-1加密芯片不被破解,我们在加密上花了大心思,找IC公司定制了一颗CPU芯片,然后自己开发固件程序跑SHA-1算法。这是最难破解的一种加密芯片方案,对芯片拍照提网表都没用,破解成本在百万以上,已超出产品价值

出0入0汤圆

 楼主| 发表于 2013-12-31 13:53:16 | 显示全部楼层
gongxd 发表于 2013-12-31 13:33
如果你这个系统价值比较大 我可以抓你16位数字 记录下来所有的通信数据 然后查表就行 5000归我了 16位数量 ...

兄弟,是16 bytes,128位,不是16位

出0入42汤圆

发表于 2013-12-31 14:30:44 | 显示全部楼层
redroof 发表于 2013-12-31 09:39
哦,我想到了一个好方法:
不用攻击加密算法,只要攻击这个随机数就行了。
比如断开你这个振荡器的一端, ...

对的! 攻击随机数发生器是黑客的必修课. 而lz把它裸在外面了

出0入0汤圆

发表于 2013-12-31 19:52:12 来自手机 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:10
这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样, ...

攻击你的这个随机数发生器就行。随机数永远是0,回复的数据就一样了

出0入0汤圆

发表于 2013-12-31 19:55:13 来自手机 | 显示全部楼层
没看到,居然早就有随机数攻击的了

出0入0汤圆

发表于 2013-12-31 20:36:09 | 显示全部楼层
本帖最后由 rmdyj 于 2013-12-31 21:04 编辑

  任何加密方法都是基于某种算法或硬件很难被人破解为基础的。比如 ,RSA算法就是基于大素数很难被分解。单片机基于系列号的加密方法是基于代码反汇编后难于分析和读懂为基础等等。总之,加密的思想就是要找到一个当前技术水平下难于破解分析的技术为基础,一旦这个基础不存在,则被破解则是理所当然的事;其实,数据加密的思想很简单,就是把被加密的数通过某种算法映射到一个很大或表面混乱的空间上,而在不知密钥和算法的情况下进行逆映射是很困难的,所有加密都是基于这一思想的。
   上面有人说SHA已经被山东的教授破解,这个倒是不用担心,只是理论上破解,SHA当前来讲还是安全的。
   对于你的加密方法的弱点在于:
  (1)别人是否可以轻易获取你的FPGA目标码,如果能,则失败了一半。对于一些把目标码放在外置FLASH上的FPGA,很容易通过直接读取FLASH或逻辑分析仪拦截代码流来获得目标码。解决办法是采用别人很难获取目标码的FPGA,如ACTEL的在硬件上把FLASH 放在8层铜线之下,增加了代码被读出的难度,然后对代码做AES加密,即使读出代码,如果不知密钥也难以复制。因为代码一旦泄露,被破解的可能性就很大了。
  (2)假定代码被获取,则需要评估逆向分析FPGA代码的难度。这个我不是太了解,如果FPGA厂家没有公布FPGA的编译细节,应该比较难,但也并非不可能。逆向分析FPGA的目的只有一个:获取加密芯片内的密钥。专业加密芯片的密钥还是相当难于破解的,为了获取密钥,只能从系统的最弱环节去攻击。
(3)至于说随机数不随机,我觉得应该不是问题,产生一个真随机数还是可以轻易实现的。
(4)你的加密方法弱点还在于,光在加密芯片上进行SHA验证是不够的,必须把某些功能放在加密芯片上才安全。推荐一种加密方案,但是成本很高:据我了解,美信的MAXQ目前的破解成本很高,还没有听说有破解的情况,可以把一部分功能放在MAXQ里,这样即使FPGA目标码被破解,功能也不全,甚至不能正常工作。
(5) 总之,加密的思想就是要找到一个对别人有困难的东西,然后以此为基础设计加密方法,把芯片打磨就是一个最土的方法,当然这个方法的反破解的强度非常低。
(6)  我还有成本相对较低可靠性更强的方法,在此就不透露了,加密方法一旦公开,被破解的可能性就加大了。看你的需要了。

出0入0汤圆

发表于 2013-12-31 23:35:09 | 显示全部楼层
高人很多,学习一下。

出0入0汤圆

发表于 2014-1-1 09:18:40 | 显示全部楼层
最简单最有效的攻击目标:随机数 楼主请出来如何预防,预防不了请拿出5000给第一个提出攻击随机数的坛友吧

出0入0汤圆

发表于 2014-1-1 10:45:51 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:47
MPP集群没听说过,有这么厉害吗,假如我给你几组样本数据,真的可以搞定的话,我愿意付悬赏给你 ...

兄弟,MPP就是大规模并行处理机群,就是一堆廉价PC而已。别觉得不现实哈,现在最简单的思路就是云计算,经济代价很低的…

出0入0汤圆

发表于 2014-1-1 11:34:18 | 显示全部楼层
楼主说的那8bytes的密匙应该是在FPGA和加密IC两边都是相同的吧(如果按对称加密来说的话)?
如果上电后的16 Bytes的随机数和后面返回的消息,在两芯片间的传输是明文或弱加密的话(即可被第三方获得明文),那么剩下的就是对8bytes的密匙的暴力破解,20个字节的内容和64个bit长度的密匙,用几台i7分段爆破一次估计连一天都不用。

出0入0汤圆

发表于 2014-1-1 12:37:12 | 显示全部楼层
如果是开机后长时间工作,不需要断电或轻易维持你的FPGA持续运行;或者你的产品价值很高,以下方法做值得;或者对加密芯片的返回值没有时效性要就:可以用1  上电之后,用你的加密芯片点亮设备,使设备运转再拿到第二台设备上用 2  将加密芯片替换成一个单片机,读取FPGA的数据,通过网络传给加密芯片破解了,再用单片机复现,一颗加密芯片可以使得多套克隆产品运行。

出0入0汤圆

发表于 2014-1-1 13:03:26 | 显示全部楼层
本帖最后由 root 于 2014-1-1 13:06 编辑

不知道这种加密方法对选择明文攻击是否免疫.。毕竟送给加密片的随机数是可以被控制的,虽然 FPGA里面的随机数可能无法控制。还是不要把加密片的算法公布出来,或者更改固件,不要采用标准 SHA1,或者在 SHA1前面再加一层~~~

出0入0汤圆

 楼主| 发表于 2014-1-1 14:48:51 | 显示全部楼层
luohongzhi 发表于 2014-1-1 09:18
最简单最有效的攻击目标:随机数 楼主请出来如何预防,预防不了请拿出5000给第一个提出攻击随机数的坛友吧 ...

36楼已经解释过了,随机数是将反相器的输入与输出相连产生高频振荡,然后后用低速时钟采样。这个反相器是在芯片内部,不是在外部引脚上

出0入0汤圆

发表于 2014-1-1 15:35:59 | 显示全部楼层
redroof 发表于 2013-12-31 09:39
哦,我想到了一个好方法:
不用攻击加密算法,只要攻击这个随机数就行了。
比如断开你这个振荡器的一端, ...

感觉你这办法好邪恶啊    不过是个好办法   随机数   和   加密芯片全被绕过了   

出0入0汤圆

发表于 2014-1-1 20:36:28 | 显示全部楼层
在这我看到高人还真多

出0入0汤圆

发表于 2014-1-2 00:27:38 | 显示全部楼层
攻击方法:
1,监听总线得到16B随机数R。
2,监听总线得到20B Hash结果A。
3,穷举X,使SHA1({R, X})=A,使等式成立的X就是8B密钥。
4,得到密钥后可以复制任意多的加密芯片。
穷举所需次数的期望为2^64次,用一块当今高端显卡来算的话,按4GHash/s估算,也得算个一百年。
构建一个短时间内能爆破该密码的并行计算系统,怎么也要价值几十万上百万,听上去还是挺难的。
但是,早就有人部署了这样的计算系统了,而且成本早就收回了,再破一次只是若干机时的运行成本,其实相当低。

出350入477汤圆

发表于 2014-1-2 09:07:38 | 显示全部楼层
min1 发表于 2014-1-2 00:27
攻击方法:
1,监听总线得到16B随机数R。
2,监听总线得到20B Hash结果A。

我早就提议过了,因为加长密钥轻而易举,所以这个密钥应该加到48 BYTE才合适(与16BYTE 随机数合起来正好64BYTE,也就是SHA的一个最小数据块的长度)
48BYTE密钥再也不怕穷举了。

出0入0汤圆

 楼主| 发表于 2014-1-2 14:31:03 | 显示全部楼层
redroof 发表于 2014-1-2 09:07
我早就提议过了,因为加长密钥轻而易举,所以这个密钥应该加到48 BYTE才合适(与16BYTE 随机数合起来正好 ...

暴力破解的方法很早就有人提出了,请参考7楼

出350入477汤圆

发表于 2014-1-2 14:44:40 | 显示全部楼层
jm4ever 发表于 2014-1-2 14:31
暴力破解的方法很早就有人提出了,请参考7楼

没用的。不要忘了这是48 BYTE啊!
世界上没有哪个疯狂的人能想象去穷举48 BYTE的密码
穷举48 BYTE 比穷举8 BYTE多了2的40次方!

出0入0汤圆

发表于 2014-2-8 00:39:49 | 显示全部楼层
你好,看到你关于加密的贴子。刚好我这边也做了一款产品,需要加密。加密想法跟你的大致一样。用的加密芯片是MAXIM的DS28E01-100。想问一下你定制一棵加密芯片成本大概要多少?起定量要多少? 等级不够,没办法私信。

出0入0汤圆

发表于 2014-2-8 02:05:55 来自手机 | 显示全部楼层
都是高手,不明觉厉

出0入8汤圆

发表于 2014-2-8 09:05:36 来自手机 | 显示全部楼层
纯技术的破解只存在于学术探讨上
现实中的破解要考虑的情况很多
楼主的产品要看是如何部署的,使用环境是什么

即使这些都无法破解,还可以从公司内部着手
拿到产品源文件,修改掉验证部分
可以假装客户,发一些加密文档给你,要用指定程序解密
在解密程序中挂上木马

我遇到过的一种情况是,一个人通过面试进入公司,不负责研发,但是装着很好学的样子和研发人员套近乎,找资料学习。
最后拿到代码辞职走人

出0入4汤圆

发表于 2014-2-8 09:28:20 | 显示全部楼层
canspider 发表于 2014-2-8 09:05
纯技术的破解只存在于学术探讨上
现实中的破解要考虑的情况很多
楼主的产品要看是如何部署的,使用环境是什 ...

你们的代码管理松的象妓女的裤腰带

出0入0汤圆

 楼主| 发表于 2014-2-8 15:06:01 | 显示全部楼层
bx2231 发表于 2014-2-8 00:39
你好,看到你关于加密的贴子。刚好我这边也做了一款产品,需要加密。加密想法跟你的大致一样。用的加密芯片 ...

起初我们也用DS28E01的,但这个东西早被破解了。中国的解密厂家很厉害的,它们直接对IC反向分析,提出芯片的网表,通过FIB修改掉电路,然后将密码读出,防不胜防。
定制IC前期投入很高,我们是外包的,从设计到生产共花了四十来万。前期单颗成本较高,出货达到一定量后,可以抵掉研发费用

出0入0汤圆

发表于 2014-2-8 15:18:07 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:10
这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样, ...

这个震荡的频率不是固定的吗?

出0入0汤圆

 楼主| 发表于 2014-2-8 15:24:15 | 显示全部楼层
gujiamao_love 发表于 2014-2-8 15:18
这个震荡的频率不是固定的吗?

不固定,频率很高,用较低的时钟采样,可得到随机值

出0入0汤圆

发表于 2014-2-8 15:27:06 | 显示全部楼层
jm4ever 发表于 2014-2-8 15:24
不固定,频率很高,用较低的时钟采样,可得到随机值

长知识了。
想到以前数电书上三个非门两两相接,产生高频震荡,那个频率是固定的。

出0入0汤圆

发表于 2014-2-8 15:30:08 | 显示全部楼层
很多看了没看懂,有的根本就不知道,膜拜ing

出0入8汤圆

发表于 2014-2-8 21:56:03 | 显示全部楼层
sunliezhi 发表于 2014-2-8 09:28
你们的代码管理松的象妓女的裤腰带

你说错了
是婴儿的尿不湿

出0入0汤圆

发表于 2014-2-8 22:32:02 | 显示全部楼层
sunliezhi 发表于 2014-2-8 09:28
你们的代码管理松的象妓女的裤腰带

哈哈,有意思的比方

出0入0汤圆

发表于 2014-2-8 23:03:23 | 显示全部楼层
高手很多,fpga只搞了半年

出0入0汤圆

发表于 2014-2-15 13:39:59 | 显示全部楼层
jm4ever 发表于 2014-2-8 15:06
起初我们也用DS28E01的,但这个东西早被破解了。中国的解密厂家很厉害的,它们直接对IC反向分析,提出芯 ...

如果使用带有内部唯一ID的FPGA芯片(如XILINX spartan3, 6的device DNA),将ID和密码经过某种HASH运算(自定义的或标准的如SHA)后,写入外置的一个EEPROM里。每次上电的时候FPGA将ID和密码运算后与存在EEPROM里的作对比,相同则电路可以运行。这种加密方案可行吗?破解难度大吗?

出0入0汤圆

发表于 2014-2-15 19:44:40 | 显示全部楼层
大家好像倾向于寻找永远无法破解的方案   
话说破解成本大于开发成本,你还去破解吗
只有吃饱没事干的变态才会做这种事吧(中国应该没有这种人)

出0入0汤圆

发表于 2014-2-15 20:03:04 | 显示全部楼层
你直接把钱打给我就可以了。

出0入0汤圆

发表于 2014-2-15 20:03:59 | 显示全部楼层
楼主不能食言啊。

出0入0汤圆

 楼主| 发表于 2014-2-17 01:51:12 | 显示全部楼层
bx2231 发表于 2014-2-15 13:39
如果使用带有内部唯一ID的FPGA芯片(如XILINX spartan3, 6的device DNA),将ID和密码经过某种HASH运算(自 ...

主要是量产比较麻烦,要初始化E2

出0入0汤圆

发表于 2014-2-17 06:36:12 来自手机 | 显示全部楼层
建议硬件做好防护,硬件都抄了,芯片自已写也行!各人认为!你加密手段可以了!在增加点外围硬的防解工作!软线,高压什么的!

出0入0汤圆

发表于 2014-2-20 23:45:28 | 显示全部楼层
k_er_tlwei 发表于 2013-12-31 00:57
菜鸟感觉 “FPGA产生16 Bytes的随机数” 这个地方很重要。计算机中好像没有真正的随机数。
...

读悬空的ad值

出0入0汤圆

发表于 2014-7-4 20:54:47 | 显示全部楼层
这么好的话题,lz最后有结论了吗

出0入0汤圆

发表于 2014-7-5 10:30:41 | 显示全部楼层
jm4ever 发表于 2013-12-31 01:10
这个有办法的,将一个反相器的输入与输出相连,就会有一个高频振荡信号,用较低的时钟对反相器输出采样, ...

如果用硬件的这种方法产生随机数,那就可以控制随机数而使随机数固定

出0入102汤圆

发表于 2014-7-7 13:41:16 | 显示全部楼层
搞破解的都是一帮牛人。围观膜拜中
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-27 09:09

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

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