用于在移动电话中实施主机卡模拟命令堆栈的系统和方法技术方案

技术编号:20623227 阅读:37 留言:0更新日期:2019-03-20 14:43
提供一种用于在远程近场通信(NFC)装置中实施主机卡模拟(HCE)服务的方法。在所述方法中,在所述远程NFC装置处从NFC读取器接收第一命令应用程序协议数据单元(APDU)。计算对所述第一命令APDU的第一响应。预测来自所述NFC读取器的第二命令APDU,所述第二命令APDU可能在从所述NFC读取器接收到所述第一命令APDU之后被接收。计算对所述预测的第二命令APDU的第二响应。从所述NFC读取器接收第三命令APDU。确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU。如果所述第二和第三命令APDU匹配,那么所述计算出的第二响应被直接发送到所述NFC读取器,而不必遍历NFC堆栈。

System and Method for Implementing Host Card Analog Command Stack in Mobile Phone

A method for implementing host card simulation (HCE) service in a remote near field communication (NFC) device is provided. In the method, the first command application protocol data unit (APDU) is received from the NFC reader at the remote NFC device. Calculate the first response to the first command APDU. The second command APDU from the NFC reader is predicted, and the second command APDU may be received after receiving the first command APDU from the NFC reader. Compute the second response to the predicted second command APDU. The third command APDU is received from the NFC reader. Determines whether the prediction described by the second command APDU matches the third command APDU. If the second and third commands APDU match, the calculated second response is sent directly to the NFC reader without traversing the NFC stack.

【技术实现步骤摘要】
用于在移动电话中实施主机卡模拟命令堆栈的系统和方法
本公开大体上涉及主机卡模拟(hostcardemulation;HCE),并且更具体来说,涉及用于在移动电话中实施HCE命令堆栈的系统和方法。
技术介绍
基于近场通信(nearfieldcommunication;NFC)的非接触式智能卡通常用于支付、建筑物门禁、交通应用等等。一些基于安卓的移动电话和其它装置提供被称作主机卡模拟(HCE)的NFC功能,其允许移动电话充当智能卡以用于各种应用。HCE处理指令堆栈中的命令。所述命令通过例如移动电话接收,且被移动电话上的用户应用程序处理。这通过包括在NFC读取器与移动电话中的HCE服务之间交换的应用程序层面包的命令APDU(ApplicationProtocolDataUnit;应用程序协议数据单元)来完成。移动电话接收和执行命令,且随后借助NFC场将响应APDU命令发送回读取器。通常命令序列由10到20条命令和响应构成。HCE的一个问题是接收命令APDU、处理命令和提供回到NFC读取器的响应可能耗费大量时间。每次接收到命令APDU时,命令APDU在堆栈中从NFC控制器向上移动到应用程序。应用程序计算响应,然后所述响应在堆栈中向下遍历回NFC控制器。以“向上”(命令)和“向下”(响应)方向遍历HCE软件堆栈的时间占据了执行命令所花费的时间。遍历HCE堆栈需要很长时间的一个原因是由于提供安全系统所必需的上下文切换。命令的执行时间越长,用户就需要将移动电话对着NFC读取器保持越长时间以成功执行交易。较长执行时间对于用户可能是不便的。因此,需要一种减少命令和响应遍历HCE堆栈的执行时间的方法。
技术实现思路
根据实施例,提供一种用于在远程近场通信(NFC)装置中实施主机卡模拟(HCE)服务的方法,所述方法包括:在所述远程NFC装置处从NFC读取器接收第一命令应用程序协议数据单元(APDU);计算对所述第一命令APDU的第一响应;预测来自所述NFC读取器的第二命令APDU,所述第二命令APDU可能在接收到所述第一命令APDU之后被接收;计算对所述第二命令APDU的第二响应;从所述NFC读取器接收第三命令APDU;以及确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU。预测第二命令APDU可以还包括预测可能在接收到所述第一命令APDU之后接收的一系列命令APDU。计算对所述第二命令APDU的响应可以还包括计算对所述预测的一系列命令APDU中的每一个的响应。所述方法可以还包括在HCE堆栈底部处的预测队列中存储所述预测的第二命令APDU和对所述第二命令APDU的所述响应。确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU可以还包括确定所述第二命令APDU并不匹配所述第三命令APDU且清空所述预测队列。确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU可以还包括确定所述预测确实匹配,且响应于所述匹配,将所述第二响应发送到所述NFC读取器。所述方法可以还包括基于数个正确地预测的命令,确定所述远程NFC装置的处理状态。远程NFC装置可以被表征为移动电话。所述方法可以用于在所述远程NFC装置上实施门禁应用程序、交通应用程序或支付应用程序。预测所述第二命令APDU可以还包括使用学习算法预测所述第二命令APDU,所述学习算法至少部分地基于所述下一个可能的命令APDU已被所述远程NFC装置接收的次数来预测下一个可能的命令APDU。在另一个实施例中,提供一种用于在远程近场通信(NFC)装置中实施主机卡模拟(HCE)服务的方法,所述方法包括:在所述远程NFC装置处从NFC读取器接收第一命令应用程序协议数据单元(APDU);计算对所述第一命令APDU的第一响应;预测可能被确定为下一个从所述NFC读取器接收的命令的命令APDU;计算对所述预测的命令APDU的响应;在所述远程NFC装置的HCE堆栈的底层处的预测的命令/响应队列中保存所述预测的命令APDU和对所述预测的命令APDU的所述响应;从所述NFC读取器接收第二命令APDU;以及比较所述预测的命令APDU与所述第二命令APDU。预测第二命令APDU可以还包括预测可能在接收到所述第二命令APDU之后接收的一系列命令APDU。计算对所述预测的命令APDU的响应可以还包括计算对所述预测的一系列命令APDU中的每一个的响应。所述方法可以还包括确定所述预测的命令APDU并不匹配所述第二命令APDU,且清空所述预测的命令/响应队列。所述方法可以还包括确定所述预测的命令APDU匹配于所述第二命令APDU,且将所述计算出的响应发送到所述NFC读取器。所述方法可以还包括基于数个正确地预测的命令,确定所述远程NFC装置的处理状态。远程NFC装置可以被表征为移动电话。所述方法可以用于在所述远程NFC装置上实施门禁应用程序、交通应用程序或支付应用程序。预测所述命令APDU可以还包括使用学习算法预测所述命令APDU,所述学习算法至少部分地基于命令APDU先前已被所述远程NFC装置接收的次数来预测下一个可能的命令APDU。所述方法可以被实施在用于移动电话的操作系统中。在又一实施例中,提供一种具有主机卡模拟(HCE)服务的远程近场通信(NFC)系统,所述系统包括:用于与NFC读取器无线通信的NFC控制器,所述NFC控制器接收命令应用程序协议数据单元(APDU)且将计算出的对所述命令APDU的响应发送到所述NFC读取器;以及HCE堆栈,来自所述NFC控制器的所述接收的命令从所述HCE堆栈的底部遍历所述HCE堆栈到所述HCE堆栈的顶部,以被提供给用户应用程序,所述用户应用程序借助所述HCE堆栈接收所述命令APDU,所述用户应用程序计算对所述命令APDU的所述响应,所述响应从上到下遍历所述HCE堆栈,所述用户应用程序预测下一个被所述NFC控制器接收的命令且计算对所述预测的命令的响应,所述计算出的响应被直接提供到所述NFC读取器而不用遍历所述HCE堆栈。本专利技术的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。附图说明本专利技术借助于例子示出并且不受附图的限制,在附图中的类似标记指示类似元件。为简单和清晰起见,示出图中的元件,并且这些元件未必按比例绘制。图1示出根据实施例的用于在移动电话中实施HCE服务的系统。图2示出根据实施例的用于在移动电话中实施HCE服务的方法。具体实施方式一般来说,提供一种用于减少远程NFC装置的HCE命令堆栈中的遍历次数的方法。所述方法预测下一个命令,且计算对预测的下一个命令的响应,使得在预测正确时响应已经就绪。预测的下一个命令和计算出的响应被保存在HCE命令堆栈的底层中的预测队列中,以便准备好直接被提供给NFC读取器,而无需通过HCE命令堆栈向上发送命令然后通过堆栈向下发回响应。学习算法被用于确定预测。可以预先计算对预测的命令序列的数个响应,并准备好将其发送到NFC读取器。所公开的预测系统和方法减少了HCE命令堆栈中的命令序列的执行时间,因此减少了处理例如支付交易所需的时间。这提高例如移动电话等远程NFC装置的功能性。图1示出根据实施例的用于在移动电话中实施HCE服务的系统10。系统10包括用户应用程序12、HCE命令堆栈14本文档来自技高网
...

【技术保护点】
1.一种用于在远程近场通信(NFC)装置中实施主机卡模拟(HCE)服务的方法,其特征在于,所述方法包括:在所述远程NFC装置处从NFC读取器接收第一命令应用程序协议数据单元(APDU);计算对所述第一命令APDU的第一响应;预测来自所述NFC读取器的第二命令APDU,所述第二命令APDU可能在接收到所述第一命令APDU之后被接收;计算对所述第二命令APDU的第二响应;从所述NFC读取器接收第三命令APDU;以及确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU。

【技术特征摘要】
2017.09.12 US 15/701,7641.一种用于在远程近场通信(NFC)装置中实施主机卡模拟(HCE)服务的方法,其特征在于,所述方法包括:在所述远程NFC装置处从NFC读取器接收第一命令应用程序协议数据单元(APDU);计算对所述第一命令APDU的第一响应;预测来自所述NFC读取器的第二命令APDU,所述第二命令APDU可能在接收到所述第一命令APDU之后被接收;计算对所述第二命令APDU的第二响应;从所述NFC读取器接收第三命令APDU;以及确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU。2.根据权利要求1所述的方法,其特征在于,预测第二命令APDU进一步包括预测可能在接收到所述第一命令APDU之后接收的一系列命令APDU。3.根据权利要求2所述的方法,其特征在于,计算对所述第二命令APDU的响应进一步包括计算对所述预测的一系列命令APDU中的每一个的响应。4.根据权利要求1所述的方法,其特征在于,进一步包括在HCE堆栈底部处的预测队列中存储所述预测的第二命令APDU和对所述第二命令APDU的所述响应。5.根据权利要求1所述的方法,其特征在于,确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU进一步包括确定所述第二命令APDU并不匹配所述第三命令APDU且清空所述预测队列。6.根据权利要求1所述的方法,其特征在于,确定所述第二命令APDU的所述预测是否匹配于所述第三命令APDU进一步包括确定所述预测确实匹配,且响应于所述匹配,将所述第二响应发送到所述NFC读取器。7.根据权利要求1所述的方法,其特征在于,进一步包括基于数个正确地预测的命令,确定所述远程NFC装...

【专利技术属性】
技术研发人员:简·胡格布鲁格威赫穆斯·P·A·J·米歇尔乔普·威廉·波斯
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰,NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1