如何选择真正有效的加密芯片
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何选择真正有效的加密芯片相关的知识,希望对你有一定的参考价值。
对于加密芯片的选择,我们要从三个方面考虑:芯片平台、芯片操作系统安全性、可行性加密方案。1.芯片平台的选择
目前嵌入式加密行业内存在两大阵营,一个是传统的逻辑加密芯片,采用的IIC接口,其原理是EEPROM外围,加上硬件保护电路,内置某种算法;另外一个是采用智能卡芯片平台,充分利用智能卡芯片本身的高安全性来抗击外部的各种攻击手段。逻辑加密芯片本身的防护能力很弱,大多数的解密公司都可以轻松破解,已经逐步被淘汰。取而代之的是被证明最好的智能卡平台。为提高智能卡芯片高安全性,要求选用的智能卡芯片具有国际安全认证委员会的EAL4+以上的芯片,否则安全性也难以达到要求。凌科芯安公司的LKT系列加密芯片完全符合这个要求。
2.芯片操作系统的安全性 在确定智能卡芯片平台的前提下,需要考虑的是芯片操作系统的安全性,凌科芯安的LKCOS操作系统,经过了权威部门的严格检测,具有极高的安全性,不存在安全漏洞。而未经过PBOC认证的加密芯片系统是无法具有高安全性的。此外,凌科芯安的LKCOS对芯片内部资源可以进行有效的管理,同时对底层接口做了大量切实有效的防护,保证盗版商无法从芯片操作系统来攻击或破解。这一点非常重要,某些采用智能卡芯片平台的加密芯片只是提供了算法下载的接口,对芯片资源管理和接口的底层防护几乎没有做任何的处理,那么,盗版商是可以作为漏洞来进行攻击的。
3.加密方案的选择
传统的加密芯片,都是采用算法认证的方案,他们声称加密算法如何复杂,如何难以破解,却没有考虑到算法认证方案本身存在极大的安全漏洞。我们清楚的知道,单片机是一个不安全的载体,对于盗版商而言甚至是完全透明的。做算法认证势必要在单片机内部提前写入密钥或密码,每次认证后给单片机一个判断标志,作为单片机执行的一个判断依据,那么盗版商就可以轻松抓住这一点进行攻击,模拟给出单片机一个信号,轻松绕过加密芯片,从而达到破解的目的。如果要破解芯片内部数据,那么通过传统的剖片、紫外光、调试端口、能量分析等多种手段,都可以破解。
采用智能卡芯片平台的加密芯片,本身就可以有效防护这些攻击手段,将MCU中的部分代码或算法植入到加密芯片内部,在加密芯片内部来执行这些程序,使得加密芯片内部的程序代码成为整个MCU程序的一部分,从而达到加密的目的。因为MCU内部的程序不完整,即便被盗版了,由于缺少关键代码,也无法进行复制,那么,选择什么样的代码或程序放入到加密芯片内部,就是考验MCU编程者的功力了,尽可能地多植入程序并增加算法的强度,就可以有效防止被破译的可能。LKT4200 32位的智能卡芯片平台可以解决上述所有问题,甚至在芯片内部做浮点运算都是没有问题的。
因此我们建议,选择加密芯片,首选智能卡芯片平台,更要选择32位的智能卡芯片平台。
凌科芯安公司嵌入式加密IC的最大优势集中表现在几点:
其一,凌科芯安选用高端的智能卡芯片平台作为硬件载体,特别是32位的智能卡芯片,是国内唯一的32位加密芯片平台,安全性EAL5+级别的智能卡芯片,使得破解成为不可能。
其二,凌科芯安公司的芯片操作系统LKCOS,通过国家权威部门的检测,具有极高的安全性,对底层端口的防护,做了大量的处理,保证加密IC端口的安全性。同时,支持客户自定义代码下载并且运行的加密模式,也是国内第一个将算法移植加密方案的实施者。
其三,凌科芯安公司加密方案的安全性,算法移植的加密模式,最大的特点就是单片机程序是不完整的,如果单片机被破解,由于程序不完整,也是无法完成抄板的,被移植的部分程序,是很好的保护并运行在加密IC内部,客户可以自由的编写加密算法或者加密的代码。而传统的认证加密方案,及时您选择了安全性极高的智能卡平台芯片,也是无济于事的,因为智能卡加密IC,你无法破解,但是由于您的单片机程序的完整性,可以被破解,使得加密芯片失去了应有的作用。所以,选择合适的加密方案非常重要。 参考技术A 之前使用过淘宝“CC020加密芯片”性价比相对较高 参考技术B 推荐使用深信达CBS加密芯片增强模块,是使用加密芯片的ID、密钥和算法,借助业务系统CPU的运算能力,通过容器技术,对加密芯片的处理能力进行放大,让业务程序及其算法的所有逻辑代码都在受保护的安全容器中运行,实现算法及其代码以及可执行模块的安全,不但防抄板,也能防止反编译破解,还能防篡改和黑客攻击。
CBS-S加密芯片增强模块通过容器技术,使用加密芯片产品的密钥在系统内生成一个唯一的、加密的容器,让业务系统在容器内运行,数据保存在容器内,容器对外隔离,内部可信,数据加密,确保系统安全,防止被抄板和逆向分析。
1)加密容器
系统启动时通过加密芯片的密钥,加密生成容器,并让业务程序在容器内运行,业务数据保存在容器内,容器对外隔离,外面接触不到容器内的程序文件和数据文件。接触不到可执行文件实体,自然没法逆向分析,容器密钥来源于加密芯片,没法复制和抄板。
2)可信系统
容器内通过内核级签名CA校验技术, 对容器内系统应用做签名认证,实现未经签名的进程或签名不一致的进程(伪造进程)无法运行,杜绝病毒,木马的运行,确保OS层安全。
3)场景白名单
容器内通过白名单设置,形成程序、文件关联的白名单场景,场景外的操作一律禁止运行,即使是系统管理员权限,一样严格限制。
如何选好加密芯片
一、为什么要选择加密芯片
有人说,产品不值钱,利润低,增加1~2元加密芯片的成本受不了。我的想法正好反过来,我认为一个好的产品,好的创意,自己的软件算法都是有价值的知识产权,在市场上都是可以实现价值的。举个常见的例子:苹果手机的USB充电线 apple lighting,区别于安卓平台的USB充电器,苹果充电线有一个加密芯片,没被破解仿制钱,充电线卖100多,仿制后,在线材相当的情况下,价值还是普通USB线的好几倍,中间的差价远远高于加密芯片的成本。这就是加密芯片的价值;
还有一个重要的因素,没有加密芯片,你的产品可能一个月后就被复制销售了,价格肯定比你的便宜很多,对于复制的工厂,只需卖比PCB A的价格高就可以了,无研发成本。导致你的产品力迅速下降。
如果你的产品是委托OEM厂生产的,也必须要设计加密芯片防止工厂过量生产,你的产品就变成淘宝的外贸原单了。
如果你是开发方案公司,加密芯片可用来统计客户付版权费的依据。
二、选择什么样的加密芯片
首先,要选择接口简单的加密芯片,常用的是IIC接口,接口超级简单,无外围器件。ISO7816的接口需要提供外部时钟,尽量不要选用,会增加太多成本和PCB面积。
第二、选择智能卡内核的加密芯片,这类加密芯片的自身的硬件加密保护很强,自身不容易被破解。其他偏门的单片机做的加密芯片是很容易被破解的。
第三、尽量选择可编程的加密芯片。如果只需一些简单的加密,可选一些逻辑加密芯片,比如ATMEL的AT88SC0104,但这种容易被破解,优点价格便宜。如果要求加密强度高,选可编程可移植算法到加密芯片上的加密芯片,比如深圳中巨伟业的SMEC98SP,设计好的加密方案。
三、对于一些物理保护,比如防拆、打磨字、绑定滴胶都可以起到一定的作用。
本文出自 “嵌入式方案开发” 博客,请务必保留此出处http://13255416.blog.51cto.com/13245416/1961868
以上是关于如何选择真正有效的加密芯片的主要内容,如果未能解决你的问题,请参考以下文章