CN105825247A - 一种读卡器及数据传输方法 - Google Patents
一种读卡器及数据传输方法 Download PDFInfo
- Publication number
- CN105825247A CN105825247A CN201510005062.6A CN201510005062A CN105825247A CN 105825247 A CN105825247 A CN 105825247A CN 201510005062 A CN201510005062 A CN 201510005062A CN 105825247 A CN105825247 A CN 105825247A
- Authority
- CN
- China
- Prior art keywords
- business
- module
- client
- card reader
- main control
- 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.)
- Granted
Links
Abstract
本发明实施例提供了一种读卡器及数据传输方法,包括:用于执行不同业务的业务模块,还包括:主控模块;主控模块,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对读卡器中用于执行该业务的业务模块的工作状态进行控制,调用业务模块执行该业务;其中,客户端安装在读卡器所连接的设备上,且用于为用户提供业务入口。本发明实施例提供的读卡器使用更加灵活、合理。本发明涉及通信技术领域。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种读卡器及数据传输方法。
背景技术
现有技术中,手机的应用已经深入到人们生活的各个方面,例如:可以利用手机刷公交卡、可以利用手机进行支付等。而很多业务是通过手机中的SIM卡实现的,因此,为了使用户识别卡(SIM,SubscriberIdentityModule)支持更多的业务,运营商提供了服务渠道。运营商提供的客服经理和网点可以使用一些工具对SIM卡进行读/写操作,以实现使SIM卡支持更多的业务。
这里的工具可以是读卡器,具体实施时,读卡器可以与安装有服务客户端的设备相连(例如:通过串口相连或者通过通用串行总线(USB,UniversalSerialBus)相连),客服经理可以操作客户端选择用户需要的服务,向读卡器发送指示,读卡器根据接收到的指示对用户的SIM卡进行读/写操作,读取SIM卡的信息,或者向SIM卡写入信息使得SIM卡支持用户需要的服务。
进一步地,现有技术中读卡器中各模块的工作模式是固定的。
以读卡器中包括的接触读卡模块和非接触读卡模块为例,接触读卡模块用于将SIM卡插入读卡器中,对SIM卡进行读/写操作,非接触读卡模块用于将SIM卡靠近读卡器,对SIM卡进行读操作(通常不支持写操作),并且接触读卡模块和非接触读卡模块不能同时工作,接触读卡模块的优先级总是高于非接触读卡模块的优先级,也就是说,当读卡器中插入第一SIM卡,并且读卡器靠近第二SIM卡时,只能由接触读卡模块对插入的第一SIM卡进行读取或写入,非接触读卡模块无法对靠近的第二SIM卡进行读取,因此,如果需要非接触读卡模块工作,必须保证读卡器中无SIM卡插入。导致对非接触读卡模块的操作不方便。
又以读卡器中包括的密码键盘模块为例,密码键盘模块通常在用户为SIM输入密码时使用,密码键盘模块长期处于打开状态,为非法用户的监听或者恶意输入提供了便利条件。
可见,现有技术中提供的读卡器中各模块采用固定工作模式的做法是不合理的。
发明内容
本发明实施例提供了一种读卡器及数据传输方法,用以解决现有技术中读卡器中各模块均采用固定工作模式不合理的问题。
基于上述问题,本发明实施例提供的一种读卡器,包括:用于执行不同业务的业务模块,还包括:主控模块;
所述主控模块,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对所述读卡器中用于执行所述业务的业务模块的工作状态进行控制,调用所述业务模块执行所述业务;
其中,所述客户端安装在所述读卡器所连接的设备上,且用于为用户提供业务入口。
本发明实施例提供的一种数据传输方法,包括:
读卡器中的主控模块接收客户端发送的客户端指示;
根据接收的客户端指示,确定需要执行的业务;
主控模块通过对读卡器中用于执行所述业务的业务模块的工作状态进行控制,调用业务模块执行所述业务;
其中,所述客户端安装在所述读卡器所连接的设备上,且用于为用户提供业务入口。
本发明实施例的有益效果包括:
本发明实施例提供的一种读卡器及数据传输方法,包括:用于执行不同业务的业务模块,还包括:主控模块;主控模块,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对读卡器中用于执行该业务的业务模块的工作状态进行控制,调用业务模块执行该业务;其中,客户端安装在读卡器所连接的设备上,且用于为用户提供业务入口。本发明实施例提供的读卡器,与现有技术中的读卡器相比,增加了主控模块,主控模块当接收到客户端指示时,首先确定需要执行的业务,再确定读卡器中执行该业务需要用到的业务模块,通过控制该需要用到的业务模块的工作状态调用该需要用到的业务模块对该业务进行执行,读卡器中的除主控模块之外的业务模块均根据主控模块的调用执行相应的业务,而不是按照固定的工作模式工作;以读卡器中业务模块包括的接触读卡模块和非接触读卡模块为例,当读卡器中插入第一SIM卡,并且读卡器靠近第二SIM卡时,不会按照默认的使用优先级来使用接触读卡模块和非接触读卡模块,而是根据主控模块的指示,当主控模块指示非接触读卡模块读卡时,即使接触读卡模块中插有第一SIM卡,也会根据主控模块的指示使非接触读卡模块读卡,以读卡器中业务模块包括的密码键盘模块为例,只有主控模块调用密码键盘模块时,密码键盘模块才会处于打开状态,一定程度上防止了非法用户的监听或者恶意输入;因此,与现有技术中各模块均采用固定的工作模式执行业务相比,本发明实施例提供的读卡器使用更加灵活、合理。
附图说明
图1为本发明实施例提供的一种读卡器的结构示意图;
图2为本发明实施例1提供的一种读卡器的结构示意图之一;
图3为本发明实施例1提供的一种读卡器的结构示意图之二;
图4为本发明实施例1提供的一种读卡器的结构示意图之三;
图5为本发明实施例2提供的一种数据传输方法流程图;
图6为本发明实施例2的例1提供的安全通道建立业务流程图;
图7为本发明实施例2的例2提供的余额查询业务流程图;
图8为本发明实施例2的例3提供的智能钱包卡注册业务流程图;
图9为本发明实施例2的例4提供的浦发联名卡应用安装及开通业务流程图。
具体实施方式
本发明实施例提供了一种读卡器及数据传输方法,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种读卡器,如图1所示,包括:用于执行不同业务的业务模块,进一步地,还包括:主控模块101;
主控模块101,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对读卡器中用于执行该业务的业务模块的工作状态进行控制,调用业务模块执行该业务;其中,客户端安装在读卡器所连接的设备上,且用于为用户提供业务入口。
进一步地,如图1所示,读卡器中用于执行不同业务的业务模块可以包括如下模块的一种或多种:接触读卡模块(可以遵循7816协议)、非接触读卡模块(可以遵循14443协议)、密码键盘模块、密钥存储模块、加密解密模块。业务模块分别与不同的业务对应,执行不同的业务。例如:接触读卡模块可以用于读写插入读卡器中的卡片;非接触读卡模块可以用于读靠近读卡器的卡片;密码键盘模块可以用于在需要的时候使用户输入个人身份号码(PIN,PersonalIdentificationNumber);密钥存储模块,可以用于存储密钥,在相关业务需要使用密钥时,可以调用该模块获取密钥;加密解密模块,可以用于为相关业务的数据加密解密。
进一步地,读卡器中的业务模块设置有工作状态,并由主控模块对业务模块的工作状态进行控制。业务模块的工作状态主要包括:工作状态,和非工作状态。当主控模块使能业务模块,该业务模块可以处于工作状态,当业务模块完成业务的执行,主控模块去使能该业务模块,该业务模块可以处于非工作状态,因此,主控模块通过对读卡器中用于执行该业务的业务模块的工作状态进行控制,调用业务模块执行该业务,可以实施为:主控模块使能读卡器中用于执行该业务的业务模块,并调用使能的业务模块执行该业务;并在使能的业务模块完成业务的执行之后将使能的业务模块去使能。
下面结合附图,用具体实施例对本发明提供的方法及相关设备进行详细描述。
实施例1:
本发明实施例1中,提供一种读卡器之一,如图2所示,还包括:接口模块201;
接口模块201,用于针对不同业务,通过为该业务提供的业务接口接收客户端发送的客户端指示,将客户端指示的格式转换为读卡器能够识别的格式,并将转换格式后的客户端指示发送给主控模块101;以及接收主控模块101向客户端发送的业务数据,并将业务数据的格式转换为客户端能够识别的格式,并通过业务数据所属业务对应的业务接口将转换格式后的业务数据发送给客户端;
主控模块101,具体用于通过接口模块201接收客户端发送的客户端指示;以及当需要向客户端发送业务数据时,通过接口模块201,向客户端发送业务数据。
进一步地,本发明实施例提供的读卡器中,将为不同业务提供的不同接口封装为接口模块201,接口模块201提供的各接口可以根据主控模块101的指示被使能以及调用。接口模块201提供的业务接口可以包括:应用协议数据单元(APDU,ApplicationProtocolDataUnit)交互业务接口、安全通道初始化业务接口、获取PIN码业务接口、密钥写入业务接口、密钥删除业务接口、密钥更新业务接口等。由于客户端发出的指示的格式与读卡器能够识别的指示的格式可能是不同的,接口模块201可以通过不同业务接口接收不同业务指示,并将接收的业务指示的格式转换为读卡器能够识别的格式,将转换格式后的客户指示发送给主控模块101;以及当主控模块101需要向客户端发送业务数据时,可以先将业务数据发送给接口模块201,接口模块201将业务数据的格式转换成客户端能够识别的格式,再通过业务数据所属业务对应的业务接口将转换格式后的业务数据发送给客户端。以获取PIN码业务为例,接口模块201接收客户端发送的获取PIN码的指示,并将该指示转换成读卡器能够识别的格式,发送给主控模块101,主控模块101根据转换格式后的指示使能密码键盘模块,用户通过密码键盘模块输入PIN码,密码键盘模块将获取的PIN码发送给主控模块101,主控模块101将密码键盘模块去使能,再将获取的PIN码发送给接口模块201,接口模块201将PIN码转换成客户端能够识别的格式反馈给客户端。
本发明实施例中,将通过接口模块201将各接口封装,能够便于主控模块101对各接口进行管理,通过接口模块201作为主控模块101和客户端之间的桥梁,对主控模块101和客户端之间传输的数据进行格式转换,为主控模块101屏蔽了不同客户端的数据格式差异,使主控模块101可以专注于为不同业务进行对应业务模块的调度。
本发明实施例提供一种读卡器之二,如图3所示,还包括:业务逻辑模块301;
业务逻辑模块301,用于存储并更新预设业务的执行逻辑;
主控模块101,具体用于当确定出需要执行的业务为预设业务时,从业务逻辑模块301中获取该业务的执行逻辑;使能读卡器中用于执行该业务的业务模块,以及按照获取的该业务的执行逻辑,依次调用读卡器中用于执行该业务的业务模块执行业务;并在使能的业务模块完成业务的执行之后将使能的业务模块去使能;或者
具体用于当确定出需要执行的业务为预设业务时,从业务逻辑模块301中获取该业务的执行逻辑;按照获取的该业务的执行逻辑,依次使能并调用读卡器中用于执行所述业务的业务模块;并在每个业务模块完成自身执行的部分之后,将该业务模块去使能。
进一步地,现有技术中,由于读卡器中未设置主控模块101,并且每个业务模块的工作模式都是固定的,基本上是“一问一答”式的工作模式,也就是说,接收客户端的一个指示,执行该指示向客户端反馈一个结果,本发明实施例中提供了主控模块101,对于“一问一答”不能完成的业务,也就是需要使用至少两个业务模块执行的业务,主控模块101对业务模块的调用需要对应的执行逻辑,而不同业务对应的业务模块以及业务的执行逻辑是不同的,因此,对于预设业务,例如:需要使用至少两个业务模块的业务,需要预先存储该业务执行时的执行逻辑,当主控模块101确定出的业务为预设业务时,则通过业务逻辑模块301获取对应的执行逻辑,使能所述读卡器中用于执行该业务的业务模块,以及按照获取的该业务的执行逻辑,依次调用读卡器中用于执行该业务的业务模块执行业务;并在每个业务模块完成自身执行的部分之后,将该业务模块去使能。
进一步地,主控模块101对业务执行模块的使能和调用的顺序可以有多种实现方式。例如,可以将执行该业务的所有业务模块均使能,再按照该业务的执行逻辑依次调用使能的业务模块,在业务完成执行之后,将所有执行该业务的业务模块去使能;或者在边使能边调用业务模块,并在调用之后立即将业务模块去使能,等到再次调用该业务模块时再使能该业务模块,直到完成业务的执行。
进一步地,可以设置状态寄存器保存各业务模块的工作状态,例如:使状态寄存器中的预设位存储对应的业务模块的状态,当某业务模块使能时,状态寄存器中该业务模块对应的位设置为1,当某业务模块去使能时,状态寄存器中该业务模块对应的为设置0。也可以为各业务模块设置使能超时时间,当断电或者超时时,业务模块的对应位变为0。
进一步地,业务逻辑模块301可以更新保存的预设业务的执行逻辑。
本发明实施例提供一种读卡器之三,如图4所示,还包括:安全认证模块401;
主控模块101,还用于在接收客户端指示以及发送业务数据之前,通过接口模块201接收客户端发送的携带有客户端存储的第一鉴权信息的连接请求;使能安全认证模块401,并将第一鉴权信息发送给安全认证模块401;以及接收安全认证模块401发送的鉴权结果;当鉴权成功时,确定客户端通过认证,使能接口模块201提供的平台鉴权接口;当鉴权失败时,确定客户端未通过认证,使接口模块201保持去使能状态;
安全认证模块401,用于接收主控模块101发送的第一鉴权信息;并按照与客户端预先约定的鉴权方式,使用第一鉴权信息对客户端进行鉴权;并将鉴权结果发送给主控模块101;
其中,当接口模块201处于去使能状态时,接口模块201仅用于接收客户端发送的连接请求。
进一步地,为了提高读卡器的安全性,防止恶意客户端通过读卡器窃取或者篡改卡片数据,本发明实施例中提供了安全认证模块401,首先对客户端进行安全认证。
在读卡器连接客户端并通电时,读卡器中只有主控模块101进入工作状态,其他模块均处于去使能状态,处于去使能状态的接口模块201仅能接收客户端发送的连接请求,无法响应客户端发送的指示,也无法通过接口模块201向客户端发送业务数据,处于去使能状态的除主控模块101和接口模块201之外的业务模块,均无法接收以及发送任何数据。也就是说,初始时,主控模块101通过接口模块201接收客户端发送的连接请求,获取连接请求中携带的第一鉴权信息,使能安全认证模块401,并将第一鉴权信息发送给安全认证模块401,安全认证模块401可以按照与客户端预先约定的鉴权方式,使用第一鉴权信息对客户端进行鉴权。
进一步地,预先约定的鉴权方式可以是任意鉴权方式,预先约定的鉴权方式也可以根据实际需要进行更新。例如:可以通过比对哈希值的方式进行鉴权,也就是说,客户端发送的连接请求中携带有存储与客户端的第一哈希值,安全认证模块401接收到第一哈希值之后,将第一哈希值与自身存储的第二哈希值进行比对,当第一哈希值与第二哈希值匹配时,确定客户端通过认证,客户端可信任,当第一哈希值与第二哈希值不匹配时,确定客户端未通过认证,客户端不可信任。
进一步地,当对客户端鉴权失败时,说明客户端不可信任,读卡器后续不会响应客户端发送的指示,也不会向客户端发送业务数据,使所述接口模块保持去使能状态,仅能接收客户端的连接请求;当对客户端鉴权成功时,说明客户端可信任,可以通过该客户端对客户端以及读卡器对应的云端平台进行认证,则可以使能接口模块201提供的平台鉴权接口。也就是说,在客户端通过认证之后,主控模块101可以使能接口模块201提供的平台鉴权接口,而不会使能接口模块201的其他业务接口,此时的接口模块201能够发送并响应用于对云端平台进行鉴权的数据,而不能响应其他指示以及发送其他业务数据。
进一步地,本发明实施例中,主控模块101,还用于在客户端通过认证之后,将读卡器的标识信息、以及读卡器存储的第二鉴权信息发送给客户端,通过客户端将读卡器的标识信息、以及第二鉴权信息发送给云端平台,并通过客户端转发后续与云端平台之间传输的认证数据,与云端平台之间的相互认证并登录云端平台;接收客户端转发的读卡器登录云端平台的登录结果;当登录结果为登录成功时,使能接口模块提供的与客户端提供业务对应的业务接口;其中,云端平台为客户端以及读卡器对应的业务。
进一步地,云端平台为客户端以及读卡器对应的业务平台,云端平台可以提供与客户端提供业务入口对应的业务数据,并且每个读卡器都具有唯一标识,云端平台可以对各读卡器的登录状态进行管理和维护,保证了各读卡器的安全使用。例如;当某读卡器丢失,可以向云端平台挂失该读卡器,那么,当该读卡器登录云端平台时,由于该读卡器处于挂失状态,云端平台会使该读卡器登录失败,恶意用户无法通过该读卡器获取或者篡改用户卡片信息。
进一步地,由于读卡器可以不具有网络模块,因此无法独立与云端平台进行数据交互,读卡器可以将自身的标识信息和存储的第二鉴权信息发送给客户端,由客户端将读卡器的标识信息和第二鉴权信息发送给云端平台,并且由客户端作为桥梁转发读卡器和云端平台之间的交互数据,实现客户端和云端平台之间的相互认证,并且使读卡器登录云端平台。读卡器和云端平台之间可以预先约定鉴权方式以及第二鉴权信息,并且预先约定的鉴权方式以及第二鉴权信息可以根据实际需要进行更新。
进一步地,由于读卡器可以与不同的客户端进行通信,而不同的客户端可以提供不同业务的入口,本步骤中主控模块使能接口模块提供的与客户端供业务对应的业务接口可以为使能接口模块提供的与当前连接的客户端提供业务对应的业务接口。
进一步地,当登录失败时,主控模块对客户端发送的连接请求反馈出错,并且接口模块仅能接收客户端发送的连接请求,但是回复错误信息,不会响应客户端发送的指示,也不会向客户端发送业务数据,使所述接口模块保持去使能状态。
下面举例对读卡器和云端平台的鉴权过程进行说明。假设第二鉴权信息为第一随机数,主要包括如下步骤:
步骤一、客户端接收到读卡器发送的读卡器标识以及第一随机数之后,获取自身存储的云端平台的地址信息(也可以由客户端将云端平台的地址信息发送给客户端),向云端平台发送该登录请求,
其中,登录请求中携带有读卡器标识以及第一随机数。
步骤二、云端平台对读卡器进行登录处理。
本步骤中,可以具体包括云端平台根据读卡器的标识信息确定读卡器的状态是否正常,如果读卡器为异常状态(例如:挂失状态、冻结状态等)则拒绝使读卡器登录。
步骤三、如果读卡器的状态为正常状态,则随机选取安全模式对接收到的第一随机数进行加密,将读卡器状态是否正常的信息、加密的第一随机数、采用的安全模式、以及云端平台生成的第二随机数发送给客户端。
本步骤中,安全模式可以包括加密算法选择、分段加密、密钥长度等。
步骤四、客户端接收到云端平台反馈的信息之后,将接收到的信息透传给读卡器。
步骤五、读卡器确定自身的状态为正常状态,并采用云端平台使用的安全模式对应的解密方式对加密的第一随机数解密,确定解密后的第一随机数与发送给云端平台的第一随机数一致,则可以确定云端平台可信,读卡器进入工作状态。采用上述安全模式将第二随机数加密,将加密的第二随机数发送给客户端。
进一步地,读卡器侧可以通过在寄存器设置登录状态标识位记录登录状态,如果登录成功则寄存器中表征登录状态的值为1,主控模块101可以使能接口模块201所封装的接口使能,使得接口模块201可以将客户端的指示接收并发送给主控模块101并且能将主控模块101发送的业务数据传输给客户端;如果登录失败则寄存器中表征登录状态的值为0,读卡器对接口调用返回出错。
步骤六、客户端将加密的第二随机数透传给云端平台。
步骤七、云端平台采用安全模式对应的解密模式对加密的第二随机数进行解密,确定解密后的第二随机数与发送给读卡器的第二随机数一致,使读卡器成功登录,并维护读卡器的状态为登录;若解密后的第二随机数与发送给读卡器的第二随机数不一致,则不允许读卡器登录云端平台,读卡器无法与云端平台进行业务数据传输。
进一步地,主控模块101,还可以用于在成功登录云端平台之后,接收云端平台发送的更新信息;根据更新信息对更新信息对应的信息进行更新;
其中,更新信息包括如下信息的一种或多种:更新的读卡器所运行的软件、更新的鉴权信息、更新的业务逻辑信息等。
进一步地,读卡器中很多信息可以根据实际需要进行更新,例如:读卡器上运行的软件、各种业务运行的业务逻辑的更新、新加入业务运行的业务逻辑、各种鉴权信息(密钥、鉴权方式等)的更新等,在云端平台和读卡器经过双方的认证并且彼此信任之后,云端平台可以将更新的信息发送给读卡器,读卡器对对应信息进行更新。
进一步地,本实施例中也可以在完成更新之后再使能接口模块的业务接口,开始后续的业务。
实施例2:
基于本发明实施例1提供的读卡器,本发明实施例2中,提供一种数据传输方法,如图5所示,具体包括如下步骤:
S501、主控模块通过接口模块接收客户端发送的携带有客户端存储的第一鉴权信息的连接请求。
S502、主控模块使能安全认证模块,并将S501中接收的第一鉴权信息发送给安全认证模块。
S503、安全认证模块按照与客户端预先约定的鉴权方式,使用S502中接收的第一鉴权信息对客户端进行鉴权。
S504、安全认证模块将鉴权结果发送给主控模块。
S505、主控模块判断S504中接收的鉴权结果是否为鉴权成功,若否,则进入步骤S506,否则,进入步骤S507。
S506、确定客户端未通过验证,使接口模块保持去使能状态。
其中,当接口模块处于去使能状态时,接口模块仅用于接收客户端发送的连接请求。
S507、确定客户端通过验证,使能接口模块提供的平台鉴权接口。
S508、主控模块将读卡器的标识信息、以及读卡器存储的第二鉴权信息发送给客户端,通过客户端将读卡器的标识信息、以及第二鉴权信息发送给云端平台,并通过客户端转发后续与云端平台之间传输的认证数据,与云端平台之间的相互认证并登录云端平台。
S509、接收客户端转发的读卡器登录云端平台的登录结果。
S510、判断S509中接收的登录结果是否为登录成功,若否,则进入步骤S511,否则,进入步骤S512。其中,所述云端平台为所述客户端以及所述读卡器对应的业务平台,且用于对所述读卡器的登录状态进行维护。
S511、对连接请求返回出错信息。
S512、使能接口模块提供的与客户端提供业务对应的业务接口。
S513、主控模块接收云端平台发送的更新信息。
S514、根据S513中接收的更新信息对更新信息对应的信息进行更新;
其中,更新信息包括如下信息的一种或多种:更新的读卡器所运行的软件、更新的鉴权信息、更新的业务逻辑信息。
S515、接口模块针对不同业务,通过为该业务提供的业务接口接收客户端发送的客户端指示。
S516、将S515中接收的客户端指示的格式转换为读卡器能够识别的格式。
S517、主控模块接收接口模块发送的转换格式后的客户端指示。
S518、根据接收的客户端指示,确定需要执行的业务。
S519、当确定出的业务为预设业务时,主控模块从业务逻辑模块中获取该业务的执行逻辑,
其中,业务逻辑模块,用于存储并更新预设业务的执行逻辑。
S520、使能读卡器中用于执行该业务的业务模块,以及按照获取的该业务的执行逻辑,依次调用读卡器中用于执行该业务的业务模块执行业务。
S521、在使能的业务模块完成业务的执行之后,将使能的业务模块去使能。
进一步地,步骤S520~步骤S521还可以实施为:按照获取的业务的执行逻辑,依次使能并调用读卡器中用于执行该业务的业务模块;并在每个业务模块完成自身执行的部分之后,将该业务模块去使能。
S522、当主控模块向客户端发送业务数据时,将业务数据发送给接口模块。
S523、接口模块将S522中接收的业务数据的格式转换为客户端能够识别的格式。
S524、接口模块通过业务数据所属业务对应的业务接口将转换格式后的业务数据发送给客户端。
下面以具体的业务为例,说明本发明实施例提供的数据传输方法在实际业务中的应用。
例1:安全通道建立业务。在步骤S514之后,客户端可以请求与读卡器建立安全通道,具体流程如图6所示:
S601、接口模块通过安全通道初始化业务接口接收客户端发送的安全通道初始化请求。
S602、将转换了格式的安全通道初始化请求发送给主控模块。
S603、主控模块根据接收的安全通道初始化请求,从业务逻辑模块中获取安全通道初始化业务的执行逻辑。
S604、主控模块使能读卡器中的接触读卡模块。
S605、主控模块使能读卡器中的密钥存储模块。
S606、主控模块使能读卡器中的加解密模块。
S607、接口模块接收客户端发送的加密的指示。
S608、将转换了格式的指示发送给主控模块。
S609、主控模块调用密钥存储模块获取预先约定的密钥。
S610、主控模块调用加解密模块根据获取的密钥对加密的指示解密。
S611、根据解密的指示,调用接触读卡模块(或者非接触读卡模块)将APDU指令发送给卡片。
S612、接触读卡模块(或者非接触读卡模块)接收卡片回复的APDU响应。
S613、接触读卡模块(或者非接触读卡模块)将APDU响应发送给主控模块。
S614、主控模块调用加解密模块使用获取的密钥对APDU响应加密。
S615、将加密的APDU响应发送给接口模块。
S616、接口模块通过安全通道初始化业务接口将加密的APDU响应发送给客户端。
S617、数据传输完成之后,主控模块去使能业务逻辑模块。
S618、主控模块去使能接触读卡模块(或者非接触读卡模块).
S619、主控模块去使能密钥存储模块。
S620、主控模块去使能加解密模块。
例2:余额查询业务。在步骤S514之后,客户端可以请求读卡器执行余额查询业务,假设本次通过非接触读卡模块执行该业务,具体流程如图7所示:
S701、客户端向读卡器发送余额查询请求。
S702、主控模块通过接口模块的APDU交互业务接口接收客户端发送的转换格式后的余额查询请求。
S703、主控模块使能非接触读卡模块,调用非接触读卡模块读取卡片余额。
S704、非接触读卡模块读取卡片余额。
S705、非接触读卡模块将读取到的卡片余额反馈给主控模块。
S706、主控模块将余额信息发送给接口模块。
S707、接口模块将余额信息进行格式转换后发送给客户端。
S708、主控模块将非接触读卡模块去使能。
进一步地,步骤S707和步骤S708的执行没有严格的先后顺序。
例3:智能钱包卡注册业务。在步骤S514之后,客户端可以请求读卡器执行智能钱包卡注册业务为卡片注册智能钱包,具体流程如图8所示:
S801、接口模块通过APDU交互业务接口接收客户端发送的智能钱包注册信息获取请求。
S802、接口模块将转换格式的智能钱包注册信息获取请求发送给主控模块。
S803、主控模块从业务逻辑模块中获取智能钱包卡注册业务的执行逻辑。
S804、主控模块将业务逻辑模块去使能。
S805、主控模块使能非接触读卡模块。
S806、调用非接触读卡模块获取智能钱包卡片的安全单元标识(SEID,SecurityElementID)信息。
S807、非接触读卡模块获取智能钱包卡片的SEID信息,并将读取到的SEID信息反馈给主控模块。
S808、主控模块将非接触读卡模块去使能。
S809、主控模块根据SEID信息判断卡片类型,使能接触读卡模块。
S810、调用接触读卡模块获取智能钱包卡片绑定的SIM卡的国际移动用户识别码(IMSI,InternationalMobileSubscriberIdentity)信息。
S811、接触读卡模块将获取的IMSI信息发送给主控模块。
S812、主控模块将接触读卡模块去使能。
S813、主控模块将获取的IMSI信息发送给接口模块。
S814、接口模块通过APDU交互业务接口将IMSI信息反馈给客户端。
进一步地,步骤S806和步骤S807的执行没有严格的先后顺序。本例中省略了接口模块进行格式转换的步骤。
例4:浦发联名卡应用安装及开通业务。在步骤S514之后,客户端可以请求读卡器执行浦发联名卡应用安装及开通业务,具体流程如图9所示:
S901、接口模块通过的APDU交互业务接口接收客户端发送的卡片信息请求。
S902、接口模块将格式转换后的卡片信息请求发送给主控模块。
S903、主控模块使能接触读卡模块。
S904、调用接触读卡模块将卡应用写入用户卡片。
S905、接触读卡模块接收用户卡片发送的成功写入的响应。
S906、接触读卡模块将用户卡发送的响应发送给主控模块。
S907、主控模块将响应发送给接口模块。
S908、接口模块将转换格式后的响应发送给客户端。
S909、接口模块通过APDU交互业务接口接收客户端发送的写入个人化数据进行开通的请求。
S910、接口模块将格式转换后的写入个人化数据进行开通的请求发送给主控模块。
S911、主控模块根据接收的请求,使能业务逻辑模块并从业务逻辑模块中获取浦发联名卡应用安装及开通业务的执行逻辑。
S912、主控模块使能相关模块与客户端建立安全通道。
进一步地,本步骤的执行可以参见例1,这里不再赘述。
S913、主控模块调用接触读卡模块向用户卡写入个人化数据。
S914、主控模块使能密码键盘模块。
S915、调用密码键盘模块获取用户输入的PIN码。
S916、主控模块根据预设安全等级以及预设加密方式将用户输入的PIN码加密,发送给接口模块。
S917、接口模块通过获取PIN码业务接口将PIN码发送给客户端完成开通。
S918、主控模块将相关业务模块去使能。
本发明实施例提供的一种读卡器及数据传输方法,包括:用于执行不同业务的业务模块,还包括:主控模块;主控模块,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对读卡器中用于执行该业务的业务模块的工作状态进行控制,调用业务模块执行该业务;其中,客户端安装在读卡器所连接的设备上,且用于为用户提供业务入口。本发明实施例提供的读卡器,与现有技术中的读卡器相比,增加了主控模块,主控模块当接收到客户端指示时,首先确定需要执行的业务,再确定读卡器中执行该业务需要用到的业务模块,使能并调用该需要用到的业务模块对该业务进行执行,读卡器中的除主控模块之外的业务模块均根据主控模块的调用执行相应的业务,而不是按照固定的工作模式工作;以读卡器中业务模块包括的接触读卡模块和非接触读卡模块为例,当读卡器中插入第一SIM卡,并且读卡器靠近第二SIM卡时,不会按照默认的使用优先级来使用接触读卡模块和非接触读卡模块,而是根据主控模块的指示,当主控模块指示非接触读卡模块读卡时,即使接触读卡模块中插有第一SIM卡,也会根据主控模块的指示使非接触读卡模块读卡,以读卡器中业务模块包括的密码键盘模块为例,只有主控模块调用密码键盘模块时,密码键盘模块才会处于打开状态,一定程度上防止了非法用户的监听或者恶意输入;因此,与现有技术中各模块均采用固定的工作模式执行业务相比,本发明实施例提供的读卡器使用更加灵活、合理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种读卡器,包括:用于执行不同业务的业务模块,其特征在于,还包括:主控模块;
所述主控模块,用于接收客户端发送的客户端指示,根据接收的客户端指示,确定需要执行的业务;通过对所述读卡器中用于执行所述业务的业务模块的工作状态进行控制,调用所述业务模块执行所述业务;
其中,所述客户端安装在所述读卡器所连接的设备上,且用于为用户提供业务入口。
2.如权利要求1所述的读卡器,其特征在于,还包括:接口模块;
所述接口模块,用于针对不同业务,通过为该业务提供的业务接口接收客户端发送的客户端指示,将所述客户端指示的格式转换为所述读卡器能够识别的格式,并将转换格式后的客户端指示发送给所述主控模块;以及接收所述主控模块向所述客户端发送的业务数据,并将所述业务数据的格式转换为所述客户端能够识别的格式,并通过所述业务数据所属业务对应的业务接口将转换格式后的业务数据发送给所述客户端;
所述主控模块,具体用于通过所述接口模块接收所述客户端发送的客户端指示;以及当需要向所述客户端发送业务数据时,将需要向所述客户端发送业务数据发送给所述接口模块。
3.如权利要求1或2所述的读卡器,其特征在于,还包括:业务逻辑模块;
所述业务逻辑模块,用于存储并更新预设业务的执行逻辑;
所述主控模块,具体用于当确定出需要执行的业务为预设业务时,从所述业务逻辑模块中获取所述业务的执行逻辑;使能所述读卡器中用于执行所述业务的业务模块,以及按照获取的所述业务的执行逻辑,依次调用所述读卡器中用于执行所述业务的业务模块执行业务;并在使能的业务模块完成业务的执行之后将使能的业务模块去使能;或者
具体用于当确定出需要执行的业务为预设业务时,从所述业务逻辑模块中获取所述业务的执行逻辑;按照获取的所述业务的执行逻辑,依次使能并调用所述读卡器中用于执行所述业务的业务模块;并在每个业务模块完成自身执行的部分之后,将该业务模块去使能。
4.如权利要求2所述的读卡器,其特征在于,还包括:安全认证模块;
所述主控模块,还用于在接收所述客户端指示以及发送业务数据之前,通过所述接口模块接收所述客户端发送的携带有所述客户端存储的第一鉴权信息的连接请求;使能所述安全认证模块,并将所述第一鉴权信息发送给所述安全认证模块;以及接收所述安全认证模块发送的鉴权结果;当鉴权成功时,确定所述客户端通过认证,使能所述接口模块提供的平台鉴权接口;当鉴权失败时,确定所述客户端未通过认证,使所述接口模块保持去使能状态;
所述安全认证模块,用于接收所述主控模块发送的所述第一鉴权信息;并按照与所述客户端预先约定的鉴权方式,使用所述第一鉴权信息对所述客户端进行鉴权;并将鉴权结果发送给所述主控模块;
其中,当所述接口模块处于去使能状态时,所述接口模块仅用于接收所述客户端发送的连接请求。
5.如权利要求4所述的读卡器,其特征在于,所述主控模块,还用于在所述客户端通过认证之后,将所述读卡器的标识信息、以及所述读卡器存储的第二鉴权信息发送给所述客户端,通过所述客户端将所述读卡器的标识信息、以及所述第二鉴权信息发送给云端平台,并通过所述客户端转发后续与云端平台之间传输的认证数据,与云端平台之间的相互认证并登录所述云端平台;接收所述客户端转发的所述读卡器登录所述云端平台的登录结果;当登录结果为登录成功时,使能所述接口模块提供的与所述客户端所述提供业务对应的业务接口;
其中,所述云端平台为所述客户端以及所述读卡器对应的业务平台。
6.如权利要求5所述的读卡器,其特征在于,所述主控模块,还用于在成功登录所述云端平台之后,接收所述云端平台发送的更新信息;根据所述更新信息对所述更新信息对应的信息进行更新;
其中,所述更新信息包括如下信息的一种或多种:更新的所述读卡器所运行的软件、更新的鉴权信息、更新的业务逻辑信息。
7.一种数据传输方法,其特征在于,包括:
读卡器中的主控模块接收客户端发送的客户端指示;
根据接收的客户端指示,确定需要执行的业务;
所述主控模块通过对所述读卡器中用于执行所述业务的业务模块的工作状态进行控制,调用所述业务模块执行所述业务;
其中,所述客户端安装在所述读卡器所连接的设备上,且用于为用户提供业务入口。
8.如权利要求7所述的方法,其特征在于,在主控模块接收客户端发送的客户端指示之前,还包括:
读卡器中的接口模块针对不同业务,通过为该业务提供的业务接口接收客户端发送的客户端指示;并
将所述客户端指示的格式转换为所述读卡器能够识别的格式;
主控模块接收客户端发送的客户端指示,具体包括:
主控模块接收所述接口模块发送的转换格式后的客户端指示;
当所述主控模块向所述客户端发送业务数据时,所述方法还包括:
所述主控模块将所述业务数据发送给所述接口模块;
所述接口模块将所述业务数据的格式转换为所述客户端能够识别的格式,并通过所述业务数据所属业务对应的业务接口将转换格式后的业务数据发送给所述客户端。
9.如权利要求7或8所述的方法,其特征在于,所述主控模块通过对所述读卡器中用于执行所述业务的业务模块的工作状态进行控制,调用所述业务模块执行所述业务,具体包括:
当确定出的业务为预设业务时,所述主控模块从业务逻辑模块中获取所述业务的执行逻辑;使能所述读卡器中用于执行所述业务的业务模块,以及按照获取的所述业务的执行逻辑,依次调用所述读卡器中用于执行所述业务的业务模块执行业务;并在使能的业务模块完成业务的执行之后将使能的业务模块去使能;或者
所述主控模块使能所述读卡器中用于执行所述业务的业务模块,并调用使能的业务模块执行所述业务,在使能的业务模块完成业务的执行之后将使能的业务模块去使能,具体包括:
当确定出需要执行的业务为预设业务时,从所述业务逻辑模块中获取所述业务的执行逻辑;
按照获取的所述业务的执行逻辑,依次使能并调用所述读卡器中用于执行所述业务的业务模块;并
在每个业务模块完成自身执行的部分之后,将该业务模块去使能,
其中,所述业务逻辑模块,用于存储并更新预设业务的执行。
10.如权利要求8所述的方法,其特征在于,所述主控模块在接收所述客户端指示以及发送业务数据之前,所述方法还包括:
所述主控模块通过所述接口模块接收所述客户端发送的携带有所述客户端存储的第一鉴权信息的连接请求;并
使能安全认证模块,并将所述第一鉴权信息发送给所述安全认证模块;
所述安全认证模块按照与所述客户端预先约定的鉴权方式,使用所述第一鉴权信息对所述客户端进行鉴权;并
将鉴权结果发送给所述主控模块;
当鉴权成功时,所述主控模块确定所述客户端通过验证,使能所述接口模块提供的平台鉴权接口;
当鉴权失败时,所述主控模块确定所述客户端未通过验证,使所述接口模块保持去使能状态;
其中,当所述接口模块处于去使能状态时,所述接口模块仅用于接收所述客户端发送的连接请求。
11.如权利要求10所述的方法,其特征在于,在所述客户端通过验证之后,还包括:
所述主控模块将所述读卡器的标识信息、以及所述读卡器存储的第二鉴权信息发送给所述客户端,通过所述客户端将所述读卡器的标识信息、以及所述第二鉴权信息发送给云端平台,并通过所述客户端转发后续与云端平台之间传输的认证数据,与云端平台之间的相互认证并登录所述云端平台;并
接收所述客户端转发的所述读卡器登录所述云端平台的登录结果;
当登录结果为登录成功时,使能所述接口模块提供的与所述客户端所述提供业务对应的业务接口;
其中,所述云端平台为所述客户端以及所述读卡器对应的业务平台。
12.如权利要求11所述的方法,其特征在于,在成功登录所述云端服务器之后,还包括:
接收所述云端平台发送的更新信息;
根据所述更新信息对所述更新信息对应的信息进行更新;
其中,所述更新信息包括如下信息的一种或多种:更新的所述读卡器所运行的软件、更新的鉴权信息、更新的业务逻辑信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005062.6A CN105825247B (zh) | 2015-01-06 | 2015-01-06 | 一种读卡器及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005062.6A CN105825247B (zh) | 2015-01-06 | 2015-01-06 | 一种读卡器及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105825247A true CN105825247A (zh) | 2016-08-03 |
CN105825247B CN105825247B (zh) | 2018-12-18 |
Family
ID=56513626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510005062.6A Active CN105825247B (zh) | 2015-01-06 | 2015-01-06 | 一种读卡器及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105825247B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632819A (zh) * | 2017-03-24 | 2018-10-09 | 国民技术股份有限公司 | 一种业务实现方法及系统 |
CN113327358A (zh) * | 2021-04-08 | 2021-08-31 | 厦门路桥信息股份有限公司 | 防误刷过闸方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221641A (zh) * | 2007-12-20 | 2008-07-16 | 魏恺言 | 一种联机交易的安全确认设备及联机交易方法 |
KR20110078601A (ko) * | 2009-12-31 | 2011-07-07 | 서정훈 | 안전한 비밀번호 입출력기능을 가진 usb보안장치 및 인증방법 |
CN103617516A (zh) * | 2013-11-27 | 2014-03-05 | 天津市盘石纳新科技有限公司 | 一种用于库房电子标签锁的智能一体机 |
CN104408389A (zh) * | 2014-08-27 | 2015-03-11 | 北京中电华大电子设计有限责任公司 | 基于非接触与无线模式的双模读卡器 |
-
2015
- 2015-01-06 CN CN201510005062.6A patent/CN105825247B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221641A (zh) * | 2007-12-20 | 2008-07-16 | 魏恺言 | 一种联机交易的安全确认设备及联机交易方法 |
KR20110078601A (ko) * | 2009-12-31 | 2011-07-07 | 서정훈 | 안전한 비밀번호 입출력기능을 가진 usb보안장치 및 인증방법 |
CN103617516A (zh) * | 2013-11-27 | 2014-03-05 | 天津市盘石纳新科技有限公司 | 一种用于库房电子标签锁的智能一体机 |
CN104408389A (zh) * | 2014-08-27 | 2015-03-11 | 北京中电华大电子设计有限责任公司 | 基于非接触与无线模式的双模读卡器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632819A (zh) * | 2017-03-24 | 2018-10-09 | 国民技术股份有限公司 | 一种业务实现方法及系统 |
CN113327358A (zh) * | 2021-04-08 | 2021-08-31 | 厦门路桥信息股份有限公司 | 防误刷过闸方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105825247B (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493261B (zh) | 基于区块链的验证码获取方法、客户端、服务器及存储介质 | |
US11218323B2 (en) | Method and system for producing a secure communication channel for terminals | |
CN1717893B (zh) | 设备密钥 | |
EP4081921B1 (en) | Contactless card personal identification system | |
US10038681B2 (en) | Method for managing an access from a remote device to data accessible from a local device and corresponding system | |
JP2017505048A (ja) | 電子署名方法、システムおよび装置 | |
US20230252451A1 (en) | Contactless card with multiple rotating security keys | |
CN111191217A (zh) | 一种密码管理方法及相关装置 | |
CN111404706B (zh) | 应用下载方法、安全元件、客户端设备及服务管理设备 | |
CN107566112A (zh) | 动态加解密方法及服务器 | |
CN115066863A (zh) | 用于利益拒绝系统中的跨账户设备密钥转移的系统和技术 | |
US8750522B2 (en) | Method and security system for the secure and unequivocal encoding of a security module | |
CN105825247A (zh) | 一种读卡器及数据传输方法 | |
US11206129B2 (en) | First entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products | |
CN109949457B (zh) | 智能门锁控制方法及相关装置 | |
CN101883357A (zh) | 一种终端与智能卡之间的相互认证方法、装置及系统 | |
CN106685931B (zh) | 智能卡应用管理方法和系统、终端和智能卡 | |
CN105072136A (zh) | 一种基于虚拟驱动的设备间安全认证方法和系统 | |
US20170026366A1 (en) | Providing a virtual connection for transmitting application data units | |
JP2007135113A (ja) | Icカードを用いたセキュア端末システムおよびその方法 | |
CN112084485A (zh) | 数据获取方法、装置、设备以及计算机存储介质 | |
CN111246480A (zh) | 基于sim卡的应用通信方法、系统、设备及存储介质 | |
KR20200090490A (ko) | 디지털 키 공유 시스템에서 이모빌라이저 토큰을 업데이트하는 장치 및 방법 | |
EP2985724B1 (en) | Remote load and update card emulation support | |
CN115331336B (zh) | 基于卡模拟方案的nfc数字钥匙移动设备适配方法及装置 |
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 |