一种安全芯片配置方法及设备与流程
未命名
07-23
阅读:103
评论:0
1.本发明涉及计算机领域,尤其涉及一种安全芯片配置方法及设备。
背景技术:
2.tpcm是一个集成在可信平台中的硬件模块,是主动免疫可信体系的可信根,主要用于建立和保障信任源点,提供可信平台控制、完整性度量、安全存储、可信报告以及密码服务等一系列可信计算功能。通过主动度量控制芯片(tpcm)植入可信源根,在tcm基础上加以信任根控制功能,实现密码与控制相结合,将可信平台控制模块设计为可信计算控制节点,实现了tpcm对整个平台的主动控制。平台完整性报告是指可信计算平台将平台软硬件系统的完整性状态传送给可信验证方,以便向可验证方报告待验证平台的完整性状态,然后再由可信验证方根据平台的完整性报告,结合完整性参考值和度量操作的工作日志对平台状态进行可信验证。tpcm在平台完整性度量结束后,对度量结果进行比较,同时还将错误的度量结果通过触发中断方式主动报告给平台。
3.当前云服务允许每个虚拟机拥有自己的操作系统和应用程序,不同的虚拟机的操作系统和应用程序可以不相同。因此,对于云服务器上虚拟机运行异构操作系统和不同应用程序,不能通过固定的度量值实现对所有虚拟机的安全控制,需要在安全芯片内设计一种可信的虚拟机安全校验方法,使得安全芯片实现对运行异构操作系统的虚拟机的可信管理。
技术实现要素:
4.针对上述现有技术中存在的缺陷,本发明提供一种安全芯片配置方法,所述安全芯片包括任务模块、地址分配模块、校验模块、定时模块、第一随机数生成模块以及第二随机数生成模块,所述方法包括:启动所述定时模块,所述任务模块开始接收并存储启动请求至请求列表,所述启动请求用于请求启动虚拟机,所述启动请求中包括所述虚拟机运行的操作系统和应用程序列表;所述定时模块到达预设时长后,所述任务模块将请求列表发送至地址分配模块,以及清空请求列表;所述地址分配模块接收所述请求列表,获取所述请求列表的项数,将所述项数发送至第一随机数生成模块,并接收第一随机数生成模块返回的包含个随机数的随机数列表;所述地址分配模块基于所述随机数列表以及所述请求列表为所述请求列表中的每一项启动请求分配物理地址空间,所述请求列表中的启动请求的物理地址空间连续;所述请求列表对应的虚拟机全部加载完毕后,所述校验模块对全部所述虚拟机进行安全校验,所述安全校验包括对虚拟机进行加载位置验证,所述加载位置验证基于所述第二随机数生成模块生成的校验随机数。
5.其中,在所述定时模块到达预设时长后重置定时模块时长为0,重新启动所述定时模块,所述任务模块新建请求列表,将重启定时模块后接收到的启动请求存储到新建请求列表中,所述任务模块将原请求列表发送至地址分配模块后,清空所述原请求列表。
6.其中,所述物理地址空间以页表为单位进行地址分配;所述第一随机数生成模块生成的随机数大于等于零且小于页表大小;按照虚拟机启动请求在所述请求列表出现的先后顺序中为所述虚拟机分配页表,在所述请求列表相邻的虚拟机对应的页表是连续的;获取所述虚拟机启动请求在请求列表中的位置,将随机数列表对应位置的随机数指示的值作为所述虚拟机的页表加载起始位置。
7.其中,所述地址分配模块根据所述虚拟机运行的操作系统和应用程序列表,确定为所述虚拟机分配的页表数量,包括:当所述地址分配模块计算所述虚拟机运行的操作系统和应用程序列表的初始占用内存大小需要个页表时,为所述虚拟机分配个页表;所述初始占用内存大小为加载所述操作系统所需存储空间和所述应用程序列表中所有应用程序所需存储空间之和。
8.其中,所述地址分配模块中存储有地址分配列表;所述地址分配模块根据页表加载起始位置、初始占用内存大小、分配的页表数量确定所述虚拟机初始剩余内存;所述地址分配模块对请求列表中的虚拟机完成地址分配后,将所述虚拟机的地址分配信息添加到地址分配列表;所述地址分配列表中包括为请求列表中的每一虚拟机确定的页表加载起始位置、初始占用内存大小、分配的页表数量、分配的页表序号范围、以及所述虚拟机初始剩余内存。
9.其中,所述安全校验包括对虚拟机进行加载位置验证,包括:确定虚拟机对应的第一校验值和第二校验值,将所述第一校验值和第二校验值发送至校验模块;所述校验模块接收到所述虚拟机的校验值后,向所述地址分配模块发送请求校验信息;所述地址分配模块收到所述请求校验信息后,向所述校验模块发送第三校验值和第四校验值;所述校验模块判断所述第一校验值与第三校验值相同,以及第二校验值与第四校验值相同,确定所述虚拟机通过安全校验;所述校验模块判断所述第一校验值与第三校验值不相同,或者第二校验值与第四校验值不相同,确定所述虚拟机未通过安全校验,以及不启动所述虚拟机。
10.其中,由虚拟机监视器生成所述第一校验值和第二校验值;在所述虚拟机监视器生成所述第一校验值和第二校验值之前,向所述第二随机数生成模块请求所述虚拟机对应的校验随机数和哈希函数;所述第二随机数生成模块生成所述虚拟机对应的校验随机数,将所述校验随机数、哈希函数和对应的虚拟机标识发送给所述虚拟机监视器和所述地址分配模块;
其中,不同虚拟机对应的校验随机数不相同。
11.其中,由虚拟机监视器根据所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c生成所述第一校验值和第二校验值,包括:所述虚拟机监视器计算所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c之和m=a+b+c,根据所述虚拟机对应的哈希函数生成第一校验值hash(m);以及所述虚拟机监视器计算n=b-a-c,根据所述虚拟机对应的哈希函数生成第二校验值hash(n)。
12.其中,所述地址分配模块收到所述第二随机数生成模块发送的所述校验随机数、哈希函数和对应的虚拟机标识所述请求校验信息后,计算第三校验值和第四校验值,在所述校验模块发送请求校验信息后,向所述校验模块发送第三校验值和第四校验值;其中,所述地址分配模块计算第三校验值和第四校验值,包括:所述地址分配模块确定所述虚拟机对应的分配的页表数量o以及页表大小pagesize,根据所述虚拟机对应的哈希函数生成第三校验值hash(o
×
pagesize);以及所述地址分配模块获取地址分配列表中的页表加载起始位置x、初始占用内存大小y以及所述虚拟机初始剩余内存z,确定r=y-x-z,根据所述虚拟机对应的哈希函数生成第四校验值hash(r)。
13.本发明还提出了一种计算机设备,所述设备包括安全芯片,所述安全芯片为tpcm芯片,所述安全芯片内包括存储器和处理器,所述存储器被配置成在其上存储计算机程序指令,所述计算机程序指令当在所述处理器上执行时促使所述处理器执行前述任一项所述的安全芯片配置方法。
14.与现有技术相比,通过本发明的方法使得安全芯片基于虚拟机的操作系统和应用程序的文件大小、以及通过随机页加载位置进行安全校验,以及通过校验随机数对安全芯片在校验过程中传输的用于虚拟机安全验证的数据进行保护,实现安全芯片实现对运行异构操作系统的虚拟机的可信管理。
附图说明
15.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:图1是示出根据本发明实施例的一种安全芯片配置方法;图2是示出根据本发明实施例的一种包括安全芯片的计算机设备。
具体实施方式
16.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
17.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制
本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
18.应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述
……
,但这些
……
不应限于这些术语。这些术语仅用来将
……
区分开。例如,在不脱离本发明实施例范围的情况下,第一
……
也可以被称为第二
……
,类似地,第二
……
也可以被称为第一
……
。
19.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
20.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
21.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
22.下面结合附图详细说明本发明的可选实施例。
23.实施例一、如图1所示,本发明公开了一种安全芯片配置方法,所述安全芯片包括任务模块、地址分配模块、校验模块、定时模块、第一随机数生成模块以及第二随机数生成模块,所述方法包括:启动所述定时模块,所述任务模块开始接收并存储启动请求至请求列表,所述启动请求用于请求启动虚拟机,所述启动请求中包括所述虚拟机运行的操作系统和应用程序列表;所述定时模块到达预设时长后,所述任务模块将请求列表发送至地址分配模块,以及清空请求列表;所述地址分配模块接收所述请求列表,获取所述请求列表的项数,将所述项数发送至第一随机数生成模块,并接收第一随机数生成模块返回的包含个随机数的随机数列表;所述地址分配模块基于所述随机数列表以及所述请求列表为所述请求列表中的每一项启动请求分配物理地址空间,所述请求列表中的启动请求的物理地址空间连续;所述请求列表对应的虚拟机全部加载完毕后,所述校验模块对全部所述虚拟机进行安全校验,所述安全校验包括对虚拟机进行加载位置验证,所述加载位置验证基于所述第二随机数生成模块生成的校验随机数。
24.在某一实施例中,在所述定时模块到达预设时长后重置定时模块时长为0,重新启动所述定时模块,所述任务模块新建请求列表,将重启定时模块后接收到的启动请求存储到新建请求列表中,所述任务模块将原请求列表发送至地址分配模块后,清空所述原请求
列表。
25.本发明通过定时模块与请求列表,使得安全芯片以固定周期为单位对周期内的请求启动的虚拟机进行安全校验,减少安全芯片的处理压力。
26.在某一实施例中,所述物理地址空间以页表为单位进行地址分配;所述第一随机数生成模块生成的随机数大于等于零且小于页表大小;按照虚拟机启动请求在所述请求列表出现的先后顺序中为所述虚拟机分配页表,在所述请求列表相邻的虚拟机对应的页表是连续的;获取所述虚拟机启动请求在请求列表中的位置,将随机数列表对应位置的随机数指示的值作为所述虚拟机的页表加载起始位置。
27.非授权虚拟机可能可以访问服务器中的敏感数据,修改虚拟机的配置信息,对信息安全造成巨大隐患。本发明中引入第一随机数生成模块对虚拟机在页表中的开始加载位置进行配置,使得不同的虚拟机加载的位置不相同,增加非授权的虚拟机通过安全校验的难度。
28.本发明使用连续的页表对同一周期内的虚拟机进行内存分配,方便后续进行管理。
29.所述地址分配模块根据所述虚拟机运行的操作系统和应用程序列表,确定为所述虚拟机分配的页表数量,包括:当所述地址分配模块计算所述虚拟机运行的操作系统和应用程序列表的初始占用内存大小需要个页表时,为所述虚拟机分配个页表;所述初始占用内存大小为加载所述操作系统所需存储空间和所述应用程序列表中所有应用程序所需存储空间之和。
30.本发明中,云服务器中使用大内存分配方式的方式进行页表管理,每个页表的大小为1g,本领域技术人员也可以使用其他大小为pagesize进行大内存管理。
31.由于虚拟机在页表的加载位置不是从0开始加载,而根据第一随机模块生成的随机数进行加载,因此在分配页数量的时候,需要增加一页保证虚拟机可以正常加载。同时增加的内存范围可以指示给虚拟机监视器,后续可以用于虚拟机运行过程中使用。
32.在某一实施例中,所述地址分配模块中存储有地址分配列表;所述地址分配模块根据页表加载起始位置、初始占用内存大小、分配的页表数量确定所述虚拟机初始剩余内存;所述地址分配模块对请求列表中的虚拟机完成地址分配后,将所述虚拟机的地址分配信息添加到地址分配列表;所述地址分配列表中包括为请求列表中的每一虚拟机确定的页表加载起始位置、初始占用内存大小、分配的页表数量、分配的页表序号范围、以及所述虚拟机初始剩余内存。
33.在某一实施例中,所述安全校验包括对虚拟机进行加载位置验证,包括:确定虚拟机对应的第一校验值和第二校验值,将所述第一校验值和第二校验值发送至校验模块;所述校验模块接收到所述虚拟机的校验值后,向所述地址分配模块发送请求校验信息;
所述地址分配模块收到所述请求校验信息后,向所述校验模块发送第三校验值和第四校验值;所述校验模块判断所述第一校验值与第三校验值相同,以及第二校验值与第四校验值相同,确定所述虚拟机通过安全校验;所述校验模块判断所述第一校验值与第三校验值不相同,或者第二校验值与第四校验值不相同,确定所述虚拟机未通过安全校验,以及不启动所述虚拟机。
34.本发明中所述虚拟机加载完成,但在安全芯片完成安全校验之前,处于中断状态,并不实际启动运行,只有在安全芯片通过所述虚拟机的安全校验以后才启动运行,如果所述虚拟机未通过运行则所述安全芯片将结果上报给平台管理功能体如虚拟机监视器,虚拟机根据结果删除对应的虚拟机。
35.在某一实施例中,由虚拟机监视器生成所述第一校验值和第二校验值;在所述虚拟机监视器生成所述第一校验值和第二校验值之前,向所述第二随机数生成模块请求所述虚拟机对应的校验随机数和哈希函数;所述第二随机数生成模块生成所述虚拟机对应的校验随机数,将所述校验随机数、哈希函数和对应的虚拟机标识发送给所述虚拟机监视器和所述地址分配模块;其中,不同虚拟机对应的校验随机数不相同。
36.本发明通过第二随机数生成模块和哈希函数增加了安全芯片和其他结构传输数据的安全性,使得虚拟机被配置的地址数据更加安全。
37.在某一实施例中,由虚拟机监视器根据所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c生成所述第一校验值和第二校验值,包括:所述虚拟机监视器计算所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c之和m=a+b+c,根据所述虚拟机对应的哈希函数生成第一校验值hash(m);以及所述虚拟机监视器计算n=b-a-c,根据所述虚拟机对应的哈希函数生成第二校验值hash(n)。
38.在某一实施例中,所述地址分配模块收到所述第二随机数生成模块发送的所述校验随机数、哈希函数和对应的虚拟机标识所述请求校验信息后,计算第三校验值和第四校验值,在所述校验模块发送请求校验信息后,向所述校验模块发送第三校验值和第四校验值;其中,所述地址分配模块计算第三校验值和第四校验值,包括:所述地址分配模块确定所述虚拟机对应的分配的页表数量o以及页表大小pagesize,根据所述虚拟机对应的哈希函数生成第三校验值hash(o
×
pagesize);以及所述地址分配模块获取地址分配列表中的页表加载起始位置x、初始占用内存大小y以及所述虚拟机初始剩余内存z,确定r=y-x-z,根据所述虚拟机对应的哈希函数生成第四校验值hash(r)。
39.本发明中,虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c之和应该与所分配的页表数量o以及页表大小pagesize的乘积是相同的。
40.同时,安全芯片与虚拟机监视器不直接传输实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c的值,而是通过组成的特定关系的方式传输,增加了
虚拟机地址信息传输的安全性。
41.与现有技术相比,通过本发明的方法使得安全芯片基于虚拟机的操作系统和应用程序的文件大小、以及通过随机页加载位置进行安全校验,以及通过校验随机数对安全芯片在校验过程中传输的用于虚拟机安全验证的数据进行保护,实现安全芯片实现对运行异构操作系统的虚拟机的可信管理。
42.实施例二、如图2所示,本发明提出的一种计算机设备,所述设备包括安全芯片,所述安全芯片为tpcm芯片,所述安全芯片内包括存储器和处理器,所述存储器被配置成在其上存储计算机程序指令,所述计算机程序指令当在所述处理器上执行时促使所述处理器执行前述中任一项所述的安全芯片配置方法。
43.处理器执行存储介质上的指令或者数据可以实现的各类功能,需要说明的是,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
44.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
45.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
46.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
47.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
48.以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。
技术特征:
1.一种安全芯片配置方法,所述安全芯片包括任务模块、地址分配模块、校验模块、定时模块、第一随机数生成模块以及第二随机数生成模块,所述方法包括:启动所述定时模块,所述任务模块开始接收并存储启动请求至请求列表,所述启动请求用于请求启动虚拟机,所述启动请求中包括所述虚拟机运行的操作系统和应用程序列表;所述定时模块到达预设时长后,所述任务模块将请求列表发送至地址分配模块,以及清空请求列表;所述地址分配模块接收所述请求列表,获取所述请求列表的项数,将所述项数发送至第一随机数生成模块,并接收第一随机数生成模块返回的包含个随机数的随机数列表;所述地址分配模块基于所述随机数列表以及所述请求列表为所述请求列表中的每一项启动请求分配物理地址空间,所述请求列表中的启动请求的物理地址空间连续;所述请求列表对应的虚拟机全部加载完毕后,所述校验模块对全部所述虚拟机进行安全校验,所述安全校验包括对虚拟机进行加载位置验证,所述加载位置验证基于所述第二随机数生成模块生成的校验随机数。2.如权利要求1所述的方法,其特征在于,在所述定时模块到达预设时长后重置定时模块时长为0,重新启动所述定时模块,所述任务模块新建请求列表,将重启定时模块后接收到的启动请求存储到新建请求列表中,所述任务模块将原请求列表发送至地址分配模块后,清空所述原请求列表。3.如权利要求1所述的方法,其特征在于:所述物理地址空间以页表为单位进行地址分配;所述第一随机数生成模块生成的随机数大于等于零且小于页表大小;按照虚拟机启动请求在所述请求列表出现的先后顺序中为所述虚拟机分配页表,在所述请求列表相邻的虚拟机对应的页表是连续的;获取所述虚拟机启动请求在请求列表中的位置,将随机数列表对应位置的随机数指示的值作为所述虚拟机的页表加载起始位置。4.如权利要求3所述的方法,其特征在于,所述地址分配模块根据所述虚拟机运行的操作系统和应用程序列表,确定为所述虚拟机分配的页表数量,包括:当所述地址分配模块计算所述虚拟机运行的操作系统和应用程序列表的初始占用内存大小需要个页表时,为所述虚拟机分配 个页表;所述初始占用内存大小为加载所述操作系统所需存储空间和所述应用程序列表中所有应用程序所需存储空间之和。5.如权利要求1所述的方法,其特征在于,所述地址分配模块中存储有地址分配列表;所述地址分配模块根据页表加载起始位置、初始占用内存大小、分配的页表数量确定所述虚拟机初始剩余内存;所述地址分配模块对请求列表中的虚拟机完成地址分配后,将所述虚拟机的地址分配
信息添加到地址分配列表;所述地址分配列表中包括为请求列表中的每一虚拟机确定的页表加载起始位置、初始占用内存大小、分配的页表数量、分配的页表序号范围、以及所述虚拟机初始剩余内存。6.如权利要求1-5任一项所述的方法,其特征在于,所述安全校验包括对虚拟机进行加载位置验证,包括:确定虚拟机对应的第一校验值和第二校验值,将所述第一校验值和第二校验值发送至校验模块;所述校验模块接收到所述虚拟机的校验值后,向所述地址分配模块发送请求校验信息;所述地址分配模块收到所述请求校验信息后,向所述校验模块发送第三校验值和第四校验值;所述校验模块判断所述第一校验值与第三校验值相同,以及第二校验值与第四校验值相同,确定所述虚拟机通过安全校验;所述校验模块判断所述第一校验值与第三校验值不相同,或者第二校验值与第四校验值不相同,确定所述虚拟机未通过安全校验,以及不启动所述虚拟机。7.如权利要求6所述的方法,其特征在于,由虚拟机监视器生成所述第一校验值和第二校验值;在所述虚拟机监视器生成所述第一校验值和第二校验值之前,向所述第二随机数生成模块请求所述虚拟机对应的校验随机数和哈希函数;所述第二随机数生成模块生成所述虚拟机对应的校验随机数,将所述校验随机数、哈希函数和对应的虚拟机标识发送给所述虚拟机监视器和所述地址分配模块;其中,不同虚拟机对应的校验随机数不相同。8.如权利要求7所述的方法,其特征在于,由虚拟机监视器根据所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c生成所述第一校验值和第二校验值,包括:所述虚拟机监视器计算所述虚拟机的实际页表加载起始位置a、实际初始占用内存大小b、以及实际初始剩余内存c之和m=a+b+c,根据所述虚拟机对应的哈希函数生成第一校验值hash(m);以及所述虚拟机监视器计算n=b-a-c,根据所述虚拟机对应的哈希函数生成第二校验值hash(n)。9.如权利要求7所述的方法,其特征在于,所述地址分配模块收到所述第二随机数生成模块发送的所述校验随机数、哈希函数和对应的虚拟机标识所述请求校验信息后,计算第三校验值和第四校验值,在所述校验模块发送请求校验信息后,向所述校验模块发送第三校验值和第四校验值;其中,所述地址分配模块计算第三校验值和第四校验值,包括:所述地址分配模块确定所述虚拟机对应的分配的页表数量o以及页表大小pagesize,根据所述虚拟机对应的哈希函数生成第三校验值hash(o
×
pagesize);以及所述地址分配模块获取地址分配列表中的页表加载起始位置x、初始占用内存大小y以及所述虚拟机初始剩余内存z,确定r=y-x-z,根据所述虚拟机对应的哈希函数生成第
四校验值hash(r)。10.一种计算机设备,所述设备包括安全芯片,所述安全芯片为tpcm芯片,所述安全芯片内包括存储器和处理器,所述存储器被配置成在其上存储计算机程序指令,所述计算机程序指令当在所述处理器上执行时促使所述处理器执行权利要求1-9中任一项所述的安全芯片配置方法。
技术总结
本发明公开了一种安全芯片配置方法及设备,涉及计算机领域,所述方法包括:启动定时模块,任务模块开始接收并存储启动请求至请求列表,启动请求用于请求启动虚拟机,启动请求中包括虚拟机运行的操作系统和应用程序列表;定时模块到达预设时长后将请求列表发送至地址分配模块;地址分配模块将请求列表的项数发送至第一随机数生成模块用于生成随机数列表;基于所述随机数列表分配物理地址空间;校验模块对所述全部虚拟机进行安全校验,所述安全校验包括对虚拟机进行加载位置验证。本发明的方法使得安全芯片基于虚拟机的操作系统和应用程序的文件大小、以及通过随机页加载位置进行安全校验,实现安全芯片实现对运行异构操作系统的虚拟机的可信管理。的虚拟机的可信管理。的虚拟机的可信管理。
技术研发人员:王嘉诚 张少仲 张栩
受保护的技术使用者:中诚华隆计算机技术有限公司
技术研发日:2023.03.13
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种仪表系统的制作方法 下一篇:应用于晾衣机上的长度补偿装置的制作方法
