一种安全的金融终端的固件烧写方法及金融终端的制作方法_5

文档序号:8942866阅读:来源:国知局
固件下载更新头文件中的签名数据验签;
[0264]第一校验单元,用于判断第一验签单元得到的验签结果与第一哈希单元得到的哈希结果是否相同,若相同则校验通过,若不相同则校验未通过,清除第二存储单元中的应用固件下载更新头文件和应用固件下载更新文件。
[0265]本实施例中,金融终端还包括安全固件校验模块20,用于根据存储模块13中的安全固件更新密钥校验安全固件下载更新模块16下载的正式安全固件;相应地:
[0266]存储模块13还用于存储安全固件更新密钥;
[0267]安全环境建立模块12还用于当通信模块11接收到上位机下发的建立安全环境指令时,生成根密钥,用根密钥加密存储模块13中的安全固件更新密钥;
[0268]安全固件下载更新模块16具体用于当通信模块11接收到上位机下发的安全固件下载更新指令时,下载正式安全固件,以及当安全固件校验模块20校验通过后,用正式安全固件更新存储模块13中的测试安全固件。
[0269]进一步地,安全固件下载更新模块16具体包括第二下载子模块和第二更新子模块,其中:
[0270]第二下载子模块具体包括第三判断单元、第三获取单元和第三存储单元,其各单元具体功能如下:
[0271]第三判断单元,用于当通信模块11接收到上位机下发的安全固件下载更新指令时,判断安全固件下载更新指令的类型;
[0272]第三获取单元,用于当第三判断单元判断安全固件下载更新指令为下载开始指令时,获取下载开始指令中的安全固件下载更新头文件;以及当第三判断单元判断安全固件下载更新指令为下载指令时,获取下载指令中的安全固件下载更新文件;
[0273]第三存储单元,用于存储第三获取单元获取到的安全固件下载更新头文件和安全固件下载更新文件;
[0274]第二更新子模块用于当安全固件校验模块20校验通过后,更新存储模块13中的测试安全固件,具体包括第二提取单元和第二更新单元,其各单元具体功能如下:
[0275]第二提取单元,用于当安全固件校验模块20校验通过后,从第三存储单元的安全固件下载更新文件中获取正式安全固件;
[0276]第二更新单元,用于用第二提取单元获取的正式安全固件更新存储模块13中的测试安全固件;
[0277]本实施例中,第二提取单元还用于从第三存储单元中的安全固件下载更新文件中获取正式安全固件的摘要的签名值;第二更新单元还用于将第二提取单元获取到的正式安全固件的摘要的签名值写入存储模块13 ;
[0278]第二提取单元具体用于:使用根密钥对存储模块13中加密后的安全固件更新密钥解密,根据解密得到的安全固件更新密钥对第三存储单元中的安全固件下载更新头文件中包含的签名数据验签,根据验签得到的安全固件下载密钥解密第三存储单元中的安全固件下载更新文件,从解密结果中获取正式安全固件和正式安全固件摘要的签名值。
[0279]进一步地,安全固件校验模块20,具体用于当第三判断单元判断安全固件下载更新指令为下载结束指令时,根据存储模块13中的安全固件更新密钥校验第三存储单元中的安全固件下载更新文件;
[0280]更进一步地,安全固件校验模块20具体包括第二哈希单元、第二验签单元和第二校验单元,各单元的具体功能如下:
[0281]第二哈希单元,用于当第三判断单元判断安全固件下载更新指令为下载结束指令时,对第三存储单元中的安全固件下载更新文件进行哈希运算;
[0282]第二验签单元,用于使用根密钥对存储模块13中加密后的安全固件更新密钥解密,使用解密得到的安全固件更新密钥对第三存储单元中的安全固件下载更新头文件中的签名数据验签;
[0283]第二校验单元,用于判断第二验签单元得到的验签结果与第二哈希单元得到的哈希结果是否相同,若相同则校验通过,若不相同则校验未通过。
[0284]以上所述的实施例只是本发明较优选的【具体实施方式】,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
【主权项】
1.一种安全的金融终端的固件烧写方法,其特征在于,包括: 步骤S1、金融终端接收上位机下发的指令,当接收到上位机下发的建立安全环境指令时,执行步骤S2 ;当接收到上位机下发的安全boot下载更新指令时,执行步骤S3 ;当接收到上位机下发的应用固件下载更新指令时,执行步骤S4 ;当接收到上位机下发的安全固件下载更新指令时,执行步骤S5 ; 步骤S2、所述金融终端启动安全检测功能,向上位机返回应答,返回步骤SI ; 步骤S3、所述金融终端下载正式安全boot,将所述金融终端中的测试安全boot更新为所述正式安全boot,向上位机返回应答,返回步骤SI ; 步骤S4、所述金融终端下载正式应用固件,将所述金融终端中的测试应用固件更新为所述正式应用固件,向上位机返回应答,返回步骤SI ; 步骤S5、所述金融终端下载正式安全固件,将所述金融终端中的测试安全固件更新为所述正式安全固件,向上位机返回应答,返回步骤SI。2.如权利要求1所述的方法,其特征在于,所述步骤SI中还包括:当接收到上位机下发的启动侵入检测功能指令时,所述金融终端启动侵入检测功能,向上位机返回应答,返回步骤SI ;当接收到上位机下发的获取侵入检测状态指令时,获取侵入检测状态,向上位机返回所述侵入检测状态,返回步骤SI。3.如权利要求2所述的方法,其特征在于,所述安全检测功能包括温度检测功能和电压检测功能。4.如权利要求1所述的方法,其特征在于,所述步骤S2中还包括:所述金融终端初始化防穷举参数空间。5.如权利要求1所述的方法,其特征在于,所述步骤S3中,所述金融终端下载正式安全boot之后还包括:校验所述正式安全boot,若校验通过则继续执行所述将所述金融终端中的安全boot更新为所述正式安全boot,若校验不通过则直接向上位机返回应答,返回步骤Sl06.如权利要求5所述的方法,其特征在于,所述步骤S3具体包括: 步骤1-1、所述金融终端中的应用处理器接收到所述安全boot下载更新指令时,判断所述安全boot下载更新指令的类型,若为下载开始指令则执行步骤1-2,若为下载指令则执行步骤1-3,若为下载结束指令则执行步骤1-4 ; 步骤1-2、所述应用处理器从所述下载开始指令中获取安全boot校验和,将所述安全boot校验和发送给所述金融终端中的安全处理器,存储到安全处理器的外部flash,并向上位机返回应答; 步骤1-3、所述应用处理器从所述下载指令中获取安全boot更新数据,将所述安全boot更新数据发送给所述安全处理器,存储到所述安全处理器的外部flash,并向上位机返回应答; 步骤1-4、所述应用处理器向所述安全处理器发送安全boot下载结束指令,执行步骤1-5 ; 步骤1-5、所述安全处理器根据所述安全boot校验和校验所述安全boot更新数据,若校验通过则用所述安全boot更新数据更新所述安全处理器内部flash中的测试安全boot,向所述应用处理器返回安全boot下载结束指令应答,执行步骤1-6 ;若校验未通过则向所述应用处理器返回安全boot下载结束指令应答,执行步骤1-6 ; 步骤1-6、所述应用处理器根据所述安全boot下载结束指令应答向上位机返回应答。7.如权利要求6所述的方法,其特征在于,所述步骤1-5中,所述执行步骤1-6之前还包括:所述安全处理器清除所述安全处理器外部flash中的安全boot更新数据和安全boot校验和。8.如权利要求1所述的方法,其特征在于,所述步骤S2中还包括:所述金融终端生成根密钥,用所述根密钥加密预存的应用固件更新密钥; 所述步骤S4中,所述金融终端下载正式应用固件之后还包括:根据所述应用固件更新密钥校验所述正式应用固件,若校验通过则根据所述应用固件更新密钥继续执行所述将所述金融终端中的测试应用固件更新为所述正式应用固件,若校验不通过则直接向上位机返回应答,返回步骤SI。9.如权利要求8所述的方法,其特征在于,所述金融终端下载正式应用固件,根据所述应用固件更新密钥校验所述正式应用固件,具体包括: 步骤2-1、所述金融终端中的应用处理器接收到所述应用固件下载更新指令时,判断所述应用固件下载更新指令的类型,若为下载开始指令则执行步骤2-2、若为下载指令则执行步骤2-3、若为下载结束指令则执行步骤2-4 ; 步骤2-2、所述应用处理器从所述下载开始指令中获取应用固件下载更新头文件,将所述应用固件下载更新头文件发送给所述金融终端中的安全处理器存储到安全处理器的外部flash,并向上位机返回应答; 步骤2-3、所述应用处理器从所述下载指令中获取应用固件下载更新文件,将所述应用固件下载更新文件发送给所述安全处理器,存储到安全处理器的外部flash,并向上位机返回应答; 步骤2-4、所述应用处理器向所述安全处理器下发应用固件下载结束指令,执行步骤2-5 ; 步骤2-5、所述安全处理器根据所述应用固件更新密钥校验所述应用固件下载更新文件,若校验通过则向所述应用处理器返回应用固件下载结束指令应答,执行步骤2-6 ;若校验未通过则清除所述安全处理器外部flash中的应用固件下载更新头文件和应用固件下载更新文件,向所述应用处理器返回应用固件下载结束指令应答,执行步骤2-6 ; 步骤2-6、所述应用处理器根据所述应用固件下载结束指令应答向上位机返回应答。10.如权利要求9所述的方法,其特征在于,所述安全处理器根据所述应用固件更新密钥校验所述应用固件下载更新文件,具体包括:所述安全处理器对所述应用固件下载更新文件进行哈希运算,使用所述根密钥对加密后的应用固件更新密钥解密,使用解密得到的应用固件更新密钥对所述应用固件下载更新头文件中的签名数据验签,判断验签得到的应用固件下载更新文件摘要与哈希运算得到的摘要是否相同,若相同则校验通过,若不相同则校验未通过。11.如权利要求9所述的方法,其特征在于,所述金融终端将所述金融终端中的测试应用固件更新为所述正式应用固件,具体包括: 步骤3-1、所述应用处理器擦除应用处理器内部flash中的测试应用固件,向所述安全处理器发送获取正式应用固件指令; 步骤3-2、所述安全处理器从所述应用固件下载更新文件中获取正式应用固件,向所述应用处理器返回所述正式应用固件; 步骤3-3、所述应用处理器将所述正式应用固件写入所述应用处理器内部flash。12.如权利要求11所述的方法,其特征在于,所述步骤3-2中还包括:所述安全处理器从所述应用固件下载更新文件中获取正式应用固件的摘要的签名值,向所述应用处理器返回所述正式应用固件的摘要的签名值; 所述步骤3-3中还包括:所述应用处理器将所述正式应用固件的摘要的签名值写入所述应用处理器内部flash。13.如权利要求12所述的方法,其特征在于,所述安全处理器从所述应用固件下载更新文件中获取正式应用固件,以及所述安全处理器从所述应用固件下载更新文件中获取正式应用固件的摘要的签名值,具体包括:所述安全处理器使用所述根密钥解密加密后的应用固件更新密钥,根据解密得到的应用固件更新密钥对所述应用固件下载更新头文件中包含的签名数据验签,根据验签得到的应用固件下载密钥解密所述应用固件下载更新文件,从解密结果中获取正式应用固件和正式应用固件的摘要的签名值。14.如权利要求1所述的方法,其特征在于,所述步骤S2中还包括:所述金融终端生成根密钥,用所述根密钥加密预存的安全固件更新密钥; 所述步骤S5中,所述金融终端下载正式安全固件之后还包括:根据所述安全固件更新密钥校验所述正式安全固件,若校验通过则根据所述安全固件更新密钥继续执行所述将所述金融终端中的测试安全固件更新为所述正式安全固件,若校验不通过则直接向上位机返回应答,返回步骤SI。15.如权利要求14所述的方法,其特征在于,所述金融终端下载正式安全固件,根据所述安全固件更新密钥校验所述正式安全固件,具体包括: 步骤4-1、所述金融终端中的应用处理器接收到所述安全固件下载更新指令时,判断所述安全固件下载更新指令的类型,若为下载开始指令则执行步骤4-2、若为下载指令则执行步骤4-3、若为下载结束指令则执行步骤4-4 ; 步骤4-2、所述应用处理器从所述下载开始指令中获取安全固件下载更新头文件,将所述安全固件下载更新头文件发送给所述金融终端中的安全处理器存储到安全处理器的外部flash,并向上位机返回应答; 步骤4-3、所述应用处理器从所述下载指令中获取安全固件下载更新文件,将所述安全固件下载更新文件发送给所述安全处理器存储到安全处理器的外部flash,并向上位机返回应答; 步骤4-4、所述应用处理器向所述安全处理器下发安全固件下载结束指令,执行步骤4-5 ; 步骤4-5、所述安全处理器根据所述安全固件更新密钥校验所述安全固件下载更新文件,若校验通过则向所述应用处理器返回安全固件下载结束指令应答,执行步骤4-6 ;若校验未通过则清除所述安全处理器外部flash中的安全固件下载更新头文件和安全固件下载更新文件,向所述应用处理器返回安全固件下载结束指令应答,执行步骤4-6 ; 步骤4-6、所述应用处理器根据所述安全固件下载结束指令应答向上位机返回应答。16.如权利要求15所述的方法,其特征在于,所述安全处理器根据所述应用固件更新密钥校验所述应用固件下载更新文件,具体包括:所述安全处理器对所述安全固件下载更新文件进行哈希运算,使用所述根密钥对加密后的安全固件更新密钥解密,使用解密得到的安全固件更新密钥对所述安全固件下载更新头文件中的签名数据验签,判断验签得到的安全固件下载更新文件摘要与哈希运算得到的摘要是否相同,若相同则校验通过,若不相同则校验未通过。17.如权利要求15所述的方法,其特征在于,所述金融终端将所述金融终端中的测试安全固件更新为所述正式安全固件,具体包括: 步骤5-1、所述安全处理器从所述安全固件下载更新文件中获取正式安全固件; 步骤5-2、用所述正式安全固件更新所述安全处理器内部flash中的测试安全固件。18.如权利要求17所述的方法,其特征在于,所述步骤5-1中还包括:所述安全处理器从所述安全固件下载更新文件中获取正式安全固件的摘要的签名值; 所述步骤5-2中还包括:所述安全处理器将所述正式安全固件的摘要的签名值写入所述安全处理器内部flash。19.如权利要求18所述的方法,其特征在
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1