我的旧产品是Microchip PIC 18F。它在中国被淘汰了。克隆是硬件的廉价副本,但是1:1软件。它显然是我的代码。代码在初始设备组装时编程,并且从不再次编程(没有更新,没有引导加载程序等)。所以这种情况发生的唯一方法就是如果他们击败了PIC 18F上的读取保护。考虑到年龄和我对该芯片的印象导致我在引起我注意之前切断它们,我不认为这是不合理的。
由于其他原因,我已将所有新项目迁移到ARM(M0 +,M3,M4)。现在,这对我的旧代码没有任何作用。我希望ARM Cortex芯片(NXP,ST,Freesale,Ti等)的保护效果更好。我几乎找不到有关其工作原理的信息。
是否有可能在ARM上取消芯片读取保护?假设完整的JTAG,SerialWireDebug,无论如何。即使你把芯片去掉以露出芯片?即使你真的知道你在做什么?它有多安全?因为...... 8位PIC显然非常不安全。
我想到在新项目中我可能需要连接到我们的服务器,在那里我将记录唯一ID(96-128bit)并从那里授权设备。克隆ID不会被识别。这是一个后勤混乱,因为我将拥有汇编程序的主列表,它将在线,用户的设备代码必须通过固件下载发送和授权......是一些欺骗和滥用的地方。这在很多层面上都很麻烦。是否有比这更简单的方法来确保保护:
以上是假设ARM中内置的唯一ID并且永远无法写入。似乎很可能。但是每个制造商似乎必须采用不同的系统,这似乎是一个外围功能而不是核心部分(一些STM芯片是96位,一些是飞思卡尔的128位)。我认为这主要是唯一的ID,序列化和加密方案。
(注意:我讨厌DRM。而且这并不是我想要做的事情,但这个产品是系统的一部分,可能间接地对人们的生活负责。我们由于很多原因,我不能从中国那里获得廉价的仿制品,即使我的软件,我们也无法验证他们的廉价硬件。)
答案 0 :(得分:0)
我会推荐以下内容:
查看具有TrustZone和加密功能的ARM芯片。有些具有每个外设键锁定。
如果您想要绝对的安全性,那么购买arm IP并设计一个硅芯片,其代码嵌入在硬件中,无法读/写。使其成为硅逻辑或片上ROM的一部分。