一种SIM卡应用的锁定方法、装置、SIM卡及系统与流程

文档序号:12479603阅读:904来源:国知局
一种SIM卡应用的锁定方法、装置、SIM卡及系统与流程

本发明涉及SIM卡应用及应用安全领域,尤其涉及一种SIM卡应用的锁定方法、装置、SIM卡及系统。



背景技术:

随着SIM卡应用的普及,应用的安全性越来越受到用户和开发商的重视,为了保证卡应用的安全使用,现有技术中常采用以下两种方式进行安全性的鉴权:

方式一:如图1所示(以GSM网络环境为例,手机终端利用SIM卡登网的鉴权流程),手机终端通过选择指令SELECT命令选择SIM应用;手机终端向SIM卡发送鉴权指令AUTHENTICATE命令进行鉴权,命令报文包括随机数RAND;SIM卡收到命令报文后,计算出RES和Kc;网络收到RES后校验RES是否正确。但是,该方法虽然校验了SIM卡的合法性,但SIM卡不校验网络侧的合法性,即只有网络侧对SIM卡的单向认证,因此,攻击者可不断向SIM卡发送鉴权请求以寻找SIM卡的漏洞,实现对应用的攻击。

方式二:在Global Platform卡规范中定义了SCP 02安全通道协议,可以实现卡片和外部实体间的双向认证,安全通道建立流程如图2所示,手机终端通过SELECT命令选择UICC卡上的主安全域(ISD,Issuer Security Domain);网络侧管理后台生成随机数RAND1,通过手机终端向UICC卡发送初始化指令INITIALIZE UPDATE命令(包含RAND1);UICC卡收到命令报文后,生成随机数RAND2,与RAND1一起生成会话密钥,计算出MAC1;UICC卡返回RAND2及MAC1;网络侧管理后台校验MAC1,若通过则生成MAC2,并通过外部鉴权指令EXTERNAL AUTHENTICATE命令发给UICC卡;UICC卡收到MAC2后对其进行校验。上述鉴权流程虽然采用双向认证,但仍然存在技术缺陷:攻击者可在收到UICC发送的RAND2和MAC1后不发送 EXTERNAL AUTHENTICATE命令发给UICC卡,而是继续重复发送INITIALIZE UPDATE命令,从而实现对卡应用的攻击目的。

对于SIM卡应用的安全性问题,虽然以上提出了两种通过鉴权以提高应用安全性的方法,但由于鉴权过程中存在缺陷,仍不能保证卡应用的安全性。



技术实现要素:

为了解决上述技术问题,本发明提供了一种SIM卡应用的锁定方法、装置、SIM卡及系统,解决了现有技术中卡应用安全性不能保证的问题。

依据本发明的一个方面,提供了一种SIM卡应用的锁定方法,包括:

获取SIM卡中的目标应用被外部实体调用的指令;

根据指令,调用SIM卡中的计数器服务模块,以使计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,获取SIM卡中的目标应用被外部实体调用的指令的步骤包括:

获取SIM卡中的目标应用被外部实体调用的选择指令。

其中,根据指令,调用SIM卡中的计数器服务模块,以使计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用的步骤包括:

根据指令,检测目标应用的当前状态是否处于锁定状态;

若目标应用没有处于锁定状态,则调用SIM卡中的计数器服务模块,以使计数器服务模块判断指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用的步骤包括:

计数器服务模块判断目标应用中所调用的目标指令的调用次数是否达到计数器的预设的最大值;

若达到,则锁定目标应用,并产生锁定目标应用的响应。

其中,计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用的步骤还包括:

计数器服务模块判断目标应用中所调用的目标指令的调用次数是否达到计数器的报警值;其中,报警值小于或等于计数器的预设最大值;

若达到,则产生报警信息。

其中,该SIM卡应用的锁定方法还包括:计数器服务模块向计数器平台或业务平台同步计数器的计数信息。

依据本发明的再一个方面,还提供了一种SIM卡应用的锁定装置,包括:

获取模块,用于获取SIM卡中的目标应用被外部实体调用的指令;

处理模块,用于根据指令,调用SIM卡中的计数器服务模块,以使计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,获取模块包括:

选择单元,用于获取SIM卡中的目标应用被外部实体调用的选择指令。

其中,处理模块包括:

检测单元,用于根据指令,检测目标应用的当前状态是否处于锁定状态;

处理单元,用于若目标应用没有处于锁定状态,则调用SIM卡中的计数器服务模块,以使计数器服务模块判断指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,处理单元包括:

第一判断子单元,用于使计数器服务模块判断目标应用中所调用的目标指令的发起次数是否达到计数器的预设的最大值;

锁定子单元,用于当目标指令的调用次数达到最大值使,锁定目标应用,并产生锁定目标应用的响应。

其中,处理单元还包括:

第二判断子单元,用于使计数器服务模块判断目标应用中所调用的目标指令的发起次数是否达到计数器的报警值;其中,报警值小于或等于计数器的预设最大值;

报警子单元,用于当目标指令的调用次数达到报警值时,产生报警信息。

其中,该SIM卡应用的锁定装置还包括:同步模块,用于使计数器服务模块向计数器平台或业务平台同步计数器的计数信息。

依据本发明的再一个方面,还提供了一种SIM卡,包括如上所述的SIM卡应用的锁定装置,以及SIM卡应用模块和计数器服务模块。

依据本发明的再一个方面,还提供了一种系统,该系统包括如上所述的SIM卡,与SIM卡相配合的外部实体,以及与SIM卡连接的业务平台和计数器平台。

本发明的实施例的有益效果是:一种SIM卡应用的锁定方法、装置、SIM卡及系统,通过对调用计数器服务模块的卡应用的目标指令进行检测计数,当目标指令的调用次数满足目标应用的锁定条件时,触发计数器服务器模块对SIM卡的目标应用进行锁定,通过上述方式不需要改变现有的应用规范,即可提升应用的安全性,在SIM卡应用被恶意攻击时启动锁定保护,提高了应用安全性。

附图说明

图1表示现有技术中对SIM卡进行鉴权的流程图;

图2表示现有技术中SIM卡与业务平台之间建立安全通道的流程图;

图3表示本发明的SIM卡应用的锁定方法的流程图;

图4表示本发明的SIM卡应用的锁定装置的模块示意图;

图5表示本发明系统的架构示意图;

图6表示本发明系统流程图。

其中图中:101、获取模块,201、处理模块。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

实施例

随着SIM卡应用的普及,应用安全性的重要性越来越高,尤其对于一些安全性要求较高的应用,例如:手机银行等。为了保证SIM卡应用的安全性,本发明实施例提供了一种SIM卡应用的锁定方法,具体包括如图3所示的步骤:

步骤10:获取SIM卡中的目标应用被外部实体调用的指令。

这里,当需要发起某个目标应用的访问时,外部实体需要向SIM卡发起该目标应用的调用指令。

步骤20:根据指令,调用SIM卡中的计数器服务模块,以使计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,当某个目标应用被调用后,根据调用指令调用SIM卡中的技术器服务模块,以对该目标应用的某目标指令进行调用次数的计数,当该目标指令的调用次数达到锁定的触发条件时,则将对应的目标应用进行锁定。

进一步地,上述步骤10中提及的指令指的是选择指令,也就是说,在发起某目标应用的访问时,需要外部实体向SIM卡发送一选择指令,选定该目标应用。

在选定目标应用之后,需要对该目标应用进行实时检测,确定其是否处于危险状态。具体地,检测过程可具体参照下述步骤实现:

根据上述指令,检测目标应用的当前状态是否处于锁定状态。

若目标应用没有处于锁定状态,则调用SIM卡中的计数器服务模块,以使计数器服务模块判断指令满足目标应用锁定的触发条件时,锁定目标应用。

这里是说,在具体选定某目标应用后,首先要检测该目标应用的当前状态是否为锁定状态,若为锁定状态,则无法对该目标应用的请求进行响应;若该目标应用处于未锁定状态,则调用对目标应用的计数服务,并检测是否满足锁定触发条件。

其中,对目标应用的检测,可参照以下方式进行:SIM卡中的计数器服务模块判断目标应用中所调用的目标指令的调用次数是否达到计数器的预设的最大值;若达到,则锁定目标应用,并产生锁定目标应用的响应。

进一步地,对目标应用的检测,还可以检测计数器服务模块判断目标应用中所调用的目标指令的调用次数是否达到计数器的报警值;其中,报警值小于或等于计数器的预设最大值;若达到,则产生报警信息。

其中,该SIM卡应用的锁定方法还包括:计数器服务模块向计数器平台或业务平台同步计数器的计数信息。也就是说在联网情况下,SIM卡会将自身 应用的锁定状态或报警状态上报至计数器平台或业务平台,使得网络侧更好地部署SIM卡应用。

本发明实施例通过对调用计数器服务模块的卡应用的目标指令进行检测计数,当目标指令的调用次数满足目标应用的锁定条件时,触发计数器服务器模块对SIM卡的目标应用进行锁定,通过上述方式不需要改变现有的应用规范,即可提升应用的安全性,在SIM卡应用被恶意攻击时启动锁定保护,提高了应用安全性。

其中,由于当前应用规范的设备已经部署成熟,如果对现有的应用规范升级或对当前接口进行更改的成本较高,上述提及的检测过程和调用过程均不涉及现有标准的改变,只需对现有标准规范中预留的自定义标签进行定义,例如在GP规范中定义了卡应用安装的技术机制及参数,为实现上述方法,可在GP规范的‘C9’标签下定义‘A0’、‘A1’、‘A2’或‘A3’等参数,具体各个参数的标签和定义可参照下表所示,值得指出的是,本发明实施例中仅列举了下表一种定义方式,其他可实现提高应用安全性的对现有规范中预留标签的补充均可适用于本发明的实施例:

其中,‘A0’表示报警值,当某目标应用的某目标指令的调用次数达到报警值时,SIM卡内的计数器服务模块会生成一报警信息,代表该目标应用可能处于危险状态。

‘A1’表示最大值,当某目标应用的某目标指令的调用次数达到最大值时,SIM卡内的计数器服务模块会锁定该目标应用。

‘A2’表示是否启用报警机制,与参数‘A0’配合使用,当‘A2’表示启用报警机制时,会在某目标应用的某目标指令的调用次数达到报警值时,SIM卡内的计数器服务模块会生成一报警信息。

‘A3’表示是否启用应用锁定机制,与参数‘A1’配合使用,当‘A3’表示启用应用锁定机制时,会在某目标应用的某目标指令的调用次数达到最大值时,SIM卡内的计数器服务模块会锁定该目标应用。

其中,当某目标应用在安装时设置了计数器的相关参数(‘A0’、‘A1’或‘A3’等),在调用计数器服务模块时,可具体调用以下相关的新定义的应用程序编程接口(API,Application Programming Interface):

isWarned():计数器是否达到或超过报警值,如果是返回“1”,否则返回“0”。

isBlocked():计数器是否达到最大值,如果达到返回“1”,否则返回“0”。

getTriesRemaining():获得计数器剩余次数(最大值-当前值)。

reset():将计数器的值复位为0。

increment():将计数器的值增加1。

updateWarning():更新报警值。

updateMax():更新最大值。

或者,其他RFU。

当为SIM卡安装某目标应用时,会对其安装参数进行定义,并在外部实体调用该目标应用时,选择调用上述相关的API接口。

为了确保目标应用的计数服务不盲动,在每次正常响应目标应用后,对应的计数器的值会减一。此外,还可以根据实际需要对目标应用对应的计数器的最大值或报警值进行更新。

依据本发明实施例的再一个方面,还提供了一种SIM卡应用的锁定装置,如图4所示,该锁定装置包括:

获取模块101,用于获取SIM卡中的目标应用被外部实体调用的指令;

处理模块201,用于根据指令,调用SIM卡中的计数器服务模块,以使计数器服务模块判断目标应用中调用的目标指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,获取模块101包括:

选择单元,用于获取SIM卡中的目标应用被外部实体调用的选择指令。

其中,处理模块201包括:

检测单元,用于根据指令,检测目标应用的当前状态是否处于锁定状态;

处理单元,用于若目标应用没有处于锁定状态,则调用SIM卡中的计数器服务模块,以使计数器服务模块判断指令满足目标应用锁定的触发条件时,锁定目标应用。

其中,处理单元包括:

第一判断子单元,用于使计数器服务模块判断目标应用中所调用的目标指令的发起次数是否达到计数器的预设的最大值;

锁定子单元,用于当目标指令的调用次数达到最大值使,锁定目标应用,并产生锁定目标应用的响应。

其中,处理单元还包括:

第二判断子单元,用于使计数器服务模块判断目标应用中所调用的目标指令的发起次数是否达到计数器的报警值;其中,报警值小于或等于计数器的预设最大值;

报警子单元,用于当目标指令的调用次数达到报警值时,产生报警信息。

其中,该SIM卡应用的锁定装置还包括:同步模块,用于使计数器服务模块向计数器平台或业务平台同步计数器的计数信息。

需要说明的是,该锁定装置是与上述SIM卡应用的锁定方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。

依据本发明实施例的再一个方面,如图5所示,还提供了一种SIM卡,包括如上所述的SIM卡应用的锁定装置,以及卡应用模块和计数器服务模块;其中,卡应用模块对应于上述获取模块,主要用于对各种SIM卡应用调用计数服务;计数器服务模块对应于上述处理模块,主要用于检测目标应用中的目标指令的调用次数是否达到锁定应用的触发门限,一旦达到则将目标应用锁定,保证该目标应用的安全性。

依据本发明的再一个方面,如图5所示,还提供了一种系统,该系统包括 如上所述的SIM卡,与SIM卡相配合的外部实体,以及与SIM卡连接的业务平台和计数器平台。其中,外部实体可以是智能手机、POS机、读卡器或SP平台等可实现卡应用的装置。业务平台指的是各种应用对应的服务器或网络平台。而计数器平台主要作用是为不同的卡应用分配不同的计数器,并对这些计数器进行管理。

如图6所示,下面将结合本发明实施例的系统架构对SIM卡应用的锁定流程进行详细介绍:

步骤(1):外部实体选择SIM卡的目标应用,具体可通过现有的SELECT命令进行卡应用的选择。

步骤(2):SIM卡内的卡应用模块检测所选择的卡应用是否处于锁定状态,若卡应用已锁定返回错误值。即,若检测到目标应用当前已处于锁定状态,则无法对该目标应用进行响应,返回错误值,结束目标应用的访问过程。

步骤(3):若检测到目标应用未处于锁定状态,则调用目标应用对应的接口,如:SMS或APDU等接口。

步骤(4):卡应用模块根据需要决定是否调用计数器相关API,即根据当前目标指令的重要性确定是否需要调用计数器相关的API。

步骤(5):如果当前目标指令属于重要指令,则调用计数器的API,如:increment()接口,也就是说没接收到该目标指令,计数器的值加一。

步骤(6):SIM卡中的计数器服务模块判断计数器是否满足触发条件,即当前计数器的值是否达到最大值。

步骤(7):如果未达到最大值,则正常响应。

步骤(8):如果计数器达到最大值,则锁定应用。

步骤(9):锁定目标应用后,计数器服务模块会向卡应用模块返回卡应用锁定响应,以使外部实体收到目标应用被锁定的响应。

步骤(10):如果计数器未达到最大值,计数器服务模块会继续检测计数器是否达到报警值,如果计数器未达到最大值但达到报警值,则进行步骤(11)。

步骤(11):计数器服务模块会通过主动式命令请求终端发出报警短信,即请求外部实体向计数器平台或业务平台发送报警信息。

步骤(12):在计数器达到报警值时,目标应用仍会被正常响应。

步骤(13):在联网时,计数器服务模块会将目标应用的计数器的计数信息同步至计数器平台。

步骤(14):在计数器平台收到目标应用对应的计数器的计数信息后,会转发至业务平台。

通过对卡应用的流程进行修改加固,可实现对目标应用中关键指令的保护,进而实现提高卡应用安全性的问题。

以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

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