芯片作为数据处理的大脑,需要对其安全进行重点保障,因此芯片加密技术至关重要。为了防止未经授权访问或拷贝单片机的机内程序,大部分芯片都带有加密锁定位或者加密字节,以保护片内程序。
一般来说,将加密认证芯片放在PCB板上,外加一些简单的电路,同时写入算法防止芯片里面的程序被盗窃者读走,就被称为芯片加密。这时候,编程时加密锁定位被使能(锁定),普通编程器就不能直接读取芯片内的程序,起到保护措施。
根据加密方案和用法的不同,可以分为两类加密芯片
一种是认证类加密芯片,其优点是加密芯片平台安全,算法统一,应用简单。缺点是整体加密方案安全性较低,对板上主控MCU的保护力度较弱,已经证明存在明显安全漏洞。是可以通过对MCU的攻击,间接破解掉加密芯片的。
另一种是智能卡芯片平台的加密芯片,应用方案采用算法、数据移植方案。将板上主控MCU的程序和数据移植一部分到加密芯片中运行,借助加密芯片完成MCU缺失的功能,同时又保证这部分程序的绝对安全,进而保证整个产品的安全性。
芯片加密技术有哪些
1、磨片,用细砂纸将芯片上的型号磨掉。对于偏门的芯片比较管用,对常用芯片来说,只要猜出个大概功能,查一下哪些管脚接地、接电源很容易就对照出真实的芯片了
2、封胶,用那种凝固后象石头一样的胶(如粘钢材、陶瓷的那种)将PCB及其上的元件全部覆盖。里面还可故意搞五六根飞线(用细细的漆包线最好)拧在一起,使得拆胶的过程必然会弄断飞线而不知如何连接。要注意的是胶不能有腐蚀性,封闭区域发热不太大。
3、将CPU或者是软件中的一部分程序移植到安全芯片中,没有此安全芯片cpu的程序不完整,提供了DES、3DES加解密功能。
4、使用裸片,看不出型号也不知道接线。但芯片的功能不要太容易猜,最好在那团黑胶里再装点别的东西,如小IC、电阻等。
5、在电流不大的信号线上串联60欧姆以上的电阻(让万用表的通断档不响),这样在用万用表测连线关系时将增加很大的麻烦。
6、多用一些无字(或只有些代号)的小元件参与信号的处理,如小贴片电容、TO-XX的二极管、三极管、三到六个脚的小芯片等,想查出它的真实面目还是有点麻烦的。
7、将一些地址、数据线交叉(除RAM外,软件里需进行对应的交叉),测连线关系时没法靠举一反三来偷懒。
8、PCB采用埋孔和盲孔技术,使过孔藏在板内。此方法成本较高,只适用于高端产品。
9、使用其它专用配套件,如定做的LCD屏、定做的变压器等、SIM卡、加密磁盘等。