CN103093150A - 一种基于可信芯片的动态完整性保护方法 - Google Patents

一种基于可信芯片的动态完整性保护方法 Download PDF

Info

Publication number
CN103093150A
CN103093150A CN201310052766XA CN201310052766A CN103093150A CN 103093150 A CN103093150 A CN 103093150A CN 201310052766X A CN201310052766X A CN 201310052766XA CN 201310052766 A CN201310052766 A CN 201310052766A CN 103093150 A CN103093150 A CN 103093150A
Authority
CN
China
Prior art keywords
file
function
memory block
tcm
document
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
CN201310052766XA
Other languages
English (en)
Other versions
CN103093150B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201310052766.XA priority Critical patent/CN103093150B/zh
Publication of CN103093150A publication Critical patent/CN103093150A/zh
Application granted granted Critical
Publication of CN103093150B publication Critical patent/CN103093150B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于可信芯片的动态完整性保护方法。本方法为:1)在用户态设置一基准更新程序,用于存储动态变化文件的度量基准;该基准更新程序初始化TCM芯片的NV存储区:定义NV存储区的索引、大小和操作口令;2)用户每次更新文件后,利用基准更新程序和操作口令更新该文件在NV存储区的基准;3)在内核态设置一度量模块和一验证模块;度量模块在动态变化文件加载到内存时计算该文件的度量结果,并将度量结果发给验证模块;验证模块读取NV存储区中该文件的基准进行比较,如果一致,则所述度量模块判定该文件完整性是好的,否则判定该文件被非法修改。本发明有效地解决了IMA不能对动态变化的文件进行度量和验证的问题。

Description

一种基于可信芯片的动态完整性保护方法
技术领域
本发明涉及信息安全领域,尤其涉及一种基于可信芯片的动态完整性保护方法。
背景技术
随着计算机技术的发展,计算机***的安全问题一直是人们的关注点。尤其是计算机***的代码或数据可能遭到远程攻击者的非法修改。传统的防火墙方式,杀毒软件以及口令方式等并不能从根本上保护计算机***的完整性。国际上,可信计算组织(TCG)通过在主板上嵌入一块可信平台模块TPM,并利用该芯片在***启动时通过层层度量的方法来保证启动起来的***是安全可信的。国内也制定了可信计算的标准《可信计算密码支撑平台功能与接口规范》,通过在主板上嵌入有自己核心密码算法的可信密码模块TCM,可以用来实现***的可信引导。但这种可信引导的方法只度量BIOS,Bootloader,内核,并没有度量内核模块以及可执行程序。
完整性度量架构(Integrity Measurement Architecture)IMA将度量机制扩展到应用层。它通过在Linux中***钩子点的方法可以度量可执行文件,库文件,内核模块。当这些文件被加载到内存时,IMA会计算它们的哈希值,将得到的结果存储到完整性度量列表IML中,并扩展到TPM的平台配置寄存器PCR中。IML以及PCR的值可以用来远程证明***上应用程序的完整性。其中PCR用来检测IML是否遭到了篡改,而IML则与远程进行验证的机器上维护的应用程序的标准哈希值做对比,一旦不一致便可以发现应用程序的完整性遭到了破坏。PCR可以用来度量哈希值固定的可执行程序,却不适合度量动态变化的文件。比如***配置文件和安全策略文件。对于***配置文件来说,用户会随着***软件栈的变化而对***配置进行修改更新,使***配置文件没有唯一的可以用来验证完整性的标准哈希值。比较典型的***配置文件是规定***启动时开启哪些服务的文件。对于安全策略来说,用户可能对现有的安全策略进行修改或者用户自己定义一个完全新的安全策略。因此安全策略文件也没有一个唯一的标准哈希值可以用来验证它的完整性。比较典型的有Linux***中实施强制访问控制机制的SELinux策略文件。这类变化的文件不适合于用PCR进行保护,而这类文件的安全性很重要。如果攻击者非法地修改***配置或者安全策略文件,就有可能使***中的服务挂掉或者安全机制失效。
发明内容
本发明提出一种基于可信芯片的动态完整性保护方案,可以动态地度量经常变化的***配置或安全策略。我们的动态完整性保护方案可以区分***配置或安全策略是被用户合法更新了还是被攻击者非法地修改了。为了便于检测一个动态变化的文件是否被修改,我们将它的哈希值存储到TCM芯片的非易失性存储区NV里,作为度量的基准。NV存储区里的数据不会随着***的关闭而消失,因此便于基准值的存储以及比较。为了区分合法用户更新这类文件以及攻击者非法地对它们修改,我们通过设置口令的方式来设置NV区域的写权限。即每次动态变化的文件被更新后,合法用户有权限来更新NV存储区的基准,而非法用户则没有该权限。为了及时的保护***的安全,我们采用加载时度量以及验证的方法。即这类文件在被加载到内存时,IMA会计算它们的哈希值并从NV存储区里读出对应的基准值进行比较。如果一致,则说明它们是可信的;否则则说明它们遭到了非法地修改。
本发明的技术方案如下:
首先在用户态(即用户地址空间)实现一个基准更新程序,用户在更新文件后调用该程序便可以更新NV存储区的基准值,文件包括配置文件和策略文件,还包括其他可以动态变化的文件。该程序需要初始化NV存储区,包括定义NV存储区的索引,大小,设置对NV存储区进行操作的口令。初始化操作进行一次即可。NV只有初始化以后才可以将一个文件的基准值写到NV里面,以后每次调用基准更新程序,只需将NV里面的内容更新。NV存储区的索引用来识别NV,便于验证时找到该NV存储区。NV存储区的大小决定着该NV可以用来存储基准值的个数。NV存储区的索引以及大小信息可以通过调用规范中的接口来实现(现有的接口规范中设定了索引的存储位置、大小等信息)。设置对NV存储区进行操作的口令是为了防止非法用户篡改NV存储区里的基准值,从而旁过验证。本发明将口令的哈希值(共32位)存储到NV的0到31个字节,作为口令的基准。以后每次用户对NV区域进行更新时,其输入的口令的哈希必须与基准一致才能进行相应的操作。其次,为了灵活地度量动态变化的文件,基准更新程序有自己的策略文件,该文件中规定了哪些文件的基准值需要写到NV存储区里。每一行对应一个文件名以及该文件在NV存储区里的索引index,基准更新程序会依次计算它们的哈希值将其作为基准并根据其索引放到对应的区域中。
另外为了实现对动态变化的文件的加载时度量以及验证,在内核态(与内核态相对应,内核态指内核地址空间)实现了度量模块以及验证模块。度量模块是基于IMA实现的。目前IMA的度量粒度比较粗,只能度量内核模块、可执行文件、库文件等,而***配置或者安全策略文件不属于这些范畴,因此IMA不能度量某一个具体的***配置或安全策略文件。为了实现对它们的加载时度量,本发明在IMA所使用的file_mmap钩子函数中添加检查文件名的功能,并在IMA策略文件中添加文件名filename选项的支持,将要度量的文件名赋给filename,这样当文件被加载时,就将加载到内存的文件名与要度量的文件名作对比,如果一致则对其进行度量。验证模块负责从NV区域中读取该文件的基准值(通过接口规范中的读NV的命令可实现对NV进行读操作,根据NV的索引以及要读取的偏移量即可以获得待读取数据。由于读操作NV不会改变NV里面的内容,所以不需设置密码),并与度量模块所度量的结果进行比较,从而判断该文件是否被非法地修改过。对于某个***配置或安全策略,需要知道其基准在NV区域中的偏移,因此本发明在IMA的策略中添加了索引index选项的支持。对于某个要度量的文件,它在IMA策略中的index与基准更新程序的策略中该文件的索引一致,表示某个***配置或安全策略文件是NV区域中第几个文件。
附图说明
图1是本发明基于可信芯片的动态完整性保护方案架构图;
图2是NV存储区初始化过程;
图3是用户更新基准的过程;
图4是完整性度量和验证过程。
具体实施方式
下面结合附图以及在带有TCM芯片的***上的具体实现来对本发明作进一步的说明,但不以任何方式限制本发明的范围。
本发明主要包括下面几个部分,如图1所示,基准更新程序处在用户态,通过TCM驱动可以读写NV存储区的数据。当用户更新文件后可以通过该程序实现NV存储区的基准的更新。度量模块处在内核态,在文件加载到内存时计算该文件的哈希值,并将计算的结果发给验证模块。验证模块通过TCM驱动可以读取TCM中NV存储区该文件相应的基准,然后与度量结果进行比较,并将比较结果发给度量模块。如果一致,则说明该文件完整性是好的,否则则说明该文件遭到了非法地修改。
对于基准更新程序的实现,主要利用向TCM设备发送命令和接受响应的函数Tddli_TransmitData来实现对NV存储区进行初始化,包括定义NV存储区的索引以及大小,以及如何对NV存储区进行读写。该函数直接发送一个TCM命令到TCM设备驱动程序,使TCM执行相应的操作。首先定义了传输数据函数transmit_data(BYTE*buf,int len,BYTE*name)封装了上述函数,其中类型BYTE是的对无符号char类型(字符类型)的宏定义buf和len代表着向TCM发送的命令的缓冲区的指针以及长度,name代表着命令的名字。下面与TCM进行操作的函数都是基于该函数实现的。在基准更新程序中主要定义了下面几个函数:
void tcm_prepare(void):TCM检查函数该函数首先利用Tddli_Open来打开TCM设备,然后利用传输数据函数transmit_data(PARAM(TCM_PhysicalEnable),″TCM_PhysicalEnable″)检查TCM设备是否正常。如果正常则可以接着执行后续的操作,不正常则提示用户“TCM设备不正常”,并中止操作。其中PARAM代表着缓冲区以及其长度,定义如下:
#define PARAM(x)  (x),sizeof(x)
void tcm_define_nv(int index,int size):定义NV函数该函数将NV存储区的索引index,以及NV存储区的大小size放到数组TCM_NV_DefineSpace相应的位置,然后用传输数据函数transmit_data(PARAM(TCM_NV_DefineSpace),″TCM_NV_DefineSpace″)来定义NV存储区域。
void tcm_read_nv(BYTE*buf,int offset,int len):读取NV函数该函数将要读取的长度len放到数组TCM_NV_ReadValue相应的位置,然后利用传输数据函数transmit_data(PARAM(TCM_NV_ReadValue),″TCM_NV_ReadValue″)来读取NV。
void tcm_write_nv(BYTE*buf,int offset,int len):写NV函数该函数首先定义一个缓冲区BYTE*nv_writebuf,然后将写NV存储区的报头TCM_NV_WriteValue放到该缓冲区的前面,再将该写NV存储区buf放到该缓冲区nv_writebuf的后面,然后利用传输数据函数transmit_data(nv_writebuf,total_len,″TCM_NV_WriteValue″)来实现写NV函数,其中total_len代表着报头以及要写入NV区域的长度之和。上述函数中TCM_PhysicalEnable,TCM_NV_DefineSpace,TCM_NV_ReadValue,TCM_NV_WriteValue都是定义好的字节数组,用来表示操作TCM芯片时所需要发送的序列值。比如TCM_NV_ReadValue是这样定义的:
Figure BDA00002838284600041
其中前两个字节代表着向TCM输入请求的序号0xc1,第3到第6个字节是该数组的长度,在这里为22个字节。第7到第10个字节是TCM命令的标示,在这里为0x80cf。第11到第14个字节是NV存储区的索引,这里为0x12345678。这个索引值需要和定义NV时的索引值一样才可以对该NV进行读写。第15到第18个字节是要读的内容在NV存储区的偏移。在tcm_read_nv函数中,这四个字节需要设置成offset。最后四个字节则是要读取数据的大小,在tcm_read_nv函数中,这四个字节需要设置成len。一般在读取策略文件的基准时设为32。
void checksum_file(char*file_pcr,int offset):文件基准更新函数该函数首先读取一个文件内容到缓冲区,然后利用sm3算法的函数计算该缓冲区的哈希值,然后利用函数tcm_write_nv将其写到NV区域。
NV存储区初始化过程如图2。首先调用函数tcm_prepare来检查TCM设备是否正常,然后调用tcm_define_nv(0x123456,676)定义NV的索引为0x12345678,大小为672字节,可以存储20个***配置或安全策略的基准值。用户设置密码,计算密码的哈希值passwordHashBase,调用函数tcm_write_nv(passwordHashBase,0,32)将其写到NV的0到31字节。
在NV存储区的32字节起,每32个字节可以存储一个文件的哈希值。为了灵活的度量文件,我们使用一个策略文件来让基准更新程序决定将哪些文件的哈希值放到NV里面。策略文件的每一行包括文件名以及该文件在NV中的索引。基准更新程序会读取该文件然后根据每一行中的文件名以及索引将文件的哈希值放到NV里面的相应位置作为验证的基准值。在上面的例子中,policy.24的基准将放到32到63个字节中;ima_policy的基准将放到第64到95个字节中,依次类推。
用户更新基准的过程如图3所示。首先用户输入密码passsword,基准更新程序计算该密码的哈希passwordHash,然后调用tcm_read_nv(passwordHashBase,0,32),即从NV的0到31字节读取出密码的基准passwordHashBase,再与passwordHash进行比较,看它们是否一致。如果一致,基准更新程序从它自己的策略文件中读取所更新动态变化文件的文件名以及其对应的索引,然后计算该文件的哈希并根据索引将它们作为新的基准放到NV里相应的位置。如果不一致,则让用户重新输入密码,最多重复三次。如果最后一次仍不正确,则更新基准失败。
对于度量模块以及验证模块的实现,由于TCM的驱动中只有读取PCR的函数tcm_pcr_read以及扩展PCR的函数tcm_extend,而没有读NV存储区的函数。为了让IMA可以操作TCM的NV,我们首先在TCM的驱动中添加了读NV的函数:tcm_nv_read.其原型为:int tcm_nv_read(u32chip_num,int offset,u8*res_buf);其中chip_num代表着TCM的序号,offset代表着NV的偏移,res_buf用来存储读出来的数据。由于每次读取时,我们都读特定长度的哈希值——32比特,因此并没有必要将读取的长度作为一个变参。该函数原型定义在
include/linux/tcm.h头文件中。另外当驱动向TCM发送命令时,TCM会根据命令的序号确定是什么类型的操作,比如读PCR的值对应的是0x8015,扩展PCR的值对应的是0x8014。读取NV的序号是0x80cf,所以我们首先在driver/char/tcm/tcm.c中定义该序号:
#define TCM_ORDINAL_NVREAD cpu_to_be32(0x80cf)。读取NV存储区的命令所对应的报头如下:
Figure BDA00002838284600061
其中TCM_TAG_RQU_COMMAND是代表着向TCM输入请求的序号0xc1,读取PCR以及extendPCR都用该值。length代表着报头的长度,这里为22个字节.这22个字节所包含的内容如下:
0~1字节:TCM_TAG_RQU_COMMAND
2~5字节:报头长度,这里为22
6~9字节:TCM_ORDINAL_NVREAD
上面这部分在nvread_header报头中已经定义好。
10~13字节:NV存储区的索引
14~17字节:在NV存储区里的偏移。
18~21字节:读取NV存储区中的数据长度,我们设为32字节。
这部分将在TCM驱动中原有的数据结构tcm_cmd_t中定义。如下:
struct tcm_cmd_t cmd;
cmd.header.in=nvread_header;
cmd.params.nvread_in.nv=cpu_to_be32(0x12345678);
这里0x12345678作为NV的索引,这个索引与基准更新程序定义NV时的索引一致。
cmd.params.nvread_in.nv_offset=cpu_to_be32(offset)读取NV的偏移。
cmd.params.nvread_in.nv_len=cpu_to_be32(32)读取NV的长度。
然后利用TCM驱动中的函数transmit_cmd便可以实现读取NV的功能,如下:
rc=transmit_cmd(chip,((u8*)&cmd),READ_NV_RESULT_SIZE,
″attempting to read NV value″);
其中chip是指向struct tcm_chip结构的指针,可以用tcm_chip_find_get(chip_num)来实现,READ_NV_RESULT_SIZE为TCM返回的长度,这里设为46,其中前14个字节为输出的报头信息,后32个字节为我们所读取的值。
在内核里面添加好TCM驱动的读NV的函数后,为了让IMA可以度量某个配置或策略文件,我们在IMA的度量策略中增加了filename选项,用来规定该IMA可以度量哪些配置或策略文件。另外为了便于IMA在度量某个文件时,便于获得该文件的哈希值在NV区域中的位置,我们在IMA的度量策略中增加了index选项。该选项代表要度量的文件在NV区域中的序号。比如index=0代表在36~67字节处,index=1代表在68~99字节处,依次类推。
完整性度量和验证的过程如图4。首先到当一个文件被加载到内存时,IMA会在自己策略中的查找该文件名,判断该文件是不是需要度量。如果不是,则不需要对该文件进行度量和验证,继续执行后续操作。如果是某个要度量的文件,则度量模块计算该文件的哈希值fileHash,并将结果传给验证模块。验证模块根据该文件的索引去查找NV存储区中相应的基准fileHashBase,然后和文件当前的哈希值fileHash进行对比,如果一致则通过验证。否则则没有通过验证,表明该文件遭到了非法地修改。

Claims (10)

1.一种基于可信芯片的动态完整性保护方法,其步骤为:
1)在用户态设置一基准更新程序,该基准更新程序初始化TCM芯片的NV存储区:定义NV存储区的索引,NV存储区大小,设置NV存储区的操作口令;所述NV存储区用于存储动态变化文件的度量基准;在完整性度量架构IMA的度量策略中增加一文件名filename选项,用来规定该IMA可度量的动态变化文件;
2)用户每次更新动态变化文件后,利用该基准更新程序和设置的操作口令更新该文件在NV存储区的基准;
3)在内核态设置一度量模块和一验证模块;所述度量模块在动态变化文件加载到内存时计算该文件的度量结果,并将度量结果发给所述验证模块;所述验证模块读取NV存储区中该文件的基准,将其与该度量结果进行比较,并将比较结果发给度量模块,如果一致,则所述度量模块判定该文件完整性是好的,否则判定该文件被非法修改。
2.如权利要求1所述的方法,其特征在于所述基准更新程序设有一策略文件,用于设定文件基准需要写到NV存储区里的动态变化文件;该策略文件每一行对应一个文件名以及该文件在NV存储区里的索引;所述基准更新程序依次计算设定的动态变化文件的度量基准,然后根据设定的动态变化文件的索引将其度量基准存储到NV存储区的对应区域中。
3.如权利要求2所述的方法,其特征在于在所述完整性度量架构IMA的策略文件中添加一索引选项,用于代表要度量的动态变化文件在NV区域中的序号;其中,对于每一要度量的动态变化文件,其在完整性度量架构IMA策略文件中的索引与基准更新程序的策略文件中该文件对应的索引一致。
4.如权利要求1或2或3所述的方法,其特征在于所述基准更新程序包括一向TCM芯片发送命令和接受响应的函数Tddli_TransmitData,采用该函数对NV存储区进行初始化;所述基准更新程序包括一传输数据函数transmit_data(BYTE*buf,int len,BYTE*name),用于封装函数Tddli_TransmitData;其中类型BYTE是对无符号字符类型的宏定义,buf和len代表向TCM发送的命令的缓冲区的指针以及长度,name代表命令的名字。
5.如权利要求4所述的方法,其特征在于所述基准更新程序中包括下列函数:
TCM检查函数:该函数首先访问TCM芯片,然后利用传输数据函数检查TCM芯片是否正常,如果正常则执行后续的操作,否则中止操作;
定义NV函数:该函数以索引和大小作为输入,利用传输数据函数定义NV存储区域;
读取NV函数:该函数以NV的偏移,读取的长度作为输入,利用传输数据函数来读取NV,将读取的内容放到缓冲区内;
写NV函数:该函数以一个指向缓冲区的指针,缓冲区的大小,以及NV的偏移作为输入,利用传输数据函数来将缓冲区的内容写到NV里面。
6.如权利要求5所述的方法,其特征在于所述基准更新程序中包括一文件基准更新函数该函数首先读取一个文件内容到缓冲区,然后计算该缓冲区的哈希值,然后利用写NV函数将其写到NV区域。
7.如权利要求2或3所述的方法,其特征在于步骤2)中利用该基准更新程序和设置的操作口令更新该文件在NV存储区的基准的方法为:用户输入设置的操作口令passsword,基准更新程序计算其哈希passwordHash,然后从NV存储区读取出操作口令的基准passwordHashBase与passwordHash进行比较,如果一致,基准更新程序从其策略文件中读取所更新动态变化文件的文件名以及其对应的索引,然后计算该文件的哈希并根据索引将该哈希作为新的基准放到NV存储区相应的位置。
8.如权利要求1或2或3所述的方法,其特征在于所述度量基准为动态变化文件的哈希值。
9.如权利要求1或2或3所述的方法,其特征在于所述度量模块基于完整性度量架构IMA实现;在完整性度量架构IMA所使用的file_mmap钩子函数中添加检查文件名的功能。
10.如权利要求1或2或3所述的方法,其特征在于所述验证模块通过TCM驱动读取NV存储区中该文件相应的基准。
CN201310052766.XA 2013-02-18 2013-02-18 一种基于可信芯片的动态完整性保护方法 Expired - Fee Related CN103093150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310052766.XA CN103093150B (zh) 2013-02-18 2013-02-18 一种基于可信芯片的动态完整性保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310052766.XA CN103093150B (zh) 2013-02-18 2013-02-18 一种基于可信芯片的动态完整性保护方法

Publications (2)

Publication Number Publication Date
CN103093150A true CN103093150A (zh) 2013-05-08
CN103093150B CN103093150B (zh) 2016-01-20

Family

ID=48205706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310052766.XA Expired - Fee Related CN103093150B (zh) 2013-02-18 2013-02-18 一种基于可信芯片的动态完整性保护方法

Country Status (1)

Country Link
CN (1) CN103093150B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268440A (zh) * 2013-05-17 2013-08-28 广东电网公司电力科学研究院 可信内核动态完整性度量方法
CN103593617A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于vmm的软件完整性校验***及其方法
CN104809401A (zh) * 2015-05-08 2015-07-29 南京大学 一种操作***内核完整性保护方法
WO2016041419A1 (zh) * 2014-09-16 2016-03-24 华为技术有限公司 一种可信度量方法及装置
CN105468978A (zh) * 2015-11-16 2016-04-06 国网智能电网研究院 一种适用于电力***通用计算平台的可信计算密码平台
CN105718807A (zh) * 2016-01-26 2016-06-29 东北大学 基于软tcm和可信软件栈的安卓***及其可信认证***与方法
CN105956466A (zh) * 2016-04-28 2016-09-21 浪潮电子信息产业股份有限公司 一种基于tpm的主动度量及异常上报***和方法
CN106096421A (zh) * 2016-06-20 2016-11-09 浪潮电子信息产业股份有限公司 一种基于tpm的高安全性的主机安全保护***及方法
CN106127057A (zh) * 2016-06-23 2016-11-16 浪潮电子信息产业股份有限公司 一种基于tpm构建可信启动控制的方法
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN108885668A (zh) * 2016-03-31 2018-11-23 西门子股份公司 用于用户数据的完整性检查的方法、处理器和设备
CN109558738A (zh) * 2018-12-07 2019-04-02 郑州云海信息技术有限公司 一种移动平台可信控制装置及其方法
CN109948327A (zh) * 2017-12-20 2019-06-28 北京可信华泰信息技术有限公司 一种异常状态核查方法及终端
CN110334518A (zh) * 2019-07-05 2019-10-15 北京可信华泰信息技术有限公司 基于可信计算平台的度量策略的验证方法及装置
CN111258598A (zh) * 2018-11-30 2020-06-09 阿里巴巴集团控股有限公司 度量更新方法、装置、***、存储介质及计算机设备
CN111881467A (zh) * 2020-06-12 2020-11-03 海光信息技术有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN112199682A (zh) * 2020-11-03 2021-01-08 上海思赞博微信息科技有限公司 一种基于可信计算的白名单库文件保护方法
CN112527358A (zh) * 2020-12-16 2021-03-19 中安可信(青岛)网络科技有限公司 一种基于自我度量的可信应用可信度量方法、装置及***
CN112597505A (zh) * 2020-12-29 2021-04-02 海光信息技术股份有限公司 可信度量方法、控制方法、处理器、芯片、装置及介质
CN114048502A (zh) * 2021-10-15 2022-02-15 中国科学院信息工程研究所 一种轻量级可信通道及其通信控制方法
CN115640567A (zh) * 2022-09-28 2023-01-24 北京瑞莱智慧科技有限公司 Tee完整性认证方法、装置、***及存储介质
WO2024061326A1 (zh) * 2022-09-23 2024-03-28 华为技术有限公司 一种数据保护方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344904A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 一种动态度量方法
CN102750471A (zh) * 2012-05-22 2012-10-24 中国科学院计算技术研究所 基于tpm 的本地验证式启动方法
CN102880826A (zh) * 2012-08-29 2013-01-16 华南理工大学 一种电子政务云平台安全性的动态完整性度量方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344904A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 一种动态度量方法
CN102750471A (zh) * 2012-05-22 2012-10-24 中国科学院计算技术研究所 基于tpm 的本地验证式启动方法
CN102880826A (zh) * 2012-08-29 2013-01-16 华南理工大学 一种电子政务云平台安全性的动态完整性度量方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张珂: "新型可信计算平台体系结构研究", 《计算机技术与发展》, vol. 21, no. 7, 10 July 2011 (2011-07-10), pages 153 - 157 *
徐娜等: "基于安全芯片的可信平台设计与实现", 《计算机应用研究》, no. 8, 1 August 2006 (2006-08-01), pages 117 - 119 *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268440A (zh) * 2013-05-17 2013-08-28 广东电网公司电力科学研究院 可信内核动态完整性度量方法
CN103593617A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于vmm的软件完整性校验***及其方法
CN103593617B (zh) * 2013-10-27 2016-08-17 西安电子科技大学 基于vmm的软件完整性校验***及其方法
WO2016041419A1 (zh) * 2014-09-16 2016-03-24 华为技术有限公司 一种可信度量方法及装置
US10713352B2 (en) 2014-09-16 2020-07-14 Huawei Technologies Co., Ltd. Method and apparatus for trusted measurement
CN104809401B (zh) * 2015-05-08 2017-12-19 南京大学 一种操作***内核完整性保护方法
CN104809401A (zh) * 2015-05-08 2015-07-29 南京大学 一种操作***内核完整性保护方法
CN105468978A (zh) * 2015-11-16 2016-04-06 国网智能电网研究院 一种适用于电力***通用计算平台的可信计算密码平台
CN105468978B (zh) * 2015-11-16 2019-11-01 全球能源互联网研究院 一种适用于电力***通用计算平台的可信计算密码平台
CN105718807A (zh) * 2016-01-26 2016-06-29 东北大学 基于软tcm和可信软件栈的安卓***及其可信认证***与方法
CN105718807B (zh) * 2016-01-26 2018-08-03 东北大学 基于软tcm和可信软件栈的安卓***及其可信认证***与方法
CN108885668A (zh) * 2016-03-31 2018-11-23 西门子股份公司 用于用户数据的完整性检查的方法、处理器和设备
US11568088B2 (en) 2016-03-31 2023-01-31 Siemens Aktiengesellschaft Method, processor and device for checking the integrity of user data
CN108885668B (zh) * 2016-03-31 2022-11-29 西门子股份公司 用于用户数据的完整性检查的方法、处理器和设备
CN105956466A (zh) * 2016-04-28 2016-09-21 浪潮电子信息产业股份有限公司 一种基于tpm的主动度量及异常上报***和方法
CN106096421A (zh) * 2016-06-20 2016-11-09 浪潮电子信息产业股份有限公司 一种基于tpm的高安全性的主机安全保护***及方法
CN106127057A (zh) * 2016-06-23 2016-11-16 浪潮电子信息产业股份有限公司 一种基于tpm构建可信启动控制的方法
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN107679393B (zh) * 2017-09-12 2020-12-04 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN109948327A (zh) * 2017-12-20 2019-06-28 北京可信华泰信息技术有限公司 一种异常状态核查方法及终端
CN111258598A (zh) * 2018-11-30 2020-06-09 阿里巴巴集团控股有限公司 度量更新方法、装置、***、存储介质及计算机设备
CN111258598B (zh) * 2018-11-30 2023-05-02 阿里巴巴集团控股有限公司 度量更新方法、装置、***、存储介质及计算机设备
CN109558738A (zh) * 2018-12-07 2019-04-02 郑州云海信息技术有限公司 一种移动平台可信控制装置及其方法
CN110334518B (zh) * 2019-07-05 2021-05-14 北京可信华泰信息技术有限公司 基于可信计算平台的度量策略的验证方法及装置
CN110334518A (zh) * 2019-07-05 2019-10-15 北京可信华泰信息技术有限公司 基于可信计算平台的度量策略的验证方法及装置
CN111881467A (zh) * 2020-06-12 2020-11-03 海光信息技术有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN111881467B (zh) * 2020-06-12 2022-10-28 海光信息技术股份有限公司 利用安全处理器保护文件的方法、装置、cpu和计算机设备
CN112199682A (zh) * 2020-11-03 2021-01-08 上海思赞博微信息科技有限公司 一种基于可信计算的白名单库文件保护方法
CN112199682B (zh) * 2020-11-03 2022-08-02 上海思赞博微信息科技有限公司 一种基于可信计算的白名单库文件保护方法
CN112527358A (zh) * 2020-12-16 2021-03-19 中安可信(青岛)网络科技有限公司 一种基于自我度量的可信应用可信度量方法、装置及***
CN112597505A (zh) * 2020-12-29 2021-04-02 海光信息技术股份有限公司 可信度量方法、控制方法、处理器、芯片、装置及介质
CN114048502A (zh) * 2021-10-15 2022-02-15 中国科学院信息工程研究所 一种轻量级可信通道及其通信控制方法
CN114048502B (zh) * 2021-10-15 2023-08-15 中国科学院信息工程研究所 一种轻量级可信通道及其通信控制方法
WO2024061326A1 (zh) * 2022-09-23 2024-03-28 华为技术有限公司 一种数据保护方法及电子设备
CN115640567A (zh) * 2022-09-28 2023-01-24 北京瑞莱智慧科技有限公司 Tee完整性认证方法、装置、***及存储介质
CN115640567B (zh) * 2022-09-28 2024-02-27 北京瑞莱智慧科技有限公司 Tee完整性认证方法、装置、***及存储介质

Also Published As

Publication number Publication date
CN103093150B (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN103093150B (zh) 一种基于可信芯片的动态完整性保护方法
CN103718165B (zh) Bios闪存攻击保护和通知
EP2854066B1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
CN103914658B (zh) 终端设备的安全启动方法及终端设备
EP3674954B1 (en) Security control method and computer system
CN105205401B (zh) 基于安全密码芯片的可信计算机***及其可信引导方法
US9870474B2 (en) Detection of secure variable alteration in a computing device equipped with unified extensible firmware interface (UEFI)-compliant firmware
KR101120825B1 (ko) 소프트웨어 업데이트가 특정 디바이스 또는 특정 클래스의디바이스들 상에서만 설치 또는 실행될 수 있을 것을보장하는 방법 및 시스템
US11194586B2 (en) Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
US8122514B2 (en) Software enhanced trusted platform module
US11886593B2 (en) Verification of a provisioned state of a platform
CN109997140B (zh) 使用一次写入寄存器从设备的睡眠状态加速安全启动的低功耗嵌入式设备
US10776493B2 (en) Secure management and execution of computing code including firmware
US11556651B2 (en) Method for secure booting using route switchover function for boot memory bus and apparatus using the same
JP7113115B2 (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
US20110145919A1 (en) Method and apparatus for ensuring consistent system configuration in secure applications
US11068599B2 (en) Secure initialization using embedded controller (EC) root of trust
JP5466645B2 (ja) 記憶装置、情報処理装置およびプログラム
Dhobi et al. Secure firmware update over the air using trustzone
EP3338214B1 (en) Secure computation environment
CN109766688B (zh) 一种基于Merkle树的Linux程序运行时验证与管控方法和***
CN114661540A (zh) 测量容器
WO2023165257A1 (zh) 一种代码段动态度量方法、装置及电子设备
KR100772881B1 (ko) 자기 수정 코드의 무결성 검증 장치 및 방법
EP3620944B1 (en) Low power embedded device using a write-once register to speed up the secure boot from sleep states of the device

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

Termination date: 20210218