凌科芯安公司凭借多年的嵌入式加密领域的经验,与大家分享开发智能卡平台的加密芯片,需要注意哪些问题。
目前,嵌入式加密IC,主要分为两大平台,即低端的逻辑加密芯片和高端的智能卡芯片。加密方案也同样根据加密芯片的特点,区分为两大方案,即单片机与加密IC固定算法认证的模式和单片机中的部分代码移植到加密IC中的模式。从目前的加密效果看,采用智能卡平台的加密芯片,使用客户自定义算法移植的加密模式,被证明是最为安全的加密方案。
采用智能卡平台的加密芯片中,效果最好的是凌科芯安公司的LKT4200HS,采用32位智能卡平台的高端加密IC,采用80纳米工艺,CPU内频由54MHz提升到84MHz,运算性能大大提升,并且通过了EAL5+级别的安全认证,配合凌科芯安公司自主版权的操作系统LKCOS,同时凌科芯安的算法移植的加密方案,已经获得了国家专利证书,在与上百家客户的沟通和支持过程中,基本上可以把客户开发过程中遇到的问题,归类为以下几个:
1、接口通讯的调试问题
接口通讯的调试问题,主要是很多客户对智能卡平台不甚了解,或者思路还是局限在以往的低端加密IC上,采用IIC接口似乎大家都可以理解和掌握的。但是智能卡芯片自身的特点,只是支持ISO7816-3通讯协议,很多客户对这个更是不了解。所以为了降低接口通讯的开发难度,只要客户的MCU里面有UART接口或者有2个多余的I/O,就可以通过串口的方式,与LKT系列加密芯片进行通讯,很简单方便。
2、算法移植的问题
算法移植问题,实际上就是客户将自定义的多个函数下载到加密芯片中运行,通过专用指令调用加密芯片中的某个函数。为了方便客户调用函数,同时减少单片机与加密芯片之间的交互次数,提高效率,我们提供了自定义的A3协议,收和发很简单,极大的方便了客户。
在算法选择的时候,我们建议客户算法的输入和输出之间的关系尽可能是离散的,没有规律可循,尽量不要输入与输出的关系成线性变化,这样会给盗版商分析破解提供了可能。
3、智能卡芯片的安全性问题
智能卡芯片的构架与一台普通PC的构架是类似的,我们所说的8位或32位智能卡芯片,特指加密芯片内部的CPU的8位或32位,既然构架类似于PC,那么同样需要有操作系统来运行于加密芯片内部,支持客户自定义的算法下载后,能够被加密芯片所支持。凌科芯安的LKCOS操作系统的最大特点是对芯片底层防护做很多有针对性的工作,这是其他采用智能卡芯片厂商所不具备的。从芯片的执行效率,通讯速率以及安全级别上,LKT4200HS都是目前加密领域内最高安全等级的产品,其安全性远胜于其他8位平台的产品。智能卡芯片对于外界的各种攻击手段,启动自毁功能,使得外界对于IC的破解无法进行。