1.一种基于NFC的通信装置,其特征在于,包括:
在所述通信装置的可信执行环境中设置的NFC模块,所述可信执行环境独立于该通信装置的多媒体执行环境,其中,
该NFC模块包括通信模块和协议模块,
该通信模块用于建立与另一NFC装置的连接,
该协议模块用于解析所述通信装置与所述另一NFC装置的通信数据,
其中,所述NFC模块用于执行安全相关的应用的NFC功能,
其中,安全相关的应用是安装在可信执行环境下的应用或者安装在多媒体执行环境下的应用,以及
当该安全相关的应用是安装在多媒体执行环境下的第一应用时,借助与该第一应用对应的在可信执行环境下的另一应用来调用所述NFC模块,从而实现该第一应用的NFC功能,当该安全相关的应用是安装在可信执行环境下的第二应用时,通过在可信执行环境中调用所述NFC模块来实现该第二应用的NFC功能,
其中,还包括:
在所述多媒体执行环境中设置的虚拟NFC模块,该虚拟NFC模块用于模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。
2.如权利要求1所述的通信装置,其特征在于,
所述协议模块中还设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。
3.一种基于NFC的通信方法,其特征在于,包括:
在所述通信装置的可信执行环境中设置NFC模块,所述可信执行环境独立于该通信装置的多媒体执行环境,其中,
在该NFC模块中设置通信模块和协议模块,
利用该通信模块建立与另一NFC装置的连接,
利用该协议模块解析所述通信装置与所述另一NFC装置的通信数据,
其中,利用所述NFC模块执行安全相关的应用的NFC功能,
其中,安全相关的应用是安装在可信执行环境下的应用或者安装在多媒体执行环境下的应用,以及
当该安全相关的应用是安装在多媒体执行环境下的第一应用时,借助与该第一应用对应的在可信执行环境下的另一应用来调用所述NFC模块,从而实现该第一应用的NFC功能,当该安全相关的应用是安装在可信执行环境下的第二应用时,通过在可信执行环境中调用所述NFC模块来实现该第二应用的NFC功能,
其中,还包括:
在所述多媒体执行环境中设置虚拟NFC模块,
利用该虚拟NFC模块模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。
4.如权利要求3所述的通信方法,其特征在于,
还在所述协议模块中设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。
一种基于NFC的通信装置和方法\n技术领域\n[0001] 本发明涉及NFC通信,并且尤其涉及基于NFC的通信装置和方法。\n背景技术\n[0002] 可信执行环境TEE(Trusted Executive Environment)技术能够为诸如智能终端等通信装置提供受到硬件保护隔离的可信执行环境,在该环境下,智能终端上的与安全相关敏感性操作基于TEE完成,从而提高安全性。\n[0003] 近距离无线通信NFC(Near Field Communication)技术用于非接触式识别,使得能够在移动设备、消费类电子产品、PC和智能控件工具之间进行近距离无线通信。\n[0004] 现有技术中,NFC功能在多媒体执行环境(例如安卓、IOS等)下实现,这将破坏可信执行环境的安全闭环。例如,金融交易等安全支付信息需要经由不安全的多媒体执行环境传输到安全的可信执行环境,期间敏感信息可能会被窃取或者篡改。\n发明内容\n[0005] 本发明公开基于NFC的通信装置,包括:在所述通信装置的可信执行环境中设置的NFC模块,所述可信执行环境独立于该通信装置的多媒体执行环境,其中,该NFC模块包括通信模块和协议模块,该通信模块用于建立与另一NFC装置的连接,该协议模块用于解析所述通信装置与所述另一NFC装置的通信数据。\n[0006] 在一个示例中,所述NFC模块用于执行安全相关的应用的NFC功能。\n[0007] 在一个示例中,安全相关的应用是安装在可信执行环境下的应用或者安装在多媒体执行环境下的应用,以及当该安全相关的应用是安装在多媒体执行环境下的第一应用时,该NFC模块经由与该第一应用对应的在可信执行环境下的另一应用来实现该第一应用的NFC功能。\n[0008] 在一个示例中,通信装置还包括,在所述多媒体执行环境中设置的虚拟NFC模块,该虚拟NFC模块用于模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。\n[0009] 在一个示例中,所述协议模块中还设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。\n[0010] 本发明还公开基于NFC的通信方法,包括:\n[0011] 在所述通信装置的可信执行环境中设置NFC模块,所述可信执行环境独立于该通信装置的多媒体执行环境,其中,\n[0012] 在该NFC模块中设置通信模块和协议模块,\n[0013] 利用该通信模块建立与另一NFC装置的连接,\n[0014] 利用该协议模块解析所述通信装置与所述另一NFC装置的通信数据。\n[0015] 在一个示例中,利用所述NFC模块执行安全相关的应用的NFC功能。\n[0016] 在一个示例中,安全相关的应用是安装在可信执行环境下的应用或者安装在多媒体执行环境下的应用,以及当该安全相关的应用是安装在多媒体执行环境下的第一应用时,利用该NFC模块经由与该第一应用对应的在可信执行环境下的另一应用来实现该第一应用的NFC功能。\n[0017] 在一个示例中,方法还包括,\n[0018] 在所述多媒体执行环境中设置虚拟NFC模块,\n[0019] 利用该虚拟NFC模块模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。\n[0020] 在一个示例中,还在所述协议模块中设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。\n[0021] 本发明的能够提高NFC通信的安全性,通过在TEE中设置仅仅实现部分传统协议栈的NFC模块减轻了TEE环境的存储负担,增加了NFC通信的灵活性。\n附图说明\n[0022] 在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明。本领域技术人员应当理解的是,附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。\n[0023] 图1是根据本发明实施例的基于NFC的通信装置的示意图。\n[0024] 图2是根据本发明实施例的基于NFC的通信装置的示意图。\n具体实施方式\n[0025] 下面参照附图,对本发明的具体实施方式作进一步的详细描述。应当理解的是,可对所描述的实施例进行结构的和功能的修改。另外,可针对任何给定的或特定的应用所期望和有利的那样,一个实施例的一个或多个特征可以与另一个实施例的一个或多个特征相组合。\n[0026] 图1是根据本发明实施例的基于NFC的通信装置的示意图。如图所示,基于NFC的通信装置(例如,智能移动通信终端)包括NFC模块以实现该通信装置的NFC功能。该NFC模块被设置在通信装置的可信执行环境中。如图所示,可信执行环境独立于该通信装置的多媒体执行环境。可信执行环境(TEE)可以用于执行特定应用,例如安全应用。多媒体执行环境(REE)例如Android操作系统可以用于执行除特定应用的其它应用。其中,该NFC模块包括通信模块和协议模块,该通信模块用于建立与另一NFC装置的连接,该协议模块用于解析所述通信装置与所述另一NFC装置的通信数据,协议模块用于执行NFC协议以实现NFC通信。可以理解,图1中的另一NFC装置可以是任意具备NFC功能的实体,例如具备NFC功能的IC卡、银行卡、移动通信设备(例如,移动电话)、智能终端(例如,平板电脑)等。\n[0027] 图2是根据本发明实施例的基于NFC的通信装置的示意图。根据该实施例,设置在通信装置的可信执行环境中第二NFC模块可以用于执行安全相关的应用的NFC功能。安全相关的应用是安装在可信执行环境下的应用,例如图2中的第二应用或者安装在多媒体执行环境下的应用,例如图2中的第一应用。对于第二应用,当需要执行NFC功能时,可以在可信执行环境框架中调用NFC应用程序接口调用第二NFC模块。在该情况下,第二NFC模块经由可信执行环境框架中的NFC应用程序接口实现第二应用的NFC功能。对于第一应用(例如,支付应用),当需要执行NFC功能时,可以在可信执行环境框架中调用与该第一应用对应的在可信执行环境下的另一应用,再由该另一应用经由NFC应用程序接口调用第二NFC模块。在该情况下,第二NFC模块经由可信执行环境框架中的NFC应用程序接口实现另一应用的NFC功能。这里,NFC应用程序接口(API),例如Open NFC、NCI协议等相关API)可以根据实际使用情况被定制。\n[0028] 继续参照图2,根据本发明的一个实施例,可以在所述多媒体执行环境中设置的虚拟NFC模块,该虚拟NFC模块用于模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。例如,如图所示第一操作系统(例如,Android系统)中的普通应用(非安全应用),可以通过第一操作系统的NFC应用程序接口调用第一NFC模块来实现NFC功能。这里,第一NFC模块可以是传统NFC模块,其实现NFC传统协议栈。当该普通应用要执行NFC功能时,其请求通过虚拟NFC模块被发送至NFC控制器(NFCC),由NFC控制器在可信执行环境下实现数据处理。\n[0029] 根据本发明的一个实施例,所述协议模块中还可以设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。由此,经由NFC控制器的包括应用ID的信息传送,协议模块能够根据应用ID快速地寻找到该应用所在系统环境(例如,多媒体执行环境、可信执行环境、安全载体环境)及其应用名,提高NFC通信效率。例如,在NFC通信信息到达后,协议模块将对其进行解析,获取应用ID,然后可以通过NFC路由表查询到该应用的系统环境和应用名,使得NFC控制器能够迅速与该应用建立会话。此外,协议模块还可以在应用被更新时,更新NFC路由表信息。此外,除了应用名与系统环境,路由表还可以将与应用相关的其它因素与应用ID关联。\n[0030] 根据本发明的一个或多个其它实施例,该NFC模块还可以包括SE(Security Element)管理模块,用于实现通信数据与SE(例如,SIM卡、SSD卡等)的交互,例如,数据保存、密钥存储。该NFC模块还可以包括NFC管理模块,用于对NFC控制器进行配置和管理,例如NFC功能的启动和关闭、NFC功能复位、NFC业务模式设置。\n[0031] 根据本发明的一个或多个其它实施例,该NFC模块中的协议模块可以用于实现读写器模式和卡模拟模式。以及通过多媒体执行环境(REE)中的传统NFC协议栈实现P2P模式。\n本发明的NFC模块可以基于传统NFC协议栈架构的核心协议栈,在一个示例中,考虑TEE可信执行环境的安全需求和匹配TEE可信执行环境的存储情况,NFC模块的NFC协议栈可以是传统NFC协议栈架构的部分。\n[0032] 协议模块可以支持ISO7816和ISO14443两种协议。其中,ISO14443协议用于NFC模块与外界读卡器间的非接通讯,而ISO7816协议用于NFC模块与终端SE(如SIM卡、SSD卡等)间的数据通讯。\n[0033] 如上所述,该NFC模块包括通信模块和协议模块,该通信模块用于建立与另一NFC装置的连接,该协议模块用于解析所述通信装置与所述另一NFC装置的通信数据。通信模块还可以用于确定基于NFC的通信模式。以下将示例性地描述通过该NFC模块实现的几种NFC通信模式。\n[0034] 1. NFC读卡器模式\n[0035] 在该模式中,协议模块通过NFC API从TEE上的NFC可信应用接收读写应用数据,并且根据读卡器模块数据格式对读写应用数据进行封装。然后,通信模块将封装的数据发送给NFCC。最后,由NFCC通过天线向外部非接卡发送封装的数据。\n[0036] 2. REE端的读卡器模式\n[0037] 在该模式中,在TEE端的NFCC接收从REE转发的应用数据,NFCC将接收的应用数据处理后通过天线向外部非接卡发送。这里,从REE转发的应用数据可以由Android系统中的非安全应用生成,该应用数据可以由REE端的协议栈封装,并经由虚拟NFC模块被转发至NFCC处理。\n[0038] 3. NFC卡模拟模式\n[0039] 在该模式中,通信模块通过NFCC接收来自外部读卡器发送的数据,协议模块可以根据该数据中的应用ID通过NFC路由表查找相应的应用。然而,协议模块将按照卡模拟数据格式解析由读卡器发送的数据。可选地,当来自读卡器的请求需要SE参与时,可以通过SE管理模块将该请求发送给相应的SE,之后通过SE管理模块将结果反馈给外部读卡器。\n[0040] 4. NFC P2P模式\n[0041] 该模式可以通过以下方式在两个NFC设备之间建立连接。首先,由NFCC接收外部NFC设备发送的NFC通信请求,NFC模块中的协议模块解析该请求。当协议模块判断该请求属于P2P模式时,将该请求转发至REE中的虚拟NFC模块。虚拟NFC模块再将该请求转发至REE中的传统NFC协议栈。传统协议栈对该请求进行处理以建立两个NFC设备之间的连接。\n[0042] 根据上述公开,上述的一个或多个由模块实现的功能或者步骤可以在本发明的方法实施例中的一个或多个步骤中被实施。\n[0043] 本发明还公开基于NFC的通信方法,包括:在所述通信装置的可信执行环境中设置NFC模块,所述可信执行环境独立于该通信装置的多媒体执行环境,其中,在该NFC模块中设置通信模块和协议模块,利用该通信模块建立与另一NFC装置的连接,利用该协议模块解析所述通信装置与所述另一NFC装置的通信数据。\n[0044] 在一个示例中,利用所述NFC模块执行安全相关的应用的NFC功能。\n[0045] 在一个示例中,安全相关的应用是安装在可信执行环境下的应用或者安装在多媒体执行环境下的应用,以及当该安全相关的应用是安装在多媒体执行环境下的第一应用时,利用该NFC模块经由与该第一应用对应的在可信执行环境下的另一应用来实现该第一应用的NFC功能。\n[0046] 在一个示例中,方法还包括,在所述多媒体执行环境中设置虚拟NFC模块,利用该虚拟NFC模块模拟设置在所述可信执行环境中的NFC硬件,以便使得在所述多媒体执行环境中的应用的NFC功能能够由所述NFC硬件处理。\n[0047] 在一个示例中,还在所述协议模块中设置NFC路由表,该路由表将应用ID与系统环境、应用名关联。\n[0048] 通过以上实施方式的描述,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
法律信息
- 2020-03-31
- 2016-06-15
实质审查的生效
IPC(主分类): H04W 4/00
专利申请号: 201410830958.3
申请日: 2014.12.29
- 2016-05-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-08-28
|
2013-03-02
| | |
2
| |
2014-04-23
|
2014-01-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |