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

文档序号:9349761阅读:314来源:国知局
一种划分终端开发模式和产品模式的方法及系统的制作方法
【技术领域】
[0001] 本发明涉及一种划分终端开发模式和产品模式的方法及系统。
【背景技术】
[0002] 在支付领域中,对终端固件的合法性、安全性、完整性提出了很高的要求,因此促 进了证书验签体系在支付领域的广泛应用。
[0003] 目前主流的验签体系使用证书树完成整个验签体系的搭建,通过在一次性烧写 FLASH代码中固化CA,所述固化程序就是把程序写入到DSP,这样DSP就可以脱离仿真器离 线运行。固化CA的过程包括:使用证书私钥对固件进行签名,固件下载进终端时,使用证书 公钥对签名进行验证,满足了终端固件的合法性、安全性、完整性的要求。如图1所示,一般 固件签名格式为"固件+签名证书+HASH校验";通过在固件尾部附加包含签名证书和HASH 校验的签名信息,完成对固件合法性的验证,其中,"HASH校验"为计算得到固件加签名证书 的第一 HASH值后,经签名帧数的私钥签名生成;验签过程,首先通过签名证书中的公钥对 "HASH校验"进行解密,再计算解密后的文件的HASH值,得到第二HASH值,比较第一 HASH值 和第二HASH值,若相符,则证明签名正常,若不相符,则证明固件在下载过程中发生异常, 可能被截取修改过。
[0004] 然而,上述现有技术终端下载固件后所使用的验签方式,并无法实现固件开发版 本和产品版本的分离。在固件开发过程中,经常会涉及到固件的调试修改,因此,测试版本 的固件可能存在风险;而测试版本的固件虽然处于测试阶段,但仍然是合法的,同样能够通 过验签;在被下载到终端后,终端只能通过上述验签方式判断签名的合法性,却无法区分所 下载的固件是测试版本还是正式版本,因此存在可能失误下载到测试版本的风险,进而导 致终端存在较大的安全隐患,终端能够正常运行,以及用户和运营商的利益都无法得到保 证。
[0005] 申请号为201210527778. 9的专利申请,公开了一种防止移动终端升级到非法固 件版本的方法及系统,包括升级工具对待升级固件版本进行版本合法性校验处理,并根据 版本合法性校验结果,接收升级工具下发的待升级固件版本;对收到的待升级固件版本进 行合法性验证,依据验证结果,进行固件版本的升级。
[0006] 上述申请文件还是只能判定固件的合法性,无法实现固件版本的区分;因此,有必 要提供一种划分终端开发模式和产品模式的方法及系统,以解决上述问题。

【发明内容】

[0007]本发明所要解决的技术问题是:提供一种划分终端开发模式和产品模式的方法及 系统,实现开发权限和产品权限的分离,确保测试版本的固件不会被更新至正式产品中,规 避终端可能存在的安全隐患。
[0008] 为了解决上述技术问题,本发明采用的技术方案为:
[0009] -种划分终端开发模式和产品模式的方法,包括:
[0010] 开发CA签发开发证书,所述开发证书中包含开发私钥和开发公钥;
[0011] 使用开发私钥对开发固件进行签名;生成已签名的开发固件;
[0012] 终端获取一固件;依据预先存储在内部FLASH中的标志位判断所述终端当前处于 开发模式还是产品模式;
[0013] 若为开发模式,则获取开发CA;使用开发CA验签所述一固件;若验签通过,则判定 所述一固件为所述开发固件;安装并运行所述一固件。
[0014] 本发明提供的另一个技术方案为:
[0015] -种划分终端开发模式和产品模式的系统,包括:
[0016] 第一签发模块,用于开发CA签发开发证书,所述开发证书中包含开发私钥和开发 公钥;
[0017] 第一签名模块,用于使用开发私钥对开发固件进行签名;
[0018] 第一生成模块,用于生成已签名的开发固件;
[0019] 第一获取模块,用于终端获取一固件;
[0020] 第一判断模块,用于依据预先存储在内部FLASH中的标志位判断所述终端当前处 于开发模式还是产品模式;
[0021] 第二获取模块,用于获取开发CA;
[0022] 第一验签模块,用于使用开发CA验签所述一固件;
[0023] 第一判定模块,用于判定所述一固件为所述开发固件;
[0024] 安装模块,用于安装并运行所述一固件。
[0025] 本发明的有益效果在于:本发明对应处于不同阶段的固件使用不同的CA及证书 体系进行签名;在终端获取到一固件后,依据预先存储在内部的标志位判断终端当前是处 于开发模式还是产品模式,进而获取相应的CA进行验证,若验证通过,则确认所述固件符 合终端当前所处模式;实现开发权限与产品权限的分离,确保开发人员使用开发CA签名后 的测试版本固件无法下载到正式产品中,规避测试版本固件流出的风险,进而保证终端的 安全性。
【附图说明】
[0026]图1为现有技术的固件签名格式;
[0027]图2为本发明一种划分终端开发模式和产品模式的方法的流程示意图;
[0028]图3为本发明一实施例一种划分终端开发模式和产品模式的方法的流程示意图;
[0029]图4为本发明一实施例一种划分终端开发模式和产品模式的方法中验签过程的 流程示意图;
[0030]图5为本发明一种划分终端开发模式和产品模式的系统的结构示意图;
[0031]图6为本发明一实施例一种划分终端开发模式和产品模式的系统的结构不意图;
[0032]图7为本发明一实施例一种划分终端开发模式和产品模式的系统中第一签名模 块的结构示意图;
[0033]图8为本发明一实施例一种划分终端开发模式和产品模式的系统中第一验签模 块的结构示意图。
[0034] 标号说明:
[0035]I、第一签发模块;2、第一签名模块;3、第一生成模块;
[0036] 4、第一获取模块;5、第一判断模块;6、第二获取模块;
[0037] 7、第一验签模块;8、第一判定模块;9、安装模块;
[0038] 10、第二签发模块;11、第二签名模块;12、第二生成模块;
[0039] 13、第三获取模块;14、第二验签模块;15、第二判定模块;
[0040] 16、第一计算单元;17、加密单元;18、验证单元;
[0041] 19、解密单元;20、第二计算单元;21、对比单元。
【具体实施方式】
[0042] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附 图予以说明。
[0043] 本发明最关键的构思在于:对应不同阶段的固件使用不同的CA及证书体系进行 签名;依据终端当前所处的模式获取相应的CA对所下载的固件进行验证,只有验证通过才 允许安装,实现权限的隔离。
[0044] 本发明涉及的技术术语解释:
[0045]
[0046] 请参照图2以及图3,本发明提供一种划分终端开发模式和产品模式的方法,包 括:
[0047] 开发CA签发开发证书,所述开发证书中包含开发私钥和开发公钥;
[0048] 使用开发私钥对开发固件进行签名;生成已签名的开发固件;
[0049] 终端获取一固件;依据预先存储在内部FLASH中的标志位,判断所述终端当前处 于开发模式还是产品模式;
[0050] 若为开发模式,则获取开发CA ;使用开发CA验签所述一固件;若验签通过,则判定 所述一固件为所述开发固件;安装并运行所述一固件。
[0051] 需要说明的是,所述标志位可以使用四字节表示,如当数据为OxFFFFFFFF时为产 品模式,数据为OxABABABAB时表示当前为开发模式;FLASH的特性是擦除后均被写为OxFF, 达到默认状态为产品状态的效果。
[0052] 从上述描述可知,本发明的有益效果在于:实现开发权限和产品权限的分离,确保 处于开发阶段的测试版本固件不会被更新至正式产品中。在开发阶段,开发人员能够使用 开发权限进行开发固件的签名和各项调试;当产品固件正式发布时,由产品管控人员使用 产品权限对产品固件进行签名,确保开发和产品权限的隔离,保证开发固件的安全性。
[0053] 进一步的,还包括:
[0054] 产品CA签发产品证书,所述产品证书中包含产品私钥和产品公钥;
[0055] 使用产品私钥对产品固件进行签名;生成已签名的产品固件;
[0056] 若判断所述终端当前处于产品模式,则获取产品CA ;使用产品CA验签所述一固 件;若验
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1