CN104253840B - 用于支持多种类型安全载体之间通信的装置及其通信方法 - Google Patents
用于支持多种类型安全载体之间通信的装置及其通信方法 Download PDFInfo
- Publication number
- CN104253840B CN104253840B CN201310265687.7A CN201310265687A CN104253840B CN 104253840 B CN104253840 B CN 104253840B CN 201310265687 A CN201310265687 A CN 201310265687A CN 104253840 B CN104253840 B CN 104253840B
- Authority
- CN
- China
- Prior art keywords
- safety barrier
- layer
- communication
- communication protocol
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 398
- 238000004891 communication Methods 0.000 title claims abstract description 393
- 230000004888 barrier function Effects 0.000 title claims abstract description 325
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 230000008878 coupling Effects 0.000 claims abstract description 14
- 238000010168 coupling process Methods 0.000 claims abstract description 14
- 238000005859 coupling reaction Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 239000003550 marker Substances 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000002093 peripheral effect Effects 0.000 description 52
- 238000007726 management method Methods 0.000 description 32
- 241001269238 Data Species 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 102000009142 CRC domains Human genes 0.000 description 2
- 108050000006 CRC domains Proteins 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/08—Upper layer protocols
- H04W80/085—Upper layer protocols involving different upper layer protocol versions, e.g. LCS - SUPL or WSN-SOA-WSDP
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种用于支持多种类型安全载体之间通信的装置及其通信方法,属于信息安全交互技术领域。该装置包括协议转换器,协议转换器包括:用于对应与每种安全载体耦接的多个通信接口;以及与每个通信接口耦接的管理模块;其中,不同类型的安全载体遵循不同的底层通信协议,每个通信接口被配置为与其所对应耦接的安全载体遵循相同的底层通信协议;管理模块被配置为遵循同一上层通信协议以实现任一底层通信协议与上层通信协议之间的协议转换,并且管理模块用于为任意两个所述通信接口动态建立连接通道,从而实现对应的任意两种不同类型的所述安全载体之间的通信。所述安全载体的应用程序的灵活性、扩展性和多样性得到大大提升。
Description
技术领域
本发明属于信息安全交互技术领域,涉及不同类型的安全载体(Secure Element,SE)之间的通信交互,具体涉及用于支持多种类型安全载体之间通信的装置及其通信方法。
背景技术
安全载体SE是一种具有计算和存储功能的独立硬件模块或虚拟软件模块,其内设计有许多硬件和/或软件模块以保护其所存储数据的安全,并提供相应的安全机制服务供外界的设备使用;具体地,SE可包括SIM卡、智能SD(SSD)卡、NFC(近场无线通信)芯片等这些具有实际物理硬件的载体,也包括那些虚拟化出来的载体,即虚拟安全载体。
以目前的手机终端为例,其与外部的安全设备终端进行交互通信时,都是用手机本身内部嵌入的安全载体(例如SSD卡)等用来提供相应的通信安全机制服务和相应的安全储存访问功能等。然而,由于这些安全载体无法直接同外部的终端互通,若需要与这些外部的终端交互时,都需要在手机终端上开发一个客户程序,安全载体上的应用程序只能是服务于该客户程序的服务程序,造成了这些安全载体都只能属于手机的一种移动终端来使用,极大地限制了安全载体应用的灵活性、扩展性和多样性。
另外,随着市场的发展和各个行业的需要,在手机终端内配备有多种SE,也将是不可避免的情况,例如现在市场上已经存在的SIM卡和SSD卡。而当有多种SE时,多种SE之间的相互通信以及对应的相互服务,目前暂无相应的解决方案。
发明内容
本发明的目的在于,实现多种不同种类型的SE之间的通信,以扩大每种SE的应用的灵活性、扩展性和多样性。
为实现以上目的或者其他目的,本发明提供以下技术方案。
按照本发明的一方面,提供一种用于支持多种类型安全载体之间通信的装置,包括协议转换器,所述协议转换器包括:
用于对应与每种安全载体耦接的多个通信接口;以及
与每个所述通信接口耦接的管理模块;
其中,不同类型的安全载体遵循不同的底层通信协议,每个所述通信接口被配置为与其所对应耦接的安全载体遵循相同的底层通信协议;
所述管理模块被配置为遵循同一上层通信协议以实现任一所述底层通信协议与所述上层通信协议之间的协议转换,并且所述管理模块用于为任意两个所述通信接口动态建立连接通道,从而实现对应的任意两种不同类型的所述安全载体之间的通信。
按照本发明一实施例的装置,其中,相互通信的任意两种不同类型的所述安全载体中,包括用于主动发起通信连接的第一安全载体和被动通信连接的第二安全载体,所述第一安全载体中配置有第一上层通信协议层以实现该第一安全载体遵循的底层通信协议与所述上层通信协议之间实现协议转换。
优选地,每个所述安全载体中设置有用于遵循其相应的底层通信协议的第一底层通信协议层;
每个所述通信接口中设置有用于与对应耦接的安全载体的第一底层通信协议层相对应的第二底层通信协议层;
所述管理模块中设置有多个第二上层通信协议层;每个第二上层通信协议层用于实现一种所述底层通信协议与所述上层通信协议之间的协议转换。
优选地,所述第一安全载体基于相应的第一上层通信协议层、第一底层通信协议层、第二底层通信协议层、第二上层通信协议层实现与所述管理模块建立通信连接。
优选地,所述第二安全载体基于相应的第一底层通信协议层、第二底层通信协议层、第二上层通信协议层实现与所述管理模块建立通信连接。
按照本发明还一实施例的装置,其中,所述第一安全载体发送请求建立所述连接通道的请求命令,所述管理模块根据所述请求命令中所指定的第二安全载体建立相应的所述连接通道。
优选地,所述管理模块为所述连接通道分配通道标识符,并将所述该通道标识符返回至相应的所述第一安全载体。
按照本发明再一实施例的装置,其中,在建立所述连接通道后,所述第一安全载体所发送的应用命令数据通过第一上层通信协议层将其转换为所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用命令数据转换成第二安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至该第二安全载体进行处理;
所述第二安全载体进行处理后,返回的应用返回数据通过第二安全载体所对应的通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用返回数据转换成所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至所述第一安全载体,所述第一安全载体通过第一上层通信协议层解析出所述应用返回数据。
优选地,所述第一安全载体所发送的应用命令数据被其第一上层通信协议层按照所述上层通信协议封装成第一层报文数据发送至该第一安全载体的第一底层通信协议层;
该第一底层通信协议层将该第一层报文数据按照所述底层通信协议封装成底层报文数据发送至相应的通信接口;
该通信接口的第二底层通信协议层接收所述底层报文数据并将其转换为相应的第一层报文数据,并将该第一层报文数据发送至所述管理模块的相应的所述第二上层通信协议层;
该第二上层通信协议层将接收的第一层报文数据进行解析以识别所述连接通道,并将该第一层报文数据从该连接通道传输至所述连接通道上的另一相应的第二上层通信协议层;
该第二上层通信协议层将至少部分接收到的第一层报文数据传输至第二安全载体所对应的通信接口的第二底层通信协议层;
该第二底层通信协议层将其所接收的第一层报文数据按照第二安全载体所遵循的底层通信协议封装成成底层报文数据,并将该底层报文数据发送至第二安全载体的第一底层通信协议层;
该第一底层通信协议层从该底层报文数据解析应用命令数据供所述第二安全载体进行处理;
并且在处理后,所述第二安全载体发送应用返回数据至其第一底层通信协议层;
第一底层通信协议层按照其所遵循的底层通信协议将接收的应用返回数据封装成底层报文数据发送至所述协议转换器的相应通信接口;
第一底层通信协议层将所接收的底层报文数据转换封装成第一层报文数据并将其发送至管理模块中所述第二安全载体所对应的第二上层通信协议层;
第二上层通信协议层按照所述上层通信协议解析,并基于该连接通道将应用返回数据对应的第一层报文数据转送给中所述第一安全载体所对应的第二上层通信协议层;
第二上层通信协议层将应用返回数据对应的第一层报文数据并传送至第一安全载体所对应的通信接口的第二底层通信协议层;
该第二底层通信协议层按照其遵循的底层通信协议将接收的第一层报文数据封装成底层报文数据发送至第一安全载体;
第一安全载体的第一底层通信协议层将其所接收的底层报文数据提取出第一层报文数据并将其发送至第一安全载体的第一上层通信协议层;
第一上层通信协议层按照所述上层通信协议解析出的应用返回数据供所述第一安全载体处理。
按照本发明还一实施例的装置,其中,每个所述通信接口被配置唯一的接口标识,每个所述安全载体被配置设备标识,通过将每个安全载体的设备标识与其相应耦接的通信接口的接口标识进行组合以得到该安全载体的安全载体标识;
至少通过安全载体标识,建立所述连接通道并实现不同类型的多个安全载体之间的通信。
具体地,所述安全载体包括动态可插拔的安全载体,所述装置包括用于动态地统一识别每个所述动态可插拔的安全载体的安全载体检测模块。
优选地,所述安全载体检测模块与所述动态插拔的安全载体所对应的与一个或多个通信接口耦接,所述安全载体检测模块被配置有一个或多个安全载体列表;
在所述安全载体检测模块从任意一个所述通信接口检测到接入的所述动态可插拔的安全载体时,该安全载体的信息被发送至所述安全载体检测模块并在该通信接口对应的安全载体列表的空余的表项中存储,该表项的编号被定义为所述安全载体的设备标识;
在所述安全载体检测模块从任意一个所述通信接口检测到所述动态可插拔的安全载体被移除或断开时,该通信接口发送该安全载体的信息至所述安全载体检测模块,并基于安全载体的信息在该通信接口对应的安全载体列表找到相应的表项,通过删除该表项以删除该安全载体的安全载体标识。
具体地,所述通信接口可以为7816接口、SD接口、NFC接口或者I2C接口,所述底层通信协议为7816协议、SD协议、NFC协议、I2C协议。
具体地,所述上层通信协议可以为HCP协议。
在之前所述任一实施例的装置中,优选地,所述装置在安全模式或者安全操作系统下运行。
具体地,所述安全模式或者安全操作系统为基于TrustZone技术构建的安全运行环境。
按照本发明的又一方法,一种基于以上所述装置的安全载体之间通信方法,包括:
连接通道建立步骤:所述第一安全载体发送请求建立所述连接通道的请求命令,所述管理模块根据所述请求命令中所指定的第二安全载体建立相应的连接通道;
应用命令数据发送步骤:所述第一安全载体所发送的应用命令数据通过第一上层通信协议层将其转换为所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用命令数据转换成第二安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至该第二安全载体进行处理;
应用返回数据的返回步骤:所述第二安全载体至少对所述应用命令数据进行处理后,需要返回的应用返回数据通过第二安全载体所对应的通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用返回数据转换成所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至所述第一安全载体,所述第一安全载体通过第一上层通信协议层解析出所述应用返回数据。
按照本发明一实施例的安全载体之间通信方法,其中,所述应用命令数据发送步骤包括以下步骤:
S11和S12,所述第一安全载体所发送的应用命令数据被其第一上层通信协议层按照所述上层通信协议封装成第一层报文数据发送至该第一安全载体的第一底层通信协议层;
S13,该第一底层通信协议层将该第一层报文数据按照所述底层通信协议封装成底层报文数据发送至相应的通信接口;
S14,该通信接口的第二底层通信协议层接收所述底层报文数据并将其转换为相应的第一层报文数据,并将该第一层报文数据发送至所述管理模块的相应的所述第二上层通信协议层;
S15,该第二上层通信协议层将接收的第一层报文数据进行解析以识别所述连接通道,并将该第一层报文数据从该连接通道传输至所述连接通道上的另一相应的第二上层通信协议层;
S16,该第二上层通信协议层将至少部分接收到的第一层报文数据传输至第二安全载体所对应的通信接口的第二底层通信协议层;
S17,该第二底层通信协议层将其所接收的第一层报文数据按照第二安全载体所遵循的底层通信协议封装成成底层报文数据,并将该底层报文数据发送至第二安全载体的第一底层通信协议层;
S18,该第一底层通信协议层从该底层报文数据解析应用命令数据供所述第二安全载体进行处理。
按照本发明又一实施例的安全载体之间通信方法,其中,应用返回数据的返回步骤包括以下步骤:
S21,并且在处理后,所述第二安全载体发送应用返回数据至其第一底层通信协议层;
S22,第一底层通信协议层按照其所遵循的底层通信协议将接收的应用返回数据封装成底层报文数据发送至所述协议转换器的相应通信接口;
S23,第一底层通信协议层将所接收的底层报文数据转换封装成第一层报文数据并将其发送至管理模块中所述第二安全载体所对应的第二上层通信协议层;
S24,第二上层通信协议层按照所述上层通信协议解析第一层报文数据,并基于该连接通道将应用返回数据对应的第一层报文数据转送给中所述第一安全载体所对应的第二上层通信协议层;
S25,第二上层通信协议层将应用返回数据对应的第一层报文数据第一层报文数据并传送至第一安全载体所对应的通信接口的第二底层通信协议层;
S26,该第二底层通信协议层按照其遵循的底层通信协议将接收的第一层报文数据封装成底层报文数据发送至第一安全载体;
S27,第一安全载体的第一底层通信协议层将其所接收的底层报文数据提取出第一层报文数据并将其发送至第一安全载体的第一上层通信协议层;
S28,第一上层通信协议层按照所述上层通信协议解析出的应用返回数据供所述第一安全载体处理。
优选地,每个所述通信接口被配置唯一的接口标识,每个所述安全载体被配置设备标识,通过将每个安全载体的设备标识与其相应耦接的通信接口的接口标识进行组合以得到该安全载体的安全载体标识;
至少通过安全载体标识,建立所述连接通道并实现不同类型的多个安全载体之间的通信。
具体地,所述安全载体包括动态可插拔的安全载体,所述装置包括用于动态地统一识别每个所述动态可插拔的安全载体的安全载体检测模块。
优选地,所述安全载体检测模块与所述动态插拔的安全载体所对应的与一个或多个通信接口耦接,所述安全载体检测模块被配置有一个或多个安全载体列表;
在所述安全载体检测模块从任意一个所述通信接口检测到接入的所述动态可插拔的安全载体时,该安全载体的信息被发送至所述安全载体检测模块并在该通信接口对应的安全载体列表的空余的表项中存储,该表项的编号被定义为所述安全载体的设备标识;
在所述安全载体检测模块从任意一个所述通信接口检测到所述动态可插拔的安全载体被移除或断开时,该通信接口发送该安全载体的信息至所述安全载体检测模块,并基于安全载体的信息在该通信接口对应的安全载体列表找到相应的表项,通过删除该表项以删除该安全载体的安全载体标识。
优选地,所述方法在安全模式或者安全操作系统下运行。
本发明的技术效果是,可以实现任意两种安全载体之间的通信连接,大大扩展了每个安全载体的通信能力,降低了安全载体上应用程序对移动设备的依赖度,也提升了应用程序的独立性,大大方便了行业间的合作,增强了整个应用开发的灵活性和可配性,从而可以提升了安全载体应用程序的灵活性、扩展性和多样性。
附图说明
从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
图1是手机移动终端的操作系统的架构示意图。
图2是按照本发明一实施例的支持多种类型SE之间通信的装置的模块结构示意图。
图3是按照本发明一实施例的安全载体检测模块的连接关系示意图。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其他实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
在以下实施例中,是基于使用TrustZone技术的ARM芯片的手机内的多种SE之间的内部通信的实现为例进行说明的,从而,内部SE之间可以相互提供服务。TrustZone技术可以构建相应的安全运行环境,以保证多种本发明的装置在安全模式或者安全操作系统下运行。
其中,TrustZone技术是ARM公司提出来的一种把增强系统安全的措施从CPU 内核设计开始、并集成到系统的整体设计中的技术,TrustZone 技术把保护措施集成到内核以保证整个操作系统的安全性,同时提供安全软件平台,使半导体制造商、原始设备制造商(OEM)和操作系统合作商在一个可共用的框架上扩展和开发自己的安全解决方案。关于TrustZone技术的进一步具体介绍可以参考以下网址:http://www.arm.com/zh/products/processors/technologies/trustzone.php。
在本文中,安全载体SE是一种具有计算和存储功能的独立硬件模块或虚拟软件模块,其内设计有许多硬件和/或软件模块以保护其所存储数据的安全,并提供相应的安全机制服务供外界的设备使用;具体地,SE可包括SIM卡、智能SD(SSD)卡、NFC(Near FieldCommunication,近场无线通信)芯片等这些具有实际物理硬件的载体,也包括那些虚拟化出来的载体,即虚拟安全载体。SE的类型主要以其遵循的底层通信协议的类型来区分。SE的具体类型不是限制性的,其可以为任一种类型的SE,也包括将来可能出现的SE类型。
图1所示为手机移动终端的操作系统的架构示意图。手机的操作系统包括多媒体操作系统和安全操作系统,示例地,多媒体操作系统中可以运行各种基于Android 系统的各种普通应用(例如,普通应用1、普通应用2和普通应用3),安全操作系统可以基于安全内核运行各种安全应用(例如,安全应用1、安全应用2和安全应用3),安全内核中使用协议转换器,手机的多个硬件SE(例如,基于7816通信协议的SE、基于I2C通信协议的SE、基于SDIO通信协议的SE和基于NFC通信协议的SE等等)与协议转换器之间通信。
图2所示为按照本发明一实施例的支持多种类型SE之间通信的装置的模块结构示意图。在该实施例中,手机中可以多种类型的SE,SE具体可以包括但不限于为7816外设110、I2C外设120、NFC芯片外设130、SSD外设140。每个SE至少地设置相应的第一底层通信协议层,例如,7816外设110对应设置7816驱动协议层111,I2C外设120对应设置I2C接口协议层121、NFC芯片外设130对应设置NFC驱动协议层131、SSD外设140对应设置SD接口协议层141。每个第一底层通信协议层所传输的数据可以被相应的SE直接读取或处理。
本发明的装置包括协议转换器200,在该实施例中,协议转换器200对应7816外设110、I2C外设120、NFC芯片外设130、SSD外设140设置四个通信接口,四个通信接口中分别对应设置有诸如7816驱动协议层210、I2C接口协议层220、NFC驱动协议层230、SD接口协议层240的第二底层通信协议层。这样,协议转换器200的每个通信接口与每个SE之间可以遵循相应的底层通信协议来传输数据。具体地,7816驱动协议层210与7816驱动协议层111之间遵循7816协议传输数据,I2C接口协议层220与I2C接口协议层121之间遵循I2C协议传输数据,NFC驱动协议层230与NFC驱动协议层131之间遵循NFC协议传输数据,SD接口协议层240和与SD接口协议层141之间遵循SDIO协议传输数据。
需要理解的是,协议转换器200可以不限于包括上述的通信接口,例如,还可以包括一些手机移动终端中的一些其他通信接口,例如人机接口,甚至包括应用中为了相互通信所申请的共享内存(shared memory)等。
继续如图2所示,协议转换器200包括管理模块300,在管理模块300中,各个SE所对应的底层通信协议之上被统一为HCP(Host Channel Protocol)协议,HCP协议是相对底层通信协议(例如7816协议、I2C协议、NFC协议和SDIO协议)更上层的上层通信协议。为实现该功能,在管理模块300对应每种SE设置有一个第二上层通信协议层,例如,对应7816外设110设置HCP协议层310、对应I2C外设120设置HCP协议层320、对应NFC芯片外设130设置HCP协议层330、对应SSD外设140设置HCP协议层340。这样,每种底层通信协议与同一上层通信协议之间进行协议转换,管理模块300所接收的数据或者所发送的数据被转换为统一报文格式。
各个通信接口之间为了实现互通,需要预先创建好双方的连接通道(channel)。管理模块300就是用于实现这些连接通道的动态创建。管理模块300创建好了连接通道,就可以实现不同SE双方之间的点对点通信;并且在SE双方结束通信后,管理模块300可以实现连接通道的删除。
在以下实施例中,以7816外设110作为主动发起通信连接的第一安全载体、I2C外设120作为被动通信连接的第二安全载体为例示意性地说明任意两个SE的通信方法及原理。在7816外设110作为主动发起通信连接的第一安全载体时,其中配置有HCP驱动协议层112,这样,可以实现7816遵循的7816驱动协议与HCP协议直接地转换。I2C外设120中存储有相应的SIM卡应用程序。
参阅图2,首先,7816外设110中的SIM卡应用程序按照HCP协议规定的创建通道命令(即请求命令)指明它需要访问的I2C外设120的安全载体的标识号,发送命令给HCP管理模块300请求创建连接通道312。
进一步,管理模块300收到命令后,连接请求命令里指定的设备标识号所标识的设备,若连接失败,返回错误给SIM卡(即7816外设110),若成功,则为该连接分配一个通道标识符(即Channel ID),假设该ID为0,并把该ID返回给SIM卡应用程序。
这样,相应SE之间的连接通道建立完成。以下进一步基于该连接通道进行两个SE之间的通信。
步骤S11,7816外设110中的SIM卡应用程序的应用命令数据被发送至HCP驱动协议层112。
步骤S12,HCP协议层112将该应用命令数据封装成HCP报文数据并传送至下一层,即7816驱动协议层111。
步骤S13,7816驱动协议层111按照自身遵循的7816协议将接收的HCP报文数据封装成底层报文数据发送至协议转换器200的相应通信接口,即7816驱动协议层210对应的通信接口。
步骤S14,7816驱动协议层210将所接收的底层报文数据提取出实际的HCP报文数据并将其发送至上一层,即管理模块300的HCP协议层310。
步骤S15,HCP协议层310按照HCP协议解析出HCP这一层对应的数据,然后按照创建好的连接通道312判断出该解析的数据是要发往I2C外设120,从而基于该连接通道将该解析的数据转送给I2C接口协议层220所对应的HCP协议层320。
步骤S16,HCP协议层320将上述解析的数据封装成HCP报文数据并传送至相应的下一层,即I2C接口协议层220。
步骤S17,I2C接口协议层220按照自身遵循的I2C协议将接收的HCP报文数据封装成底层报文数据发送至I2C外设120。
步骤S18,I2C外设120的I2C接口协议层121从所接收的底层报文数据解析应用命令数据供I2C外设进行处理;I2C外设上的对应应用程序处理从而可以处理由7816外设所传输过来的应用命令数据。
步骤S21,I2C外设120上的对应应用程序处理完该应用命令数据后,将产生的应用返回数据发送至I2C接口协议层121。
步骤S22,I2C接口协议层121按照自身遵循的I2C协议将接收的应用返回数据封装成底层报文数据发送至协议转换器200的相应通信接口,即I2C接口协议层210对应的通信接口。
步骤S23, I2C接口协议层210将所接收的底层报文数据转换封装成HCP报文数据并将其发送至上一层,即管理模块300的HCP协议层320。
步骤S24,HCP协议层320按照HCP协议解析出HCP这一层对应的数据,然后基于该连接通道312将该解析的数据转送给7816驱动协议层210所对应的HCP协议层310。
步骤S25,HCP协议层310将该解析的数据封装成HCP报文数据并传送至相应的下一层,即7816驱动协议层210。
步骤S26,7816驱动协议层210按照自身遵循的7816协议将接收的HCP报文数据封装成底层报文数据发送至7816外设110。
步骤S27,7816外设110的7816驱动协议层111将其所接收的底层报文数据提取出实际的HCP报文数据并将其发送至上一层,即7816外设110的HCP协议层112。
步骤S28,HCP协议层112按照HCP协议解析出实际的应用返回数据,并送往SIM卡应用程序。
至此,7816外设110与I2C外设210之间的一次点对点通信过程完成。从以上可以出,在连接通道建立后,步骤S11至步骤S18为应用命令数据的通信传输阶段,步骤S21至步骤S28为应用返回数据的通信传输阶段。并且需要理解的是,以上步骤S11至步骤S18和步骤S21至步骤S28可以不断地基于同一连接通道重复执行。
由上可知,HCP协议112只在主动发起通信连接的通信方(即第一安全载体的7816外设110)这里发挥作用,被动通信连接的第二安全载体(例如I2C外设120)中的HCP协议层(例如122)是不发挥作用的,也即是被动通信连接的第二安全载体无法感知到HCP协议的。也就是说,主动发起通信连接的一方需要使用HCP协议,而被动接受提供服务的一方(也即被动通信连接的第二安全载体)无需使用HCP协议,这样也可以很好地兼容目前的整个应用环境,相应的SE若不需要主动发起通信连接,就无需修改自身的协议结构。
当然,在其他实施例中,若双方都要主动互通互信,就需要在两者之间创建好两个HCP通道才行。例如,如果I2C外设120需要作为主动发起通信连接的第一安全载体,那么同样地,需要在I2C外设120中设置HCP协议层122,其所发挥的作用与7816外设110中的HCP协议层122所发挥的作用类似。
在图2所示实施例的装置中,7816外设110、I2C外设120、NFC芯片130和SD外设140均可以作为主动发起通信连接的一方(第一安全载体),也可以作为主动发起通信连接的一方(第二安全载体); 若I2C外设120需要主动通信连接7816外设110,其通信方法与以上过程类似。因此,7816外设110、I2C外设120、NFC芯片130和SD外设140可以分别设置有HCP协议层112、HCP协议层122、HCP协议层132和HCP协议层142。
同时,也看到协议转换器200在此通信过程中所发挥的核心作用,因此,对协议转换器200的安全保护就是非常有必要的,而底下如图1所示的平台提供的安全模式环境(即安全操作系统)就可以很好地保证这一点。从而在该实施例中,整个应用的流程都处于比较安全的TrustZone环境下,在加上SE自身的高安全性,为用户提供了非常好的安全性保证。
并且,在任意两个SE之间可以互连通信后,大大扩展了每个安全载体的通信能力,降低了安全载体上应用程序对移动设备的依赖度,提升了应用程序的独立性,大大方便了行业间的合作,增强了整个应用开发的灵活性和可配性,从而可以提升了安全载体应用程序的灵活性、扩展性和多样性。
需要说明的是,在以上实施例中,在7816外设110与I2C外设120的通信过程完成后,管理模块300可以动态删除该连接通道。7816外设110根据具体需要也可以NFC芯片130和/或SD外设140D建立通信连接。
当然,在这里描述的SE之间的通信过程中,HCP协议只是一种抽象的协议行为描述,下面示例性地对该HCP协议作具体描述。
在该HCP协议中,可以对所支持的各个通信接口按以下表1规定ID号(其中主要是对目前已存在的各个通信口进行了定义,其他以后所需的通信口可在RFU(Reserved ForFuture, 保留将来所用)保留的ID中进行分配)。
表1
通信口(port id) | 分配的ID号 |
SIM接口 | 0x01 |
SD接口 | 0x02 |
I2C接口 | 0x03 |
NFC接口 | 0x04 |
GPRS接口 | 0x05 |
蓝牙接口 | 0x06 |
Wifi接口 | 0x07 |
屏幕接口 | 0x08 |
键盘接口 | 0x09 |
RFU | 0x0a-0xFF |
而对该通信口处的具体设备的标识,与具体的通信接口那边的具体实现有关,例如,在Wifi口处,可以用IP地址作为具体远程设备的标识,在此就不再一一赘述阐述。通信接口ID号加上具体设备的标识就可以作为在通信过程中创建连接通道时的唯一目标SE的标识。如针对WIFI接口,可以使0x07+IP地址来实际指定要创建接通道的目标SE的标识。
并且,该HCP协议规定两类报文类型:(1) Command类型,(2) Data类型。
在HCP协议报文中,以MT(message type,报文类型)来进行如下表2所示的标识:
表2
MT | 数据类型 |
0x00 | Command数据类型 |
0x01 | Data数据类型 |
并且,主要报文格式可以但不限于按照以下表3定义:
表3
Message type | Chaining indicator | Command id | Data | CRC |
其中,Message Type为一个字节,用来标识该报文类型。Chaining indicator(数据分包标识)用来表明该报文是否需要分段,为了兼容一些SE无法一次发送过长数据的情况,一般情况下整个报文数据会少于255个字节;若为0x01,表明后续还有报文数据,若为0x00,表明该报文为最后一个报文数据。Command ID为具体的报文类型内所对应的命令号,command data为该命令所需的数据,不同的命令对应的command data不同,数据长度也是不同;CRC为报文的CRC16校验,采用两个字节。为了简化该协议的流程和复杂度,对该报文数据的顺序性由下层具体的实际传送协议(如TCP/IP协议)来保证,同时为了保证数据在传输过程中发生丢包现象,可引入一个timer(计时器)来对具体的命令发送后进行计时,若超出,可采取重复发送,若重复三次还是失败,可取消当前命令的发送。
Command报文类型(MT为0x00的情况下)主要由发起方跟HCP管理模块建立连接通道、删除连接通道、配置连接通道相关信息等所用。以Command/Response为一对来配,即一个command发往HCP管理模块时,必有从HCP管理模块发来的Response数据,在未收到对应的Response命令时,不可发送下一个Command。具体命令格式可以为(省略相应的Messagetype、Chaining indicator和CRC域)如下表4至表9所示:
表4 创建连接通道命令
Command id(1 byte) | Port ID(1 byte) | Name(x 字节,第一个字节为后面字符的长度) |
0x01 | X,对应的通信口编号 | LV data,指明具体通信口上的具体要连接的SE的主机标识,如果对于要跟远程后台服务器连接,该域即可为远程服务器的IP地址,具体编号跟前面的通信口采用的协议相关。 |
表5 创建连接通道所对应的Response
Status(1 byte) | 表明是否执行成功,0x00代表成功,其他字节代表对应的错误码 |
Channel id (1 byte) | 若执行成功,返回配置好的Channel id |
表6 删除连接通道命令
Command id | Channel id |
0x02 | 要删除的Channel id号 |
表7 删除连接通道所对应的Response
Status | 表明是否执行成功,0x00代表成功,其他字节代表对应的错误码 |
表8 配置连接通道命令
Command id | Channel id | Parameter(参数) |
0x03 | 对应channel id号 | 具体接口的配置信息(如对SIM口,可设置其波特率等),跟实际的通信口相关。 |
表9 配置连接通道所对应的response:
Status | 表明是否执行成功,0x00代表成功,其他字节代表对应的错误码 |
Data报文类型(MT为0x01的情况下)在通道建立后,其为主动方(第一安全载体)和被动方(第二安全载体)的提供方双方之间交换数据时所使用,当一条完整的数据命令发出时,HCP管理模块300会把命令的数据域提取出转换成跟远端的服务方(即被动方)可以通信的数据格式发出,因而该类型的命令无需对应的Response来进行响应。以下表10为所支持的命令(省略相应的Message type、Chaining indicator和CRC域):
表10 数据交换命令
Command id | Channel id | Data |
0x01 | X,数据发送对应的通道号 | 应用程序跟远端服务方(第二安全载体)所交换的实际数据 |
以下进一步地示例性地说明SE之间通信的具体应用场景。
应用示例一:对配备有本发明的功能的设备(如手机),就有这样一种的应用使用场景,用户的支付应用程序存放在SIM卡(其中一个安全载体)中,而相应的银行卡信息则存放在SSD卡(其中另一个安全载体)中。当用户在相应的商场环境下使用用户支付程序购买商品时,由于SIM卡中并无银行卡信息,这时SIM卡就会创建与SSD卡通信连接通道channel0。这时,用户支付程序会根据SSD卡上服务程序提供的API(例如银行卡信息)获取命令,把这些命令通过channel 0发往SSD卡处理(即以上步骤S11至S18), SSD卡接收到该命令后会把产生的应用返回数据通过channel 0返回给支付程序(即以上步骤S21至S28),支付程序根据得到的银行卡信息完成接下来的商品购买流程。这个应用场景下,银行方和移动运营方都无需商讨商业合作事宜,只需把各自掌握的信息存放在自身的SE中,而共同提供相应的服务给第三方支付机构,由第三方支付机构来控制实际的支付流程,从而简化了银行机构和运营商机构之间的商业合作等复杂流程事宜,也给第三方支付机构提供了很大的便利性和自由性。
应用示例二: SSD卡(主动发起通信连接的SE)中存有公交卡应用程序,然而在实际的公交应用使用场景中,对应的公交卡读取终端都是13.56M的非接读卡设备。在这种情况下,当用户上车刷公交卡时,SSD卡内的应用程序启动,创建NFC芯片(被动通信连接的SE)和SSD卡之间设置好的连接通道channel 1。NFC芯片会通过其控制的天线模块从车上的终端上读取命令,转送给NFC芯片,NFC芯片根据channel 1把命令转发给SSD卡上的公交卡应用程序进行处理,SSD卡上的公交卡应用程序处理完之后,也通过channel 1转送给NFC芯片,NFC芯片再通过天线模块发往车载非接终端完成相应的公交卡扣费处理流程。这种情况下,虽然由于SSD卡本身并无非接通信功能,但是通过协议转换器却具有了使用非接的能力,这扩展了本身SSD卡的通信接口单一性的问题。而这些过程都是由软件层来完成,比之当前的NFC手机需要专门的硬件模块来做且需要固定死在SD卡上或者SIM卡上,无疑具有更大的灵活性、扩展性和友好度。
在上述图2所示的连接通道的建立过程中,具体需要配置标识来识别第一安全载体(即发起方SE)和第二安全载体(即被动方SE),因此,每个安全载体将被配置一个识别标识。如以上表1所示,对于相对固定的在终端设备的SE,例如其可以采用通信接口ID号与该安全载体的设备ID来标识该SE,该SE的识别标识是可以预先分配好的。
然而,终端设备的SE很可能是动态可插拔的SE(例如非智能卡等),在SE频繁地接入或者断开该协议转换器所处的安全操作系统时,需要动态地统一识别每个SE,以方便任意两个SE之间建立通信连接。
以下进一步地示例性地说明图2所示实施例的装置中所应用的动态统一识别安全载体的方法。
图3所示为按照本发明一实施例的安全载体检测模块的连接关系示意图。在该实施例中,安全载体检测模块400为图2所示的支持多种类型SE之间通信的装置所包括的又一个模块,其同样地处于如1所示的安全操作系统中,具体地,安全载体检测模块400也可以设置协议转换器200中。安全载体检测模块400中设置有SE标识列表,例如HOST列表410,该安全载体检测模块400与一个或多个动态插拔的SE所对应的通信接口耦接,例如,可以与SD接口、I2C接口、NFC接口等耦接。
在一实施例中,HOST列表410可以为与动态插拔的SE所对应的通信接口的数量一致,安全载体检测模块400内每个HOST列表对应一个通信接口,从而维护着该通信接口。具体地,每个HOST列表的每一表项可以存放一个SE的相应信息,并依次进行编号(例如从0x01开始);从而每个SE所对应的表项编号即可以作为该SE的设备ID的至少一部分。通过通信接口ID号与该SE的设备ID相组合即可标识该SE。对应通信接口的HOST列表的表项的项数,即代表这个通信接口上可以同时支持的SE的个数,具体地,默认情况下可以设置为16个。
在又一实施例中,可以以多个通信接口对应一个HOST列表410,HOST列表中可以通过通信接口ID号来分为多个部分,每个部分的表项的编号相应地作为该通信接口对应的SE。
具体地,如图3所示,安全载体检测模块400这个检测模块可以通过使用通信接口的驱动程序,来感知每个通信接口处的SE的接入与断开。
在SE通过某一通信接口接入或断开的过程中,当通信接口上的驱动程序检测到一个新接入的安全载体时,会把该安全载体的基本信息发往安全载体检测模块400,安全载体检测模块400在这个通信接口所对应的HOST列表410中寻找一个空余的表项(若在无空余表项的情况下,检测模块可以动态扩展HOST列表410以得到空余的表项),并存储该安全载体的信息(存储的安全载体信息是可以标识安全载体唯一性的信息,如CID等),这个表项编号就可以作为这个SE在安全操作系统里的设备ID,从而与该通信接口的ID组合来形成该SE的标识,以标识出其唯一性。若用户从该通信接口移除或者断开安全载体时,对应的通信接口的驱动程序就会发送安全载体信息给检测模块,检测模块按照安全载体的信息找到对应的HOST列表的表项进行删除,这样安全载体就脱离了该安全操作系统。
在使用过程中(即SE之间通信的过程中),已加入安全操作系统的安全载体可以通过分配好的安全载体标识与安全操作系统中的其他安全载体建立连接通道并进行通信。其他安全载体也可以通过发送命令给安全载体检测模块400,查找出各个通信接口上存在的各个安全载体的标识和信息,并可根据需要与这些安全载体建立连接通道并进行通信。
因此,可以动态统一地识别各个可拔插的安全载体,并且具有以下优点:
第一,解决了安全载体频繁接入和断开安全操作系统时的动态识别问题,为安全操作系统中的其他安全载体可以动态访问这些安全载体提供了明确的通信途径。
第二,为各个安全载体的标识的分配进行了统一处理,屏蔽了各个驱动通信模块自身的识别机制,简化了安全操作系统的处理机制。
第三,安全操作系统所处的安全执行环境保证了整个识别和操作过程中的可信性。
在上文中,HOST表示一个提供应用服务的模块,可以是独立硬件计算平台如SIM卡、智能SD卡等安全载体,也可以是由软件实现的虚拟安全载体及人机界面这种具体的应用程序。
安全操作系统:是指运行在安全模式下的一个封闭式操作系统软件平台,此系统下所运行的应用都是可信的、合法的。另外,安全操作系统独立于非安全模式下的多媒体操作系统,非安全模式下的多媒体操作系统是不能访问该操作系统的。
以上例子主要说明了本发明的支持多种类型安全载体之间通信的装置及其通信方法。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
Claims (24)
1.一种用于支持多种类型安全载体之间通信的装置,包括协议转换器,其特征在于,所述协议转换器包括:
用于对应与每种安全载体耦接的多个通信接口;以及
与每个所述通信接口耦接的管理模块;
其中,不同类型的安全载体遵循不同的底层通信协议,每个所述通信接口被配置为与其所对应耦接的安全载体遵循相同的底层通信协议;
所述管理模块被配置为遵循同一上层通信协议以实现任一所述底层通信协议与所述上层通信协议之间的协议转换,并且所述管理模块用于为任意两个所述通信接口动态建立连接通道,从而实现对应的任意两种不同类型的所述安全载体之间的通信。
2.如权利要求1所述的装置,其特征在于,相互通信的任意两种不同类型的所述安全载体中,包括用于主动发起通信连接的第一安全载体和被动通信连接的第二安全载体,所述第一安全载体中配置有第一上层通信协议层以实现该第一安全载体遵循的底层通信协议与所述上层通信协议之间实现协议转换。
3.如权利要求2所述的装置,其特征在于,每个所述安全载体中设置有用于遵循其相应的底层通信协议的第一底层通信协议层;
每个所述通信接口中设置有用于与对应耦接的安全载体的第一底层通信协议层相对应的第二底层通信协议层;
所述管理模块中设置有多个第二上层通信协议层;每个第二上层通信协议层用于实现一种所述底层通信协议与所述上层通信协议之间的协议转换。
4.如权利要求3所述的装置,其特征在于,所述第一安全载体基于相应的第一上层通信协议层、第一底层通信协议层、第二底层通信协议层、第二上层通信协议层实现与所述管理模块建立通信连接。
5.如权利要求3所述的装置,其特征在于,所述第二安全载体基于相应的第一底层通信协议层、第二底层通信协议层、第二上层通信协议层实现与所述管理模块建立通信连接。
6.如权利要求3或4所述的装置,其特征在于,所述第一安全载体发送请求建立所述连接通道的请求命令,所述管理模块根据所述请求命令中所指定的第二安全载体建立相应的所述连接通道。
7.如权利要求6所述的装置,其特征在于,所述管理模块为所述连接通道分配通道标识符,并将所述通道标识符返回至相应的所述第一安全载体。
8.如权利要求3所述的装置,其特征在于,在建立所述连接通道后,所述第一安全载体所发送的应用命令数据通过第一上层通信协议层将其转换为所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用命令数据转换成第二安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至该第二安全载体进行处理;
所述第二安全载体进行处理后,返回的应用返回数据通过第二安全载体所对应的通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用返回数据转换成所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至所述第一安全载体,所述第一安全载体通过第一上层通信协议层解析出所述应用返回数据。
9.如权利要求8所述的装置,其特征在于,
所述第一安全载体(110)所发送的应用命令数据被其第一上层通信协议层(112)按照所述上层通信协议封装成第一层报文数据发送至该第一安全载体(110)的第一底层通信协议层(111);
该第一底层通信协议层(111)将该第一层报文数据按照所述底层通信协议封装成底层报文数据发送至相应的通信接口;
该通信接口的第二底层通信协议层(210)接收所述底层报文数据并将其转换为相应的第一层报文数据,并将该第一层报文数据发送至所述管理模块(300)的相应的第二上层通信协议层(310);
该第二上层通信协议层(310)将接收的第一层报文数据进行解析以识别所述连接通道(312),并将该第一层报文数据从该连接通道传输至所述连接通道上的另一相应的第二上层通信协议层(320);
所述另一相应的第二上层通信协议层(320)将至少部分接收到的第一层报文数据传输至第二安全载体(120)所对应的通信接口的第二底层通信协议层(220);
第二安全载体(120)所对应的通信接口的第二底层通信协议层(220)将其所接收的第一层报文数据按照第二安全载体所遵循的底层通信协议封装成底层报文数据,并将该底层报文数据发送至第二安全载体的第一底层通信协议层(121);
该第二安全载体的第一底层通信协议层(121)从该底层报文数据解析应用命令数据供所述第二安全载体(120)进行处理;
在所述第二安全载体(120)进行处理后,所述第二安全载体发送应用返回数据至其第一底层通信协议层(121);
第二安全载体的第一底层通信协议层(121)按照其所遵循的底层通信协议将接收的应用返回数据封装成底层报文数据发送至所述协议转换器(200)的相应通信接口;
第一底层通信协议层(121)将所接收的底层报文数据转换封装成第一层报文数据并将其发送至管理模块(300)中所述第二安全载体所对应的第二上层通信协议层(320);
第二安全载体所对应的第二上层通信协议层(320)按照所述上层通信协议解析,并基于该连接通道(312)将应用返回数据对应的第一层报文数据转送给所述第一安全载体所对应的第二上层通信协议层(310);
第二上层通信协议层(310)将接收到的应用返回数据对应的第一层报文数据传送至第一安全载体所对应的通信接口的第二底层通信协议层(210);
该第一安全载体所对应的通信接口的第二底层通信协议层(210)按照其遵循的底层通信协议将接收的第一层报文数据封装成底层报文数据发送至第一安全载体(110);
第一安全载体的第一底层通信协议层(111)将其所接收的底层报文数据提取出第一层报文数据并将其发送至第一安全载体的第一上层通信协议层(112);
第一上层通信协议层(112)按照所述上层通信协议解析出的应用返回数据供所述第一安全载体处理。
10.如权利要求1所述的装置,其特征在于,每个所述通信接口被配置唯一的接口标识,每个所述安全载体被配置设备标识,通过将每个安全载体的设备标识与其相应耦接的通信接口的接口标识进行组合以得到该安全载体的安全载体标识;
至少通过安全载体标识,建立所述连接通道并实现不同类型的多个安全载体之间的通信。
11.如权利要求10所述的装置,其特征在于,所述安全载体包括动态可插拔的安全载体,所述装置包括用于动态地统一识别每个所述动态可插拔的安全载体的安全载体检测模块(400)。
12.如权利要求11所述的装置,其特征在于,所述安全载体检测模块(400)与所述动态可插拔的安全载体所对应的一个或多个通信接口耦接,所述安全载体检测模块(400)被配置有一个或多个安全载体列表;
在所述安全载体检测模块(400)从任意一个所述通信接口检测到接入的所述动态可插拔的安全载体时,该安全载体的信息被发送至所述安全载体检测模块(400)并在该通信接口对应的安全载体列表的空余的表项中存储,该表项的编号被定义为所述安全载体的设备标识;
在所述安全载体检测模块(400)从任意一个所述通信接口检测到所述动态可插拔的安全载体被移除或断开时,该通信接口发送该安全载体的信息至所述安全载体检测模块(400),并基于安全载体的信息在该通信接口对应的安全载体列表找到相应的表项,通过删除该表项以删除该安全载体的安全载体标识。
13.如权利要求1所述的装置,其特征在于,所述通信接口为7816接口、SD接口、NFC接口或者I2C接口,所述底层通信协议对应地为7816协议、SD协议、NFC协议或者I2C协议。
14.如权利要求1所述的装置,其特征在于,所述上层通信协议为HCP协议。
15.如权利要求1至5和7至14中任一项所述的装置,其特征在于,所述装置在安全模式或者安全操作系统下运行。
16.如权利要求15所述的装置,其特征在于,所述安全模式或者安全操作系统为基于TrustZone技术构建的安全运行环境。
17.一种基于如权利要求2所述的装置的安全载体之间通信方法,其特征在于,包括:
连接通道建立步骤:所述第一安全载体发送请求建立所述连接通道的请求命令,所述管理模块根据所述请求命令中所指定的第二安全载体建立相应的连接通道;
应用命令数据发送步骤:所述第一安全载体所发送的应用命令数据通过第一上层通信协议层将其转换为所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用命令数据转换成第二安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至该第二安全载体进行处理;
应用返回数据的返回步骤:所述第二安全载体至少对所述应用命令数据进行处理后,需要返回的应用返回数据通过第二安全载体所对应的通信接口传输至协议转换器,所述协议转换器的管理模块基于建立的连接通道将应用返回数据转换成所述第一安全载体所对应的通信接口可传输的数据,并通过该通信接口传输至所述第一安全载体,所述第一安全载体通过第一上层通信协议层解析出所述应用返回数据。
18.如权利要求17所述的安全载体之间通信方法,其特征在于,所述应用命令数据发送步骤包括以下步骤:
所述第一安全载体(110)所发送的应用命令数据被其第一上层通信协议层(112)按照所述上层通信协议封装成第一层报文数据发送至该第一安全载体(110)的第一底层通信协议层(111);
该第一底层通信协议层(111)将该第一层报文数据按照所述底层通信协议封装成底层报文数据发送至相应的通信接口;
该通信接口的第二底层通信协议层(210)接收所述底层报文数据并将其转换为相应的第一层报文数据,并将该第一层报文数据发送至所述管理模块(300)的相应的第二上层通信协议层(310);
该第二上层通信协议层(310)将接收的第一层报文数据进行转换以识别所述连接通道(312),并将该第一层报文数据从该连接通道传输至所述连接通道上的另一相应的第二上层通信协议层(320);
所述另一相应的第二上层通信协议层(320)将至少部分接收到的第一层报文数据传输至第二安全载体(120)所对应的通信接口的第二底层通信协议层(220);
第二安全载体(120)所对应的通信接口的第二底层通信协议层(220)将其所接收的第一层报文数据按照第二安全载体所遵循的底层通信协议封装成底层报文数据,并将该底层报文数据发送至第二安全载体的第一底层通信协议层(121);
该第二安全载体的第一底层通信协议层(121)从该底层报文数据解析应用命令数据供所述第二安全载体(120)进行处理。
19.如权利要求17或18所述的安全载体之间通信方法,其特征在于,应用返回数据的返回步骤包括以下步骤:
在所述第二安全载体(120)进行处理后,所述第二安全载体发送应用返回数据至其第一底层通信协议层(121);
第二安全载体的第一底层通信协议层(121)按照其所遵循的底层通信协议将接收的应用返回数据封装成底层报文数据发送至所述协议转换器(200)的相应通信接口;
第一底层通信协议层(121)将所接收的底层报文数据转换封装成第一层报文数据并将其发送至管理模块(300)中所述第二安全载体所对应的第二上层通信协议层(320);
第二安全载体所对应的第二上层通信协议层(320)按照所述上层通信协议解析,并基于该连接通道(312)将该应用返回数据对应的第一层报文数据转送给所述第一安全载体所对应的第二上层通信协议层(310);
第二上层通信协议层(310)将接收到的应用返回数据对应的第一层报文数据并传送至第一安全载体所对应的通信接口的第二底层通信协议层(210);
该第一安全载体所对应的通信接口的第二底层通信协议层(210)按照其遵循的底层通信协议将接收的第一层报文数据封装成底层报文数据发送至第一安全载体(110);
第一安全载体的第一底层通信协议层(111)将其所接收的底层报文数据提取出第一层报文数据并将其发送至第一安全载体的第一上层通信协议层(112);
第一上层通信协议层(112)按照所述上层通信协议解析出的应用返回数据供所述第一安全载体处理。
20.如权利要求17所述的安全载体之间通信方法,其特征在于,每个所述通信接口被配置唯一的接口标识,每个所述安全载体被配置设备标识,通过将每个安全载体的设备标识与其相应耦接的通信接口的接口标识进行组合以得到该安全载体的安全载体标识;
至少通过安全载体标识,建立所述连接通道并实现不同类型的多个安全载体之间的通信。
21.如权利要求20所述的安全载体之间通信方法,其特征在于,所述安全载体包括动态可插拔的安全载体,所述装置包括用于动态地统一识别每个所述动态可插拔的安全载体的安全载体检测模块(400)。
22.如权利要求21所述的安全载体之间通信方法,其特征在于,所述安全载体检测模块(400)与所述动态可插拔的安全载体所对应的一个或多个通信接口耦接,所述安全载体检测模块(400)被配置有一个或多个安全载体列表;
在所述安全载体检测模块(400)从任意一个所述通信接口检测到接入的所述动态可插拔的安全载体时,该安全载体的信息被发送至所述安全载体检测模块(400)并在该通信接口对应的安全载体列表的空余的表项中存储,该表项的编号被定义为所述安全载体的设备标识;
在所述安全载体检测模块(400)从任意一个所述通信接口检测到所述动态可插拔的安全载体被移除或断开时,该通信接口发送该安全载体的信息至所述安全载体检测模块(400),并基于安全载体的信息在该通信接口对应的安全载体列表找到相应的表项,通过删除该表项以删除该安全载体的安全载体标识。
23.如权利要求17至18和20至22中任一项所述的安全载体之间通信方法,其特征在于,所述方法在安全模式或者安全操作系统下运行。
24.如权利要求19所述的安全载体之间通信方法,其特征在于,所述方法在安全模式或者安全操作系统下运行。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310265687.7A CN104253840B (zh) | 2013-06-28 | 2013-06-28 | 用于支持多种类型安全载体之间通信的装置及其通信方法 |
PCT/CN2014/080680 WO2014206284A1 (zh) | 2013-06-28 | 2014-06-25 | 用于支持多种类型安全载体之间通信的装置及其通信方法 |
US14/899,419 US10623530B2 (en) | 2013-06-28 | 2014-06-25 | Device for supporting communication between multiple types of safety carriers and communication method therefor |
EP14817655.5A EP3016353B1 (en) | 2013-06-28 | 2014-06-25 | Device for supporting communication between multiple types of safety carriers and communication method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310265687.7A CN104253840B (zh) | 2013-06-28 | 2013-06-28 | 用于支持多种类型安全载体之间通信的装置及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253840A CN104253840A (zh) | 2014-12-31 |
CN104253840B true CN104253840B (zh) | 2017-12-12 |
Family
ID=52141068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310265687.7A Active CN104253840B (zh) | 2013-06-28 | 2013-06-28 | 用于支持多种类型安全载体之间通信的装置及其通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10623530B2 (zh) |
EP (1) | EP3016353B1 (zh) |
CN (1) | CN104253840B (zh) |
WO (1) | WO2014206284A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592403B (zh) * | 2014-12-29 | 2020-03-31 | 中国银联股份有限公司 | 一种基于nfc的通信装置和方法 |
US10505589B2 (en) * | 2015-02-19 | 2019-12-10 | Pezy Computing K.K. | Signal bridge device |
US10019605B2 (en) * | 2015-03-30 | 2018-07-10 | Square, Inc. | Systems, methods and apparatus for secure peripheral communication |
CN106161739A (zh) * | 2015-04-01 | 2016-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种用于双系统的通信消息处理方法及装置 |
CN106412797B (zh) * | 2015-07-31 | 2019-12-13 | 中国移动通信集团公司 | 一种基于近场通讯nfc的业务处理方法及装置 |
CN106529942B (zh) * | 2015-09-09 | 2018-07-03 | 青岛海信移动通信技术股份有限公司 | 一种nfc卡的访问方法和终端 |
CN105472546B (zh) * | 2015-12-31 | 2019-05-24 | 华为技术有限公司 | 近场通信方法及移动终端 |
CN108282764A (zh) * | 2017-01-03 | 2018-07-13 | 中国移动通信有限公司研究院 | 一种信息交互方法及终端设备 |
CN107357277A (zh) * | 2017-08-08 | 2017-11-17 | 成都阜特科技股份有限公司 | 一种工业数据转发方法及其转发系统 |
CN107948194B (zh) * | 2017-12-22 | 2020-06-30 | 北京农业信息技术研究中心 | 一种数据接入方法及系统 |
CN109995861B (zh) * | 2019-03-29 | 2022-04-01 | 上海势航网络科技有限公司 | 车载系统应用与车载外围器件的中继通信方法及系统 |
US12219086B2 (en) * | 2019-12-13 | 2025-02-04 | Hitachi Industrial Equipment Systems Co., Ltd. | Communication module, communication system, and communication method |
CN111132114B (zh) * | 2019-12-31 | 2021-11-16 | 联想(北京)有限公司 | 一种扩展装置及数据传输方法 |
DE102020113572A1 (de) * | 2020-05-19 | 2021-11-25 | Beckhoff Automation Gmbh | Protokollumsetzer und Automatisierungssystem |
CN114567682B (zh) * | 2020-11-27 | 2023-10-17 | 比亚迪股份有限公司 | 设备状态监测方法和信号维护支持系统 |
CN113543050B (zh) * | 2021-07-19 | 2022-07-29 | 时代低空(山东)产业发展有限公司 | 融合式飞行监视报文生成方法,飞行监视方法和相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360987A1 (en) * | 2010-02-12 | 2011-08-24 | Sagem Orga GmbH | Device and method for coupling a cellular telecommunication device to an NFC terminal |
CN102223731A (zh) * | 2010-04-19 | 2011-10-19 | 中兴通讯股份有限公司 | 一种物联网中兼容多种终端的接口设备及实现方法 |
CN102609840A (zh) * | 2011-12-28 | 2012-07-25 | 潘铁军 | 一种多应用移动支付系统 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668144B2 (en) * | 2001-06-04 | 2010-02-23 | Taylor Rebecca S | Dynamically extensible communications device |
CA2357165A1 (en) * | 2001-09-10 | 2003-03-10 | Ibm Canada Limited-Ibm Canada Limitee | Configurable connector |
US7133416B1 (en) * | 2002-03-05 | 2006-11-07 | Mcdata Corporation | Converting data signals in a multiple communication protocol system area network |
US8028078B2 (en) * | 2003-08-07 | 2011-09-27 | Teamon Systems, Inc. | Communications system including protocol interface device providing enhanced operating protocol selection features and related methods |
US7289975B2 (en) * | 2003-08-11 | 2007-10-30 | Teamon Systems, Inc. | Communications system with data storage device interface protocol connectors and related methods |
US8458277B2 (en) * | 2004-01-22 | 2013-06-04 | Verizon Business Global Llc | Method and system for providing universal relay services |
WO2006087773A1 (ja) * | 2005-02-15 | 2006-08-24 | Fujitsu Limited | プロトコル変換回路 |
KR100681929B1 (ko) * | 2005-12-30 | 2007-02-12 | (주)한창시스템 | 이동 통신 단말기용 외장형 장치 및 이를 이용한 nfc통신 방법 |
KR100822802B1 (ko) * | 2006-09-21 | 2008-04-18 | 삼성전자주식회사 | 안테나를 내장한 심카드 및 그것을 포함하는 시스템 |
US20080081631A1 (en) * | 2006-09-29 | 2008-04-03 | Ahmadreza Rofougaran | Method And System For Integrating An NFC Antenna And A BT/WLAN Antenna |
US20080090595A1 (en) * | 2006-10-11 | 2008-04-17 | Sony Ericsson Mobile Communications Ab | Near field communication for profile change in switching network acess |
DE102006060080B4 (de) * | 2006-12-19 | 2008-12-11 | Infineon Technologies Ag | Vorrichtung zum kontaktlosen Übertragen von Daten aus einem Speicher |
JP4422175B2 (ja) * | 2007-07-10 | 2010-02-24 | 株式会社日立コミュニケーションテクノロジー | パケット転送装置 |
US7840694B2 (en) * | 2007-10-30 | 2010-11-23 | Olympus Medical Systems Corp. | Converter for converting communication method and/or communication protocol |
US9558485B2 (en) * | 2008-01-30 | 2017-01-31 | Paypal, Inc. | Two step near field communication transactions |
US20090327528A1 (en) * | 2008-06-25 | 2009-12-31 | Sandisk Il Ltd. | Data storage method with multiple protocols for preloading data |
DE102008062319B4 (de) * | 2008-12-16 | 2012-05-31 | Dräger Medical GmbH | Schlauchtülle für ein Beatmungsgerät |
EP2211480B1 (en) * | 2009-01-26 | 2013-10-23 | Motorola Mobility LLC | Wireless communication device for providing at least one near field communication service |
CN101540804B (zh) | 2009-05-06 | 2011-07-20 | 候万春 | 一种能够承载移动通信智能卡的增值业务智能卡 |
EP2251986A1 (en) * | 2009-05-15 | 2010-11-17 | Nxp B.V. | A near field communication device |
US8640204B2 (en) * | 2009-08-28 | 2014-01-28 | Broadcom Corporation | Wireless device for group access and management |
JP2011082911A (ja) * | 2009-10-09 | 2011-04-21 | Sony Corp | 周辺機器および機器接続システム |
NO333905B1 (no) | 2010-02-24 | 2013-10-14 | Knutsen Ballastvann As | Fremgangsmåte og anordning for å behandle ballastvann |
US8897145B2 (en) * | 2010-09-22 | 2014-11-25 | Tellabs Operations, Inc. | Method and apparatus for network OAM interworking |
KR101050282B1 (ko) * | 2010-10-29 | 2011-07-19 | 한화에스앤씨주식회사 | 멀티 프로토콜 어댑터 시스템 및 멀티 프로토콜 어댑터 시스템에서의 데이터 변환 방법 |
US8626979B2 (en) * | 2010-12-22 | 2014-01-07 | Intel Corporation | Common protocol engine interface for a controller interface |
SG11201403251PA (en) * | 2011-12-13 | 2014-08-28 | Visa Int Service Ass | Integrated mobile trusted service manager |
US8930493B2 (en) * | 2012-03-20 | 2015-01-06 | International Business Machines Corporation | Inter-domain replication of service information |
CN102694582A (zh) | 2012-04-25 | 2012-09-26 | 华为终端有限公司 | 无线数据卡和无线数据卡通信方法 |
US8840031B2 (en) * | 2012-06-14 | 2014-09-23 | Infineon Technologies Ag | Smart card and a method for operating a smart card |
KR102071420B1 (ko) * | 2012-07-19 | 2020-01-30 | 삼성전자주식회사 | 근거리 통신을 사용하여 전력 전송을 제어하기 위한 방법 및 장치 |
US9021159B2 (en) * | 2012-09-07 | 2015-04-28 | Apple Inc. | Connector adapter |
US20140149599A1 (en) * | 2012-11-29 | 2014-05-29 | Ricoh Co., Ltd. | Unified Application Programming Interface for Communicating with Devices and Their Clouds |
US20140273823A1 (en) * | 2013-03-15 | 2014-09-18 | Mastercard International Incorporated | Nfc capability for smartphones and other devices |
US9569386B2 (en) * | 2013-04-16 | 2017-02-14 | Nxp B.V. | Method and system for single-line inter-integrated circuit (I2C) bus |
FR3035252B1 (fr) * | 2015-04-14 | 2017-04-28 | Stmicroelectronics Rousset | Procede de gestion de la communication d'informations entre un controleur nfc et un element securise au sein d'un appareil, et appareil et controleur nfc correspondants |
-
2013
- 2013-06-28 CN CN201310265687.7A patent/CN104253840B/zh active Active
-
2014
- 2014-06-25 US US14/899,419 patent/US10623530B2/en active Active
- 2014-06-25 WO PCT/CN2014/080680 patent/WO2014206284A1/zh active Application Filing
- 2014-06-25 EP EP14817655.5A patent/EP3016353B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360987A1 (en) * | 2010-02-12 | 2011-08-24 | Sagem Orga GmbH | Device and method for coupling a cellular telecommunication device to an NFC terminal |
CN102223731A (zh) * | 2010-04-19 | 2011-10-19 | 中兴通讯股份有限公司 | 一种物联网中兼容多种终端的接口设备及实现方法 |
CN102609840A (zh) * | 2011-12-28 | 2012-07-25 | 潘铁军 | 一种多应用移动支付系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104253840A (zh) | 2014-12-31 |
US20160173652A1 (en) | 2016-06-16 |
WO2014206284A1 (zh) | 2014-12-31 |
EP3016353A1 (en) | 2016-05-04 |
EP3016353B1 (en) | 2020-06-17 |
EP3016353A4 (en) | 2017-02-15 |
US10623530B2 (en) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253840B (zh) | 用于支持多种类型安全载体之间通信的装置及其通信方法 | |
JP6138184B2 (ja) | 近距離通信における多重アプリケーション管理方法及びシステム | |
JP6305559B2 (ja) | セキュアエレメント管理方法及び端末 | |
CN104216761B (zh) | 一种在能够运行两种操作系统的装置中使用共享设备的方法 | |
CN103621046B (zh) | 网络通信方法和装置 | |
CN107920138A (zh) | 一种用户统一标识生成方法、装置及系统 | |
CN104798010B (zh) | 至少部分的串行存储协议兼容帧转换 | |
CN108390810B (zh) | 一种基于单Linux内核多Android系统网络虚拟化方法 | |
CN103036903B (zh) | 数据处理方法及Web Service组件 | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
EP3020178A1 (en) | Universal serial bus (usb) device access | |
CN108430061A (zh) | 由智能移动电话实现的辅助签订区块链合约的方法和装置 | |
CN106845974B (zh) | 一种实现近场通信的点对点通信的方法及装置 | |
US20160173609A1 (en) | Method and system for triggering an online interaction in connection with a physical product | |
CN108307286B (zh) | 一种基于nfc实现安卓设备间通信的方法和系统 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN103796331B (zh) | 一种近距离交换数据的方法和装置 | |
CN108650664A (zh) | 一种蓝牙连接的控制方法、终端以及蓝牙sim卡 | |
CN110298654B (zh) | 基于5g网络的手机支付方法和系统 | |
CN103701943B (zh) | Mac地址的控制方法及装置 | |
CN101917780A (zh) | 无线通信终端网络设备功能的实现方法及装置 | |
CN106557372B (zh) | 一种应用共享的方法、装置及终端 | |
CN104468646B (zh) | 信息处理方法、装置、电子设备及系统 | |
CN1332530C (zh) | 一种网管系统中业务层与设备通讯层信息交互的方法 | |
CN207676336U (zh) | 转接设备、远程通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |