CN116561772A - 可信静态度量值计算方法、装置、存储介质及处理器 - Google Patents

可信静态度量值计算方法、装置、存储介质及处理器 Download PDF

Info

Publication number
CN116561772A
CN116561772A CN202310844077.6A CN202310844077A CN116561772A CN 116561772 A CN116561772 A CN 116561772A CN 202310844077 A CN202310844077 A CN 202310844077A CN 116561772 A CN116561772 A CN 116561772A
Authority
CN
China
Prior art keywords
data
hash
attribute data
metric value
static state
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.)
Granted
Application number
CN202310844077.6A
Other languages
English (en)
Other versions
CN116561772B (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 Smartchip Microelectronics Technology Co Ltd
Beijing Smartchip Semiconductor Technology Co Ltd
Original Assignee
Beijing Smartchip Microelectronics Technology Co Ltd
Beijing Smartchip Semiconductor Technology 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 Smartchip Microelectronics Technology Co Ltd, Beijing Smartchip Semiconductor Technology Co Ltd filed Critical Beijing Smartchip Microelectronics Technology Co Ltd
Priority to CN202310844077.6A priority Critical patent/CN116561772B/zh
Publication of CN116561772A publication Critical patent/CN116561772A/zh
Application granted granted Critical
Publication of CN116561772B publication Critical patent/CN116561772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种可信静态度量值计算方法、装置、存储介质及处理器,属于信息安全领域。所述可信静态度量值计算方法包括:获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。通过将应用源数据和应用属性数据加入到静态度量值的计算过程中,使得计算得到的静态度量值是基于多个因子得到的,相对于现有技术中采用单一源数据计算,采用本实施例中的方法计算得到静态度量值更加完整,提高了静态度量值的可靠性。

Description

可信静态度量值计算方法、装置、存储介质及处理器
技术领域
本发明涉及信息安全技术领域,具体地涉及一种可信静态度量值计算方法、一种可信静态度量值计算装置、一种机器可读存储介质及一种处理器。
背景技术
信息安全,通常包括三个因素:保密性、完整性、可用性。随着科技的发展,对计算机系统的保密性、完整性提出了更高的要求。可信计算作为信息安全领域一个新的发展方向收到越来越多的研究人员以及机构的重视。为解决来自终端系统内部的安全威胁,现在的嵌入式终端应用程序的可信度量一般采用静态度量的方法进行安全防护。
静态度量通常指在运行环境初装或重启时对其镜像的度量。在度量过程中通过验证终端应用程序的度量值以判断嵌入式终端应用程序是否为可信的应用程序。现有的可信静态度量值计算方法是基于可执行程序的内核代码段计算得到度量值,这种计算静态度量值的方法的源数据单一,无法拦截复制、改名、移动位置后的应用程序启动。
因此,现有的可信静态度量值计算方法存在用于计算的源数据单一,导致得到的静态度量值不够完整的问题。
发明内容
本发明实施例的目的是提供一种可信静态度量值计算方法、一种可信静态度量值计算装置、一种机器可读存储介质及一种处理器,该可信静态度量值计算方法计算得到静态度量值更加完整,提高了静态度量值的可靠性。
为了实现上述目的,本发明第一方面提供一种可信静态度量值计算方法,包括:
获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
在本申请实施例中,所述应用属性数据包括多个类型的属性数据;
所述将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值,包括:
依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
在本申请实施例中,所述依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值,包括:
A1:在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
A2:将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
A3:在未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
A4:将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
A5:重复执行A3-A4,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
在本申请实施例中,所述采用哈希算法对所述应用源数据进行哈希运算,包括:
判断所述待度量文件是否为可执行的应用文件;
确定所述待度量文件为可执行的应用文件,采用哈希算法对所述应用源数据进行哈希运算。
在本申请实施例中,还包括所述应用源数据的读取,包括:
通过fopen接口以只读方式打开所述待度量文件,并通过fread接口读取所述待度量文件中的全部数据,以得到应用源数据。
在本申请实施例中,在得到静态度量值之后,还包括:
将所述静态度量值发送至安全模块存储。
在本申请实施例中,所述将所述静态度量值发送至安全模块存储,包括:
采用非对称加密算法对所述静态度量值进行签名运算,得到签名结果;
将所述静态度量值与所述签名结果进行拼接,得到加密静态度量值,并将所述加密静态度量值发送至安全模块存储。
在本申请实施例中,所述安全模块的存储过程包括:
在所述安全模块接收到所述加密静态度量值后,判断所述加密静态度量值是否合法;
在所述加密静态度量值合法的情况下,提取所述加密静态度量值中的静态度量值,并将提取出的静态度量值进行存储;
在所述加密静态度量值不合法的情况下,直接将所述加密静态度量值丢弃。
本发明第二方面提供一种可信静态度量值计算装置,包括:
获取模块,用于获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
第一哈希模块,用于采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
第二哈希模块,用于将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
在本申请实施例中,所述应用属性数据包括多个类型的属性数据;
所述第二哈希模块包括:
循环单元,用于依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
在本申请实施例中,所述循环单元包括:
第一选择子单元,用于在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
第一哈希子单元,用于将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
第二选择子单元,用于在未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
第二哈希子单元,用于将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
确定子单元,用于重复调用所述第二选择子单元和所述第二哈希子单元,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
本申请第三方面提供一种处理器,被配置成执行上述的可信静态度量值计算方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的可信静态度量值计算方法。
通过上述技术方案,通过获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。通过将应用源数据和应用属性数据加入到静态度量值的计算过程中,使得计算得到的静态度量值是基于多个因子得到的,相对于现有技术中采用单一源数据计算,采用本实施例中的方法计算得到静态度量值更加完整,提高了静态度量值的可靠性。同时,由于各个待度量文件的应用源数据和应用属性数据不一样,使得到的静态度量值不会重复,提高了静态度量值的有效性。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种可信静态度量值计算方法流程示意图;
图2示意性示出了根据本申请实施例的一种可信静态度量值计算装置结构框图;
图3示意性示出了根据本申请实施例的设备的内部结构图。
附图标记说明
410-获取模块;420-第一哈希模块;430-第二哈希模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
需要说明,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参看图1,图1示意性示出了根据本申请实施例的一种可信静态度量值计算方法流程示意图。本实施例提供一种可信静态度量值计算方法,包括以下步骤:
步骤210:获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;在本实施例中,所述待度量文件是中应用程序所对应的文件,包含了应用程序的信息。其中,所述应用源数据是指待度量文件内的数据,所述应用属性数据可以是应用文件的创建时间、修改时间、文件大小等属性信息,可以是其中的一个或是多个属性信息。
在一些实施例中,由于应用源数据存在于待度量文件内,因此还包括所述应用源数据的读取过程,包括以下步骤:通过fopen接口以只读方式打开所述待度量文件,并通过fread接口读取所述待度量文件中的全部数据,以得到应用源数据。
在本实施例中,通过fopen接口和fread接口读取所述待度量文件,以只读方式打开所述待度量文件,从而得到准确的应用源数据的同时保证了待度量文件不被修改。
步骤220:采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
哈希算法又称摘要算法,其主要用于对任意一组输入数据进行计算,得到一个固定长度的输出摘要。摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的摘要算法才能得到相同的密文。因此,采用哈希算法可以保证数据的安全性。在本实施例中,上述哈希运算采用现有的技术就可以实现,在此就不再赘述。
在一些实施例中,为了保证哈希运算的有效性,可以对待度量文件进行判断,只有在待度量文件为可执行的应用文件的情况下,才会对应用源数据进行哈希运算。具体为:所述采用哈希算法对所述应用源数据进行哈希运算,包括以下步骤:
首先,判断所述待度量文件是否为可执行的应用文件;
然后,确定所述待度量文件为可执行的应用文件,采用哈希算法对所述应用源数据进行哈希运算。
在本实施例中,在判断是否为可执行的应用文件时,可以通过判断待度量文件的文件格式是否为ELF格式,具体可以是判断待度量文件固定前4字节是否分别为{0x7f,‘E’,‘L’,‘F’},以此来确定待度量文件为可执行的应用文件。通过判断文件格式是否满足要求,可以快速有效地确定是否为可执行的应用文件。
通过判断待度量文件是否为可执行的应用文件,可以保证哈希运算的有效性,进而保证了进行后续操作的有效性。
步骤230:将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
在本实施例中,上述进行拼接可以是将第一哈希结果的字节与应用属性数据的字节进行组合,以得到拼接后的数据。通过拼接并对拼接后的数据进行哈希运算,使得到的静态度量值是基于应用源数据和应用属性数据两个因子计算得到的,使静态度量值更加完整,提高了静态度量值的可靠性,极大地规范了嵌入式终端系统下的应用使用,提高了嵌入式终端系统的稳定性。
在一些实施例中,所述应用属性数据包括多个类型的属性数据;比如:应用属性数据包括应用的名称、应用的路径、应用文件的创建时间、修改时间、文件大小。
相应地,为了进一步提高静态度量值的完整性和可靠性,所述将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值,包括:
依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
在本实施例中,每一次拿出一个属性数据与上一次进行哈希运算得到的哈希结果进行拼接,在拼接后,再一次进行哈希运算,得到的哈希运算结果又与下一个属性数据进行拼接,依次执行上述过程,直到所有的属性数据都参与到拼接后,最后得到哈希运算结果就是静态度量值。其中,第一次拿出的属性数据就与第一哈希结果进行拼接。这样静态度量值就是基于应用源数据和多个属性数据得到的,进一步提高了静态度量值的可靠性。
在一些实施例中,所述依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值,具体包括以下步骤:
A1:在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
A2:将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
A3:在所述多个类型的属性数据中未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
A4:将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
A5:重复执行A3-A4,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
例如:应用属性数据包括应用的名称和应用的路径,则在得到第一哈希结果后,将第一哈希结果与应用的名称进行拼接,并将拼接后的数据作为源数据进行哈希运算,得到第二哈希结果;然后将第二哈希结果与应用的路径进行拼接,并将拼接后的数据作为源数据进行哈希运算,得到第三哈希结果,这个第三哈希结果就是静态度量值。通过将应用源数据和多个属性数据加入到静态度量值的计算过程中,使得静态度量值的计算是基于多个因子计算得到的,在此种计算方式生成的度量值的情况下,复制、改名、移动位置后的应用均无法通过可信度量,从而极大地规范了嵌入式终端系统下的应用使用,提高了嵌入式终端系统稳定性。
上述实现过程中,通过获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。通过将应用源数据和应用属性数据加入到静态度量值的计算过程中,使得计算得到的静态度量值是基于多个因子得到的,相对于现有技术中采用单一源数据计算,采用本实施例中的方法计算得到静态度量值更加完整,提高了静态度量值的可靠性。同时,由于各个待度量文件的应用源数据和应用属性数据不一样,使得到的静态度量值不会重复,提高了静态度量值的有效性。通过将多个属性数据参与到运算,使得限制性更为严格,所指向的应用就越明确,在此种计算方式生成的度量值的情况下,复制、改名、移动位置等操作后的应用均无法通过可信度量,从而极大地规范了嵌入式终端系统下的应用使用,提高了嵌入式终端系统稳定性。
在一些实施例中,在得到静态度量值之后,还包括:将所述静态度量值发送至安全模块存储。
在本实施例中,Linux系统中的安全模块(Linux Security Module,LSM)是一种轻量级的访问控制框架。用户在执行系统调用时,先通过内核接口依次执行功能性的错误检查,接着进行传统的自主访问控制(Discretionary Access Control,DAC)检查,在访问内核之前通过LSM钩子函数调用LSM,LSM根据具体的访问控制策略来决定方法的合法性,以此来实现访问控制。因此,为了便于进行可信度量,可以将静态度量值发送至安全模块存储。
在一些实施例中,为了提高静态度量值的安全性,可以在发送过程中进行加密,具体为:所述将所述静态度量值发送至安全模块存储,包括以下步骤:
首先,采用非对称加密算法对所述静态度量值进行签名运算,得到签名结果;
然后,将所述静态度量值与所述签名结果进行拼接,得到加密静态度量值,并将所述加密静态度量值发送至安全模块存储。
在本实施例中,可以通过非对称密钥对的私钥对静态度量值进行签名运算,然后将静态度量值以及签名结果进行拼接,并将拼接后的数据作为度量结果传递给LSM。通过采用非对称加密算法对所述静态度量值进行加密后,再发送至安全模块存储,使静态度量值更加安全。通过基于多因子计算得到静态度量值与非对称算法相结合,保证静态度量值的完整性和安全性。
其中,为了提高静态度量值的合法性,所述安全模块的存储过程包括:
首先,在所述安全模块接收到所述加密静态度量值后,判断所述加密静态度量值是否合法;
然后,在所述加密静态度量值合法的情况下,提取所述加密静态度量值中的静态度量值,并将提取出的静态度量值进行存储;
最后,在所述加密静态度量值不合法的情况下,直接将所述加密静态度量值丢弃。
在本实施例中,在安全模块收到数据后,首先可以使用私钥对应的公钥对加密静态度量值做验签处理,若验签通过,说明数据来源合法,则截取加密静态度量值中的静态度量值存储使用。若验签不通过,说明数据来源非法,直接丢弃。通过判断加密静态度量值的合法性,可以确保存储在安全模块的静态度量值的合法性,进一步提高了静态度量值的可靠性。
图1为一个实施例中可信静态度量值计算方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本实施例提供一种可信静态度量值计算装置,请参看图2,图2示意性示出了根据本申请实施例的一种可信静态度量值计算装置结构框图。该可信静态度量值计算装置包括获取模块410、第一哈希模块420和第二哈希模块430,其中:
获取模块410,用于获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
第一哈希模块420,用于采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
第二哈希模块430,用于将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
其中,所述应用属性数据包括多个类型的属性数据;
所述第二哈希模块430包括:
循环单元,用于依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
其中,所述循环单元包括:
第一选择子单元,用于在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
第一哈希子单元,用于将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
第二选择子单元,用于在所述多个类型的属性数据中未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
第二哈希子单元,用于将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
确定子单元,用于重复调用所述第二选择子单元和所述第二哈希子单元,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
上述实现过程中,通过获取模块410获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;第一哈希模块420采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;第二哈希模块430将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。通过将应用源数据和应用属性数据加入到静态度量值的计算过程中,使得计算得到的静态度量值是基于多个因子得到的,相对于现有技术中采用单一源数据计算,采用本实施例中的方法计算得到静态度量值更加完整,提高了静态度量值的可靠性。同时,由于各个待度量文件的应用源数据和应用属性数据不一样,使得到的静态度量值不会重复,提高了静态度量值的有效性。通过将多个属性数据参与到运算,使得限制性更为严格,所指向的应用就越明确,在此种计算方式生成的度量值的情况下,复制、改名、移动位置等操作后的应用均无法通过可信度量,从而极大地规范了嵌入式终端系统下的应用使用,提高了嵌入式终端系统稳定性。
所述可信静态度量值计算装置包括处理器和存储器,上述获取模块410、第一哈希模块420和第二哈希模块430等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来使得计算得到静态度量值更加完整。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述可信静态度量值计算方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述可信静态度量值计算方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种可信静态度量值计算方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的可信静态度量值计算装置可以实现为一种计算机程序的形式,计算机程序可在如图3所示的计算机设备上运行。计算机设备的存储器中可存储组成该可信静态度量值计算装置的各个程序模块,比如,图2所示的获取模块410、第一哈希模块420和第二哈希模块430。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的可信静态度量值计算方法中的步骤。
图3所示的计算机设备可以通过如图2所示的可信静态度量值计算装置中的获取模块410执行步骤210、第一哈希模块420执行步骤220、第二哈希模块430执行步骤230。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
在一个实施例中,所述应用属性数据包括多个类型的属性数据;
所述将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值,包括:
依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
在一个实施例中,所述依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值,包括:
A1:在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
A2:将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
A3:在未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
A4:将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
A5:重复执行A3-A4,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
在一个实施例中,所述采用哈希算法对所述应用源数据进行哈希运算,包括:
判断所述待度量文件是否为可执行的应用文件;
确定所述待度量文件为可执行的应用文件,采用哈希算法对所述应用源数据进行哈希运算。
在一个实施例中,还包括所述应用源数据的读取,包括:
通过fopen接口以只读方式打开所述待度量文件,并通过fread接口读取所述待度量文件中的全部数据,以得到应用源数据。
在一个实施例中,在得到静态度量值之后,还包括:
将所述静态度量值发送至安全模块存储。
在一个实施例中,所述将所述静态度量值发送至安全模块存储,包括:
采用非对称加密算法对所述静态度量值进行签名运算,得到签名结果;
将所述静态度量值与所述签名结果进行拼接,得到加密静态度量值,并将所述加密静态度量值发送至安全模块存储。
在一个实施例中,所述安全模块的存储过程包括:
在所述安全模块接收到所述加密静态度量值后,判断所述加密静态度量值是否合法;
在所述加密静态度量值合法的情况下,提取所述加密静态度量值中的静态度量值,并将提取出的静态度量值进行存储;
在所述加密静态度量值不合法的情况下,直接将所述加密静态度量值丢弃。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (13)

1.一种可信静态度量值计算方法,其特征在于,包括:
获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
2.根据权利要求1所述的可信静态度量值计算方法,其特征在于,所述应用属性数据包括多个类型的属性数据;
所述将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值,包括:
依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
3.根据权利要求2所述的可信静态度量值计算方法,其特征在于,所述依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值,包括:
A1:在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
A2:将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
A3:在未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
A4:将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
A5:重复执行A3-A4,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
4.根据权利要求1所述的可信静态度量值计算方法,其特征在于,所述采用哈希算法对所述应用源数据进行哈希运算,包括:
判断所述待度量文件是否为可执行的应用文件;
确定所述待度量文件为可执行的应用文件,采用哈希算法对所述应用源数据进行哈希运算。
5.根据权利要求1所述的可信静态度量值计算方法,其特征在于,还包括所述应用源数据的读取,包括:
通过fopen接口以只读方式打开所述待度量文件,并通过fread接口读取所述待度量文件中的全部数据,以得到应用源数据。
6.根据权利要求1所述的可信静态度量值计算方法,其特征在于,在得到静态度量值之后,还包括:
将所述静态度量值发送至安全模块存储。
7.根据权利要求6所述的可信静态度量值计算方法,其特征在于,所述将所述静态度量值发送至安全模块存储,包括:
采用非对称加密算法对所述静态度量值进行签名运算,得到签名结果;
将所述静态度量值与所述签名结果进行拼接,得到加密静态度量值,并将所述加密静态度量值发送至安全模块存储。
8.根据权利要求7所述的可信静态度量值计算方法,其特征在于,所述安全模块的存储过程包括:
在所述安全模块接收到所述加密静态度量值后,判断所述加密静态度量值是否合法;
在所述加密静态度量值合法的情况下,提取所述加密静态度量值中的静态度量值,并将提取出的静态度量值进行存储;
在所述加密静态度量值不合法的情况下,直接将所述加密静态度量值丢弃。
9.一种可信静态度量值计算装置,其特征在于,包括:
获取模块,用于获取待度量文件,所述待度量文件包括应用源数据和应用属性数据;
第一哈希模块,用于采用哈希算法对所述应用源数据进行哈希运算,得到第一哈希结果;
第二哈希模块,用于将所述第一哈希结果与所述应用属性数据进行拼接,并对拼接后的数据进行哈希运算,得到静态度量值。
10.根据权利要求9所述的可信静态度量值计算装置,其特征在于,所述应用属性数据包括多个类型的属性数据;
所述第二哈希模块包括:
循环单元,用于依次从所述多个类型的属性数据中选择出一个类型的属性数据,将每一次选择出的属性数据与上一次进行哈希运算得到的哈希结果进行拼接,并对拼接后的数据进行哈希运算,将最后一次哈希运算的结果作为静态度量值。
11.根据权利要求10所述的可信静态度量值计算装置,其特征在于,所述循环单元包括:
第一选择子单元,用于在所述多个类型的属性数据中选择一个类型的属性数据作为待拼接数据;
第一哈希子单元,用于将所述第一哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,得到第二哈希结果;
第二选择子单元,用于在未被选择的多个类型的属性数据中选择一个属性数据作为待拼接数据;
第二哈希子单元,用于将所述第二哈希结果与所述待拼接数据进行拼接,并对拼接后的数据进行哈希运算,将哈希运算得到的结果作为第二哈希结果;
确定子单元,用于重复调用所述第二选择子单元和所述第二哈希子单元,直至所述多个类型的属性数据中的属性数据均被选择,将当前第二哈希结果作为静态度量值。
12.一种处理器,其特征在于,被配置成执行权利要求1至8中任一项所述的可信静态度量值计算方法。
13.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行权利要求1至8中任一项所述的可信静态度量值计算方法。
CN202310844077.6A 2023-07-11 2023-07-11 可信静态度量值计算方法、装置、存储介质及处理器 Active CN116561772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310844077.6A CN116561772B (zh) 2023-07-11 2023-07-11 可信静态度量值计算方法、装置、存储介质及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310844077.6A CN116561772B (zh) 2023-07-11 2023-07-11 可信静态度量值计算方法、装置、存储介质及处理器

Publications (2)

Publication Number Publication Date
CN116561772A true CN116561772A (zh) 2023-08-08
CN116561772B CN116561772B (zh) 2023-09-22

Family

ID=87503991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310844077.6A Active CN116561772B (zh) 2023-07-11 2023-07-11 可信静态度量值计算方法、装置、存储介质及处理器

Country Status (1)

Country Link
CN (1) CN116561772B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517057A (zh) * 2014-12-22 2015-04-15 中国人民解放军信息工程大学 基于可信计算的软件混合度量方法
EP3182318A1 (de) * 2015-12-16 2017-06-21 Bundesdruckerei GmbH Signaturgenerierung durch ein sicherheitstoken
CN113391880A (zh) * 2021-06-21 2021-09-14 西安超越申泰信息科技有限公司 一种分层双重哈希验证的可信镜像传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517057A (zh) * 2014-12-22 2015-04-15 中国人民解放军信息工程大学 基于可信计算的软件混合度量方法
EP3182318A1 (de) * 2015-12-16 2017-06-21 Bundesdruckerei GmbH Signaturgenerierung durch ein sicherheitstoken
CN113391880A (zh) * 2021-06-21 2021-09-14 西安超越申泰信息科技有限公司 一种分层双重哈希验证的可信镜像传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RUIZHONG DU 等: "Dynamic Integrity Measurement Model Based on vTPM", 《COMPUTER SYSTEM SECURITY》, vol. 15, no. 2, pages 88 - 99, XP011678194, DOI: 10.1109/CC.2018.8300275 *
石一鸣;马利民;: "基于OpenSSL的程序完整性度量方案设计与实现", 电子世界, no. 02 *

Also Published As

Publication number Publication date
CN116561772B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
CN104462965B (zh) 应用程序完整性验证方法及网络设备
WO2018176733A1 (zh) 固件升级方法、终端和计算机可读非易失性存储介质
US10664599B2 (en) Portable executable and non-portable executable boot file security
US10878096B2 (en) BIOS startup method and data processing method
EP2210174B1 (en) Progressive boot for a wireless device
US8417969B2 (en) Storage volume protection supporting legacy systems
WO2014209416A1 (en) Process authentication and resource permissions
US10783277B2 (en) Blockchain-type data storage
CN111125731A (zh) 一种基于可验证声明的业务处理方法、装置及设备
CN110612699A (zh) 安全存储器布置
CN111177703B (zh) 操作系统数据完整性的确定方法及装置
CN112329005A (zh) 操作系统启动的引导度量方法、装置、电子设备和介质
CN111400760B (zh) web应用访问数据库的方法、装置、服务器和存储介质
CN106980800B (zh) 一种加密固态硬盘认证分区的度量方法和系统
EP3338214B1 (en) Secure computation environment
CN113448681B (zh) 一种虚拟机监控器公钥的注册方法、设备和存储介质
CN116561772B (zh) 可信静态度量值计算方法、装置、存储介质及处理器
Khan et al. A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
CN109635558B (zh) 访问控制方法、装置和系统
CN114443147B (zh) 基于可信硬件技术的超级监控式无人飞行器可信检测方法
CN111177752B (zh) 一种基于静态度量的可信文件存储方法、装置及设备
US11263328B2 (en) Encrypted log aggregation
CN110659476A (zh) 用于重置密码的方法和装置
CN109522720A (zh) 动态度量的方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant