CN101996286B - 动态安全度量的实现方法、安全度量装置和应用系统 - Google Patents

动态安全度量的实现方法、安全度量装置和应用系统 Download PDF

Info

Publication number
CN101996286B
CN101996286B CN2009101613651A CN200910161365A CN101996286B CN 101996286 B CN101996286 B CN 101996286B CN 2009101613651 A CN2009101613651 A CN 2009101613651A CN 200910161365 A CN200910161365 A CN 200910161365A CN 101996286 B CN101996286 B CN 101996286B
Authority
CN
China
Prior art keywords
tolerance
software information
parts
safe processor
comparison
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009101613651A
Other languages
English (en)
Other versions
CN101996286A (zh
Inventor
刘大力
曹春春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Duosi Technology Service Co ltd
Original Assignee
BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co Ltd filed Critical BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN2009101613651A priority Critical patent/CN101996286B/zh
Publication of CN101996286A publication Critical patent/CN101996286A/zh
Application granted granted Critical
Publication of CN101996286B publication Critical patent/CN101996286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种动态安全度量的实现方法、安全度量装置及应用系统。其中,安全度量装置包括:控制模块,用于获取系统和/或软件信息,向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器;安全处理器,用于根据来自控制模块的度量比对指令对接收的系统和/或软件信息进行度量操作,并将度量操作获得的度量结果和存储的度量基准值进行比较,根据比较结果返回比较结果状态。本发明的动态安全度量的实现方法、安全度量装置及应用系统,根据度量后的结果与度量基准值进行比对以确定被调用的系统和/或软件信息是否被篡改,从而在系统和/或软件信息被加载到应用系统之前完成完整性检查。

Description

动态安全度量的实现方法、安全度量装置和应用系统
技术领域
本发明涉及网络安全技术,更具体地,涉及一种动态安全度量的实现方法、安全度量装置及应用系统。
背景技术
安全度量通常指系统和/或信息的完整性度量。目前,现有系统中通常采用静态度量,即在被度量实体执行时刻或者约定的时刻进行度量。图1是现有技术的应用系统的一个例子的结构示意图。如图1所示,该应用系统10可以包括:通用处理器11、BIOS(Basic Input Output System,基本输入输出系统)12、FW(Firmware,固件)13、操作系统14和应用程序15。通过对应用系统进行静态度量,在一定程度上保障了系统的安全性。
但是,静态度量无法克服被度量实体在度量后使用前被篡改的问题,仍然存在一定的安全隐患,并且由于现有的硬件系统性能较低也无法解决该问题。
发明内容
本发明要解决的一个技术问题是提供一种安全度量装置,能够根据度量比对的结果确定被调用的系统和/或软件信息的完整性。
本发明提供了一种安全度量装置,包括:控制模块,用于获取系统和/或软件信息,向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器;安全处理器,用于根据来自控制模块的度量比对指令对接收的系统和/或软件信息进行度量操作,并将度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态。
根据本发明安全度量装置的一个实施例,控制模块还用于在应用系统初始化时向安全处理器发送度量存储指令,并将需要被度量的系统和/或软件信息发送到安全处理器;安全处理器还用于根据来自控制模块的度量存储指令对接收的需要被度量的系统和/或软件信息进行度量操作,存储度量操作的结果作为度量基准值。
根据本发明安全度量装置的另一实施例,安全处理器包括:存储器,用于存储度量基准值;宏指令译码器,用于对来自控制模块的度量比对指令进行译码获得散列运算指令和比较指令,将散列运算指令和比较指令分别发送给散列运算IP部件和比较IP部件;散列运算IP部件,用于接收散列运算指令,根据散列运算指令对系统和/或软件信息进行度量操作,将度量结果发送给比较IP部件;比较IP部件,用于接收比较指令,将来自散列运算IP部件的度量结果与存储在存储器中的度量基准值进行比较,输出比较结果。
本发明提供的安全度量装置,根据控制模块发送的度量指令对被调用的系统和/或软件信息进行度量,再将度量后的结果与存储的度量基准值进行比对以根据比对的结果确定被调用的系统和/或软件信息是否被篡改,从而在系统和/或软件信息被加载到应用系统之前接受完整性检查,进而可以保护应用系统的安全。
进一步,通过散列运算IP部件和比较IP部件完成度量比对操作,可以满足完整性度量对硬件系统的性能要求,使得安全度量装置具有较高的性能。
本发明要解决的另一技术问题是提供一种应用系统,能够根据度量比对的结果确定应用系统中被调用的系统和/或软件信息的完整性。
本发明提供了一种应用系统,包括安全度量装置,用于接收应用系统的系统和/或软件信息,对接收的系统和/或软件信息进行度量操作,将度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态。
根据本发明应用系统的一个实施例,安全度量装置包括:控制模块,用于获取系统和/或软件信息,向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器,返回比较结果状态;安全处理器,用于根据来自控制模块的度量比对指令对接收的系统和/或软件信息进行度量操作,并将度量操作获得的度量结果和度量基准值进行比较,根据比较结果向控制模块返回比较结果状态。
根据本发明应用系统的另一实施例,安全处理器包括:存储器,用于存储度量基准值;宏指令译码器,用于对来自控制模块的度量比对指令进行译码获得散列运算指令和比较指令,将散列运算指令和比较指令分别发送给散列运算IP部件和比较IP部件;散列运算IP部件,用于接收散列运算指令,根据散列运算指令对系统和/或软件信息进行度量操作,将度量结果发送给比较IP部件;比较IP部件,用于接收比较指令,将来自散列运算IP部件的度量结果与存储在存储器中的度量基准值进行比较,输出比较结果。
本发明提供的应用系统,通过其中的安全度量装置来检查应用系统中被调用的系统和/或软件信息的完整性,从而可以保护应用系统的安全。
本发明要解决的又一技术问题是提供一种动态安全度量的实现方法,能够根据度量比对的结果确定被调用的系统和/或软件信息的完整性。
本发明提供了一种动态安全度量的实现方法,包括:控制系统向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器;安全处理器根据度量比对指令对接收的系统和/或软件信息进行度量操作;安全处理器将度量操作获得的度量结果和存储的度量基准值进行比较,根据比较结果返回比较结果状态。
根据本发明动态安全度量的实现方法的一个实施例,控制系统定期或者在系统和/或软件被调用时向安全处理器发送度量比对指令,系统和/或软件信息以数据包的形式被发送到安全处理器。
根据本发明动态安全度量的实现方法的另一实施例,度量比对指令为宏指令,度量操作为散列运算。
根据本发明动态安全度量的实现方法的又一实施例,通过宏指令译码器对度量比对指令进行译码操作,将译码后的指令发送给散列运算IP部件和比较IP部件;散列运算IP部件根据译码后的指令对系统和/或软件信息进行度量操作;比较IP部件比较散列运算IP部件的度量操作的结果和存储的度量基准值,输出比较结果。
本发明提供的动态安全度量的实现方法,根据度量指令对被调用的系统和/或软件信息进行度量,再将度量后的结果与存储的度量基准值进行比对以确定被调用的系统和/或软件信息是否被篡改,从而在系统和/或软件信息被加载到应用系统之前完成完整性检查,进而可以保护应用系统的安全。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是现有技术的应用系统的一个例子的结构示意图。
图2是具有本发明的安全度量装置的应用系统的一个例子的结构示意图。
图3是具有本发明的安全度量装置的应用系统的另一例子的结构示意图。
图4是本发明安全度量装置的第一实施例的结构示意图。
图5是本发明安全度量装置的第二实施例的结构示意图。
图6是宏指令译码器在MCOS体系中的控制关系图。
图7是MD5 IP部件的一个实例的接口示意图。
图8是SHA1 IP部件的一个实例的接口示意图。
图9是比较IP部件的一个实例的接口示意图。
图10是本发明动态安全度量的实现方法的第一实施例的流程示意图。
图11是根据本发明安全度量的实现方法的第二实施例的流程示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
本发明在启动某一部件(例如,硬件或软件)之前、使用该部件的过程中以及任何用户想进行度量的时刻,通过对其进行安全度量,验证该部件是否被篡改,从而保证系统和/或软件信息的安全性。本发明采用硬件结构实现安全度量,在很大程度上提高了系统的性能。
图2是具有本发明的安全度量装置的应用系统的一个例子的结构示意图。
如图2所示,与图1的现有技术相比,该应用系统20还包括安全度量装置21。图2示出的是一个应用系统的实例,在实际应用中并不仅限于此,该应用系统可以还包含其他部件,或者包含图2中示出的部分部件。例如,应用系统可以是数字信号处理系统或以WINDOWS、Linux等操作系统为基础的主机系统。其中,安全度量装置21用于接收应用系统的系统和/或软件信息(例如,该信息可以是软件代码文件、各种进程、硬件的特征值、固件的特征值等),对接收的系统和/或软件信息进行度量操作,将度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态。将安全度量装置集成到应用系统中,通过该安全度量装置来检查应用系统中被调用的系统资源和应用软件等的完整性,从而保护应用系统的安全。
图3是具有本发明的安全度量装置的应用系统的另一例子的结构示意图。
如图3所示,该应用系统30中的安全度量装置31包括:控制模块311,用于获取待度量的系统和/或软件信息,向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器,将比较比较结果状态返回给用户,由用户选择是否执行或调用该系统和/或软件信息;安全处理器312,用于根据来自控制模块的度量比对指令对接收的系统和/或软件信息进行度量操作,并将度量操作获得的度量结果和度量基准值进行比较,根据比较结果向控制模块返回比较结果状态,如果两者不一致,则返回比对不正确的结果状态,表明被度量的系统和/或软件信息与初始化时不一致,可能该系统和/或软件信息被篡改攻击;如果两者一致,则返回比对正确的结果状态,表明该系统和/或软件信息与初始化时一致,该系统和/或软件信息未被篡改过,仍然可信。
另外,控制模块与通用处理器之间可以通过任何现有的接口来通信,例如,通用串行总线(USB,Universal Serial Bus)接口,外围设备接口(PCI)或低阶通道连接(LPC,Lower Order Path Connection)接口。
在本发明应用系统的一个实施例中,还可以在操作系统中嵌入控制模块,由该控制模块控制对操作系统及操作系统上层的应用软件系统的度量操作。在操作系统或应用软件系统调用软件之前,由该控制模块获取被调用的软件信息,将度量比对指令与该被调用的软件信息一起发送到安全处理器,由安全处理器执行度量比对操作,再由控制模块将比较结果状态返回给用户。
在本发明应用系统的另一实施例中,还可以在BIOS中嵌入控制模块,与上一实施例类似,由该控制模块控制对BIOS、操作系统和应用软件系统的度量操作。在需要度量时,控制模块将度量比对指令与BIOS、操作系统或应用软件一起发送到安全处理器,由安全处理器完成对这些待度量信息的度量比对。
在又一实施例中,控制模块还用于在应用系统初始化时向安全处理器发送度量存储指令,并将需要被度量的系统和/或软件信息发送到安全处理器;安全处理器还用于根据来自控制模块的度量存储指令对接收的需要被度量的系统和/或软件信息进行度量操作,存储度量操作的结果作为度量基准值。
接下来再介绍一个具有本发明的安全度量装置的应用系统的实例。
在该实例中,安全度量装置中的安全处理器包括:存储器,用于存储度量基准值;宏指令译码器,用于对来自控制模块的度量比对指令进行译码获得散列运算指令和比较指令,将散列运算指令和比较指令分别发送给散列运算IP(Intellectual Property,知识产权)部件和比较IP部件;散列运算IP部件,用于接收散列运算指令,根据散列运算指令对系统和/或软件信息进行度量操作,将度量结果发送给比较IP部件;比较IP部件,用于接收比较指令,将来自散列运算IP部件的度量结果与存储在存储器中的度量基准值进行比较,输出比较结果。
图4是本发明安全度量装置的第一实施例的结构示意图。
如图4所示,该安全度量装置40包括控制模块41和安全处理器42。其中,控制模块41,用于获取应用系统资源信息,向安全处理器发送度量比对指令,并将获取的应用系统资源信息发送到安全处理器;安全处理器42,用于根据来自控制模块的度量比对指令对接收的应用系统资源信息进行度量操作,并将度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态,如果两者不一致,则返回比对不正确的结果状态,表明被度量的系统和/或软件信息与初始化时不一致,可能该系统和/或软件信息被篡改攻击;如果两者一致,则返回比对正确的结果状态,表明该系统和/或软件信息与初始化时一致,该系统和/或软件信息未被篡改过,仍然可信。
上述比较时所需的度量基准值可以被预存在安全处理器的非易失性存储器中、存储在安全处理器之外的另一安全设备中、或通过具有如下功能的控制模块与安全处理器进行计算和存储以防止度量基准值被篡改。
下述表1给出了一个存储度量基准值的实例。
 待度量系统和/或软件信息的标识   度量基准值
 1   Value 1
 2   Value 2
 3   Value 3
 4   Value 4
表1
例如,待度量系统和/或软件信息的标识1、2、3和4分别代表应用程序1、2、3和4。
根据本发明的安全度量装置的一个实施例,控制模块在应用系统初始化时向安全处理器发送度量存储指令,将需要被度量的系统和/或软件信息发送到安全处理器;安全处理器根据来自控制模块的度量存储指令对接收的需要被度量的系统和/或软件信息进行度量操作,存储度量操作的结果作为度量基准值。在该实施例中,度量操作为散列运算,散列运算可以采用例如MD5(Message Digest 5,消息摘要5)或SHA1(SeeurityHash Algorithm 1,安全散列算法)算法。
根据本发明的安全度量装置的另一实施例,度量比对指令和度量存储指令为宏指令。宏指令具有不同层次(功能粒度)的独立操作功能,可被当作指令一样实现程序设计。其中,基本宏指令是功能粒度较小的、具有独立操作功能的配置文件编码;一个在算法中使用频度较高的、功能粒度较大的宏指令,按其独立操作功能的需求(即,既操作的分解),以专用配置文件编码的方式构成。一个宏指令可利用MCOS系统(MCOS系统是宏指令体系的芯片操作系统的简称,其作用是实现安全策略设计、控制安全通讯协议实现、管理数据接口、实施密钥和数据的传输认证、控制密钥生成、兼容安全级别和明话、密话操作以及监测主动攻击等)的配置文件,通过对其他宏指令的配置文件的编码的嵌套、调用实现其功能;每一个宏指令可利用MCOS系统的配置文件,建立一个代码;一个宏指令可利用宏指令格式的设计,将其他宏指令的代码编排、组合在宏指令格式中,通过宏指令译码器的译码控制实现其功能。宏指令明显的优势是将复杂的配置文件设计转换为程序设计,而程序设计中所使用到的宏指令直接就是分解算法产生的独立操作功能,从而缩短配置文件的研制周期,使设计更加灵活快速。
图5是本发明安全度量装置的第二实施例的结构示意图。
如图5所示,安全度量装置50中的安全处理器51包括:存储器511,用于存储度量基准值;宏指令译码器514,用于对来自控制模块的度量比对指令进行译码获得散列运算指令和比较指令,将散列运算指令发送给散列运算IP部件,将比较指令发送给比较IP部件,以控制散列运算IP部件和比较IP部件的操作。散列运算IP部件512,用于接收散列运算指令,根据散列运算指令中包含的系统和/或软件信息的存储地址,读取系统和/或软件信息并实现度量操作,将度量的结果发送给比较IP部件;比较IP部件513,用于接收比较指令,将来自散列运算IP部件的度量结果与存储在存储器中的度量基准值进行比较,输出比较结果,如果两者不一致,则返回比对不正确的结果状态,表明被度量的系统和/或软件信息与初始化时不一致,可能该系统和/或软件信息被篡改攻击;如果两者一致,则返回比对正确的结果状态,表明该系统和/或软件信息与初始化时一致,该系统和/或软件信息未被篡改过,仍然可信。
在该实施例中,通过散列运算IP部件和比较IP部件完成度量操作,可以满足完整性度量对硬件系统的性能要求,使得安全度量装置具有较高的性能。
其中,存储器511中存储的度量基准值可以是预先存储的,也可以是在系统初始化时由安全处理器利用散列运算IP部件计算后存储的。另外,还可以将存储器511置于另一安全设备中。
当散列运算采用MD5算法时,其散列运算指令的一个实例包括三个域:格式、子功能1和子功能2。
当散列运算采用SHA1算法时,其散列运算指令的一个实例包括三个域:格式、子功能1和子功能2。
比较指令的一个实例包括四个域:格式、子功能1、子功能2和子功能3。
图6是宏指令译码器在MCOS体系中的控制关系图。
如图6所示,宏指令译码器61是由协议译码器62来驱动的,宏指令译码器的指令来源主要有:协议译码器62和系统管理器63两个模块。宏指令译码器的工作方式为串行。在操作时,先将操作数准备到公共存储器66中,宏指令译码器61对接收到的宏指令进行译码,然后根据译码后的结果驱动可重组IP 64和/或可配置IP 65,若干周期后由可重组IP和/或可配置IP将运算结果放入确定的存储器单元中。
上述图5中所示出的其他IP部件可以参考图7至图9中的具体实现。
图4和图5中的实施例可以根据控制模块发送的度量比对指令对被调用的系统和/或软件信息进行度量,再将度量的结果与存储的度量基准值进行比对以根据比对的结果确定被调用的系统和/或软件信息是否被篡改,从而在系统和/或软件信息被加载到应用系统之前接受完整性检查,进而可以保护应用系统的安全。
上述散列运算IP部件是一种可重组的IP部件,例如,可以是能够进行独立操作的粗粒度IP部件MD5或SHA1。在操作时,先将操作数准备到公共存储器中,然后发送宏指令驱动该MD5或SHA1 IP部件,若干周期后由IP部件将运算结果放入确定的存储器单元中。
例如,具体地,MD5算法以512位分组来处理输入文本,每一分组又划分为16个32位子分组,算法的输出由4个32位分组组成,将它们级联形成一个128位散列值。主循环有4轮,每轮很相似,每一轮进行16次操作,每次操作对4个常数a、b、c和d中的3个作一次非线性函数运算,然后将所得结果加上第四个变量文本的一个子分组和一个常数,再将所得结果向右环移一个不定的数,并加上a、b、c、d中之一,结果取代a、b、c、d之一。
图7是MD5 IP部件的一个实例的接口示意图。
如图7所示,对该模块的外部信号说明如下述表2:
  信号名称   信号方向   信号功能   信号说明
  BUSY   OUT   运算忙信号   当模块被占用时此信号为高电平
  OV   OUT   运算结束信号   运算结束发出一周期高脉冲
  MD5_OUT<127:0>   OUT   数据传输总线   数据输出,位宽128位
  RAM1_4S<1:0>   OUT   数据来源选择   体系中存储器1~4数据来源选择为00:选择来源存储器1的数据为01:选择来源存储器2的数据为10:选择来源存储器3的数据为11:选择来源存储器4的数据
  E_MD5   IN   运算使能信号   一周期高脉冲信号
  CLK   IN   系统主时钟   模块实际使用时钟
  RST   IN   复位信号   系统复位低有效
  RAM1_4QQ<127:0>   IN   数据输入   来自存储器1~4的数据
  RAMQQ1<127:0>   IN   数据输入   来自存储器1的数据
  SCEN1   OUT   存储器片选信号   存储器1片选信号,低有效
  SCEN2   OUT   存储器片选信号   存储器2片选信号,低有效
  SCEN3   OUT   存储器片选信号   存储器3片选信号,低有效
  SCEN4   OUT   存储器片选信号   存储器4片选信号,低有效
  SWEN1   OUT   存储器读写信号   存储器1读写信号,片选有效时0读1写
  SWEN2   OUT   存储器读写信号   存储器2读写信号,片选有效时0读1写
  SWEN3   OUT   存储器读写信号   存储器3读写信号,片选有效时0读1写
  SWEN4   OUT   存储器读写信号   存储器4读写信号,片选有效时0读1写
  SADDR1<2:0>   OUT   存储器地址   存储器1地址信号000~111表示1~8单元
  SADDR2<2:0>   OUT   存储器地址   存储器2地址信号000~111表示1~8单元
  SADDR3<2:0>   OUT   存储器地址   存储器3地址信号000~111表示1~8单元
  SADDR4   OUT   存储器地   存储器4地址信号000~111表示
  <2:0>   址   1~8单元
表2
对该模块基本特性的描述如下:
(1)面积:4570门
(2)延时:28.67ns
(3)周期=1810周期,使用主频为:15MHz
(4)速度:4.24Mbps
(5)使用方法:本算法用到8×128的RAM四块。运算前需要将512位明文存储到RAM1的单元1~4(1到4数据从高到低排列),128位初始化值(A、B、C、D)67452301efcdab8998badcfe10325476存放到RAM2单元1,将2048位常数d76aa478e8c7b756242070dbc1bdceee存放到RAM3单元1;f57c0faf4787c62aa8304613fd469501存放到RAM3单元2;698098d88b44f7afffff5bb1895cd7be存放到RAM3单元3;6b901122fd987193a679438e49b40821存放到RAM3单元4;f61e2562c040b340265e5a51e9b6c7aa存放到RAM3单元5;d62f105d02441453d8a1e681e7d3fbc8存放到RAM3单元6;21e1cde6c33707d6f4d50d87455a14ed存放到RAM3单元7;a9e3e905fcefa3f8676f02d98d2a4c8a存放到RAM3单元8;fffa39428771f6816d9d6122fde5380c存放到RAM4单元1;a4beea444bdecfa9f6bb4b60bebfbc70存放到RAM4单元2;289b7ec6eaa127fad4ef308504881d05存放到RAM4单元3;d9d4d039e6db99e51fa27cf8c4ac5665存放到RAM4单元4;f4292244432aff97ab9423a7fc93a039存放到RAM4单元5;655b59c38f0ccc92ffeff47d85845dd1存放到RAM4单元6;6fa87e4ffe2ce6e0a30143144e0811a1存放到RAM4单元7;f7537e82bd3af2352ad7d2bbeb86d391存放到RAM4单元8,发送MD5运算使能信号E_MD5(一周期高脉冲),运算结束将产生的128位摘要存储到RAM1的单元1。在下次调用时需要重新发送明文,若重新计算新的一包摘要则需要在重新发常数A、B、C、D,若继续计算则不需要重新发送。
明文示例:ABC
填充后为:
61626380000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000001800000000000000
测试输入为:
80636261000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000001800000000
运算128位结果:900150983cd24fb0d6963f7d28e17f72
(6)存储器使用情况:
存储器1单元1~4存明文及中间结果;存储器2单元1存初始值,2、3单元存中间结果;存储器3、4的全部存常数。
另外,SHA1算法与MD5算法类似,但有5个变量,主循环有4轮,每轮很类似,每一轮进行20次操作。
图8是SHA1 IP部件的一个实例的接口示意图。
如图8所示,对该模块的外部信号说明如下述表3:
  信号名称   信号方向   信号功能   信号说明
  BUSY   OUT   运算忙信号   当模块被占用时此信号为高电平
  OV   OUT   运算结束信号   运算结束发出一周期高脉冲
  SHA1_OUT<127:0>   OUT   数据传输总线   数据输出,位宽128位
  RAM1_4S<1:0>   OUT   数据来源选择   体系中存储器1~4数据来源选择为00:选择来源存储器1的数据为01:选择来源存储器2的数据为10:选择来源存储器3的数据为11:选择来源存储器4的数据
  E_SHA1   IN   运算使能信号   一周期高脉冲信号
  CLK   IN   系统主时钟   模块实际使用时钟
  RST   IN   复位信号   系统复位低有效
  RAM1_4QQ<127:0>   IN   数据输入   来自存储器1~4的数据
  RAMQQ1<127:0>   IN   数据输入   来自存储器1的数据
  SCEN1   OUT   存储器片选信号   存储器1片选信号,低有效
  SCEN2   OUT   存储器片选信号   存储器2片选信号,低有效
  SCEN4   OUT   存储器片选信号   存储器4片选信号,低有效
  SWEN1   OUT   存储器读写信号   存储器1读写信号,片选有效时0读1写
  SWEN2   OUT   存储器读写信号   存储器2读写信号,片选有效时0读1写
  SWEN4   OUT   存储器读写信号   存储器4读写信号,片选有效时0读1写
  SADDR1<2:0>   OUT   存储器地址   存储器1地址信号000~111表示1~8单元
  SADDR2   OUT   存储器地址   存储器2地址信号000~111表示
  <2:0>  1~8单元
  SADDR4<2:0>   OUT   存储器地址  存储器4地址信号000~111表示1~8单元
表3
对该模块基本特性的描述如下:
(1)面积:4720门
(2)延时:29.65ns
(3)周期=3758周期,使用主频为:15MHz
(4)速度:2.04Mbps
(5)使用方法:本算法用到8×128的RAM三块。运算前需要将512位明文存储到RAM1的单元1~4(1到4数据从高到低排列),160位初始化值(A、B、C、D、E)67452301efcdab8998badcfe10325476c3d2e1f0存放到RAM2中,高128位存到单元1,低32位存到单元2的高32位,将128位常数5a8279996ed9eba18f1bbcdcca62c1d6存放到RAM2的单元3,发送SHA1运算使能信号E_SHA1(一周期高脉冲),运算结束将产生的160位摘要的高128位存到RAM1的单元1,低32位存到RAM1的单元2的高32位。在下次调用时需要重新发送明文,若重新计算新的一包摘要则需要重新发初始化值,若继续计算则不要重新发送。
明文示例:ABC
填充后为:
61626380000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000018
测试输入:
61626380000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000018
运算160位结果:
a9993e364706816aba3e25717850c26c9cd0d89d
(6)存储器使用情况:
存储器1单元1~4存明文,5~8单元存中间结果;存储器2单元1~3存初始值及常数,4~8单元存中间结果;存储器4的全部单元存中间结果。
比较(CMP)IP部件是一种可配置IP部件,其能够在单周期内完成8/16/32位的两个数据的大小比较,比较后给出大于、等于或小于的标志信号。
图9是比较IP部件的一个实例的接口示意图。
如图9所示,对该模块的外部信号说明如下述表4:
  信号名称   I/O信号方向   规格  信号说明
  IMMD128   IN   128bit  比较模块A路数据来源(立即数)
  DATAPATHQ   IN   128bit  比较模块A路散据来源,B路数据来源(操作数寄存器数据)
  CMPRS   IN   3bit  比较器数据来源控制域
  CMPOP   IN   2bit  比较操作功能控制
  GT   OUT   1bit  大于信号,高电平有效
  EQ   OUT   1bit  等于信号,高电平有效
  LS   OUT   1bit  小于信号,高电平有效
表4
该比较模块能够支持8、16、32位数据的大小比较操作。使用1个32位的比较器,通过对输入位数小于32位的数据在高位补0的方法来实现不同规格的数据的比较。
其中,对于CMPOP的具体描述如下述表5:
  CMPOP<1:0>   功能
  00   32位数据比较
  01   16位数据比较
  10   8位数据比较
  11   保留
表5
对于CMPRS的具体描述如下述表6和表7:
  CMPRS<2>   比较器数据来源控制域
  0   A路数据来源于存储器
  1   A路数据来源于立即数
表6
  CMPRS<1:0>   比较器数据来源控制域
  00   128位的最低32位相比较
  01   128位的次低32位相比较
  10   128位的次高32位相比较
  11   128位的最高32位相比较
表7
当CMPRS<2>为1时,对存储器读一次后,在操作数寄存器OPREG不变的情况下可以连续进行4次32位的数据比较,从而完成1组128位的数据的大小比较;当CMPRS<2>为0时,两路数据都来源于存储器,这是操作数寄存器为比较器的操作数据来源,因此只能进行两次32位的比较。
图10是本发明动态安全度量的实现方法的第一实施例的流程示意图。
如图10所示,该实现方法包括:
S1002,在系统运行过程中,控制系统向安全处理器发送度量比对指令,并将系统和/或软件信息发送到安全处理器,其中,控制系统可以定期地或者在系统和/或软件被调用时向安全处理器发送度量比对指令,系统和/或软件信息以数据包的形式被发送到安全处理器;
S1004,安全处理器根据度量比对指令对接收的系统和/或软件信息进行度量操作;
S1006,安全处理器将度量操作获得的度量结果和存储的度量基准值进行比较,如果不一致,安全处理器返回比对不正确的结果状态,表明被度量的系统和/或软件信息与初始化时不一致,可能该系统和/或软件信息已被篡改攻击,如果一致,安全处理器返回比对正确的结果状态,表明被度量比对的系统和/或软件信息与初始化时一致,仍然可信。
其中,在系统初始化时,所有安装的系统和/或软件信息均为可信的,可以将这些被安装的系统和/或软件信息的正确度量基准值(即,所有代码的散列值)预存在安全处理器的非易失性存储器中、存储在安全处理器之外的另一安全设备中、或可以通过如下步骤获得并存储:
控制系统向安全处理器发送度量存储指令,并将需要被度量的系统和/或软件信息以数据包的形式发送到安全处理器;安全处理器根据度量存储指令对接收的需要被度量的系统和/或软件信息进行度量操作,存储度量操作的结果作为度量基准值,该度量存储指令可以为宏指令。
另外,上述实施例所使用的度量比对指令可以为宏指令;度量操作可以为散列运算,进一步地,可以使用MD5或SHA1等算法。
图11是根据本发明安全度量的实现方法的第二实施例的流程示意图。
在该实施例的具体实现过程中,可以利用MCOS所提供的算法资源IP模块,根据用户算法应用要求设计用户自定义的算法,并加载于芯片中。
如图11所示,该实施例包括:
S1102,通过宏指令译码器对度量比对指令进行译码,将译码后的指令发送给散列运算IP部件和比较IP部件;
S1104,散列运算IP部件根据译码后的指令对系统和/或软件信息进行度量操作;
S1106,比较IP部件比较散列运算IP部件的度量操作的结果和存储的度量基准值,输出比较结果。
上述宏指令译码器主要是对一个能访问应用系统资源的控制系统发来的宏指令进行译码,通过译码的结果来控制可重组IP和配置IP等以实现宏指令的功能。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (6)

1.一种安全度量装置,其特征在于,所述安全度量装置包括:
控制模块,用于获取系统和/或软件信息,向安全处理器发送度量比对指令,并将所述系统和/或软件信息发送到所述安全处理器;
所述安全处理器,用于根据来自所述控制模块的所述度量比对指令对接收的所述系统和/或软件信息进行度量操作,并将所述度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态;
其中,所述安全处理器包括:
存储器,用于存储所述度量基准值;
宏指令译码器,用于对来自所述控制模块的所述度量比对指令进行译码获得散列运算指令和比较指令,将所述散列运算指令和所述比较指令分别发送给散列运算IP部件和比较IP部件;
散列运算IP部件,用于接收所述散列运算指令,根据所述散列运算指令对所述系统和/或软件信息进行所述度量操作,将度量结果发送给比较IP部件;
比较IP部件,用于接收所述比较指令,将来自所述散列运算IP部件的度量结果与存储在所述存储器中的所述度量基准值进行比较,输出比较结果。
2.根据权利要求1所述的安全度量装置,其特征在于,
所述控制模块,还用于在系统初始化时向所述安全处理器发送度量存储指令,并将需要被度量的系统和/或软件信息发送到所述安全处理器;
所述安全处理器,还用于根据来自所述控制模块的所述度量存储指令对接收的所述需要被度量的系统和/或软件信息进行所述度量操作,存储度量操作的结果作为所述度量基准值。
3.一种进行安全度量的应用系统,其特征在于,所述应用系统包括:
安全度量装置,用于接收所述应用系统的系统和/或软件信息,对接收的所述系统和/或软件信息进行度量操作,将所述度量操作获得的度量结果和度量基准值进行比较,根据比较结果返回比较结果状态;
所述安全度量装置包括:
控制模块,用于获取所述系统和/或软件信息,向安全处理器发送度量比对指令,并将所述系统和/或软件信息发送到所述安全处理器,返回比较结果状态;
所述安全处理器,用于根据来自所述控制模块的所述度量比对指令对接收的所述系统和/或软件信息进行度量操作,并将所述度量操作获得的度量结果和度量基准值进行比较,根据比较结果向所述控制模块返回所述比较结果状态;
其中,所述安全处理器包括:
存储器,用于存储所述度量基准值;
宏指令译码器,用于对来自所述控制模块的所述度量比对指令进行译码获得散列运算指令和比较指令,将所述散列运算指令和比较指令分别发送给散列运算IP部件和比较IP部件;
散列运算IP部件,用于接收所述散列运算指令,根据所述散列运算指令对所述系统和/或软件信息进行所述度量操作,将度量结果发送给比较IP部件;
比较IP部件,用于接收所述比较指令,将来自所述散列运算IP部件的度量结果与存储在所述存储器中的所述度量基准值进行比较,输出比较结果。
4.一种应用权利要求1所述的安全度量装置实现动态安全度量的方法,其特征在于,所述方法包括:
控制模块向安全处理器发送度量比对指令,并将系统和/或软件信息发送到所述安全处理器;
所述安全处理器根据所述度量比对指令对接收的所述系统和/或软件信息进行度量操作;
所述安全处理器将所述度量操作获得的度量结果和存储的度量基准值进行比较,根据比较结果返回比较结果状态;
其中
所述安全处理器根据所述度量比对指令对接收的所述系统和/或软件信息进行度量操作、所述安全处理器将所述度量操作获得的度量结果和存储的度量基准值进行比较、根据比较结果返回比较结果状态包括:
通过宏指令译码器对所述度量比对指令进行译码,将译码后的指令发送给散列运算IP部件和比较IP部件;
所述散列运算IP部件根据译码后的指令对所述系统和/或软件信息进行所述度量操作;
所述比较IP部件比较所述散列运算IP部件的度量操作的结果和存储的度量基准值,输出比较结果。
5.根据权利要求4所述的动态安全度量的实现方法,其特征在于,所述控制模块定期或者在所述系统和/或软件被调用时向所述安全处理器发送所述度量比对指令,所述系统和/或软件信息以数据包的形式被发送到所述安全处理器。
6.根据权利要求4所述的动态安全度量的实现方法,其特征在于,所述度量比对指令为宏指令,所述度量操作为散列运算。
CN2009101613651A 2009-08-10 2009-08-10 动态安全度量的实现方法、安全度量装置和应用系统 Active CN101996286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101613651A CN101996286B (zh) 2009-08-10 2009-08-10 动态安全度量的实现方法、安全度量装置和应用系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101613651A CN101996286B (zh) 2009-08-10 2009-08-10 动态安全度量的实现方法、安全度量装置和应用系统

Publications (2)

Publication Number Publication Date
CN101996286A CN101996286A (zh) 2011-03-30
CN101996286B true CN101996286B (zh) 2013-01-16

Family

ID=43786433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101613651A Active CN101996286B (zh) 2009-08-10 2009-08-10 动态安全度量的实现方法、安全度量装置和应用系统

Country Status (1)

Country Link
CN (1) CN101996286B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880826A (zh) * 2012-08-29 2013-01-16 华南理工大学 一种电子政务云平台安全性的动态完整性度量方法
US9167002B2 (en) * 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
CN105190637A (zh) * 2014-03-04 2015-12-23 华为技术有限公司 软件安全性检测方法、装置及设备
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置
CN106709351A (zh) * 2017-02-22 2017-05-24 郑州云海信息技术有限公司 一种软件基本信任机制的处理方法及相关设备
CN110874494B (zh) * 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密码运算处理方法、装置、系统及度量信任链构建方法
CN113312634A (zh) * 2021-07-28 2021-08-27 深圳市永达电子信息股份有限公司 信任链传递方法、装置、电子设备及存储介质
CN114201747B (zh) * 2021-11-29 2022-12-13 海光信息技术股份有限公司 一种动态度量根实现方法、装置、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038556A (zh) * 2007-04-30 2007-09-19 中国科学院软件研究所 可信引导方法及其系统
CN101122937A (zh) * 2007-09-21 2008-02-13 武汉大学 由星型信任链支持的嵌入式平台安全引导机制

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038556A (zh) * 2007-04-30 2007-09-19 中国科学院软件研究所 可信引导方法及其系统
CN101122937A (zh) * 2007-09-21 2008-02-13 武汉大学 由星型信任链支持的嵌入式平台安全引导机制

Also Published As

Publication number Publication date
CN101996286A (zh) 2011-03-30

Similar Documents

Publication Publication Date Title
CN101996286B (zh) 动态安全度量的实现方法、安全度量装置和应用系统
US10291390B2 (en) Endecryptor preventing side channel attack, driving method thereof and control device having the same
US10546157B2 (en) Flexible counter system for memory protection
EP3198781B1 (en) Techniques for distributing secret shares
US9048834B2 (en) Grouping of physically unclonable functions
US10396978B2 (en) Crypto devices, storage devices having the same, and encryption and decryption methods thereof
KR102208072B1 (ko) 데이터 처리 시스템
US20140037093A1 (en) Method of managing key for secure storage of data and apparatus therefor
US9343162B2 (en) Protection against side-channel attacks on non-volatile memory
US11620398B2 (en) Techniques to protect fuses against non-destructive attacks
CN111309248A (zh) 与安全存储器存取有关的方法、系统和设备
US10073661B2 (en) Security extensions for non-volatile memory
CN104767761A (zh) 一种云存储平台访问控制方法及装置
US8719588B2 (en) Memory address obfuscation
CN104899502B (zh) 用于对受保护的硬件资源的软件启用接入的装置和方法
CN112580114A (zh) 一种信息处理方法、装置、设备及存储介质
CN111386513B (zh) 数据处理的方法、装置和系统芯片
US9053325B2 (en) Decryption key management system
CN105512560A (zh) 一种一次性可编程存储器芯片和及其的控制方法
CN109753821A (zh) 数据存取装置及方法
CN111147430A (zh) 一种应用于智能家庭网关的加密方法及装置
CN113448891B (zh) 存储器控制器以及用于监测对存储模块的访问的方法
CN105868642A (zh) 数据加密的闪存控制器以及写入或读取数据加密方法
CN112329046B (zh) 安全通信方法、装置、电子设备及计算机可读存储介质
CN112688953B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
DD01 Delivery of document by public notice

Addressee: BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co.,Ltd.

Document name: Review of business letter

ASS Succession or assignment of patent right

Owner name: NANSI SCIENCE AND TECHNOLOGY DEVELOPMENT CO LTD, B

Free format text: FORMER OWNER: BEIJING WISDOM TECHNOLOGY DEVELOPMENT CO., LTD.

Effective date: 20141009

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100091 HAIDIAN, BEIJING

DD01 Delivery of document by public notice

Addressee: Beijing Duosi science and technology development limited company finance

Document name: Notification of Approving Refund

TR01 Transfer of patent right

Effective date of registration: 20141009

Address after: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee after: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

Address before: 100080, Beijing, Zhongguancun Haidian District South Avenue, building 56, B801

Patentee before: BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co.,Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160223

Address after: 100095, room 108, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee after: Beijing Duosi security chip technology Co.,Ltd.

Address before: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee before: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

DD01 Delivery of document by public notice

Addressee: Zhou Yan

Document name: Notification of Passing Examination on Formalities

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160713

Address after: 100195, room 106, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee after: BEIJING TIANHONGYI NETWORK TECHNOLOGY Co.,Ltd.

Address before: 100019, room 108, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee before: Beijing Duosi security chip technology Co.,Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160720

Address after: 100195, room 109, block G, Beijing quiet garden, 25 North Road, North Hollywood village, Beijing, Haidian District

Patentee after: BEIJING DUOSI TECHNOLOGY SERVICE CO.,LTD.

Address before: 100195, room 106, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee before: BEIJING TIANHONGYI NETWORK TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100192 no.814, 8th floor, building 26, yard 1, Baosheng South Road, Haidian District, Beijing

Patentee after: BEIJING DUOSI TECHNOLOGY SERVICE CO.,LTD.

Address before: 100195 room 109, block G, Beijing static core garden 25, North Wu Village, Haidian District, Beijing.

Patentee before: BEIJING DUOSI TECHNOLOGY SERVICE CO.,LTD.