System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及集成电路,尤其涉及一种安全启动方法、装置、设备及存储介质。
技术介绍
1、secure boot(安全启动)是指为安全应用而建立的可信平台启动流程。在计算机启动时,启动过程中的每个组件都必须通过数字签名进行验证,以确保它们是由受信任的发行方发布的,并且没有被篡改或替换。如果任何组件无法通过验证,secure boot将阻止计算机继续启动。这有助于防止恶意软件和未经授权的操作系统在计算机启动时运行。
2、相关技术下,在安全启动过程中,采用对称加密的方式加密flash内的明文数据,以及验证加密后的数据,实现验证启动过程中组件的合法性。然而,上述方案在公钥泄漏时,通过公钥可解密出明文数据,进而伪造明文数据来绕过安全启动的验证,从而影响安全启动的安全性。
技术实现思路
1、本申请实施例提供了一种安全启动方法、装置、设备及存储介质,将所述安全摘要、所述随机数和所述用于提高安全启动的安全性。
2、一方面,本申请实施例提供了一种安全启动方法,包括:
3、从云服务器下载当前版本的加密固件关联的第一加密数据,并对所述第一加密数据解密,获得第一数字签名,所述第一加密数据是在首次启动时,以获得的随机数、密钥和当前版本的加密固件为输入,执行只读存储器中的信任根生成的并上传至所述云服务器的;
4、采用公钥对所述第一数字签名进行验签,若验签成功,则获得第一哈希值;
5、对本地保存的所述当前版本的加密固件的安全摘要和随机数进行哈希计算,
6、若所述第一哈希值与所述第二哈希值一致,则安全启动系统中的可信环境。
7、可选地,还包括:
8、在首次启动时,基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要;
9、对所述随机数和所述安全摘要进行哈希计算,获得第一哈希值;
10、采用私钥对所述第一哈希值进行签名,获得第一数字签名;
11、对所述第一数字签名进行加密,获得第一加密数据,并将所述第一加密数据上传至云服务器。
12、可选地,所述基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要之后,还包括:
13、将所述安全摘要、所述随机数和所述当前版本的加密固件保存在本地闪存中。
14、可选地,所述对所述第一数字签名进行加密,获得第一加密数据,包括:
15、采用对称密钥对所述第一数字签名进行加密,获得第一加密数据;
16、所述对所述第一加密数据解密,获得第一数字签名,包括:
17、采用所述对称密钥对所述第一加密数据解密,获得第一数字签名。
18、可选地,所述将所述第一加密数据上传至云服务器,包括:
19、将所述第一加密数据以及所述当前版本的加密固件的版本信息上传至所述云服务器,以使所述云服务器将所述当前版本的加密固件的版本信息添加在白名单中。
20、可选地,所述安全启动系统中的可信环境之后,还包括:
21、通过所述可信环境验证所述系统中的不可信环境的数字签名,并在验证通过时,安全启动系统中的不可信环境。
22、可选地,还包括:
23、若验签失败,则系统安全启动失败;
24、若所述第一哈希值与所述第二哈希值不一致,则系统安全启动失败。
25、一方面,本申请实施例提供了一种安全启动装置,包括:
26、下载模块,用于从云服务器下载当前版本的加密固件关联的第一加密数据,并对所述第一加密数据解密,获得第一数字签名,所述第一加密数据是在首次启动时,以获得的随机数、密钥和当前版本的加密固件为输入,执行只读存储器中的信任根生成的并上传至所述云服务器的;
27、验签模块,用于采用公钥对所述第一数字签名进行验签,若验签成功,则获得第一哈希值;
28、加密模块,用于对本地保存的所述当前版本的加密固件的安全摘要和随机数进行哈希计算,获得第二哈希值;
29、处理模块,用于若所述第一哈希值与所述第二哈希值一致,则安全启动系统中的可信环境。
30、可选地,所述加密模块具体用于:
31、在首次启动时,基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要;
32、对所述随机数和所述安全摘要进行哈希计算,获得第一哈希值;
33、采用私钥对所述第一哈希值进行签名,获得第一数字签名;
34、对所述第一数字签名进行加密,获得第一加密数据,并将所述第一加密数据上传至云服务器。
35、可选地,所述加密模块还用于:
36、基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要之后,将所述安全摘要、所述随机数和所述当前版本的加密固件保存在本地闪存中。
37、可选地,所述加密模块具体用于:
38、采用对称密钥对所述第一数字签名进行加密,获得第一加密数据;
39、所述对所述第一加密数据解密,获得第一数字签名,包括:
40、采用所述对称密钥对所述第一加密数据解密,获得第一数字签名。
41、可选地,所述加密模块具体用于:
42、将所述第一加密数据以及所述当前版本的加密固件的版本信息上传至所述云服务器,以使所述云服务器将所述当前版本的加密固件的版本信息添加在白名单中。
43、可选地,所述处理模块还用于:
44、所述安全启动系统中的可信环境之后,通过所述可信环境验证所述系统中的不可信环境的数字签名,并在验证通过时,安全启动系统中的不可信环境。
45、可选地,所述处理模块还用于:
46、若验签失败,则系统安全启动失败;
47、若所述第一哈希值与所述第二哈希值不一致,则系统安全启动失败。
48、一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述安全启动方法的步骤。
49、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述安全启动方法的步骤。
50、本申请实施例中,在安全启动过程中,存储在云服务器中的第一加密数据是对第一数字签名加密后获得的,这样提高了数字签名的保密性;进一步地,即使用于验签的公钥意外泄露,恶意用户采用泄露的公钥对第一数字签名验签成功后,也只能获得第一哈希值,而无法得到明文信息,从而在签名与验签的过程中保证了内容的完整性与来源的可信性,同时避免了明文信息泄露。其次,本申请对闪存中的固件加密;通过信任根基于随机数、密钥和当前版本的加密固件,生成第一加密数据,并将第一加密数据保存在云服务器中;在启动过程中,对第一加密数据解密获得第一数字签名;采用公钥对第一数字签名本文档来自技高网...
【技术保护点】
1.一种安全启动方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,还包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要之后,还包括:
4.如权利要求2所述的方法,其特征在于,所述对所述第一数字签名进行加密,获得第一加密数据,包括:
5.如权利要求2所述的方法,其特征在于,所述将所述第一加密数据上传至云服务器,包括:
6.如权利要求1所述的方法,其特征在于,所述安全启动系统中的可信环境之后,还包括:
7.如权利要求1所述的方法,其特征在于,还包括:
8.一种安全启动装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7
...【技术特征摘要】
1.一种安全启动方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,还包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述随机数、所述密钥和所述当前版本的加密固件,生成安全摘要之后,还包括:
4.如权利要求2所述的方法,其特征在于,所述对所述第一数字签名进行加密,获得第一加密数据,包括:
5.如权利要求2所述的方法,其特征在于,所述将所述第一加密数据上传至云服务器,包括:
6.如权利要求1所述的方法,其特征在于,所述安全启...
【专利技术属性】
技术研发人员:武文顺,
申请(专利权)人:上海芯联芯智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。