从软件和硬件方面来衡量加密芯片
发布时间:2018-11-20 阅览次数:
66555 次
如果加密芯片本身硬件会被物理破解,那就毫无安全可言,失去了加密芯片保护MCU方案的意义。佳晔盛科技专注加密IC,提供一整套硬件方案。目前有定制型加密IC广泛应用各个行业,大受好评!
加密芯片的选择要从2方面来考虑:硬件方面和软件方案方面
软件方面:
很多加密芯片有AES算法,或者SHA256算法等等。一味的强调算法的强度,而忽略了其工作原理。实际上,不管用哪种加密算法,MCU及加密芯片上都要存储一致的密钥,才能保证双方协同工作。而MCU可被破解,理论上都可以被攻击者拿到密钥,利用这种攻击方法,再高强度加密算法也无济于事。例如DES算法,自从上世纪70年代被研制出来,然后运用到银行卡中(PBOC银行卡现在仍然还在使用的是DES/3DES算法)已经几十年了,目前为止,除了穷举外还没有其他方法可以破解其密钥。我们假设1us计算一次DES,一年有365天24小时60分60秒100000微秒=3153600000000微秒。单DES密钥长度为8字节,如果要把这8字节穷举完,则要580万 年(0xFFFFFFFFFFFFFFFF除以十进制3153600000000 = 约等于580万)。也就是说,如果不是直接从MCU中直接获取密钥的话,破解DES算法,需要580万年。那些所谓的很多算法比DES算法更强大,毫无意义,人家破解不会从算法本身破解,而是从MCU中去获取密钥。相反,更多的破解是从MCU这端拿到密钥的,因为理论上只要把MCU破解后仿真,定位到了加解密函数,就能找到相关的密钥。所以软件方案本身的设计,远比算法本身的强度重要。只有把MCU的部分代码移植到加密芯片中,并在加密芯片中执行此代码,这种软件方案才是最安全的,其他的软件方案,都可以被破解(因为MCU可被破解,并被仿真)。
硬件方面:
如果加密芯片本身硬件会被物理破解,那就毫无安全可言,失去了加密芯片保护MCU方案的意义。
智能卡内核的加密芯片,硬件方面安全性是最高的。智能卡自从上世纪70年代末诞生以来,就是直接跟“钱”直接打交道。例如最早的IC卡就用于存话费打电话,现在银行卡,社保卡,电表卡等等,上面就直接存放着“钱”,没有足够安全的硬件支持,这些行业也不可能敢将“钱”直接存放在卡上。经过几十年的发展,MCU的功能越来越强大:如IO口数量,越来越多,IO口的种类也越来越多,支持的通信协议也越来越多,等等。然而同样是几十年,接触式智能卡,却依旧只有ISO7816的UART口。硬件上增加的只有存储空间大了,速度快了,算法及安全寄存器越来越多。几十年来,智能卡除了变大,变快外,就一直围绕着安全在发展。智能卡内核,在硬件方面,使用了顶层金属网络设计,提升入侵难度。所有的网格都用来监控短路和开路,一旦触发,会导致存储器复位或清零;另外智能卡使用存储器总线加密,每张卡片总线加密密钥不同,这样即使入侵者完全破解了,也无法生产出相同功能的芯片来。智能卡将标准的模块结构使用混合逻辑(Gle Logic)设计,使得攻击者不可能通过信号或节点来获得卡的信息进行物理攻击;智能卡还砍掉了标准的编程接口,甚至干掉了读取EEPROM接口,取而代之的是启动模块,可以在代码装入后擦掉或者屏蔽自己,之后只能响应使用者的嵌入软件所支持的功能。