一种基于客户端实现Mifare空中圈存的方法及系统的制作方法

文档序号:7804871阅读:164来源:国知局
一种基于客户端实现Mifare空中圈存的方法及系统的制作方法
【专利摘要】本发明提供了一种基于客户端实现Mifare空中圈存的方法及系统,本发明无需采用数据短信的方式发送请求和确认更新,而是通过智能卡客户端发送请求来实现空中圈存,空圈应用接收操作结果和发送响应数据来确认更新。智能卡空圈应用主要关注的是客户端发送的待操作块号码、密钥块的号码、与待操作块号码对应的password以及操作指令是写入或读出即可,减少了空圈应用处理时逻辑复杂的压力,在很大程度上保证了运行的畅通,且本发明操作简单,摒弃了STK方式的繁琐、冗余和数据处理复杂的缺点,能够节省时间、提高解析效率。
【专利说明】—种基于客户端实现Mifare空中圈存的方法及系统
【技术领域】
[0001]本发明涉及通讯领域,尤其涉及一种基于客户端实现Mifare空中圈存的方法及系统。
【背景技术】
[0002]空中圈存是指通过操作移动设备STK菜单或者客户端,使用OTA (Over the AirTechnology,空中下载技术)与后台支付系统进行通信,完成对移动设备智能卡内钱包的充值、查询、消费等功能。通俗来说就是通过打电话、短信、OTA菜单或定制化的相关客户端软件等方式进行圈存,即时将银行卡账户金额划转到手机卡钱包的过程。
[0003]现有的空中圈存方法中,空中圈存的发起请求及钱包更新的情况都是通过数据短信的方式来实现的,服务器平台在处理上下行短信的过程复杂,处理过程中易受到干扰,且数据量很大,在交互的过程中容易出错。
[0004]因此现在需要一种新的空中圈存方式,以解决现有技术中采用数据短信方式进行空中圈存时的遇到的问题。

【发明内容】

[0005]本发明提供了一种基于客户端实现Mifare空中圈存的方法及系统,本发明能够通过客户端的方式实现空中圈存,解决了现有技术中采用数据短信的方式进行空中圈存时遇到的问题。
[0006]为了解决上述问题,本发明提供了以下技术手段:
[0007]—种基于客户端实现Mifare空中圈存的方法,应用于基于客户端实现Mifare空中圈存的系统,所述系统包括空圈平台,与所述空圈平台相连的客户端,与所述客户端相连的空圈应用,与所述空圈应用通过API接口相连的Mifare区,包括:
[0008]空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令;
[0009]客户端将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用;
[0010]空圈应用解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块;
[0011]当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台。
[0012]优选的,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作包括:
[0013]当所述操作指令为读操作指令时所述操作数据为空,依据所述读操作指令对Mifare区的待操作数据块进行读操作;[0014]当所述操作指令为写操作指令时所述操作数据为与所述待操作块号码对应的更新数据,依据写操作指令对待操作数据块进行写操作。
[0015]优选的,还包括对Mifare区中多个待操作数据块进行读操作,具体包括:
[0016]对Mifare区中多个待操作数据块分别进行password验证;
[0017]当全部验证通过后,对多个待操作数据块进行读操作;
[0018]当某个待操作数据块校验失败,则显示当前校验失败的待操作数据块的块号,且未读出任何待操作数据块的内容。
[0019]优选的,所述password为依据每个扇区的密钥块的KA和KB分散获得。
[0020]优选的,依据所述读操作指令对Mifare区的待操作数据块进行读操作的方式包括:
[0021]明文读取、密文读取、校验PIN码后明文读取或校验PIN码后密文读取。
[0022]优选的,还包括:
[0023]当PIN码被锁后,可以通过PUK码解锁。
[0024]优选的,还包括对Mifare区中多个待操作数据块进行写操作,具体包括:
[0025]对Mifare区中多个待操作数据块分别进行password验证;
[0026]当全部验证通过后,对多个待操作数据块进行写操作;
[0027]当某个待操作数据块的password校验失败,则显示当前校验失败的待操作数据块的号码,将之前password验证通过的更新数据写入对应的待操作数据块内。
[0028]优选的,当所述操作指令为写操作时空圈应用解析应用指令后还获取MAC,当MAC验证通过后再对password进行验证。
[0029]优选的,还包括:
[0030]利用password对扇区的密钥块进行更新,该password为依据密文解密出的明文数据获得的。
[0031]—种基于客户纟而实现Mifare 中圈存的系统,包括:
[0032]空圈平台,用于空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令;
[0033]与所述空圈平台通过无线相连的客户端,用于将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用;
[0034]与所述客户端相连的空圈应用,用于解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块,当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台;
[0035]与所述空圈应用通过API接口相连的Mifare区。
[0036]本发明提供了一种基于客户端实现Mifare空中圈存的方法及系统,本发明无需采用STK的方式发送请求和确认更新,而是通过客户端发送请求的方式来实现空中圈存,空圈应用接收操作结果和发送响应数据来确认更新。空圈应用主要关注的是客户端发送的待操作块号码、密钥块的号码、与待操作块号码对应的password以及操作指令是写入或读出即可,减少了空圈应用处理时逻辑复杂的压力,很大程度上保证了运行的畅通,并且本发明操作简单,摒弃了 STK方式的繁琐,冗余和数据处理复杂的缺点。
【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为本发明实施例公开的一种基于客户端实现Mifare空中圈存的方法的流程图;
[0039]图2本发明实施例公开的又一种基于客户端实现Mifare空中圈存的方法的流程图;
[0040]图3本发明实施例公开的又一种基于客户端实现Mifare空中圈存的方法的流程图;
[0041]图4本发明实施例公开的又一种基于客户端实现Mifare空中圈存的方法的流程图;
[0042]图5本发明实施例公开的一种基于客户端实现Mifare空中圈存的系统的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]本发明提供了一种基于客户端实现Mifare空中圈存的系统,所述系统包括空圈平台,与所述空圈平台相连的客户端,与所述客户端相连的空圈应用,与所述空圈应用通过API接口相连的Mifare区。
[0045]本发明提供了一种基于客户端实现Mifare空中圈存的方法的实施例,应用于上述系统,下面对本实施例进行详细说明,包括以下步骤:
[0046]步骤SlOl:空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令;
[0047]本发明中的空圈平台即为后台支付系统,客户端向空圈平台发送空圈请求,所述空圈请求包括更新钱包的数值即写操作,或者查看钱包的剩余金额即读操作,空圈平台接收空圈请求后,确认请求是读操作还是写操作,当空圈请求是读操作时,发送读操作的空圈指令,当空圈请求是写操作时,发送写操作的空圈指令。
[0048]读操作的空圈指令和写操作的空圈指令的内容是不同的,当所述空圈指令为读操作时,包括待操作块号码、与待操作块号码对应的password和读操作指令,当所述空圈指令为写操作时,包括待操作块号码,与待操作块号码对应的password、与待操作号码对应的更新数据和写操作指令。
[0049]步骤S102:客户端将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用;[0050]由于客户端与空圈平台之间的数据格式与客户端与空圈应用之间的数据格式是不同的,为了使空圈应用接收并执行指令,需要将空圈指令的格式进行转换为适用于空圈应用的指令格式。
[0051]步骤S103:空圈应用解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块;
[0052]空圈应用将应用指令进行解析,因为不论是空圈指令还是应用指令在传输的过程中都是密文传输,因此空圈应用接收到应用指令后需要解密,获取其中的内容,即待操作块号码、password、操作指令和操作数据。
[0053]解析完成后,需要验证password是否正确,即验证是否有权限对带操作数据块进行操作,将解析后的password与卡片COS层实现的计算password的方法得到的password进行对比,若一致则表示验证通过,若不一致则表示验证失败。当验证通过后对依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,具体的包括:
[0054]当所述操作指令为读操作指令时所述操作数据为空,依据所述读操作指令对Mifare区的待操作数据块进行读操作;由于读操作时无需对待操作数据块的内容进行操作,因此操作数据为空。
[0055]当所述操作指令为写操作指令时所述操作数据为与所述待操作块号码对应的更新数据,依据写操作指令对待操作数据块进行写操作。
[0056]步骤S104:当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台;
[0057]当完成操作后,API接口向空圈应用反馈操作结果,此处的操作结果为是否读成功或写成功的结果,空圈应用通过判断API接口返回的结果来确定操作是否完成,确认之后将响应数据发送至客户端,具体的当操作指令为读操作时,空圈应用将响应数据发送至客户端,当操作指令为写操作时,当更新成功后空圈应用向客户端反馈4个字节的TAC作为成功更新的确认。
[0058]本发明提供了一种基于客户端实现Mifare空中圈存的方法及系统,本发明无需采用STK的方式发送请求和确认更新,而是通过客户端发送请求的方式来实现空中圈存,空圈应用接收操作结果和发送响应数据来确认更新。空圈应用主要关注的是客户端发送的待操作块号码、密钥块的号码、与待操作块号码对应的password以及操作指令是写入或读出即可,减少了空圈应用处理时逻辑复杂的压力,很大程度上保证了运行的畅通,并且操作简单,摒弃了 STK方式的繁琐,冗余和数据处理复杂的缺点。
[0059]上述实施例中针对一个待操作数据块进行说明,其实本发明可以对多个数据块进行读写操作,首先介绍对多个数据块进行读操作,其步骤与图1所示的实施例大体一致,在步骤S103中为获取多个待操作块号码和多个与待操作块号码对应的password,如图2所示在步骤S103之后包括:
[0060]步骤S201:对Mifare区中多个待操作数据块分别进行password验证;
[0061]步骤S202:当全部验证通过后,对多个待操作数据块进行读操作;
[0062]步骤S203:当某个待操作数据块校验失败,则显示当前校验失败的待操作数据块的块号,未读出任何待操作数据块内容。
[0063]当对多个待操作数据块进行读操作时,当且仅当所有待操作数据块都校验通过时,才可对Mifare区中待操作数据块进行读操作。当有一个待操作数据块校验失败时,则显示当前校验失败的待操作数据块的块号,不显示待操作数据块的内容。
[0064]其中,password为依据每个扇区的密钥块的KA和KB分散获得,并且对Mifare区的待操作数据块进行读操作的方式包括:
[0065]明文读取、密文读取、校验PIN码后明文读取或校验PIN码后密文读取四种方式。其中,采用PIN码读取时,当PIN码被锁后,可以通过PUK码解锁。
[0066]本实施例中为对Mifare区中多个待操作数据块进行写操作,本实施例的内容与图1所示的内容大体一致,在步骤S103中为获取多个待操作块号码、多个与待操作块号码对应的password和与多个与待操作块号码对应的更新数据,如图3所示在步骤S103之后包括:
[0067]步骤S301:对Mifare区中多个待操作数据块分别进行password验证;
[0068]步骤S302:当全部验证通过后,对多个待操作数据块进行写操作;
[0069]步骤S303:当某个待操作数据块的password校验失败,则显示当前校验失败的待操作数据块的号码,将之前password验证通过的更新数据写入对应的待操作数据块内。
[0070]本发明能够同时对多个待操作数据块进行更新操作,提高了更新效率。如图2和图3所示,本发明能够对多个待操作数据块进行读写操作,并且最多能够对1-9个数据块同时进行读取或更新操作,大大提高了操作效率。
[0071]对Mifare区的待操作数据块进行写操作包括:采用密文加MAC的方式更新待操作数据块。即当所述操作指令为写操作时空圈应用解析应用指令后还获取MAC,当MAC验证通过后再对password进行验证。由于写操作时需要保证数据的安全性,因此我们采用密文加MAC的方式,有效保证数据在更新过程中的安全性,在实现过程中通过取随机数和块初始化的操作收集所需数据,通过个人化方式写入的密钥对收集的数据计算得出明文加密的过程密钥和MAC计算密钥。
[0072]本发明不仅可以对数据块进行写操作,还可以对密钥块进行写操作,具体的:利用password对扇区的密钥块进行更新,该password为依据密文解密出的明文数据获得的。在数据块和密钥块更新成功后会反馈响应数据,即向客户端反馈4个字节的TAC。
[0073]由上述内容可以看出本发明具有以下优点:
[0074]首先,空圈应用主要关注的是客户端传入的待操作块号码、与待操作块号码对应的password以及操作指令是写入或读出即可,减少卡片上应用处理逻辑复杂的压力,很大程度上保证了运行的畅通。其次,基于客户端Mifare空圈的方式可视化比较强,对于客户来说更容易操作,同时客户端的方式摒弃STK的繁琐,冗余和数据处理复杂的缺点。再次,客户端方式可以同时操作多个数据块或密钥块,在效率上显著提高。
[0075]下面介绍本发明的一种具体实施例,如图4所示,包括:
[0076]步骤S401:客户端向空圈平台发送空圈的请求;
[0077]步骤S402:空圈平台收到客户端的请求之后下发空圈指令;
[0078]步骤S403:客户端对接收的空圈指令进行解析,并将解析后的应用指令发给空圈应用;[0079]步骤S404:空圈应用负责解析应用命令,调用底层的API接口对Mifare区进行操作,操作完成后接收API接口反馈的操作结果;
[0080]步骤S405:空圈应用接收操作结果后将响应数据返回给客户端;
[0081]步骤S406:客户端将响应数据转发给空圈平台。
[0082]完成本次操作后再执行后续的空圈指令,直到最后一条空圈指令,后续的空圈指令操作流程相似,在此不再赘述。
[0083]如图5所示,本发明还提供了一种基于客户端实现Mifare空中圈存的系统,包括:
[0084]一种基于客户纟而实现Mifare 中圈存的系统,包括:
[0085]空圈平台100,用于空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令;
[0086]与所述空圈平台通过无线相连的客户端200,用于将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用;
[0087]与所述客户端相连的空圈应用300,用于解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块,当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台;
[0088]与所述空圈应用通过API接口相连的Mifare区400。
[0089]本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0090]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0091]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种基于客户端实现Mifare空中圈存的方法,其特征在于,应用于基于客户端实现Mifare空中圈存的系统,所述系统包括空圈平台,与所述空圈平台相连的客户端,与所述客户端相连的空圈应用,与所述空圈应用通过API接口相连的Mifare区,包括: 空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令; 客户端将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用; 空圈应用解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块; 当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台。
2.如权利要求1所述的方法,其特征在于,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作包括: 当所述操作指令为读操作指令时所述操作数据为空,依据所述读操作指令对Mifare区的待操作数据块进行读操作; 当所述操作指令为写操作指令时所述操作数据为与所述待操作块号码对应的更新数据,依据写操作指令对待操作数据块进行写操作。
3.如权利要求2所述的方法,其特征在于,还包括对Mifare区中多个待操作数据块进行读操作,具体包括: 对Mifare区中多个待操作数据块分别进行password验证; 当全部验证通过后,对多个待操作数据块进行读操作; 当某个待操作数据块校验失败,则显示当前校验失败的待操作数据块的块号,且未读出任何待操作数据块的内容。
4.如权利要求1或3所述的方法,其特征在于,所述password为依据每个扇区的密钥块的KA和KB分散获得。
5.如权利要求2所述的方法,其特征在于,依据所述读操作指令对Mifare区的待操作数据块进行读操作的方式包括: 明文读取、密文读取、校验PIN码后明文读取或校验PIN码后密文读取。
6.如权利要求5所述的方法,其特征在于,还包括: 当PIN码被锁后,可以通过PUK码解锁。
7.如权利要求2所述的方法,其特征在于,还包括对Mifare区中多个待操作数据块进行写操作,具体包括: 对Mifare区中多个待操作数据块分别进行password验证; 当全部验证通过后,对多个待操作数据块进行写操作; 当某个待操作数据块的password校验失败,则显示当前校验失败的待操作数据块的号码,将之前password验证通过的更新数据写入对应的待操作数据块内。
8.如权利要求2所述的方法,其特征在于,当所述操作指令为写操作时空圈应用解析应用指令后还获取MAC,当MAC验证通过后再对password进行验证。
9.如权利要求1所述的方法,其特征在于,还包括: 利用password对扇区的密钥块进行更新,该password为依据密文解密出的明文数据获得的。
10.一种基于客户端实现Mifare空中圈存的系统,其特征在于,包括: 空圈平台,用于空圈平台接收客户端发送的空圈请求后,向客户端发送空圈指令; 与所述空圈平台通过无线相连的客户端,用于将所述空圈指令转换为适用于空圈应用的应用指令,并将所述应用指令发送至空圈应用; 与所述客户端相连的空圈应用,用于解析所述应用指令获取待操作块号码、password、操作指令和操作数据,将password发送至API接口进行验证,当验证通过后,依据所述操作指令和操作数据对Mifare区的待操作数据块进行对应操作,所述待操作数据块为与待操作块号码对应的数据块,当完成操作后,所述空圈应用接收所述API接口发送的操作结果,并将响应数据经客户端转发至空圈平台; 与所述空圈应用通过API接口相连的Mifare区。
【文档编号】H04W4/24GK103971233SQ201410230716
【公开日】2014年8月6日 申请日期:2014年5月28日 优先权日:2014年5月28日
【发明者】周忠国, 黄小鹏, 胡正飞, 周向涛, 刘磊 申请人:东信和平科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1