CN106096412A - 完整性度量方法及装置 - Google Patents

完整性度量方法及装置 Download PDF

Info

Publication number
CN106096412A
CN106096412A CN201610451650.7A CN201610451650A CN106096412A CN 106096412 A CN106096412 A CN 106096412A CN 201610451650 A CN201610451650 A CN 201610451650A CN 106096412 A CN106096412 A CN 106096412A
Authority
CN
China
Prior art keywords
signature
file
ima
evm
mirror image
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
CN201610451650.7A
Other languages
English (en)
Other versions
CN106096412B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610451650.7A priority Critical patent/CN106096412B/zh
Publication of CN106096412A publication Critical patent/CN106096412A/zh
Application granted granted Critical
Publication of CN106096412B publication Critical patent/CN106096412B/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

本发明公开了完整性度量方法及装置,涉及通信技术领域。为了解决现有技术中存在的对系统镜像内的文件做IMA/EVM签名时,需要镜像生成后再生成签名,实现过程复杂的问题而发明。该方法包括:在编译ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥;在生成system镜像过程中,根据文件内容和私钥分别生成文件的IMA签名和EVM签名,并将IMA签名和EVM签名打包进system镜像。本发明应用在完整性度量过程中。

Description

完整性度量方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种完整性度量方法及装置。
背景技术
随着采用安卓(Android)系统的智能设备的普及,Android系统的安全性也备受关注,很多恶意软件通过篡改或替换系统中的已有文件来获取用户信息。确保系统中文件的完整性,有效的检测并阻止对被篡改文件的访问,是完整性度量的范畴。
Linux内核支持完整性度量,一般通过完整性度量框架(Integrity MeasurementArchitecture,IMA)模块和扩展验证模块(Extended Verification Module,EVM)实现。其中,完整性度量的基本实现原理为:IMA模块对文件做IMA签名,也即对文件内容做摘要,将生成的哈希值保存在文件扩展属性security.ima中,下次在文件被访问前,重新计算文件内容哈希值,与security.ima中保存的值比较,不一致则表明文件内容被非法篡改过。为防止对security.ima等文件属性的篡改,EVM模块进一步利用哈希运算消息认证码(Hash-based Message Authentication Code,HMAC)密钥对文件进行签名或加密,也即对用户识别符(user identifier,UID)/群体身份标识符(Group Identification,GID)等文件系统属性及security.ima等扩展属性做哈希,得到的哈希值经过加密或签名后,保存在security.evm中。
Android上支持完整性度量需解决的问题包括:1、如何保证生成HMAC所用密钥的安全性。2、如何对系统镜像内的文件做IMA/EVM签名。3、如何在系统分区加载前导入签名对应的公钥,以验证IMA/EVM签名。
针对上述问题,现有技术提供的一种技术方案为:1、HMAC密钥经root key加密后,保存在文件系统中。2、镜像生成后,将需要签名的镜像导入本地,通过脚本手动签名文件。3、使用shell脚本加载签名对应的公钥。
现有技术提供的这种技术方案,对系统镜像内的文件做IMA/EVM签名时,需要镜像生成后再通过脚本手动生成签名,实现过程复杂。
发明内容
本发明提供一种完整性度量方法及装置,以解决现有技术中存在的对系统镜像内的文件做IMA/EVM签名时,需要镜像生成后再生成签名,实现过程复杂的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种完整性度量方法,包括:在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥;在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
本发明提供的完整性度量方法,通过在编译ramdisk镜像前生成密钥对,在系统system镜像过程中自动生成签名并打包进镜像,与现有技术中在镜像生成后,通过脚本手动生成签名相比,本发明提供的完整性度量方法能够在编译阶段自动生成签名并打包进系统镜像,避免繁琐的手动签名,能够简化生成签名的实现过程。
结合第一方面,在第一方面的第一种实现方式中,所述在生成系统system镜像过程中,根据文件内容和所述私钥分别生成IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像,具体包括:在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名;调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
在该实现方式中,通过调用修改后的预设可执行程序,分别输入文件内容和私钥自动生成IMA签名以及输入文件的某些属性自动生成EVM签名。因此,通过该实现方式能够实现自动生成签名,避免手动生成签名的繁琐过程,简化生成签名的实现过程。
结合第一方面,在第一方面的第二种实现方式中,所述方法还包括:从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
在该实现方式中,从TEE中获取HMAC密钥。由于TEE的安全性较高,因此,通过该实现方式,能够避免HMAC密钥被用户空间程序等非法获取,能够保证HMAC密钥的安全性。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述从可信执行环境TEE获取哈希运算消息认证码HMAC密钥,具体包括:向TEE发送获取请求;接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
在该实现方式中,TEE根据UUID生成HMAC密钥,由于UUID具有唯一性,因此能够保证HMAC密钥的唯一性和安全性。
结合第一方面,或者第一方面的第一种实现方式、第二种实现方式、第三种实现方式中的任意一种,在第一方面的第四种实现方式中,所述方法还包括:在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
在该实现方式中,通过执行预创建的可执行程序加载公钥,能够避免使用shell脚本带来的环境依赖。
第二方面,本发明提供一种完整性度量装置,包括:编译模块,用于在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥;镜像生成模块,用于在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
本发明提供的完整性度量装置,通过在编译ramdisk镜像前生成密钥对,在系统system镜像过程中自动生成签名并打包进镜像,与现有技术中在镜像生成后,通过脚本手动生成签名相比,本发明提供的完整性度量装置能够在编译阶段自动生成签名并打包进系统镜像,避免繁琐的手动签名,能够简化生成签名的实现过程。
结合第二方面,在第二方面的第一种实现方式中,所述镜像生成模块,具体用于:在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名;调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
结合第二方面,在第二方面的第二种实现方式中,所述装置还包括:内核,用于从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述内核,具体用于向TEE发送获取请求;接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
结合第二方面,或者第二方面的第一种实现方式、第二种实现方式、第三种实现方式中的任意一种,在第二方面的第四种实现方式中,所述装置还包括:
加载模块,用于在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种完整性度量方法的流程示意图;
图2为本发明实施例提供的镜像编译流程示意图;
图3为本发明实施例提供的生成文件签名的流程示意图;
图4为本发明实施例提供的内核从TEE获取HMAC密钥的流程示意图;
图5为本发明实施例提供的一种系统启动过程的流程示意图;
图6为本发明实施例提供的一种完整性度量装置的结构示意图;
图7为本发明实施例提供的另一种完整性度量装置的结构示意图;
图8为本发明实施例提供的又一种完整性度量装置的结构示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,在生成签名的过程中,需要在镜像生成后,将需要签名的镜像导入本地,通过脚本手动签名文件。现有技术存在必须镜像生成后再手动生成签名,实现过程复杂的问题,
如图1所示,本发明实施例提供一种完整性度量方法,该方法包括:
101:在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥。
在本步骤的一种实现方式中,可通过开放式安全套接层协议(Open SecureSockets Layer,OpenSSL)模块在编译服务器上生成密钥对,该密钥对包括公钥和私钥。生成密钥对后,将私钥保存在位于服务器的编译目录下,私钥可在编译完成后清除;将公钥保存在用户设备根文件系统中。其中,私钥应用在对文件签名的过程中。公钥应用在签名验证的过程中。
102:在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
在本步骤的一种实现方式中,通过修改镜像打包工具,并将文件的内容和属性传给修改后的预设可执行程序,分别生成文件的ima签名和evm签名,并将所述ima签名和evm签名打包进system镜像。
上述步骤101和步骤102可增加在现有的镜像编译阶段。增加上述步骤后,如图2所示,镜像编译阶段包括:
201:在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥。
202:生成ramdisk.img(虚拟内存盘镜像)。
203:生成系统启动镜像(boot.img)。
204:在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
205:生成系统镜像(system.img)。
206:生成其他镜像。
其中,步骤201和步骤204为本发明实施例新增的步骤,其具体实现过程可分别参考前述步骤101和步骤102。其余步骤的具体实现过程可参考现有技术。
本发明实施例提供的完整性度量方法,通过在编译ramdisk镜像前生成密钥对,在系统system镜像过程中自动生成签名并打包进镜像,与现有技术中在镜像生成后,通过脚本手动生成签名相比,本发明实施例提供的完整性度量方法能够在编译阶段自动生成签名并打包进系统镜像,避免繁琐的手动签名,能够简化生成签名的实现过程。
可选的,所述步骤102“在生成系统system镜像过程中,根据文件内容和所述私钥分别生成IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像”,具体包括:
1、在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名。
2、调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
可选的,该预设可执行程序为evmctl执行程序,之所以对evmctl执行程序进行修改,是因为evmctl执行程序的开源代码主要适用于个人电脑(Personal Computer,PC)。为了应用于安卓系统,需要对该程序进行修改,如对文件系统的结构定义作适配等。
文件的预设属性包括文件的ino/uid/gid/mode/uuid/generation等部分属性,扩展属性包括文件的security.ima/security.evm/security.capabilities等属性。
如图3所示,以镜像打包工具为make_ext4fs,预设可执行程序为evmctl执行程序,该镜像打包工具调用修改后的预设可执行程序对文件签名的具体实现过程,包括:
301:通过make_ext4fs,开始生成系统镜像system.img。
302:make_ext4fs根据目标目录结构,创建每一个文件。
针对每个文件的签名过程如下:
303:make_ext4fs调用修改后的evmctl执行程序,将文件内容和私钥作为输入参数,生成文件的ima签名。
304:make_ext4fs提取生成的ima签名,进行格式转换后,将ima签名写入文件的扩展属性security.ima。
305:make_ext4fs调用修改后的evmctl执行程序,将文件的部分属性和扩展属性作为输入参数,生成文件的evm签名。
306:make_ext4fs提取生成的evm签名,进行格式转换后,将evm签名写入文件的扩展属性security.ima。
针对每个需要生成签名的文件,重复执行步骤303至步骤306。
307:生成系统镜像system.img。
本发明实施例提供的上述对文件签名的实现过程,通过调用修改后的预设可执行程序,分别输入文件内容和私钥自动生成IMA签名以及输入文件的某些属性自动生成EVM签名。因此,通过该实现方式能够实现自动生成签名,避免手动生成签名的繁琐过程,简化生成签名的实现过程。
现有技术中,HMAC密钥经root key加密后,保存在文件系统中。其存在的另一个问题为:由于HMAC密钥保存在文件系统中,root key泄露会导致安全风险。
为了解决上述问题,作为上述方法的补充,本发明实施例提供的完整性测量方法还包括:从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
其中,该步骤的执行主体可以为内核,更具体的是内核的EVM模块。该步骤的实现过程为系统启动过程中,加载内核之后。
其中,可信执行环境(Trusted Execution Environment,TEE)能够提供基于ARMTrustZone硬件的安全保护。TEE是与设备上的操作系统(如Android的Rich OS)并存的运行环境,比操作系统的安全级别更高,给操作系统提供安全服务。TEE与操作系统的执行空间、所能访问的软硬件资源是分离的,其安全性也较高。
在该实现方式中,从TEE中获取HMAC密钥。由于TEE的安全性较高,因此,通过该实现方式,能够避免HMAC密钥被用户空间程序等非法获取,能够保证HMAC密钥的安全性。
从TEE获取HMAC密钥的一种实现方式为:向TEE发送获取请求。接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
在该实现方式中,TEE根据UUID生成HMAC密钥,由于UUID具有唯一性,因此能够保证HMAC密钥的唯一性和安全性。
可选的,为避免HMAC密钥泄露到操作系统侧的用户空间,TEE在收到内核的获取请求后,通过判断请求密钥的客户端的用户标识(User Identification,UID)来判断请求发出者是否为内核,当UID等于0时,表明该请求来自内核,则进行后续处理。否则,表明请求者不是内核,则直接返回错误信息。
为了防止系统启动后,恶意程序仿冒内核的EVM模块再次获取HMAC密钥,TEE仅允许内核读取一次HMAC密钥,因此,TEE在判断获取HMAC密钥的请求者为内核后,还要判断是否为首次读取HMAC密钥的获取请求,如果是,则生成HMAC密钥并将该HMAC密钥返回至内核;否则,返回错误信息。
内核成功读取HMAC密钥后,打开EVM,否则关闭EVM。
内核从TEE获取HMAC密钥后,将HMAC密钥保存在内存中,该密钥在设备掉电后丢失,每次启动时需要内核重新从TEE获取。
如图4所示,本发明实施例提供了从可信执行环境TEE获取哈希运算消息认证码HMAC密钥的具体实现流程,该过程包括:
401:内核向TEE发送获取HMAC密钥的获取请求。
402:TEE判断请求者的客户端UID是否为0。
如果Client UID=0,则表明请求者为内核,TEE执行下述步骤403,否则执行步骤406。
403:TEE判断是否首次读取HMAC密钥。
如果是首次获取HMAC密钥,则执行步骤405,否则执行步骤406。
404:TEE根据设备UUID,生成HMAC密钥。
405:TEE向内核发送HMAC密钥。
406:TEE返回错误信息。
现有技术中,在加载验证签名所需的公钥时,使用shell脚本加载签名对应的公钥,存在shell脚本解析程序在system下,system挂载前运行shell脚本需额外改动的问题。
为了解决上述问题,本发明实施例提供的完整性度量方法还包括:在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
其中,执行预创建的可执行程序能够将公钥导入内核。
该加载公钥的步骤应用在系统启动过程中。
在该实现方式中,通过执行预创建的可执行程序加载公钥,能够避免使用shell脚本带来的环境依赖。
结合上述描述,本发明实施例提供的完整性度量方法,可在现有的系统启动过程中,增加“内核从TEE获取HMAC密钥”以及“在系统分区挂载前,通过预先创建的可执行程序加载公钥”两个步骤。因此,如图5所示,增加了上述两个步骤后,系统启动过程,包括:
501:加载系统启动镜像(boot.img)。
502:加载内核,初始化ima/evm。
503:内核EVM模块从TEE获取HMAC密钥
504:内核加载完成后,跳到init进程。
505:init进程早期,system分区挂载前,通过新创建的可执行程序,加载验证ima/evm签名需要用到的公钥。
506:启动其他服务。
至此,完成系统启动过程。
其中,上述步骤503和步骤505为本发明实施例在系统启动过程中新增的步骤,其具体实现过程见前文所述。其余步骤为现有系统启动中的步骤,其具体实现过程可参考现有技术,此处不再赘述。
如图6所示,本发明实施例提供一种完整性度量装置,用于执行图1至图5任意实施例所述的方法,该装置包括:
编译模块601,用于在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥。
镜像生成模块602,用于在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的完整性度量框架IMA签名和扩展验证模块EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
进一步的,所述镜像生成模块602,具体用于在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名;调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
本发明实施例提供的完整性度量装置,通过在编译ramdisk镜像前生成密钥对,在系统system镜像过程中自动生成签名并打包进镜像,与现有技术中在镜像生成后,通过脚本手动生成签名相比,本发明提供的完整性度量装置能够在编译阶段自动生成签名并打包进系统镜像,避免繁琐的手动签名,能够简化生成签名的实现过程。
如图7所示,本发明实施例还提供了一种完整性度量装置,在图6所示装置的基础上,所述装置还包括:
内核701,用于从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
可选的,所述内核701,具体用于向TEE发送获取请求;接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
本发明实施例提供的完整性度量装置,内核从TEE中获取HMAC密钥。由于TEE的安全性较高,因此,本发明实施例提供的完整性度量装置能够避免HMAC密钥被用户空间程序等非法获取,能够保证HMAC密钥的安全性
如图8所示,本发明实施例还提供了一种完整性度量装置,在图6和图7所示装置的基础上,所述装置还包括:加载模块801,用于在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
本发明实施例提供的完整性度量装置,通过执行预创建的可执行程序加载公钥,能够避免使用shell脚本带来的环境依赖。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种完整性度量方法,其特征在于,包括:
在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥;
在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的完整性度量框架IMA签名和扩展验证模块EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
2.根据权利要求1所述的方法,其特征在于,所述在生成system镜像过程中,根据文件内容和所述私钥分别生成IMA签名和EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像,具体包括:
在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名;
调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
4.根据权利要求3所述的方法,其特征在于,所述从可信执行环境TEE获取哈希运算消息认证码HMAC密钥,具体包括:
向TEE发送获取请求;
接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
6.一种完整性度量装置,其特征在于,包括:
编译模块,用于在编译虚拟内存盘ramdisk镜像前,生成密钥对,所述密钥对包括公钥和私钥;
镜像生成模块,用于在生成系统system镜像过程中,根据文件内容和所述私钥分别生成文件的完整性度量框架IMA签名和扩展验证模块EVM签名,并将所述IMA签名和EVM签名打包进所述system镜像。
7.根据权利要求6所述的装置,其特征在于,所述镜像生成模块,具体用于:
在生成所述system镜像过程中,调用修改后的预设可执行程序,将所述文件内容和私钥作为所述修改后的预设可执行程序的输入参数,生成文件的IMA签名;
调用所述修改后的预设可执行程序,将所述文件的预设属性和扩展属性作为所述修改后的预设可执行程序的输入参数,生成文件的EVM签名。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
内核,用于从可信执行环境TEE获取哈希运算消息认证码HMAC密钥。
9.根据权利要求8所述的装置,其特征在于,
所述内核,具体用于向TEE发送获取请求;
接收所述TEE发送的HMAC密钥,所述HMAC密钥为所述TEE根据设备的通用唯一识别码UUID生成。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括:
加载模块,用于在system镜像挂载前,执行预创建的可执行程序以加载所述公钥。
CN201610451650.7A 2016-06-21 2016-06-21 完整性度量方法及装置 Active CN106096412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610451650.7A CN106096412B (zh) 2016-06-21 2016-06-21 完整性度量方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610451650.7A CN106096412B (zh) 2016-06-21 2016-06-21 完整性度量方法及装置

Publications (2)

Publication Number Publication Date
CN106096412A true CN106096412A (zh) 2016-11-09
CN106096412B CN106096412B (zh) 2019-10-25

Family

ID=57238675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610451650.7A Active CN106096412B (zh) 2016-06-21 2016-06-21 完整性度量方法及装置

Country Status (1)

Country Link
CN (1) CN106096412B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256368A (zh) * 2017-06-06 2017-10-17 北京航空航天大学 基于写时复制特性的虚拟机内文件完整性度量方法
CN108229162A (zh) * 2016-12-15 2018-06-29 中标软件有限公司 一种云平台虚拟机完整性校验的实现方法
CN108268303A (zh) * 2017-01-03 2018-07-10 北京润信恒达科技有限公司 一种操作请求方法、装置及系统
CN111831609A (zh) * 2020-06-18 2020-10-27 中国科学院数据与通信保护研究教育中心 一种虚拟化环境中二进制文件度量值统一管理和分发的方法和系统
CN111881467A (zh) * 2020-06-12 2020-11-03 海光信息技术有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN113190831A (zh) * 2021-05-27 2021-07-30 中国人民解放军国防科技大学 一种基于tee的操作系统应用完整性度量方法及系统
CN113296873A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 镜像构建方法和装置、终端设备和计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553651A (zh) * 2015-12-03 2016-05-04 小米科技有限责任公司 安卓系统中磁盘镜像文件的签名方法、装置和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553651A (zh) * 2015-12-03 2016-05-04 小米科技有限责任公司 安卓系统中磁盘镜像文件的签名方法、装置和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BUBUKO.COM: "扩展Linux完整性度量IMA/EVM到Android", 《WWW.BUBUKO.COM/INFODETAIL-1559427.HTML》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229162A (zh) * 2016-12-15 2018-06-29 中标软件有限公司 一种云平台虚拟机完整性校验的实现方法
CN108229162B (zh) * 2016-12-15 2021-10-08 中标软件有限公司 一种云平台虚拟机完整性校验的实现方法
CN108268303A (zh) * 2017-01-03 2018-07-10 北京润信恒达科技有限公司 一种操作请求方法、装置及系统
CN107256368A (zh) * 2017-06-06 2017-10-17 北京航空航天大学 基于写时复制特性的虚拟机内文件完整性度量方法
CN107256368B (zh) * 2017-06-06 2020-02-07 北京航空航天大学 基于写时复制特性的虚拟机内文件完整性度量方法
CN113296873A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 镜像构建方法和装置、终端设备和计算机存储介质
CN111881467A (zh) * 2020-06-12 2020-11-03 海光信息技术有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN111881467B (zh) * 2020-06-12 2022-10-28 海光信息技术股份有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN111831609A (zh) * 2020-06-18 2020-10-27 中国科学院数据与通信保护研究教育中心 一种虚拟化环境中二进制文件度量值统一管理和分发的方法和系统
CN111831609B (zh) * 2020-06-18 2024-01-02 中国科学院数据与通信保护研究教育中心 虚拟化环境中二进制度量值统一管理和分发的方法和系统
CN113190831A (zh) * 2021-05-27 2021-07-30 中国人民解放军国防科技大学 一种基于tee的操作系统应用完整性度量方法及系统

Also Published As

Publication number Publication date
CN106096412B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN106096412A (zh) 完整性度量方法及装置
US11734681B2 (en) Secure management of data files using a blockchain
US11899783B2 (en) System level function based access control for smart contract execution on a blockchain
US9300640B2 (en) Secure virtual machine
US8856544B2 (en) System and method for providing secure virtual machines
CN104462965B (zh) 应用程序完整性验证方法及网络设备
US20220035623A1 (en) Resource trust model for securing component state data for a resource using blockchains
US20200403809A1 (en) Service request authentication utilizing permissions associated with digital certificates
CN105718807B (zh) 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法
US20140317413A1 (en) Secure remediation of devices requesting cloud services
US11809551B2 (en) Highly scalable permissioned block chains
CN109523261A (zh) 区块链终端的交易验证方法、相关装置及可读存储介质
EP2547135A2 (en) Apparatus and method for preventing copying of terminal unique information in portable terminal
US20220129544A1 (en) Apparatus and Method for Disk Attestation
CN115730338B (zh) 基于隐私计算的零信任敏感大数据跨域分享方法和装置
CN107908977A (zh) 基于TrustZone的智能移动终端信任链安全传递方法及系统
CN114499892B (zh) 固件启动方法、装置、计算机设备及可读存储介质
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
Xu et al. A live migration strategy for virtual encryption card equipment
McCune et al. An execution infrastructure for TCB minimization
CN115906169A (zh) 区块链中的隐私合约访问方法和区块链节点
CN118013566A (zh) 一种基于虚拟机类型tee的隐私计算系统及方法
CN117708842A (zh) 基于可信执行环境的数据处理方法以及数据处理引擎
CN117667175A (zh) 处理器的微码补丁加载方法及处理器
CN117131522A (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
GR01 Patent grant
GR01 Patent grant