硬件设计版权保护的方法有很多,我们下面介绍一种非常灵活的方法:在产品设计上嵌入一种特殊的安全芯片,应用软件通过和该硬件芯片密钥认证的方式来控制程序的流程,以及将单片机主程序上的部分放到ESAM内部进行执行的方法保护嵌入式软件。ESAM芯片极高的安全特性和丰富的安全功能保证了该解决方案的高度安全性。
下面对该芯片以及基于该芯片的解决方案作一介绍 二、ESAM 简介(参阅前文) 三、软件保护原理
1、随机数认证
在数据安全领域,DES(DataEncryptionStandard)算法是一种被广泛使用的
公开的数据加密算法,它采用对称密钥机制,即加密密钥和解密密钥是相同的,
数据的安全性取决于密钥的安全性。ESAM主要是采用随机数理论,用DES算法计算认证码,通过比较认证码的方法进行芯片内部密钥与外部认证密钥的对比,从而达到判断与认证的目的。
ESAM通常内部预置相关的密钥和关键数据,内部具有安全寄存器,数据文件通常具有保密权限,只有通过相应的密钥认证才可以达到对应数据文件的安全权限,才能对数据文件进行读写,业内通常把这个过程叫做外部认证。
如某数据文件的读写权限为33(安全状态寄存器为4位,安全指针为00-FF), 对应的外部认证密钥为12345678,后续状态可定义为33,安全状态寄存器的初始状态为最低00,当执行外部认证命令时,如外部认证通过,安全状态寄存器就会达到33状态,这时就可以对该数据文件进行读写了。
ESAM外部认证流程
在上述的认证过程中,ESAM和外部设备之间的信道只传递随机数和认证码,保证了数据的不可重复和难以跟踪,使外界无法得到任何密钥信息,通过信道侦听密钥的企图是没有任何意义的。
2、软件的移植和SMAKEY内部执行
SMAKEY 提供内部软件平台供用户开发ESAM内部执行的子程序,内部系统软件特性:
n 片上操作系统(COS)进行通信、文件、存储、安全管理
n 用户可自行建立私有文件
n 支持用户程序下载
n 内置解释器,解释执行用户程序
n 支持255段子程序,每段子程序最大255行
n 支持4个参数的输入,并返回运算结果
开发工具特性:
n 提供专用开发指令集:支持加法、乘法、除法、与、异或、非、赋值、跳转、串处理等操作
n 提供专用开发工具:支持程序编辑、编译、调试过程,还可生成可执行代码
n 提供专用发行工具:可供用户批量快速生产
n 通过软件代码在SMAKEY内部的运行,防止了非法用户对软件的直接拷贝和分析。 四、SMAKEY的目标应用
1、产品版权保护
在硬件设计仿制比较容易的情况下,采用安装特定的安全芯片ESAM的方法,可以防止软件被拷贝后正常使用,使ESAM的运算和认证成为应用软件流程一部分,从而达到防止盗版的目的。
2、 生产数量控制
在研发商和生产商利益分离的情况下,为了防止产品在生产过程中被生产商无偿的额外生产,使用ESAM可以控制生产商的生产数量,或用ESAM来收取版权费。
3、技术支持和售后服务的依据
可使用ESAM存储产品的序列号或版本号等产品关键信息,可根据该信息对产品进行在线服务或应用软件的在线升级,也可以作为提供相关技术服务的依据。作者: TLP291 时间: 2013-1-30 11:58