加密锁的技术发展

如题所述

第1个回答  2016-05-12

随着解密技术的日益升级,对加密锁的安全性提出更高要求。传统的智能型可编程加密锁主张的是“代码片移植”——将被保护程序母体分点式镂空,这个从理论上说是安全的,但是实际并非如此,有以下两点原因:一是,从已有程序母体中抽出待移植代码片是一件比较困难的事情,所以抽出的代码逻辑大多数都相对较简单;二是,由于加密锁本身的硬件执行效率限制,复杂的算法在锁中运行效率将是个最大的瓶颈。 mLock SmartX3可编程加密锁采用高性能的32位ARM处理器内核,代替传统加密锁的8位虚拟C51内核。
ARM处理器,性能高、耗能低、价格低,是RISC(精简指令集)体系的代名词。Smart X3智能编程锁使用的是Thumb/Thumb2精简指令集,最大特点就是具有16位的指令密度,32位的指令性能,这就意味着可以用很少的指令完成功能复杂的操作。
而C51指令集最大的性能瓶颈是累加寄存器A在运算中作为桥梁导致的。Thumb/Thumb2精简指令集却不存在这种瓶颈,C51指令集在代码体积和性能上较Thumb/Thumb2精简指令集都相差巨大,下面的图表比较了C51和ARM中两个32位整型数据相乘的指令运行时间和代码大小: mLock Smart X3可编程加密锁采用与应用程序变量原始绑定模式,支持全数据类型。并采用映射机制,锁中程序与应用软件中变量一一对应,避免了传统编程锁在输入输出缓冲区中取变量并作相应转换的不便。
加密锁中的程序和应用程序的数据交互方式决定了编程锁的易用性,在前期的开发中,在线调试工具几乎充当了主要角色,而它的易用程度更是决定于数据的交换方式。
传统的编程锁与应用程序的数据交换方式都是结构体变量集体绑定传送,所有类型变量都是以字节序传入传出,并且在线测试工具都是以字节方式表示,同时还要考虑数据大小尾的问题。
因为C51对double类型数据是不支持的,传统的解决方案是用“伪double”数据类型,也就是用字符数组代替,这样就使定义和初始化很不方便,而且运算速度也很慢。
mLock Smart X3可编程加密锁完全支持所有基本数据类型,对double数据类型做到了原生支持,支持如:double a = 1.2345; 方式定义。并且对64位数据类型做到了无缝支持,这在C#开发中很有用,因为long类型数据在C#中是64位的。
mLockSmart X3可编程加密锁的程序开发环境采用的是MDK,该IDE对ARM处理器的支持已经做到了极致,在代码自动优化方面做得很好,所有函数都符合ANSI 'C'标准。

完美的B/S登陆,在线升级解决方案
  从现在的网络发达程度来看,C/S与B/S的融合将是一个必然趋势,mLock Smart X3可编程加密锁已经将B/S登录认证和WEB在线升级完美集成,这将给软件日后维护和用户管理带来安全可靠的硬件支持。   总之,mLock Smart X3可编程加密锁在传统加密锁技术上进行了一次质的飞跃,它把安全、高效、人性化融为一体,突破传统编程锁的技术瓶颈,将现代编程技术和反跟踪手段完美结合,根本上保障软件的安全性。