一种控制NFC路由的方法及装置与流程

文档序号:14022434阅读:433来源:国知局
一种控制NFC路由的方法及装置与流程

本发明涉及终端技术领域,特别涉及一种控制近距离无线通信(nearfieldcommunication,nfc)路由的方法及装置。



背景技术:

近期nfc技术发展很快,nfc的卡模拟功能也被越来越多的使用。nfc的卡模拟可以有多个执行环境(nfcee),但是可以分为基于主机的卡模拟(host-basedcardemulation,hce)类型的和安全单元(secureelement,se,基于硬件的用于实现安全卡模拟的智能卡芯片)类型的两类。其中,hce类型的是主机模拟的,操作系统可以对卡模拟的流程进行管控,但是se是一个独立的智能卡芯片,se类型的卡模拟操作,se可以不经过操作系统而通过近场通信模拟前端芯片(contactlessfront-end,clf)直接与nfc读卡器进行交互,这样存在一定的安全隐患,即用户无法去控制这个过程。

具体地说,目前不管是hce类型的还是se类型的卡模拟应用,都会注册一组应用唯一标识(applicationid,aid),在nfc芯片中存在一个路由表。路由表记录每个aid需要被路由的方向,路由的方向可以是主机(对应于hce),也可以是某个se,同时还有一个默认路由设置,若在路由表中无法找到某个aid,则按照默认路由去路由。

目前的普遍做法是把hce或者se的aid写入路由表,然后把默认路由设置为se或者hce,这样路由表中不需要存储所有的aid,可以节省路由表的空间。图1是现有技术提供的nfc读卡器、clf与hce、se的关系图,如图1所示,nfc读卡器的指令发给clf,clf根据路由表的情况确定是路由到hce还是各个se。

一般来说,终端产品在出厂的时候会设置好默认路由,并且目前默认路由一般都会设置为se。如果默认路由是se并把所有hce相关的aid写入路由表,那么所有se相关的aid可以不经过操作系统的控制,而由se直接通过clf与nfc读卡器进行交互。se中可能会有多个支付类型的应用,但用户不一定希望使用所有的支付类型的应用,或者希望可以自己动态的选择支付应用。由于se与nfc读卡器的交互不会经过操作系统的控制,因此无法做到由用户动态选择se中的支付应用是否被激活。

如果默认路由是hce并把所有se相关的aid写入路由表,情况与上面是类似的,所有se相关的aid可以不经过操作系统的控制,由se直接通过clf与读卡器进行交互。



技术实现要素:

根据本发明实施例提供的技术方案解决的技术问题是将用户禁用或需要动态选择的se类型的应用路由至操作系统,从而使用户动态激活或者禁用存在于se上的应用。

根据本发明实施例提供的一种控制nfc路由的方法,包括:

终端确定用户需要禁用的se类型的应用;

所述终端根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统;

所述终端根据修改后的路由表,发送来自nfc读卡器的用于选择某一应用的指令。

优选地,所述终端根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统的步骤包括:

所述终端将所述路由表中的默认路由调整为hce;

所述终端根据所述需要禁用的se类型的应用,确定不需要禁用的se类型的应用,并将所述不需要禁用的se类型的应用写入所述路由表。

优选地,所述终端根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统的步骤还包括:

所述终端删除所述路由表中的hce类型的应用。

优选地,所述终端根据修改后的路由表,发送其收到的来自nfc读卡器的用于选择某一应用的指令步骤包括:

所述终端收到来自nfc读卡器的用于选择se类型的应用的指令时,查询所述修改后的路由表;

若所述修改后的路由表中不存在所述se类型的应用,则根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供操作系统处理所述指令;

若所述修改后的路由表中存在所述se类型的应用,则根据所述修改后的路由表,将所述指令发送至se,以供所述nfc读卡器选择的se类型的应用进行处理。

优选地,所述终端根据修改后的路由表,发送其收到的来自nfc读卡器的用于选择某一应用的指令步骤包括:

所述终端收到来自nfc读卡器的用于选择hce类型的应用的指令时,根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供所述nfc读卡器选择的hce类型的应用进行处理。

根据本发明实施例提供的存储介质,其存储用于实现上述控制nfc路由的方法的程序。

根据本发明实施例提供的一种控制nfc路由的装置,包括:

获取模块,用于确定用户需要禁用的se类型的应用;

调整模块,用于根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统;

处理模块,用于根据修改后的路由表,发送来自nfc读卡器的用于选择某一应用的指令。

优选地,所述调整模块将所述路由表中的默认路由调整为hce,并根据所述需要禁用的se类型的应用,确定不需要禁用的se类型的应用,将所述不需要禁用的se类型的应用写入所述路由表。

优选地,所述调整模块还用于删除所述路由表中的hce类型的应用。

优选地,所述处理模块收到来自nfc读卡器的用于选择se类型的应用的指令时,查询所述修改后的路由表,若所述修改后的路由表中不存在所述se类型的应用,则根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供操作系统处理所述指令,若所述修改后的路由表中存在所述se类型的应用,则根据所述修改后的路由表,将所述指令发送至se,以供所述nfc读卡器选择的se类型的应用进行处理。

优选地,所述处理模块收到来自nfc读卡器的用于选择hce类型的应用的指令时,根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供所述nfc读卡器选择的hce类型的应用进行处理。

本发明实施例提供的技术方案具有如下有益效果:

通过本发明实施例可以使用户动态激活或者禁用存在于se上的应用,提升用户体验。

附图说明

图1是现有技术提供的nfc读卡器、clf与hce、se的关系图;

图2是本发明实施例提供的控制nfc路由的方法框图;

图3是本发明实施例提供的控制nfc路由的装置框图;

图4是本发明实施例提供的初始情况下各个aid的路由情况图;

图5是本发明实施例提供的路由表的变化示意图;

图6是本发明实施例提供的路由表变更后各个aid的路由情况图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图2是本发明实施例提供的控制nfc路由的方法框图,如图2所示,步骤包括:

步骤s101:终端确定用户需要禁用的安全单元se类型的应用。

终端通过将其支持的se类型的应用展示给用户,例如,将se类型的应用的aid和/或图标展示给用户,使用户选择需要禁用的或需要动态选择的se类型的应用,从而确定用户需要禁用的或需要动态选择的se类型的应用。

步骤s102:所述终端根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统。

所述终端将路由表中的默认路由调整为hce,并根据所述需要禁用的se类型的应用,确定不需要禁用的se类型的应用,将所述不需要禁用的se类型的应用写入所述路由表,从而可以将不需要禁用的se类型的应用按照路由表路由至指定目标,将需要禁用的se类型的应用和hce的应用路由至hce。

进一步地,所述终端删除所述路由表中的hce类型的应用。

步骤s103:所述终端根据修改后的路由表,发送来自nfc读卡器的用于选择某一应用的指令。

nfc读卡器向终端发送用于选择se类型的应用的指令时,终端根据该指令,查询所述修改后的路由表中是否存在该se类型的应用,若存在所述se类型的应用,则根据所述修改后的路由表,将所述指令发送至相应的se,以供所述nfc读卡器选择的se类型的应用处理该指令,否则根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供操作系统处理所述指令。

nfc读卡器向终端发送用于选择hce类型的应用的指令时,终端根据该指令,按照所述修改后的路由表中的默认路由,将所述指令发送至hce,以供所述nfc读卡器选择的hce类型的应用处理该指令。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,该程序在执行时,包括步骤s101至步骤s103。其中,所述的存储介质可以为rom/ram、磁碟、光盘等。

图3是本发明实施例提供的控制nfc路由的装置框图,如图3所示,包括:

获取模块10,用于确定用户需要禁用的se类型的应用。具体地说,获取模块10通过将其支持的se类型的应用展示给用户,例如,se类型的应用的aid和/或图表等,使用户选择需要禁用的或需要动态选择的se类型的应用,从而终端确定用户需要禁用的或需要动态选择的se类型的应用。

调整模块20,用于根据所述需要禁用的se类型的应用,对路由表进行修改,使需要禁用的se类型的应用路由到操作系统。具体地说,调整模块20将所述路由表中的默认路由调整为hce,并需要禁用的se类型的应用,确定不需要禁用的se类型的应用,将所述不需要禁用的se类型的应用写入所述路由表。进一步地,调整模块20还用于删除所述路由表中的hce类型的应用。

处理模块30,用于根据修改后的路由表,发送来自nfc读卡器的用于选择某一应用的指令。处理模块30在收到来自nfc读卡器的用于选择se类型的应用的指令时,查询所述修改后的路由表,若所述修改后的路由表中不存在所述se类型的应用,则说明所述se类型的应用是用户需要禁用的或需要动态选择的应用,此时根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供操作系统处理所述指令,若所述修改后的路由表中存在所述se类型的应用,则说明所述se类型的应用是用户希望使用的应用,此时根据所述修改后的路由表,将所述指令发送至se,以供所述nfc读卡器选择的se类型的应用进行处理。处理模块30在收到来自nfc读卡器的用于选择hce类型的应用的指令时,根据所述修改后的路由表中的默认路由,将所述指令发送至hce,以供所述nfc读卡器选择的hce类型的应用进行处理。

下面结合图4至图6对本发明实施例进行进一步说明。

在实际应用过程中,本发明实施例可以包括设置模块(能够实现图3中的获取模块10的功能)和路由控制模块(能够实现图3中的调整模块20和处理模块30的功能)。

设置模块是提供给用户的交互界面,根据设置模块的情况,路由控制模块进行不同的控制。

路由控制模块是实际操作的模块,根据设置模块提供的信息,操作路由表完成本发明实施例所要解决的问题。

设置模块会把当前终端所支持的所有se相关的aid或者应用列举出来展示给用户,同时显示aid或者应用当前的状态,默认情况下所有的aid和应用都是激活的。用户可以选择禁用掉其中的一个或者多个aid或者应用,在用户操作完成后,设置模块把用户的操作结果发给路由控制模块来处理。

路由控制模块会根据用户的设置情况修改路由表的设置。如果用户禁止掉某个aid或者应用,路由控制模块会把默认路由切换为hce,并把除禁用掉的aid或者应用以外的其他aid或者应用都写入到路由表中。这样,如果nfc读卡器去选择(select)用户禁止掉的aid或者应用,那么会被路由到操作系统,操作系统可以根据用户的偏好采取丢弃请求、回复拒绝,或者提示用户是否需要激活相关应用等操作。

图4是本发明实施例提供的初始情况下各个aid的路由情况图,如图4所示,用户终端具备hce功能和多功能集成电路卡(universeintegratecircuitcard,uicc)的se,aid1和aid2分别对应于hce的应用app1和app2,aid3和aid4分别对应于uicc的应用app3和app4。当前默认路由设置为uicc,路由表中存储的信息是aid1和aid2路由到hce。在这种情况下,如果nfc读卡器selectaid1或者aid2,那么会被路由到操作系统,并且由app1或者app2来响应请求(即用于selectaid1或者aid2的指令);如果读卡器selectaid3或者aid4,那么会被路由到uicc,并且由uicc中的app3或者app4来响应请求,这个过程在不经过操作系统介入的情况下完成。如图4所示,aid1和aid2的路由方向如图4中的分别指向app1和app2的箭头所示,nfc读卡器的请求是到达hce的,aid3和aid4的路由方向如图4中的分别指向app3和app4的箭头所示,nfc读卡器的请求是到达uicc的。

如果用户暂时不想使用app2,那么用户可以简单的通过操作系统的设置就可以拦截selectaid2的指令,不发送给app2;但是如果用户暂时不想使用app3,由于selectapp3的指令可以不经过操作系统的处理,直接由uicc中的app3响应,用户是无法控制的,除非关闭nfc的卡模拟功能。

图5是本发明实施例提供的路由表的变化示意图,如图5所示,初始情况下的路由表中,当前默认路由设置为uicc,路由表中存储的信息是aid1和aid2路由到hce。使用本发明实施例进行如下操作:把默认路由切换为hce,在路由表中清除aid1和aid2的信息,然后在路由表中写入aid4路由到uicc。

图6是本发明实施例提供的路由表变更后各个aid的路由情况图,如图6所示,通过上述操作就可以解决图4的问题,对于aid1和aid2的select请求会被路由到hce,由app1和app2处理;对于aid3的select请求会被路由到hce,操作系统可以选择丢弃请求,回复拒绝,或者提示用户是否需要激活相关应用等操作;对于aid4的select请求仍然会被路由到uicc,由app4正常处理。如图6所示,aid1和aid2的路由方向如6图中的分别指向app1和app2的箭头所示,nfc读卡器的请求是到达hce的;aid4的路由方向如图6中的指向app4的箭头所示,nfc读卡器的请求是到达uicc的;aid3的路由方向会被路由到hce,对于这个请求是拒绝,丢弃还是提示用户是可以由操作系统决定的。

se可以包括uicc,sd,ese等多种载体,终端也可以使用其中的一种或者多种se。对于本发明实施例而言,不管初始状态下默认路由是什么,如果需要实现禁用se中的aid或者应用,都可以通过把默认路由设置为hce,然后把除需要禁用的aid或者应用以外的其他所有se的aid或者应用都写入路由表中的方式即可。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

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