基于JavaCard的NFC移动智能是如何设计实现的

网友投稿 799 2023-01-18

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

基于JavaCard的NFC移动智能是如何设计实现的

0 引言

1 JavaCard智能卡技术

JavaCard是Java平台中最小的subset开发平台,其设定的执行环境为SmartCard上的晶片或是有严格硬体限制的环境[6]。JavaCard的问世,一方面是为了推展Java的应用层次,另一方面是为了将Java平台的特性以及JavaCard的优势带到SmartCard上,这些优势主要有:

2 基于JavaCard的NFC移动智能应用系统

2.1 NFC移动智能生态模型的构建

2.2 移动智能应用系统模型

(1)模型框架描述

基于JavaCard的NFC移动智能应用系统模型主要包含两大部分:电子支付应用与非电子支付应用。如图2所示。

从模型设计中可知,非电子支付应用环节一般由娱乐、防伪、私人门禁等方面组成,移动智能终端用户需通过计算机网络与备份数据信息库对电子产品做进一步防伪认证。其电子支付应用环节一般由移动智能终端用户、制造厂商/产品提供厂商、移动网络运营机构和金融机构等组成。

(2)移动智能终端支付银行选择模块

现有的移动智能电子支付应用系统中在银行卡的选取方面较为固定,不能动态地对其绑定的银行电子支付手段与方式进行选择,因此,本文在基于JavaCard的NFC移动智能应用系统模型的设计中特别添加了移动智能终端支付银行选择模块,实现电子支付过程中的动态与便捷。如图3所示。

具体选择流程如下:⑴选取多户银行并进行开户业务,包括移动电子支付业务;⑵通过移动智能终端获取其应用系统APP;⑶第一次使用时进行设置,包括默认设置,如设置默认银行卡号、绑定默认联系方式等,或者依据添加时间的先后对银行卡的选取进行管理,默认银行卡是第一支付选择的卡号,余下银行卡添加到备选银行卡清单之中;⑷若默认或当前选取的银行卡无法进行支付操作,将自动提示选取下一个邻近时间点的银行卡作为支付银行卡,依次类推,直到支付成功为止。

3 改进的动态二进制防碰撞算法设计

为了满足移动智能电子支付应用系统的安全需求,本文对传统二进制搜索算法进行改进。接下来将对改进的动态二进制防碰撞算法进行详细分析。

(1)基本指令描述

为了描述这个算法,假设标签标识号NFCID的位数为n,即从高位到低位分别为Dn-1Dn-2.。.D1D0,出现多标签冲突的位数为m(0≤m

①SEL_REQ(x, Dm):读卡器传输一个数值x(x属于1或者0)给相关范围内的标签申请回复,若标签号出现冲突的最后一位到第一位这m个数值中有一个或多个数值位与满足要求的标签回复相一致(以便于降低初始化标签区域面积大小,做出相应优化)。说明:第1次询问时,x=n,使用NULL表示标签号无数值,即空值,所以申请回复指令是:SEL_REQ(NULL, Dn-1)。

②SEL RES(m):获取到余下冲突位置的数据(第m-1至第1位),记录未出现冲突位置的数据。

③SR_DATA:选取满足条件的标签,且获取其数值信息:对符合条件的标签,将其存储的相关数值信息传输给读卡器等相关设备。

④Unsel:将多个预定选取中的一个标签进行取消操作,此标签转换到“无声”状态。此时这个标签处于未被激活状态,对其步骤③中的申请指令SEL_REQ不作出任何答复。当远离读卡器感应操作区域之外时,才能进行标签复位操作,这样使得标签能够重新被激活。

(2)改进算法原理

若NFCID为8 bit,则读卡器作用区域内有多个标签,这里以5个为实例,标签分别为:11100101、10100110、11010100、1000011、10101110。读卡器将利用该算法来识别它们。初始化阶段,读卡器对区域内标签处于未知状态,所以发送SEL_REQ(NULL, 8)命令,要求作用范围内任何一个标签做出应答信息。详细执行过程如图4所示。

4 结束语

本文以JavaCard智能卡技术原理与NFC移动智能技术的理论知识为前提,首先提出了一种基于JavaCard和NFC技术的移动智能支付应用系统的模型框架,并在该模型中设计了移动智能终端支付银行选择模块;其次针对多标签情况下的应用支付碰撞问题设计了一种改进的动态二进制防碰撞算法。研究分析表明,应用支付模型框架与防碰撞安全算法在移动电子支付通信服务方面均达到了次优化的应用与安全效果。

上一篇:智能运维平台解决方案(运维监控平台解决方案)
下一篇:智能家居品牌排行
相关文章

 发表评论

暂时没有评论,来抢沙发吧~