HK1214065B - 包括可配置的通知部件的nfc装置及其通信方法 - Google Patents
包括可配置的通知部件的nfc装置及其通信方法 Download PDFInfo
- Publication number
- HK1214065B HK1214065B HK16101824.2A HK16101824A HK1214065B HK 1214065 B HK1214065 B HK 1214065B HK 16101824 A HK16101824 A HK 16101824A HK 1214065 B HK1214065 B HK 1214065B
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- main processor
- notification
- application
- field communication
- Prior art date
Links
Description
技术领域
本发明涉及一种被设计来与外部装置建立近场通信信道的近场通信装置,并且将由外部装置发送的应用数据提供给该装置的第一主处理器。
背景技术
所谓的NFC技术(近场通信)使得其中每一个都包括天线线圈的两个装置能够通过电感耦合来交换数据。NFC信道的建立要求被称为“读取器”的该两个装置之一发射磁场,并且被称为“卡”的另一个装置使得其天线线圈与第一装置之一接近得足以使得磁场在后者中产生天线信号。在另一种已知的、被称为“对等”(或点到点)NFC方法中,每一个装置交替地发射磁场。近些年来,NFC装置已经因此被开发,其被提供以连接到主处理器,并且使得它们能够在读取器、卡模拟或对等模式中执行NFC应用。
图1示意地表示上述类型的传统NFC装置D1的结构。该装置包括CLF(无接触前端)通信接口电路、被指定为NFCC1的NFC控制器、程序和数据存储器MEM1、通信端口P1、P2,这些元件通过总线 BS而耦合。端口P1、P2使得主处理器HP1、HP2能够连接到装置D1。存储器MEM1接收处理器NFCC1的操作系统OS和由处理器NFCC1 执行的路由程序RPGR。接口电路CLF配备有天线线圈AC1,并且被配置为与包括天线线圈AC2的外部装置EDV本身建立NFC信道。
已经在专利或专利申请EP 1 327 222、EP 1 758 049、EP 1 855 229 和EP 1 855389中描述了这样的近场通信装置。EP 1327222教导提供卡模拟模式。EP 1 855 229描述了一种从当装置在卡模拟模式中时接收到的磁场对于该装置供电的方法。EP 1 855 389描述了一种方法,用于路由输入的数据(由接口电路CLF接收的数据),由此,可以确定数据所意欲去往的主处理器。EP 1 327 222描述了一种使用路由表的路由方法。而且,标准或规范更精确地限定了装置的某些特征,诸如:ETSI TS 102 622标准(“智能卡;UICC-无接触前端(CLF)接口;主控制器接口(HCI)”);ETSI TS 102 613标准,其限定了CLF接口电路的操作;或者,NCI规范(“NFC控制器接口”)。
在此假定,主处理器HP1是专用于要求某个安全水平的应用的安全组件,该应用特别是支付应用或直接地或间接地包含支付的应用,并且,处理器HP2是非安全处理器,其具有访问用于与用户进行通信的部件。处理器HP1例如是配备有NFC功能的UICC型卡(通用集成电路卡)或者更一般的安全元件型处理器(专用于NFC应用的安全处理器)。处理器HP2例如是移动电话的基带处理器,并且也控制各种人/机接口外围装置,诸如显示器和输入部件(真实或虚拟键盘)。
图1也表示应用的示例,其中,装置D1在用于主处理器HP1的卡模拟模式中运行,以便使得主处理器HP1能够与诸如销售点的外部装置EDV执行事务。在该事务期间,主处理器HP1和外部装置EDV 交换应用数据,例如由ISO 7816标准描述的类型的APDU(“应用协议数据单元”)数据。更具体地,外部装置发送命令CAPDU(在该标准中指定为C-APDU),并且主处理器HP1发回响应RAPDU(在该标准中被指定为R-APDU)。这样的数据通过装置D1,并且控制器保证它们从接口电路CLF路由到主处理器HP1或反之。
当该事务结束时,主处理器HP1可以向处理器HP2提供关于该事务的信息。处理器HP2可以然后向用户呈现这样的信息。例如,处理器HP2可以可能与声音信号一起显示确认:在日期Y上执行产品“X 的购买事务”达到数量Z。
而且,ETSI TS 102 613标准(版本V9.2.0)在其段落11.2中定义了一种使得两个主处理器能够交换关于事务的信息的方法。该方法定义了连接门、“PRO_HOST_REQUEST”命令和EVT_CONNECTIVITY、 EVT_OPERATION_ENDED、EVT_TRANSACTION事件。该后一种事件以下面指示的方式形成,并且包括所涉及的应用的“AID标识符” (“应用ID”)。
| 说明 | 代码 | 以字节计的长度 |
| AID | '81' | 5至16 |
| 参数 | '82' | 0至255 |
关于事务的执行的信息的该通信取决于由处理器HP1执行的应用程序的配置或通过上述连接功能而启动应用的程序的配置。与事务相关的信息的向第三处理器的通信因此要求当指定应用程序时提供特定的编程线。
发明内容
因此可以期望提供一种用于在考虑到要传送的信息可以从一个应用到另一个不同的情况的同时,传送与事务相关的信息的方法,所述事务不取决于由主处理器执行的应用程序,并且可以对于所有的应用以集中的方式来管理和配置所述事务。
因此,本发明的一些实施例涉及一种近场通信装置,所述近场通信装置被配置为与外部装置建立近场通信信道,并且向第一主处理器提供由所述外部装置发送的应用数据,向第二主处理器提供与向所述第一主处理器提供的应用数据的特性或内容相关的通知,并且根据在所述外部装置向所述第一主处理器发送数据的框架中的应用的特征参数来配置所述通知。
根据一个实施例,所述装置被设计来根据下面的特征参数的至少一个来配置所述通知:在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符;通过其形成所述近场通信信道的技术;或者,通过其形成所述近场通信信道的通信协议。
根据一个实施例,所述装置被设计来向所述第二主处理器提供通知,所述通知包括在应用数据中存在的数据或关于在所述应用数据中存在的数据的信息项。
根据一个实施例,所述装置被配置为向所述第二主处理器提供包含在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符的通知。
根据一个实施例,所述装置被配置为识别由所述外部装置发送的应用数据,根据所述数据识别的结果和所述应用的特征参数来选择数据分析程序,通过所述选择的分析程序来分析所述应用数据,并且根据所述数据分析的结果来配置通知。
根据一个实施例,所述装置被配置为通过下述方式经由一系列识别掩码来识别所述应用数据:将每一个掩码与所述应用数据作比较,直到找出与所述数据对应的掩码。
根据一个实施例,所述装置被配置为通过将所述应用数据与形成所述选择的分析程序或在所述选择的分析程序中包括的数据掩码组合来分析所述应用数据。
根据一个实施例,所述应用数据是在ISO 7816标准的含义内的命令CAPDU。
根据一个实施例,所述装置被配置为:向所述外部装置提供由所述第一主处理器发送的应用数据,向所述第二主处理器提供与由所述第一主处理器发送的所述应用数据的特性或内容相关的通知,并且根据所述特征参数来配置所述通知。
本发明的一些实施例也涉及一种近场通信方法,包括以下步骤:在外部装置和近场通信装置之间建立近场通信信道;向所述近场通信装置的第一主处理器提供由所述外部装置发送的应用数据;向所述近场通信装置的第二主处理器提供与向所述第一主处理器提供的所述应用数据的特性或内容相关的通知;并且,根据在所述外部装置向所述第一主处理器发送数据的框架中的应用的特征参数来配置所述通知。
根据一个实施例,根据下面的特征参数的至少一个来配置所述通知:在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符;无接触通信技术,通过它来形成所述近场通信信道;或者,无接触通信协议,通过它来形成所述近场通信信道。
根据一个实施例,向所述第二主处理器提供的所述通知包括在应用数据中存在的数据或关于在所述应用数据中存在的数据的信息的项目。
根据一个实施例,所述方法包括以下步骤:在接收由所述外部装置发送并且被提供到所述第一主处理器的应用选择命令之后,向所述第二主处理器提供通知,所述通知包含在所述外部装置向所述第一主处理器发送数据的框架中的应用的标识符。
根据一个实施例,所述方法包括以下步骤:识别由所述外部装置发送的应用数据;根据所述数据识别的结果和所述应用的特征参数来选择数据分析程序;通过所述选择的分析程序来分析所述应用数据;并且,根据所述数据分析的结果来配置通知。
根据一个实施例,所述方法包括路由和通知表的使用,用于根据所述应用的一个特征参数来指定所述第一主处理器和所述第二主处理器。
附图说明
以下与附图相关但是不限于附图地描述本发明的一些实施例,在附图中:
- 如上所述的图1示意地示出了传统NFC装置的硬件和软件结构,
- 图2示意地示出了根据本发明的NFC装置的一个实施例的硬件和软件结构,
- 图3示出根据本发明的通知配置模块的一个实施例,
- 图4A、4B描述了使用图3的模块的通知方法的步骤,
- 图5示出根据本发明的通知配置模块的另一个实施例和根据本发明的通知表的一个实施例,
- 图6A、6B描述了使用图5的模块的通知方法的一个实施例的步骤,
- 图7示出根据本发明的通知配置模块的另一个实施例,
- 图8示出根据本发明的通知表的另一个实施例,以及
- 图9示出根据本发明的路由和通知表的一个实施例。
具体实施方式
图2示意地表示被指定为D2的根据本发明的NFC装置的结构。装置D2具有与前述的装置D1相同的总体结构,并且因此包括CLF通信接口电路(“无接触前端”)、NFC控制器“NFCC2”、程序和数据存储器MEM2、通信端口P1、P2,这些元件通过总线BS耦合。端口P1、P2使得主处理器HP1、HP2能够连接到装置D2。存储器MEM2 接收操作系统OS、可以包括路由表RT的路由程序RPGR和根据本发明的通知程序NPGR。接口电路CLF配备有天线线圈AC1,并且被配置为与包括天线线圈AC2的外部装置EDV本身建立近场通信信道。装置D2和主处理器HP1、HP2可以被布置在诸如移动电话的便携装置 MP中。
当主处理器HP1和外部装置EDV执行事务时,控制器NFCC2执行路由程序RPGR,并且向主处理器HP1传送由外部装置EDV发送并且由接口电路CLF接收的命令CAPDU,或者向接口电路CPF发送由处理器HP1发送的响应RAPDU,使得它们被发送到外部装置EDV。控制器也执行根据本发明的通知程序NPGR,并且向处理器HP2发送由处理器HP1和外部装置EDV交换的、与数据CAPDU、RAPDU的特性和/或内容相关的通知。
根据一个实施例,控制器向处理器HP2发送下面的通知:
- N[AIDi]:应用选择通知,其包含在向处理器HP1传送的应用选择命令SELECT_AID中存在的应用标识符AIDi,
- NCj:与由接口电路CLF接收并且被传送到处理器HP1的命令CAPDUj相关的通知,
- NRj:与由处理器HP1发送并且被传送到接口电路CLF的命令RAPDUj相关的通知。
与命令或响应相关的通知NCj、NRj可以包括任何类型的信息或数据,例如:
- 关于命令或响应的特性的信息(例如,命令的类型),
- 关于命令或响应的内容的信息(例如,在命令或响应中存在给定数据的情况),以及/或者
- 在命令或响应中包含的一个或多个数据。
根据在外部装置EDV和主处理器HP1交换数据APDU的框架中的应用的特征参数来产生通知NCj或NRj。在下述的一些实施例中,该特征参数是应用的标识符AID。
为了这个目的,通知程序NPGR包括一组通知配置模块MAi (MA0,MA1,...MAn),每一个模块Mai都与标识符AIDi相关联。在图3上示意地表示了模块MAi的结构。每一个模块都包括:
- 命令识别程序CIP
- 与程序CIP可以使得能够被识别的命令CAPDUj (CAPDU0,CAPDU1,..CAPDUNi)相关的一组命令分析规则(CAR0,CAR1,...CARNi),以及
- 与程序CIP可以使得能够被识别的响应RAPDUj (RAPDU0,RAPDU1,...RAPDUNi)相关的一组响应分析规则RARj(RAR0,RAR1,...RARNi)
每个响应分析规则RARj都与命令分析规则CARj相关联,并且每一个命令分析规则CARj都与可以通过程序CIP识别的命令CAPDUj 相关联。每一个规则CARj使得控制器NFCC2能够产生向处理器HP2 传送的通知NCj。类似地,每一个规则RARj使得控制器能够产生向处理器HP2传送的通知NRj。
因此,因为通过其可以产生通知的规则CARj、RARj可能不同的情况,所以同一命令CAPDUj或同一响应RAPDUj可以根据在它被发送的框架中的应用而产生不同的通知NCj、NRj。
而且,与应用相关联的识别程序CIP不必然被设计来识别该应用易于使用的任何命令和任何响应。当设计程序CIP时,仅可以考虑期望其通知的命令或响应。而且,命令可以产生通知NCj,而对应的响应本身不产生通知NRj,或者反之亦然。
图4A、4B描述了通过通知程序NPGR实现的根据本发明的通知方法的一个实施例。在此假定处理器HP1在卡模拟模式中运行,使得输入的应用数据(被外部装置EDV发送并且被接口电路CLF接收的数据)是命令CAPDU,并且输出的应用数据(由主处理器HP1发送的数据)是响应RAPDU。
参考图4A,该方法包括初始步骤S1:等待由接口电路CLF接收的输入数据CAPDUj的路由。当该数据被路由程序RPGR路由到处理器HP1时,控制器NFCC2前进到步骤S2,其中,确定命令CAPDUj 是否是应用选择命令“SELECT_AID”。如果回答是肯定的,则控制器前进到步骤S3,否则,控制器前进到步骤S6。
在步骤S3中,控制器从命令CAPDUj提取标识符AIDi。在步骤 S4期间,控制器存储命令CAPDUj作为当前命令和标识符AIDi作为当前标识符。在步骤S5期间,控制器向处理器HP2发送包含标识符 AIDi的通知N[AIDi],然后前进到步骤S 12。
当输入数据CAPDUj不是应用选择命令时,在步骤S2后执行步骤S6。假定标识符AIDi已经在前一个步骤S4期间被存储为当前标识符,因为命令SELECT_AID是由外部装置EDV在应用开始处发送的第一命令。因此,在步骤S6中,控制器从所有的模块MA0至Man中选择与当前标识符AIDi相关联的通知配置模块MAi。在步骤S7期间,控制器通过在模块MAi中存在的程序CIP来识别命令CAPDUj,并且在步骤S8中将该命令存储为当前命令。在步骤S9中,控制器访问在模块 MAi中存在的分析规则CARj。在步骤S 10中,处理器使用规则CARj来分析命令CAPDUj,并且产生它在步骤S11中向主处理器HP2发送的通知NCj,然后前进到步骤S12。
可以注意到,将标识符AIDi存储为当前标识符的步骤S4可以包含:存储该标识符在标识符列表中的秩“i”,并且使用与每一个秩i 相关联的索引来作为通知配置模块MAi。类似地,存储作为当前命令的命令CAPDUj的步骤S8可以包含:存储该命令在命令CAPDU0至CAPDUNi的列表(模块MAi的程序CIP使得能够被识别的命令的列表) 中的秩j,该参数j允许找出适用于命令CAPDUj的分析规则CARj、 RARj。
在图4B的步骤S12中,控制器等待由主处理器HP1发送的输出数据RAPDUj被路由程序RPGR路由到接口电路CLF。假定该数据是对于当前命令CAPDUj的响应RAPDUj。当将该输出数据路由时,控制器在步骤S13期间访问与当前标识符AIDi相关联的模块MAi,然后在步骤S14期间访问与当前命令CAPDUj相关联的响应分析规则 RARj。在步骤S15中,控制器使用规则RARj来分析响应RAPDUj,并且产生它在步骤S16中向主处理器HP2发送的通知NRi。控制器然后返回到步骤S1,同时等待新的命令被路由到处理器HP1。
刚才描述的方法可以包括用于防止处理器NFCC2执行某些步骤的例外。在该情况下,可以提供要发送的默认通知。例如,如果在步骤S6看起来未预先存储当前标识符AIDi或没有与存储的当前标识符 AIDi相关联的通知配置模块MAi,则控制器前进到步骤S17a,其中,它向主处理器HP2发送与该例外相关的通知,然后前进到步骤S12。该通知指示例如没有应用标识符与被发送到处理器HP1的命令相关联,或者没有通知配置模块与当前标识符相关联。在步骤S7中,如果程序CIP不使得能够识别命令CAPDUj,则控制器前进到步骤S17b,其中,它向处理器HP2发送与该例外相关的通知,然后前进到步骤S12。类似地,在步骤S9中,如果当前模块MAi不包含任何命令分析规则 CARj,则控制器前进到步骤S17c,其中,它发送与该例外相关的通知,然后返回到步骤S12。在步骤S13中,如果未预先存储当前标识符AIDi,或者如果控制器未找到与当前标识符对应的任何模块MAi,则控制器前进到步骤S17d,其中,它向处理器HP2发送与该例外相关的通知,然后返回到步骤S1。最后,在步骤S14中,如果控制器未在模块MAi 中找到与当前命令CAPDUj相关联的任何响应分析规则RARj,或者如果未预先存储当前命令CAPDUj,则控制器前进到步骤S17e,其中,它向处理器HP2发送与该例外相关的通知,然后返回到步骤S1。
在该方法的一个替代实施例中,同时执行等待输入数据的路由的步骤S1和等待输出数据的路由的步骤S12,使得控制器可以向处理器HP2通知两个连续命令的路由,而处理器HP1不发送对于第一命令的任何响应(无输出数据)。而且,可以注意到,如果在第一命令后接收到第二命令,而没有对于已经被处理器HP1发送的第一命令的响应,则由后者在接收第二命令后发送的响应关于其向处理器HP2发送通知的处理被认为是对于第二命令而不是对于第一命令的响应。
图5示出替代了如上所述的模块MAi的通知配置模块MBi(MB0 至MBn)的一个实施例。每一个模块MBi都包括3列和Ni+1行(可以从一个模块到另一个不同的行的数量)。每一行在第一列中包括命令识别掩码IMj,在第二列中包括分析规则CARj,并且在第三列中包括分析规则RARj。掩码IMj是比特串,其被提供来通过异或函数逐比特地与要识别的命令CAPDU组合。根据一个实施例,每一个掩码IMj 伴随有值掩码,该值掩码意欲通过与函数被应用到命令以从其去除非有效比特或不能使用掩码识别的比特(不可预测的值比特),然后通过异或函数将结果(“清洁”命令)与掩码IMj组合。如果命令识别掩码IMj的每一个比特与命令的对应的比特的组合的结果等于0,则将该命令看作被这个掩码识别,并且在包括掩码IMj的行中读取分析规则CARj、RARj。在另一个实施例中,可以通过保证值掩码和识别掩码的组合函数的、可配置的硬连线的逻辑函数来保证命令的识别。
如图5中所示,通知表AT1也被提供来与模块MAi的每一个应用标识符AIDi相关联。表AT1包括:第一列,其包含标识符AIDi或标识符的秩i;以及,第二列,其包含值A(MBi)(A(MB0),A(MB1)... A(MBn)),其指定与标识符AIDi相关联的模块MBi。这些值可以是在模块MBi的存储器MEM2中的地址或这些模块的被索引地址,例如,在地址索引中的模块的秩。通知表AT1因此形成在应用标识符和对应的通知配置模块之间的查找表。
而且,命令分析规则CARj可以包括数据掩码DMj或比数据掩码更复杂的命令分析程序。事实上,某些已知命令具有位于固定位置处的固定大小的数据字段,其可以通过数据掩码被提取。因此,当规则 CARj包括数据掩码DMj时,通过与逻辑函数将该掩码与命令组合,并且,该组合的结果是要被通知到处理器HP2的数据。然而,其它已知的命令具有可变位置和长度字段,例如,以TLV(“类型长度值”) 格式的命令。然后,需要在这样的命令中定位使得能够找到被搜索的值的标签,其要求提供比简单的数据掩码更复杂的分析程序。
然而,在此假定不能在响应分析规则RARj中使用数据掩码,因为要求分析程序的、一般以TLV或LV格式的、由ISO 7816标准提供的响应RAPDU的可变结构。
图6A、6B表示使用通知配置模块MBi和通知表AT1的通知方法的一个实施例。该方法包括下面的步骤:
- 步骤S20(图6A):控制器等待要被路由程序路由的输入数据CAPDUj,然后前进到步骤S21,
- 步骤S21:通过异或函数(XOR),控制器将命令CAPDUj 与专用于识别命令SELECT_AID的掩码MAID1组合(参见在附录2中的示例)。如果结果等于0,则该命令是标识符选择命令,并且控制器前进到步骤S22,否则控制器前进到步骤S25,
- 步骤S22:通过与逻辑函数,控制器将命令CAPDUj与专用于提取标识符AIDi的掩码MAID2组合,这形成该操作的结果(参见在附录2中的示例),
- 步骤S23:控制器存储掩码MAID1作为当前掩码和标识符 AIDi作为当前标识符或该标识符的秩“i”,
- 步骤S24:控制器向处理器HP2发送包含标识符AIDi的通知N[AIDi],然后前进到步骤S32,
- 步骤S25:通过通知表AT1,控制器选择与当前标识符AIDi 对应的通知配置模块MBi,
- 步骤S26:控制器在模块MAi中读取第一命令识别掩码IM0或如果已经在前一个步骤S26期间读取了掩码则读取下一个掩码IM,
- 步骤S27:控制器可能在已经向其应用值掩码后通过异或函数将命令CAPDUj与掩码IM组合;如果结果是等于0 的比特串,则控制器前进到步骤S28,否则它返回到步骤S26以读取下一个掩码,
- 步骤S28:控制器存储掩码IM作为当前掩码IMj,或者仅存储该掩码的秩“j”,
- 步骤S29:控制器在模块MAi中读取与掩码IMj相关联的分析规则CARj。如果规则CARj包括数据掩码DMj,则控制器前进到步骤S30a;如果规则包括分析程序,则控制器前进到步骤S30b,
- 步骤S30a:控制器通过与逻辑函数将掩码DMi与命令 CAPDUj组合,以提取要通知的命令数据,
- 步骤S30b:控制器通过规则CARj分析命令CAPDUj,以获得要通知的信息的项目,其可以包括从命令提取的数据,
- 步骤S31:控制器向处理器HP2发送包含数据和/或信息的通知NCj,然后进行到步骤S32。
- 步骤S32:(图6B):控制器等待输出数据RAPDUj被路由到接口电路CLF。如上所述,控制器可以在步骤S20同时等待第二命令被路由,以涵盖其中接收到两个同时命令的情况,
- 步骤S33:控制器在当前模块MBi中读取与当前掩码IMj 或与掩码MAID1相关联的规则RARj,
- 步骤S34:控制器使用规则RARj来分析响应RAPDUj(参见在附录2中的示例),并且产生可以包括在响应中存在的数据或由其构成的响应通知,
- 步骤S35:控制器向处理器HP2发送包含这样的信息的通知NRj。
如上,该方法可以包括下面的执行例外的全部或一部分:
- 在步骤S25中,如果未预先存储当前标识符AIDi或如果没有模块MBi与当前标识符相关联,则控制器进行到步骤S36a,其中,它向处理器HP2发送与该例外相关的通知,然后进行到步骤S32,
- 在步骤S26中,如果模块MBi的掩码IM0至IMNi都不对应于当前命令CAPDUj,则控制器进行到步骤S36b,其中,它向处理器HP2发送指示还没有识别命令的通知,然后进行到步骤S32,
- 在步骤S33中,如果控制器未找到任何当前的标识符AIDi,则它进行到步骤S36c,其中,它向处理器HP2发送默认通知,其指示由处理器HP1已经发送了未链接到任何已知应用的不可识别的数据。如果控制器未找到与当前的标识符 AIDi相关联的任何模块MBi,则它进行到步骤S36d,其中,它向处理器HP2发送默认通知,其指示由处理器HP1 已经发送了链接到标识符应用AIDi的不可识别的数据。最后,如果控制器未找到与当前标识符AIDi相关联并且与存储的当前掩码IMj相关联的任何分析规则RARj,则它进行到步骤S36e,其中,它向处理器HP2发送默认通知,其指示由处理器HP1已经发送了不可识别的响应。
图7示出根据本发明的通知配置模块MCi的另一个实施例。识别程序CIP对于所有的模块MCi共同,并且每一个模块MCi仅包括分析规则CARj、RARj。在这个实施例中,模块MCi不再需要作为单独可选择的元件。该通知程序可以直接地访问来自当前标识符AIDi和来自当前命令CAPDUj的分析规则CARj、RARj的对NRi,j。
已经上述了通知方法的示例,其在仅主处理器HP2接收到关于被路由到处理器HP1或被后者发送的数据的通知的情况下被应用到链接到两个主处理器HP1、HP2的装置D2。实际上,该装置可以包括三个主处理器或更多,并且每一个处理器都易于接收与其它主处理器的行为相关的通知。根据本发明的通知方法因此也可以被配置为产生多个通知。
类似地,已经在上面假定主处理器HP1可以一次仅管理一个应用,使得向主处理器HP2发送的通知被附加到被称为“当前标识符”的同一应用标识符。根据一个实施例,处理器HP1和外部装置EDV可以同时进行几个应用。在该情况下,通过逻辑信道将在一个应用的框架中交换的数据与在另一个应用的框架中交换的数据进行区分。因此,ISO 7816标准通过参数化命令或响应的第一字节CLASS(其默认值在一次仅执行一个应用的情况下是0)的比特0和1来提供使用4至20个逻辑信道的可能。“全局平台”规范提供了4个附加比特,其除了被ISO 7816标准提供的4个逻辑信道之外也限定了16个逻辑信道,即,总共 20个信道。
在该情况下,应用标识符的存储不足以选择适用于由装置D2路由的命令和响应的分析规则。事实上,标识符AIDi存在于命令 SELECT_AID中,但是不被包括在接下来的命令或响应中。根据本发明的通知方法在该情况下使用在图8中表示的类型的通知表AT2,其除了包含标识符AID0至AIDn(或它们的秩i)的列或包含通信配置模块MBi的地址A(MBi)的列之外也包括“逻辑信道”列。该“逻辑信道”列初始是空的,并且当包含逻辑信道编号的命令SELECT_AID被接收和被取路由到主处理器时被动态地更新。
在图6A中表示的方法的步骤然后被修改如下:
- 在步骤S23中,当已经从所接收的第一命令SELECT_AID 提取了标识符AIDi时,与这个标识符相关地在通知表AT2 中记录对应的逻辑信道。假定该标识符是“AID0”并且由外部装置选择的逻辑信道编号是“CH01”,在通知表AT2 中,信道CH01与该标识符相关联,如图8上所示。
- 在步骤S23的另一个迭代期间,当从另一个命令 SELECT_AID提取了诸如标识符“AID2”另一个标识符并且假定作为示例在命令中找到逻辑信道编号“CH02”时,在通知表AT2中,该逻辑信道编号CH02与标识符AID2 相关联。
- 然后,当执行步骤S25时,在所接收的命令中存在的逻辑信道编号被用作通知表AT2的输入点,以确定必须选择哪个模块MA0或MA2。因此,在该实施例中不必在步骤S23 中存储标识符AIDi。而是存储与其中可以接收到命令的每一个逻辑信道相关联的模块MA0、MA2的身份(在存储器中的地址或被索引的地址)。
已经上述了根据本发明的路由方法的一些实施例,其中,被选择来配置通知的特征参数是该应用的标识符AIDi或与该标识符相关联的逻辑信道。
在根据本发明的路由方法的其它实施例中,可以使用应用的其它特征参数来配置通知。具体地说,这些参数可以是被路由程序RPGR 使用来确定形成输入数据的目的地点的主处理器的那些。在这样的情况下,因此有可能将由路由程序RPGR使用的路由表RT和由通知程序 NPGR使用的通知表合并,以获得替代传统的路由表RT的路由和通知表RNT。
路由和通知表RNT的一个具体示例被在附录1中的表1描述,并且在图9中被表示。在此与NFC论坛(TC DEV NCI 00058R013 NFCForum TS NCI 1.0)的NCI规范相结合设计表RNT。
NCI规范段落5.3当NFC装置在“收听”模式中时基于下面三个参数来推荐路由方法:
- 应用标识符AID,
- 如果不能找到标识符AID,则协议,
- 如果不能确定协议,则技术。
在NFC论坛的“数字1.0”规范中定义了“协议”和“技术”。该协议可以是“Type1Tag”、“Type2Tag”、“Type3Tag”、“Type4ATag”、“Type4B”、“ISO-DEP”、“NFC-DEP”。该技术可以是:“类型A”、“类型B”或“类型F”,它们全部使用13.56MHz 的载波频率;或者任意其它所谓的“拥有者”协议,例如,ISO15。NCI 规范定义了作为一组发送参数的技术,该一组发送参数例如是RF载波、通信模式、比特率、模块方案、比特级编码、帧格式、协议等。
该路由和通知表RNT因此包括用于配置路由和通知的下面的特征参数:
- AID:应用标识符,
- “PROT”:在NCI规范的含义内的“协议”,
- “TECH”:在NCI规范的含义内的“技术”。
- “BAT”,装置D2(在图2上未示出)的电池的状态。
在如上所述命令SELECT_AID中找到标识符AID(步骤S3或 S22)。然而,路由程序RPGR在此检测标识符AID以用于将输入数据路由的目的,并且这样的检测因此不需要被通知程序再一次执行。因此可以提供通知程序的简化。一般而言,该通知程序和路由程序可以基于应用的相同特征参数在路由和通知的管理的框架中被合并。在NCI 规范中提供的所谓的“发现”步骤期间检测到协议。也在“发现”步骤期间检测到技术。更精确地,在标题为“行为”的章节中,该规范提供了下面的步骤:1–技术检测;2–冲突处理(选用);3–该装置的激活;4–数据交换;5–装置的失活。在步骤1中识别技术,并且在步骤1和3中识别协议。
电池的状态可以是“导通”(具有满意的充电水平的电池)、“低”(低于阈值的电平)或“截止”(空电池或具有不足以使得装置的特定单元工作的电池)。装置D2可以通过从由外部装置EDV发射的磁场获取能量来具有电池空的操作模式,如在EP 1 855 229中所述。在一种替代方式中,可以考虑在电池的状态和主处理器的状态(用于启动的“导通”和用于失活的“截止”)之间的组合。应当然后提供与主处理器的状态相关的另外的列。
而且,路由和通知表RNT包括下面的变量,该变量根据特征参数 AID、PROT、TECH、BAT而改变:
- TargProc1:指定用于输入数据的路由的目标处理器。在此假定装置D2耦合到三个主处理器HP1、HP2、HP3,处理器HP3在图2上以虚线被表示,并且连接到端口P3,
- TargProc2:指定用于发送根据本发明的通知的目标处理器。
- A(MB):该列包含如上所述的值A(MB0)、A(MB1)、...、 A(MBn),其指定模块MBi,由此,有可能配置向处理器 TargProc2发送的通知。
NCI规范提供如果已知标识符AID则从标识符AID或如果未知标识符则从协议(某些NFC应用不使用标识符AID)或甚至如果不能确定标识符AID和协议则从技术确定目标处理器(在此为“TargProc1”) 的身份。
由表RNT示出的路由因此考虑三种可能:已知标识符AID、未知标识符但是已知协议、未知标识符和协议但是已知技术。在表RNT中包含的指定“PROT0”、“PROT2”、“PROT4”、“TECH1”、“TECH2”是示意性的,并且每一个对应于上述协议或技术之一或任何其它适用技术或协议。
该路由和通知表的架构示出用于确定用于输入数据的路由的目标处理器TargProc1的规则也可以用于确定通知被发送到的处理器和要用于配置这些通知的通知配置模块。
根据未示出的一个实施例,路由和通知表RNT包括列“TargProc3”,其指定接收通知的第二处理器。它可以因此包括第二列“MB”,以指定可以用于产生被发送到由列“TargProc3”指定的处理器的通知的通知配置模块。在该情况下,可以根据通知被发送到的处理器来不同地配置该通知。
附录1
形成描述的组成部分
表1(路由和通知表RNT)
附录2
形成描述的组成部分
1–用于识别命令SELECT-AID的识别掩码的示例
1.1–命令SELECT-AID的格式
| CLA | INS | P1 | P2 | Lc | Inf | Le |
| 00 | A4 | 04 | 00 | xx | AID | 00 |
(十六进制表示)
命令的识别:
1.2–值掩码VM
(二进制表示)
1.3–识别掩码IM
(二进制表示)
1.4–要通过掩码进行的操作
Match1=[要分析的命令]XOR VM(XOR=“异或”)
Match2=Match1 AND IM(AND=“与”函数)
如果Match2=00 00 00 00…,(十六进制),则识别命令。
2–用于提取命令SELECT-AID的标识符AID的掩码的示例
2.1–命令的示例
| CLA | INS | P1 | P2 | Lc | Da0 | Da1 | Da2 | Da3 | Da4 | Da5 | Da6 | Le |
| 00 | A4 | 04 | 00 | 07 | A0 | 00 | 00 | 00 | 03 | 10 | 10 | 00 |
(十六进制表示)
2.2–掩码的示例
该参数Lc指定在命令APDU的数据字段中存在的字节的数量。在这个示例中,使用参数Lc=0来计算掩码。
| CLA | INS | P1 | P2 | Lc | D0 | D1 | D2 | D3 | D4 | D5 | D6 | Le |
| B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | B12 |
| 00 | 00 | 00 | 00 | 00 | FF | FF | FF | FF | FF | FF | FF | 00 |
(十六进制表示)
Bx=命令的秩x的字节
00=不使用的字节
FF=要使用的字节
2.3–提取标识符
AID_TEMP=[要分析的命令]AND掩码
AID=字节B5直到字节B(5+Lc-1)
AID=字节B5直到字节B11
3–用于识别命令CAPDUj的识别掩码的示例
3.1命令的示例
“READ RECORD(读取记录)”命令(MasterCard/PayPass事务命令)。命令的一般格式:
| 字段 | 字段值 | 描述 |
| CLA | 00 | 用于支付应用的可以等于00的Class字节 |
| INS | B2 | 命令(Command)=READ RECORD |
| P1 | 01 | P1(“记录编号”) |
| P2 | xxxx x100 | P2(“参考控制参数”) |
| Le | 00 | 响应长度 |
上面的字段P2以二进制表达,并且其它以十六进制表达。值“x”的比特是可变值的比特。
这样的命令对于每一个字段¨P1(“记录编号”)要求不同掩码,因为具有字段P1的每一个READ RECORD命令调用不同的响应。掩码的数量取决于要提取和要向主处理器通知的数据的数量。在这个示例中,掩码可以如下:
3.2值和识别掩码的示例
| CLA | INS | P1 | P2 | Lc | Inf | Le |
| 0000 0000 | 1011 0010 | 0000 0001 | xxxx x 100 | 0000 0000 |
(二进制表示)
该掩码是值掩码(比特“x”:要忽略的比特)和识别掩码(关于0或1的比特),它可以被分解为:值掩码,其中,比特“x”等于0,并且所有其它值等于1,该值掩码通过与函数与要分析的命令组合;以及,识别掩码,其中,所有的比特“x”被替换为0,而保持其它比特,以通过异或函数与和值掩码的组合的结果组合。
4–用于分析响应的分析程序的示例(分析规则RARj)
响应的示例:
响应为TLV格式(类型-长度-值)。为了分析其内容,必须定位使得能够找出被搜索的值的标签。
用于“占位符的名称”字段的搜索的分析程序的示例:
该程序必须执行下面的步骤:
-查看SW1-SW2=‘9000’
-在响应的开始处定位标签‘70’
-在标签‘70’的值中定位标签‘56’
该值在包含以特定格式(在此,因为与磁条卡相关的历史原因而没有TLV格式,但是具有字段隔离符)的名称的“Track 1 data(轨道 1数据)”字段中。在这个示例中,可以向接收通知的主处理器发送“Track 1 data”,因为用于提取名称的分析将在通知的框架中太具体,所以接收到通知的主处理器可以如此进行。
Claims (13)
1.一种近场通信装置,包括通信接口电路、控制器、存储器和通信端口,并且被连接到第一主处理器和第二主处理器,其中所述近场通信装置被配置为:经由所述通信接口电路与外部装置建立近场通信信道、并且向所述第一主处理器提供由所述外部装置发送的应用数据,
其中,所述控制器被配置为,一旦接收到通过所述外部装置发出的应用数据:
-识别由所述外部装置发送的所述应用数据,
-根据所述数据识别的结果并且根据在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的特征参数来选择数据分析程序,
-通过所选择的分析程序来分析所述应用数据,
-根据所述数据分析的结果来配置通知,所述通知关于提供给所述第一主处理器的所述应用数据的特性或内容,以及
-向所述第二主处理器提供所述通知。
2.根据权利要求1所述的近场通信装置,被设计为根据下面的特征参数的至少一个来配置所述通知:
-在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符;以及
-通过其形成所述近场通信信道的技术;或者,
-通过其形成所述近场通信信道的通信协议。
3.根据权利要求1和2之一所述的近场通信装置,被配置为向所述第二主处理器提供通知,该通知包括:在应用数据中存在的数据或关于在所述应用数据中存在的数据的信息项。
4.根据权利要求1至2之一所述的近场通信装置,被配置为向所述第二主处理器提供通知,该通知包含所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符。
5.根据权利要求1和2之一所述的近场通信装置,被配置为通过一系列识别掩码通过下述方式来识别所述应用数据:将每一个掩码都与所述应用数据作比较,直到找到与所述数据对应的掩码。
6.根据权利要求1和2之一所述的近场通信装置,被配置为通过下述方式来分析所述应用数据:将所述应用数据与形成所选择的分析程序或包括在所选择的分析程序中的数据掩码进行组合。
7.根据权利要求1和2之一所述的近场通信装置,其中,所述应用数据是在ISO 7816标准的含义内的命令。
8.根据权利要求1和2之一所述的近场通信装置,被配置为:
-向所述外部装置提供由所述第一主处理器发送的应用数据,
-向所述第二主处理器提供与由所述第一主处理器发送的所述应用数据的特性或内容相关的通知;并且
-根据所述特征参数来配置所述通知。
9.一种在近场通信装置中实施的近场通信方法,所述近场通信装置包括通信接口电路、控制器、存储器和通信端口,并且被连接到第一主处理器和第二主处理器,所述方法包括以下步骤:
-经由所述通信接口电路在外部装置和近场通信装置之间建立近场通信信道;
-向所述近场通信装置的所述第一主处理器提供由所述外部装置发送的应用数据;
所述方法进一步包括以下步骤:
一旦接收到通过所述外部装置发出的应用数据:
-识别由所述外部装置发送的所述应用数据,
-根据所述数据识别的结果并且根据在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的特征参数来选择数据分析程序,
-通过所选择的分析程序来分析所述应用数据,
-根据所述数据分析的结果来配置通知,所述通知关于提供给所述第一主处理器的所述应用数据的特性或内容,以及
-向所述第二主处理器提供所述通知。
10.根据权利要求9所述的方法,其中,根据下面的特征参数的至少一个来配置所述通知:
-在所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符;以及
-通过其形成所述近场通信信道的无接触通信技术;或者,
-通过其形成所述近场通信信道的无接触通信协议。
11.根据权利要求9和10之一所述的方法,其中,向所述第二主处理器提供的所述通知包括:在应用数据中存在的数据或关于在所述应用数据中存在的数据的信息项。
12.根据权利要求9和10之一所述的方法,包括以下步骤:一旦接收到由所述外部装置发送并且被提供到所述第一主处理器的应用选择命令,就向所述第二主处理器提供通知,该通知包含所述外部装置向所述第一主处理器发送数据的框架中的所述应用的标识符。
13.根据权利要求9和10之一所述的方法,包括:根据所述应用的至少一个特征参数来使用路由和通知表,所述通知表指定了所述第一主处理器和所述第二主处理器。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1260850 | 2012-11-14 | ||
| FR1260850A FR2998121B1 (fr) | 2012-11-14 | 2012-11-14 | Dispositif nfc comprenant des moyens de notification configurables |
| PCT/FR2013/052742 WO2014076427A1 (fr) | 2012-11-14 | 2013-11-14 | Dispositif nfc comprenant des moyens de notification configurables |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1214065A1 HK1214065A1 (zh) | 2016-07-15 |
| HK1214065B true HK1214065B (zh) | 2021-02-26 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104854883B (zh) | 包括可配置的通知部件的nfc装置及其通信方法 | |
| US10902411B2 (en) | Host-formatted select proximity payment system environment response | |
| US11334862B2 (en) | Terminal transaction method, and terminal | |
| CN205407821U (zh) | 近场通信设备 | |
| US11120424B2 (en) | Systems and methods for providing near field communications | |
| US10397276B2 (en) | Secure element management method and terminal | |
| KR101788691B1 (ko) | 근접장 통신에서 보안 요소의 선택을 구현하기 위한 방법, 모바일 단말기, 및 pos 머신 | |
| CN101681442A (zh) | 动态可编程rfid应答器 | |
| JP6516133B2 (ja) | 通信デバイス及び通信システム | |
| CN105592403B (zh) | 一种基于nfc的通信装置和方法 | |
| CN104685520A (zh) | 用于保护在nfc系统中传输的敏感数据的方法 | |
| CN103414497B (zh) | 为电子设备之间通信借助转发的控制方法和相应的设备 | |
| HK1214065B (zh) | 包括可配置的通知部件的nfc装置及其通信方法 | |
| CN117997382A (zh) | 一种智能选卡方法、装置和电子设备 | |
| CN106462845B (zh) | 一种非接触前端的配置方法及终端 | |
| EP4030632A1 (en) | Multi-use near field communication front end on a point of sale system | |
| CN116720859A (zh) | 硬钱包的交易方法、配置方法、硬钱包及智能终端 | |
| JP2008129822A (ja) | 個体認証に基づいた通信が可能となる通信システム | |
| HK1224879A (zh) | 一种基於nfc的通信装置和方法 | |
| HK1224879A1 (zh) | 一種基於nfc的通信裝置和方法 | |
| HK1224879B (zh) | 一种基於nfc的通信装置和方法 | |
| HK1186552A (zh) | 基於扩展参数集的安全性信息交互系统、装置及方法 |