ESPU安全模块实现嵌入式版权保护
概论
在竞争激烈的电子及信息技术产品行业,新产品的设计周期已从原来的5年缩短为1~2年,同时产品寿命也在缩短,使得上市时间压力增大,随着创新能力的扩展,公司间竞争越来越大,盗板现象却越来越严重,如何保护自己的产品设计以提高市场占有率和延长生命周期,如何在许可生产过程中有效控制和量化版权收益,已经成为很多公司和产品设计者日益关注的问题。
本文介绍的解决方案的核心是在产品硬件设计上嵌入专用加密芯片,在应用软件设计上通过随机密钥认证的方法控制程序流程,比一般概念上的软件狗在软硬件安全特性、指令功能和性能价格比具有明显的优势。
一.专用加密芯片与嵌入式安全操作系统
本方案选用的专用加密IC是内置TimeCOS/ESPU嵌入式安全操作系统的专用微处理器芯片,又称ESPU嵌入式软件保护模块。ESPU安全模块采用标准的DIP8或SOP8封装,除了具有防检测、抗攻击、自毁等硬件特性外,还具有安全的文件密钥管理,完善的安全机制、标准的加解密运算功能。ESPU安全模块主要的应用模式是嵌入到其他专用或通用设备中,除了可作为设备的唯一标识(每个模块具有全球唯一硬件序列号码)并提供安全密钥和重要数据存储之外,还可以利用内置算法完成数据加密解密、双向身份认证、访问权限控制、通信线路保护、临时过程密钥导出等多种功能。下面分别介绍ESPU安全模块硬件和软件特性。
1.硬件安全特性:
•采用智能卡做为硬件平台
• 唯一序列号
• 芯片硬件安全性获得EAL4 级认证
• 芯片防篡改设计,具有防止SEMA/DEMA 、 SPA/DPA、 DFA和时序攻击的措施
• 数据安全存储,高低压检测,高低频率检测
• 真随机数发生器:利用芯片内部的电磁白噪声产生,不会重复
• 硬件加密协处理器:内部硬件逻辑电路实现对称算法3DES,加解密速度快
2. 软件安全特性:
安全芯片采用TimeCOS/ESPU嵌入式安全操作系统
COS(芯片操作系统)是ESPU安全模块的核心。该操作系统针对不同的应用具有不同的版本,主要有普通DES、3DES算法的PBOC版本,具有RSA算法的,还可根据用户的需要增加不同的算法和功能,可作为身份的标识进行身份认证,也可以作为安全的平台存储各种安全密钥和关键数据,以及产生随机数,进行加解密运算等,可以帮助终端设备实现很多安全功能。
2.1TimeCOS/ESPU的结构
TimeCOS/ESPU由传输管理、文件管理、安全体系、命令解释四个功能模块组成。
2.2典型认证过程
在数据安全领域,DES(数据加密标准)算法是一种被广泛使用的公开的数据加密算法,它采用对称密钥机制,即加密密钥和解密密钥是相同的,数据的安全性取决于密钥的安全性。ESPU安全模块用DES算法计算认证码,通过比较认证码的方法进行芯片内部密钥与外部认证密钥的对比,从而达到判断与认证的目的。ESPU安全模块通常内部预置相关的密钥和关键数据,内部具有安全状态寄存器,数据文件通常具有保密权限,只有通过相应的密钥认证才可以达到对应数据文件的安全权限,才能对数据文件进行读写,这个过程称为外部认证。
二. 基于ESPU软件保护模块的版权保护方案
ESPU软件保护模块的目标应用
1.产品版权保护
在硬件设计仿制比较容易的情况下,采用安装特定的加密芯ESPU安全模块的方法,可以防止软件被拷贝后正常使用。
2.生产数量控制
使用ESPU可以控制生产商的生产数量,按照真实数量收取版权费。
3.技术支持和售后服务的依据
使用ESPU存储产品的序列号或版本号等产品关键信息,可根据该信息对产品进行在线服务或应用软件的在线升级,也可以作为提供相关技术服务的依据。
三. 硬件结构设计
ESPU的硬件结构非常简单,时钟频率1~5MHz,工作电压2.7V~5V,其简单的结构,良好的兼容性使其同主要硬件设备的接口容易,编程也非常简单.用户可以轻松地将处理器芯片集成到应用中.
四. 软件应用流程介绍
1.系统要求:
·应用软件需要支持DES算法,支持产生伪随机数的算法。
·应用软件安装系统主密钥MK,可以通过ESPU安全模块硬件唯一序列号S/N分散生成认证主密钥。
·ESPU安全模块安装有主密钥SK=DES(MK,S/N)。
2.软件安全认证过程
·ESPU安全模块中存储与自身硬件序列号相关的主密钥,通过主密钥和软件ID号加密可生成过程密钥,过程密钥存储在ESPU安全模块的RAM区中,掉电后消失。
·应用软件在不同批次ID的情况下,可以更改系统主密钥。
·在应用软件密钥存储系统主密钥,认证主密钥通过读取ESPU安全模块硬件序列号临时分散产生,认证密钥通过应用软件批次ID号二次分散临
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)