一种划分终端开发模式和产品模式的方法及系统的制作方法_2

文档序号:9349761阅读:来源:国知局
签通过,则判定所述一固件为产品固件;安装并运行所述一固件。
[0057] 由上述描述可知,对处于产品阶段的产品固件,配套对应的产品CA实现签名和验 证;只有处于产品阶段的终端选取对应的产品CA成功验证所下载的固件后,才能确认所下 载的固件为产品固件;确保处于产品阶段的终端所安装的固件为产品固件,保证产品终端 正常的工作和运行。
[0058] 进一步的,若验签不通过,则删除所述一固件。
[0059] 由上述描述可知,实现了终端自动清除非法固件。
[0060] 进一步的,所述"签名"具体为:
[0061 ] 对所述开发固件和开发证书计算HASH,得到第一 HASH值;
[0062] 使用所述开发私钥对所述第一 HASH值进行加密,生成开发HASH校验。
[0063] 由上述描述可知,本发明能够使用开发CA对开发固件进行签名操作,生成已签名 的开发固件,以实现开发固件和产品固件在本质上的区分。
[0064] 请参阅图4,进一步的,所述一固件包括固件、证书和HASH校验;
[0065] 所述"验签"具体为:
[0066] 开发CA验证所述证书的合法性;
[0067] 若通过验证,则使用所述证书中的公钥解密所述HASH校验;
[0068] 若解密成功,则对所述一固件中的所述固件和所述证书计算HASH,得到第二HASH 值;
[0069] 对比所述第一 HASH值和第二HASH值;若相同,则验签通过。
[0070] 由上述描述可知,本发明能够依据终端所处阶段,调用对于CA验签所下载的固 件,依据具体的验签结果判定所下载的固件是否对应终端所处的阶段,实现所下载固件的 版本区分。
[0071] 请参阅图5,本发明提供的另一个技术方案为:
[0072] -种划分终端开发模式和产品模式的系统,包括:
[0073] 第一签发模块1,用于开发CA签发开发证书,所述开发证书中包含开发私钥和开 发公钥;
[0074] 第一签名模块2,用于使用开发私钥对开发固件进行签名;
[0075] 第一生成模块3,用于生成已签名的开发固件;
[0076] 第一获取模块4,用于终端获取一固件;
[0077] 第一判断模块5,用于依据预先存储在内部FLASH中的标志位判断所述终端当前 处于开发模式还是产品模式;
[0078] 第二获取模块6,用于获取开发CA ;
[0079] 第一验签模块7,用于使用开发CA验签所述一固件;
[0080] 第一判定模块8,用于判定所述一固件为所述开发固件;
[0081] 安装模块9,用于安装并运行所述一固件。
[0082] 从上述描述可知,本发明的有益效果在于:本发明通过第一签发模块1、第一签名 模块2和第一生产模块实现开发权限和产品权限的分离;通过第一判断模块5、第二获取模 块6、第一验签模块7和第一判定模块8确保处于开发阶段的测试版本固件不会被更新至正 式产品中;确保开发和产品权限的隔离,保证开发固件的安全性。
[0083]请参阅图6,进一步的,还包括:
[0084] 第二签发模块10,用于产品CA签发产品证书,所述产品证书中包含产品私钥和产 品公钥;
[0085] 第二签名模块11,用于使用产品私钥对产品固件进行签名;
[0086] 第二生成模块12,用于生成已签名的产品固件;
[0087] 第三获取模块13,用于获取产品CA ;
[0088] 第二验签模块14,用于使用产品CA验签所述一固件;
[0089] 第二判定模块15,用于判定所述一固件为产品固件。
[0090] 由上述描述可知,通过第二签发模块10、第二签名模块11、第二生成模块12实现 产品CA对产品固件的签名;通过第三获取模块13、第二验签模块14和第二判断模块实现 采用产品CA验签固件。
[0091] 请参阅图7,进一步的,所述第一签名模块2包括:
[0092] 第一计算单元16,用于对所述开发固件和开发证书计算HASH,得到第一 HASH值;
[0093] 加密单元17,用于使用所述开发私钥对所述第一 HASH值进行加密,生成开发HASH 校验。
[0094] 由上述描述可知,本发明能够通过第一签名模块2中的第一计算模块和加密模块 使用开发CA对开发固件进行签名操作,生成对应开发CA的已签名开发固件,从本质上与产 品固件区分开来。
[0095] 请参阅图8,进一步的,所述第一验签模块7包括:
[0096] 验证单元18,用于开发CA验证所述证书的合法性;
[0097] 解密单元19,用于使用所述开发证书中的公钥解密所述一固件中的HASH校验;
[0098] 第二计算单元20,用于对所述一固件中的所述固件和所述证书计算HASH,得到第 二 HASH 值;
[0099]对比单元21,用于对比所述第一 HASH值和第二HASH值。
[0100] 由上述描述可知,本发明能够通过第一验签模块7的验证单元18、解密单元19、第 二计算单元20和对比单元21对终端所下载的固件进行验证,以判断是否对应终端所处阶 段,确保终端所处阶段与固件的对应关系。
[0101] 请参照图1-4,本发明的实施例一为:
[0102] 提供一种划分终端开发模式和产品模式的方法,包括:
[0103] 终端上同时存储有开发CA和产品CA ;所述开发CA和产品CA可以是不同第三方 组织或公司所开发的不同数字证书认证中心,当然,也可以是同一组织或公司开发的不同 数字证书认证中心;
[0104] 开发CA签发开发证书,所述开发证书包含开发私钥和开发公钥;所述开发私钥作 为开发签名卡,为开发人员持有;开发人员使用开发签名卡对处于测试阶段的开发固件进 行签名操作;生成已签名的开发固件;
[0105] 具体的签名操作包括:
[0106] 对所述开发固件和开发证书计算HASH,得到开发第一 HASH值;
[0107] 使用所述开发私钥对所述开发第一 HASH值进行加密,生成开发HASH校验;
[0108] 将包含开发公钥的开发证书和开发HASH校验遵照一定的格式附在所述开发固件 的尾部。
[0109] 处于开发阶段的终端,预先将终端内部FLASH中的标志位设置为处于开发阶段;
[0110] 所述终端下载固件A ;所述固件A包括固件A、证书和HASH校验;
[0111] 依据终端内部的FLASH中的标志位判断得到所述终端当前处于开发阶段;
[0112] 获取存储在终端的开发CA ;
[0113] 使用开发CA验证所述固件A中所述证书的合法性;
[0114] 若验证通过,则使用所述证书中的公钥解密所述HASH校验;
[0115] 若解密成功,则对所述固件A中的所述固件A和所述证书计算HASH,得到第二 HASH 值;
[0116] 对比所述开发第一 HASH值和第二HASH值;
[0117] 若相同,则验签通过,确认所述固件A为开发固件,符合处于开发阶段的终端的要 求;终端安装并运行所述固件A ;
[0118] 若不相同,则删除所述固件A,判定所述固件A并非开发固件,为非法固件。
[0119] 请参照图1-4,在实施例一的基础上,本发明的实施例二为:
[0120] 产品CA签发产品证书,所述产品证书包含产品私钥和产品公钥;所述产品私钥作 为产品签名卡,为产品人员持有;产品人员使用产品签名卡对已经为正式产品的产品固件 进行签名操作;生成已签名的产品固件;
[0121] 具体的签名操作包括:
[0122] 对所述产品固件和产品证书计算HASH,得到产品第一 HASH值;
[0123] 使用所述产品私钥对所述产品第一 HASH值进行加密,生成产品HASH校验;
[0124] 将包含产品公钥的产品证书和产品HASH校验遵照一定的格式附在所述产品固件 的尾部。
[0125] 处于产品阶段的终端,预先将终端内部FLASH中的标志位设置为处于产品阶段;
[0126] 所述终端下载固件B ;所述固件B包括固件B、证书和HASH校验;
[0127] 依据终端内部的FLASH中的标志位判断得到所述终端当前处于产品阶段;
[0128] 获取存储在终端的产品CA ;
[0129] 使用产品
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1