更新时间:2023-12-03 16:01
硬件加密定义:使用待加密的电子产品之外的硬件电路与待加密的电子产品进行通讯,让产品内部程序通过通讯数据来判断自己是否应该继续执行程序。
主控芯片产生一个随机数,把这个随机数发送到加密芯片,由加密芯片加密后回传给主控芯片,由主控芯片判断该数据是不是期望得到的随机数据。如果是,主控芯片的程序继续执行,否则报错或停止运行。
第一种是逻辑加密芯片,这种芯片一般是由一个EEPROM加上外围逻辑电路,通过简单的ID号或者逻辑认证口令进行保护认证,这种芯片的特点就是便宜,开发也最简单,但破解难度最低,这种芯片一般用于对盗版没什么压力,只是为了加一个保护的样子。
第二种是带有固定算法,采用比对认证模式的加密芯片,这种芯片相对于上面那种芯片复杂点,但由于采用的是比对模式,就算线路上传送的是随机数或者被加密的随机认证码,但并没有能起到多高的保护作用,因为被保护的CPU中的程序是完整的,跟加密芯片之间只是存在着若干孤立的比对点,而当盗版商去破解这个系统的时候,不会去破解加密芯片,而是直接破解CPU获得全部的代码,然后跳过所有比对点。这样就完成了破解。这种固定算法比对模式的加密芯片开发相对也不是太难,只要按照说明书上的认证流程开发,当然盗版商也很喜欢这样的芯片,因为他的加密流程盗版商也很熟悉,破解方法都已经在破解圈被大家所熟悉。
第三种加密芯片是近年兴起的采用高端(EAL5+)智能卡芯片内核,软硬件开发商可以把自己软件中一部分算法和代码下载到芯片中运行。用户采用标准C语言编写操作代码。在软件实际运行过程中,通过调用函数方式运行智能芯片内的程序段,并获得运行结果,并以此结果作为用户程序进一步运行的输入数据。加密芯片成了软件产品的一部分。而加密芯片中的程序是无法被读取或者拷贝的,从根本上杜绝了程序被破解的可能。这种产品无论硬件基础还是内部操作系统方案,都是最先进的,破解难度最大的
硬加密——数据加密
与软加密不同,此种方式将密钥放入1个芯片(几百字节)中,设备端发送数据给芯片,芯片用密钥生成密文返回到设备端,设备端判定密文合法性,决定是否继续运行程序。
优点:加密过程不易遭受外界攻击。
缺点:容量有限,加密防护手段不多,硬件剖片容易获得密钥;如果设备端程序泄露,会造成芯片失效。
硬加密——数据&程序加密
芯片容量提升,为用户开放几十K至上百K字节容量的程序和数据空间,用户可在芯片内部自定义实现程序功能,也可存储相关参数信息。
优点:芯片中数据加密和程序运行外界难以跟踪;数据和程序混杂,硬件破解分析困难。
缺点:与逻辑芯片比,成本略高。