随着新世纪的来到,各种嵌入式设备在生活中日益重要,小到日常生活中的安防设备、消费电子,大到汽车设备、航空设备,在这个过程中,如何保证设备中程序的安全就成为了重中之重。
程序保护从发展阶段上来说有以下几种方式:
1、软加密
通过软件授权与相关信息(用户名、序列号、硬件相关信息)绑定的方式进行。
优点:绑定信息易维护管理,成本较低。
缺点:在设备内部运行,容易被攻击和获取。
2、硬加密——数据加密
与软加密不同,此种方式将密钥放入1个芯片(几百字节)中,设备端发送数据给芯片,芯片用密钥生成密文返回到设备端,设备端判定密文合法性,决定是否继续运行程序。
优点:加密过程不易遭受外界攻击。
缺点:容量有限,加密防护手段不多,硬件剖片容易获得密钥;如果设备端程序泄露,会造成芯片失效。
3、硬加密——数据&程序加密
芯片容量提升,为用户开放几十K至上百K字节容量的程序和数据空间,用户可在芯片内部自定义实现程序功能,也可存储相关参数信息。
优点:芯片中数据加密和程序运行外界难以跟踪;数据和程序混杂,硬件破解分析困难。
缺点:与逻辑芯片比,成本略高。
数以万计开发人员的艰辛劳动成果,投入了高昂的有形成本和无形成本,不容非法盗版者剽窃。综上所述,程序加密在防盗版领域发挥着不可替代的作用,是当今加密的高点,也是未来加密的起点。