一种身份证读卡响应方法及装置的制造方法

文档序号:10660821阅读:433来源:国知局
一种身份证读卡响应方法及装置的制造方法
【专利摘要】本发明提供一种身份证读卡响应方法及装置,所述方法包括:身份证读卡响应装置接收身份证读卡终端发送的身份证标识信息;将对生成的第一认证因子安全处理得到的第一数据包发送至身份证读卡终端;验证身份证读卡终端发送的第二数据包,对验证通过得到的第一认证数据进行认证,将认证通过后生成的认证因子申请请求发送至身份证读卡终端;验证身份证读卡终端发送的第四数据包,对验证通过得到的第二认证因子进行处理,将对处理得到的第二认证数据安全处理得到的第五数据包发送至身份证读卡终端;验证身份证读卡终端发送的第六数据包,解密验证通过得到的身份证数据密文,将对解密得到的身份证数据明文安全处理得到的第七数据包发送至身份证读卡终端。
【专利说明】
_种身份证读卡响应方法及装置
技术领域
[0001]本发明涉及一种电子技术领域,尤其涉及一种身份证读卡响应方法及装置。【背景技术】
[0002]现有身份证信息读取响应方案中,身份证读卡终端需要配合使用可以对从身份证读取的密文数据实现解密的身份证读卡响应装置,来实现身份证信息的读取及显示。例如, 银行、车站等需要采用身份证信息读取的行业,通常需要在本地布局大量的身份证读卡终端和身份证读卡响应装置,身份证读卡终端与身份证读卡响应装置之间还需要设置相应的对应关系,方案实现较复杂,成本较高;并且,现有的身份证读卡响应装置不会对通讯的身份证相关数据进行额外加密、签名等处理,因此导致通讯的安全性不高。
【发明内容】

[0003]本发明旨在至少解决上述问题之一。
[0004]本发明的主要目的在于提供一种身份证读卡响应方法;
[0005]本发明的另一目的在于提供一种身份证读卡响应装置。[〇〇〇6]为达到上述目的,本发明的技术方案具体是这样实现的:
[0007]本发明一方面提供了一种身份证读卡响应方法,包括:身份证读卡响应装置接收身份证读卡终端发送的读卡请求数据包,并对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息;生成第一认证因子,对所述第一认证因子进行安全处理, 得到第一数据包,并将所述第一数据包发送至所述身份证读卡终端;接收所述身份证读卡终端发送的第二数据包,并对所述第二数据包进行安全验证,安全验证通过后,得到第一认证数据;对所述第一认证数据进行认证,认证通过后,生成认证因子申请请求;对所述认证因子申请请求进行安全处理,得到第三数据包,并将所述第三数据包发送至所述身份证读卡终端;接收所述身份证读卡终端发送的第四数据包,并对所述第四数据包进行安全验证, 安全验证通过后,得到第二认证因子;对所述第二认证因子进行处理,得到第二认证数据; 对所述第二认证数据进行安全处理,得到第五数据包,并将所述第五数据包发送至所述身份证读卡终端;接收所述身份证读卡终端发送的第六数据包,并对所述第六数据包进行安全验证,安全验证通过后,得到身份证数据密文;对所述身份证数据密文进行解密,得到身份证数据明文;对所述身份证数据明文进行安全处理,得到第七数据包,并将所述第七数据包发送至所述身份证读卡终端。
[0008]此外,所述读卡请求数据包包括读卡请求数据密文和所述读卡请求数据密文的签名值;对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息,包括: 使用所述身份证读卡终端的第一证书对所述读卡请求数据密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述读卡请求数据密文进行解密,得到所述身份证标识信息;和/或所述第一数据包包括第一加密数据和第一签名数据;对所述第一认证因子进行安全处理,包括:使用会话密钥对所述第一认证因子进行加密,得到所述第一加密数据,并使用所述身份证读卡响应装置的私钥对所述第一加密数据进行签名,得到所述第一签名数据;和/或所述第二数据包包括第一密文和所述第一密文的签名值;对所述第二数据包进行安全验证,安全验证通过后,得到第一认证数据,包括:使用所述身份证读卡终端的第一证书对所述第一密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第一密文进行解密,得到所述第一认证数据;和/或所述第三数据包包括第二加密数据和第二签名数据;对所述认证因子申请请求进行安全处理,包括:使用会话密钥对所述认证因子申请请求进行加密,得到所述第二加密数据,并使用所述身份证读卡响应装置的私钥对所述第二加密数据进行签名,得到所述第二签名数据;和/或所述第四数据包包括第二密文和所述第二密文的签名值;对所述第四数据包进行安全验证,安全验证通过后,得到第二认证因子,包括:使用所述身份证读卡终端的第一证书对所述第二密文的签名值进行签名验证, 在验证通过的情况下,使用会话密钥对所述第二密文进行解密,得到所述第二认证因子; 和/或所述第五数据包包括第三加密数据和第三签名数据;对所述第二认证数据进行安全处理,包括:使用会话密钥对所述第二认证数据进行加密,得到所述第三加密数据,并使用所述身份证读卡响应装置的私钥对所述第三加密数据进行签名,得到所述第三签名数据; 和/或所述第六数据包包括第三密文和所述第三密文的签名值;对所述第六数据包进行安全验证,安全验证通过后,得到身份证数据密文,包括:使用所述身份证读卡终端的第一证书对所述第三密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第三密文进行解密,得到所述身份证数据密文;和/或所述第七数据包包括第四加密数据和第四签名数据;对所述身份证数据明文进行安全处理,包括:使用会话密钥对所述身份证数据明文进行加密,得到所述第四加密数据,并使用所述身份证读卡响应装置的私钥对所述第四加密数据进行签名,得到所述第四签名数据。[〇〇〇9] 此外,在对所述读卡请求数据包进行安全验证之前,还包括:所述身份证读卡响应装置接收所述身份证读卡终端发送的会话密钥请求数据包,其中,所述会话密钥请求数据包包括第一随机因子、所述第一随机因子的签名值和所述身份证读卡终端的第一证书;对所述第一证书的合法性进行验证,在验证通过后,使用所述第一证书对所述第一随机因子的签名值进行签名验证,在签名验证通过的情况下,生成第二随机因子;对所述第一随机因子和所述第二随机因子进行加密,得到第五加密数据,并使用所述身份证读卡响应装置的私钥对所述第五加密数据进行签名,得到第五签名数据;将第八数据包发送至所述身份证读卡终端,其中,所述第八数据包包括所述第五加密数据、所述第五签名数据和所述身份证读卡响应装置的证书;其中,在生成第二随机因子之后,还包括:根据所述第一随机因子和所述第二随机因子生成会话密钥。[〇〇1〇]此外,在接收身份证读卡终端发送的读卡请求数据包之前,还包括:所述身份证读卡响应装置接收所述身份证读卡终端发送的寻卡请求数据包,其中,所述寻卡请求数据包包括寻卡请求数据密文、所述寻卡请求数据密文的签名值以及所述身份证读卡终端的第一证书和第二证书;对所述第一证书的合法性进行验证,在验证通过后,使用所述第一证书对所述寻卡请求数据密文的签名值进行签名验证,在签名验证通过的情况下,使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数据;对所述寻卡请求数据进行响应,生成寻卡请求响应数据;使用会话密钥对所述寻卡请求响应数据进行加密,得到第六加密数据,使用所述第二证书对所述会话密钥进行加密,得到会话密钥密文,并使用所述身份证读卡响应装置的私钥对所述第六加密数据和所述会话密钥密文进行签名,得到第六签名数据;将寻卡请求响应数据包发送至所述身份证读卡终端,其中,所述寻卡请求响应数据包包括所述第六加密数据和所述第六签名数据。
[0011]此外,在对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息之后,还包括:将所述身份证标识信息发送至调度服务器。
[0012]此外,所述寻卡请求数据包括时间戳和/或终端计数器;在使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数据之后,还包括:将所述时间戳和/ 或终端计数器发送至调度服务器。
[0013]本发明另一方面提供了一种身份证读卡响应装置,包括:接收模块,用于接收身份证读卡终端发送的读卡请求数据包;安全验证模块,用于对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息;第一生成模块,用于生成第一认证因子;安全处理模块,用于对所述第一认证因子进行安全处理,得到第一数据包;发送模块,用于将所述第一数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第二数据包;所述安全验证模块,还用于对所述第二数据包进行安全验证,安全验证通过后,得到第一认证数据;第二生成模块,用于对所述第一认证数据进行认证,认证通过后,生成认证因子申请请求;所述安全处理模块,还用于对所述认证因子申请请求进行安全处理,得到第三数据包;所述发送模块,还用于将所述第三数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第四数据包;所述安全验证模块,还用于对所述第四数据包进行安全验证,安全验证通过后,得到第二认证因子;认证处理模块,用于对所述第二认证因子进行处理,得到第二认证数据;所述安全处理模块,还用于对所述第二认证数据进行安全处理,得到第五数据包;所述发送模块,还用于将所述第五数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第六数据包;所述安全验证模块,还用于对所述第六数据包进行安全验证,安全验证通过后,得到身份证数据密文;解密模块,用于对所述身份证数据密文进行解密,得到身份证数据明文;所述安全处理模块,还用于对所述身份证数据明文进行安全处理,得到第七数据包;所述发送模块,还用于将所述第七数据包发送至所述身份证读卡终端。
[0014]此外,所述读卡请求数据包包括读卡请求数据密文和所述读卡请求数据密文的签名值;所述安全验证模块,通过以下方式对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息:使用所述身份证读卡终端的第一证书对所述读卡请求数据密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述读卡请求数据密文进行解密,得到所述身份证标识信息;和/或所述第一数据包包括第一加密数据和第一签名数据;所述安全处理模块,通过以下方式对所述第一认证因子进行安全处理,得到第一数据包:使用会话密钥对所述第一认证因子进行加密,得到所述第一加密数据,并使用所述身份证读卡响应装置的私钥对所述第一加密数据进行签名,得到所述第一签名数据;和/或所述第二数据包包括第一密文和所述第一密文的签名值;所述安全验证模块,通过以下方式对所述第二数据包进行安全验证,安全验证通过后,得到第一认证数据:使用所述身份证读卡终端的第一证书对所述第一密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第一密文进行解密,得到所述第一认证数据;和/或所述第三数据包包括第二加密数据和第二签名数据;所述安全处理模块,通过以下方式对所述认证因子申请请求进行安全处理,得到第三数据包:使用会话密钥对所述认证因子申请请求进行加密,得到所述第二加密数据,并使用所述身份证读卡响应装置的私钥对所述第二加密数据进行签名,得到所述第二签名数据;和/或所述第四数据包包括第二密文和所述第二密文的签名值;所述安全验证模块,通过以下方式对所述第四数据包进行安全验证,安全验证通过后,得到第二认证因子:使用所述身份证读卡终端的第一证书对所述第二密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第二密文进行解密,得到所述第二认证因子;和/ 或所述第五数据包包括第三加密数据和第三签名数据;所述安全处理模块,通过以下方式对所述第二认证数据进行安全处理,得到第五数据包:使用会话密钥对所述第二认证数据进行加密,得到所述第三加密数据,并使用所述身份证读卡响应装置的私钥对所述第三加密数据进行签名,得到所述第三签名数据;和/或所述第六数据包包括第三密文和所述第三密文的签名值;所述安全验证模块,通过以下方式对所述第六数据包进行安全验证,安全验证通过后,得到身份证数据密文:使用所述身份证读卡终端的第一证书对所述第三密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第三密文进行解密,得到所述身份证数据密文;和/或所述第七数据包包括第四加密数据和第四签名数据;所述安全处理模块,通过以下方式对所述身份证数据明文进行安全处理,得到第七数据包:使用会话密钥对所述身份证数据明文进行加密,得到所述第四加密数据,并使用所述身份证读卡响应装置的私钥对所述第四加密数据进行签名,得到所述第四签名数据。
[0015]此外,还包括:所述接收模块,还用于在所述安全验证模块对所述读卡请求数据包进行安全验证之前,接收所述身份证读卡终端发送的会话密钥请求数据包,其中,所述会话密钥请求数据包包括第一随机因子、所述第一随机因子的签名值和所述身份证读卡终端的第一证书;所述安全验证模块,还用于对所述第一证书的合法性进行验证,并在验证通过后,使用所述第一证书对所述第一随机因子的签名值进行签名验证;第四生成模块,用于在签名验证通过的情况下,生成第二随机因子;所述安全处理模块,还用于对所述第一随机因子和所述第二随机因子进行加密,得到第五加密数据,并使用所述身份证读卡响应装置的私钥对所述第五加密数据进行签名,得到第五签名数据;所述发送模块,还用于将第八数据包发送至所述身份证读卡终端,其中,所述第八数据包包括所述第五加密数据、所述第五签名数据和所述身份证读卡响应装置的证书;第五生成模块,用于在所述第四生成模块生成第二随机因子之后,根据所述第一随机因子和所述第二随机因子生成会话密钥。[〇〇16]此外,还包括:所述接收模块,还用于在接收身份证读卡终端发送的读卡请求数据包之前,接收所述身份证读卡终端发送的寻卡请求数据包,其中,所述寻卡请求数据包包括寻卡请求数据密文、所述寻卡请求数据密文的签名值以及所述身份证读卡终端的第一证书和第二证书;所述安全验证模块,还用于对所述第一证书的合法性进行验证,在验证通过后,使用所述第一证书对所述寻卡请求数据密文的签名值进行签名验证,在签名验证通过的情况下,使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数据;第三生成模块,用于对所述寻卡请求数据进行响应,生成寻卡请求响应数据;所述安全处理模块,还用于使用会话密钥对所述寻卡请求响应数据进行加密,得到第六加密数据,并使用所述第二证书对所述会话密钥进行加密,得到会话密钥密文;使用所述身份证读卡响应装置的私钥对所述第六加密数据和所述会话密钥密文进行签名,得到第六签名数据;所述发送模块,还用于将寻卡请求响应数据包发送至所述身份证读卡终端,其中,所述寻卡请求响应数据包包括所述第六加密数据和所述第六签名数据。
[0017]此外,所述发送模块,还用于在所述安全验证模块对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息之后,将所述身份证标识信息发送至调度服务器。
[0018]此外,所述寻卡请求数据包括时间戳和/或终端计数器;还包括:所述发送模块,还用于在所述安全验证模块使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数据之后,将所述时间戳和/或终端计数器发送至调度服务器。
[0019]由上述本发明提供的技术方案可以看出,本发明提供了一种身份证读卡响应方法及装置。在身份证读卡终端内并不设置有可以对从身份证读取的密文数据实现解密的身份证读卡响应装置,而是在云认证平台中设置身份证读卡响应装置,身份证读卡终端可通过接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署身份证读卡响应装置,也无需大量设置身份证读卡响应装置与身份证读卡终端之间的对应关系,简化了实现方案;同时,利用身份证读卡响应装置与身份证读卡终端之间建立的安全通道,可以提高身份证与身份证读卡响应装置之间通讯的安全性, 保证身份证数据的传输安全。并且,身份证和身份证读卡响应装置通过第一认证因子和第二认证因子的交互完成了双向认证,身份证读卡响应装置对身份证数据密文进行解密以得到身份证数据明文,并发送给身份证读卡终端,以完成身份证数据的读取。【附图说明】
[0020]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。[0021 ]图1为本发明实施例1提供的身份证读卡响应方法的流程示意图;
[0022]图2为本发明实施例1提供的身份证读卡响应方法中会话密钥请求响应的流程示意图;[〇〇23]图3为本发明实施例1提供的身份证读卡响应方法中身份证寻卡请求响应的流程示意图;
[0024]图4为本发明实施例2提供的身份证读卡响应装置的结构示意图。【具体实施方式】
[0025]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0026]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、 “前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
[0027]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0028]下面将结合附图对本发明实施例作进一步地详细描述。
[0029]实施例1
[0030]图1为本实施例提供的一种身份证读卡响应方法的流程示意图,如图1所示,本实施例提供的身份证读卡响应方法主要包括以下步骤(S101-S111)。
[0031]步骤S101:身份证读卡响应装置接收身份证读卡终端发送的读卡请求数据包,并对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息;
[0032]本实施例中,身份证标识信息是标识身份证的唯一信息,例如身份证的序列号、用于指示身份证中设置的应用的相关信息的应用数据、传输协议(例如,传输协议类型、比特数率、最大帧长度)等,身份证读卡终端可以直接识别该身份证标识信息,不需要身份证读卡响应装置进行解密。
[0033]作为本实施例的一种可选实施方式,读卡请求数据包包括读卡请求数据密文和读卡请求数据密文的签名值;其中,读卡请求数据密文是身份证读卡终端利用会话密钥对包含身份证标识信息的读卡请求数据进行加密得到的,读卡请求数据密文的签名值是身份证读卡终端利用自身的第一私钥对读卡请求数据密文进行签名得到的;具体的,身份证读卡终端利用HASH算法计算读卡请求数据密文得到读卡请求数据密文的摘要,并利用身份证读卡终端的第一私钥对读卡请求数据密文的摘要进行加密,得到读卡请求数据密文的签名值。身份证读卡响应装置对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息,包括:身份证读卡响应装置使用身份证读卡终端的第一证书对读卡请求数据密文的签名值进行签名验证;具体的,身份证读卡响应装置先利用身份证读卡终端的第一证书中的第一公钥对读卡请求数据密文的签名值进行解密,得到读卡请求数据密文的摘要,利用HASH算法对接收到的读卡请求数据密文进行计算得到读卡请求数据密文的摘要,将解密得到的读卡请求数据密文的摘要与计算得到的读卡请求数据密文的摘要进行比较,如果相同,则验签通过,否则结束身份证读卡响应流程;在验证通过的情况下,使用会话密钥对读卡请求数据密文进行解密,得到身份证标识信息。其中,第一证书至少包括身份证读卡终端的第一公钥,身份证读卡终端的第一公钥与身份证读卡终端的第一私钥是一对非对称密钥。如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对读卡请求数据密文的签名值进行解密,则说明接收的读卡请求数据密文的签名值是由身份证读卡终端发出的, 其数据来源是合法的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对读卡请求数据密文的签名值进行解密,则说明接收的读卡请求数据密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对读卡请求数据密文的签名值进行签名验证可以确认数据来源的合法性。如果读卡请求数据密文在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的读卡请求数据密文进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对读卡请求数据密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对读卡请求数据密文的签名值进行验签可以判断读卡请求数据密文是否被篡改,保证接收的读卡请求数据密文的完整性。如果身份证读卡响应装置利用自身和身份证读卡终端才有的会话密钥不能对接收到的读卡请求数据密文进行解密,则说明该读卡请求数据密文并不是身份证读卡终端发出的,因此,对读卡请求数据密文进行解密可以确认数据来源的合法性;如果第三方截取到读卡请求数据密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对读卡请求数据密文进行解密,无法获得读卡请求数据,因此,对读卡请求数据密文进行解密可以防止读卡请求数据在网络传输中被非法窃取、阅读,保证读卡请求数据的传输安全性。通过对读卡请求数据密文的签名值进行验签可以判断接收到的读卡请求数据密文是否被非法分子篡改;通过对读卡请求数据密文进行解密可以读取读卡请求数据。需要说明的是,本实施例中的验签过程均可参见该实施方式,下面涉及到验签的过程将不再具体赘述。
[0034]作为本实施例的一种可选实施方式,在对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息之后,还包括:身份证读卡响应装置将身份证标识信息发送至调度服务器。调度服务器同样设置在云认证平台上。这样,调度服务器可以根据身份证标识信息、身份证读卡终端的标识信息以及预先设定的策略,判断是否将身份证读卡终端的标识信息加入黑名单或管控名单。[〇〇35] 步骤S102:身份证读卡响应装置生成第一认证因子,对第一认证因子进行安全处理,得到第一数据包,并将第一数据包发送至身份证读卡终端;[〇〇36]本实施例中,在身份证读卡响应装置接收身份证发送的身份证数据密文前,身份证应与身份证读卡响应装置实现双向认证,该认证目的在于要确保身份证和身份证读卡响应装置都是合法的。身份证读卡响应装置可以利用自身生成的第一认证因子实现对身份证的认证,其中,第一认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符, 或者一串随机数和随机字符的任意组合。
[0037]作为本实施例的一种可选实施方式,第一数据包包括第一加密数据和第一签名数据;身份证读卡响应装置对第一认证因子进行安全处理,包括:身份证读卡响应装置使用会话密钥对第一认证因子进行加密,得到第一加密数据,并使用身份证读卡响应装置的私钥对第一加密数据进行签名,得到第一签名数据;具体的,身份证读卡响应装置利用HASH算法计算第一加密数据得到第一加密数据的摘要,并利用身份证读卡响应装置的私钥对第一加密数据的摘要进行加密,得到第一签名数据。身份证读卡响应装置将包含第一加密数据和第一签名数据的第一数据包发送至身份证读卡终端。身份证读卡响应装置利用会话密钥对第一认证因子进行加密得到第一加密数据,即使第三方截取第一加密数据,也无法获得第一认证因子,因为第三方没有该会话密钥,不能利用该会话密钥对第一加密数据进行解密, 得到第一认证因子,只有同样具有该会话密钥的身份证读卡终端才能解密第一加密数据, 因此,可以有效防止第一认证因子在网络传输中被非法窃取、阅读,保证第一认证因子传输的安全性。身份证读卡响应装置将第一签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第一签名数据进行解密,则说明接收的第一签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第一签名数据进行解密,则说明接收的第一签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第一加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第一加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第一加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第一签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一加密数据进行签名可以防止第一加密数据被篡改,保证身份证读卡终端接收第一加密数据的完整性。本可选实施方式中,需将身份证读卡响应装置的证书发送至身份证读卡终端,该证书至少包括身份证读卡响应装置的公钥,该公钥与身份证读卡响应装置的私钥是一对非对称密钥,身份证读卡终端可以利用该公钥对第一签名数据进行签名验证,当验证通过后,再利用会话密钥对第一加密数据进行解密,得到第一认证因子,并将第一认证因子发送至身份证。需要说明的是,本实施例中的签名过程均可参见该实施方式,下面涉及到签名的过程将不再具体赘述。[〇〇38]步骤S103:身份证读卡响应装置接收身份证读卡终端发送的第二数据包,并对第二数据包进行安全验证,安全验证通过后,得到第一认证数据;[〇〇39]本实施例中,身份证接收到身份证读卡终端发送的第一认证因子后,利用预先内置的公安部授权的处理算法对第一认证因子进行处理,得到第一认证数据,并将第一认证数据发送至身份证读卡终端。身份证读卡终端对第一认证数据进行安全处理,得到第二数据包,并将第二数据包发送至身份证读卡响应装置。其中,身份证对第一认证因子进行处理可以采用但不限于以下方式:方式一:身份证利用利用安全密钥对第一认证因子进行MAC计算得到MAC值,MAC值就是第一认证数据;方式二:身份证利用安全密钥对第一认证因子进行加密,得到第一认证数据,该安全密钥是预先内置在合法的身份证中的,只有合法的身份证才具有该安全密钥。
[0040]作为本实施例的一种可选实施方式,第二数据包包括第一密文和第一密文的签名值;其中,第一密文是由身份证读卡终端利用会话密钥对第一认证数据进行加密得到的,第一密文的签名值是由身份证读卡终端利用自身的第一私钥对第一密文进行签名得到的。身份证读卡响应装置对第二数据包进行安全验证,安全验证通过后,得到第一认证数据,包括:身份证读卡响应装置使用身份证读卡终端的第一证书对第一密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第一密文进行解密,得到第一认证数据;否则结束身份证读卡响应流程。如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对第一密文的签名值进行解密,则说明接收的第一密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对第一密文的签名值进行解密,则说明接收的第一密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第一密文的签名值进行签名验证可以确认数据来源的合法性。如果第一密文在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的第一密文进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对第一密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一密文的签名值进行验签可以判断第一密文是否被篡改,保证接收的第一密文的完整性。如果身份证读卡响应装置利用自身和身份证读卡终端才有的会话密钥不能对接收到的第一密文进行解密,说明该第一密文并不是身份证读卡终端发出的, 因此,对第一密文进行解密可以确认数据来源的合法性;如果第三方截取到第一密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第一密文进行解密,无法获得第一认证数据,因此,对第一密文进行解密可以防止第一认证数据在网络传输中被非法窃取、阅读,保证第一认证数据的传输安全性。[0041 ] 步骤S104:身份证读卡响应装置对第一认证数据进行认证,认证通过后,生成认证因子申请请求;[〇〇42]本实施例中,身份证读卡响应装置利用预先内置的公安部授权的认证算法对安全验证得到的第一认证数据进行认证,如果认证通过,则实现了对身份证合法性的认证,即身份证是真实合法的;然后生成认证因子申请请求。其中,身份证读卡响应装置对第一认证数据进行认证可以采用但不限于以下方式:方式一:身份证读卡响应装置利用与身份证标识信息对应的安全密钥对自身生成的第一认证因子进行计算得到MAC值,将计算得到的MAC值与安全验证得到的第一认证数据进行比较,如果相同,则对第一认证数据的认证通过。方式二:身份证读卡响应装置可以利用与身份证标识信息对应的安全密钥对安全验证得到的第一认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第一认证因子是否相同,如果相同,则对第一认证数据的认证通过。方式三:身份证读卡响应装置可以利用与身份证标识信息对应的安全密钥对自身生成的第一认证因子进行加密得到认证数据,并比较加密得到的认证数据与安全验证得到的第一认证数据是否相同,如果相同,则对第一认证数据的认证通过。如果身份证读卡响应装置对第一认证数据进行的认证通过, 则说明身份证使用的安全密钥与身份证读卡响应装置使用的安全密钥相同,说明身份证是合法的身份证,身份证读卡响应装置通过对第一认证数据进行认证确认了身份证的合法性。身份证读卡响应装置对预设信息进行计算得到与身份证标识信息对应的安全密钥。可选的,如果对第一认证数据进行的认证没有通过,则结束身份证读卡响应流程。[〇〇43] 步骤S105:身份证读卡响应装置对认证因子申请请求进行安全处理,得到第三数据包,并将第三数据包发送至身份证读卡终端;
[0044]作为本实施例的一种可选实施方式,第三数据包包括第二加密数据和第二签名数据;身份证读卡响应装置对认证因子申请请求进行安全处理,包括:身份证读卡响应装置使用会话密钥对认证因子申请请求进行加密,得到第二加密数据,并使用身份证读卡响应装置的私钥对第二加密数据进行签名,得到第二签名数据。身份证读卡响应装置将包含第二加密数据和第二签名数据的第三数据包发送至身份证读卡终端。身份证读卡响应装置利用会话密钥对认证因子申请请求进行加密得到第二加密数据,即使第三方截取第二加密数据,也无法获得认证因子申请请求,因为第三方没有该会话密钥,不能利用该会话密钥对第二加密数据进行解密,得到认证因子申请请求,只有同样具有该会话密钥的身份证读卡终端才能解密第二加密数据,因此,可以有效防止认证因子申请请求在网络传输中被非法窃取、阅读,保证认证因子申请请求传输的安全性。身份证读卡响应装置将第二签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第二签名数据进行解密,则说明接收的第二签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第二签名数据进行解密,则说明接收的第二签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第二加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第二加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第二加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第二签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第二加密数据进行签名可以防止第二加密数据被篡改,保证身份证读卡终端接收第二加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第二签名数据进行签名验证,当验证通过后,再利用会话密钥对第二加密数据进行解密,得到认证因子申请请求,并将认证因子申请请求发送至身份证。[〇〇45]本实施例中,身份证接收到身份证读卡终端发送的认证因子申请请求,生成第二认证因子,并将第二认证因子发送至身份证读卡终端。身份证读卡终端对接收到的第二认证因子进行安全处理,得到第四数据包,并将第四数据包发送至身份证读卡响应装置。其中,第二认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。身份证可以利用第二认证因子实现对身份证读卡响应装置的认证。[〇〇46]步骤S106:身份证读卡响应装置接收身份证读卡终端发送的第四数据包,并对第四数据包进行安全验证,安全验证通过后,得到第二认证因子;
[0047]作为本实施例的一种可选实施方式,第四数据包包括第二密文和第二密文的签名值;其中,第二密文是由身份证读卡终端利用会话密钥对第二认证因子进行加密得到的,第二密文的签名值是由身份证读卡终端利用自身的第一私钥对第二密文进行签名得到的。身份证读卡响应装置对第四数据包进行安全验证,安全验证通过后,得到第二认证因子,包括:身份证读卡响应装置使用身份证读卡终端的第一证书对第二密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第二密文进行解密,得到第二认证因子;否则结束身份证读卡响应流程。如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对第二密文的签名值进行解密,则说明接收的第二密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对第二密文的签名值进行解密,则说明接收的第二密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第二密文的签名值进行签名验证可以确认数据来源的合法性。如果第二密文在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的第二密文进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对第二密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第二密文的签名值进行验签可以判断第二密文是否被篡改,保证接收的第二密文的完整性。如果身份证读卡响应装置利用自身和身份证读卡终端才有的会话密钥不能对接收到的第二密文进行解密,说明该第二密文并不是身份证读卡终端发出的, 因此,对第二密文进行解密可以确认数据来源的合法性;如果第三方截取到第二密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第二密文进行解密,无法获得第二认证因子,因此,对第二密文进行解密可以防止第二认证因子在网络传输中被非法窃取、阅读,保证第二认证因子的传输安全性。
[0048] 步骤S107:身份证读卡响应装置对第二认证因子进行处理,得到第二认证数据; [〇〇49]本实施例中,身份证读卡响应装置利用预先内置的公安部授权的处理算法对第二认证因子进行处理,得到第二认证数据。其中,身份证读卡响应装置对第二认证因子进行处理可以采用但不限于以下方式:方式一:身份证读卡响应装置利用与身份证标识信息对应的安全密钥对第二认证因子进行MAC计算得到MAC值,该MAC值就是第二认证数据;方式二: 身份证读卡响应装置利用与身份证标识信息对应的安全密钥对第二认证因子进行加密,得到第二认证数据。身份证读卡响应装置对预设信息进行计算得到与身份证标识信息对应的安全密钥。
[0050]步骤S108:身份证读卡响应装置对第二认证数据进行安全处理,得到第五数据包, 并将第五数据包发送至身份证读卡终端;
[0051]作为本实施例的一种可选实施方式,第五数据包包括第三加密数据和第三签名数据;身份证读卡响应装置对第二认证数据进行安全处理,包括:身份证读卡响应装置使用会话密钥对第二认证数据进行加密,得到第三加密数据,并使用身份证读卡响应装置的私钥对第三加密数据进行签名,得到第三签名数据。身份证读卡响应装置将包括第三加密数据和第三签名数据的第五数据包发送至身份证读卡终端。身份证读卡响应装置利用会话密钥对第二认证数据进行加密得到第三加密数据,即使第三方截取第三加密数据,也无法获得第二认证数据,因为第三方没有该会话密钥,不能利用该会话密钥对第三加密数据进行解密,得到第二认证数据,只有同样具有该会话密钥的身份证读卡终端才能解密第三加密数据,因此,可以有效防止第二认证数据在网络传输中被非法窃取、阅读,保证第二认证数据传输的安全性。身份证读卡响应装置将第三签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第三签名数据进行解密,则说明接收的第三签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第三签名数据进行解密,则说明接收的第三签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第三加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。 如果第三加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第三加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第三签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此, 通过对第三加密数据进行签名可以防止第三加密数据被篡改,保证身份证读卡终端接收第三加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第三签名数据进行签名验证,当验证通过后,再利用会话密钥对第三加密数据进行解密,得到第二认证数据,并将第二认证数据发送至身份证。[〇〇52]本实施例中,身份证接收到身份证读卡终端发送的第二认证数据后,首先利用预先内置的认证算法对第二认证数据进行认证,并在认证通过后,向身份证读卡终端发送身份证数据密文。其中,身份证数据密文一般是居民身份证号、姓名、照片、年龄、住址、卡片使用年限和/或指纹等数据的密文。其中,身份证对第二认证数据进行认证可以采用但不限于以下方式:方式一:身份证利用内置的安全密钥对自身生成的第二认证因子进行计算得到 MAC值,将计算得到的MAC值与接收到的第二认证数据进行比较,如果相同,则对第二认证数据的认证通过。方式二:身份证可以利用内置的安全密钥对接收到的第二认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第二认证因子是否相同,如果相同,则对第二认证数据的认证通过。方式三:身份证可以利用内置的安全密钥对自身生成的第二认证因子进行加密得到认证数据,并比较加密得到的认证数据与接收到的第二认证数据是否相同,如果相同,则对第二认证数据的认证通过。如果身份证对第二认证数据认证通过,说明身份证读卡响应装置使用的安全密钥与身份证内置的安全密钥相同,说明身份证读卡响应装置是合法的身份证读卡响应装置,身份证通过对第二认证数据进行认证确认了身份证读卡响应装置的合法性。作为一种可选的实施方式,如果对第二认证数据进行的认证没有通过,则结束身份证读卡响应流程。身份证读卡终端对接收到的身份证数据密文进行安全处理,得到第六数据包,并将第六数据包发送至身份证读卡响应装置。作为一种可选的实施方式,身份证读卡终端可以将身份证数据密文所包括的信息通过一个数据包,一次发送到身份证读卡响应装置,当然,也可以将身份证数据密文所包括的信息通过多个数据包,分多次发送到身份证读卡响应装置。
[0053]身份证读卡响应装置通过第一认证因子确认了身份证的合法性,身份证通过第二认证因子确认了身份证读卡响应装置的合法性。双向认证通过后,身份证才向身份证读卡终端发送身份证数据密文。
[0054]步骤S109:身份证读卡响应装置接收身份证读卡终端发送的第六数据包,并对第六数据包进行安全验证,安全验证通过后,得到身份证数据密文;
[0055]作为本实施例的一种可选实施方式,第六数据包包括第三密文和第三密文的签名值;其中,第三密文是由身份证读卡终端利用会话密钥身份证数据密文进行加密得到的,第三密文的签名值是由身份证读卡终端利用自身的第一私钥对第三密文进行签名得到的。身份证读卡响应装置对第六数据包进行安全验证,安全验证通过后,得到身份证数据密文,包括:身份证读卡响应装置使用身份证读卡终端的第一证书对第三密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第三密文进行解密,得到身份证数据密文;否则结束身份证读卡响应流程。如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对第三密文的签名值进行解密,则说明接收的第三密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对第三密文的签名值进行解密,则说明接收的第三密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第三密文的签名值进行签名验证可以确认数据来源的合法性。如果第三密文在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的第三密文进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对第三密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第三密文的签名值进行验签可以判断第三密文是否被篡改,保证接收的第三密文的完整性。如果身份证读卡响应装置利用自身和身份证读卡终端才有的会话密钥不能对接收到的第三密文进行解密,说明该第三密文并不是身份证读卡终端发出的,因此,对第三密文进行解密可以确认数据来源的合法性;如果第三方截取到第三密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第三密文进行解密,无法获得身份证数据密文,因此,对第三密文进行解密可以防止身份证数据密文在网络传输中被非法窃取、阅读,保证身份证数据密文的传输安全性。
[0056]步骤S110:身份证读卡响应装置对身份证数据密文进行解密,得到身份证数据明文;
[0057]本实施例中,身份证数据明文一般是居民身份证号、姓名、照片、年龄、住址、卡片使用年限、指纹等数据的明文。
[0058]本实施例中,身份证读卡响应装置设置在云认证平台,其包括国家密码管理局审批的安全芯片以及负责解密身份证数据密文的公安部指定的专用产品(SAM模块),该专用产品符合GA 467-2013《居民身份证验证安全控制模块接口技术规范》。
[0059]步骤Slll:身份证读卡响应装置对身份证数据明文进行安全处理,得到第七数据包,并将第七数据包发送至身份证读卡终端。
[0060]本实施例中,身份证读卡响应装置将第七数据包发送至身份证读卡终端后,身份证读卡响应成功,结束身份证读卡响应流程。
[0061]作为本实施例的一种可选实施方式,身份证读卡响应装置可以将身份证数据明文所包括的信息通过一个数据包,一次发送到身份证读卡终端,当然,也可以将身份证数据明文所包括的信息通过多个数据包,分多次发送到身份证读卡终端。
[0062]作为本实施例的一种可选实施方式,身份证读卡响应装置对身份证数据明文进行安全处理,包括:身份证读卡响应装置使用会话密钥对身份证数据明文进行加密,得到第四加密数据,并使用身份证读卡响应装置的私钥对第四加密数据进行签名,得到第四签名数据。身份证读卡响应装置将包括第四加密数据和第四签名数据的第七数据包发送至身份证读卡终端。身份证读卡响应装置利用会话密钥对身份证数据明文进行加密得到第四加密数据,即使第三方截取第四加密数据,也无法获得身份证数据明文,因为第三方没有该会话密钥,不能利用该会话密钥对第四加密数据进行解密,得到身份证数据明文,只有同样具有该会话密钥的身份证读卡终端才能解密第四加密数据,因此,可以有效防止身份证数据明文在网络传输中被非法窃取、阅读,保证身份证数据明文传输的安全性。身份证读卡响应装置将第四签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第四签名数据进行解密,则说明接收的第四签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第四签名数据进行解密,则说明接收的第四签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第四加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第四加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第四加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第四签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第四加密数据进行签名可以防止第四加密数据被篡改,保证身份证读卡终端接收第四加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第四签名数据进行签名验证,当验证通过后,再利用会话密钥对第四加密数据进行解密,得到身份证数据明文。
[0063]本实施例中的身份证读卡终端内并不设置有可以对从身份证读取的密文数据实现解密的身份证读卡响应装置,而是在云认证平台中设置身份证读卡响应装置,身份证读卡终端可通过接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署身份证读卡响应装置,也无需大量设置身份证读卡响应装置与身份证读卡终端之间的对应关系,简化了实现方案。同时,在云认证平台设置身份证读卡响应装置,身份证读卡响应装置对身份证读卡终端发来的身份证相关数据进行安全验证,再对身份证相关数据进行相应处理,生成响应数据,并对响应数据进行安全处理,再将处理过的数据发送至身份证读卡终端,因此身份证读卡响应装置与身份证读卡终端之间建立了安全通道,通过该安全通道可以提高身份证与身份证读卡响应装置之间通讯的安全性,保证身份证数据的传输安全。并且,身份证和身份证读卡响应装置通过第一认证因子和第二认证因子的交互完成了双向认证,身份证读卡响应装置对身份证数据密文进行解密以得到身份证数据明文,并发送给身份证读卡终端,以完成身份证的读取。
[0064]本实施例中,如图2所示,在步骤SlOI中对读卡请求数据包进行安全验证之前,需要获取会话密钥,因此,作为本实施例的一种可选实施方式,本实施例提供的身份证读卡响应方法还可以包括以下步骤(步骤S201-S205):
[0065]步骤S201:身份证读卡响应装置接收身份证读卡终端发送的会话密钥请求数据包,其中,会话密钥请求数据包包括第一随机因子、第一随机因子的签名值和身份证读卡终端的第一证书;
[0066]本可选实施方式中,第一随机因子的签名值是身份证读卡终端利用自身的第一私钥进行签名得到的。第一随机因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。
[0067]步骤202:身份证读卡响应装置对第一证书的合法性进行验证,在验证通过后,使用第一证书对第一随机因子的签名值进行签名验证,在签名验证通过的情况下,生成第二随机因子;
[0068]本可选实施方式中,身份证读卡响应装置利用根证书对身份证读卡终端的第一证书进行验证,如果验证通过,则说明身份证读卡终端的第一证书是合法的。
[0069]本可选实施方式中,如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对第一随机因子的签名值进行解密,则说明接收的第一随机因子的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对第一随机因子的签名值进行解密,则说明接收的第一随机因子的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第一随机因子的签名值进行签名验证可以确认数据来源的合法性。如果第一随机因子在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的第一随机因子进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对第一随机因子的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一随机因子的签名值进行验签可以判断第一随机因子是否被篡改,保证接收的第一随机因子的完整性。
[0070]本可选实施方式中,第二随机因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。
[0071]可选的,若身份证读卡响应装置对第一随机因子的签名值的验签没有通过,则结束会话密钥请求响应流程。
[0072]本可选实施方式中,在步骤S202生成第二随机因子之后,还包括:
[0073]步骤205:身份证读卡响应装置根据第一随机因子和第二随机因子生成会话密钥。
[0074]本可选实施方式中,身份证读卡响应装置利用预设算法对第一随机因子和第二随机因子生成会话密钥。
[0075]步骤203:身份证读卡响应装置对第一随机因子和第二随机因子进行加密,得到第五加密数据,并使用身份证读卡响应装置的私钥对第五加密数据进行签名,得到第五签名数据;
[0076]本可选实施方式中,身份证读卡响应装置利用身份证读卡终端的第一证书对第一随机因子和第二随机因子进行加密,得到第五加密数据。身份证读卡响应装置利用会话密钥对第一随机因子和第二随机因子进行加密得到第五加密数据,即使第三方截取第五加密数据,也无法获得第一随机因子和第二随机因子,因为第三方没有该会话密钥,不能利用该会话密钥对第五加密数据进行解密,得到第一随机因子和第二随机因子,只有同样具有该会话密钥的身份证读卡终端才能解密第五加密数据,因此,可以有效防止第一随机因子和第二随机因子在网络传输中被非法窃取、阅读,保证第一随机因子和第二随机因子传输的安全性。身份证读卡响应装置将第五签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第五签名数据进行解密,则说明接收的第五签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第五签名数据进行解密,则说明接收的第五签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第五加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第五加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第五加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第五签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第五加密数据进行签名可以防止第五加密数据被篡改,保证身份证读卡终端接收第五加密数据的完整性。
[0077]步骤204:身份证读卡响应装置将第八数据包发送至身份证读卡终端,其中,第八数据包包括第五加密数据、第五签名数据和身份证读卡响应装置的证书;
[0078]本可选实施方式中,身份证读卡终端接收到第八数据包后,利用身份证读卡响应装置的公钥对第五签名数据进行签名验证,在验证通过后,利用身份证读卡终端的第一私钥对第五加密数据进行解密,得到第一随机因子和第二随机因子,将解密得到的第一随机因子与自身生成的第一随机因子进行比较,如果相同,则说明身份证读卡响应装置已接收到第一随机因子并且身份证读卡响应装置接收的第一随机因子与身份证读卡终端生成的第一随机因子相同,身份证读卡终端利用与步骤S205中的预设算法相同的算法对第一随机因子和第二随机因子进行计算,生成与身份证读卡响应装置的会话密钥相同的会话密钥,这样,身份证读卡响应装置与身份证读卡终端可以通过该会话密钥建立安全通道来进行身份证的相关数据传输,能够提高数据传输的安全性;如果不相同,则说明身份证读卡响应装置接收的第一随机因子与身份证读卡终端生成的第一随机因子是不同的,身份证读卡终端和身份证读卡响应装置利用相同的预设算法对各自的第一随机因子和第二随机因子计算得到不相同的两个会话密钥,身份证读卡终端和身份证读卡响应装置均不能解密对方发来的加密数据。
[0079]作为本实施例的一种可选实施方式,在步骤SlOl中接收身份证读卡终端发送的读卡请求数据包之前,还可以进行身份证寻卡请求操作的响应,如图3所示,主要包括以下步骤(S301至S305):
[0080]步骤S301:身份证读卡响应装置接收身份证读卡终端发送的寻卡请求数据包,其中,寻卡请求数据包包括寻卡请求数据密文、寻卡请求数据密文的签名值以及身份证读卡终端的第一证书和第二证书;
[0081]本可选实施方式中,寻卡请求数据密文是由身份证读卡终端利用认证加密密钥对寻卡请求数据进行加密得到的,寻卡请求数据密文的签名值是由身份证读卡终端利用自身的第一私钥对寻卡请求数据密文进行签名得到的。
[0082]可选的,第一证书和第二证书可以是相同的证书,也可以是不同的证书。
[0083]可选的,寻卡请求数据包括时间戳和/或终端计数器;在使用获取的认证解密密钥对寻卡请求数据密文进行解密,得到寻卡请求数据之后,还包括:将时间戳和/或终端计数器发送至调度服务器。调度服务器可以根据时间戳、终端计数器等信息进行身份证读卡终端的频度管控和黑名单自动捕获,并将可疑的身份证读卡终端加入黑名单。
[0084]可选的,在身份证读卡响应装置接收身份证读卡终端发送的寻卡请求数据包之前,调度服务器会接收身份证读卡终端的接入云认证平台的请求,获取身份证读卡终端的标识信息,根据身份证读卡终端的标识信息判断是否允许身份证读卡终端读取身份证;在确定允许身份证读卡终端读取身份证的情况下,在接收到身份证读卡终端发送的寻卡请求数据包后,向云认证平台的云认证数据库发送工作状态查询请求;云认证数据库接收调度服务器发送的工作状态查询请求,查询调度服务器的管辖范围内的各个身份证读卡响应装置的工作状态,并将查询结果发送至调度服务器;调度服务器接收云认证数据库发送的查询结果,并根据查询结果,选择一个工作状态为空闲的身份证读卡响应装置,将选择的身份证读卡响应装置的标识信息发送至身份证读卡终端。其中,调度服务器可以通过以下方式判断是否允许身份证读卡终端读取身份证:身份证读卡终端的标识信息包括第一证书和第二证书;可以利用根证书对第一证书的合法性进行验证,若验证通过,则允许身份证读卡终端读取身份证;若验证不通过,则不允许身份证读卡终端读取身份证;和/或可以利用根证书对第二证书的合法性进行验证,若验证通过,则允许身份证读卡终端读取身份证;若验证不通过,则不允许身份证读卡终端读取身份证。
[0085]可选的,在选择一个工作状态为空闲的身份证读卡响应装置之后,调度服务器会生成鉴权码,将鉴权码分别发送至身份证读卡终端和云认证数据库;云认证数据库存储鉴权码,并在鉴权码的有效期到达时,删除鉴权码;寻卡请求数据包还包括鉴权码密文,身份证读卡响应装置对鉴权码密文进行解密,得到鉴权码,查询云认证数据库中是否存储有鉴权码,若存储有,则继续执行操作,否则结束流程。具体的,在分配端口给工作状态空闲的身份证读卡响应装置之后,调度服务器将生成的鉴权码分别发送到身份证读卡终端和云认证数据库中进行存储,身份证读卡终端利用认证加密密钥对该鉴权码进行加密,得到鉴权码密文;身份证读卡响应装置利用认证解密密钥对该鉴权码密文进行解密,得到鉴权码,向云认证数据库发送查询请求,查询云认证数据库中是否存储有该鉴权码,若存储有,则生成寻卡请求响应数据,否则结束寻卡响应流程。其中,该鉴权码具有时效性,当超过预定时长时,云认证数据库就会删除存储的鉴权码,鉴权码失效,上述查询操作失败,终止交易响应,因此,设置鉴权码能够识别交易是否合法,从而判定是否继续交易响应,保证身份证读卡响应流程的安全性。该鉴权码可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0086]步骤S302:身份证读卡响应装置对第一证书的合法性进行验证,在验证通过后,使用第一证书对寻卡请求数据密文的签名值进行签名验证,在签名验证通过的情况下,使用获取的认证解密密钥对寻卡请求数据密文进行解密,得到寻卡请求数据;
[0087]本可选实施方式中,身份证读卡响应装置利用根证书对身份证读卡终端的第一证书进行验证,如果验证通过,则说明身份证读卡终端的第一证书是合法的。
[0088]本可选实施方式中,如果身份证读卡响应装置利用身份证读卡终端的第一公钥能够对寻卡请求数据密文的签名值进行解密,则说明接收的寻卡请求数据密文的签名值是由身份证读卡终端发出的;如果身份证读卡响应装置利用身份证读卡终端的第一公钥不能对寻卡请求数据密文的签名值进行解密,则说明接收的寻卡请求数据密文的签名值不是由身份证读卡终端发出的,因此,对寻卡请求数据密文的签名值进行签名验证可以确认数据来源的合法性。如果寻卡请求数据密文在传输过程中被非法分子篡改,则身份证读卡响应装置在验签过程中,会对篡改后的寻卡请求数据密文进行HASH计算得到摘要,该摘要与身份证读卡响应装置利用身份证读卡终端的第一公钥对寻卡请求数据密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对寻卡请求数据密文的签名值进行验签可以判断寻卡请求数据密文是否被篡改,保证接收的寻卡请求数据密文的完整性。如果身份证读卡响应装置利用自身和身份证读卡终端才有的会话密钥不能对接收到的寻卡请求数据密文进行解密,说明该寻卡请求数据密文并不是身份证读卡终端发出的,因此,对寻卡请求数据密文进行解密可以确认数据来源的合法性;如果第三方截取到寻卡请求数据密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对寻卡请求数据密文进行解密,无法获得寻卡请求数据,因此,对寻卡请求数据密文进行解密可以防止寻卡请求数据在网络传输中被非法窃取、阅读,并正确读取寻卡请求数据。
[0089]本可选实施方式中,身份证读卡响应装置要解密寻卡请求数据密文,需要获取认证解密密钥,该认证解密密钥可以与上述认证加密密钥为相同的密钥,即对称密钥。获取认证解密密钥可以采用但不限于以下方式:方式一:认证解密密钥预先内置在身份证读卡响应装置中,认证加密密钥也预先内置在身份证读卡终端中。方式二:身份证读卡响应装置获取认证解密密钥密文和云认证数据库的保护密钥,其中,认证解密密钥密文是云认证数据库的保护密钥对各个身份证读卡终端的认证加密密钥进行加密得到的,身份证读卡响应装置利用该保护密钥对认证解密密钥密文进行解密,得到认证解密密钥。在首次接收到身份证读卡终端利用认证加密密钥加密的数据后,身份证读卡响应装置利用认证解密密钥对接收到的身份证读卡终端首次发送的数据进行解密,保证身份证读卡响应装置与身份证读卡终端的传输数据的安全性;在本实施例中,寻卡请求数据密文为身份证读卡终端首次发送的数据。
[°09°]步骤S303:身份证读卡响应装置对寻卡请求数据进行响应,生成寻卡请求响应数据;
[0091]步骤S304:身份证读卡响应装置使用会话密钥对寻卡请求响应数据进行加密,得到第六加密数据,使用第二证书对会话密钥进行加密,得到会话密钥密文,并使用身份证读卡响应装置的私钥对第六加密数据和会话密钥密文进行签名,得到第六签名数据;
[0092]本可选实施方式中,会话密钥可以采用但不限于以下方式进行获取:方式一:身份证读卡响应装置随机生成会话密钥,会话密钥为随机因子;可选的,会话密钥可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合;会话密钥作为随机产生的密钥,不易被非法分子窃取。方式二:在身份证读卡响应装置内部预先设置会话密钥。方式三:身份证读卡响应装置与身份证读卡终端通过协商产生协商密钥,将协商密钥作为会话密钥,具体协商方法可采用现有的协商方式,本实施例中不作具体限定。
[0093]本可选实施方式中,身份证读卡响应装置利用会话密钥对寻卡请求响应数据进行加密得到第六加密数据,即使第三方截取第六加密数据,也无法获得寻卡请求响应数据,因为第三方没有该会话密钥,不能利用该会话密钥对第六加密数据进行解密,得到寻卡请求响应数据,只有同样具有该会话密钥的身份证读卡终端才能解密第六加密数据,因此,可以有效防止寻卡请求响应数据在网络传输中被非法窃取、阅读,保证寻卡请求响应数据传输的安全性。身份证读卡响应装置将第六签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第六签名数据进行解密,则说明接收的第六签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第六签名数据进行解密,则说明接收的第六签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第六加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第六加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第六加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第六签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第六加密数据进行签名可以防止第六加密数据被篡改,保证身份证读卡终端接收第六加密数据的完整性。
[0094]本可选实施方式中,身份证读卡响应装置只利用认证解密密钥对身份证读卡终端首次发来的数据(例如本实施例的寻卡请求数据包)进行解密处理,而利用新获取的会话密钥对后续发送或接收的数据进行加/解密处理,这样,可以与身份证读卡终端建立数据安全通道,提高数据传输安全性。
[0095]步骤S305:身份证读卡响应装置将寻卡请求响应数据包发送至身份证读卡终端,其中,寻卡请求响应数据包包括第六加密数据和第六签名数据。
[0096]本可选实施方式中,身份证读卡终端在接收到身份证读卡响应装置发来的寻卡请求响应数据包后,利用身份证读卡响应装置的证书对第六签名数据进行签名验证,在验证通过后,利用身份证读卡终端的第二私钥(该第二私钥与身份证读卡终端的第二证书中的第二公钥是一对非对称密钥)对会话密钥密文进行解密,得到会话密钥,再利用会话密钥对第六加密数据进行解密,得到寻卡请求响应数据;存储该会话密钥,之后就可以通过会话密钥建立安全通道,与身份证读卡响应装置进行身份证的相关数据传输,保证数据传输的安全性。
[0097]本实施例中,身份证读卡响应装置可以直接通过有线网络或无线网络与身份证读卡终端直接进行通信,也可以通过调度服务器发送或接收与身份证读卡终端的通信数据。如果身份证读卡响应装置不具有通讯接口,则需要通过第三方,例如调度服务器,进行通信数据的转发或转接,而不直接与身份证读卡终端进行通信。当通过调度服务器接收包含签名数据的通信数据时,如果通信数据中包含签名数据,可以由调度服务器对身份证读卡终端发来的数据进行签名验证,也可以由身份证读卡响应装置进行签名验证,在本实施例中不作限定。
[0098]实施例2
[0099]图4为本发明实施例提供的一种身份证读卡响应装置的结构示意图。如图4所示,本实施例提供的身份证读卡响应装置主要包括:接收模块401,用于接收身份证读卡终端发送的读卡请求数据包;安全验证模块402,用于对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息;第一生成模块403,用于生成第一认证因子;安全处理模块404,用于对第一认证因子进行安全处理,得到第一数据包;发送模块405,用于将第一数据包发送至身份证读卡终端;接收模块401,还用于接收身份证读卡终端发送的第二数据包;安全验证模块402,还用于对第二数据包进行安全验证,安全验证通过后,得到第一认证数据;第二生成模块406,用于对第一认证数据进行认证,认证通过后,生成认证因子申请请求;安全处理模块404,还用于对认证因子申请请求进行安全处理,得到第三数据包;发送模块405,还用于将第三数据包发送至身份证读卡终端;接收模块401,还用于接收身份证读卡终端发送的第四数据包;安全验证模块402,还用于对第四数据包进行安全验证,安全验证通过后,得到第二认证因子;认证处理模块407,用于对第二认证因子进行处理,得到第二认证数据;安全处理模块404,还用于对第二认证数据进行安全处理,得到第五数据包;发送模块405,还用于将第五数据包发送至身份证读卡终端;接收模块401,还用于接收身份证读卡终端发送的第六数据包;安全验证模块402,还用于对第六数据包进行安全验证,安全验证通过后,得到身份证数据密文;解密模块408,用于对身份证数据密文进行解密,得到身份证数据明文;安全处理模块404,还用于对身份证数据明文进行安全处理,得到第七数据包;发送模块405,还用于将第七数据包发送至身份证读卡终端。
[0100]本实施例中,身份证读卡响应装置设置在云认证平台,其包括国家密码管理局审批的安全芯片以及负责解密身份证数据密文的公安部指定的专用产品,该专用产品符合GA467-2013《居民身份证验证安全控制模块接口技术规范》。
[0101]本实施例中,身份证标识信息是标识身份证的唯一信息,例如身份证的序列号、用于指示身份证中设置的应用的相关信息的应用数据、传输协议(例如,传输协议类型、比特数率、最大帧长度)等,身份证读卡终端可以直接识别该身份证标识信息,不需要身份证读卡响应装置进行解密。
[0102]作为本实施例的一种可选实施方式,读卡请求数据包包括读卡请求数据密文和读卡请求数据密文的签名值;其中,读卡请求数据密文是身份证读卡终端利用会话密钥对包含身份证标识信息的读卡请求数据进行加密得到的,读卡请求数据密文的签名值是身份证读卡终端利用自身的第一私钥对读卡请求数据密文进行签名得到的;具体的,身份证读卡终端利用HASH算法计算读卡请求数据密文得到读卡请求数据密文的摘要,并利用身份证读卡终端的第一私钥对读卡请求数据密文的摘要进行加密,得到读卡请求数据密文的签名值。安全验证模块402,通过以下方式对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息:使用身份证读卡终端的第一证书对读卡请求数据密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对读卡请求数据密文进行解密,得到身份证标识信息;具体的,安全验证模块402先利用身份证读卡终端的第一证书对读卡请求数据密文的签名值进行解密,得到读卡请求数据密文的摘要,利用HASH算法对接收到的读卡请求数据密文进行计算得到读卡请求数据密文的摘要,将解密得到的读卡请求数据密文的摘要与计算得到的读卡请求数据密文的摘要进行比较,如果相同,则验签通过,否则结束身份证读卡响应流程;在验证通过的情况下,使用会话密钥对读卡请求数据密文进行解密,得到身份证标识信息。其中,第一证书至少包括身份证读卡终端的第一公钥,身份证读卡终端的第一公钥与身份证读卡终端的第一私钥是一对非对称密钥。如果安全验证模块402利用身份证读卡终端的第一公钥能够对读卡请求数据密文的签名值进行解密,则说明接收的读卡请求数据密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对读卡请求数据密文的签名值进行解密,则说明接收的读卡请求数据密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对读卡请求数据密文的签名值进行签名验证可以确认数据来源的合法性。如果读卡请求数据密文在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的读卡请求数据密文进行HASH计算得到摘要,该摘要与安全验证模块402利用身份证读卡终端的第一公钥对读卡请求数据密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对读卡请求数据密文的签名值进行验签可以判断读卡请求数据密文是否被篡改,保证接收的读卡请求数据密文的完整性。如果安全验证模块402利用身份证读卡响应装置和身份证读卡终端才有的会话密钥不能对接收到的读卡请求数据密文进行解密,则说明该读卡请求数据密文并不是身份证读卡终端发出的,因此,对读卡请求数据密文进行解密可以确认数据来源的合法性;如果第三方截取到读卡请求数据密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对读卡请求数据密文进行解密,无法获得读卡请求数据,因此,对读卡请求数据密文进行解密可以防止读卡请求数据在网络传输中被非法窃取、阅读,保证读卡请求数据的传输安全性。需要说明的是,本实施例中的验签过程均可参见该实施方式,下面涉及到验签的过程将不再具体赘述。
[0103]作为本实施例的一种可选实施方式,发送模块405,还用于在安全验证模块402对读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息之后,将身份证标识信息发送至调度服务器。其中,调度服务器同样设置在云认证平台上。这样,调度服务器可以根据身份证标识信息、身份证读卡终端的标识信息以及预先设定的策略,判断是否将身份证读卡终端的标识信息加入黑名单或管控名单。
[0104]本实施例中,在身份证读卡响应装置接收身份证发送的身份证数据密文前,身份证应与身份证读卡响应装置实现双向认证,该认证目的在于要确保身份证和身份证读卡响应装置都是合法的。身份证读卡响应装置可以利用第一认证因子实现对身份证的认证,其中,第一认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。需要说明的是,本实施例中第一认证因子由身份证读卡响应装置生成并发送给身份证。
[0105]作为本实施例的一种可选实施方式,第一数据包包括第一加密数据和第一签名数据;安全处理模块404,通过以下方式对第一认证因子进行安全处理,得到第一数据包:使用会话密钥对第一认证因子进行加密,得到第一加密数据,并使用身份证读卡响应装置的私钥对第一加密数据进行签名,得到第一签名数据;具体的,安全处理模块404利用HASH算法计算第一加密数据得到第一加密数据的摘要,并利用身份证读卡响应装置的私钥对第一加密数据的摘要进行加密,得到第一签名数据。发送模块405将包含第一加密数据和第一签名数据的第一数据包发送至身份证读卡终端。安全处理模块404利用会话密钥对第一认证因子进行加密得到第一加密数据,即使第三方截取第一加密数据,也无法获得第一认证因子,因为第三方没有该会话密钥,不能利用该会话密钥对第一加密数据进行解密,得到第一认证因子,只有同样具有该会话密钥的身份证读卡终端才能解密第一加密数据,因此,可以有效防止第一认证因子在网络传输中被非法窃取、阅读,保证第一认证因子传输的安全性。发送模块405将第一签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第一签名数据进行解密,则说明接收的第一签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第一签名数据进行解密,则说明接收的第一签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第一加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第一加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第一加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第一签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一加密数据进行签名可以防止第一加密数据被篡改,保证身份证读卡终端接收第一加密数据的完整性。本可选实施方式中,需将身份证读卡响应装置的证书发送至身份证读卡终端,该证书至少包括身份证读卡响应装置的公钥,该公钥与身份证读卡响应装置的私钥是一对非对称密钥,身份证读卡终端可以利用该公钥对第一签名数据进行签名验证,当验证通过后,再利用会话密钥对第一加密数据进行解密,得到第一认证因子,并将第一认证因子发送至身份证。需要说明的是,本实施例中的签名过程均可参见该实施方式,下面涉及到签名的过程将不再具体赘述。
[0106]本实施例中,身份证接收到身份证读卡终端发送的第一认证因子后,利用预先内置的公安部授权的处理算法对第一认证因子进行处理,得到第一认证数据,并将第一认证数据发送至身份证读卡终端。身份证读卡终端对第一认证数据进行安全处理,得到第二数据包,并将第二数据包发送至身份证读卡响应装置。其中,身份证对第一认证因子进行处理可以采用但不限于以下方式:方式一:身份证利用利用安全密钥对第一认证因子进行MAC计算得到MAC值,MAC值就是第一认证数据;方式二:身份证利用安全密钥对第一认证因子进行加密,得到第一认证数据,该安全密钥是预先内置在合法的身份证中的,只有合法的身份证才具有该安全密钥。
[0107]作为本实施例的一种可选实施方式,第二数据包包括第一密文和第一密文的签名值;其中,第一密文是由身份证读卡终端利用会话密钥对第一认证数据进行加密得到的,第一密文的签名值是由身份证读卡终端利用自身的第一私钥对第一密文进行签名得到的。安全验证模块402,通过以下方式对第二数据包进行安全验证,安全验证通过后,得到第一认证数据:使用身份证读卡终端的第一证书对第一密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第一密文进行解密,得到第一认证数据;否则结束身份证读卡响应流程。如果安全验证模块402利用身份证读卡终端的第一公钥能够对第一密文的签名值进行解密,则说明接收的第一密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对第一密文的签名值进行解密,则说明接收的第一密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第一密文的签名值进行签名验证可以确认数据来源的合法性。如果第一密文在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的第一密文进行HASH计算得到摘要,该摘要与安全验证模块402利用身份证读卡终端的第一公钥对第一密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一密文的签名值进行验签可以判断第一密文是否被篡改,保证接收的第一密文的完整性。如果安全验证模块402利用身份证读卡响应装置和身份证读卡终端才有的会话密钥不能对接收到的第一密文进行解密,说明该第一密文并不是身份证读卡终端发出的,因此,对第一密文进行解密可以确认数据来源的合法性;如果第三方截取到第一密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第一密文进行解密,无法获得第一认证数据,因此,对第一密文进行解密可以防止第一认证数据在网络传输中被非法窃取、阅读,保证第一认证数据的传输安全性。
[0108]本实施例中,身份证读卡响应装置利用预先内置的公安部授权的认证算法对安全验证得到的第一认证数据进行认证,如果认证通过,则实现了对身份证合法性的认证,即身份证是真实合法的;然后生成认证因子申请请求,并将认证因子申请请求发送至身份证读卡响应装置。其中,身份证读卡响应装置对第一认证数据进行认证可以采用但不限于以下方式:方式一:身份证读卡响应装置利用与身份证标识信息对应的安全密钥对自身生成的第一认证因子进行计算得到MAC值,将计算得到的MAC值与安全验证得到的第一认证数据进行比较,如果相同,则对第一认证数据的认证通过。方式二:身份证读卡响应装置可以利用与身份证标识信息对应的安全密钥对安全验证得到的第一认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第一认证因子是否相同,如果相同,则对第一认证数据的认证通过。方式三:身份证读卡响应装置可以利用与身份证标识信息对应的安全密钥对自身生成的第一认证因子进行加密得到认证数据,并比较加密得到的认证数据与安全验证得到的第一认证数据是否相同,如果相同,则对第一认证数据的认证通过。如果身份证读卡响应装置对第一认证数据进行的认证通过,则说明身份证使用的安全密钥与身份证读卡响应装置使用的安全密钥相同,说明身份证是合法的身份证,身份证读卡响应装置通过对第一认证数据进行认证确认了身份证的合法性。身份证读卡响应装置对预设信息进行计算得到与身份证标识信息对应的安全密钥。可选的,如果对第一认证数据进行的认证没有通过,则结束身份证读卡响应流程。
[0109]作为本实施例的一种可选实施方式,第三数据包包括第二加密数据和第二签名数据;安全处理模块404,通过以下方式对认证因子申请请求进行安全处理,得到第三数据包:使用会话密钥对认证因子申请请求进行加密,得到第二加密数据,并使用身份证读卡响应装置的私钥对第二加密数据进行签名,得到第二签名数据;发送模块405将包含第二加密数据和第二签名数据的第三数据包发送至身份证读卡终端。安全处理模块404利用会话密钥对认证因子申请请求进行加密得到第二加密数据,即使第三方截取第二加密数据,也无法获得认证因子申请请求,因为第三方没有该会话密钥,不能利用该会话密钥对第二加密数据进行解密,得到认证因子申请请求,只有同样具有该会话密钥的身份证读卡终端才能解密第二加密数据,因此,可以有效防止认证因子申请请求在网络传输中被非法窃取、阅读,保证认证因子申请请求传输的安全性。发送模块405将第二签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第二签名数据进行解密,则说明接收的第二签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第二签名数据进行解密,则说明接收的第二签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第二加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第二加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第二加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第二签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第二加密数据进行签名可以防止第二加密数据被篡改,保证身份证读卡终端接收第二加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第二签名数据进行签名验证,当验证通过后,再利用会话密钥对第二加密数据进行解密,得到认证因子申请请求,并将认证因子申请请求发送至身份证。
[0110]本实施例中,身份证接收到身份证读卡终端发送的认证因子申请请求,生成第二认证因子,并将第二认证因子发送至身份证读卡终端。身份证读卡终端对接收到的第二认证因子进行安全处理,得到第四数据包,并将第四数据包发送至身份证读卡响应装置。其中,第二认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。身份证可以利用第二认证因子实现对身份证读卡响应装置的认证。
[0111]作为本实施例的一种可选实施方式,第四数据包包括第二密文和第二密文的签名值;其中,第二密文是由身份证读卡终端利用会话密钥对二认证因子进行加密得到的,第二密文的签名值是由身份证读卡终端利用自身的第一私钥对第二密文进行签名得到的。安全验证模块402,通过以下方式对第四数据包进行安全验证,安全验证通过后,得到第二认证因子:使用身份证读卡终端的第一证书对第二密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第二密文进行解密,得到第二认证因子;否则结束身份证读卡响应流程。如果安全验证模块402利用身份证读卡终端的第一公钥能够对第二密文的签名值进行解密,则说明接收的第二密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对第二密文的签名值进行解密,则说明接收的第二密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第二密文的签名值进行签名验证可以确认数据来源的合法性。如果第二密文在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的第二密文进行HASH计算得到摘要,该摘要与安全验证模块402利用身份证读卡终端的第一公钥对第二密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第二密文的签名值进行验签可以判断第二密文是否被篡改,保证接收的第二密文的完整性。如果安全验证模块402利用身份证读卡响应装置和身份证读卡终端才有的会话密钥不能对接收到的第二密文进行解密,说明该第二密文并不是身份证读卡终端发出的,因此,对第二密文进行解密可以确认数据来源的合法性;如果第三方截取到第二密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第二密文进行解密,无法获得第二认证因子,因此,对第二密文进行解密可以防止第二认证因子在网络传输中被非法窃取、阅读,保证第二认证因子的传输安全性。
[0112]本实施例中,认证处理模块407利用预先内置的公安部授权的处理算法对安全验证得到的第二认证因子进行处理,得到第二认证数据。其中,认证处理模块407对第二认证因子进行处理可以采用但不限于以下方式:方式一:认证处理模块407利用与身份证标识信息对应的安全密钥对第二认证因子进行MAC计算得到MAC值,该MAC值就是第二认证数据;方式二:认证处理模块407利用与身份证标识信息对应的安全密钥对第二认证因子进行加密,得到第二认证数据。身份证读卡响应装置对预设信息进行计算得到与身份证标识信息对应的安全密钥。
[0113]作为本实施例的一种可选实施方式,第五数据包包括第三加密数据和第三签名数据;安全处理模块404,通过以下方式对第二认证数据进行安全处理,得到第五数据包:使用会话密钥对第二认证数据进行加密,得到第三加密数据,并使用身份证读卡响应装置的私钥对第三加密数据进行签名,得到第三签名数据;发送模块405将包括第三加密数据和第三签名数据的第五数据包发送至身份证读卡终端。安全处理模块404利用会话密钥对第二认证数据进行加密得到第三加密数据,即使第三方截取第三加密数据,也无法获得第二认证数据,因为第三方没有该会话密钥,不能利用该会话密钥对第三加密数据进行解密,得到第二认证数据,只有同样具有该会话密钥的身份证读卡终端才能解密第三加密数据,因此,可以有效防止第二认证数据在网络传输中被非法窃取、阅读,保证第二认证数据传输的安全性。发送模块405将第三签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第三签名数据进行解密,则说明接收的第三签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第三签名数据进行解密,则说明接收的第三签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第三加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第三加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第三加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第三签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第三加密数据进行签名可以防止第三加密数据被篡改,保证身份证读卡终端接收第三加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第三签名数据进行签名验证,当验证通过后,再利用会话密钥对第三加密数据进行解密,得到第二认证数据,并将第二认证数据发送至身份证。
[0114]本实施例中,身份证接收到身份证读卡终端发送的第二认证数据后,首先利用预先内置的认证算法对第二认证数据进行认证,并在认证通过后,向身份证读卡终端发送身份证数据密文。其中,身份证数据密文一般是居民身份证号、姓名、照片、年龄、住址、卡片使用年限和/或指纹等数据的密文。其中,身份证对第二认证数据进行认证可以采用但不限于以下方式:方式一:身份证利用内置的安全密钥对自身生成的第二认证因子进行计算得到MAC值,将计算得到的MAC值与安全验证得到的第二认证数据进行比较,如果相同,则对第二认证数据的认证通过。方式二:身份证可以利用内置的安全密钥对安全验证得到的第二认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第二认证因子是否相同,如果相同,则对第二认证数据的认证通过。方式三:身份证可以利用内置的安全密钥对自身生成的第二认证因子进行加密得到认证数据,并比较加密得到的认证数据与安全验证得到的第二认证数据是否相同,如果相同,则对第二认证数据的认证通过。如果身份证对第二认证数据认证通过,说明身份证读卡响应装置使用的安全密钥与身份证内置的安全密钥相同,说明身份证读卡响应装置是合法的身份证读卡响应装置,身份证通过对第二认证数据进行认证确认了身份证读卡响应装置的合法性。作为一种可选的实施方式,如果对第二认证数据进行的认证没有通过,则结束身份证读卡响应流程。身份证读卡终端对身份证数据密文进行安全处理,得到第六数据包,并将第六数据包发送至身份证读卡响应装置。作为一种可选的实施方式,身份证读卡终端可以将身份证数据密文所包括的信息通过一个数据包,一次发送到身份证读卡响应装置,当然,也可以将身份证数据密文所包括的信息通过多个数据包,分多次发送到身份证读卡响应装置。
[0115]身份证读卡响应装置通过第一认证因子确认了身份证的合法性,身份证通过第二认证因子确认了身份证读卡响应装置的合法性。双向认证通过后,身份证才向身份证读卡终端发送身份证数据密文。
[0116]作为本实施例的一种可选实施方式,第六数据包包括第三密文和第三密文的签名值;其中,第三密文是由身份证读卡终端利用会话密钥身份证数据密文进行加密得到的,第三密文的签名值是由身份证读卡终端利用自身的第一私钥对第三密文进行签名得到的。安全验证模块402,通过以下方式对第六数据包进行安全验证,安全验证通过后,得到身份证数据密文:使用身份证读卡终端的第一证书对第三密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对第三密文进行解密,得到身份证数据密文;否则结束身份证读卡响应流程。如果安全验证模块402利用身份证读卡终端的第一公钥能够对第三密文的签名值进行解密,则说明接收的第三密文的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对第三密文的签名值进行解密,则说明接收的第三密文的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第三密文的签名值进行签名验证可以确认数据来源的合法性。如果第三密文在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的第三密文进行HASH计算得到摘要,该摘要与安全验证模块402利用身份证读卡终端的第一公钥对第三密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第三密文的签名值进行验签可以判断第三密文是否被篡改,保证接收的第三密文的完整性。如果安全验证模块402利用身份证读卡响应装置和身份证读卡终端才有的会话密钥不能对接收到的第三密文进行解密,说明该第三密文并不是身份证读卡终端发出的,因此,对第三密文进行解密可以确认数据来源的合法性;如果第三方截取到第三密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对第三密文进行解密,无法获得身份证数据密文,因此,对第三密文进行解密可以防止身份证数据密文在网络传输中被非法窃取、阅读,保证身份证数据密文的传输安全性。
[0117]本实施例中,身份证数据明文一般是居民身份证号、姓名、照片、年龄、住址、卡片使用年限、指纹等数据的明文。
[0118]本实施例中,发送模块405将第七数据包发送至身份证读卡终端后,身份证读卡响应成功,结束身份证读卡响应流程。
[0119]作为本实施例的一种可选实施方式,发送模块405可以将身份证数据明文所包括的信息通过一个数据包,一次发送到身份证读卡终端,当然,也可以将身份证数据明文所包括的信息通过多个数据包,分多次发送到身份证读卡终端。
[0120]作为本实施例的一种可选实施方式,第七数据包包括第四加密数据和第四签名数据;安全处理模块404,通过以下方式对身份证数据明文进行安全处理,得到第七数据包:使用会话密钥对身份证数据明文进行加密,得到第四加密数据,并使用身份证读卡响应装置的私钥对第四加密数据进行签名,得到第四签名数据。发送模块405将包括第四加密数据和第四签名数据的第七数据包发送至身份证读卡终端。安全处理模块404利用会话密钥对身份证数据明文进行加密得到第四加密数据,即使第三方截取第四加密数据,也无法获得身份证数据明文,因为第三方没有该会话密钥,不能利用该会话密钥对第四加密数据进行解密,得到身份证数据明文,只有同样具有该会话密钥的身份证读卡终端才能解密第四加密数据,因此,可以有效防止身份证数据明文在网络传输中被非法窃取、阅读,保证身份证数据明文传输的安全性。发送模块405将第四签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第四签名数据进行解密,则说明接收的第四签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第四签名数据进行解密,则说明接收的第四签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,安全处理模块404对第四加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第四加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第四加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第四签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第四加密数据进行签名可以防止第四加密数据被篡改,保证身份证读卡终端接收第四加密数据的完整性。本可选实施方式中,身份证读卡终端可以利用身份证读卡响应装置的公钥对第四签名数据进行签名验证,当验证通过后,再利用会话密钥对第四加密数据进行解密,得到身份证数据明文。
[0121]本实施例中的身份证读卡终端内并不设置有可以对从身份证读取的密文数据实现解密的身份证读卡响应装置,而是在云认证平台中设置身份证读卡响应装置,身份证读卡终端可通过接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署身份证读卡响应装置,也无需大量设置身份证读卡响应装置与身份证读卡终端之间的对应关系,简化了实现方案。同时,在云认证平台设置身份证读卡响应装置,身份证读卡响应装置对身份证读卡终端发来的身份证相关数据进行安全验证,再对身份证相关数据进行相应处理,生成响应数据,并对响应数据进行安全处理,再将处理过的数据发送至身份证读卡终端,因此身份证读卡响应装置与身份证读卡终端之间建立了安全通道,通过该安全通道可以提高身份证与身份证读卡响应装置之间通讯的安全性,保证身份证数据的传输安全。并且,身份证和身份证读卡响应装置通过第一认证因子和第二认证因子的交互完成了双向认证,身份证读卡响应装置对身份证数据密文进行解密以得到身份证数据明文,并发送给身份证读卡终端,以完成身份证的读取。
[0122]作为本实施例的一种可选实施方式,如图4所示,本实施例提供的身份证读卡响应装置还可以包括:接收模块401,还用于在安全验证模块402对读卡请求数据包进行安全验证之前,接收身份证读卡终端发送的会话密钥请求数据包,其中,会话密钥请求数据包包括第一随机因子、第一随机因子的签名值和身份证读卡终端的第一证书;安全验证模块402,还用于对第一证书的合法性进行验证,并在验证通过后,使用第一证书对第一随机因子的签名值进行签名验证;第四生成模块410,用于在签名验证通过的情况下,生成第二随机因子;安全处理模块404,还用于对第一随机因子和第二随机因子进行加密,得到第五加密数据,并使用身份证读卡响应装置的私钥对第五加密数据进行签名,得到第五签名数据;发送模块405,还用于将第八数据包发送至身份证读卡终端,其中,第八数据包包括第五加密数据、第五签名数据和身份证读卡响应装置的证书;第五生成模块411,用于在第四生成模块410生成第二随机因子之后,根据第一随机因子和第二随机因子生成会话密钥。
[0123]本可选实施方式中,第一随机因子的签名值是身份证读卡终端利用自身的第一私钥进行签名得到的。第一随机因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。
[0124]本可选实施方式中,身份证读卡响应装置利用根证书对身份证读卡终端的第一证书进行验证,如果验证通过,则说明身份证读卡终端的第一证书是合法的。
[0125]本可选实施方式中,如果安全验证模块402利用身份证读卡终端的第一公钥能够对第一随机因子的签名值进行解密,则说明接收的第一随机因子的签名值是由身份证读卡终端发出的,其数据来源是合法的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对第一随机因子的签名值进行解密,则说明接收的第一随机因子的签名值不是由身份证读卡终端发出的,其数据来源是不合法的,因此,对第一随机因子的签名值进行签名验证可以确认数据来源的合法性。如果第一随机因子在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的第一随机因子进行HASH计算得到摘要,该摘要与安全验证模块402402利用身份证读卡终端的第一公钥对第一随机因子的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第一随机因子的签名值进行验签可以判断第一随机因子是否被篡改,保证接收的第一随机因子的完整性。
[0126]本可选实施方式中,第二随机因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合。
[0127]可选的,若安全验证模块402对第一随机因子的签名值的验签没有通过,则结束会话密钥请求响应流程。
[0128]本可选实施方式中,第五生成模块411利用预设算法对第一随机因子和第二随机因子生成会话密钥。
[0129]本可选实施方式中,安全处理模块404利用身份证读卡终端的第一证书对第一随机因子和第二随机因子进行加密,得到第五加密数据。安全处理模块404利用会话密钥对第一随机因子和第二随机因子进行加密得到第五加密数据,即使第三方截取第五加密数据,也无法获得第一随机因子和第二随机因子,因为第三方没有该会话密钥,不能利用该会话密钥对第五加密数据进行解密,得到第一随机因子和第二随机因子,只有同样具有该会话密钥的身份证读卡终端才能解密第五加密数据,因此,可以有效防止第一随机因子和第二随机因子在网络传输中被非法窃取、阅读,保证第一随机因子和第二随机因子传输的安全性。发送模块405将第五签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第五签名数据进行解密,则说明接收的第五签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第五签名数据进行解密,则说明接收的第五签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第五加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第五加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第五加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第五签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第五加密数据进行签名可以防止第五加密数据被篡改,保证身份证读卡终端接收第五加密数据的完整性。
[0130]本可选实施方式中,身份证读卡终端接收到第八数据包后,利用身份证读卡响应装置的证书对第五签名数据进行签名验证,在验证通过后,利用身份证读卡终端的第一私钥对第五加密数据进行解密,得到第一随机因子和第二随机因子,将解密得到的第一随机因子与自身生成的第一随机因子进行比较,如果相同,则说明身份证读卡响应装置已接收到第一随机因子并且身份证读卡响应装置接收的第一随机因子与身份证读卡终端生成的第一随机因子相同,身份证读卡终端利用与上述预设算法相同的算法对第一随机因子和第二随机因子进行计算,生成与身份证读卡响应装置的会话密钥相同的会话密钥,这样,身份证读卡响应装置与身份证读卡终端可以通过该会话密钥建立安全通道来进行身份证的相关数据传输,能够提高数据传输的安全性;如果不相同,则说明身份证读卡响应装置接收的第一随机因子与身份证读卡终端生成的第一随机因子是不同的,身份证读卡终端和身份证读卡响应装置利用相同的预设算法对各自的第一随机因子和第二随机因子计算得到不相同的两个会话密钥,身份证读卡终端和身份证读卡响应装置均不能解密对方发来的加密数据。
[0131]作为本实施例的一种可选实施方式,如图4所示,本实施例提供的身份证读卡响应装置还可以包括:接收模块401,还用于在接收身份证读卡终端发送的读卡请求数据包之前,接收身份证读卡终端发送的寻卡请求数据包,其中,寻卡请求数据包包括寻卡请求数据密文、寻卡请求数据密文的签名值以及身份证读卡终端的第一证书和第二证书;安全验证模块402,还用于对第一证书的合法性进行验证,在验证通过后,使用第一证书对寻卡请求数据密文的签名值进行签名验证,在签名验证通过的情况下,使用获取的认证解密密钥对寻卡请求数据密文进行解密,得到寻卡请求数据;第三生成模块409,用于对寻卡请求数据进行响应,生成寻卡请求响应数据;安全处理模块404,还用于使用会话密钥对寻卡请求响应数据进行加密,得到第六加密数据,并使用第二证书对会话密钥进行加密,得到会话密钥密文;使用身份证读卡响应装置的私钥对第六加密数据和会话密钥密文进行签名,得到第六签名数据;发送模块405,还用于将寻卡请求响应数据包发送至身份证读卡终端,其中,寻卡请求响应数据包包括第六加密数据和第六签名数据。
[0132]本可选实施方式中,寻卡请求数据密文是由身份证读卡终端利用认证加密密钥对寻卡请求数据进行加密得到的,寻卡请求数据密文的签名值是由身份证读卡终端利用自身的第一私钥对寻卡请求数据密文进行签名得到的。
[0133]可选的,第一证书和第二证书可以是相同的证书,也可以是不同的证书。
[0134]可选的,寻卡请求数据包括时间戳和/或终端计数器;发送模块405,还用于在安全验证模块402使用获取的认证解密密钥对寻卡请求数据密文进行解密,得到寻卡请求数据之后,将时间戳和/或终端计数器发送至调度服务器。调度服务器可以根据时间戳、终端计数器等信息进行身份证读卡终端的频度管控和黑名单自动捕获,并将可疑的身份证读卡终端加入黑名单。
[0135]可选的,在接收模块401接收身份证读卡终端发送的寻卡请求数据包之前,调度服务器会接收身份证读卡终端的接入云认证平台的请求,获取身份证读卡终端的标识信息,根据身份证读卡终端的标识信息判断是否允许身份证读卡终端读取身份证;在确定允许身份证读卡终端读取身份证的情况下,在接收到身份证读卡终端发送的寻卡请求数据包后,向云认证平台的云认证数据库发送工作状态查询请求;云认证数据库接收调度服务器发送的工作状态查询请求,查询调度服务器的管辖范围内的各个身份证读卡响应装置的工作状态,并将查询结果发送至调度服务器;调度服务器接收云认证数据库发送的查询结果,并根据查询结果,选择一个工作状态为空闲的身份证读卡响应装置,将选择的身份证读卡响应装置的标识信息发送至身份证读卡终端。其中,调度服务器可以通过以下方式判断是否允许身份证读卡终端读取身份证:身份证读卡终端的标识信息包括第一证书和第二证书;可以利用根证书对第一证书的合法性进行验证,若验证通过,则允许身份证读卡终端读取身份证;若验证不通过,则不允许身份证读卡终端读取身份证;和/或可以利用根证书对第二证书的合法性进行验证,若验证通过,则允许身份证读卡终端读取身份证;若验证不通过,则不允许身份证读卡终端读取身份证。
[0136]可选的,在选择一个工作状态为空闲的身份证读卡响应装置之后,调度服务器会生成鉴权码,将鉴权码分别发送至身份证读卡终端和云认证数据库;云认证数据库存储鉴权码,并在鉴权码的有效期到达时,删除鉴权码;寻卡请求数据包还包括鉴权码密文,身份证读卡响应装置对鉴权码密文进行解密,得到鉴权码;如图4所示,所述装置还包括查询模块412,用于查询云认证数据库中是否存储有鉴权码,若存储有,则继续执行操作,否则结束流程。具体的,在分配端口给工作状态空闲的身份证读卡响应装置之后,调度服务器将生成的鉴权码分别发送到身份证读卡终端和云认证数据库中进行存储,身份证读卡终端利用认证加密密钥对该鉴权码进行加密,得到鉴权码密文;身份证读卡响应装置利用认证解密密钥对该鉴权码密文进行解密,得到鉴权码,向云认证数据库发送查询请求,查询云认证数据库中是否存储有该鉴权码,若存储有,则生成寻卡请求响应数据,否则结束寻卡响应流程。其中,该鉴权码具有时效性,当超过预定时长时,云认证数据库就会删除存储的鉴权码,鉴权码失效,上述查询操作失败,终止交易响应,因此,设置鉴权码能够识别交易是否合法,从而判定是否继续交易响应,保证身份证读卡响应流程的安全性。该鉴权码可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0137]本可选实施方式中,身份证读卡响应装置利用根证书对身份证读卡终端的第一证书进行验证,如果验证通过,则说明身份证读卡终端的第一证书是合法的。
[0138]本可选实施方式中,如果安全验证模块402利用身份证读卡终端的第一公钥能够对寻卡请求数据密文的签名值进行解密,则说明接收的寻卡请求数据密文的签名值是由身份证读卡终端发出的;如果安全验证模块402利用身份证读卡终端的第一公钥不能对寻卡请求数据密文的签名值进行解密,则说明接收的寻卡请求数据密文的签名值不是由身份证读卡终端发出的,因此,对寻卡请求数据密文的签名值进行签名验证可以确认数据来源的合法性。如果寻卡请求数据密文在传输过程中被非法分子篡改,则安全验证模块402在验签过程中,会对篡改后的寻卡请求数据密文进行HASH计算得到摘要,该摘要与安全验证模块402利用身份证读卡终端的第一公钥对寻卡请求数据密文的签名值进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对寻卡请求数据密文的签名值进行验签可以判断寻卡请求数据密文是否被篡改,保证接收的寻卡请求数据密文的完整性。如果安全验证模块402利用身份证读卡响应装置和身份证读卡终端才有的会话密钥不能对接收到的寻卡请求数据密文进行解密,说明该寻卡请求数据密文并不是身份证读卡终端发出的,因此,对寻卡请求数据密文进行解密可以确认数据来源的合法性;如果第三方截取到寻卡请求数据密文,由于第三方无法获取身份证读卡响应装置和身份证读卡终端才有的会话密钥,因此不能对寻卡请求数据密文进行解密,无法获得寻卡请求数据,因此,对寻卡请求数据密文进行解密可以防止寻卡请求数据在网络传输中被非法窃取、阅读,并正确读取寻卡请求数据。
[0139]本可选实施方式中,安全验证模块402要解密寻卡请求数据密文,需要获取认证解密密钥,该认证解密密钥可以与上述认证加密密钥为相同的密钥,即对称密钥。获取认证解密密钥可以采用但不限于以下方式:方式一:认证解密密钥预先内置在身份证读卡响应装置中,认证加密密钥也预先内置在身份证读卡终端中。方式二:身份证读卡响应装置获取认证解密密钥密文和云认证数据库的保护密钥,其中,认证解密密钥密文是云认证数据库的保护密钥对各个身份证读卡终端的认证加密密钥进行加密得到的,身份证读卡响应装置利用该保护密钥对认证解密密钥密文进行解密,得到认证解密密钥。在首次接收到身份证读卡终端利用认证加密密钥加密的数据后,身份证读卡响应装置利用认证解密密钥对接收到的身份证读卡终端首次发送的数据进行解密,保证身份证读卡响应装置与身份证读卡终端的传输数据的安全性;在本实施例中,寻卡请求数据密文为身份证读卡终端首次发送的数据。
[0140]本可选实施方式中,会话密钥可以采用但不限于以下方式进行获取:方式一:身份证读卡响应装置随机生成会话密钥,会话密钥为随机因子;可选的,会话密钥可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合;会话密钥作为随机产生的密钥,不易被非法分子窃取。方式二:在身份证读卡响应装置内部预先设置会话密钥。方式三:身份证读卡响应装置与身份证读卡终端通过协商产生协商密钥,将协商密钥作为会话密钥,具体协商方法可采用现有的协商方式,本实施例中不作具体限定。
[0141]本可选实施方式中,安全处理模块404利用会话密钥对寻卡请求响应数据进行加密得到第六加密数据,即使第三方截取第六加密数据,也无法获得寻卡请求响应数据,因为第三方没有该会话密钥,不能利用该会话密钥对第六加密数据进行解密,得到寻卡请求响应数据,只有同样具有该会话密钥的身份证读卡终端才能解密第六加密数据,因此,可以有效防止寻卡请求响应数据在网络传输中被非法窃取、阅读,保证寻卡请求响应数据传输的安全性。发送模块405将第六签名数据发送至身份证读卡终端后,身份证读卡终端会执行验签操作,如果身份证读卡终端利用身份证读卡响应装置的公钥能够对第六签名数据进行解密,则说明接收的第六签名数据是由身份证读卡响应装置发出的,其数据来源是合法的;如果身份证读卡终端利用身份证读卡响应装置的公钥不能对第六签名数据进行解密,则说明接收的第六签名数据不是由身份证读卡响应装置发出的,其数据来源是不合法的,因此,对第六加密数据进行签名可以使身份证读卡终端确认数据来源的合法性。如果第六加密数据在传输过程中被非法分子篡改,则身份证读卡终端在验签过程中,会对篡改后的第六加密数据进行HASH计算得到摘要,该摘要与身份证读卡终端利用身份证读卡响应装置的公钥对第六签名数据进行解密得到的摘要必定不同,导致验签无法通过,因此,通过对第六加密数据进行签名可以防止第六加密数据被篡改,保证身份证读卡终端接收第六加密数据的完整性。本可选实施方式中,安全验证模块402只利用认证解密密钥对身份证读卡终端首次发来的数据(例如本实施例的寻卡请求数据包)进行解密处理,而利用新获取的会话密钥对后续发送或接收的数据进行加/解密处理,这样,可以与身份证读卡终端建立数据安全通道,提高数据传输安全性。
[OH2]本可选实施方式中,身份证读卡终端在接收到发送模块405发来的寻卡请求响应数据包后,利用身份证读卡响应装置的证书对第六签名数据进行签名验证,在验证通过后,利用身份证读卡终端的第二私钥(该第二私钥与身份证读卡终端的第二证书中的第二公钥是一对非对称密钥)对会话密钥密文进行解密,得到会话密钥,再利用会话密钥对第六加密数据进行解密,得到寻卡请求响应数据;存储该会话密钥,之后就可以通过会话密钥建立安全通道,与身份证读卡响应装置进行身份证的相关数据传输,保证数据传输的安全性。
[0143]本实施例中,身份证读卡响应装置可以直接通过有线网络或无线网络与身份证读卡终端直接进行通信,也可以通过调度服务器发送或接收与身份证读卡终端的通信数据。如果身份证读卡响应装置不具有通讯接口,则需要通过第三方,例如调度服务器,进行通信数据的转发或转接,而不直接与身份证读卡终端进行通信。当通过调度服务器接收包含签名数据的通信数据时,如果通信数据中包含签名数据,可以由调度服务器对身份证读卡终端发来的数据进行签名验证,也可以由身份证读卡响应装置进行签名验证,在本实施例中不作限定。
[0144]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0145]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0146]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0147]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0148]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0149]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0150]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
【主权项】
1.一种身份证读卡响应方法,其特征在于,包括:身份证读卡响应装置接收身份证读卡终端发送的读卡请求数据包,并对所述读卡请求 数据包进行安全验证,安全验证通过后,得到身份证标识信息;生成第一认证因子,对所述第一认证因子进行安全处理,得到第一数据包,并将所述第 一数据包发送至所述身份证读卡终端;接收所述身份证读卡终端发送的第二数据包,并对所述第二数据包进行安全验证,安 全验证通过后,得到第一认证数据;对所述第一认证数据进行认证,认证通过后,生成认证因子申请请求;对所述认证因子申请请求进行安全处理,得到第三数据包,并将所述第三数据包发送 至所述身份证读卡终端;接收所述身份证读卡终端发送的第四数据包,并对所述第四数据包进行安全验证,安 全验证通过后,得到第二认证因子;对所述第二认证因子进行处理,得到第二认证数据;对所述第二认证数据进行安全处理,得到第五数据包,并将所述第五数据包发送至所 述身份证读卡终端;接收所述身份证读卡终端发送的第六数据包,并对所述第六数据包进行安全验证,安 全验证通过后,得到身份证数据密文;对所述身份证数据密文进行解密,得到身份证数据明文;对所述身份证数据明文进行安全处理,得到第七数据包,并将所述第七数据包发送至 所述身份证读卡终端。2.根据权利要求1所述的方法,其特征在于,所述读卡请求数据包包括读卡请求数据密文和所述读卡请求数据密文的签名值;对所 述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息,包括:使用所述 身份证读卡终端的第一证书对所述读卡请求数据密文的签名值进行签名验证,在验证通过 的情况下,使用会话密钥对所述读卡请求数据密文进行解密,得到所述身份证标识信息; 和/或所述第一数据包包括第一加密数据和第一签名数据;对所述第一认证因子进行安全处 理,包括:使用会话密钥对所述第一认证因子进行加密,得到所述第一加密数据,并使用所 述身份证读卡响应装置的私钥对所述第一加密数据进行签名,得到所述第一签名数据;和/ 或所述第二数据包包括第一密文和所述第一密文的签名值;对所述第二数据包进行安全 验证,安全验证通过后,得到第一认证数据,包括:使用所述身份证读卡终端的第一证书对 所述第一密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第一密 文进行解密,得到所述第一认证数据;和/或所述第三数据包包括第二加密数据和第二签名数据;对所述认证因子申请请求进行安 全处理,包括:使用会话密钥对所述认证因子申请请求进行加密,得到所述第二加密数据, 并使用所述身份证读卡响应装置的私钥对所述第二加密数据进行签名,得到所述第二签名 数据;和/或所述第四数据包包括第二密文和所述第二密文的签名值;对所述第四数据包进行安全验证,安全验证通过后,得到第二认证因子,包括:使用所述身份证读卡终端的第一证书对 所述第二密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第二密 文进行解密,得到所述第二认证因子;和/或所述第五数据包包括第三加密数据和第三签名数据;对所述第二认证数据进行安全处 理,包括:使用会话密钥对所述第二认证数据进行加密,得到所述第三加密数据,并使用所 述身份证读卡响应装置的私钥对所述第三加密数据进行签名,得到所述第三签名数据;和/ 或所述第六数据包包括第三密文和所述第三密文的签名值;对所述第六数据包进行安全 验证,安全验证通过后,得到身份证数据密文,包括:使用所述身份证读卡终端的第一证书 对所述第三密文的签名值进行签名验证,在验证通过的情况下,使用会话密钥对所述第三 密文进行解密,得到所述身份证数据密文;和/或所述第七数据包包括第四加密数据和第四签名数据;对所述身份证数据明文进行安全 处理,包括:使用会话密钥对所述身份证数据明文进行加密,得到所述第四加密数据,并使 用所述身份证读卡响应装置的私钥对所述第四加密数据进行签名,得到所述第四签名数 据。3.根据权利要求1或2所述的方法,其特征在于,在对所述读卡请求数据包进行安全验 证之前,还包括:所述身份证读卡响应装置接收所述身份证读卡终端发送的会话密钥请求数据包,其 中,所述会话密钥请求数据包包括第一随机因子、所述第一随机因子的签名值和所述身份 证读卡终端的第一证书;对所述第一证书的合法性进行验证,在验证通过后,使用所述第一证书对所述第一随 机因子的签名值进行签名验证,在签名验证通过的情况下,生成第二随机因子;对所述第一随机因子和所述第二随机因子进行加密,得到第五加密数据,并使用所述 身份证读卡响应装置的私钥对所述第五加密数据进行签名,得到第五签名数据;将第八数据包发送至所述身份证读卡终端,其中,所述第八数据包包括所述第五加密 数据、所述第五签名数据和所述身份证读卡响应装置的证书;其中,在生成第二随机因子之后,还包括:根据所述第一随机因子和所述第二随机因子 生成会话密钥。4.根据权利要求1或2所述的方法,其特征在于,在接收身份证读卡终端发送的读卡请 求数据包之前,还包括:所述身份证读卡响应装置接收所述身份证读卡终端发送的寻卡请求数据包,其中,所 述寻卡请求数据包包括寻卡请求数据密文、所述寻卡请求数据密文的签名值以及所述身份 证读卡终端的第一证书和第二证书;对所述第一证书的合法性进行验证,在验证通过后,使用所述第一证书对所述寻卡请 求数据密文的签名值进行签名验证,在签名验证通过的情况下,使用获取的认证解密密钥 对所述寻卡请求数据密文进行解密,得到寻卡请求数据;对所述寻卡请求数据进行响应,生成寻卡请求响应数据;使用会话密钥对所述寻卡请求响应数据进行加密,得到第六加密数据,使用所述第二 证书对所述会话密钥进行加密,得到会话密钥密文,并使用所述身份证读卡响应装置的私钥对所述第六加密数据和所述会话密钥密文进行签名,得到第六签名数据;将寻卡请求响应数据包发送至所述身份证读卡终端,其中,所述寻卡请求响应数据包 包括所述第六加密数据和所述第六签名数据。5.根据权利要求1至4任一项所述的方法,其特征在于,在对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份证标识信息之后, 还包括:将所述身份证标识信息发送至调度服务器。6.根据权利要求4所述的方法,其特征在于,所述寻卡请求数据包括时间戳和/或终端 计数器;在使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数 据之后,还包括:将所述时间戳和/或终端计数器发送至调度服务器。7.—种身份证读卡响应装置,其特征在于,包括:接收模块,用于接收身份证读卡终端发送的读卡请求数据包;安全验证模块,用于对所述读卡请求数据包进行安全验证,安全验证通过后,得到身份 证标识信息;第一生成模块,用于生成第一认证因子;安全处理模块,用于对所述第一认证因子进行安全处理,得到第一数据包;发送模块,用于将所述第一数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第二数据包;所述安全验证模块,还用于对所述第二数据包进行安全验证,安全验证通过后,得到第 一认证数据;第二生成模块,用于对所述第一认证数据进行认证,认证通过后,生成认证因子申请请 求;所述安全处理模块,还用于对所述认证因子申请请求进行安全处理,得到第三数据包; 所述发送模块,还用于将所述第三数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第四数据包;所述安全验证模块,还用于对所述第四数据包进行安全验证,安全验证通过后,得到第 二认证因子;认证处理模块,用于对所述第二认证因子进行处理,得到第二认证数据;所述安全处理模块,还用于对所述第二认证数据进行安全处理,得到第五数据包; 所述发送模块,还用于将所述第五数据包发送至所述身份证读卡终端;所述接收模块,还用于接收所述身份证读卡终端发送的第六数据包;所述安全验证模块,还用于对所述第六数据包进行安全验证,安全验证通过后,得到身 份证数据密文;解密模块,用于对所述身份证数据密文进行解密,得到身份证数据明文;所述安全处理模块,还用于对所述身份证数据明文进行安全处理,得到第七数据包; 所述发送模块,还用于将所述第七数据包发送至所述身份证读卡终端。8.根据权利要求7所述的装置,其特征在于,所述读卡请求数据包包括读卡请求数据密文和所述读卡请求数据密文的签名值;所述安全验证模块,通过以下方式对所述读卡请求数据包进行安全验证,安全验证通过后,得到 身份证标识信息:使用所述身份证读卡终端的第一证书对所述读卡请求数据密文的签名值 进行签名验证,在验证通过的情况下,使用会话密钥对所述读卡请求数据密文进行解密,得 到所述身份证标识信息;和/或所述第一数据包包括第一加密数据和第一签名数据;所述安全处理模块,通过以下方 式对所述第一认证因子进行安全处理,得到第一数据包:使用会话密钥对所述第一认证因 子进行加密,得到所述第一加密数据,并使用所述身份证读卡响应装置的私钥对所述第一 加密数据进行签名,得到所述第一签名数据;和/或所述第二数据包包括第一密文和所述第一密文的签名值;所述安全验证模块,通过以 下方式对所述第二数据包进行安全验证,安全验证通过后,得到第一认证数据:使用所述身 份证读卡终端的第一证书对所述第一密文的签名值进行签名验证,在验证通过的情况下, 使用会话密钥对所述第一密文进行解密,得到所述第一认证数据;和/或所述第三数据包包括第二加密数据和第二签名数据;所述安全处理模块,通过以下方 式对所述认证因子申请请求进行安全处理,得到第三数据包:使用会话密钥对所述认证因 子申请请求进行加密,得到所述第二加密数据,并使用所述身份证读卡响应装置的私钥对 所述第二加密数据进行签名,得到所述第二签名数据;和/或所述第四数据包包括第二密文和所述第二密文的签名值;所述安全验证模块,通过以 下方式对所述第四数据包进行安全验证,安全验证通过后,得到第二认证因子:使用所述身 份证读卡终端的第一证书对所述第二密文的签名值进行签名验证,在验证通过的情况下, 使用会话密钥对所述第二密文进行解密,得到所述第二认证因子;和/或所述第五数据包包括第三加密数据和第三签名数据;所述安全处理模块,通过以下方 式对所述第二认证数据进行安全处理,得到第五数据包:使用会话密钥对所述第二认证数 据进行加密,得到所述第三加密数据,并使用所述身份证读卡响应装置的私钥对所述第三 加密数据进行签名,得到所述第三签名数据;和/或所述第六数据包包括第三密文和所述第三密文的签名值;所述安全验证模块,通过以 下方式对所述第六数据包进行安全验证,安全验证通过后,得到身份证数据密文:使用所述 身份证读卡终端的第一证书对所述第三密文的签名值进行签名验证,在验证通过的情况 下,使用会话密钥对所述第三密文进行解密,得到所述身份证数据密文;和/或所述第七数据包包括第四加密数据和第四签名数据;所述安全处理模块,通过以下方 式对所述身份证数据明文进行安全处理,得到第七数据包:使用会话密钥对所述身份证数 据明文进行加密,得到所述第四加密数据,并使用所述身份证读卡响应装置的私钥对所述 第四加密数据进行签名,得到所述第四签名数据。9.根据权利要求7或8所述的装置,其特征在于,还包括:所述接收模块,还用于在所述安全验证模块对所述读卡请求数据包进行安全验证之 前,接收所述身份证读卡终端发送的会话密钥请求数据包,其中,所述会话密钥请求数据包 包括第一随机因子、所述第一随机因子的签名值和所述身份证读卡终端的第一证书;所述安全验证模块,还用于对所述第一证书的合法性进行验证,并在验证通过后,使用 所述第一证书对所述第一随机因子的签名值进行签名验证;第四生成模块,用于在签名验证通过的情况下,生成第二随机因子;所述安全处理模块,还用于对所述第一随机因子和所述第二随机因子进行加密,得到 第五加密数据,并使用所述身份证读卡响应装置的私钥对所述第五加密数据进行签名,得 到第五签名数据;所述发送模块,还用于将第八数据包发送至所述身份证读卡终端,其中,所述第八数据 包包括所述第五加密数据、所述第五签名数据和所述身份证读卡响应装置的证书;第五生成模块,用于在所述第四生成模块生成第二随机因子之后,根据所述第一随机 因子和所述第二随机因子生成会话密钥。10.根据权利要求7或8所述的装置,其特征在于,还包括:所述接收模块,还用于在接收身份证读卡终端发送的读卡请求数据包之前,接收所述 身份证读卡终端发送的寻卡请求数据包,其中,所述寻卡请求数据包包括寻卡请求数据密 文、所述寻卡请求数据密文的签名值以及所述身份证读卡终端的第一证书和第二证书; 所述安全验证模块,还用于对所述第一证书的合法性进行验证,在验证通过后,使用所 述第一证书对所述寻卡请求数据密文的签名值进行签名验证,在签名验证通过的情况下, 使用获取的认证解密密钥对所述寻卡请求数据密文进行解密,得到寻卡请求数据;第三生成模块,用于对所述寻卡请求数据进行响应,生成寻卡请求响应数据;所述安全处理模块,还用于使用会话密钥对所述寻卡请求响应数据进行加密,得到第 六加密数据,并使用所述第二证书对所述会话密钥进行加密,得到会话密钥密文;使用所述 身份证读卡响应装置的私钥对所述第六加密数据和所述会话密钥密文进行签名,得到第六 签名数据;所述发送模块,还用于将寻卡请求响应数据包发送至所述身份证读卡终端,其中,所述 寻卡请求响应数据包包括所述第六加密数据和所述第六签名数据。
【文档编号】H04L29/06GK106027482SQ201610243204
【公开日】2016年10月12日
【申请日】2016年4月18日
【发明人】李明
【申请人】李明
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1