[发明专利]程序校验、签名方法及装置、SOC芯片在审
申请号: | 202110554170.4 | 申请日: | 2021-05-20 |
公开(公告)号: | CN113177201A | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 陈志勇;冯奎景 | 申请(专利权)人: | 北京奕斯伟计算技术有限公司;广州全盛威信息技术有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F21/57;G06F15/78 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 刘铁生;孟阿妮 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 校验 签名 方法 装置 soc 芯片 | ||
1.一种程序校验方法,其特征在于,所述方法包括:
加载待启动程序至芯片内部存储器;
利用从所述芯片内部获取的验签密钥对所述待启动程序进行签名验证;
若签名验证不通过,则拒绝启动所述待启动程序;
若签名验证通过,则允许启动所述待启动程序。
2.根据权利要求1所述的方法,其特征在于,所述待启动程序包括引导加载程序BootLoader和/或外部软件。
3.根据权利要求2所述的方法,其特征在于,所述待启动程序包括引导加载程序BootLoader和外部软件;
所述利用从所述芯片内部获取的验签密钥对所述待启动程序进行签名验证,包括:
利用从所述芯片内部获取的验签密钥对所述BootLoader和所述外部软件依次进行签名验证,其中,任意一项验证不通过则判断整体签名验证不通过。
4.根据权利要求1所述的方法,其特征在于,所述利用从所述芯片内部获取的验签密钥对所述待启动程序进行签名验证,包括:
提取所述待启动程序的数据字段和签名字段;
计算所述数据字段对应的第一数字摘要;
利用从所述芯片内部获取的验签密钥对所述签名字段进行解密,得到第二数字摘要;
若所述第一数字摘要与所述第二数字摘要相同,则签名验证通过;
若所述第一数字摘要与所述第二数字摘要不相同,则签名验证不通过。
5.根据权利要求1所述的方法,其特征在于,所述验签密钥包括采用非对称加密算法生成的公钥。
6.根据权利要求5所述的方法,其特征在于,所述非对称加密算法包括椭圆曲线密码编码学ECC加密算法。
7.根据权利要求6所述的方法,其特征在于,在所述利用从所述芯片内部获取的验签密钥对所述待启动程序进行签名验证之前,还包括:
从所述芯片内部的电子保险丝eFuse中读取预存的第一坐标值,所述第一坐标值是基于ECC加密算法的验签密钥的一部分值,所述第一坐标值是基于ECC加密算法的验签密钥的一部分;
采用所述ECC加密算法对应的曲线方程,计算与所述第一坐标值对应的第二坐标值;
根据所述第一坐标值和所述第二坐标值确定验签密钥。
8.根据权利要求1所述的方法,其特征在于,在所述利用从所述芯片内部获取的验签密钥对所述待启动程序进行签名验证之前,还包括:
从所述芯片内部的eFuse中读取预存的验签密钥。
9.根据权利要求1所述的方法,其特征在于,在所述加载待启动程序至芯片内部存储器之前,还包括:
从外部存储器中获取已加密的待启动程序数据,其中,待启动程序经过加密后存储于所述外部存储器中;
采用所述芯片内部预存的读写密钥对所述已加密的待启动程序数据进行解密,得到待启动程序。
10.根据权利要求9所述的方法,其特征在于,所述采用所述芯片内部预存的读写密钥对所述加密的待启动程序数据进行解密,包括:
采用所述芯片内部的eFuse中预存的读写密钥对所述加密的待启动程序数据进行解密。
11.根据权利要求9所述的方法,其特征在于,所述读写密钥包括用于对称加解密的对称密钥。
12.根据权利要求1所述的方法,其特征在于,所述芯片包括片上系统SOC芯片。
13.一种程序签名方法,其特征在于,所述方法包括:
确定用于在芯片上运行的待启动程序;
基于签名密钥生成所述待启动程序的数字签名;
将所述签名密钥对应的验签密钥存储至所述芯片内部,以便于在所述芯片内部对所述待启动程序的数字签名进行签名验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奕斯伟计算技术有限公司;广州全盛威信息技术有限公司,未经北京奕斯伟计算技术有限公司;广州全盛威信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110554170.4/1.html,转载请声明来源钻瓜专利网。