ESAM软件保护
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
地址:北京市朝阳区东土城路8号林达大厦A座9层 邮编:100013 电话:(+86-10)6429 1179,6429 1156转917 传真:(+86-10)64293121 网址:www.bwsmart.com
计算机应用的普及,带来了软件产业的蓬勃发展,编制软件艰辛和拷贝软件轻易之间的
强烈反差,使很多人享受了免费午餐的喜悦,而软件的编制者和所有者看着自己得不到的劳
动成果却只能慨叹无可奈何。
如何保护软件的版权,保护所有者的权益,除了必要的法律保护,软件所有者在技术上
的自我防护也成为了必要的手段。
近两年,随着PDA,掌上电脑,机顶盒等信息终端逐渐走进人们的生活,嵌入式操作系
统也象Windows 一样为人们熟知,同样,作为应用软件,嵌入式软件虽然面对的不是最终的
消费者,而是硬件生产厂商,尽管不会轻易发生盗版软件的现象,但如何量化软件的使用量,
如何保护软件厂商的利益,如何避免长期合作中不必要的纠纷,也是软件厂商必须面对和解
决的问题。
北京握奇智能科技有限公司是智能卡与嵌入式数据安全领域首屈一指的专业公司,公司
的主导产品ESAM- 嵌入式安全控制模块在很多嵌入式产品领域为用户解决了
等很多安全问题。在嵌入式软件的产权保护上,公司使用
ESAM为很多嵌入式软件厂商设计了版权保护的方案。
下面是这一方案的简要说明。
(Embedded Secure Access Module)嵌入式安全控制模块,采用专用的智能卡芯
片模块封装,操作系统采用握奇公司自主知识产权的TimeCOS嵌入式安全操作系统,除了具有防检测、抗攻击、自毁等硬件特性外,还具有安全的文件密钥管理,完善的安全
机制、
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的加密运算功能等特性,ESAM的硬件平台采用德国亿恒科技公司(Infineon原西门子半导体)的保密控制器系列产品SLE44CXX 系列或SLE66CXX 系列芯片作为硬件平台,安全性能达到国际ITSEC E4级标准,芯片操作系统TimeCOS 通过了中国人民银行行业标准的检测和国家密码委员会的认证,尤为一提的是,超过2000万片的总发行量使TimeCOS成为国内智能卡行业的第一,得到了市场和用户的广泛认同。
ESAM最主要的应用模式是嵌入到其他专用或通用设备中,完成数据的加密解密、
双向身份认证、访问权限控制、通信线路保护、临时密钥导出、软件版权保护、数据文
件存储等多种功能。可广泛应用于具有加密功能的智能设备中。
地址:北京市朝阳区东土城路8号林达大厦A座9层 邮编:100013 电话:(+86-10)6429 1179,6429 1156转917 传真:(+86-10)64293121 网址:www.bwsmart.com
ESAM简单的硬件结构使其同主要硬件设备的结合非常简单,兼容性好,编程容易。
, 系统或应用软件需要支持DES/3DES算法。
, 系统或应用软件全部或按批次预装主密钥MK。(每批的MK可以不同)
, ESAM中安装根据ESAM的唯一硬件序列号S/N分散加密产生的认证密钥CSK,软件批
次号可以存储在ESAM或软件中。
, 采用随机数RND作为载体实现安全认证,RND可以有如下三个来源:
1) 系统或应用软件伪随机数发生(完全避免随机数重放)。
2) 从ESAM中取随机数,应用软件作简单运算(基本避免随机数重放)。
3) 从ESAM中取随机数(理论上存在随机数重放的可能)。
, ESAM 中密文存储一些软件运行参数等敏感数据(可选)。
采用Single DES、Triple DES算法;
单片机程序软件:预置主密钥MK,能够产生随机数RND并进行DES运算
ESAM:预置根据ESAM序列号S/N分散的加密认证密钥CSK:DES(MK,S/N)
地址:北京市朝阳区东土城路8号林达大厦A座9层 邮编:100013 电话:(+86-10)6429 1179,6429 1156转917 传真:(+86-10)64293121 网址:www.bwsmart.com
单片机程序软件认证模块 PDA、掌上电脑,机ESAM
顶盒或其他计算机
外设 软件: S/N 1、对ESAM做复位取得ESAM的S/N号
ESAM 2、计算分散密钥CSK=DES(MK,S/N)
软件: ESAM: RND
1、产生随机数RND 用认证密钥CSK对随机数
2、将RND 送至ESAM进行加密取认证码X RND加密产生认证码 X 3、计算分散密钥CSK X=DES(CSK,RND)
4、对随机数RND加密计算认证码Y
DES(SK,RND)
No 软件判断
Y=?X Yes 应用软件正常执行
根据设备采用的主CPU的特点,可以采用将系统源程序加密存储的方法,防止存储在ROM或EEPROM
中的程序被读出后反编译。将源程序中的部分子程序或重要参数用ESAM中的密钥加密后安装,在执行该部分程序或参数时需先将数据送ESAM解密后再放到FLASH或RAM中执行,掉电后解密后的数据将消失。这样可有效地保护源程序被破解。
1、对ESAM做复位取得ESAM硬件序列号S/N
2、调用软件DES函数计算临时密钥CSK=DES(MK1,S/N),放内存暂存
3、软件产生随机数RND
4、将RND 送至ESAM的认证密钥CSK对随机数RND加密产生认证码X
0088 00 01 08 2332345546765976
随机数RND
6、用临时密钥CSK调用DES函数对随机数RND加密Y=DES(CSK,RND)
7、比较X是否等于Y,决定软件的后续操作
地址:北京市朝阳区东土城路8号林达大厦A座9层 邮编:100013 电话:(+86-10)6429 1179,6429 1156转917 传真:(+86-10)64293121 网址:www.bwsmart.com
, ESAM 安全硬件平台保证了存储于其中的密钥及数据文件的高度安全。
, ESAM文件和密钥系统的发行由需要保护的系统或应用软件供应商完成。
, ESAM独特的密钥认证方式,使得认证过程中,ESAM与主CPU 的通讯时,线路上只是传输了序
列号、随机数、认证码,根本没有密钥的传输,分析者对线路通讯的跟踪分析是没有意义的。
, 系统或应用软件运行的合法性取决于与ESAM的认证过程是否正确,系统或应用软件的发行间
接的变成了ESAM的发行和销售,软件的销售有了量化的标准,保护了软件的版权和应得利益。
, 软件在不同批次,或不同应用的情况下,可以更改软件的主密钥MK以及ESAM的认证密钥CSK,
安全性更加增强。
, 还可以利用ESAM的其他功能,比如安全数据存储,线路保护,数字签名等。
现在已有一些电路设计厂商采用该方案,保护自己的电路设计及应用软件,在OEM 委托生
产的过程中,使用ESAM防止生产商对产品的无偿拷贝。握奇公司可以针对用户软件和硬件的
特点设计具体的解决方案。
ESAM的初始加密密钥CSK为:0000000000000000
用户在使用ESAM作软件保护的时候应该重新为ESAM设定新的加密密钥
设置步骤是:
1、为单片机程序软件设定一个8字节的主密钥MK
例如:1122334455667788
2、对ESAM作复位操作取得复位信息的最后8字节数据为ESAM序列号S/N
例如
复位信息后8字节是ESAM序列号 3B 69 00 00 57 44 26 05 02 09 26 45 2B
3、计算出ESAM的加密密钥
CSK=DES(MK,S/N)
例如:CSK=DES(1122334455667788 , 44 26 05 02 09 26 45 2B)
4、把计算出的ESAM加密密钥写入ESAM
需要写入的密钥 使用以下命令序列:80D4300108 8CA64DE9C1B123A7