首页> 中国专利> 动态安全度量的实现方法、安全度量装置和应用系统

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

摘要

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

著录项

  • 公开/公告号CN101996286A

    专利类型发明专利

  • 公开/公告日2011-03-30

    原文格式PDF

  • 申请/专利权人 北京多思科技发展有限公司;

    申请/专利号CN200910161365.1

  • 发明设计人 刘大力;曹春春;

    申请日2009-08-10

  • 分类号G06F21/00(20060101);G06F11/36(20060101);H04L29/06(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人孙宝海

  • 地址 100080 北京市海淀区中关村南大街甲56号方圆大厦B801

  • 入库时间 2023-12-18 02:05:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-10

    专利权的转移 IPC(主分类):G06F21/50 登记生效日:20160720 变更前: 变更后: 申请日:20090810

    专利申请权、专利权的转移

  • 2016-08-03

    专利权的转移 IPC(主分类):G06F21/50 登记生效日:20160713 变更前: 变更后: 申请日:20090810

    专利申请权、专利权的转移

  • 2016-03-23

    文件的公告送达 IPC(主分类):G06F21/50 收件人:周燕 文件名称:手续合格通知书 申请日:20090810

    文件的公告送达

  • 2016-03-16

    专利权的转移 IPC(主分类):G06F21/50 登记生效日:20160223 变更前: 变更后: 申请日:20090810

    专利申请权、专利权的转移

  • 2014-10-29

    专利权的转移 IPC(主分类):G06F21/50 变更前: 变更后: 登记生效日:20141009 申请日:20090810

    专利申请权、专利权的转移

  • 2014-10-29

    文件的公告送达 IPC(主分类):G06F21/50 收件人:北京多思科技发展有限公司财务 文件名称:退款审批通知书 申请日:20090810

    文件的公告送达

  • 2014-10-22

    文件的公告送达 IPC(主分类):G06F21/50 收件人:北京多思科技发展有限公司 文件名称:审查业务专用函 申请日:20090810

    文件的公告送达

  • 2013-01-16

    授权

    授权

  • 2011-05-18

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20090810

    实质审查的生效

  • 2011-03-30

    公开

    公开

查看全部

说明书

技术领域

本发明涉及网络安全技术,更具体地,涉及一种动态安全度量的实现方法、安全度量装置及应用系统。

背景技术

安全度量通常指系统和/或信息的完整性度量。目前,现有系统中通常采用静态度量,即在被度量实体执行时刻或者约定的时刻进行度量。图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是MD5IP部件的一个实例的接口示意图。

图8是SHA1IP部件的一个实例的接口示意图。

图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(Security Hash 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或SHA1IP部件,若干周期后由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是MD5IP部件的一个实例的接口示意图。

如图7所示,对该模块的外部信号说明如下述表2:

表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是SHA1IP部件的一个实例的接口示意图。

如图8所示,对该模块的外部信号说明如下述表3:

表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:

表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等以实现宏指令的功能。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号