altera设计的cyclone 系列是悲剧存在,从V代以下的IV III II I系列都是没有加密的。很多抄板的,只要抄了pcb和flash,就可以复制出产品。有人觉得加密意义是不是代码加密,对于产品来说,代码没有意义的,是二进制文件才是有意义。一个产品研发投入大量的人力,物力,成本最少几十万。这样被抄人几千块钱就可以复制出来。
后来有人用加密方法是用DS28E10,但是破解方法就是用逻辑分析仪分析基本的ID号,以及写入的EEPROM的值,还有随机数值。这个时候,很容易复制出来一样的ID号,一样的eeprom,以及计算后加密值,很容易欺骗fpga验证一层次。后期改版直接用CPLD的去替代DS28E10这个芯片。本人后期也有推出这类分析工具。
那如何更好的加密,本人了解,第一个外部加密芯片,一个是通信方式改变,以前使用是单根线,现在改变用差分线,多个线组成,并且没有时钟,增加难度,当然用示波器也能分析出来。所以数据通信不能单纯输入输出,多根差分线是可以读写上面,这样看不出数据是对应输入输出功能。
二个外部的加密CPLD是算法特定的,首先要输入数据进行扰乱处理,通过调整线序,删除部分0,增加部分1操作提高难度,二个写入cpld的数据是伪随机值,最好用rtc时钟数据产生的随机数,多次随机种子,通过cpld,cpld进行数据算法多项式以及交换数据,输出给fpga验证。fpga验证成功后才能启动。
由于现代的低端的cpld可以设置不能读取内部配置flash。相对来说难度提高很多。