要防止产品被破解,就要去先了解破解技术,以找到相应的对策。
在上位机软件的保护中,主要用的是一种硬件加密锁,俗程“加密狗”。对于加密狗的破解大致可以分为三种方法:
1、硬件克隆复制
硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。
应对方案:针对这种破解方法,传统的逻辑加密芯片被破解会很容易,对固定的一些型号也有了模型。所以,就需要高安全等级的芯片去预防。智能卡芯片通常都带有EAL4+的这类安全等级认证,极难被破解。如凌科芯安的LKT-5103,安全等级达到了EAL5+,已经可以说成功防止了这种破解方式。
2、Debug调试破解
对于这种破解方式,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得十分困难,破解成本也越来越高,已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。
应对方案:防止这类破解,传统的逻辑芯片并没有应对能力,而在智能卡芯片中,有一种解决方案叫“算法移植”,可以将软件中的关键算法部分放在LKT-5103中执行,这样即便反编译,也缺少一部分代码,而这部分代码在EAL5+的芯片中十分安全,这样就防止了软件被反编译分析。
3、应用程序与加密动态库之间的通讯拦截
由于线路中传输的数据可以被认为是明文,所以在破解所采取的第一种方法就是去分析应用程序与加密动态库之间的通讯数据。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。
应对方案:针对这种破解方式相对较容易处理,只要对传输的数据进行加密,线路中传输加密的密文,接收端解密密文即可抵制这种攻击手段。
综上所述,具有COS系统的智能卡芯片在防护能力上是值得肯定的。在防止破解中,使用各种方案配合防护为佳,因为算法的复杂度与安全性密切相关。此外,在不影响性能的前提下,使用真假数据并存、多点防护等方式更可事半功倍。