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

文档序号:8942866阅读:156来源:国知局
一种安全的金融终端的固件烧写方法及金融终端的制作方法
【技术领域】
[0001]本发明涉及金融安全领域,尤其涉及一种安全的金融终端的固件烧写方法及金融终端。
【背景技术】
[0002]金融终端在使用之前需要建立安全环境,安全环境建立之后金融终端进入安全运行模式,在此模式下才能够进行密钥、密码等敏感数据的导入工作。
[0003]技术人员在实现本发明的过程中发现现有的金融终端的固件烧写方法至少存在以下安全隐患:
[0004]1.建立安全环境的代码包含在正式固件中,一方面使得攻击者有机会使安全环境建立流程再次执行,另一方面也可能由于安全固件自身代码的错误或误判,从而导致安全环境的重新建立,引发安全问题。
[0005]2.正式固件烧写后首次运行时,即会对安全事件进行检测(即金融终端自检),并要在检测到出现安全事件后停止工作,因此需要在固件程序中执行有条件的安全事件检测,即在尚未建立安全环境时,根据相关条件的判断跳过安全事件检测流程,在安全环境建立后,再通过设置相关条件,使固件可以运行安全事件检测流程。这就使得攻击者有机会建立伪造的相关条件,从而使正式固件跳过安全事件检测流程,进而达到攻击金融终端内部敏感数据的目的。

【发明内容】

[0006]本发明的目的是克服现有技术的缺陷,提供一种安全的金融终端的固件烧写方法及金融终端。
[0007]本发明是通过下述技术方案实现的:
[0008]—方面,本发明提供一种安全的金融终端的固件烧写方法,具体包括:
[0009]步骤S1、金融终端接收上位机下发的指令,当接收到上位机下发的建立安全环境指令时,执行步骤S2 ;当接收到上位机下发的安全boot下载更新指令时,执行步骤S3 ;当接收到上位机下发的应用固件下载更新指令时,执行步骤S4 ;当接收到上位机下发的安全固件下载更新指令时,执行步骤S5 ;
[0010]步骤S2、所述金融终端启动安全检测功能,向上位机返回应答,返回步骤SI ;
[0011]步骤S3、所述金融终端下载正式安全boot,将所述金融终端中的测试安全boot更新为所述正式安全boot,向上位机返回应答,返回步骤SI ;
[0012]步骤S4、所述金融终端下载正式应用固件,将所述金融终端中的测试应用固件更新为所述正式应用固件,向上位机返回应答,返回步骤Si;
[0013]步骤S5、所述金融终端下载正式安全固件,将所述金融终端中的测试安全固件更新为所述正式安全固件,向上位机返回应答,返回步骤Si;
[0014]进一步地,所述步骤SI中还包括:当接收到上位机下发的启动侵入检测功能指令时,所述金融终端启动侵入检测功能,向上位机返回应答,返回步骤Si;当接收到上位机下发的获取侵入检测状态指令时,获取侵入检测状态,向上位机返回所述侵入检测状态,返回步骤SI ;
[0015]所述步骤S2中还包括:所述金融终端初始化防穷举参数空间;
[0016]所述步骤S3中,所述金融终端下载正式安全boot之后还包括:校验所述正式安全boot,若校验通过则继续执行所述将所述金融终端中的安全boot更新为所述正式安全boot,若校验不通过则直接向上位机返回应答,返回步骤SI ;
[0017]所述步骤S2中还包括:所述金融终端生成根密钥,用所述根密钥加密预存的应用固件更新密钥;所述步骤S4中,所述金融终端下载正式应用固件之后还包括:根据所述应用固件更新密钥校验所述正式应用固件,若校验通过则根据所述应用固件更新密钥继续执行所述将所述金融终端中的测试应用固件更新为所述正式应用固件,若校验不通过则直接向上位机返回应答,返回步骤SI ;
[0018]所述步骤S2中还包括:所述金融终端生成根密钥,用所述根密钥加密预存的安全固件更新密钥;所述步骤S5中,所述金融终端下载正式安全固件之后还包括:根据所述安全固件更新密钥校验所述正式安全固件,若校验通过则根据所述安全固件更新密钥继续执行所述将所述金融终端中的测试安全固件更新为所述正式安全固件,若校验不通过则直接向上位机返回应答,返回步骤SI ;
[0019]所述金融终端执行所述步骤S3之前还包括:所述金融终端检查安全环境建立标志是否被置位,若被置位则执行所述步骤S3,若未被置位则向上位机返回错误信息码,返回步骤SI ;所述步骤S2中还包括:所述金融终端置位所述安全环境建立标志;所述金融终端执行所述步骤S4或步骤S5之前还包括:所述金融终端检查安全boot更新标志是否被置位,若被置位则执行所述步骤S4或步骤S5,若未被置位则向上位机返回错误信息码,返回步骤SI ;所述步骤S3中还包括:所述金融终端置位所述安全boot更新标志。
[0020]另一方面,本发明提供一种金融终端,具体包括:通信模块、安全环境建立模块、存储模块、安全boot下载更新模块、应用固件下载更新模块和安全固件下载更新模块;
[0021]所述通信模块,用于接收上位机下发的建立安全环境指令、安全boot下载更新指令、应用固件下载更新指令和安全固件下载更新指令;
[0022]所述安全环境建立模块,用于当所述通信模块接收到上位机下发的建立安全环境指令时,启动安全检测功能;
[0023]所述存储模块,用于存储测试应用boot、测试应用固件、测试安全boot和测试安全固件;
[0024]所述安全boot下载更新模块,用于当所述通信模块接收到上位机下发的安全boot下载更新指令时,下载正式安全boot,用所述正式安全boot更新所述存储模块中的测试安全boot ;
[0025]所述应用固件下载更新模块,用于当所述通信模块接收到上位机下发的应用固件下载更新指令时,下载正式应用固件,用所述正式应用固件更新所述存储模块中的测试应用固件;
[0026]所述安全固件下载更新模块,用于当所述通信模块接收到上位机下发的安全固件下载更新指令时,下载正式安全固件,用所述正式安全固件更新所述存储模块中的测试安全固件;
[0027]所述通信模块还用于当所述安全环境建立模块、所述安全boot下载更新模块、所述应用固件下载更新模块和所述安全固件下载更新模块运行结束时,向上位机返回应答;
[0028]进一步地,上述金融终端中还包括侵入检测模块,用于当所述通信模块接收到上位机下发的启动侵入检测功能指令时,启动侵入检测功能,以及用于当所述通信模块接收到上位机下发的获取侵入检测状态指令时,获取侵入检测状态;相应地,所述通信模块还用于接收上位机下发的启动侵入检测功能指令和获取侵入检测状态指令,以及当所述侵入检测模块运行结束时,向上位机返回应答或返回侵入检测状态;
[0029]所述安全环境建立模块还用于当所述通信模块接收到上位机下发的建立安全环境指令时,初始化防穷举参数空间;
[0030]上述金融终端还包括安全boot校验模块,用于校验所述安全boot下载更新模块下载的正式安全boot ;相应地,所述安全boot下载更新模块具体用于当所述通信模块接收到上位机下发的安全boot下载更新指令时,下载正式安全boot,以及当所述安全boot校验模块校验通过时,用所述正式安全boot更新所述存储模块中的测试安全boot ;
[0031]上述金融终端还包括应用固件校验模块,用于根据所述存储模块中的应用固件更新密钥校验所述应用固件下载更新模块下载的正式应用固件;相应地,所述存储模块还用于存储应用固件更新密钥;所述安全环境建立模块还用于当所述通信模块接收到上位机下发的建立安全环境指令时,生成根密钥,用所述根密钥加密所述存储模块中的应用固件更新密钥;所述应用固件下载更新模块具体用于当所述通信模块接收到上位机下发的应用固件下载更新指令时,下载正式应用固件,以及当所述应用固件校验模块校验通过后,用所述正式应用固件更新所述存储模块中的测试应用固件;
[0032]上述金融终端还包括安全固件校验模块,用于根据所述存储模块中的安全固件更新密钥校验所述安全固件下载更新模块下载的正式安全固件;相应地,所述存储模块还用于存储安全固件更新密钥;所述安全环境建立模块还用于当所述通信模块接收到上位机下发的建立安全环境指令时,生成根密钥,用所述根密钥加密所述存储模块中的安全固件更新密钥;所述安全固件下载更新模块具体用于当所述通信模块接收到上位机下发的安全固件下载更新指令时,下载正式安全固件,以及当所述安全固件校验模块校验通过后,用所述正式安全固件更新所述存储模块中的测试安全固件;
[0033]所述存储模块还用于存储安全环境建立标志和安全boot更新标志,所述安全环境建立标志和所述安全boot更新标志的初始状态为未被置位,相应地:
[0034]所述安全环境建立模块还用于置位所述存储模块中的安全环境建立标志;
[0035]所述安全boot下载更新模块具体用于:当所述通信模块接收到上位机下发的安全boot下载更新指令时,检查所述存储模块中的安全环境建立标志是否被置位,以及当所述安全环境建立标志被置位时,下载正式安全boot,用所述正式安全boot更新所述存储模块中的测试安全boot,置位所述存储模块中的安全boot更新标志;
[0036]所述应用固件下载更新模块具体用于:当所述通信模块接收到上位机下发的应用固件下载更新指令时,检查所述存储模块中的安全boot更新标志是否被置位,以及当所述安全boot更新标志被置位时,下载正式应用固件,用所述正式应用固件更新所述存储模块中的测试应用固件;
[0037]所述安全固件下载更新模块具体用于:当所述通信模块接收到上位机下发的安全固件下载更新指令时,检查所述存储模块中的安全boot更新标志是否被置位,以及当所述安全boot更新标志被置位时,下载正式安全固件,用所述正式安全固件更新所述存储模块中的测试安全固件;
[0038]所述通信模块还用于:当所述安全boot下载更新模块检查所述存储模块中的安全环境建立标志未被置位时,当所述应用固件下载更新模块检查所述存储模块中的安全boot更新标志未被置位时,以及当所述安全固件下载更新模块检查所述存储模块中的安全boot更新标志未被置位时,向上位机返回错误消息码。
[0039]本发明方法的有益效果在于:使用本发明提供的方法可以避免现有的金融终端的固件烧写方法的安全隐患,从而提高金融终端产品的安全性。
【附图说明】
[0040]为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本发明实施例1提供的一种安全的金融终端的固件烧写方法流程图;
[0042]图2为本发明实施例1提供的下载正式安全boot以及用正式安全boot替换测试安全boot的流程图;
[0043]图3为本发明实施例1提供的下载正式应用固件的流程图;
[0044]图4为本发明实施例1提供的用正式应用固件替换测试应用固件的流程图;
[0045]图5为本发明实施例1提供的下载正式安全固件的流程图;
[0046]图6为本发明实施例1提供的用正式安全固件替换测试安全固件的流程图;
[0047]图7为本发明实施例2提供的金融终端的方框图。
【具体实施方式】
[0048]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]本发明中的金融终端中包含应用处理器和安全处理器;
[0050]应用处理器中烧录有应用boot和应用固件;安全处理器中烧录有安全boot和安全固件;
[0051]当金融终端上电后,应用处理器和安全处理器分别启动,应用处理器首先运行应用boot,当应用boot运行结束时跳转至应用固件首地址,运行应用固件,直至金融终端下电;安全处理器首先运行安全boot,当安全boot运行结束时跳转至安全固件首地址,运行安全固件,直至金融终端下电;
[0052]应用固件包括测试应用固件和正式应用固件,安全boot包括测试安全boot和正式安全boot,安全固件包括测试安全固件和正式安全固件;测试应用固件和测试安全固件中包含硬件测试程序和安全环境构建程序,相应地,正式应用固件和正式安全固件中不包含硬件测试程序和安全环境构建程序;测试安全boot中不包含金融终端自检的程序,相应地,正式安全boot中包含金融终端自检的程序,且本发明中的正式安全boot与现有技术中金融终端安全处理器中烧录的安全boot相比,减少了终端自检的条件判断,从而可以防止攻击者伪造终端自检的条件,躲避终端自检;
[0053]本发明中,首先向应用处理器中烧录应用boot和测试应用固件,向安全处理器中烧录测试安全boot和测试安全固件,待完成硬件测试和安全环境建立之后,逐步将测试安全boot更新为正式安全boot,将测试应用固件和测试安全固件分别更新为正式应用固件和正式安全固件。
[0054]实施例1
[0055]本实施例提供一种安全的金融终端的固件烧写方法,如图1所示,具体包括:
[0056]步骤S1、金融终端接收上位机下发的指令,当接收到上位机下发的建立安全环境指令时执行步骤S2,当接收到上位机下发的安全boot下载更新指令时执行步骤S3,当接收到上位机下发的应用固件下载更新指令时执行步骤S4,当接收到上位机下发的安全固件下载更新指令时执行步骤S5 ;
[0057]具体地,本实施例中,上位机将要发送的指令封装成标准CCID通信指令下发给金融终端。
[0058]步骤S2、金融终端启动安全检测功能,向上位机返回应答,返回步骤SI ;
[0059]本实施例中,安全检测功能包括:侵入检测功能、温度检测功能和电压检测功能等。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1