程序加密芯片
❶ 如何选用正确的加密芯片
对于加密芯片的选择,要从三个方面考虑:芯片平台、芯片操作系统安全性、可行性加密方案。
1.芯片平台的选择
目前嵌入式加密行业内存在两大阵营,一个是传统的逻辑加密芯片,采用的IIC接口,其原理是EEPROM外围,加上硬件保护电路,内置某种算法;
另外一个是采用智能卡芯片平台,充分利用智能卡芯片本身的高安全性来抗击外部的各种攻击手段。
逻辑加密芯片本身的防护能力很弱,大多数的解密公司都可以轻松破解,已经逐步被淘汰。
取而代之的是被证明最好的智能卡平台。
为提高智能卡芯片高安全性,要求选用的智能卡芯片具有国际安全认证委员会的EAL4+以上的芯片,否则安全性也难以达到要求。
凌科芯安公司的LKT系列加密芯片完全符合这个要求。
2.芯片操作系统的安全性在确定智能卡芯片平台的前提下,需要考虑的是芯片操作系统的安全性,凌科芯安的LKCOS操作系统,经过了权威部门的严格检测,具有极高的安全性,不存在安全漏洞。
而未经过PBOC认证的加密芯片系统是无法具有高安全性的。
此外,凌科芯安的LKCOS对芯片内部资源可以进行有效的管理,同时对底层接口做了大量切实有效的防护,保证盗版商无法从芯片操作系统来攻击或破解。
这一点非常重要,某些采用智能卡芯片平台的加密芯片只是提供了算法下载的接口,对芯片资源管理和接口的底层防护几乎没有做任何的处理,那么,盗版商是可以作为漏洞来进行攻击的。
3.加密方案的选择
传统的加密芯片,都是采用算法认证的方案,他们声称加密算法如何复杂,如何难以破解,却没有考虑到算法认证方案本身存在极大的安全漏洞。
清楚的知道,单片机是一个不安全的载体,对于盗版商而言甚至是完全透明的。
做算法认证势必要在单片机内部提前写入密钥或密码,每次认证后给单片机一个判断标志,作为单片机执行的一个判断依据,那么盗版商就可以轻松抓住这一点进行攻击,模拟给出单片机一个信号,轻松绕过加密芯片,从而达到破解的目的。
如果要破解芯片内部数据,那么通过传统的剖片、紫外光、调试端口、能量分析等多种手段,都可以破解。
采用智能卡芯片平台的加密芯片,本身就可以有效防护这些攻击手段,将MCU中的部分代码或算法植入到加密芯片内部,在加密芯片内部来执行这些程序,使得加密芯片内部的程序代码成为整个MCU程序的一部分,从而达到加密的目的。
因为MCU内部的程序不完整,即便被盗版了,由于缺少关键代码,也无法进行复制,那么,选择什么样的代码或程序放入到加密芯片内部,就是考验MCU编程者的功力了,尽可能地多植入程序并增加算法的强度,就可以有效防止被破译的可能。
LKT420032位的智能卡芯片平台可以解决上述所有问题,甚至在芯片内部做浮点运算都是没有问题的。
因此建议,选择加密芯片,首选智能卡芯片平台,更要选择32位的智能卡芯片平台。
凌科芯安公司嵌入式加密IC的最大优势集中表现在几点:
其一,凌科芯安选用高端的智能卡芯片平台作为硬件载体,特别是32位的智能卡芯片,是国内唯一的32位加密芯片平台,安全性EAL5+级别的智能卡芯片,使得破解成为不可能。
其二,凌科芯安公司的芯片操作系统LKCOS,通过国家权威部门的检测,具有极高的安全性,对底层端口的防护,做了大量的处理,保证加密IC端口的安全性。
同时,支持客户自定义代码下载并且运行的加密模式,也是国内第一个将算法移植加密方案的实施者。
其三,凌科芯安公司加密方案的安全性,算法移植的加密模式,最大的特点就是单片机程序是不完整的,如果单片机被破解,由于程序不完整,也是无法完成抄板的,被移植的部分程序,是很好的保护并运行在加密IC内部,客户可以自由的编写加密算法或者加密的代码。
而传统的认证加密方案,及时选择了安全性极高的智能卡平台芯片,也是无济于事的,因为智能卡加密IC,无法破解,但是由于单片机程序的完整性,可以被破解,使得加密芯片失去了应有的作用。
所以,选择合适的加密方案非常重要。
❷ 加密IC加密方式有哪些
当前推荐的有几种方式,安全性由低到高分别为:
方式一,使用加密芯片内部存储的一些数据(通常芯片唯一ID),在程序执行前或过程中做ID验证,判断是否为合法加密IC,如不合法则禁止操作
优点:操作简单
缺点:安全性很低,一旦被截获,则芯片失效
方式二
与方式一原理相似,但存储在加密芯片中的为密钥(AES
或者
DES,密钥长度8字节或16字节),程序运行前或运行中,取随机数
由加密芯片和程序本身对随机数加密,验证结果是否相同来判断是否合法。
优点:芯片操作简单
缺点:安全性有缺陷,如果MCU端程序被破解,会导致密钥泄露,芯片失效
方式三
可编程类加密芯片,可将MCU端的部分程序移植到加密芯片中,程序运行时由MCU端程序和加密芯片配合来实现完整程序的执行。
优点:安全性高,MCU端被破解不会影响程序安全性,必须破解加密芯片
缺点:开发略显复杂
综上所述:如想要真正的保护程序,还是建议用可编程类的芯片,安全性好,当前的环境下极难被破解。北京有一家公司在做,LKT4105也支持方式一和方式二,可以尝试一下
❸ 如何使用加密芯片如何对程序加密
1.程序加密可结合AES算法,在程序运行中,通过外部芯片中的AES密钥,加密数据来验证双方的正确性,称之为对比认证。
2.加密数据传输过程中,可通过AES加密后形成密文传输,到达安全端后再进行解密,实现数据传输安全控制。
3.综合1和2,当前高大上的方式是程序加密可进行移植到加密芯片,存储在加密芯片中,运行也在加密芯片内部运行,输入数据参数,返回执行结果,同时辅助以AES加密和认证,实现数据程序的全方位防护
❹ 加密IC的加密原理
LKT4100防盗版芯片真正对用户的软件代码和重要数据提供了全方位、高安全度的保护。其加密原理为一种全新的、可信的软件保护模型,工作原理:在这套加密保护方案中,单片机内部应用软件的关键的代码和数据被安全地移植到LKT4100防盗版芯片的硬件中保护起来。在需要使用时,应用软件可以通过功能调用引擎指令运行硬件中的关键代码和数据并返回结果,从而依然可以完成整个软件全部的功能。由于这些代码和数据在单片机端没有副本存在,因此解密者无从猜测算法或窃取数据,从而极大程度上保证了整个软件系统的安全性。这种加密方案是目前理论上最安全的加密方案。简言之,LKT4100防盗版芯片提供了一套可信的解决方案,从理论上保证软件加密的安全。
LKT4100防盗版芯片是目前全球硬件版权保护领域中第一款采用智能卡(Smart Card)技术嵌入程序代码运行的硬件加密芯片。自LKT4100加密芯片引入硬件版权保护行业以来,超过1000家硬件开发以及方案开发提供商采用了这项先进技术,累计销量已经突破5000万片。
软硬件开发商可以把自己软件中一部分算法和代码下载到芯片中运行。用户采用标准C语言, 编写操作代码。编译并下载到智能芯片中。在软件实际运行过程中,通过调用函数方式运行智能芯片内的程序段,并获得运行结果,并以此结果作为用户程序进一步运行的输入数据。LKT4100防盗版芯片成了软件产品的一部分。从根本上杜绝了程序被破解的可能。LKT4100防盗版芯片能有效保护自有软件的知识产权,维护自身的经济利益,有效避免软件盗版。
❺ 最近听说有一种程序保护的芯片,有人知道具体原理吗难道能在里面编写c java或者更多的语言吗想
语言环境是C,不在芯片中编程,是在Keil软件里使用C编写程序,生成hex格式的程序文件,然后再烧到芯片中。原理呢,也简单,就是将程序放到芯片中保护起来,只能调用,但不能复制,通过加密芯片控制数量,保证不被抄板剽窃,程序区域最高可达百K字节,数据区也很有特点,只能通过底层函数读写,在当今的加密方法中,属于比较有效的一种方式。
❻ 加密芯片的工作原理是怎么样的
推荐CSDN文章《硬件加密芯片介绍 及 加密芯片选择(加密IC)》,可以初步了解加密芯片的工作原理及常见算法,网页链接