System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
在此描述的本公开的实施例涉及一种电子装置,并且更具体地,涉及一种能够改变用于安全启动的签名验证算法的片上系统及其操作方法。
技术介绍
1、在日常生活中使用的电子装置包括存储装置。存储装置可存储安全数据(诸如,用户的个人信息或工作信息)。此外,存储装置可存储包括用于驱动电子装置的操作系统代码的启动数据。存储在存储装置中的数据可由片上系统(soc)驱动,在片上系统中,多个装置安装在单个芯片中。
2、片上系统(soc)使用各种安全措施(诸如,安全启动)作为认证存储在存储装置中的数据的方式。安全措施的安全性可被预先验证并且安全措施可被安装在片上系统(soc)中。
3、然而,在生产和发布片上系统(soc)之后,在安装在片上系统(soc)中的安全措施中可发生诸如安全漏洞的问题。安全漏洞指由软件设计错误和程序缺陷引起的安全缺陷。这可使得片上系统(soc)难以基于现有的安全措施来认证数据。
4、因此,在发布片上系统(soc)之后,可需要一种在保持安全启动的性能的同时永久地改变安全措施的方法。此外,在发布片上系统(soc)之后,可需要能够验证改变后的安全措施的安全性的方法。
技术实现思路
1、本公开的实施例提供一种能够通过安全且永久地改变用于安全启动的签名验证算法来提高安全启动的性能的片上系统及其操作方法。
2、根据实施例的一方面,一种片上系统包括:非易失性存储器,被配置为加载从外部存储装置接收的第一映像和第一签名验证算法;至少一个处理器,被配置为控制
3、根据实施例的一方面,一种片上系统的操作方法,片上系统包括存储第一签名验证算法的非易失性存储器、易失性存储器、一次性可编程(otp)存储器和至少一个处理器,所述至少一个处理器配置为控制非易失性存储器、易失性存储器和otp存储器,所述操作方法包括:由所述至少一个处理器读取otp存储器;基于关于与第一签名验证算法不同的第二签名验证算法的版本信息被编程在otp存储器中,由所述至少一个处理器将从外部存储装置接收的第一映像加载到易失性存储器;由所述至少一个处理器基于编程在otp存储器中的第二签名验证算法的编程的哈希值对第一映像执行第一验证;基于第一验证成功,由所述至少一个处理器执行与所述版本信息对应的第二签名验证算法;由所述至少一个处理器将从外部存储装置接收的第二映像加载到易失性存储器,第二映像不同于第一映像;并且由所述至少一个处理器通过将第二签名验证算法应用于第二映像来执行第二验证。
4、根据实施例的一方面,一种片上系统的操作方法,片上系统包括存储第一签名验证算法的非易失性存储器、易失性存储器、一次性可编程(otp)存储器和至少一个处理器,所述至少一个处理器被配置为控制非易失性存储器、易失性存储器和otp存储器,所述操作方法包括:由所述至少一个处理器读取otp存储器;基于关于与第一签名验证算法不同的第二签名验证算法的版本信息被编程在otp存储器中,由所述至少一个处理器将从外部存储装置接收的加密的第一映像加载到易失性存储器;由所述至少一个处理器对加密的第一映像进行解密以获得解密的第一映像;由所述至少一个处理器基于编程在otp存储器中的第二签名验证算法的编程的哈希值对解密的第一映像执行第一验证;基于第一验证成功,由所述至少一个处理器执行与所述版本信息对应的第二签名验证算法;由所述至少一个处理器将从外部存储装置接收的第二映像加载到易失性存储器,第二映像与加密的第一映像不同;以及由所述至少一个处理器通过将第二签名验证算法应用于第二映像来执行第二验证。
本文档来自技高网...【技术保护点】
1.一种片上系统,包括:
2.根据权利要求1所述的片上系统,其中,基于所述版本信息未被编程,所述至少一个处理器还被配置为:
3.根据权利要求2所述的片上系统,其中,第一映像包括引导加载程序代码、第一安全代码、固件代码、第二安全代码、第一签名和第二签名,
4.根据权利要求3所述的片上系统,其中,第一映像还包括第二签名验证算法的编程的哈希值和所述版本信息,并且
5.根据权利要求3所述的片上系统,其中,引导加载程序验证基于通过将哈希算法应用于引导加载程序代码和第一安全代码中的每个而计算的哈希值来执行。
6.根据权利要求3所述的片上系统,其中,固件验证基于通过将哈希算法应用于固件代码和第二安全代码中每个而计算的哈希值来执行。
7.根据权利要求1所述的片上系统,其中,第二映像包括用于与所述版本信息对应的签名验证的算法代码。
8.根据权利要求7所述的片上系统,其中,所述至少一个处理器还被配置为:
9.根据权利要求1所述的片上系统,其中,所述版本信息包括与第二签名验证算法相关联的多个版本,并且
>10.根据权利要求9所述的片上系统,其中,基于所述多个版本之中的第一版本被编程,所述至少一个处理器还被配置为:
11.根据权利要求10所述的片上系统,其中,基于所述多个版本之中的第二版本在第一版本被编程之后被编程,所述至少一个处理器还被配置为:
12.根据权利要求1所述的片上系统,其中,第一映像包括引导加载程序代码、第一签名、第二签名、第一安全代码、固件代码和第二安全代码,
13.根据权利要求1至权利要求12中的任意一项所述的片上系统,其中,第一签名验证算法包括Rivest Shamir Adleman RSA算法、椭圆曲线数字签名算法ECDSA和爱德华兹曲线数字签名算法EdDSA中的至少一个,并且
14.一种片上系统的操作方法,片上系统包括存储第一签名验证算法的非易失性存储器、易失性存储器、一次性可编程OTP存储器和至少一个处理器,所述至少一个处理器被配置为控制非易失性存储器、易失性存储器和OTP存储器,所述操作方法包括:
15.根据权利要求14所述的操作方法,还包括:
16.根据权利要求15所述的操作方法,其中,第二映像包括引导加载程序代码、第一安全代码、固件代码、第二安全代码、第一签名和第二签名,
17.根据权利要求15所述的操作方法,其中,第二映像还包括第二签名验证算法的编程的哈希值和所述版本信息,并且
18.根据权利要求14所述的操作方法,其中,第一映像包括用于与所述版本信息对应的签名验证的算法代码,并且
19.根据权利要求14至权利要求18中的任意一项所述的操作方法,其中,第一签名验证算法包括Rivest Shamir AdlemanRSA算法、椭圆曲线数字签名算法ECDSA和爱德华兹曲线数字签名算法EdDSA中的至少一个,并且
20.一种片上系统的操作方法,片上系统包括存储第一签名验证算法的非易失性存储器、易失性存储器、一次性可编程OTP存储器和至少一个处理器,所述至少一个处理器被配置为控制非易失性存储器、易失性存储器和OTP存储器,所述操作方法包括:
...【技术特征摘要】
1.一种片上系统,包括:
2.根据权利要求1所述的片上系统,其中,基于所述版本信息未被编程,所述至少一个处理器还被配置为:
3.根据权利要求2所述的片上系统,其中,第一映像包括引导加载程序代码、第一安全代码、固件代码、第二安全代码、第一签名和第二签名,
4.根据权利要求3所述的片上系统,其中,第一映像还包括第二签名验证算法的编程的哈希值和所述版本信息,并且
5.根据权利要求3所述的片上系统,其中,引导加载程序验证基于通过将哈希算法应用于引导加载程序代码和第一安全代码中的每个而计算的哈希值来执行。
6.根据权利要求3所述的片上系统,其中,固件验证基于通过将哈希算法应用于固件代码和第二安全代码中每个而计算的哈希值来执行。
7.根据权利要求1所述的片上系统,其中,第二映像包括用于与所述版本信息对应的签名验证的算法代码。
8.根据权利要求7所述的片上系统,其中,所述至少一个处理器还被配置为:
9.根据权利要求1所述的片上系统,其中,所述版本信息包括与第二签名验证算法相关联的多个版本,并且
10.根据权利要求9所述的片上系统,其中,基于所述多个版本之中的第一版本被编程,所述至少一个处理器还被配置为:
11.根据权利要求10所述的片上系统,其中,基于所述多个版本之中的第二版本在第一版本被编程之后被编程,所述至少一个处理器还被配置为:
12.根据权利要求1所述的片上系统,其中,第一映像包括引导加载程序代码、第一签名、第二签名、第一安全代码、固件代码和第二安全代码,
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。