CN104573591A - 一种安全读卡器及其工作方法 - Google Patents

一种安全读卡器及其工作方法 Download PDF

Info

Publication number
CN104573591A
CN104573591A CN201510002346.XA CN201510002346A CN104573591A CN 104573591 A CN104573591 A CN 104573591A CN 201510002346 A CN201510002346 A CN 201510002346A CN 104573591 A CN104573591 A CN 104573591A
Authority
CN
China
Prior art keywords
instruction
escape way
card
channel instruction
key
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
Application number
CN201510002346.XA
Other languages
English (en)
Other versions
CN104573591B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201510002346.XA priority Critical patent/CN104573591B/zh
Publication of CN104573591A publication Critical patent/CN104573591A/zh
Application granted granted Critical
Publication of CN104573591B publication Critical patent/CN104573591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种安全读卡器及其工作方法,属于信息安全领域。所述方法包括读卡器上电初始化后,使能总中断,并在完成USB枚举之后进入主循环流程:若接收到USB数据包,则判断USB数据包中包含的指令的类型,当指令为第一预设通道指令时,检查该指令是否需要在安全通道中传输,若需要但安全通道未建立,则建立安全通道,然后将该指令通过安全通道发送给卡片,若需要且安全通道已建立,则将该指令通过安全通道发送给卡片,若不需要则将该指令直接发送给卡片,当指令为其他通道指令时,执行相应操作后重新执行主循环流程。本发明的有益效果在于:能够降低通信过程中敏感信息泄露的风险,提高通信的安全性。

Description

一种安全读卡器及其工作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种安全读卡器及其工作方法。
背景技术
在现有技术中,读卡器作为上位机和卡片之间的通讯通道,在接收到上位机发送的包含指令的数据包时,获取数据包中的指令,将获取到的指令发送给卡片,接收卡片返回的数据并发送给上位机。由于读卡器与卡片之间只能传输明文的APDU(Application Protocol Data Unit,应用协议数据单元),而上位机与卡片之间的通讯数据有时会包含敏感信息,如PIN或密钥信息等,在通讯过程中存在安全隐患,并且在上位机与卡片的通讯过程中,读卡器仅起到转接的作用,敏感信息均是从上位机输入的,而上位机的环境存在木马等危险因素,也增加了通讯的风险。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种安全读卡器及其工作方法。
本发明方法是通过下述技术方案实现的:
本发明提供的一种安全读卡器的工作方法,其基本实施过程为:所述读卡器上电初始化后,使能总中断,并在完成USB枚举之后进入主循环流程,所述主循环流程包括以下步骤:
步骤S1:判断是否接收到上位机发送的USB数据包,是则执行步骤S2,否则重新执行主循环流程;
步骤S2:根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,若为第一预设通道指令则执行步骤S3,若为其他通道指令则执行通用读卡器的常规操作后,重新执行主循环流程;
步骤S3:根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,若不需要在安全通道中传输则执行步骤S4,若需要在安全通道中传输则执行步骤S5;
步骤S4:将所述第一预设通道指令直接发送给卡片,执行步骤S8;
步骤S5:检查安全通道是否已建立,是则执行步骤S6,否则执行步骤S7;
步骤S6:将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
步骤S7:建立与卡片之间的安全通道,将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
步骤S8:根据卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机,重新执行主循环流程。
上述主循环流程的步骤S5之前,还可以包括:判断所述第一预设通道指令的类型,若所述第一预设通道指令为建立安全通道指令,则建立与卡片之间的安全通道,设置返回状态,并将返回状态返回给所述上位机,重新执行主循环流程,否则执行所述步骤S5;此时,上述主循环流程的步骤S7还可以替换为,设置返回状态为安全通道未建立,并将返回状态返回给所述上位机,重新执行主循环流程。
上述主循环流程中,所述判断是否接收到上位机发送的USB数据包,可以具体包括:检查USB接收标志是否被置位,是则接收到上位机发送的USB数据包,否则未接收到上位机发送的USB数据包;此时,上述主循环流程的步骤S1中,当接收到上位机发送的USB数据包时,还包括复位所述USB接收标志;所述方法中还包括:当USB中断被触发时,所述读卡器获取上位机发送的USB数据包,置位所述USB接收标志。
上述主循环流程中,所述根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,可以具体包括:判断所述USB数据包中的第一个字节,若为预设数据则所述USB数据包中包含的指令为第一预设通道指令,否则所述USB数据包中包含的指令为其他通道指令。
上述主循环流程中,所述根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,可以具体包括:判断所述USB数据包中的第十一个字节的高位端第6个比特,若所述比特为第一预设值则所述第一预设通道指令不需要在安全通道中传输,若所述比特为第二预设值则所述第一预设通道指令需要在安全通道中传输。
上述主循环流程中,所述检查安全通道是否已建立,可以具体包括:检查安全通道标志是否被置位,是则安全通道已建立,否则安全通道未建立;此时,上述主循环流程的步骤S7中,所述建立与卡片之间的安全通道之后,还包括置位所述安全通道标志;所述步骤S2中,还包括:若所述USB数据包中包含的指令为第三预设通道指令,且所述第三预设通道指令为给卡片下电指令,则对卡片下电,并复位所述安全通道标志。
进一步地,所述读卡器进入上述主循环流程之前,还可以包括:检查并记录卡槽状态,上报卡槽状态给所述上位机;更进一步地,上述主循环流程的步骤S1之前还可以包括:检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则上报卡槽状态给所述上位机后执行步骤S1;或者上述主循环流程的步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还可以包括:检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则上报卡槽状态给所述上位机后重新执行主循环流程;再进一步地,当判断出与上次记录的卡槽状态不同之后,还可以包括:若检查并记录的卡槽状态为无卡,则复位所述安全通道标志;
或者,进一步地,所述读卡器进入上述主循环流程之前,还可以包括:检查并记录卡槽状态,置位上报卡槽状态标志;此时,上述主循环流程的步骤S1之前,还包括判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,执行步骤S1,若未被置位则执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还包括判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,重新执行主循环流程,若未被置位则重新执行主循环流程;更进一步地,上述主循环流程的步骤S1之前,还可以包括:检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则置位所述上报卡槽状态标志后执行步骤S1;或者,上述主循环流程的步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还可以包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则置位所述上报卡槽状态标志后重新执行主循环流程;再进一步地,当判断出与上次记录的卡槽状态不同之后,还可以包括:若检查并记录的卡槽状态为无卡,则复位所述安全通道标志。
上述主循环流程中,所述建立与卡片之间的安全通道,可以具体包括:与卡片协商生成数据密钥、认证密钥和会话密钥;所述将所述第一预设通道指令通过安全通道发送给卡片,具体包括:用所述数据密钥加密所述第一预设通道指令中的敏感信息,用所述会话密钥计算包含敏感信息密文的第一预设通道指令的消息认证码,用所述认证密钥加密包含敏感信息密文的第一预设通道指令,将所述消息认证码和包含敏感信息密文的第一预设通道指令的密文发送给卡片。
所述与卡片协商生成数据密钥、认证密钥和会话密钥之前,还包括:获取所述读卡器中预置的初始密钥;所述与卡片协商生成数据密钥、认证密钥和会话密钥,具体为:根据所述初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥;
或者,所述与卡片协商生成数据密钥、认证密钥和会话密钥之前,还包括:获取所述读卡器中保存的初始密钥;所述与卡片协商生成数据密钥、认证密钥和会话密钥,具体为:根据所述初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥;此时,上述主循环流程的步骤S2中,还包括:若所述USB数据包中包含的指令为第二预设通道指令,且所述第二预设通道指令为下载密钥指令,则保存所述下载密钥指令中的初始密钥。
所述第一预设通道指令包括登陆指令;所述登陆指令需要在安全通道中传输;当所述USB数据包中包含的第一预设通道指令为所述登陆指令时,所述将所述第一预设通道指令通过安全通道发送给卡片之前,还包括:判断PIN的来源,若来源于默认PIN则获取读卡器中预置的默认PIN,添加获取的默认PIN到所述登陆指令中,若来源于键盘输入则获取用户输入的PIN,添加获取的PIN到所述登陆指令中。
所述第一预设通道指令包括输入密钥信息指令;所述输入密钥信息指令需要在安全通道中传输;当所述USB数据包中包含的第一预设通道指令为所述输入密钥信息指令时,所述将所述第一预设通道指令通过安全通道发送给卡片之前,还包括:判断密钥信息的来源,若来源于卡片则获取卡片中存储的密钥信息,显示获取的密钥信息,当接收到用户确认信息时添加获取的密钥信息到所述输入密钥信息指令中,若来源于键盘输入则获取用户输入的密钥信息,显示获取的密钥信息,当接收到用户确认信息时添加获取的密钥信息到所述输入密钥信息指令中。
所述第一预设通道指令包括修改用户数据指令;所述修改用户数据指令需要在安全通道中传输;当所述USB数据包中包含的第一预设通道指令为所述修改用户数据指令时,所述将所述第一预设通道指令通过安全通道发送给卡片之前,还包括:判断更新前的PIN和更新后的PIN的来源,当更新前的PIN来源于默认PIN时,获取读卡器中预置的默认PIN,添加获取的PIN到所述修改用户数据指令中,当更新前的PIN来源于用户输入时,获取用户输入的PIN,添加获取的PIN到所述修改用户数据指令中,当更新后的PIN来源于默认PIN时,获取读卡器中预置的默认PIN,添加获取的PIN到所述修改用户数据指令中,当更新后的PIN来源于用户输入时,获取用户输入的PIN,添加获取的PIN到所述修改用户数据指令中。
所述第一预设通道指令包括获取用户名称指令;所述获取用户名称指令不需要在安全通道中传输;当所述USB数据包中包含的第一预设通道指令为所述获取用户名称指令时,所述步骤S4中,所述将所述第一预设通道指令直接发送给卡片之后,还包括:显示卡片返回的用户名称。
本发明提供的一种安全读卡器,其基本实施过程为:所述安全读卡器包括初始化模块和功能模块,所述初始化模块与所述功能模块相连,所述初始化模块用于在所述安全读卡器上电后进行初始化,使能总中断,以及进行USB枚举,所述功能模块用于在所述初始化模块完成USB枚举后执行主循环流程;
所述功能模块具体包括:
数据包接收判断单元,用于判断是否接收到上位机发送的USB数据包;
指令类型判断单元,用于当所述数据包接收判断单元判断出接收到上位机发送的USB数据包时,根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型;
安全传输标识判断单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为第一预设通道指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
安全通道检查单元,用于当所述安全传输标识判断单元判断出所述第一预设通道指令需要在安全通道中传输时,检查安全通道是否已建立;
安全通道建立单元,用于当所述安全通道检查单元检查到安全通道未建立时,建立与卡片之间的安全通道;
安全传输单元,用于当所述安全通道检查单元检查到安全通道已建立时,或者当所述安全通道建立单元建立与卡片之间的安全通道之后,将所述第一预设通道指令通过安全通道发送给卡片,接收卡片的返回结果;
直接传输单元,用于当所述安全传输标识判断单元判断出所述第一预设通道指令不需要在安全通道中传输时,将所述第一预设通道指令直接发送给卡片,接收卡片的返回结果;
上报单元,用于根据所述安全传输单元和所述直接传输单元接收到的卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机;
常规操作执行单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为其他通道指令时,执行通用读卡器的常规操作。
本发明方法的有益效果在于,本发明提供的方法中,在读卡器和卡片之间使用安全通道传输包含敏感信息的特定指令,降低了通信过程中敏感信息泄露的风险,能够提高通信的安全性;进一步地,通过实现敏感信息从读卡器上的输入,此时上位机只需要下发一条相应功能的控制指令给读卡器,读卡器就能完成该功能的实现,从而避免敏感信息暴露在不安全的环境中,进一步地提高了通信的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种安全读卡器的工作方法的流程图;
图2为本发明实施例二提供的一种安全读卡器的工作方法的流程图;
图3为本发明实施例二提供的一种安全读卡器的工作方法中第一预设通道指令的处理流程图;
图4为本发明实施例二提供的第一预设通道指令的处理流程中修改用户数据指令的处理流程图;
图5为本发明实施例三提供的一种安全读卡器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种安全读卡器的工作方法,具体包括:所述读卡器上电初始化后,使能总中断,并在完成USB枚举之后进入主循环流程,所述主循环流程如图1所示,包括:
步骤S1:判断是否接收到上位机发送的USB数据包,是则执行步骤S2,否则重新执行主循环流程;
步骤S2:根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,若为第一预设通道指令则执行步骤S3,若为其他通道指令则执行通用读卡器的常规操作后,重新执行主循环流程;
步骤S3:根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,是则执行步骤S5,否则执行步骤S4;
步骤S4:将所述第一预设通道指令直接发送给卡片,执行步骤S8;
步骤S5:检查安全通道是否已建立,是则执行步骤S6,否则执行步骤S7;
本实施例中,步骤S5之前还可以包括:判断所述第一预设通道指令的类型,若所述第一预设通道指令为建立安全通道指令,则建立与卡片之间的安全通道,设置返回状态,并将返回状态返回给所述上位机,重新执行主循环流程,否则执行所述步骤S5。
步骤S6:将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
步骤S7:建立与卡片之间的安全通道,将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
具体地,建立与卡片之间的安全通道包括:读卡器与卡片协商生成数据密钥、认证密钥和会话密钥;将所述第一预设通道指令通过安全通道发送给卡片包括:读卡器用所述数据密钥加密所述第一预设通道指令中的敏感信息,用所述会话密钥计算包含敏感信息密文的第一预设通道指令的消息认证码,用所述认证密钥加密包含敏感信息密文的第一预设通道指令,将所述消息认证码和包含敏感信息密文的第一预设通道指令的密文发送给卡片。
具体地,本实施例中,读卡器根据初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥;其中,初始密钥可以是读卡器中预先设置的,也可以是读卡器从上位机发送给读卡器的下载密钥指令中获取到并保存的,当初始密钥为读卡器从上位机发送给读卡器的下载密钥指令中获取到并保存的时,所述步骤S2中还包括:若所述USB数据包中包含的指令为第二预设通道指令,且所述第二预设通道指令为下载密钥指令,则保存所述下载密钥指令中的初始密钥。
本实施例中,当步骤S5之前包括判断所述第一预设通道指令的类型,以及当所述第一预设通道指令为建立安全通道指令时,建立与卡片之间的安全通道,设置返回状态,并将返回状态返回给所述上位机,重新执行主循环流程的步骤时,步骤S7还可以替换为:设置返回状态为安全通道未建立,并将返回状态返回给所述上位机,重新执行主循环流程。
步骤S8:根据卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机,重新执行主循环流程。
本实施例中,读卡器进入所述主循环流程之前还可以包括:检查并记录卡槽状态,上报卡槽状态给所述上位机。
所述主循环流程中,所述步骤S1之前,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则上报卡槽状态给所述上位机后执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则上报卡槽状态给所述上位机后重新执行主循环流程。
所述方法中还可以包括:读卡器进入所述主循环流程之前,检查并记录卡槽状态,置位上报卡槽状态标志;所述主循环流程中,所述步骤S1之前,判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,执行步骤S1,若未被置位则执行步骤S1,或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,重新执行主循环流程,若未被置位则重新执行主循环流程。进一步地,所述方法中还可以包括:所述步骤S1之前,检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则置位所述上报卡槽状态标志后执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则置位所述上报卡槽状态标志后重新执行主循环流程。
实施例二
本发明实施例二提供一种安全读卡器的工作方法,如图2至图4所示,所述方法包括读卡器上电后执行以下操作:
步骤101:初始化硬件寄存器、软件标志、状态,清空临时缓存,初始化外围设备;
具体地,本实施例中,外围设备包括:显示设备和输入设备等。
步骤102:判断是否已完成USB枚举,是则继续执行步骤103,否则重复执行步骤102;
步骤103:检查卡槽当前状态,并将卡槽当前状态记为第一卡槽状态,置位上报卡槽状态标志;
具体地,本实施例中,读卡器检查卡到位检测管脚的电平,若为低电平则卡槽当前状态为有卡,记录第一卡槽状态为有卡,若为高电平则卡槽当前状态为无卡,记录第一卡槽状态为无卡。
步骤104:判断是否接收到上位机发送的USB数据包,是则执行步骤105,否则执行步骤132;
具体地,本实施例中,判断是否接收到USB数据包包括:检查USB接收标志是否被置位,是则接收到USB数据包,否则未接收到USB数据包,相应地,步骤104中,当判断出接收到USB数据包时还包括复位USB接收标志;其中,当USB中断被触发时,读卡器获取上位机发送的USB数据包,并置位USB接收标志。
步骤105:判断USB数据包中包含的指令的类型,若为第二预设通道指令则执行步骤106,若为第一预设通道指令则执行步骤109,若为其他通道指令则执行通用读卡器的常规操作后,执行步骤132;
具体地,判断USB数据包中包含的指令的类型,具体包括:判断USB数据包的第一个字节,若为0x6B则USB数据包中包含的指令为第二预设通道指令,若为0x6F则USB数据包中包含的指令为第一预设通道指令;若为0x62、0x63、0x65、0x6C、0x6D、0x61、0x6E、0x6A、0x69、0x71、0x72或0x73则USB数据包中包含的指令为其他类型指令。
步骤106:判断USB数据包中包含的第二预设通道指令的类型,若为下载密钥指令则执行步骤107,否则执行步骤108;
本实施例中,判断USB数据包中包含的第二预设通道指令的类型,具体包括:判断USB数据包的第十一个至第十二个字节,若为0xFC9E则USB数据包中包含的第二预设通道指令具体为下载密钥指令;
例如,下载密钥指令为FC9E0100A8678976AB32DC23EF54FE01BA451098CDCDFEDC1054AB45329823016789BAEF76FE10EF32AB45BA76CD679823DC890154A367C40F183DF2719E50B5EC2B8649DAAD9468B2CE5B05E9172FD381F04C763AECB5509EDA49862B0FC467A371F23D1895A88B4107F01962CD7C5F3AD3EEB6243AD324F0628B7CB607A85FEE1941CD95073A19D395628BF05FEECDA8417C24B6A367C40F185DE2B943444640424541000047000000000000。
步骤107:获取下载密钥指令中的初始密钥并存储,设置返回状态为成功,并将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,设置返回状态为成功,具体为:设置返回状态为0x9000;
例如,获取到的初始密钥为678976AB32DC23EF54FE01BA451098CDCDFEDC1054AB45329823016789BAEF76FE10EF32AB45BA76CD679823DC890154A367C40F183DF2719E50B5EC2B8649DAAD9468B2CE5B05E9172FD381F04C763AECB5509EDA49862B0FC467A371F23D1895A88B4107F01962CD7C5F3AD3EEB6243AD324F0628B7CB607A85FEE1941CD95073A19D395628BF05FEECDA8417C24B6A367C40F185DE2B943444640424541000047000000000000。
步骤108:设置返回状态为不支持,并将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,设置返回状态为不支持,具体为:设置返回状态为0x6d00。
步骤109:判断USB数据包中包含的第一预设通道指令是否需要通过安全通道传输给卡片,是则执行步骤112,否则执行步骤110;
本实施例中,判断USB数据包中包含的第一预设通道指令是否需要通过安全通道传输给卡片,具体包括:检查USB数据包的第十一个字节的从高位端起的第6个比特,若为0则USB数据包中包含的第一预设通道指令不需要通过安全通道传输给卡片,若为1则USB数据包中包含的第一预设通道指令需要通过安全通道传输给卡片。
步骤110:判断USB数据包中包含的第一预设通道指令的类型,若为建立安全通道指令则执行步骤111,否则将第一预设通道指令直接发送给卡片,根据卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态存放到发送缓冲区,执行步骤131;
本实施例中,步骤110中还包括:若为获取用户名称指令,则将获取用户名称指令直接发送给卡片,显示卡片返回的用户名称,设置返回数据为卡片返回的用户名称,设置返回状态为成功,并将返回数据和返回状态存放到发送缓冲区,执行步骤131;
本实施例中,判断USB数据包中包含的第一预设通道指令的类型,具体包括:判断USB数据包的第十一个至第十二个字节,若为0x8050则USB数据包中包含的第一预设通道指令具体为建立安全通道指令,若为0xA032则USB数据包中包含的第一预设通道指令具体为获取用户名称指令。
步骤111:根据初始密钥建立与卡片之间的安全通道,设置返回状态为成功,并将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,根据初始密钥建立与卡片之间的安全通道,具体包括:根据初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥;
例如,生成的数据密钥为404142434445464748494A4B4C4D4E4F,认证密钥为5F307C6812EC6002B89C2921160F6273,会话密钥为5F307C6812EC6002B89C2921160F6273。
本实施例中,执行步骤111之前还包括:判断初始密钥是否存在,是则执行步骤111,否则设置返回状态为未下载初始密钥,并将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,判断初始密钥是否存在,具体包括:判断初始密钥标志是否被置位,是则初始密钥存在,否则初始密钥不存在;相应地,步骤107中还包括:置位初始密钥标志;
本实施例中,设置返回状态为未下载初始密钥,具体为:设置返回状态为0x6973。
步骤112:判断安全通道是否已经建立,是则执行步骤114,否则执行步骤113;
本实施例中,判断安全通道是否已经建立具体包括:检查安全通道标志是否被置位,是则安全通道已建立,否则安全通道未建立;相应地,步骤111中还包括置位安全通道标志;步骤134中,当第二卡槽状态与第一卡槽状态不同,且第二卡槽状态为无卡时,还包括复位安全通道标志;步骤105中还包括:若为第三预设通道指令且第三预设通道指令具体为卡下电指令时,对卡片下电,并复位安全通道标志。
步骤113:设置返回状态为安全通道未建立,并将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,设置返回状态为安全通道未建立,具体为:设置返回状态为0x6972。
步骤114:判断USB数据包中包含的第一预设通道指令的类型,若为登陆指令则执行步骤115,若为修改用户数据指令则执行步骤119,若为输入密钥信息指令则执行步骤126,否则将第一预设通道指令通过安全通道发送给卡片,根据卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态存放到发送缓冲区,执行步骤131;
本实施例中,判断USB数据包中包含的第一预设通道指令的类型,具体包括:判断USB数据包的第十一至第十二个字节,若为0xA43A则USB数据包中包含的第一预设通道指令具体为登陆指令,若为0xA438则USB数据包中包含的第一预设通道指令具体为修改用户数据指令,若为0xA44A则USB数据包中包含的第一预设通道指令具体为输入密钥信息指令。
步骤115:根据登陆指令判断PIN的来源,若来源于默认PIN则执行步骤116,若来源于键盘输入则执行步骤117,否则执行步骤118;
本实施例中,根据登陆指令判断PIN的来源,具体包括:检查登陆指令的数据域,若数据域中的字节均为0xFF则来源于读卡器中预置的默认PIN,若数据域中的字节均为0x00则来源于键盘输入,否则登陆指令的数据域中包含PIN;
例如,登陆指令为A43A0000080000000000000000,PIN来源于键盘输入。
步骤116:添加默认PIN到登陆指令中,将登陆指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,将登陆指令通过安全通道发送给卡片,具体包括:用数据密钥加密登陆指令中的PIN,用会话密钥对登陆指令计算MAC(MessageAuthentication Code,消息认证码),用认证密钥加密登陆指令,将MAC和加密后的登陆指令发送给卡片;
步骤117:获取用户输入的PIN,添加获取的PIN到登陆指令中,将登陆指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
例如,获取到用户输入的PIN为1212,添加了获取的PIN到登陆指令中后的登陆指令为A43A000008021212FFFFFFFFFF。
步骤118:将登陆指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,将登陆指令通过安全通道发送给卡片,具体包括:用数据密钥加密登陆指令中的PIN,用会话密钥对登陆指令计算MAC(MessageAuthentication Code,消息认证码),用认证密钥加密登陆指令,将MAC和加密后的登陆指令发送给卡片;
例如,MAC为E949BB2BADBF7A6D,加密后的登陆指令为A43A000018026E5f9EA82173B98A6364A7b62E391F,向卡片发送A43A000018026E5F9EA82173B98A6364A7B62E391FE949BB2BADBF7A6D。
步骤119:根据修改用户数据指令判断更新前的PIN的来源,若来源于默认PIN则执行步骤120,若来源于键盘输入则执行步骤121,否则执行步骤122;
本实施例中,根据修改用户数据指令判断更新前的PIN的来源,具体包括:检查修改用户数据指令的数据域,若数据域中的前预设个字节均为0xFF,则更新前的PIN来源于读卡器中预置的默认PIN,若数据域中的前预设个字节均为0x00,则更新前的PIN来源于键盘输入,否则修改用户数据指令的数据域中包含更新前的PIN;
本实施例中,数据域中的前预设个字节,优选为:数据与中的前八个字节。
步骤120:将默认PIN作为更新前的PIN添加到修改用户数据指令中,执行步骤122;
步骤121:获取用户输入的PIN,将用户输入的PIN作为更新前的PIN添加到修改用户数据指令中,执行步骤122;
步骤122:根据修改用户数据指令判断更新后的PIN的来源,若来源于默认PIN则执行步骤123,若来源于键盘输入则执行步骤124,否则执行步骤125;
本实施例中,根据修改用户数据指令判断更新后的PIN的来源,具体包括:检查修改用户数据指令的数据域,若数据域中的后预设个字节均为0xFF,则更新后的PIN来源于读卡器中预置的默认PIN,若数据域中的后预设个字节均为0x00,则更新后的PIN来源于键盘输入,否则修改用户数据指令的数据域中包含更新后的PIN;
本实施例中,数据域中的后预设个字节,优选为:数据域中的后八个字节。
步骤123:将默认PIN作为更新后的PIN添加到修改用户数据指令中,将修改用户数据指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,将修改用户数据指令通过安全通道发送给卡片,具体包括:用数据密钥加密修改用户数据指令中的更新前的PIN和更新后的PIN,用会话密钥对修改用户数据指令计算MAC,用认证密钥加密修改用户数据指令,将MAC和加密后的修改用户数据指令发送给卡片。
步骤124:获取用户输入的PIN,将用户输入的PIN作为更新后的PIN添加到修改用户数据指令中,将修改用户数据指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
步骤125:将修改用户数据指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
步骤126:根据输入密钥信息指令判断密钥信息的来源,若来源于卡片则执行步骤127,若来源于键盘输入则执行步骤128;
本实施例中,根据输入密钥信息指令判断密钥信息的来源,具体包括:检查输入密钥信息指令的数据域,若数据域中的第三个字节为0xFF,则密钥信息来源于卡片,若数据域中的第三个字节为0x00,则密钥信息来源于键盘输入。
步骤127:获取卡片中存储的密钥信息,显示获取到的密钥信息,执行步骤129;
步骤128:获取用户输入的密钥信息,显示获取到的密钥信息,执行步骤129;
步骤129:判断在预设时间内是否接收到用户确认信息,是则执行步骤130,否则设置返回状态为对应的错误码,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,步骤129具体包括:判断在预设时间内是否接收到用户操作信息,如果接收到用户操作信息,则判断用户操作信息的类型,若用户操作信息是用户确认信息则执行步骤130,若用户操作信息是用户取消信息则设置返回状态为取消,将返回状态存放到发送缓冲区,执行步骤131,如果没有接收到用户操作信息,则设置返回状态为超时,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,设置返回状态为取消,具体为:设置返回状态为0x695B;设置返回状态为超时,具体为:设置返回状态为0x6959。
步骤130:添加获取到的密钥信息到输入密钥信息指令中,将输入密钥信息指令通过安全通道发送给卡片,根据卡片返回结果设置返回状态,将返回状态存放到发送缓冲区,执行步骤131;
本实施例中,将输入密钥信息指令通过安全通道发送给卡片,具体包括:用数据密钥加密输入密钥信息指令中的密钥信息,用会话密钥对输入密钥信息指令计算MAC,用认证密钥加密输入密钥信息指令,将MAC和加密后的输入密钥信息指令发送给卡片。
步骤131:将发送缓冲区中的数据返回给上位机,执行步骤132;
步骤132:判断是否到达卡槽状态定时检测时间,是则执行步骤133,否则执行步骤136;
步骤133:检查卡槽当前状态,并将卡槽当前状态记为第二卡槽状态;
具体地,本实施例中,读卡器检查卡到位检测管脚的电平,若为低电平则卡槽当前状态为有卡,记录第二卡槽状态为有卡,若为高电平则卡槽当前状态为无卡,记录第二卡槽状态为无卡。
步骤134:判断第二卡槽状态与第一卡槽状态是否相同,是则执行步骤136,否则执行步骤135;
步骤135:置位上报卡槽状态标志,用第二卡槽状态更新第一卡槽状态,执行步骤136;
例如,第二卡槽状态为无卡,第一卡槽状态为有卡,步骤134中判断出第二卡槽状态与第一卡槽状态不相同,则步骤135中,根据第二卡槽状态更新第一卡槽状态为无卡。
步骤136:判断上报卡槽状态标志是否被置位,是则执行步骤137,否则返回步骤104;
步骤137:复位上报卡槽状态标志,上报卡槽状态给上位机,返回步骤104。
本实施例中,上报卡槽状态给上位机,具体为:将第一卡槽状态发送给上位机,或者具体为:将第二卡槽状态发送给上位机。
实施例三
本发明实施例三提供一种安全读卡器,如图5所示,所述安全读卡器包括初始化模块21和功能模块22;初始化模块21与功能模块22相连;初始化模块21用于在所述安全读卡器上电后进行初始化,使能总中断,以及进行USB枚举;功能模块22用于在初始化模块21完成USB枚举后执行主循环流程;
功能模块22具体包括:
数据包接收判断单元221,用于判断是否接收到上位机发送的USB数据包;
指令类型判断单元222,用于当所述数据包接收判断单元221判断出接收到上位机发送的USB数据包时,根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型;
安全传输标识判断单元223,用于当指令类型判断单元222判断出所述USB数据包中包含的指令为第一预设通道指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
安全通道检查单元224,用于当安全传输标识判断单元223判断出所述第一预设通道指令需要在安全通道中传输时,检查安全通道是否已建立;
安全通道建立单元225,用于当安全通道检查单元224检查到安全通道未建立时,建立与卡片之间的安全通道;
安全传输单元226,用于当安全通道检查单元224检查到安全通道已建立时,或者当安全通道建立单元225建立与卡片之间的安全通道之后,将所述第一预设通道指令通过安全通道发送给卡片,接收卡片的返回结果;
直接传输单元227,用于当安全传输标识判断单元223判断出所述第一预设通道指令不需要在安全通道中传输时,将所述第一预设通道指令直接发送给卡片,接收卡片的返回结果;
上报单元228,用于根据安全传输单元226和直接传输单元227接收到的卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机;
常规操作执行单元229,用于当指令类型判断单元222判断出所述USB数据包中包含的指令为其他通道指令时,执行通用读卡器的常规操作。
进一步地,本实施例中,指令类型判断单元222,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;相应地,安全通道建立单元225,还用于当指令类型判断单元222判断出所述第一预设通道指令为建立安全通道指令时,建立与卡片之间的安全通道,并设置返回状态;上报单元228,还用于将安全通道建立单元225设置的返回状态返回给所述上位机;安全传输标识判断单元223,具体用于当指令类型判断单元222判断出所述第一预设通道指令不为建立安全通道指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
更进一步地,安全通道建立单元225,具体用于当指令类型判断单元222判断出所述第一预设通道指令为建立安全通道指令时,建立与卡片之间的安全通道,并设置返回状态;安全传输单元226,具体用于当安全通道检查单元224检查到安全通道已建立时,将所述第一预设通道指令通过安全通道发送给卡片,接收卡片的返回结果;上报单元228,还用于当安全通道检查单元224检查到安全通道未建立时,设置返回状态为安全通道未建立,并将设置的返回状态返回给所述上位机。
本实施例中,数据包接收判断单元221判断是否接收到上位机发送的USB数据包具体包括:数据包接收判断单元221检查USB接收标志是否被置位,是则判定接收到上位机发送的USB数据包,否则判定未接收到上位机发送的USB数据包;数据包接收判断单元221,还用于在判断出接收到上位机发送的USB数据包时,复位所述USB接收标志;功能模块22中还包括:中断处理单元,用于当USB中断被触发时,获取上位机发送的数据包,置位所述USB接收标志。
本实施例中,指令类型判断单元222根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,具体包括:指令类型判断单元222判断所述USB数据包中的第一个字节,若为预设数据,则判定所述USB数据包中包含的指令为第一预设通道指令,否则判定所述USB数据包中包含的指令为其他通道指令。
本实施例中,安全传输标识判断单元223根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,具体包括:安全传输标识判断单元223判断所述USB数据包中的第十一个字节的高位端第6个比特,若所述比特为第一预设值,则判定所述第一预设通道指令不需要在安全通道中传输,若所述比特为第二预设值,则判定所述第一预设通道指令需要在安全通道中传输。
本实施例中,安全通道检查单元224检查安全通道是否已建立,具体包括:安全通道检查单元224检查安全通道标志是否被置位,是则判定安全通道已建立,否则判定安全通道未建立;安全通道建立单元225,还用于在建立与卡片之间的安全通道之后,置位所述安全通道标志;功能模块22中还包括:下电单元,用于当指令类型判断单元222判断出所述USB数据包中包含的指令为第三预设通道指令,且第三预设通道指令为给卡片下电指令时,对卡片下电,并复位所述安全通道标志;
进一步地,安全读卡器中还包括第一卡槽状态上报模块,用于检查并记录卡槽状态,上报卡槽状态给所述上位机;相应地,功能模块22,具体用于在第一卡槽状态上报模块上报卡槽状态给所述上位机之后,执行主循环流程;更进一步地,功能模块22中还包括:第一卡槽状态变化检测单元,用于检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同;上报单元228,还用于当第一卡槽状态变化检测单元判断出本次记录的卡槽状态与上次记录的卡槽状态不相同时,上报卡槽状态给所述上位机;
或者,安全读卡器中还包括第二卡槽状态上报模块,用于检查并记录卡槽状态,置位上报卡槽状态标志;相应地,功能模块22,具体用于在第二卡槽状态上报模块置位上报卡槽状态标志之后,执行主循环流程;上报单元228,还用于判断所述上报卡槽状态标志是否被置位,以及当所述上报卡槽状态标志被置位时上报卡槽状态给所述上位机,复位所述上报卡槽状态标志;更进一步地,功能模块22中还包括:第二卡槽状态变化检测单元,用于检查并记录卡槽状态,以及当本次记录的卡槽状态与上次记录的卡槽状态不相同时,置位所述上报卡槽状态标志;
再进一步地,第一卡槽状态变化检测单元和第二卡槽状态变化检测单元,还用于在判断出本次记录的卡槽状态与上次记录的卡槽状态不相同,且本次记录的卡槽状态为无卡时,复位所述安全通道标志。
本实施例中,安全通道建立单元225建立与卡片之间的安全通道,具体包括:安全通道建立单元225与卡片协商生成数据密钥、认证密钥和会话密钥;安全传输单元226将所述第一预设通道指令通过安全通道发送给卡片,具体包括:安全传输单元226用所述数据密钥加密所述第一预设通道指令中的敏感信息,用所述会话密钥计算包含敏感信息密文的第一预设通道指令的消息认证码,用所述认证密钥加密包含敏感信息密文的第一预设通道指令,将所述消息认证码和包含敏感信息密文的第一预设通道指令的密文发送给卡片;
进一步地,安全读卡器中还包括:第一存储模块,用于存储预置的初始密钥;安全通道建立单元225具体用于,获取第一存储模块中存储的初始密钥,根据获取到的初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥;
或者,功能模块22中还包括:初始密钥下载单元,用于当指令类型判断单元222判断出所述USB数据包中包含的指令为第二预设通道指令,且所述第二预设通道指令为下载密钥指令时,保存所述下载密钥指令中的初始密钥;安全通道建立单元225具体用于,获取初始密钥下载单元中保存的初始密钥,根据获取到的初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥。
本实施例中,指令类型判断单元222,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;相应地,安全读卡器中还包括:第二存储模块,用于存储默认PIN;功能模块22中还包括:第一PIN获取单元,用于当指令类型判断单元222判断出所述第一预设通道指令为登陆指令时,判断PIN的来源,若来源于默认PIN则获取第二存储模块中存储的默认PIN,将获取到的PIN添加到所述第一预设通道指令中,若来源于键盘输入则获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中;安全传输标识判断单元223,具体用于当指令类型判断单元222判断出所述第一预设通道指令不为登陆指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;安全通道检查单元224,具体用于当安全传输标识判断单元223判断出所述第一预设通道指令需要在安全通道中传输时,或者当第一PIN获取单元将获取到的PIN添加到所述第一预设通道指令中之后,检查安全通道是否已建立。
本实施例中,指令类型判断单元222,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;相应地,功能模块22中还包括:密钥信息获取单元,用于当指令类型判断单元222判断出所述第一预设通道指令为输入密钥信息指令时,判断密钥信息的来源,若来源于卡片则获取卡片中存储的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中,若来源于键盘输入则获取用户输入的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中;安全传输标识判断单元223,具体用于当指令类型判断单元222判断出所述第一预设通道指令不为输入密钥信息时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;安全通道检查单元224,具体用于当安全传输标识判断单元223判断出所述第一预设通道指令需要在安全通道中传输时,或者当密钥信息获取单元将获取到的密钥信息添加到所述第一预设通道指令中之后,检查安全通道是否已建立。
本实施例中,指令类型判断单元222,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;相应地,安全读卡器中还包括:第三存储模块,用于存储默认PIN;功能模块22中还包括:第二PIN获取单元,用于当指令类型判断单元222判断出所述第一预设通道指令为修改用户数据指令时,判断更新前的PIN和更新后的PIN的来源,当更新前的PIN来源于默认PIN时,获取第三存储模块中存储的默认PIN,将获取的PIN添加到所述第一预设通道指令中,当更新前的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于默认PIN时,获取第三存储模块中存储的默认PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述修改用户数据指令中;安全传输标识判断单元223,具体用于当指令类型判断单元222判断出所述第一预设通道指令不为修改用户数据指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;安全通道检查单元224,具体用于当安全传输标识判断单元223判断出所述第一预设通道指令需要在安全通道中传输时,或者当第二PIN获取单元操作完成时,检查安全通道是否已建立。
本实施例中,指令类型判断单元222,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;相应地,安全传输标识判断单元223,具体用于当指令类型判断单元222判断出所述第一预设通道指令不为获取用户名称指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;直接传输单元227,用于当安全传输标识判断单元223判断出所述第一预设通道指令不需要在安全通道中传输时,将所述第一预设通道指令直接发送给卡片,接收卡片的返回结果;以及当所述指令类型判断单元判断出所述第一预设通道指令为获取用户名称指令时,将所述第一预设通道指令直接发送给卡片,并显示卡片返回的用户名称。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (38)

1.一种安全读卡器的工作方法,其特征在于,所述方法包括:所述读卡器上电初始化后,使能总中断,并在完成USB枚举之后进入主循环流程,所述主循环流程包括以下步骤:
步骤S1:判断是否接收到上位机发送的USB数据包,是则执行步骤S2,否则重新执行主循环流程;
步骤S2:根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,若为第一预设通道指令则执行步骤S3,若为其他通道指令则执行通用读卡器的常规操作后,重新执行主循环流程;
步骤S3:根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,若不需要在安全通道中传输则执行步骤S4,若需要在安全通道中传输则执行步骤S5;
步骤S4:将所述第一预设通道指令直接发送给卡片,执行步骤S8;
步骤S5:检查安全通道是否已建立,是则执行步骤S6,否则执行步骤S7;
步骤S6:将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
步骤S7:建立与卡片之间的安全通道,将所述第一预设通道指令通过安全通道发送给卡片,执行步骤S8;
步骤S8:根据卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机,重新执行主循环流程。
2.如权利要求1所述的方法,其特征在于,所述步骤S5之前,还包括:判断所述第一预设通道指令的类型,若所述第一预设通道指令为建立安全通道指令,则建立与卡片之间的安全通道,设置返回状态,并将返回状态返回给所述上位机,重新执行主循环流程,否则执行所述步骤S5。
3.如权利要求2所述的方法,其特征在于,所述步骤S7替换为,设置返回状态为安全通道未建立,并将返回状态返回给所述上位机,重新执行主循环流程。
4.如权利要求1所述的方法,其特征在于,所述判断是否接收到上位机发送的USB数据包具体包括:检查USB接收标志是否被置位,是则接收到上位机发送的USB数据包,否则未接收到上位机发送的USB数据包;
所述步骤S1中,当接收到上位机发送的USB数据包时,还包括复位所述USB接收标志;
所述方法还包括:当USB中断被触发时,所述读卡器获取上位机发送的USB数据包,置位所述USB接收标志。
5.如权利要求1所述的方法,其特征在于,所述根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,具体包括:判断所述USB数据包中的第一个字节,若为预设数据则所述USB数据包中包含的指令为第一预设通道指令,否则所述USB数据包中包含的指令为其他通道指令。
6.如权利要求1所述的方法,其特征在于,所述根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,具体包括:判断所述USB数据包中的第十一个字节的高位端第6个比特,若所述比特为第一预设值则所述第一预设通道指令不需要在安全通道中传输,若所述比特为第二预设值则所述第一预设通道指令需要在安全通道中传输。
7.如权利要求1所述的方法,其特征在于,所述检查安全通道是否已建立,具体包括:检查安全通道标志是否被置位,是则安全通道已建立,否则安全通道未建立;
所述步骤S7中,所述建立与卡片之间的安全通道之后,还包括置位所述安全通道标志;
所述步骤S2中,还包括:若所述USB数据包中包含的指令为第三预设通道指令,且所述第三预设通道指令为给卡片下电指令,则对卡片下电,并复位所述安全通道标志。
8.如权利要求7所述的方法,其特征在于,所述读卡器进入所述主循环流程之前,还包括:检查并记录卡槽状态,上报卡槽状态给所述上位机。
9.如权利要求8所述的方法,其特征在于,所述主循环流程中:所述步骤S1之前,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则上报卡槽状态给所述上位机后执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则上报卡槽状态给所述上位机后重新执行主循环流程。
10.如权利要求7所述的方法,其特征在于,所述读卡器进入所述主循环流程之前,还包括:检查并记录卡槽状态,置位上报卡槽状态标志;
所述主循环流程中:所述步骤S1之前,还包括判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,执行步骤S1,若未被置位则执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还包括判断所述上报卡槽状态标志是否被置位,若被置位则上报卡槽状态给所述上位机,复位所述上报卡槽状态标志,重新执行主循环流程,若未被置位则重新执行主循环流程。
11.如权利要求10所述的方法,其特征在于,所述主循环流程中:所述步骤S1之前,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则执行步骤S1,若不相同则置位所述上报卡槽状态标志后执行步骤S1;或者,所述步骤S8中,所述将返回数据和返回状态返回给所述上位机之后,还包括检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同,若相同则重新执行主循环流程,若不相同则置位所述上报卡槽状态标志后重新执行主循环流程。
12.如权利要求9或11所述的方法,其特征在于,当判断出与上次记录的卡槽状态不同之后,还包括:若检查并记录的卡槽状态为无卡,则复位所述安全通道标志。
13.如权利要求1所述的方法,其特征在于,所述建立与卡片之间的安全通道,具体包括:与卡片协商生成数据密钥、认证密钥和会话密钥;
所述将所述第一预设通道指令通过安全通道发送给卡片,具体包括:用所述数据密钥加密所述第一预设通道指令中的敏感信息,用所述会话密钥计算包含敏感信息密文的第一预设通道指令的消息认证码,用所述认证密钥加密包含敏感信息密文的第一预设通道指令,将所述消息认证码和包含敏感信息密文的第一预设通道指令的密文发送给卡片。
14.如权利要求13所述的方法,其特征在于,所述与卡片协商生成数据密钥、认证密钥和会话密钥之前,还包括:获取所述读卡器中预置的初始密钥;
所述与卡片协商生成数据密钥、认证密钥和会话密钥,具体为:根据所述初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥。
15.如权利要求13所述的方法,其特征在于,所述步骤S2中,还包括:若所述USB数据包中包含的指令为第二预设通道指令,且所述第二预设通道指令为下载密钥指令,则保存所述下载密钥指令中的初始密钥;
所述与卡片协商生成数据密钥、认证密钥和会话密钥之前,还包括:获取所述读卡器中保存的初始密钥;
所述与卡片协商生成数据密钥、认证密钥和会话密钥,具体为:根据所述初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥。
16.如权利要求1所述的方法,其特征在于,所述步骤S2中,当所述USB数据包中包含的指令为第一预设通道指令时,执行步骤S3之前,还包括:判断所述第一预设通道指令是否为登陆指令,当所述第一预设通道指令不为登陆指令时,执行所述步骤S3;当所述第一预设通道指令为登陆指令时,执行步骤A1至A3:
步骤A1:判断PIN的来源,若来源于默认PIN则执行步骤A2;若来源于键盘输入则执行步骤A3;
步骤A2:获取读卡器中预置的默认PIN,将获取到的默认PIN添加到所述第一预设通道指令中,执行步骤S5;
步骤A3:获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中,执行步骤S5。
17.如权利要求1所述的方法,其特征在于,所述步骤S2中,当所述USB数据包中包含的指令为第一预设通道指令时,执行步骤S3之前,还包括:判断所述第一预设通道指令是否为输入密钥信息指令,当所述第一预设通道指令不为输入密钥信息指令时,执行所述步骤S3;当所述第一预设通道指令为输入密钥信息指令时,执行步骤B1至B3:
步骤B1:判断密钥信息的来源,若来源于卡片则执行步骤B2,若来源于键盘输入则执行步骤B3;
步骤B2:获取卡片中存储的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中,执行步骤S5;
步骤B3:获取用户输入的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中,执行步骤S5。
18.如权利要求1所述的方法,其特征在于,所述步骤S2中,当所述USB数据包中包含的指令为第一预设通道指令时,执行步骤S3之前,还包括:判断所述第一预设通道指令是否为修改用户数据指令,当所述第一预设通道指令不为修改用户数据指令时,执行所述步骤S3;当所述第一预设通道指令为修改用户数据指令时,执行步骤C1至C2:
步骤C1:判断更新前的PIN和更新后的PIN的来源,当更新前的PIN来源于默认PIN时,获取读卡器中预置的默认PIN,将获取的PIN添加到所述第一预设通道指令中,当更新前的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于默认PIN时,获取读卡器中预置的默认PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述修改用户数据指令中;
步骤C2:检查安全通道是否已建立,是则执行步骤S6,否则执行步骤S7。
19.如权利要求1所述的方法,其特征在于,所述步骤S2中,当所述USB数据包中包含的指令为第一预设通道指令时,执行步骤S3之前,还包括:判断所述第一预设通道指令是否为获取用户名称指令,当所述第一预设通道指令不为获取用户名称指令时,执行所述步骤S3;当所述第一预设通道指令为获取用户名称指令时,将所述获取用户名称指令直接发送给卡片,显示卡片返回的用户名称,执行步骤S8。
20.一种安全读卡器,其特征在于,所述安全读卡器包括初始化模块和功能模块,所述初始化模块与所述功能模块相连,所述初始化模块用于在所述安全读卡器上电后进行初始化,使能总中断,以及进行USB枚举,所述功能模块用于在所述初始化模块完成USB枚举后执行主循环流程;
所述功能模块具体包括:
数据包接收判断单元,用于判断是否接收到上位机发送的USB数据包;
指令类型判断单元,用于当所述数据包接收判断单元判断出接收到上位机发送的USB数据包时,根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型;
安全传输标识判断单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为第一预设通道指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
安全通道检查单元,用于当所述安全传输标识判断单元判断出所述第一预设通道指令需要在安全通道中传输时,检查安全通道是否已建立;
安全通道建立单元,用于当所述安全通道检查单元检查到安全通道未建立时,建立与卡片之间的安全通道;
安全传输单元,用于当所述安全通道检查单元检查到安全通道已建立时,或者当所述安全通道建立单元建立与卡片之间的安全通道之后,将所述第一预设通道指令通过安全通道发送给卡片,接收卡片的返回结果;
直接传输单元,用于当所述安全传输标识判断单元判断出所述第一预设通道指令不需要在安全通道中传输时,将所述第一预设通道指令直接发送给卡片,接收卡片的返回结果;
上报单元,用于根据所述安全传输单元和所述直接传输单元接收到的卡片的返回结果设置返回数据和返回状态,并将返回数据和返回状态返回给所述上位机;
常规操作执行单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为其他通道指令时,执行通用读卡器的常规操作。
21.如权利要求20所述的安全读卡器,其特征在于,所述指令类型判断单元,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;
所述安全通道建立单元,还用于当所述指令类型判断单元判断出所述第一预设通道指令为建立安全通道指令时,建立与卡片之间的安全通道,并设置返回状态;
所述上报单元,还用于将所述安全通道建立单元设置的返回状态返回给所述上位机;
所述安全传输标识判断单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令不为建立安全通道指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输。
22.如权利要求21所述的安全读卡器,其特征在于,所述安全通道建立单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令为建立安全通道指令时,建立与卡片之间的安全通道,并设置返回状态;
所述安全传输单元,具体用于当所述安全通道检查单元检查到安全通道已建立时,将所述第一预设通道指令通过安全通道发送给卡片,接收卡片的返回结果;
所述上报单元,还用于当所述安全通道检查单元检查到安全通道未建立时,设置返回状态为安全通道未建立,并将设置的返回状态返回给所述上位机。
23.如权利要求20所述的安全读卡器,其特征在于,所述数据包接收判断单元判断是否接收到上位机发送的USB数据包具体包括:所述数据包接收判断单元检查USB接收标志是否被置位,是则判定接收到上位机发送的USB数据包,否则判定未接收到上位机发送的USB数据包;
所述数据包接收判断单元,还用于在判断出接收到上位机发送的USB数据包时,复位所述USB接收标志;
所述功能模块还包括:中断处理单元,用于当USB中断被触发时,获取上位机发送的数据包,置位所述USB接收标志。
24.如权利要求20所述的安全读卡器,其特征在于,所述指令类型判断单元根据所述USB数据包中的预设字节判断所述USB数据包中包含的指令的类型,具体包括:所述指令类型判断单元判断所述USB数据包中的第一个字节,若为预设数据,则判定所述USB数据包中包含的指令为第一预设通道指令,否则判定所述USB数据包中包含的指令为其他通道指令。
25.如权利要求20所述的安全读卡器,其特征在于,所述安全传输标识判断单元根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输,具体包括:所述安全传输标识判断单元判断所述USB数据包中的第十一个字节的高位端第6个比特,若所述比特为第一预设值,则判定所述第一预设通道指令不需要在安全通道中传输,若所述比特为第二预设值,则判定所述第一预设通道指令需要在安全通道中传输。
26.如权利要求20所述的安全读卡器,其特征在于,所述安全通道检查单元检查安全通道是否已建立,具体包括:所述安全通道检查单元检查安全通道标志是否被置位,是则判定安全通道已建立,否则判定安全通道未建立;
所述安全通道建立单元,还用于在建立与卡片之间的安全通道之后,置位所述安全通道标志;
所述功能模块还包括:下电单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为第三预设通道指令,且第三预设通道指令为给卡片下电指令时,对卡片下电,并复位所述安全通道标志。
27.如权利要求26所述的安全读卡器,其特征在于,所述安全读卡器还包括:第一卡槽状态上报模块,用于检查并记录卡槽状态,上报卡槽状态给所述上位机;
所述功能模块,具体用于在所述第一卡槽状态上报模块上报卡槽状态给所述上位机之后,执行主循环流程。
28.如权利要求27所述的安全读卡器,其特征在于,所述功能模块还包括:第一卡槽状态变化检测单元,用于检查并记录卡槽状态,判断与上次记录的卡槽状态是否相同;
所述上报单元,还用于当所述第一卡槽状态变化检测单元判断出本次记录的卡槽状态与上次记录的卡槽状态不相同时,上报卡槽状态给所述上位机。
29.如权利要求26所述的安全读卡器,其特征在于,所述安全读卡器还包括:第二卡槽状态上报模块,用于检查并记录卡槽状态,置位上报卡槽状态标志;
所述功能模块,具体用于在所述第二卡槽状态上报模块置位上报卡槽状态标志之后,执行主循环流程;
所述上报单元,还用于判断所述上报卡槽状态标志是否被置位,以及当所述上报卡槽状态标志被置位时上报卡槽状态给所述上位机,复位所述上报卡槽状态标志。
30.如权利要求29所述的安全读卡器,其特征在于,所述功能模块还包括:第二卡槽状态变化检测单元,用于检查并记录卡槽状态,以及当本次记录的卡槽状态与上次记录的卡槽状态不相同时,置位所述上报卡槽状态标志。
31.如权利要求28或30所述的安全读卡器,其特征在于,所述卡槽状态变化检测单元,还用于在判断出本次记录的卡槽状态与上次记录的卡槽状态不相同,且本次记录的卡槽状态为无卡时,复位所述安全通道标志。
32.如权利要求20所述的安全读卡器,其特征在于,所述安全通道建立单元建立与卡片之间的安全通道,具体包括:所述安全通道建立单元与卡片协商生成数据密钥、认证密钥和会话密钥;
所述安全传输单元将所述第一预设通道指令通过安全通道发送给卡片,具体包括:所述安全传输单元用所述数据密钥加密所述第一预设通道指令中的敏感信息,用所述会话密钥计算包含敏感信息密文的第一预设通道指令的消息认证码,用所述认证密钥加密包含敏感信息密文的第一预设通道指令,将所述消息认证码和包含敏感信息密文的第一预设通道指令的密文发送给卡片。
33.如权利要求32所述的安全读卡器,其特征在于,所述安全读卡器还包括:第一存储模块,用于存储预置的初始密钥;
所述安全通道建立单元具体用于,获取所述第一存储模块中存储的初始密钥,根据获取到的初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥。
34.如权利要求32所述的安全读卡器,其特征在于,所述功能模块还包括:初始密钥下载单元,用于当所述指令类型判断单元判断出所述USB数据包中包含的指令为第二预设通道指令,且所述第二预设通道指令为下载密钥指令时,保存所述下载密钥指令中的初始密钥;
所述安全通道建立单元具体用于,获取所述初始密钥下载单元中保存的初始密钥,根据获取到的初始密钥与卡片协商生成数据密钥、认证密钥和会话密钥。
35.如权利要求20所述的安全读卡器,其特征在于,所述指令类型判断单元,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;
所述安全读卡器还包括:第二存储模块,用于存储默认PIN;
所述功能模块还包括:PIN获取单元,用于当所述指令类型判断单元判断出所述第一预设通道指令为登陆指令时,判断PIN的来源,若来源于默认PIN则获取所述第二存储模块中存储的默认PIN,将获取到的PIN添加到所述第一预设通道指令中,若来源于键盘输入则获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中;
所述安全传输标识判断单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令不为登陆指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
所述安全通道检查单元,具体用于当所述安全传输标识判断单元判断出所述第一预设通道指令需要在安全通道中传输时,或者当所述PIN获取单元将获取到的PIN添加到所述第一预设通道指令中之后,检查安全通道是否已建立。
36.如权利要求20所述的安全读卡器,其特征在于,指令类型判断单元,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;
所述功能模块还包括:密钥信息获取单元,用于当所述指令类型判断单元判断出所述第一预设通道指令为输入密钥信息指令时,判断密钥信息的来源,若来源于卡片则获取卡片中存储的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中,若来源于键盘输入则获取用户输入的密钥信息,显示获取到的密钥信息,当接收到用户确认信息时将获取到的密钥信息添加到所述第一预设通道指令中;
所述安全传输标识判断单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令不为输入密钥信息时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
所述安全通道检查单元,具体用于当所述安全传输标识判断单元判断出所述第一预设通道指令需要在安全通道中传输时,或者当所述密钥信息获取单元将获取到的密钥信息添加到所述第一预设通道指令中之后,检查安全通道是否已建立。
37.如权利要求20所述的安全读卡器,其特征在于,指令类型判断单元,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;
所述安全读卡器还包括:第三存储模块,用于存储默认PIN;
所述功能模块还包括:PIN获取单元,用于当所述指令类型判断单元判断出所述第一预设通道指令为修改用户数据指令时,判断更新前的PIN和更新后的PIN的来源,当更新前的PIN来源于默认PIN时,获取所述第三存储模块中存储的默认PIN,将获取的PIN添加到所述第一预设通道指令中,当更新前的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于默认PIN时,获取所述第三存储模块中存储的默认PIN,将获取到的PIN添加到所述第一预设通道指令中,当更新后的PIN来源于用户输入时,获取用户输入的PIN,将获取到的PIN添加到所述修改用户数据指令中;
所述安全传输标识判断单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令不为修改用户数据指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
所述安全通道检查单元,具体用于当所述安全传输标识判断单元判断出所述第一预设通道指令需要在安全通道中传输时,或者当所述PIN获取单元操作完成时,检查安全通道是否已建立。
38.如权利要求20所述的安全读卡器,其特征在于,指令类型判断单元,还用于在判断出所述USB数据包中包含的指令为第一预设通道指令时,判断所述第一预设通道指令的类型;
所述安全传输标识判断单元,具体用于当所述指令类型判断单元判断出所述第一预设通道指令不为获取用户名称指令时,根据所述USB数据包中的预设标识判断所述第一预设通道指令是否需要在安全通道中传输;
所述直接传输单元,用于当所述安全传输标识判断单元判断出所述第一预设通道指令不需要在安全通道中传输时,将所述第一预设通道指令直接发送给卡片,接收卡片的返回结果;以及当所述指令类型判断单元判断出所述第一预设通道指令为获取用户名称指令时,将所述第一预设通道指令直接发送给卡片,并显示卡片返回的用户名称。
CN201510002346.XA 2015-01-05 2015-01-05 一种安全读卡器及其工作方法 Active CN104573591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510002346.XA CN104573591B (zh) 2015-01-05 2015-01-05 一种安全读卡器及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510002346.XA CN104573591B (zh) 2015-01-05 2015-01-05 一种安全读卡器及其工作方法

Publications (2)

Publication Number Publication Date
CN104573591A true CN104573591A (zh) 2015-04-29
CN104573591B CN104573591B (zh) 2017-11-28

Family

ID=53089624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510002346.XA Active CN104573591B (zh) 2015-01-05 2015-01-05 一种安全读卡器及其工作方法

Country Status (1)

Country Link
CN (1) CN104573591B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915616A (zh) * 2015-05-15 2015-09-16 飞天诚信科技股份有限公司 一种访问智能卡的方法和读卡器
CN107623682A (zh) * 2017-09-06 2018-01-23 深圳众享互联科技有限公司 一种基于双通道的指令传输系统
CN109063484A (zh) * 2018-07-27 2018-12-21 郑州云海信息技术有限公司 一种bmc上用户信息的修改方法、修改系统
CN109257332A (zh) * 2018-08-15 2019-01-22 飞天诚信科技股份有限公司 数字货币硬件钱包应用更新的安全通道的创建方法及装置
CN109313761A (zh) * 2016-04-21 2019-02-05 埃迪米亚法国公司 选择卡上的应用
CN112702733A (zh) * 2020-12-30 2021-04-23 飞天诚信科技股份有限公司 一种读卡终端及其工作方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6371376B1 (en) * 1999-04-16 2002-04-16 Ho J. Dan PCMCIA card with secure smart card reader
CN1821987A (zh) * 2006-03-31 2006-08-23 北京飞天诚信科技有限公司 基于usb接口的智能卡读写方法及其读写器
CN1838142A (zh) * 2006-04-29 2006-09-27 北京飞天诚信科技有限公司 带有数据存储和智能密钥的usb设备及其控制方法
CN101184096A (zh) * 2007-12-07 2008-05-21 北京飞天诚信科技有限公司 一种提高智能密钥装置安全性的系统及方法
CN101789068A (zh) * 2009-01-22 2010-07-28 深圳市景丰汇达科技有限公司 读卡器安全认证装置及方法
CN102013001A (zh) * 2010-12-06 2011-04-13 苏州国芯科技有限公司 一种具有认证功能的读卡器及其认证方法
CN102025710A (zh) * 2009-09-11 2011-04-20 中国银联股份有限公司 多应用智能卡及智能卡多应用管理系统和方法
CN103678215A (zh) * 2013-12-09 2014-03-26 飞天诚信科技股份有限公司 一种智能读卡器的工作方法
CN103902492A (zh) * 2014-04-21 2014-07-02 飞天诚信科技股份有限公司 一种读卡器的工作方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6371376B1 (en) * 1999-04-16 2002-04-16 Ho J. Dan PCMCIA card with secure smart card reader
CN1821987A (zh) * 2006-03-31 2006-08-23 北京飞天诚信科技有限公司 基于usb接口的智能卡读写方法及其读写器
CN1838142A (zh) * 2006-04-29 2006-09-27 北京飞天诚信科技有限公司 带有数据存储和智能密钥的usb设备及其控制方法
CN101184096A (zh) * 2007-12-07 2008-05-21 北京飞天诚信科技有限公司 一种提高智能密钥装置安全性的系统及方法
CN101789068A (zh) * 2009-01-22 2010-07-28 深圳市景丰汇达科技有限公司 读卡器安全认证装置及方法
CN102025710A (zh) * 2009-09-11 2011-04-20 中国银联股份有限公司 多应用智能卡及智能卡多应用管理系统和方法
CN102013001A (zh) * 2010-12-06 2011-04-13 苏州国芯科技有限公司 一种具有认证功能的读卡器及其认证方法
CN103678215A (zh) * 2013-12-09 2014-03-26 飞天诚信科技股份有限公司 一种智能读卡器的工作方法
CN103902492A (zh) * 2014-04-21 2014-07-02 飞天诚信科技股份有限公司 一种读卡器的工作方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915616A (zh) * 2015-05-15 2015-09-16 飞天诚信科技股份有限公司 一种访问智能卡的方法和读卡器
CN104915616B (zh) * 2015-05-15 2017-11-28 飞天诚信科技股份有限公司 一种访问智能卡的方法和读卡器
CN109313761A (zh) * 2016-04-21 2019-02-05 埃迪米亚法国公司 选择卡上的应用
CN107623682A (zh) * 2017-09-06 2018-01-23 深圳众享互联科技有限公司 一种基于双通道的指令传输系统
CN109063484A (zh) * 2018-07-27 2018-12-21 郑州云海信息技术有限公司 一种bmc上用户信息的修改方法、修改系统
CN109257332A (zh) * 2018-08-15 2019-01-22 飞天诚信科技股份有限公司 数字货币硬件钱包应用更新的安全通道的创建方法及装置
CN109257332B (zh) * 2018-08-15 2020-06-02 飞天诚信科技股份有限公司 数字货币硬件钱包应用更新的安全通道的创建方法及装置
CN112702733A (zh) * 2020-12-30 2021-04-23 飞天诚信科技股份有限公司 一种读卡终端及其工作方法
WO2022143008A1 (zh) * 2020-12-30 2022-07-07 飞天诚信科技股份有限公司 一种读卡终端及其工作方法
CN112702733B (zh) * 2020-12-30 2022-10-04 飞天诚信科技股份有限公司 一种读卡终端及其工作方法

Also Published As

Publication number Publication date
CN104573591B (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN104573591A (zh) 一种安全读卡器及其工作方法
US11429950B2 (en) Mobile payment apparatus and method
US11743721B2 (en) Protection of a communication channel between a security module and an NFC circuit
US11963004B2 (en) Detection of a rerouting of a communication channel of a telecommunication device connected to an NFC circuit
US10716007B2 (en) Protection of a security module in a telecommunication device coupled to an NFC circuit
CN101551784B (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
US20180247084A1 (en) Systems and methods for secure processing with embedded cryptographic unit
US8516232B2 (en) Method and memory device for performing an operation on data
US9185561B2 (en) Protection against rerouting in an NFC circuit communication channel
CN109952751B (zh) 一种安全的处理器芯片及终端设备
US9179301B2 (en) Protection of a communication channel of a telecommunication device coupled to an NFC circuit against misrouting
CN108075882A (zh) 密码卡及其加解密方法
CN105761067B (zh) 智能pos机安全模块及其启动方法
CN107766713B (zh) 人脸模板数据录入控制方法及相关产品
CN107615294A (zh) 一种验证码短信显示方法及移动终端
JP2016539605A (ja) ネットワークセキュリティにおける方法及びネットワークセキュリティにおけるシステム
CN104834874A (zh) 建立安全执行环境之间的物理局部性
CN101420299B (zh) 提高智能密钥设备稳定性的方法和智能密钥设备
CN103501292B (zh) 利用备用手机实现保护数据安全的方法及系统
US20090172823A1 (en) Management engine secured input
CN201247464Y (zh) 一种usb接口的ata类存储设备中数据的加密装置
CN100517290C (zh) 实现通用串行总线键的复合设备的方法
Morgner et al. Mobile smart card reader using NFC-enabled smartphones
CN101639883B (zh) 一种校验pin码的方法和智能密钥设备
CN111161874A (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