所谓算法移植就是客户可以把自定义的程序一部分关键算法函数移植到加密芯片中运行。用户采用标准C语言编写代码,通过KEIL C编译器,编译并下载到智能卡加密芯片的内核中。在实际运行中,通过专用指令调用函数方式运行智能卡加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此智能卡加密芯片成了产品的一部分,而算法在加密芯片内部运算,盗版商无法破解,从根本上杜绝了程序被破解的可能。
相对而言,传统的逻辑加密芯片都是采用算法认证的方案,他们所鼓吹的是加密算法如何复杂,如何难以破解,却没有考虑到算法认证方案本身存在极大的安全漏洞。我们清楚的知道,单片机是一个不安全的载体,对盗版商来讲完全是透明的。做算法认证,势必要在单片机内部提前写入密钥和密码,每次认证后给单片机一个判断标志,作为单片机执行的一个判断依据,那么盗版商就可以轻松的抓住这一点进行攻击,模拟出单片机的一个信号,轻松绕过加密芯片,从而达到破解的目的。另外,如果想要获取传统的逻辑加密芯片内部数据,通过传统的剖片、紫外光、调试端口、能量分析等多种手段都可以破解。由此可见,传统的加密芯片不仅在软件编辑过程中存在漏洞,而且其本身就是不安全的。
算法移植方案是具有很高的安全性和可靠性的,加密芯片用来执行和存储这些关键代码,大大提高了产品的安全性,有效地保护了软件代码。相较于传统的逻辑加密芯片,智能卡加密芯片还具有其他的特殊安全功能,配合算法移植方案真正保障客户产品的安全性。
1、芯片自锁功能
软件对芯片的访问首先由PIN码保护,PIN码的尝试次数可由软件开发商设定。当非法用户利用字典攻击的情况出现时,如果次数超过设定值以后,芯片会自我锁定,外界一切对芯片的操作均被停止。
2、全球唯一序列号
我们提供的智能卡芯片具有全球唯一序列号,不可更改。这可以杜绝冒用的情况发生,同时也可以对已发行的产品进行有效管理。如果软件开发商使用算法植入的加密芯片,可以获得提供特殊序列码区段控制服务,这几乎可以从根本上解决硬件的复制仿冒问题。
3、硬件随机数发生器(白噪声技术)
用于产生高强度随机数。除对称算法生成密钥需要外,随机数在安全加密领域具仍非常重要和广泛的应用,因此,硬件本身带有高强度随机数发生器对安全而言意义重大。
4、硬件时钟定时器
软件计时使用、反跟踪等常用软件保护手段中必备的功能