本公开涉及一种基于Hypervisor的启动内核的方法、装置及电子设备,所述方法包括:利用非对称加密算法生成多对公私钥密码对;所述多对公私钥密码对包括Hypervisor公私钥密码对和OS公私钥密码对;利用Hypervisor私钥对所述Hypervisor进行签名;利用OS私钥对OS内核进行签名;将Hypervisor公钥和OS公钥写入RPMB分区中;其中,在通过Bootloader启动所述Hypervisor时,所述Hypervisor公钥用于对所述Hypervisor和对应签名进行验证;在启动OS内核时,所述OS公钥用于对所述OS内核和对应签名进行验证。上述方案用于解决现有技术中存在的,在ARM平台引入虚拟化技术后,系统中的数据安全性降低的技术问题,实现签名验证的准确性,保证了可信启动,以及系统数据安全的技术效果。果。果。
【技术实现步骤摘要】
基于Hypervisor的启动内核的方法、装置及电子设备
[0001]本公开涉及计算机安全领域,具体地,涉及一种基于Hypervisor的启动内核的方法、装置及电子设备。
技术介绍
[0002]ARM(Advanced RISC Machines)平台得益于其低功耗,高性能等特点,被广泛应用于物联网设备,智能设备,工控设备等设备中。ARM平台的系统相关镜像被直接烧写在存储介质上,黑客可以通过烧写一个带缺陷的OS来获取设备敏感数据。为了保证设备上数据的安全性,一个安全受信任的OS是必要的。
[0003]ARM平台一般由Bootloader启动OS内核;因此,ARM平台的可信启动关键在于Bootloader如何引导安全的OS内核。一般情况下,Bootloader会对OS进行验证启动。
[0004]随着芯片算力的提升,在ARM上使用虚拟化技术成为了广泛的需求,Hypervisor作为虚拟机管理系统被Bootloader加载,Hypervisor启动成功后会为每个虚拟机分配资源并启动虚拟机对应的OS。
[0005]在ARM平台引入虚拟化技术后,由于OS被Hypervisor启动,Bootloader无法直接启动OS,因此,Bootloader无法对OS进行验证启动,攻击者只需要启动一个带缺陷的Hypervisor即可启动未经验证的OS,进而获取系统中的数据。可见,现有技术中存在,在ARM平台引入虚拟化技术后,系统中的数据安全性降低的技术问题。
技术实现思路
[0006]本公开的目的是提供一种基于Hypervisor的启动内核的方法、装置及电子设备,用于解决现有技术中存在的,在ARM平台引入虚拟化技术后,系统中的数据安全性降低的技术问题。
[0007]为了实现上述目的,本公开第一方面提供一种基于Hypervisor的启动内核的方法,所述方法包括:利用非对称加密算法生成多对公私钥密码对;所述多对公私钥密码对包括Hypervisor公私钥密码对和OS公私钥密码对;利用Hypervisor私钥对所述Hypervisor进行签名;利用OS私钥对OS内核进行签名;将Hypervisor公钥和OS公钥写入RPMB分区中;其中,在通过Bootloader启动所述Hypervisor时,所述Hypervisor公钥用于对所述Hypervisor和对应签名进行验证;在启动OS内核时,所述OS公钥用于对所述OS内核和对应签名进行验证。
[0008]可选的,所述多对公私钥密码还包括Bootloader公私钥密码对;所述方法还包括:利用Bootloader私钥对所述Bootloader进行签名;并将所述Bootloader公钥硬编码到ROM代码中。
[0009]可选的,所述多对公私钥密码还包括虚拟Bootloader公私钥密码对;所述方法还
包括:利用虚拟Bootloader私钥对虚拟Bootloader进行签名;并将虚拟Bootloader公钥写入所述RPMB分区中;其中,在通过所述Hypervisor启动所述虚拟Bootloader时,所述虚拟Bootloader公钥用于对所述虚拟Bootloader和对应签名进行验证。
[0010]本公开第二方面提供一种基于Hypervisor的启动内核的方法,所述方法包括:通过ROM代码启动Bootloader;在通过所述Bootloader启动所述Hypervisor时,从RPMB分区中读取Hypervisor公钥;利用所述Hypervisor公钥对所述Hypervisor和对应签名进行验证;如果验证成功,则启动所述Hypervisor;在通过所述Hypervisor启动OS内核时,从所述RPMB分区中读取OS公钥;利用所述OS公钥对所述OS内核和对应签名进行验证,如果验证成功,则启动所述OS内核。
[0011]可选的,通过ROM代码启动Bootloader,包括:利用硬编码到ROM代码中的Bootloader公钥对所述Bootloader和对应签名进行验证;如果验证成功,则启动所述Bootloader。
[0012]可选的,若系统中存在虚拟Bootloader,则通过所述Hypervisor启动OS内核,包括以下步骤:通过所述Hypervisor启动虚拟Bootloader;在通过所述Hypervisor启动虚拟Bootloader时,从所述RPMB分区中读取虚拟Bootloader公钥;利用所述虚拟Bootloader公钥对所述虚拟Bootloader和对应签名进行验证;如果验证成功,则启动所述虚拟Bootloader。
[0013]启动所述虚拟Bootloader后,通过所述虚拟Bootloader启动所述OS内核。
[0014]本公开第三方面提供一种基于Hypervisor的启动内核的装置,包括:密码对生成模块,用于利用非对称加密算法生成多对公私钥密码对;所述多对公私钥密码对包括Hypervisor公私钥密码对和OS公私钥密码对;Hypervisor签名模块,用于利用Hypervisor私钥对所述Hypervisor进行签名;OS内核签名模块,用于利用OS私钥对OS内核进行签名;存储模块,用于将Hypervisor公钥和OS公钥写入RPMB分区中;其中,在通过Bootloader启动所述Hypervisor时,所述Hypervisor公钥用于对所述Hypervisor和对应签名进行验证;在启动OS内核时,所述OS公钥用于对所述OS内核和对应签名进行验证。
[0015]本公开第四方面提供一种基于Hypervisor的启动内核的装置,包括:Bootloader启动模块,用于通过ROM代码启动Bootloader;Hypervisor公钥读取模块,用于在通过所述Bootloader启动所述Hypervisor时,从RPMB分区中读取Hypervisor公钥;Hypervisor验证模块,用于利用所述Hypervisor公钥对所述Hypervisor和对应签名进行验证;如果验证成功,则启动所述Hypervisor;OS公钥读取模块,用于在通过所述Hypervisor启动OS内核时,从所述RPMB分区中
读取OS公钥;OS内核验证模块,用于利用所述OS公钥对所述OS内核和对应签名进行验证,如果验证成功,则启动所述OS内核。
[0016]本公开第五方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
[0017]本公开第六方面提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。
[0018]通过上述技术方案,利用非对称加密算法生成多对公私钥密码对;所述多对公私钥密码对包括Hypervisor公私钥密码对和OS公私钥密码对;然后,利用Hypervisor私钥对所述Hypervisor进行签名;利用OS私钥对OS内核进行签名,并利用RPMB(Replay Prot本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Hypervisor的启动内核的方法,其特征在于,所述方法包括:利用非对称加密算法生成多对公私钥密码对;所述多对公私钥密码对包括Hypervisor公私钥密码对和OS公私钥密码对;利用Hypervisor私钥对所述Hypervisor进行签名;利用OS私钥对OS内核进行签名;将Hypervisor公钥和OS公钥写入RPMB分区中;其中,在通过Bootloader启动所述Hypervisor时,所述Hypervisor公钥用于对所述Hypervisor和对应签名进行验证;在启动OS内核时,所述OS公钥用于对所述OS内核和对应签名进行验证。2.如权利要求1所述的方法,其特征在于,所述多对公私钥密码还包括Bootloader公私钥密码对;所述方法还包括:利用Bootloader私钥对所述Bootloader进行签名;并将所述Bootloader公钥硬编码到ROM代码中。3.如权利要求1所述的方法,其特征在于,所述多对公私钥密码还包括虚拟Bootloader公私钥密码对;所述方法还包括:利用虚拟Bootloader私钥对虚拟Bootloader进行签名;并将虚拟Bootloader公钥写入所述RPMB分区中;其中,在通过所述Hypervisor启动所述虚拟Bootloader时,所述虚拟Bootloader公钥用于对所述虚拟Bootloader和对应签名进行验证。4.一种基于Hypervisor的启动内核的方法,其特征在于,所述方法包括:通过ROM代码启动Bootloader;在通过所述Bootloader启动所述Hypervisor时,从RPMB分区中读取Hypervisor公钥;利用所述Hypervisor公钥对所述Hypervisor和对应签名进行验证;如果验证成功,则启动所述Hypervisor;在通过所述Hypervisor启动OS内核时,从所述RPMB分区中读取OS公钥;利用所述OS公钥对所述OS内核和对应签名进行验证,如果验证成功,则启动所述OS内核。5.如权利要求4所述的方法,其特征在于,通过ROM代码启动Bootloader,包括:利用硬编码到ROM代码中的Bootloader公钥对所述Bootloader和对应签名进行验证;如果验证成功,则启动所述Bootloader。6.如权利要求4所述的方法,其特征在于,若系统中存在虚拟Bootloader,则通过所述Hypervisor启动OS内核,包括以下步骤:通...
【专利技术属性】
技术研发人员:ꢀ七四专利代理机构,
申请(专利权)人:中瓴智行成都科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。