一种智能POS终端永久性防切机的保护方法与流程

文档序号:16070372发布日期:2018-11-24 13:08阅读:2522来源:国知局

本发明属于pos机信息安全技术领域,特别涉及一种智能pos终端永久性防切机的保护方法。

背景技术

切机是指不法分子为获取非法利益,以降低费率为诱饵,利用技术手段把布放在商户手中的pos终端程序替换成连接到别家运维后台的系统或者程序,极大地损害了后台运维商家的利益。切机主要分为永久性切机和运行时切机。永久性切机是指pos终端操作系统被完全替换成别家系统,可以在该系统上作任何操作;运行时切机是指在不替换操作系统的前提下,卸载或者删除原先商家的应用程序,同时安装别家收单应用程序,以达到非法目的。

现有技术中公开了一种pos防切机远程签名系统及方法,涉及程序装置领域。所述系统包括:pos机和服务器端、安装在终端的远程签名客户端;所述服务器端与所述远程签名客户端双向通信连接。所述方法:服务器端生成开发人员及其使用终端的唯一身份id,远程签名客户端发起签名动作并将唯一身份id发送到服务器端;服务器端校验唯一身份id,然后对接收到的程序数据签名,并发送到远程签名客户端;远程签名客户端接收到加密的程序,完成远程签名。

但是,该方法复杂,不易实现。

其中,安全处理器通常简称sp,应用处理器简称ap。应用处理器(以下简称ap)是基于芯片的efuse来实现系统程序被非法篡改或替换,出厂时在efuse中写入厂商根公钥的哈希值,ap启动时利用efuse的不可更改性和替换性来校验ap系统中的根公钥的正确性,然后用根公钥来逐级校验ap中的系统程序,一旦校验失败就禁止系统启动。这样终端的系统程序的真实性和完整性得以保障,任何未经授权的篡改或替换都可被校验出,实现智能pos终端系统永久不可能被篡改或替换。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种安全性高的保护方法;在保证软件的真实性、完整性的同时,对于下装到pos机中的软件,采用数字签名公私钥系统,进行防切机管理,避免pos软件程序在发版过程中,签名用到的私钥外泄。

本发明的另一个目的在于提供一种智能pos终端永久性防切机的保护方法,该发明操作简单,使用效果好,易于广泛推广。

为实现上述目的,本发明的技术方案如下。

本发明提供一种智能pos终端永久性防切机的保护方法,在pos终端运行过程中,该方法包括以下步骤:

步骤一:安全启动:pos终端在启动时启用安全程序启动;

步骤二:sp客户定制签名:sp使用者对pos终端使用权限进行设定;

步骤三:开机身份验证单元:pos终端在开机时根据设定的使用权限进行身份校验;

步骤四:周期自检:pos终端对自身设定的使用权限进行周期性地自我检测。

进一步地,所述步骤一具体包括sp和ap的安全启动,sp的安全启动包括以下步骤:

s1:sp芯片上电后,sp安全boot被运行并初始化栈、配置硬件参数;

s2:安全boot首先完成自己的验证,检查flahs的安全标志是否存在;

s3:完成boot自身的校验后,校验sp固件的签名,得到sp固件的哈希值;

s4:从flash中读取sp的固件并计算哈希值;

s5:比较两个哈希值,判断sp固件的真实性和完整性;

s6:校验成功则加载sp的固件运行,否则禁止系统的启动。

进一步地,ap的安全启动包括以下步骤:

s1:bootrom校验pre-loader:

在对pre-loader进行签名时,会把根公钥存放在pre-loader中,同时再把该根公钥的sha256烧录进efuse中;在系统启动时,bootrom会比对烧录在efuse中的hash值和存放在pre-loader中的根公钥的hash值,如果这两个值一样,则bootrom获取pre-loader中的根公钥,对pre-loader进行校验,如果校验成功,则继续加载;反之,如果hash值不一样或者是校验失败,则停止启动;

s2:preloader校验lk/trustzone:

在编译时,会把校验lk/trustzone的公钥编译进pre-loader中,用私钥对lk/trustzone进行签名;在启动过程中,pre-loader使用编译进pre-loader中的公钥对lk/trustzone进行校验,如果校验成功则继续加载,校验失败则停止加载;

s3:lk校验logo/boot/recovery/system

在编译时,会把校验logo/boot/recovery/system的公钥编译进lk中,用私钥对logo/boot/recovery/system进行签名;在启动过程中,lk使用编译进lk中的公钥对logo/boot/recovery/system进行校验,如果校验成功则继续加载,校验失败则停止加载。

进一步地,所述步骤二具体包括以下步骤:

s01:终端启用客户版本编号,不同的客户编号对应一组sp的签名密钥;

s02:编译好sp的固件后,针对不同的客户用不同的密钥签名,同时把指定客户签名的固件和客户编号打包到ap的system分区;

s03:终端在开机时ap会对sp的固件进行升级,使得sp运行的固件跟ap中打包的指定客户的签名固件一致。

进一步地,所述步骤三具体包括系统开机后首先进行ap和sp的安全启动校验,ap验证的可信源会保障ap程序中打包的sp签名固件是否被替换或者被篡改,sp验证的可信源是在贴片段一次烧录到sp芯片中的,一旦ap打包的sp固件跟烧录在sp芯片中的安全boot校验不通过,sp会擦除应用程序,终端进入不可用状态。

进一步地,所述步骤四具体为pos终端对自身设定的使用权限通过每隔24小时重启实现周期自检。

本发明的优势在于:相比于现有技术,本发明中sp客户定制签名就是为了防止编译后的sp固件被非法篡改或替换,对编译后的固件程序计算哈希值,然后用签名的私钥签名,把签名的信息打包到固件中,编译代码的时候配置的,就是flash中一个固定地址的值,为0就是安全,默认为1不安全。安全即boot程序段不可更改,采用签名校验的机制,签名是把编译出来的固件程序,用私钥对编译出来的固件计算得到哈希值进行签名。验证签名是用代码中公钥验证sp的签名信息得到签名时的哈希值,比较芯片中固件计算出的哈希值和验证签名得到的哈希值是否一致来判断芯片中的程序是否被篡改或替换了。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明所实现的一种智能pos终端永久性防切机的保护方法,该发明操作简单,使用效果好,易于广泛推广。

为实现上述目的,本发明的技术方案如下。

本发明还提供一种智能pos终端永久性防切机的保护方法,在pos终端运行过程中,该方法包括以下步骤:

步骤一:安全启动:pos终端在启动时启用安全程序启动;

步骤二:sp客户定制签名:sp使用者对pos终端使用权限进行设定;

步骤三:开机身份验证单元:pos终端在开机时根据设定的使用权限进行身份校验;

步骤四:周期自检:pos终端对自身设定的使用权限进行周期性地自我检测。

在本实施例中,所述步骤一具体包括以下步骤:

s1:sp芯片上电后,sp安全boot被运行并初始化栈、配置硬件参数;

s2:安全boot首先完成自己的验证,检查flahs的安全标志是否存在;

s3:完成boot自身的校验后,校验sp固件的签名,得到sp固件的哈希值;

s4:从flash中读取sp的固件并计算哈希值;

s5:比较两个哈希值,判断sp固件的真实性和完整性;

s6:校验成功则加载sp的固件运行,否则禁止系统的启动。

在本实施例中,步骤二具体包括以下步骤:

s01:终端启用客户版本编号,不同的客户编号对应一组sp的签名密钥;

s02:编译好sp的固件后,针对不同的客户用不同的密钥签名,同时把指定客户签名的固件和客户编号打包到ap的system分区;

s03:终端在开机时ap会对sp的固件进行升级,使得sp运行的固件跟ap中打包的指定客户的签名固件一致。

进一步地,步骤三具体包括系统开机后首先进行ap和sp的安全启动校验,ap验证的可信源会保障ap程序中打包的sp签名固件是否被替换或者被篡改,sp验证的可信源是在贴片段一次烧录到sp芯片中的,一旦ap打包的sp固件跟烧录在sp芯片中的安全boot校验不通过,sp会擦除应用程序,终端进入不可用状态。

在本实施例中,步骤四具体为pos终端对自身设定的使用权限通过每隔24小时重启实现周期自检。

本发明的优势在于:相比于现有技术,本发明中sp客户定制签名就是为了防止编译后的sp固件被非法篡改或替换,对编译后的固件程序计算哈希值,然后用签名的私钥签名,把签名的信息打包到固件中,编译代码的时候配置的,就是flash中一个固定地址的值,为0就是安全,默认为1不安全。安全即boot程序段不可更改,采用签名校验的机制,签名是把编译出来的固件程序,用私钥对编译出来的固件计算得到哈希值进行签名。验证签名是用代码中公钥验证sp的签名信息得到签名时的哈希值,比较芯片中固件计算出的哈希值和验证签名得到的哈希值是否一致来判断芯片中的程序是否被篡改或替换了。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1