基于安全处理器MAXQ1850实现的高级硬件加密狗
时间:09-25
来源:
点击:
0 引言
在电子技术飞速发展的今天,保护开发商的知识产权变得越来越重要了。目前现有的保护开发商知识产权的加密狗总是有各种各样的缺点,比如:加密算法的处理能力有限、硬件防护能力差等。本文介绍另一种更高安全性的硬件加密狗实现方案,本方案是基于MAXIM开发的一款高安全处理器MAXQ1850实现的。MAXQ1850先进的安全功能完全符合ITSEC E3高级、FIPS 140-2 3级以及公共标准等最严格的安全认证要求。鉴于MAXQ1850的安全性能,用于作为硬件加密狗的处理器,大大地提高了开发商的关键数据及核心算法的安全。
1 系统的原理
1.1硬件加密狗的组成
硬件加密狗的内部功能组成包括:(1)开发商唯一代码;(2)开发商自定义信息;(3)开发商关键数据;(4)开发商核心算法;(5)动态密钥。如图1.1所示。
图1.1 硬件加密狗内部组成
1.2硬件加密狗的配置
硬件加密狗的配置主要是完成开发商关键数据的录入、开发商自定义信息的录入以及开发商唯一不可更改的代码的录入。所有这些信息的录入,是由一个专用的硬件加密狗控制盒实现的,这个控制盒的CPU采用的是MAXQ1103,MAXQ1103跟MAXQ1850具有同等的安全特性,只是在加密算法上缺少AES算法,但总体上MAXQ1103的配置和功能更强大些。如图1.2所示的硬件加密狗配置信息。
图1.2 硬件加密狗配置信息
1.3系统的工作
1.3.1主机初始化
主机的初始化是指主机第一次与硬件加密狗进行系统认证,这一步的作用是硬件加密狗认证开发商的唯一代码,如果是合法的代码,则给主机录入开发商信息,并产生一个系统所需的动态密钥,动态密钥的作用是对主机与硬件加密狗之间的通信数据进行加解密,防止非法人员从通信链路上获取数据信息。系统初始化认证的流程如图1.3所示。
图1.3 系统初始化认证的流程
1.3.2动态密钥的更新
为了系统的安全,需要对动态密钥进行更新,其更新的操作流程很简单,只需要主机发送更新密钥请求即可,如图1.4所示。
图1.4 动态密鈅的更新
1.3.3系统安全性检查
系统在运行的过程中,为了防止非法人员去掉系统的硬件加密狗,主机需要定期对硬件加密狗进行安全性检查。为了尽量少点影响主机的工作效率,主机可以在每隔2s或更长一点的时间对硬件加密狗进行一次检查。
2 硬件的组成
MAXQ1850是一个40TQFN 6mm×6mm封装的小体积处理器,所有的环境传感器、防攻击保护电路、加密算法硬件引擎等所有的安全功能都集成在一个IC里边,外部只需接上一个用于后备的锂电池及一个系统电源就可以使MAXQ1850正常运行起来。其中的后备锂电池是为了保持MAXQ1850内部SRAM里边的关键数据,以及MAXQ1850的一些电池后备寄存器,MAXQ1850一旦受到攻击,内部的电源管理模块会快速切断后备电池的供电,让MAXQ1850进行自毁,清除掉所有的程序和数据。基于MAXQ1850实现的硬件加密狗的硬件组成如图2.1所示。
图2.1 硬件加密狗硬件组成
3 软件的组成
如图3.1所示为硬件加密狗的软件系统的组成,其中系统死锁进程是一个特殊的组成部分,在整个系统运行的过程中,一旦出现任何的失败操作,都会引起系统死锁进程的运行,禁止继续响应主机的命令。
图3.1 硬件加密狗的软件系统的功能组成
系统上电启动的时候,有一个身份认证的过程,分两种情况。一是主机第一次使用,这时候,主机上只有开发商唯一代码,所以通信加密所用的密钥就是这个唯一代码,硬件加密狗收到这个第一次使用的命令之后,会自动生成随机密钥,并和开发商自定义信息一起以唯一代码为密钥发送给主机。二是主机非第一次使用,这时主机与硬件加密狗之间的通信密钥采用之前录入的开发商自定义信息。硬件加密狗收到这个命令之后,会自动生成随机密钥并发送给主机,从而完成了系统上电的认证。在这个过程中的任何时候,一旦出现认证失败,都会引起硬件加密狗系统的死锁进程的运行。
动态密钥的更新是为了提高通信链路上数据的安全而设立的,主机可以定期要求更新动态密钥。
安全性检查操作,是为了防止在运行的过程中去掉硬件加密狗,所以,在主机要对硬件加密狗有任何的访问操作时,硬件加密狗必须存在,并且合法。
关键数据的获取,可以给主机返回事先设好的安全性要求高的关键数据,供主机软件使用。
核心算法部分,是一个开发商植入的部分,它是开发商的一个核心的或者对主机软件的正常运行起了足够重要作用的的算法,同时这个算法也要有一定的复杂度,防止被非法人员猜测出来。当主机软件需要这个算法的运行结果时,可以给硬件加密狗发送相关的请求命令,硬件加密狗会执行这个算法的运算,并把结果回送给主机。
在电子技术飞速发展的今天,保护开发商的知识产权变得越来越重要了。目前现有的保护开发商知识产权的加密狗总是有各种各样的缺点,比如:加密算法的处理能力有限、硬件防护能力差等。本文介绍另一种更高安全性的硬件加密狗实现方案,本方案是基于MAXIM开发的一款高安全处理器MAXQ1850实现的。MAXQ1850先进的安全功能完全符合ITSEC E3高级、FIPS 140-2 3级以及公共标准等最严格的安全认证要求。鉴于MAXQ1850的安全性能,用于作为硬件加密狗的处理器,大大地提高了开发商的关键数据及核心算法的安全。
1 系统的原理
1.1硬件加密狗的组成
硬件加密狗的内部功能组成包括:(1)开发商唯一代码;(2)开发商自定义信息;(3)开发商关键数据;(4)开发商核心算法;(5)动态密钥。如图1.1所示。
图1.1 硬件加密狗内部组成
1.2硬件加密狗的配置
硬件加密狗的配置主要是完成开发商关键数据的录入、开发商自定义信息的录入以及开发商唯一不可更改的代码的录入。所有这些信息的录入,是由一个专用的硬件加密狗控制盒实现的,这个控制盒的CPU采用的是MAXQ1103,MAXQ1103跟MAXQ1850具有同等的安全特性,只是在加密算法上缺少AES算法,但总体上MAXQ1103的配置和功能更强大些。如图1.2所示的硬件加密狗配置信息。
图1.2 硬件加密狗配置信息
1.3系统的工作
1.3.1主机初始化
主机的初始化是指主机第一次与硬件加密狗进行系统认证,这一步的作用是硬件加密狗认证开发商的唯一代码,如果是合法的代码,则给主机录入开发商信息,并产生一个系统所需的动态密钥,动态密钥的作用是对主机与硬件加密狗之间的通信数据进行加解密,防止非法人员从通信链路上获取数据信息。系统初始化认证的流程如图1.3所示。
图1.3 系统初始化认证的流程
1.3.2动态密钥的更新
为了系统的安全,需要对动态密钥进行更新,其更新的操作流程很简单,只需要主机发送更新密钥请求即可,如图1.4所示。
图1.4 动态密鈅的更新
1.3.3系统安全性检查
系统在运行的过程中,为了防止非法人员去掉系统的硬件加密狗,主机需要定期对硬件加密狗进行安全性检查。为了尽量少点影响主机的工作效率,主机可以在每隔2s或更长一点的时间对硬件加密狗进行一次检查。
2 硬件的组成
MAXQ1850是一个40TQFN 6mm×6mm封装的小体积处理器,所有的环境传感器、防攻击保护电路、加密算法硬件引擎等所有的安全功能都集成在一个IC里边,外部只需接上一个用于后备的锂电池及一个系统电源就可以使MAXQ1850正常运行起来。其中的后备锂电池是为了保持MAXQ1850内部SRAM里边的关键数据,以及MAXQ1850的一些电池后备寄存器,MAXQ1850一旦受到攻击,内部的电源管理模块会快速切断后备电池的供电,让MAXQ1850进行自毁,清除掉所有的程序和数据。基于MAXQ1850实现的硬件加密狗的硬件组成如图2.1所示。
图2.1 硬件加密狗硬件组成
3 软件的组成
如图3.1所示为硬件加密狗的软件系统的组成,其中系统死锁进程是一个特殊的组成部分,在整个系统运行的过程中,一旦出现任何的失败操作,都会引起系统死锁进程的运行,禁止继续响应主机的命令。
图3.1 硬件加密狗的软件系统的功能组成
系统上电启动的时候,有一个身份认证的过程,分两种情况。一是主机第一次使用,这时候,主机上只有开发商唯一代码,所以通信加密所用的密钥就是这个唯一代码,硬件加密狗收到这个第一次使用的命令之后,会自动生成随机密钥,并和开发商自定义信息一起以唯一代码为密钥发送给主机。二是主机非第一次使用,这时主机与硬件加密狗之间的通信密钥采用之前录入的开发商自定义信息。硬件加密狗收到这个命令之后,会自动生成随机密钥并发送给主机,从而完成了系统上电的认证。在这个过程中的任何时候,一旦出现认证失败,都会引起硬件加密狗系统的死锁进程的运行。
动态密钥的更新是为了提高通信链路上数据的安全而设立的,主机可以定期要求更新动态密钥。
安全性检查操作,是为了防止在运行的过程中去掉硬件加密狗,所以,在主机要对硬件加密狗有任何的访问操作时,硬件加密狗必须存在,并且合法。
关键数据的获取,可以给主机返回事先设好的安全性要求高的关键数据,供主机软件使用。
核心算法部分,是一个开发商植入的部分,它是开发商的一个核心的或者对主机软件的正常运行起了足够重要作用的的算法,同时这个算法也要有一定的复杂度,防止被非法人员猜测出来。当主机软件需要这个算法的运行结果时,可以给硬件加密狗发送相关的请求命令,硬件加密狗会执行这个算法的运算,并把结果回送给主机。