一种NFCSIM卡的识别方法及装置与流程

文档序号:19871595发布日期:2020-02-08 05:55阅读:1387来源:国知局
一种NFC SIM卡的识别方法及装置与流程

本发明涉及通信领域,特别涉及一种nfcsim卡的识别方法及装置。



背景技术:

在安卓(android)系统开发基于卡模拟模式的近场通信(nearfieldcommunication,nfc)相关应用程序(app)的过程中,相关的卡应用通常存储在nfc用户身份识别(subscriberidentificationmodule,sim)卡上的安全元素(secureelement,se)模块中。

目前市面上广泛使用的sim卡有两种:普通sim卡及nfcsim卡。客户端在启用nfc相关app时,均需判断本地当前使用的sim卡是否为nfcsim卡,只有确定sim卡为nfcsim卡时,才会允许nfc相关app访问sim卡上的se模块,并与se模块中存储的卡应用进行交互操作。

已有技术下,判断sim卡是否为nfcsim卡的通用方法为:采用用户终端上安装的app,通过用户终端集成sim卡联盟(simalliance)组织提供的开放移动终端接口(openmobileapi,oma)或调用android系统提供的其他相关接口,向用户终端上的sim卡发送用于获取安全元素标识信息(seid)的指令,并基于sim卡的返回结果来判断sim卡是否为nfcsim卡;具体的,如果sim卡能够成功返回seid,则判定sim卡为nfcsim卡,如果sim卡反馈异常或者无返回结果,则判定sim卡为普通sim卡。

然而,上述技术方案的实现前提是,用户终端必须支持nfc相关功能,并且sim卡基于本地预设的接入控制(accesscontrol,ac)规则能够识别出向sim卡发送指令的app。

若用户终端不支持nfc相关功能,则app无法顺利打开机卡通道,向sim卡传输用于获取seid的指令,因此,当sim卡无返回结果时,无法准确判断sim卡是否为nfcsim卡。

而若sim卡中预设的ac规则错乱,则sim卡无法顺利识别app,则app也无法顺利打开机卡通道,向sim卡传输用于seid的指令,因此,当sim卡无返回结果时,也无法准确判断sim卡是否为nfcsim卡,甚至有可能将nfcsim卡误判为普通sim卡,从而影响后续使用。

有鉴于此,需要重新设计一种nfcsim卡的识别方法,以克服上述缺陷。



技术实现要素:

本发明实施例提供一种nfcsim卡的识别方法及装置,用以提高nfcsim卡的识别准确率。

本发明实施例提供的具体技术方案如下:

一种近场通信用户身份识别nfcsim卡的识别方法,包括:

接收客户端发送的nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息;

针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令;

基于所述待检测sim卡的标识信息,将所述短消息发送至相应的待检测sim卡;

接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息时,确定所述待检测sim卡为nfcsim卡。

可选的,接收客户端发送的nfc能力查询请求消息之后,针对待检测sim卡中的nfc功能模块生成短消息之前,进一步包括:

确定对应所述待检测sim卡的标识信息,未预先保存相应的nfc能力检测结果。

可选的,接收客户端发送的nfc能力查询请求消息之后,接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息之前,进一步包括:

接收客户端按照设定的轮洵方式发送的nfc能力查询请求消息,并在每次接收到nfc能力查询请求消息时,向客户端返回继续等待指示消息。

可选的,针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令,包括:

将短消息的接收方设置为所述待检测sim卡中的公钥加密标准pkcs第15号应用模块;

将所述短消息中携带的seid设置为:00000000000000000000;

将所述短消息中携带的操作指令为:读取二进制文件。

可选的,进一步包括:

若在设定时长内未接收到待检测sim卡返回的响应消息,则持续向待检测sim卡重复发送上述短消息,直到达到设定的重复发送次数,或者,达到设定的重复发送时长为止。

一种近场通信用户身份识别nfcsim卡的识别装置,包括:

接收单元,用于接收客户端发送的nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息;

生成单元,用于针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令;

发送单元,用于基于所述待检测sim卡的标识信息,将所述短消息发送至相应的待检测sim卡;

判定单元,用于在接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息时,确定所述待检测sim卡为nfcsim卡。

可选的,接收客户端发送的nfc能力查询请求消息之后,针对待检测sim卡中的nfc功能模块生成短消息之前,所述生成单元进一步用于:

确定对应所述待检测sim卡的标识信息,未预先保存相应的nfc能力检测结果。

可选的,接收客户端发送的nfc能力查询请求消息之后,接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息之前,

所述接收单元进一步用于:

接收客户端按照设定的轮洵方式发送的nfc能力查询请求消息;

所述发送单元进一步用于:

在每次接收到nfc能力查询请求消息时,向客户端返回继续等待指示消息。

可选的,针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令时,所述生成单元用于:

将短消息的接收方设置为所述待检测sim卡中的公钥加密标准pkcs第15号应用模块;

将所述短消息中携带的seid设置为:00000000000000000000;

将所述短消息中携带的操作指令为:读取二进制文件。

可选的,所述发送单元进一步用于:

若在设定时长内未接收到待检测sim卡返回的响应消息,则持续向待检测sim卡重复发送上述短消息,直到达到设定的重复发送次数,或者,达到设定的重复发送时长为止。

一种存储介质,存储有用于实现近场通信用户身份识别nfcsim卡的识别的程序,所述程序被处理器运行时,执行以下步骤:

接收客户端发送的nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息;

针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令;

基于所述待检测sim卡的标识信息,将所述短消息发送至相应的待检测sim卡;

接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息时,确定所述待检测sim卡为nfcsim卡。

一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

本发明实施例中,管理后台针对待检测sim卡进行nfc能力检测时,会针对待检测sim卡中的nfc功能模块发送短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令,以及在发送所述短消息,以及在接收到待检测sim卡返回的响应消息时,确定所述待检测sim卡为nfcsim卡,这样,在客户端不支持nfc功能或者在待检测sim卡上的ac规则错乱的情况下,不必打开客户端上的机卡通道,也可以顺利判定待检测sim卡是否为nfcsim卡,从而实现了检测过程的独立性,有效提高了检测结果的准确度,同时,实现过程简单,没有增加实现复杂度,降低了运维成本。

附图说明

图1为本发明实施例中用户终端结构示意图;

图2为本发明实施例中识别nfcsim卡流程图;

图3为本发明实施例中管理后台功能结构示意图。

具体实施方式

为了提高nfcsim卡的识别准确率,本发明实施例中,在客户端设置有中间件,中间件会向相应的管理后台请求进行nfcsim卡的检测,而管理后台会采用短消息的形式向客户端上的sim卡发送检测指令,从而判断sim卡是否为nfcsim卡。

下面结合附图对本发明优选的实施方式进行详细说明。

参阅图1所示,本发明实施例中,在客户端中设置一中间件,用于在客户端上安装的各类app和相应的管理后台之间实现信息交互,当用户通过app指示进行nfcsim卡的识别流程时,中间件会向管理后台发送请求消息,以触发相关流程。

参阅图2所示,本发明实施例中,识别nfcsim卡的具体流程如下:

步骤200:客户端获取用户指示的待检测sim卡的标识信息。

具体的,本发明实施例中,用户可以通过客户端上的安装的app,向客户端上的中间件指示待检测sim卡的标识信息,其中,待检测sim卡可以是客户端本地的sim卡,也可以是其他客户端上的sim卡,只需要用户自身使用的客户端上输入待检测sim卡的标识信息即可。

可选的,本发明实施例中,待检测sim卡的标识信息可以是国际移动用户识别码(internationalmobilesubscriberidentificationnumber,imsi),也可以是临时移动用户标识(temporarymobilesubscriberidentity,tmsi),还可以是移动台国际用户识别码(mobilesubscriberinternationalisdn/pstnnumber,msisdn,即手机号码)。

步骤201:客户端向管理后台发送nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息。

具体的,客户端上的中间件可以将待检测sim卡的标识信息封装到接口报文中,向管理后台发起http请求(即nfc能力查询请求消息),请求管理后台进行查询。

步骤202:管理后台接收客户端发送的nfc能力查询请求消息,并基于所述nfc能力查询请求消息中携带的待检测sim卡的标识信息,判断本地对应所述待检测sim卡的标识信息是否保存有相应的nfc能力检测结果;若是,则执行步骤203,否则,执行步骤204、步骤205。

步骤203:管理后台向客户端返回待检测sim卡的nfc能力检测结果。

具体的,若管理后台已保存有之前针对上述待检测sim卡执行nfc检测时获得的nfc能力检测结果,则管理后台可以直接将nfc能力检测结果发送给客户端,则流程结束。

步骤204:管理后台接收客户端按照设定的轮洵方式,发送的nfc能力查询请求消息。

具体的,客户端首次发送nfc能力查询请求消息后,会按照设定的轮洵方式(如,轮洵n次,每次间隔t秒),连续向管理后台发送nfc能力查询请求消息,而管理后台每次接收到nfc能力查询请求消息之后,在获得相应的nfc能力检测结果之前,均需要向客户端返回继续等待指示消息。

步骤205:管理后台针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令。

步骤204和步骤205之间并没有固定的执行顺序,可以并行,也可以串行,在此不再赘述。

具体的,在执行步骤205时,可选的,管理后台会组织0348短消息,其中,在0348短消息中,管理后台会按照密码令牌信息语法标准,将短消息接收方(tar)设为公钥加密标准(publickeycryptographystandard,pkcs)#15应用模块,),将seid设置为:00000000000000000000,将操作指令设置为:00b0000080(即读取二进制文件:readbinary)。

步骤206:管理平台将生成的短消息发送至待检测sim卡。

实际应用中,所有类型的sim卡均具有短消息处理能力,因此,管理后台通过短消息的形式向待检测sim卡发送seid和相应的操作指令,即使因为客观原因无法顺利打开机卡通道(如,客户端不支持nfc功能、sim卡上的ac规则混乱等等),也可以保证待检测sim卡顺利接收到短消息。

步骤207:待检测sim卡向管理后台返回针对所述seid和操作指令的响应消息。

实际应用中,pkck#15应用模块是nfcsim卡中专属设置的功能模块,因此,管理后台将短消息接收方设置为pkck#15应用模块,那么,只有待检测sim卡是nfcsim卡的情况下,才能通过pkck#15应用模块顺利识别短消息中携带的seid和相应的操作指令。

进一步地,由于在实际发卡过程中不存在seid是00000000000000000000的情况,那么,使用上述seid分散出的密钥值是无法访问sim卡上的se模块的,因此,即使待检测sim卡从接收的短消息中顺利识别出上述seid和相应的操作指令,也无法执行上述操作指令。但是,按照标准规范,待检测sim卡会针对接收的短消息返回响应消息,如,响应状态码(responsestatuscodes),通知无法执行操作指令。

具体的,不同厂商制作的sim卡所采用的规则不同,因此,回复的响应消息的内容也不完全相同,按照标准规范包括以下几种情况:

1、“05”:表示算法错误(cipheringerror)。

2、“06”:表示未定义安全错误(unidentifiedsecurityerror)

3、“09”:表示目标未知(tarunknown)

4、“0a”–“ff”:表示预留字段(reservedforfutureuse)

sim卡可以按照自身的制作标准,采用不同形式有响应状态码作为响应消息返回至管理后台。

另一方面,本发明实施例中,将seid设置为00000000000000000000仅为举例,实际应用中,只需要不按照标准规则设置seid,保证待检测sim卡无法基于获得的seid分散出有效密钥,进而无法顺利访问se模块即可。

同理,将操作指令设置为00b0000080也仅为举例,只需要待检测sim卡在接收到携带操作指令的短消息后,能够返回相应的响应消息即可。

步骤208:管理后台确定待检测sim卡为nfcsim卡,并记录相应的nfc能力检测结果。

由于而非nfcsim卡不支持处理0348短消息的功能,因此,非nfcsim卡接收到上述0348短消息时,不会基于短消息内容返回响应消息,因此,一旦管理后台接收到待检测sim卡的响应消息,便可判定待检测sim卡支持nfc功能,是nfcsim卡。

进一步地,为了防止短消息意外丢失或意外未到达待检测sim卡,管理后台还会执行超时管理机制。

具体的,若管理后台在设定时长内未接收到待检测sim卡返回的响应消息,则持续向待检测sim卡重复发送上述短消息,直到达到设定的重复发送次数,或者,达到设定的重复发送时长为止。

在此期间,若接收到待检测sim卡返回的响应消息,同判定待检测sim卡为nfcsim卡,否则,判定待检测sim卡为非nfcsim卡,即普通sim卡。

管理后台会将待检测sim卡的nfc能力检测结果,对应待检测sim卡的标识信息保存至指定的存储位置,可以是管理后台本地,也可以是相应的数据库,以便下次查询。

步骤209:管理后台将待检测sim卡的nfc能力检测结果返回给客户端。

步骤210:客户端保存待检测sim卡的nfc能力检测结果。

具体的,客户端可以通过上层的app,将待检测sim卡的nfc能力检测结果呈现给相应用户,则流程结束。

基于上述实施例,参阅图3所示,本发明实施例中,提供一种nfcsim卡的识别装置(即管理后台),至少包括接收单元30、生成单元31、发送单元32和判定单元33,其中,

接收单元30,用于接收客户端发送的nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息;

生成单元31,用于针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令;

发送单元32,用于基于所述待检测sim卡的标识信息,将所述短消息发送至相应的待检测sim卡;

判定单元33,用于在接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息时,确定所述待检测sim卡为nfcsim卡。

可选的,接收客户端发送的nfc能力查询请求消息之后,针对待检测sim卡中的nfc功能模块生成短消息之前,所述生成单元31进一步用于:

确定对应所述待检测sim卡的标识信息,未预先保存相应的nfc能力检测结果。

可选的,接收客户端发送的nfc能力查询请求消息之后,接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息之前,

所述接收单元30进一步用于:

接收客户端按照设定的轮洵方式发送的nfc能力查询请求消息;

所述发送单元32进一步用于:

在每次接收到nfc能力查询请求消息时,向客户端返回继续等待指示消息。

可选的,针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令时,所述生成单元31用于:

将短消息的接收方设置为所述待检测sim卡中的公钥加密标准pkcs第15号应用模块;

将所述短消息中携带的seid设置为:00000000000000000000;

将所述短消息中携带的操作指令为:读取二进制文件。

可选的,所述发送单元32进一步用于:

若在设定时长内未接收到待检测sim卡返回的响应消息,则持续向待检测sim卡重复发送上述短消息,直到达到设定的重复发送次数,或者,达到设定的重复发送时长为止。

基于同一发明构思,本发明实施例中提供一种存储介质,存储有用于实现nfcsim卡的识别的程序,所述程序被处理器运行时,执行以下步骤:

接收客户端发送的nfc能力查询请求消息,所述nfc能力查询请求消息中至少携带有待检测sim卡的标识信息;

针对待检测sim卡中的nfc功能模块生成短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令;

基于所述待检测sim卡的标识信息,将所述短消息发送至相应的待检测sim卡;

接收到待检测sim卡返回的针对所述seid以及所述操作指令的响应消息时,确定所述待检测sim卡为nfcsim卡。

基于同一发明构思,本发明实施例中提供一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

综上所述,本发明实施例中,管理后台针对待检测sim卡进行nfc能力检测时,会针对待检测sim卡中的nfc功能模块发送短消息,所述短消息中至少携带未基于标准规则设置的seid以及相应的操作指令,以及在发送所述短消息,以及在接收到待检测sim卡返回的响应消息时,确定所述待检测sim卡为nfcsim卡,这样,在客户端不支持nfc功能或者在待检测sim卡上的ac规则错乱的情况下,不必打开客户端上的机卡通道,也可以顺利判定待检测sim卡是否为nfcsim卡,从而实现了检测过程的独立性,有效提高了检测结果的准确度,同时,实现过程简单,没有增加实现复杂度,降低了运维成本。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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