一种身份证读取方法和身份证读卡终端的制作方法
【专利摘要】本发明公开了一种身份证读取方法和身份证读卡终端,其中,身份证读取方法包括:身份证读卡终端接收身份证发送的身份证标识信息并发送至云认证平台,接收云认证平台生成的第一认证因子并发送至身份证,接收身份证返回的第一认证数据并发送至云认证平台,接收身份证生成的第二认证因子并发送至云认证平台,接收云认证平台返回的第二认证数据并发送至身份证,接收身份证发送的身份证数据密文,对身份证数据密文进行安全处理得到第七数据包,发送第七数据包至云认证平台,接收云认证平台返回的第八数据包,对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。通过本发明提供的身份证读取方法,降低了实现成本,简化了实现方案。
【专利说明】
一种身份证读取方法和身份证读卡终端
技术领域
[0001]本发明涉及一种身份证领域,尤其涉及一种身份证读取方法和身份证读卡终端。
【背景技术】
[0002]现有身份证信息读取方案中,身份证读卡器需要配合使用验证安全控制模块来实现身份证信息的读取及显示。在银行、车站等需要采用身份证信息读取的行业,通常需要在本地布局大量的身份证读卡器和验证安全控制模块,身份证读卡器与验证安全控制模块之间还需要设置相应的对应关系,方案实现较复杂,成本较高。
【发明内容】
[0003 ]本发明旨在解决上述问题/之一。
[0004]本发明的主要目的在于提供一种身份证读取方法。
[0005]本发明的另一目的在于提供一种身份证读卡终端。
[0006]为达到上述目的,本发明的技术方案具体是这样实现的:
[0007]本发明一方面提供了一种身份证读取方法,包括:身份证读卡终端接收身份证发送的身份证标识信息,对身份证标识信息进行安全处理得到第一数据包,发送第一数据包至云认证平台;接收云认证平台返回的第二数据包;对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,发送第一认证因子至身份证;接收身份证返回的第一认证数据,第一认证数据为身份证对第一认证因子进行处理得到的;对第一认证数据进行安全处理得到第三数据包,发送第三数据包至云认证平台;接收云认证平台返回的第四数据包;对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,发送第二认证因子获取请求至身份证;接收身份证返回的第二认证因子,对第二认证因子进行安全处理得到第五数据包,发送第五数据包至云认证平台;接收云认证平台返回的第六数据包;对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,发送第二认证数据至身份证,第二认证数据为云认证平台对第二认证因子进行处理得到的;接收身份证返回的身份证数据密文,对身份证数据密文进行安全处理得到第七数据包,发送第七数据包至云认证平台;接收云认证平台返回的第八数据包;对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。
[0008]可选的,对身份证标识信息进行安全处理得到第一数据包,包括:利用第一会话密钥对身份证标识信息加密得到第一密文,利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值,第一数据包至少包括:第一密文和第一签名值;第二数据包至少包括:第二密文和第二签名值;对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,包括:利用云认证平台的公钥对第二签名值进行验签,验签通过后,利用第一会话密钥对第二密文进行解密得到第一认证因子;对第一认证数据进行安全处理得到第三数据包,包括:利用第一会话密钥对第一认证数据进行加密得到第三密文,利用身份证读卡终端的第一私钥对第三密文进行签名,得到第三签名值,第三数据包至少包括:第三密文和第三签名值;第四数据包至少包括:第四密文和第四签名值;对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,包括:利用云认证平台的公钥对第四签名值进行验签,验签通过后,利用第一会话密钥对第四密文进行解密得到第二认证因子获取请求;对第二认证因子进行安全处理得到第五数据包,包括:利用第一会话密钥对第二认证因子进行加密得到第五密文,利用身份证读卡终端的第一私钥对第五密文进行签名,得到第五签名值,第五数据包至少包括:第五密文和第五签名值;第六数据包至少包括:第六密文和第六签名值;对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,包括:利用云认证平台的公钥对第六签名值进行验签,验签通过后,利用第一会话密钥对第六密文进行解密得到第二认证数据;对身份证数据密文进行安全处理得到第七数据包,包括:利用第一会话密钥对身份证数据密文进行加密得到第七密文,利用身份证读卡终端的第一私钥对第七密文进行签名,得到第七签名值;第八数据包至少包括:第八密文和第八签名值;对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文,包括:利用云认证平台的公钥对第八签名值进行验签,验签通过后,利用第一会话密钥对第八密文进行解密得到身份证数据明文。
[0009]可选的,在身份证读卡终端对身份证标识信息进行安全处理得到第一数据包之前,方法还包括:身份证读卡终端生成第一随机数,利用身份证读卡终端的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值,发送第九数据包至云认证平台,第九数据包至少包括:第一随机数、身份证读卡终端的第一证书和第九签名值,其中,第一证书至少包含身份证读卡终端的第一公钥;接收云认证平台返回的第十数据包,第十数据包至少包括:第十密文和第十签名值;利用云认证平台的公钥对第十签名值进行验签,验签通过后,利用身份证读卡终端的第一私钥对第十密文进行解密得到第一随机数和第二随机数,第二随机数由云认证平台生成;比对生成的第一随机数和解密得到的第一随机数,比对一致,利用第一随机数和第二随机数生成第一会话密钥。
[0010]可选的,在身份证读卡终端对身份证标识信息进行安全处理得到第一数据包之前,方法还包括:利用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文,利用身份证读卡终端的第一私钥对第十一密文进行签名得到第十一签名值,发送第十一数据包至云认证平台,第十一数据包至少包括:身份证读卡终端的第一证书和第二证书、第十一密文和第十一签名值,其中,第一证书至少包含身份证读卡终端的第一公钥,第二证书至少包含身份证读卡终端的第二公钥;接收云认证平台返回的第十二数据包;第十二数据包至少包括:第十二密文和第十二签名值;利用云认证平台的公钥对第十二签名值进行验签,验签通过后,利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥。
[0011]本发明另一方面提供了一种身份证读卡终端,包括:第一接收模块,用于接收身份证发送的身份证标识信息;安全处理模块,用于对身份证标识信息进行安全处理得到第一数据包;第一发送模块,用于发送第一数据包至云认证平台;第二接收模块,用于接收云认证平台返回的第二数据包;安全验证模块,用于对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子;第二发送模块,用于发送第一认证因子至身份证;第一接收模块,还用于接收身份证返回的第一认证数据,第一认证数据为身份证对第一认证因子进行处理得到的;安全处理模块,还用于对第一认证数据进行安全处理得到第三数据包;第一发送模块,还用于发送第三数据包至云认证平台;第二接收模块,还用于接收云认证平台返回的第四数据包;安全验证模块,还用于对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求;第二发送模块,还用于发送第二认证因子获取请求至身份证;第一接收模块,还用于接收身份证返回的第二认证因子;安全处理模块,还用于对第二认证因子进行安全处理得到第五数据包;第一发送模块,还用于发送第五数据包至云认证平台;第二接收模块,还用于接收云认证平台返回的第六数据包;安全验证模块,还用于对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据;第二发送模块,还用于发送第二认证数据至身份证,第二认证数据为云认证平台对第二认证因子进行处理得到的;第一接收模块,还用于接收身份证返回的身份证数据密文;安全处理模块,还用于对身份证数据密文进行安全处理得到第七数据包;第一发送模块,还用于发送第七数据包至云认证平台;第二接收模块,还用于接收云认证平台返回的第八数据包;安全验证模块,还用于对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。
[0012]可选的,终端还包括:安全处理模块,具体用于利用第一会话密钥对身份证标识信息加密得到第一密文,利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值,第一数据包至少包括:第一密文和第一签名值;第二数据包至少包括:第二密文和第二签名值;安全验证模块,具体用于利用云认证平台的公钥对第二签名值进行验签,验签通过后,利用第一会话密钥对第二密文进行解密得到第一认证因子;安全处理模块,具体用于利用第一会话密钥对第一认证数据进行加密得到第三密文,利用身份证读卡终端的第一私钥对第三密文进行签名,得到第三签名值,第三数据包至少包括:第三密文和第三签名值;第四数据包至少包括:第四密文和第四签名值;安全验证模块,具体用于利用云认证平台的公钥对第四签名值进行验签,验签通过后,利用第一会话密钥对第四密文进行解密得到第二认证因子获取请求;安全处理模块,具体用于利用第一会话密钥对第二认证因子进行加密得到第五密文,利用身份证读卡终端的第一私钥对第五密文进行签名,得到第五签名值,第五数据包至少包括:第五密文和第五签名值;第六数据包至少包括:第六密文和第六签名值;安全验证模块,具体用于利用云认证平台的公钥对第六签名值进行验签,验签通过后,利用第一会话密钥对第六密文进行解密得到第二认证数据;安全处理模块,具体用于利用第一会话密钥对身份证数据密文进行加密得到第七密文,利用身份证读卡终端的第一私钥对第七密文进行签名,得到第七签名值;第八数据包至少包括:第八密文和第八签名值;安全验证模块,具体用于利用云认证平台的公钥对第八签名值进行验签,验签通过后,利用第一会话密钥对第八密文进行解密得到身份证数据明文。
[0013]可选的,终端还包括:第一生成模块,用于生成第一随机数;安全处理模块,还用于利用身份证读卡终端的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值;第一发送模块,还用于发送第九数据包至云认证平台,第九数据包至少包括:第一随机数、身份证读卡终端的第一证书和第九签名值,其中,第一证书至少包含身份证读卡终端的第一公钥;第二接收模块,还用于接收云认证平台返回的第十数据包,第十数据包至少包括:第十密文和第十签名值;安全验证模块,还用于利用云认证平台的公钥对第十签名值进行验签,验签通过后,利用身份证读卡终端的第一私钥对第十密文进行解密得到第一随机数和第二随机数,第二随机数由云认证平台生成;比对模块,用于比对生成的第一随机数和解密得到的第一随机数;第二生成模块,用于利用第一随机数和第二随机数生成第一会话密钥。
[0014]可选的,终端还包括:安全处理模块,还用于利用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文,利用身份证读卡终端的第一私钥对第十一密文进行签名得到第十一签名值;第一发送模块,还用于发送第十一数据包至云认证平台,第十一数据包至少包括:身份证读卡终端的第一证书和第二证书、第十一密文和第十一签名值,其中,第一证书至少包含身份证读卡终端的第一公钥,第二证书至少包含身份证读卡终端的第二公钥;第二接收模块,还用于接收云认证平台返回的第十二数据包;第十二数据包至少包括:第十二密文和第十二签名值;安全验证模块,还用于利用云认证平台的公钥对第十二签名值进行验签,验签通过后,利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥。
[0015]由上述本发明提供的技术方案可以看出,本发明提供了一种身份证读取方法和身份证读卡终端,在身份证读卡终端内并不设置有验证安全控制模块,而是在云认证平台中设置可以对从身份证读取的密文数据实现解密的模块,身份证读卡终端可通过接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署验证安全控制模块,也无需大量设置验证安全控制模块与身份证读卡终端之间的对应关系,简化了实现方案。进一步地,通过对待发送至云认证平台的数据进行安全处理以及对接收自云认证平台的数据进行安全验证,保证了身份证读卡终端和云认证平台之间传输的数据的安全性。
【附图说明】
[0016]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0017]图1为本发明实施例1提供的一种身份证读取方法的流程图;
[0018]图2为本发明实施例1提供的一种获取第一会话密钥的流程图;
[0019]图3为本发明实施例1提供的另一种获取第一会话密钥的流程图;
[0020]图4为本发明实施例2提供的一种身份证读卡终端的结构示意图;
[0021]图5为本发明实施例2提供的另一种身份证读卡终端的结构示意图。
【具体实施方式】
[0022]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0023]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
[0024]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0025]下面将结合附图对本发明实施例作进一步地详细描述。
[0026]实施例1
[0027]图1为本实施例提供的一种身份证读取方法。本实施例提供的身份证读取方法主要包括以下步骤(S101-S110)。
[0028]SlOl:身份证读卡终端接收身份证发送的身份证标识信息,对身份证标识信息进行安全处理得到第一数据包,发送第一数据包至云认证平台;
[0029]在本实施例中,身份证标识信息是身份证读卡终端可以直接识别的、用来唯一标识身份证的信息,例如,身份证标识信息可以为身份证序列号等,在本实施例不作具体限定。身份证读卡终端可以与身份证进行射频通信,例如,身份证读卡终端可以通过射频天线读取身份证的身份证标识信息。
[0030]在本实施例中,身份证读卡终端可以直接通过有线网络或无线网络与云认证平台直接进行通信,也可以通过上位机(例如手机、PAD(平板电脑)或PC等)的无线网络或者有线网络与云认证平台通信,在本实施例中不作具体限定。
[0031]作为本发明实施例的一个可选实施方式,对身份证标识信息进行安全处理得到第一数据包,包括:利用第一会话密钥对身份证标识信息加密得到第一密文,利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值,第一数据包至少包括:第一密文和第一签名值。
[0032]在本实施例中,第一会话密钥是身份证读卡终端和云认证平台之间协商的一个密钥,用来对身份证读卡终端发送至云认证平台的数据进行加密以及对接收自云认证平台的数据进行解密。身份证读卡终端使用第一会话密钥对数据进行加密后,只有具有相同的第一会话密钥的云认证平台才能对加密数据进行解密,防止云认证平台以外的其他装置对加密数据进行解密获取身份证读卡终端发送给云认证平台的数据,保证身份证读卡终端传输至云认证平台的数据安全。只有具有第一会话密钥的身份证读卡终端才能对接收自云认证平台的加密数据进行解密,防止身份证读卡终端以外的其他装置对加密数据进行解密获取云认证平台发送至身份证读卡终端的数据,保证云认证平台传输至身份证读卡终端的数据安全。
[0033]在本实施例中,身份证读卡终端使用第一会话密钥对身份证标识信息进行加密得到第一密文之后,只有具有相同的第一会话密钥的云认证平台才能对第一密文进行解密,防止云认证平台以外的其他装置对第一密文进行解密获取身份证标识信息,保证身份证读卡终端发送至云认证平台的身份证标识信息的安全性。
[0034]在本实施例中,利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值的具体方式为:身份证读卡终端利用HASH算法计算第一密文得到第一密文的摘要,并利用身份证读卡终端的第一私钥对第一密文的摘要进行加密,得到第一签名值。身份证读卡终端利用身份证读卡终端才具有的第一私钥对第一密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第一签名值解密,则表明接收的第一签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第一签名值解密,则表明接收的第一签名值不是由身份证读卡终端发出的,即云认证平台能够根据第一签名值对发送第一签名值的装置进行身份确认。在云认证平台确定第一签名值是身份证读卡终端发送的之后,再计算第一密文的摘要。如果第一密文在传输过程中被篡改了,则云认证平台对接收的第一密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第一密文的摘要与解密得到的第一密文的摘要是否相同,能够保证接收的第一密文的完整性。需要说明的是,本实施例中的签名过程均可参见该实施方式,下面涉及到签名的过程将不再具体赘述。
[0035]S102:接收云认证平台返回的第二数据包;对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,发送第一认证因子至身份证;
[0036]在本实施例中,云认证平台接收第一数据包后,对第一数据包进行安全验证,在安全验证通过后,得到身份证标识信息。具体的,云认证平台可以利用身份证读卡终端的第一公钥对第一签名值进行验签,验签通过后,利用第一会话密钥对第一密文进行解密得到身份证标识信息。云认证平台可以根据身份证标识信息查找与身份证匹配的安全密钥。
[0037]身份证读卡终端在读取身份证数据密文之前,身份证与云认证平台要实现双向认证,确保身份证和云认证平台都是合法的。
[0038]在本实施例中,第一认证因子由云认证平台生成并发送至身份证,云认证平台可以利用第一认证因子实现对身份证的合法性认证。第一认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0039]作为本发明实施例的一个可选实施方式,第二数据包至少包括:第二密文和第二签名值;对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,包括:利用云认证平台的公钥对第二签名值进行验签,验签通过后,利用第一会话密钥对第二密文进行解密得到第一认证因子。
[0040]在本实施例中,身份证读卡终端利用云认证平台的公钥对第二签名值进行验签的具体方式可以为:身份证读卡终端利用云认证平台的公钥对第二签名值进行解密,得到第二密文的摘要,利用HASH算法对接收的第二密文进行计算得到第二密文的摘要,比对解密得到的第二密文的摘要与计算得到的第二密文的摘要是否相同,如果相同,则对第二签名值验签通过。本实施例中的验签过程均可参见该实施方式,下面涉及到验签的过程将不再具体赘述。身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第二签名值解密,则表明接收的第二签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第二签名值解密,则表明接收的第二签名值不是由云认证平台发出的,即身份证读卡终端能够根据第二签名值对发送第二签名值的装置进行身份确认。在身份证读卡终端确定第二签名值是云认证平台发送的之后,再计算第二密文的摘要。如果第二密文在传输过程中被篡改了,则身份证读卡终端对接收的第二密文计算的摘要值也会发生变换,因此,身份证读卡终端通过比较计算得到的第二密文的摘要与解密得到的第二密文的摘要是否相同,能够保证接收的第二密文的完整性。在确认第二签名值是由云认证平台发送且第二密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第二密文进行解密得到第一认证因子,防止身份证读卡终端以外的其他装置对第二密文进行解密获取第一认证因子,保证第一认证因子的安全性。
[0041]S103:接收身份证返回的第一认证数据,第一认证数据为身份证对第一认证因子进行处理得到的;对第一认证数据进行安全处理得到第三数据包,发送第三数据包至云认证平台;
[0042]在本实施例中,身份证对第一认证因子进行处理得到第一认证数据的具体方式可以为:身份证利用安全密钥对第一认证因子进行MAC(Message Authenticat1n Code,消息认证码)计算得到MAC值,将计算得到的MAC值作为第一认证数据。身份证也可以利用安全密钥对第一认证因子进行加密得到第一认证数据。该安全密钥是预置在合法的身份证中的,只有合法的身份证才具有该安全密钥。当然,身份证也可以采用公安部规定的其他方式对第一认证因子进行处理得到第一认证数据,在本实施例中不作具体限定。
[0043]作为本发明实施例的一个可选实施方式,对第一认证数据进行安全处理得到第三数据包,包括:利用第一会话密钥对第一认证数据进行加密得到第三密文,利用身份证读卡终端的第一私钥对第三密文进行签名,得到第三签名值,第三数据包至少包括:第三密文和第三签名值。
[0044]在本实施例中,身份证读卡终端使用第一会话密钥对第一认证数据进行加密得到第三密文之后,只有具有相同的第一会话密钥的云认证平台才能对第三密文进行解密,防止云认证平台以外的其他装置对第三密文进行解密获取第一认证数据,保证身份证读卡终端发送至云认证平台的第一认证数据的安全性。
[0045]在本实施例中,身份证读卡终端利用身份证读卡终端才具有的第一私钥对第三密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第三签名值解密,则表明接收的第三签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第三签名值解密,则表明接收的数据不是由身份证读卡终端发出的,即云认证平台能够根据第三签名值对发送第三签名值的装置进行身份确认。在云认证平台确定第三签名值是身份证读卡终端发送的之后,再计算第三密文的摘要。如果第三密文在传输过程中被篡改了,则云认证平台对接收的第三密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第三密文的摘要与解密得到的第三密文的摘要是否相同,能够保证接收的第三密文的完整性。
[0046]S104:接收云认证平台返回的第四数据包;对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,发送第二认证因子获取请求至身份证;
[0047]在本实施例中,云认证平台接收第三数据包后,对第三数据包进行安全验证,在安全验证通过后,得到第一认证数据。具体的,云认证平台利用身份证读卡终端的第一公钥对第三签名值进行验签,验签通过后,利用第一会话密钥对第三密文进行解密得到第一认证数据,并对第一认证数据进行验证。
[0048]在本实施例中,如果第一认证数据是身份证利用安全密钥对第一认证因子进行MAC计算得到的,则云认证平台对第一认证数据进行验证的方式可以为:云认证平台使用身份证端相同的MAC算法对第一认证因子进行计算得到认证数据,比较计算得到的认证数据与接收的第一认证数据是否相同,如果相同,则对第一认证数据验证通过。
[0049]在本实施例中,如果第一认证数据是身份证利用安全密钥对第一认证因子进行加密得到的,则云认证平台对第一认证数据进行验证的两种可选实施方式为:
[0050]方式一、云认证平台利用根据身份证标识信息查找的、与身份证相匹配的安全密钥对接收到的第一认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第一认证因子是否相同,如果相同,则对第一认证数据验证通过。
[0051]方式二、云认证平台利用根据身份证标识信息查找的、与身份证相匹配的安全密钥对自身生成的第一认证因子进行加密得到认证数据,并比较加密得到的认证数据与接收到的第一认证数据是否相同,如果相同,则对第一认证数据验证通过。
[0052]当然,云认证平台也可以采用公安部规定的其他方式对第一认证数据进行验证,在本实施例中不作具体限定。云认证平台通过对第一认证数据进行验证,实现对身份证合法性的验证。如果第一认证数据验证通过,则表明身份证是合法的,生成第四数据包;如果第一认证数据验证不通过,则表明身份证是非法的,此时,云认证平台可以结束身份证读取流程,并向身份证读卡终端发送提示信息。
[0053]在本实施例中,云认证平台对第一认证数据验证通过后,即云认证平台对身份证认证通过后,请求获取身份证生成第二认证因子,以便身份证对云认证平台进行身份认证。
[0054]作为本发明实施例的一个可选实施方式,第四数据包至少包括:第四密文和第四签名值;对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,包括:利用云认证平台的公钥对第四签名值进行验签,验签通过后,利用第一会话密钥对第四密文进行解密得到第二认证因子获取请求。
[0055]身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第四签名值解密,则表明接收的第四签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第四签名值解密,则表明接收的第四签名值不是由云认证平台发出的,即身份证读卡终端能够根据第四签名值对发送第四签名值的装置进行身份确认。在身份证读卡终端确定第四签名值是云认证平台发送的之后,再计算第四密文的摘要。如果第四密文在传输过程中被篡改了,则身份证读卡终端对接收的第四密文计算的摘要值也会发生变换,因此,身份证读卡终端通过比较计算得到的第四密文的摘要与解密得到的第四密文的摘要是否相同,能够保证接收的第四密文的完整性。在确认第四签名值是由云认证平台发送且第四密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第四密文进行解密得到第二认证因子获取请求,防止身份证读卡终端以外的其他装置对第四密文进行解密获取第二认证因子获取请求,保证第二认证因子获取请求的安全性。
[0056]S105:接收身份证返回的第二认证因子,对第二认证因子进行安全处理得到第五数据包,发送第五数据包至云认证平台;
[0057]在本实施例中,第二认证因子由身份证生成并发送至云认证平台,身份证可以利用第二认证因子实现对云认证平台的合法性认证。第二认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0058]作为本发明实施例的一个可选实施方式,对第二认证因子进行安全处理得到第五数据包,包括:利用第一会话密钥对第二认证因子进行加密得到第五密文,利用身份证读卡终端的第一私钥对第五密文进行签名,得到第五签名值,第五数据包至少包括:第五密文和第五签名值。
[0059]在本实施例中,身份证读卡终端使用第一会话密钥对第二认证因子进行加密得到第五密文之后,只有具有相同的第一会话密钥的云认证平台才能对第五密文进行解密,防止云认证平台以外的其他装置对第五密文进行解密获取第二认证因子,保证身份证读卡终端发送至云认证平台的第二认证因子的安全性。
[0060]在本实施例中,身份证读卡终端利用身份证读卡终端才具有的第一私钥对第五密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第五签名值解密,则表明接收的第五签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第五签名值解密,则表明接收的数据不是由身份证读卡终端发出的,即云认证平台能够根据第五签名值对发送第五签名值的装置进行身份确认。在云认证平台确定第五签名值是身份证读卡终端发送的之后,再计算第五密文的摘要。如果第五密文在传输过程中被篡改了,则云认证平台对接收的第五密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第五密文的摘要与解密得到的第五密文的摘要是否相同,能够保证接收的第五密文的完整性。
[0061]S106:接收云认证平台返回的第六数据包;对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,发送第二认证数据至身份证,第二认证数据为云认证平台对第二认证因子进行处理得到的;
[0062]在本实施例中,云认证平台接收第五数据包后,对第五数据包进行安全验证,在安全验证通过后,得到第二认证因子。具体的,云认证平台可以利用身份证读卡终端的第一公钥对第五签名值进行验签,验签通过后,利用第一会话密钥对第五密文进行解密得到第二认证因子,对第二认证因子进行处理得到第二认证数据。云认证平台对第二认证因子进行处理得到第二认证数据的具体方式可以为:云认证平台对预设信息进行计算获得安全密钥,再利用安全密钥对第二认证因子进行MAC计算得到MAC值,将计算得到的MAC值作为第二认证数据。云认证平台也可以利用与身份证相匹配的安全密钥对第二认证因子进行加密得到第二认证数据。当然,云认证平台也可以采用公安部规定的其他方式对第二认证因子进行处理得到第二认证数据,在本实施例中不作具体限定。
[0063]作为本发明实施例的一个可选实施方式,第六数据包至少包括:第六密文和第六签名值;对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,包括:利用云认证平台的公钥对第六签名值进行验签,验签通过后,利用第一会话密钥对第六密文进行解密得到第二认证数据。
[0064]身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第六签名值解密,则表明接收的第六签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第六签名值解密,则表明接收的第六签名值不是由云认证平台发出的,即身份证读卡终端能够根据第六签名值对发送第六签名值的装置进行身份确认。在身份证读卡终端确定第六签名值是云认证平台发送的之后,再计算第六密文的摘要。如果第六密文在传输过程中被篡改了,则身份证读卡终端对接收的第六密文计算的摘要值也会发生变化,因此,身份证读卡终端通过比较计算得到的第六密文的摘要与解密得到的第六密文的摘要是否相同,能够保证接收的第六密文的完整性。在确认第六签名值是由云认证平台发送且第六密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第六密文进行解密得到第二认证数据,防止身份证读卡终端以外的其他装置对第六密文进行解密获取第二认证数据,保证第二认证数据的安全性。
[0065]S107:接收身份证返回的身份证数据密文,对身份证数据密文进行安全处理得到第七数据包,发送第七数据包至云认证平台;
[0066]在本实施例中,身份证接收第二认证数据后,对第二认证数据进行验证,验证通过后,发送身份证数据密文至身份证读卡终端。身份证数据密文时指身份证中以密文存储的身份证数据,例如身份证号、姓名、性别、住址和照片等信息,该身份证数据密文只有通过公安部授权的身份证安全控制模块进行解密后,才能获得该身份证数据明文。
[0067]在本实施例中,如果第二认证数据是云认证平台利用安全密钥对第二认证因子进行MAC计算得到的,则身份证对第二认证数据进行验证的方式可以为:身份证使用云认证平台端相同的MAC算法对第二认证因子进行计算得到认证数据,比较计算得到的认证数据与接收的第二认证数据是否相同,如果相同,则对第二认证数据验证通过。
[0068]在本实施例中,如果第二认证数据是云认证平台利用安全密钥对第二认证因子进行加密得到的,则身份证对第二认证数据进行验证的两种可选实施方式为:
[0069]方式一、身份证利用安全密钥对接收到的第二认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第二认证因子是否相同,如果相同,则对第二认证数据验证通过。
[0070]方式二、身份证利用安全密钥对自身生成的第二认证因子进行加密得到认证数据,并比较加密得到的认证数据与接收到的第二认证数据是否相同,如果相同,则对第二认证数据验证通过。
[0071]当然,身份证也可以采用公安部规定的其他方式对第二认证数据进行验证,在本实施例中不作具体限定。身份证通过对第二认证数据进行验证,实现对云认证平台合法性的验证。如果第二认证数据验证通过,则表明云认证平台是合法的,返回身份证数据密文;如果第二认证数据验证不通过,则表明云认证平台是非法的。此时,可以结束身份证读取流程。
[0072]作为本发明实施例的一个可选实施方式,对身份证数据密文进行安全处理得到第七数据包,包括:利用第一会话密钥对身份证数据密文进行加密得到第七密文,利用身份证读卡终端的第一私钥对第七密文进行签名,得到第七签名值。
[0073]在本实施例中,身份证读卡终端使用第一会话密钥对身份证数据密文进行加密得到第七密文之后,只有具有相同的第一会话密钥的云认证平台才能对第七密文进行解密,防止云认证平台以外的其他装置对第七密文进行解密获取身份证数据密文,保证身份证读卡终端发送至云认证平台的身份证数据密文的安全性。
[0074]在本实施例中,身份证读卡终端利用身份证读卡终端才具有的第一私钥对第七密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第七签名值解密,则表明接收的第七签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第七签名值解密,则表明接收的第七签名值不是由身份证读卡终端发出的,即云认证平台能够根据第七签名值对发送第七签名值的装置进行身份确认。在云认证平台确定第七签名值是身份证读卡终端发送的之后,再计算第七密文的摘要。如果第七密文在传输过程中被篡改了,则云认证平台对接收的第七密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第七密文的摘要与解密得到的第七密文的摘要是否相同,能够保证接收的第七密文的完整性。
[0075]S108:接收云认证平台返回的第八数据包;对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。
[0076]在本实施例中,云认证平台接收第七数据包后,对第七数据包进行安全验证,在安全验证通过后,得到身份证数据密文。具体的,云认证平台利用身份证读卡终端的第一公钥对第七签名值进行验签,验签通过后,利用第一会话密钥对第七密文进行解密得到身份证数据密文后,利用公安部授权的身份证安全控制模块对身份证数据密文解密得到身份证数据明文。云认证平台对身份证数据明文进行安全处理得到第八数据包。
[0077]作为本发明实施例的一个可选实施方式,第八数据包至少包括:第八密文和第八签名值;对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文,包括:利用云认证平台的公钥对第八签名值进行验签,验签通过后,利用第一会话密钥对第八密文进行解密得到身份证数据明文。
[0078]身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第八签名值解密,则表明接收的第八签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第八签名值解密,则表明接收的第八签名值不是由云认证平台发出的,即身份证读卡终端能够根据第八签名值对发送第八签名值的装置进行身份确认。在身份证读卡终端确定第八签名值是云认证平台发送的之后,再计算第八密文的摘要。如果第八密文在传输过程中被篡改了,则身份证读卡终端对接收的第八密文计算的摘要值也会发生变换,因此,身份证读卡终端通过比较计算得到的第八密文的摘要与解密得到的第八密文的摘要是否相同,能够保证接收的第八密文的完整性。在确认第八签名值是由云认证平台发送且第八密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第八密文进行解密得到身份证数据明文,防止身份证读卡终端以外的其他装置对第八密文进行解密获取身份证数据明文,保证身份证数据明文的安全性。
[0079]本实施例提供的身份证读卡终端并不设置有验证安全控制模块,而是在云认证平台中设置可以对从身份证读取的密文数据实现解密的身份证安全控制模块,任何用户均可通过有线或无线网络接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署验证安全控制模块,也无需大量设置验证安全控制模块与身份证读卡终端之间的对应关系,简化了实现方案。进一步地,通过对待发送至云认证平台的数据进行安全处理以及对接收自云认证平台的数据进行安全验证,保证了身份证读卡终端和云认证平台之间传输的数据的安全性。
[0080]作为本实施例的一个可选实施方式,如图2所示,在身份证读卡终端对身份证标识信息进行安全处理得到第一数据包之前,还包括以下一种获取第一会话密钥的步骤(S201-S204):
[0081]S201:身份证读卡终端生成第一随机数,利用身份证读卡终端的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值,发送第九数据包至云认证平台,第九数据包至少包括:第一随机数、身份证读卡终端的第一证书和第九签名值,其中,第一证书至少包含身份证读卡终端的第一公钥;
[0082]在本实施例中,身份证读卡终端的第一证书是由第三方权威认证机构数字证书认证中心发行的。身份证读卡终端的第一证书中除了包括身份证读卡终端的第一公钥,还包括证书授权中心的数字签名和名称。
[0083]在本实施例中,身份证读卡终端利用身份证读卡终端才具有的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第九签名值解密,则表明接收的第九签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第九签名值解密,则表明接收的第九签名值不是由身份证读卡终端发出的,即云认证平台能够根据第九签名值对发送第九签名值的装置进行身份确认。在云认证平台确定第九签名值是身份证读卡终端发送的之后,再计算第一随机数和身份证读卡终端的第一证书的摘要。如果第一随机数和身份证读卡终端的第一证书在传输过程中被篡改了,则云认证平台对接收的第一随机数和身份证读卡终端的第一证书计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第一随机数和身份证读卡终端的第一证书的摘要与解密得到的第一随机数和身份证读卡终端的第一证书的摘要是否相同,能够保证接收的第一随机数和身份证读卡终端的第一证书的完整性。
[0084]S202:接收云认证平台返回的第十数据包,第十数据包至少包括:第十密文和第十签名值;
[0085]在本实施例中,云认证平台接收第九数据包后,使用根证书对身份证读卡终端的第一证书进行验证,验证通过,则表明身份证读卡终端的第一证书是合法的。身份证读卡终端的第一证书验证通过后,云认证平台利用身份证读卡终端的第一证书中的第一公钥对第九签名值进行验签,验签通过后,得到第一随机数,并生成第二随机数,云认证平台可以利用第一随机数和第二随机数生成第一会话密钥。云认证平台使用身份证读卡终端的第一公钥对第一随机数和第二随机数进行加密得到第十密文,使用云认证平台的私钥对第十密文进行签名得到第十签名值。
[0086]S203:利用云认证平台的公钥对第十签名值进行验签,验签通过后,利用身份证读卡终端的第一私钥对第十密文进行解密得到第一随机数和第二随机数,第二随机数由云认证平台生成;
[0087]在本实施例中,身份证读卡终端可以从预先存储的云认证平台的证书中获取云认证平台的公钥;也可以向云认证平台发送请求,请求云认证平台将云认证平台的公钥发送至身份证读卡终端。身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第十签名值解密,则表明接收的第十签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第十签名值解密,则表明接收的第十签名值不是由云认证平台发出的。在身份证读卡终端确定第十签名值是云认证平台发送的之后,再计算第十密文的摘要。如果第十密文在传输过程中被篡改了,则身份证读卡终端对接收的第十密文计算的摘要值也会发生变化,因此,身份证读卡终端通过比较计算得到的第十密文的摘要与解密得到的第十密文的摘要是否相同,能够保证接收的第十密文的完整性。在确认第十签名值是由云认证平台发送且第十密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第十密文进行解密得到第一随机数和第二随机数,防止身份证读卡终端以外的其他装置对第二密文进行解密获取第一随机数和第二随机数,保证第一随机数和第二随机数的安全性。
[0088]S204:比对生成的第一随机数和解密得到的第一随机数,比对一致,利用第一随机数和第二随机数生成第一会话密钥。
[0089]在本实施例中,身份证读卡终端解密第十密文得到第一随机数和第二随机数后,比对解密得到的第一随机数和生成的第一随机数是否相同,如果相同,则表明云认证平台已经接收了第一随机数且云认证平台接收的第一随机数与身份证读卡终端生成的第一随机数相同,身份证读卡终端和云认证平台可以根据相同的算法对第一随机数和第二随机数计算生成第一会话密钥,并使用第一会话密钥对数据进行加解密;如果不相同,则表明云认证平台端获取的第一随机数和身份证读卡终端生成的第一随机数不相同,身份证读卡终端和云认证平台使用相同的算法对各自的第一随机数和第二随机数计算得到不相同的两个会话密钥,即身份证读卡终端的第一会话密钥和云认证平台的第一会话密钥,身份证读卡终端和云认证平台不能对接收自对方的密文进行解密。
[0090]步骤S201-S204完成了获取第一会话密钥的流程,保证了后续过程中身份证读卡终端与云认证平台之间的通信安全。
[0091]作为本发明实施例的一个可选实施方式,如图3所示,在身份证读卡终端对身份证标识信息进行安全处理得到第一数据包之前,还包括以下另一种获取第一会话密钥的步骤(S301-S303):
[0092]S301:利用认证加密密钥对第一会话密钥的获取请求进行加密得到第^^一密文,利用身份证读卡终端的第一私钥对第十一密文进行签名得到第十一签名值,发送第十一数据包至云认证平台,第十一数据包至少包括:身份证读卡终端的第一证书和第二证书、第十一密文和第十一签名值,其中,第一证书至少包含身份证读卡终端的第一公钥,第二证书至少包含身份证读卡终端的第二公钥;
[0093]在本实施例中,认证加密密钥预先内置在身份证读卡终端中,在身份证读卡终端获取第一会话密钥之前,身份证读卡终端利用认证加密密钥对身份证读卡终端发送给云认证平台的数据进行加密。
[0094]在本实施例中,身份证读卡终端的第一证书和第二证书是由第三方权威认证机构数字证书认证中心发行的。身份证读卡终端的第二证书中除了包括身份证读卡终端的第二公钥,还包括证书授权中心的数字签名和名称等信息。在本实施例中,身份证读卡终端的第一证书和第二证书可以是不相同的两个证书,也可以是同一个证书。
[0095]在本实施例中,身份证读卡终端使用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文之后,只有具有相应的认证解密密钥的云认证平台才能对第十一密文进行解密,防止云认证平台以外的其他装置对第十一密文进行解密获取第一会话密钥的获取请求,保证身份证读卡终端发送至云认证平台的第一会话密钥的获取请求的安全性。认证解密密钥与认证加密密钥为相同的密钥,即对称密钥。认证解密密钥预先内置在云认证平台中。
[0096]在本实施例中,身份证读卡终端利用身份证读卡终端才具有的第一私钥对第^密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第十一签名值解密,则表明接收的第十一签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第十一签名值解密,则表明接收的第十一签名值不是由身份证读卡终端发出的,即云认证平台能够根据第十一签名值对发送第十一签名值的装置进行身份确认。在云认证平台确定第十一签名值是身份证读卡终端发送的之后,再计算第十一密文的摘要。如果第十一密文在传输过程中被篡改了,则云认证平台对接收的第i^一密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第十一密文的摘要与解密得到的第十一密文的摘要是否相同,能够保证接收的第十一密文的完整性。
[0097]S302:接收云认证平台返回的第十二数据包;第十二数据包至少包括:第十二密文和第十二签名值;
[0098]在本实施例中,云认证平台接收第十一数据包之后,使用根证书对身份证读卡终端的第一证书和第二证书进行验证,验证通过,则表明身份证读卡终端的第一证书和第二证书是合法的。身份证读卡终端的第一证书和第二证书验证通过后,云认证平台利用身份证读卡终端的第一证书中的第一公钥对第十一签名值进行验签,验签通过后,利用认证解密密钥对第i^一密文进行解密得到第一会话密钥的获取请求。
[0099]在本实施例中,云认证平台得到第一会话密钥的获取请求后,生成第一会话密钥,利用身份证读卡终端的第二证书中的第二公钥对第一会话密钥进行加密,得到第十二密文,并使用云认证平台的私钥对第十二密文进行签名得到第十二签名值。
[0100]S303:利用云认证平台的公钥对第十二签名值进行验签,验签通过后,利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥。
[0101]身份证读卡终端使用云认证平台的公钥进行验签,如果身份证读卡终端使用云认证平台的公钥能够对第十二签名值解密,则表明接收的第十二签名值是由云认证平台发出的,如果身份证读卡终端使用云认证平台的公钥不能对第十二签名值解密,则表明接收的第十二签名值不是由云认证平台发出的,即身份证读卡终端能够根据第十二签名值对发送第十二签名值的装置进行身份确认。在身份证读卡终端确定第十二签名值是云认证平台发送的之后,再计算第十二密文的摘要。如果第十二密文在传输过程中被篡改了,则身份证读卡终端对接收的第十二密文计算的摘要值也会发生变化,因此,身份证读卡终端通过比较计算得到的第十二密文的摘要与解密得到的第十二密文的摘要是否相同,能够保证接收的第十二密文的完整性。在确认第十二签名值是由云认证平台发送且第十二密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥,防止身份证读卡终端以外的其他装置对第十二密文进行解密获取第一会话密钥,保证第一会话密钥的安全性。
[0102]步骤S301-S303完成了获取第一会话密钥的流程,保证了后续过程中身份证读卡终端与云认证平台之间的通信安全。
[0103]实施例2:
[0104]本实施例提供了一种身份证读卡终端。
[0105]图4为本实施例提供的身份证读卡终端的结构示意图,如图4,本实施例提供的身份证读卡终端包括:第一接收模块401,用于接收身份证发送的身份证标识信息;安全处理模块402,用于对身份证标识信息进行安全处理得到第一数据包;第一发送模块403,用于发送第一数据包至云认证平台;第二接收模块404,用于接收云认证平台返回的第二数据包;安全验证模块405,用于对第二数据包进行安全验证,在安全验证通过后,得到第一认证因子;第二发送模块406,用于发送第一认证因子至身份证;第一接收模块401,还用于接收身份证返回的第一认证数据,第一认证数据为身份证对第一认证因子进行处理得到的;安全处理模块402,还用于对第一认证数据进行安全处理得到第三数据包;第一发送模块403,还用于发送第三数据包至云认证平台;第二接收模块404,还用于接收云认证平台返回的第四数据包;安全验证模块405,还用于对第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求;第二发送模块406,还用于发送第二认证因子获取请求至身份证;第一接收模块401,还用于接收身份证返回的第二认证因子;安全处理模块402,还用于对第二认证因子进行安全处理得到第五数据包;第一发送模块403,还用于发送第五数据包至云认证平台;第二接收模块404,还用于接收云认证平台返回的第六数据包;安全验证模块405,还用于对第六数据包进行安全验证,在安全验证通过后,得到第二认证数据;第二发送模块406,还用于发送第二认证数据至身份证,第二认证数据为云认证平台对第二认证因子进行处理得到的;第一接收模块401,还用于接收身份证返回的身份证数据密文;安全处理模块402,还用于对身份证数据密文进行安全处理得到第七数据包;第一发送模块403,还用于发送第七数据包至云认证平台;第二接收模块404,还用于接收云认证平台返回的第八数据包;安全验证模块405,还用于对第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。
[0106]本实施例提供的身份证读卡终端并不设置有验证安全控制模块,而是在云认证平台中设置可以对从身份证读取的密文数据实现解密的身份证安全控制模块,任何用户均可通过有线或无线网络接入到云认证平台以实现对身份证的读取,大大降低了用户的实现成本,特别是在银行、车站、保险等需要执行身份证信息读取操作的行业,只需部署相应数量的身份证读卡终端即可,无需再次大量部署验证安全控制模块,也无需大量设置验证安全控制模块与身份证读卡终端之间的对应关系,简化了实现方案。进一步地,通过对待发送至云认证平台的数据进行安全处理以及对接收自云认证平台的数据进行安全验证,保证了身份证读卡终端和云认证平台之间传输的数据的安全性。
[0107]在本实施例中,身份证标识信息是身份证读卡终端可以直接识别的、用来唯一标识身份证的信息,例如,身份证标识信息可以为身份证序列号等,在本实施例不作具体限定。
[0108]在本实施例中,第一接收模块401用于接收身份证发送的数据,第二发送模块406用于将数据发送至身份证。在具体实施过程中,可以分别设置第一接收模块401和第二发送模块406,也可以将第一接收模块401和第二发送模块406集成在同一个通讯模块中,例如,将第一接收模块401和第二发送模块406集成在同一根射频天线中,身份证读卡终端与身份证通过射频天线进行射频通信。
[0109]在本实施例中,第一发送模块403用于将数据发送至云认证平台,第二接收模块404用于接收云认证平台发送的数据。在具体实施过程中,可以分别设置第一发送模块403和第二接收模块404,也可以将第一发送模块403和第二接收模块404集成在同一个通讯模块中。第一发送模块403和第二接收模块404可以通过有线网络或无线网络与云认证平台直接通信,此时,第一发送模块403和第二接收模块404可以为无线通讯模块(例如:WIFI通讯模块)或有线通讯模块。第一发送模块403和第二接收模块404也可以通过上位机(例如手机、PAD(平板电脑)或PC等)的无线网络或者有线网络与云认证平台通信,此时第一发送模块403和第二接收模块404可以为能够与上位机进行通信的无线通讯模块(例如:蓝牙通讯模块,NFC通讯模块等)或有线通讯模块(例如:USB通讯模块),在本实施例中不作具体限定。
[0110]在本实施例中,安全处理模块402用于对身份证读卡终端接收的数据进行安全处理,安全处理包括加密、签名等操作,在本实施例中不作具体限定。安全验证模块405用于对身份证读卡终端接收的数据进行安全验证,安全验证包括验签、解密等操作,在本实施例中不作具体限定。在具体实施过程中,可以分别设置安全处理模块402和安全验证模块405,也可以将安全处理模块402和安全验证模块405集成在同一个芯片中,例如,将安全处理模块402和安全验证模块405集成在身份证读卡终端的安全芯片中。
[0111]作为本实施例的一个可选实施方式,安全处理模块402,具体用于利用第一会话密钥对身份证标识信息加密得到第一密文,利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值,第一数据包至少包括:第一密文和第一签名值。
[0112]在本实施例中,第一会话密钥是身份证读卡终端和云认证平台之间协商的一个密钥,用来对身份证读卡终端发送至云认证平台的数据进行加密以及对接收自云认证平台的数据进行解密,安全处理模块402使用第一会话密钥对数据进行加密后,只有具有相同的第一会话密钥的云认证平台才能对加密数据进行解密,防止云认证平台以外的其他装置对加密数据进行解密获取身份证读卡终端发送给云认证平台的数据,保证身份证读卡终端传输至云认证平台的数据安全。只有具有第一会话密钥的安全验证模块405才能对接收自云认证平台的加密数据进行解密,防止身份证读卡终端以外的其他装置对加密数据进行解密获取云认证平台发送至身份证读卡终端的数据,保证云认证平台传输至身份证读卡终端的数据安全。
[0113]在本实施例中,安全处理模块402使用第一会话密钥对身份证标识信息进行加密得到第一密文之后,只有具有相同的第一会话密钥的云认证平台才能对第一密文进行解密,防止云认证平台以外的其他装置对第一密文进行解密获取身份证标识信息,保证身份证读卡终端发送至云认证平台的身份证标识信息的安全性。
[0114]在本实施例中,安全处理模块402利用身份证读卡终端的第一私钥对第一密文进行签名,得到第一签名值的具体方式为:安全处理模块402利用HASH算法计算第一密文得到第一密文的摘要,并利用身份证读卡终端的第一私钥对第一密文的摘要进行加密,得到第一签名值。安全处理模块402利用身份证读卡终端才具有的第一私钥对第一密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第一签名值解密,则表明接收的第一签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第一签名值解密,则表明接收的第一签名值不是由身份证读卡终端发出的,即云认证平台能够根据第一签名值对发送第一签名值的装置进行身份确认。在云认证平台确定第一签名值是身份证读卡终端发送的之后,再计算第一密文的摘要。如果第一密文在传输过程中被篡改了,则云认证平台对接收的第一密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第一密文的摘要与解密得到的第一密文的摘要是否相同,能够保证接收的第一密文的完整性。需要说明的是,本实施例中的签名过程均可参见该实施方式,下面涉及到签名的过程将不再具体赘述。
[0115]在本实施例中,云认证平台接收第一数据包后,对第一数据包进行安全验证,在安全验证通过后,得到身份证标识信息。具体的,云认证平台可以利用身份证读卡终端的第一公钥对第一签名值进行验签,验签通过后,利用第一会话密钥对第一密文进行解密得到身份证标识信息。云认证平台可以根据身份证标识信息查找与身份证匹配的安全密钥。
[0116]身份证读卡终端在读取身份证数据密文之前,身份证与云认证平台要实现双向认证,确保身份证和云认证平台都是合法的。
[0117]在本实施例中,第一认证因子由云认证平台生成并发送至身份证,云认证平台可以利用第一认证因子实现对身份证的合法性认证。第一认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0118]作为本实施例的一个可选实施方式,第二数据包至少包括:第二密文和第二签名值;安全验证模块405,具体用于利用云认证平台的公钥对第二签名值进行验签,验签通过后,利用第一会话密钥对第二密文进行解密得到第一认证因子。
[0119]在本实施例中,安全验证模块405利用云认证平台的公钥对第二签名值进行验签的具体方式可以为:安全验证模块405利用云认证平台的公钥对第二签名值进行解密,得到第二密文的摘要,利用HASH算法对接收的第二密文进行计算得到第二密文的摘要,比对解密得到的第二密文的摘要与计算得到的第二密文的摘要是否相同,如果相同,则对第二签名值验签通过。本实施例中的验签过程均可参见该实施方式,下面涉及到验签的过程将不再具体赘述。安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第二签名值解密,则表明接收的第二签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第二签名值解密,则表明接收的第二签名值不是由云认证平台发出的,即安全验证模块405能够根据第二签名值对发送第二签名值的装置进行身份确认。在安全验证模块405确定第二签名值是云认证平台发送的之后,再计算第二密文的摘要。如果第二密文在传输过程中被篡改了,则安全验证模块405对接收的第二密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第二密文的摘要与解密得到的第二密文的摘要是否相同,能够保证接收的第二密文的完整性。在确认第二签名值是由云认证平台发送且第二密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第二密文进行解密得到第一认证因子,防止身份证读卡终端以外的其他装置对第二密文进行解密获取第一认证因子,保证第一认证因子的安全性。
[0120]在本实施例中,身份证对第一认证因子进行处理得到第一认证数据的具体方式可以为:身份证利用安全密钥对第一认证因子进行MAC计算得到MAC值,将计算得到的MAC值作为第一认证数据。身份证也可以利用安全密钥对第一认证因子进行加密得到第一认证数据。该安全密钥是预置在合法的身份证中的,只有合法的身份证才具有该安全密钥。当然,身份证也可以采用公安部规定的其他方式对第一认证因子进行处理得到第一认证数据,在本实施例中不作具体限定。[0121 ]作为本实施例的一个可选实施方式,安全处理模块402,具体用于利用第一会话密钥对第一认证数据进行加密得到第三密文,利用身份证读卡终端的第一私钥对第三密文进行签名,得到第三签名值,第三数据包至少包括:第三密文和第三签名值。
[0122]在本实施例中,安全处理模块402使用第一会话密钥对第一认证数据进行加密得到第三密文之后,只有具有相同的第一会话密钥的云认证平台才能对第三密文进行解密,防止云认证平台以外的其他装置对第三密文进行解密获取第一认证数据,保证身份证读卡终端发送至云认证平台的第一认证数据的安全性。
[0123]在本实施例中,安全处理模块402利用身份证读卡终端才具有的第一私钥对第三密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第三签名值解密,则表明接收的第三签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第三签名值解密,则表明接收的数据不是由身份证读卡终端发出的,即云认证平台能够根据第三签名值对发送第三签名值的装置进行身份确认。在云认证平台确定第三签名值是身份证读卡终端发送的之后,再计算第三密文的摘要。如果第三密文在传输过程中被篡改了,则云认证平台对接收的第三密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第三密文的摘要与解密得到的第三密文的摘要是否相同,能够保证接收的第三密文的完整性。
[0124]在本实施例中,云认证平台接收第三数据包后,对第三数据包进行安全验证,在安全验证通过后,得到第一认证数据。具体的,云认证平台利用身份证读卡终端的第一公钥对第三签名值进行验签,验签通过后,利用第一会话密钥对第三密文进行解密得到第一认证数据,并对第一认证数据进行验证。
[0125]在本实施例中,如果第一认证数据是身份证利用安全密钥对第一认证因子进行MAC计算得到的,则云认证平台对第一认证数据进行验证的方式可以为:云认证平台使用身份证端相同的MAC算法对第一认证因子进行计算得到认证数据,比较计算得到的认证数据与接收的第一认证数据是否相同,如果相同,则对第一认证数据验证通过。
[0126]在本实施例中,如果第一认证数据是身份证利用安全密钥对第一认证因子进行加密得到的,则云认证平台对第一认证数据进行验证的两种可选实施方式为:
[0127]方式一、云认证平台利用根据身份证标识信息查找的与身份证相匹配的安全密钥对接收到的第一认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第一认证因子是否相同,如果相同,则对第一认证数据验证通过。
[0128]方式二、云认证平台利用根据身份证标识信息查找的与身份证相匹配的安全密钥对自身生成的第一认证因子进行加密得到认证数据,并比较加密得到的认证数据与接收到的第一认证数据是否相同,如果相同,则对第一认证数据验证通过。
[0129]当然,云认证平台也可以采用公安部规定的其他方式对第一认证数据进行验证,在本实施例中不作具体限定。云认证平台通过对第一认证数据进行验证,实现对身份证合法性的验证。如果第一认证数据验证通过,则表明身份证是合法的,生成第四数据包;如果第一认证数据验证不通过,则表明身份证是非法的,此时,云认证平台可以结束身份证读取,并向身份证读卡终端发送提示信息。
[0130]在本实施例中,云认证平台对第一认证数据验证通过后,即云认证平台对身份证认证通过后,请求获取身份证生成第二认证因子,以便身份证对云认证平台进行身份认证。
[0131]作为本实施例的一个可选实施方式,第四数据包至少包括:第四密文和第四签名值;安全验证模块405,具体用于利用云认证平台的公钥对第四签名值进行验签,验签通过后,利用第一会话密钥对第四密文进行解密得到第二认证因子获取请求。
[0132]安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第四签名值解密,则表明接收的第四签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第四签名值解密,则表明接收的第四签名值不是由云认证平台发出的,即安全验证模块405能够根据第四签名值对发送第四签名值的装置进行身份确认。在安全验证模块405确定第四签名值是云认证平台发送的之后,再计算第四密文的摘要。如果第四密文在传输过程中被篡改了,则安全验证模块405对接收的第四密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第四密文的摘要与解密得到的第四密文的摘要是否相同,能够保证接收的第四密文的完整性。在确认第四签名值是由云认证平台发送且第四密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第四密文进行解密得到第二认证因子获取请求,防止身份证读卡终端以外的其他装置对第四密文进行解密获取第二认证因子获取请求,保证第二认证因子获取请求的安全性。
[0133]在本实施例中,第二认证因子由身份证生成并发送至云认证平台,身份证可以利用第二认证因子实现对云认证平台的合法性认证。第二认证因子可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机字符的任意组合,在本实施例中不作具体限定。
[0134]作为本实施例的一个可选实施方式,安全处理模块402,具体用于利用第一会话密钥对第二认证因子进行加密得到第五密文,利用身份证读卡终端的第一私钥对第五密文进行签名,得到第五签名值,第五数据包至少包括:第五密文和第五签名值。
[0135]在本实施例中,安全处理模块402使用第一会话密钥对第二认证因子进行加密得到第五密文之后,只有具有相同的第一会话密钥的云认证平台才能对第五密文进行解密,防止云认证平台以外的其他装置对第五密文进行解密获取第二认证因子,保证身份证读卡终端发送至云认证平台的第二认证因子的安全性。
[0136]在本实施例中,安全处理模块402利用身份证读卡终端才具有的第一私钥对第五密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第五签名值解密,则表明接收的第五签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第五签名值解密,则表明接收的数据不是由身份证读卡终端发出的,即云认证平台能够根据第五签名值对发送第五签名值的装置进行身份确认。在云认证平台确定第五签名值是身份证读卡终端发送的之后,再计算第五密文的摘要。如果第五密文在传输过程中被篡改了,则云认证平台对接收的第五密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第五密文的摘要与解密得到的第五密文的摘要是否相同,能够保证接收的第五密文的完整性。
[0137]在本实施例中,云认证平台接收第五数据包后,对第五数据包进行安全验证,在安全验证通过后,得到第二认证因子。具体的,云认证平台可以利用身份证读卡终端的第一公钥对第五签名值进行验签,验签通过后,利用第一会话密钥对第五密文进行解密得到第二认证因子,对第二认证因子进行处理得到第二认证数据。云认证平台对第二认证因子进行处理得到第二认证数据的具体方式可以为:云认证平台对预设信息进行计算获得安全密钥,再利用安全密钥对第二认证因子进行MAC计算得到MAC值,将计算得到的MAC值作为第二认证数据。云认证平台也可以利用与身份证相匹配的安全密钥对第二认证因子进行加密得到第二认证数据。当然,云认证平台也可以采用公安部规定的其他方式对第二认证因子进行处理得到第二认证数据,在本实施例中不作具体限定。
[0138]作为本实施例的一个可选实施方式,第六数据包至少包括:第六密文和第六签名值;安全验证模块405,具体用于利用云认证平台的公钥对第六签名值进行验签,验签通过后,利用第一会话密钥对第六密文进行解密得到第二认证数据。
[0139]安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第六签名值解密,则表明接收的第六签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第六签名值解密,则表明接收的第六签名值不是由云认证平台发出的,即安全验证模块405能够根据第六签名值对发送第六签名值的装置进行身份确认。在安全验证模块405确定第六签名值是云认证平台发送的之后,再计算第六密文的摘要。如果第六密文在传输过程中被篡改了,则安全验证模块405对接收的第六密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第六密文的摘要与解密得到的第六密文的摘要是否相同,能够保证接收的第六密文的完整性。在确认第六签名值是由云认证平台发送且第六密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第六密文进行解密得到第二认证数据,防止身份证读卡终端以外的其他装置对第六密文进行解密获取第二认证数据,保证第二认证数据的安全性。
[0140]在本实施例中,身份证接收第二认证数据后,对第二认证数据进行验证,验证通过后,发送身份证数据密文至身份证读卡终端。身份证数据密文时指身份证中以密文存储的身份证数据,例如身份证号、姓名、性别、住址和照片等信息,该身份证数据密文只有通过公安部授权的身份证安全控制模块进行解密后,才能获得该身份证数据明文。
[0141]在本实施例中,如果第二认证数据是云认证平台云认证平台利用安全密钥对第二认证因子进行MAC计算得到的,则身份证对第二认证数据进行验证的方式可以为:身份证使用云认证平台端相同的MAC算法对第二认证因子进行计算得到认证数据,比较计算得到的认证数据与接收的第二认证数据是否相同,如果相同,则对第二认证数据验证通过。
[0142]在本实施例中,如果第二认证数据是云认证平台利用安全密钥对第二认证因子进行加密得到的,则身份证对第二认证数据进行验证的两种可选实施方式为:
[0143]方式一、身份证利用安全密钥对接收到的第二认证数据进行解密,得到认证因子,并比较解密得到的认证因子与自身生成的第二认证因子是否相同,如果相同,则对第二认证数据验证通过。
[0144]方式二、身份证利用安全密钥对自身生成的第二认证因子进行加密得到认证数据,并比较加密得到的认证数据与接收到的第二认证数据是否相同,如果相同,则对第二认证数据验证通过。
[0145]当然,身份证也可以采用公安部规定的其他方式对第二认证数据进行验证,在本实施例中不作具体限定。身份证通过对第二认证数据进行验证,实现对云认证平台合法性的验证。如果第二认证数据验证通过,则表明云认证平台是合法的,返回身份证数据密文;如果第二认证数据验证不通过,则表明云认证平台的非法的。此时,可以结束身份证读取流程。
[0146]作为本实施例的一个可选实施方式,安全处理模块402,具体用于利用第一会话密钥对身份证数据密文进行加密得到第七密文,利用身份证读卡终端的第一私钥对第七密文进行签名,得到第七签名值。
[0147]在本实施例中,安全处理模块402使用第一会话密钥对身份证数据密文进行加密得到第七密文之后,只有具有相同的第一会话密钥的云认证平台才能对第七密文进行解密,防止云认证平台以外的其他装置对第七密文进行解密获取身份证数据密文,保证身份证读卡终端发送至云认证平台的身份证数据密文的安全性。
[0148]在本实施例中,安全处理模块402利用身份证读卡终端才具有的第一私钥对第七密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第七签名值解密,则表明接收的第七签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第七签名值解密,则表明接收的第七签名值不是由身份证读卡终端发出的,即云认证平台能够根据第七签名值对发送第七签名值的装置进行身份确认。在云认证平台确定第七签名值是身份证读卡终端发送的之后,再计算第七密文的摘要。如果第七密文在传输过程中被篡改了,则云认证平台对接收的第七密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第七密文的摘要与解密得到的第七密文的摘要是否相同,能够保证接收的第七密文的完整性。
[0149]在本实施例中,云认证平台接收第七数据包后,对第七数据包进行安全验证,在安全验证通过后,得到身份证数据密文。具体的,云认证平台利用身份证读卡终端的第一公钥对第七签名值进行验签,验签通过后,利用第一会话密钥对第七密文进行解密得到身份证数据密文,利用公安部授权的身份证安全控制模块对身份证数据密文解密得到身份证数据明文。云认证平台对身份证数据明文进行安全处理得到第八数据包。
[0150]作为本实施例的一个可选实施方式,第八数据包至少包括:第八密文和第八签名值;安全验证模块405,具体用于利用云认证平台的公钥对第八签名值进行验签,验签通过后,利用第一会话密钥对第八密文进行解密得到身份证数据明文。
[0151]安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第八签名值解密,则表明接收的第八签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第八签名值解密,则表明接收的第八签名值不是由云认证平台发出的,即安全验证模块405能够根据第八签名值对发送第八签名值的装置进行身份确认。在安全验证模块405确定第八签名值是云认证平台发送的之后,再计算第八密文的摘要。如果第八密文在传输过程中被篡改了,则安全验证模块405对接收的第八密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第八密文的摘要与解密得到的第八密文的摘要是否相同,能够保证接收的第八密文的完整性。在确认第八签名值是由云认证平台发送且第八密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第八密文进行解密得到身份证数据明文,防止身份证读卡终端以外的其他装置对第八密文进行解密获取身份证数据明文,保证身份证数据明文的安全性。
[0152]作为本实施例的一个可选实施方式,如图5所示,身份证读卡终端还包括:第一生成模块507,用于生成第一随机数;安全处理模块402,还用于利用身份证读卡终端的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值;第一发送模块403,还用于发送第九数据包至云认证平台,第九数据包至少包括:第一随机数、身份证读卡终端的第一证书和第九签名值,其中,第一证书至少包含身份证读卡终端的第一公钥;第二接收模块404,还用于接收云认证平台返回的第十数据包,第十数据包至少包括:第十密文和第十签名值;安全验证模块405,还用于利用云认证平台的公钥对第十签名值进行验签,验签通过后,利用身份证读卡终端的第一私钥对第十密文进行解密得到第一随机数和第二随机数,第二随机数由云认证平台生成;比对模块508,用于比对生成的第一随机数和解密得到的第一随机数;第二生成模块509,用于利用第一随机数和第二随机数生成第一会话密钥。
[0153]在本实施例中,身份证读卡终端的第一证书是由第三方权威认证机构数字证书认证中心发行的。身份证读卡终端的第一证书中除了包括身份证读卡终端的第一公钥,还包括证书授权中心的数字签名和名称。
[0154]在本实施例中,安全处理模块402利用身份证读卡终端才具有的第一私钥对第一随机数和身份证读卡终端的第一证书进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第九签名值解密,则表明接收的第九签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第九签名值解密,则表明接收的第九签名值不是由身份证读卡终端发出的,即云认证平台能够根据第九签名值对发送第九签名值的装置进行身份确认。在云认证平台确定第九签名值是身份证读卡终端发送的之后,再计算第一随机数和身份证读卡终端的第一证书的摘要。如果第一随机数和身份证读卡终端的第一证书在传输过程中被篡改了,则云认证平台对接收的第一随机数和身份证读卡终端的第一证书计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第一随机数和身份证读卡终端的第一证书的摘要与解密得到的第一随机数和身份证读卡终端的第一证书的摘要是否相同,能够保证接收的第一随机数和身份证读卡终端的第一证书的完整性。
[0155]在本实施例中,云认证平台接收第九数据包后,使用根证书对身份证读卡终端的第一证书进行验证,验证通过,则表明身份证读卡终端的第一证书是合法的。身份证读卡终端的第一证书验证通过后,云认证平台利用身份证读卡终端的第一证书中的第一公钥对第九签名值进行验签,验签通过后,得到第一随机数,并生成第二随机数,云认证平台可以利用第一随机数和第二随机数生成第一会话密钥。云认证平台使用身份证读卡终端的第一公钥对第一随机数和第二随机数进行加密得到第十密文,使用云认证平台的私钥对第十密文进行签名得到第十签名值。
[0156]在本实施例中,身份证读卡终端可以从预先存储的云认证平台的证书中获取云认证平台的公钥;也可以向云认证平台发送请求,请求云认证平台将云认证平台的公钥发送至身份证读卡终端。安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第十签名值解密,则表明接收的第十签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第十签名值解密,则表明接收的第十签名值不是由云认证平台发出的。在安全验证模块405确定第十签名值是云认证平台发送的之后,再计算第十密文的摘要。如果第十密文在传输过程中被篡改了,则安全验证模块405对接收的第十密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第十密文的摘要与解密得到的第十密文的摘要是否相同,能够保证接收的第十密文的完整性。在确认第十签名值是由云认证平台发送且第十密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端和云认证平台才有的第一会话密钥对第十密文进行解密得到第一随机数和第二随机数,防止身份证读卡终端以外的其他装置对第十密文进行解密获取第一随机数和第二随机数,保证第一随机数和第二随机数的安全性。
[0157]在本实施例中,安全验证模块405解密第十密文得到第一随机数和第二随机数后,比对模块508比对解密得到的第一随机数和生成的第一随机数是否相同,如果相同,则表明云认证平台已经接收了第一随机数且云认证平台接收的第一随机数与身份证读卡终端生成的第一随机数相同,身份证读卡终端和云认证平台可以根据相同的算法对第一随机数和第二随机数计算生成第一会话密钥,并使用第一会话密钥对数据进行加解密;如果不相同,则表明云认证平台端获取的第一随机数和身份证读卡终端生成的第一随机数不相同,身份证读卡终端和云认证平台使用相同的算法对各自的第一随机数和第二随机数计算得到不相同的两个会话密钥,即身份证读卡终端的第一会话密钥和云认证平台的第一会话密钥,身份证读卡终端和云认证平台不能对接收自对方的密文进行解密。
[0158]作为本实施例的一个可选实施方式,身份证读卡终端还包括:安全处理模块402,还用于利用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文,利用身份证读卡终端的第一私钥对第十一密文进行签名得到第十一签名值;第一发送模块403,还用于发送第十一数据包至云认证平台,第十一数据包至少包括:身份证读卡终端的第一证书和第二证书、第十一密文和第十一签名值,其中,第一证书至少包含身份证读卡终端的第一公钥,第二证书至少包含身份证读卡终端的第二公钥;第二接收模块404,还用于接收云认证平台返回的第十二数据包;第十二数据包至少包括:第十二密文和第十二签名值;安全验证模块405,还用于利用云认证平台的公钥对第十二签名值进行验签,验签通过后,利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥。
[0159]身份证读卡终端获取第一会话密钥后,使用第一会话密钥对身份证读卡终端和云认证平台之间传输的数据进行加解密,保证了数据传输的安全。
[0160]在本实施例中,认证加密密钥预先内置在身份证读卡终端中,在身份证读卡终端获取第一会话密钥之前,安全处理模块402利用认证加密密钥对发送给云认证平台的数据进行加密。
[0161]在本实施例中,身份证读卡终端的第一证书和第二证书是由第三方权威认证机构数字证书认证中心发行的。身份证读卡终端的第二证书中除了包括身份证读卡终端的第二公钥,还包括证书授权中心的数字签名和名称等信息。在本实施例中,身份证读卡终端的第一证书和第二证书可以是不相同的两个证书,也可以是同一个证书。
[0162]在本实施例中,安全处理模块402使用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文之后,只有具有相应的认证解密密钥的云认证平台才能对第十一密文进行解密,防止云认证平台以外的其他装置对第十一密文进行解密获取第一会话密钥的获取请求,保证身份证读卡终端发送至云认证平台的第一会话密钥的获取请求的安全性。认证解密密钥与认证加密密钥为相同的密钥,即对称密钥。认证解密密钥预先内置在云认证平台中。
[0163]在本实施例中,安全处理模块402利用身份证读卡终端才具有的第一私钥对第十一密文进行签名,如果云认证平台使用与身份证读卡终端的第一私钥对应的身份证读卡终端的第一公钥能够对第十一签名值解密,则表明接收的第十一签名值是由身份证读卡终端发出的,如果云认证平台使用身份证读卡终端的第一公钥不能对第十一签名值解密,则表明接收的第十一签名值不是由身份证读卡终端发出的,即云认证平台能够根据第十一签名值对发送第十一签名值的装置进行身份确认。在云认证平台确定第十一签名值是身份证读卡终端发送的之后,再计算第十一密文的摘要。如果第十一密文在传输过程中被篡改了,则云认证平台对接收的第十一密文计算的摘要值也会发生变化,因此,云认证平台通过比较计算得到的第十一密文的摘要与解密得到的第十一密文的摘要是否相同,能够保证接收的第i^一密文的完整性。
[0164]在本实施例中,云认证平台接收第十一数据包之后,使用根证书对身份证读卡终端的第一证书和第二证书进行验证,验证通过,则表明身份证读卡终端的第一证书和第二证书是合法的。身份证读卡终端的第一证书和第二证书验证通过后,云认证平台利用身份证读卡终端的第一证书中的第一公钥对第十一签名值进行验签,验签通过后,利用认证解密密钥对第i^一密文进行解密得到第一会话密钥的获取请求。
[O105]在本实施例中,云认证平台得到第一会话密钥的获取请求后,生成第一会话密钥,利用身份证读卡终端的第二证书中的第二公钥对第一会话密钥进行加密,得到第十二密文,并使用云认证平台的私钥对第十二密文进行签名得到第十二签名值。
[0166]在本实施例中,安全验证模块405使用云认证平台的公钥进行验签,如果安全验证模块405使用云认证平台的公钥能够对第十二签名值解密,则表明接收的第十二签名值是由云认证平台发出的,如果安全验证模块405使用云认证平台的公钥不能对第十二签名值解密,则表明接收的第十二签名值不是由云认证平台发出的,即安全验证模块405能够根据第十二签名值对发送第十二签名值的装置进行身份确认。在安全验证模块405确定第十二签名值是云认证平台发送的之后,再计算第十二密文的摘要。如果第十二密文在传输过程中被篡改了,则安全验证模块405对接收的第十二密文计算的摘要值也会发生变换,因此,安全验证模块405通过比较计算得到的第十二密文的摘要与解密得到的第十二密文的摘要是否相同,能够保证接收的第十二密文的完整性。在确认第十二签名值是由云认证平台发送且第十二密文在传输过程中没有被篡改,即验签通过后,再利用身份证读卡终端的第二私钥对第十二密文进行解密得到第一会话密钥,防止身份证读卡终端以外的其他装置对第十二密文进行解密获取第一会话密钥,保证第一会话密钥的安全性。
[0167]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0168]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0169]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0170]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0171]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0172]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0173]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
【主权项】
1.一种身份证读取方法,其特征在于,所述方法包括: 身份证读卡终端接收身份证发送的身份证标识信息,对所述身份证标识信息进行安全处理得到第一数据包,发送所述第一数据包至云认证平台; 接收所述云认证平台返回的第二数据包; 对所述第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,发送所述第一认证因子至所述身份证; 接收所述身份证返回的第一认证数据,所述第一认证数据为所述身份证对所述第一认证因子进行处理得到的; 对所述第一认证数据进行安全处理得到第三数据包,发送所述第三数据包至所述云认证平台; 接收所述云认证平台返回的第四数据包; 对所述第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,发送所述第二认证因子获取请求至所述身份证; 接收所述身份证返回的第二认证因子,对所述第二认证因子进行安全处理得到第五数据包,发送所述第五数据包至所述云认证平台; 接收所述云认证平台返回的第六数据包; 对所述第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,发送所述第二认证数据至所述身份证,所述第二认证数据为所述云认证平台对所述第二认证因子进行处理得到的; 接收所述身份证返回的身份证数据密文,对所述身份证数据密文进行安全处理得到第七数据包,发送所述第七数据包至所述云认证平台; 接收所述云认证平台返回的第八数据包; 对所述第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。2.根据权利要求1所述的方法,其特征在于, 所述对所述身份证标识信息进行安全处理得到第一数据包,包括: 利用第一会话密钥对所述身份证标识信息加密得到第一密文,利用所述身份证读卡终端的第一私钥对所述第一密文进行签名,得到第一签名值,所述第一数据包至少包括:所述第一密文和所述第一签名值; 所述第二数据包至少包括:第二密文和第二签名值;对所述第二数据包进行安全验证,在安全验证通过后,得到第一认证因子,包括: 利用所述云认证平台的公钥对所述第二签名值进行验签,验签通过后,利用所述第一会话密钥对所述第二密文进行解密得到第一认证因子; 对所述第一认证数据进行安全处理得到第三数据包,包括: 利用所述第一会话密钥对所述第一认证数据进行加密得到第三密文,利用所述身份证读卡终端的第一私钥对所述第三密文进行签名,得到第三签名值,所述第三数据包至少包括:所述第三密文和所述第三签名值; 所述第四数据包至少包括:第四密文和第四签名值;对所述第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求,包括: 利用所述云认证平台的公钥对所述第四签名值进行验签,验签通过后,利用所述第一会话密钥对所述第四密文进行解密得到第二认证因子获取请求; 对所述第二认证因子进行安全处理得到第五数据包,包括: 利用所述第一会话密钥对所述第二认证因子进行加密得到第五密文,利用所述身份证读卡终端的第一私钥对所述第五密文进行签名,得到第五签名值,所述第五数据包至少包括:所述第五密文和所述第五签名值; 所述第六数据包至少包括:第六密文和第六签名值;对所述第六数据包进行安全验证,在安全验证通过后,得到第二认证数据,包括: 利用所述云认证平台的公钥对所述第六签名值进行验签,验签通过后,利用所述第一会话密钥对所述第六密文进行解密得到第二认证数据; 对所述身份证数据密文进行安全处理得到第七数据包,包括: 利用所述第一会话密钥对所述身份证数据密文进行加密得到第七密文,利用所述身份证读卡终端的第一私钥对所述第七密文进行签名,得到第七签名值; 所述第八数据包至少包括:第八密文和第八签名值;对所述第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文,包括: 利用所述云认证平台的公钥对所述第八签名值进行验签,验签通过后,利用所述第一会话密钥对所述第八密文进行解密得到身份证数据明文。3.根据权利要求1或2所述的方法,其特征在于,在所述身份证读卡终端对所述身份证标识信息进行安全处理得到第一数据包之前,所述方法还包括: 所述身份证读卡终端生成第一随机数,利用所述身份证读卡终端的第一私钥对所述第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值,发送第九数据包至所述云认证平台,所述第九数据包至少包括:所述第一随机数、所述身份证读卡终端的第一证书和所述第九签名值,其中,所述第一证书至少包含身份证读卡终端的第一公钥; 接收所述云认证平台返回的第十数据包,所述第十数据包至少包括:第十密文和第十签名值; 利用所述云认证平台的公钥对所述第十签名值进行验签,验签通过后,利用所述身份证读卡终端的第一私钥对所述第十密文进行解密得到所述第一随机数和第二随机数,所述第二随机数由所述云认证平台生成; 比对所述生成的第一随机数和所述解密得到的第一随机数,比对一致,利用所述第一随机数和所述第二随机数生成第一会话密钥。4.根据权利要求1或2所述的方法,其特征在于,在所述身份证读卡终端对所述身份证标识信息进行安全处理得到第一数据包之前,所述方法还包括: 利用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文,利用所述身份证读卡终端的第一私钥对所述第十一密文进行签名得到第十一签名值,发送第十一数据包至所述云认证平台,所述第十一数据包至少包括:所述身份证读卡终端的第一证书和第二证书、所述第十一密文和所述第十一签名值,其中,所述第一证书至少包含身份证读卡终端的第一公钥,所述第二证书至少包含身份证读卡终端的第二公钥; 接收所述云认证平台返回的第十二数据包;所述第十二数据包至少包括:第十二密文和第十二签名值; 利用所述云认证平台的公钥对所述第十二签名值进行验签,验签通过后,利用所述身份证读卡终端的第二私钥对所述第十二密文进行解密得到第一会话密钥。5.一种身份证读卡终端,其特征在于,包括: 第一接收模块,用于接收身份证发送的身份证标识信息; 安全处理模块,用于对所述身份证标识信息进行安全处理得到第一数据包; 第一发送模块,用于发送所述第一数据包至云认证平台; 第二接收模块,用于接收所述云认证平台返回的第二数据包; 安全验证模块,用于对所述第二数据包进行安全验证,在安全验证通过后,得到第一认证因子; 第二发送模块,用于发送所述第一认证因子至所述身份证; 所述第一接收模块,还用于接收所述身份证返回的第一认证数据,所述第一认证数据为所述身份证对所述第一认证因子进行处理得到的; 所述安全处理模块,还用于对所述第一认证数据进行安全处理得到第三数据包; 所述第一发送模块,还用于发送所述第三数据包至所述云认证平台; 所述第二接收模块,还用于接收所述云认证平台返回的第四数据包; 安全验证模块,还用于对所述第四数据包进行安全验证,在安全验证通过后,得到第二认证因子获取请求; 所述第二发送模块,还用于发送所述第二认证因子获取请求至所述身份证; 所述第一接收模块,还用于接收所述身份证返回的第二认证因子; 所述安全处理模块,还用于对所述第二认证因子进行安全处理得到第五数据包; 所述第一发送模块,还用于发送所述第五数据包至所述云认证平台; 所述第二接收模块,还用于接收所述云认证平台返回的第六数据包; 所述安全验证模块,还用于对所述第六数据包进行安全验证,在安全验证通过后,得到第二认证数据; 所述第二发送模块,还用于发送所述第二认证数据至所述身份证,所述第二认证数据为所述云认证平台对所述第二认证因子进行处理得到的; 所述第一接收模块,还用于接收所述身份证返回的身份证数据密文; 所述安全处理模块,还用于对所述身份证数据密文进行安全处理得到第七数据包; 所述第一发送模块,还用于发送所述第七数据包至所述云认证平台; 所述第二接收模块,还用于接收所述云认证平台返回的第八数据包; 所述安全验证模块,还用于对所述第八数据包进行安全验证,在安全验证通过后,得到身份证数据明文。6.根据权利要求5所述的身份证读卡终端,其特征在于, 所述安全处理模块,具体用于利用第一会话密钥对所述身份证标识信息加密得到第一密文,利用所述身份证读卡终端的第一私钥对所述第一密文进行签名,得到第一签名值,所述第一数据包至少包括:所述第一密文和所述第一签名值; 所述第二数据包至少包括:第二密文和第二签名值; 所述安全验证模块,具体用于利用所述云认证平台的公钥对所述第二签名值进行验签,验签通过后,利用所述第一会话密钥对所述第二密文进行解密得到第一认证因子; 所述安全处理模块,具体用于利用所述第一会话密钥对所述第一认证数据进行加密得到第三密文,利用所述身份证读卡终端的第一私钥对所述第三密文进行签名,得到第三签名值,所述第三数据包至少包括:所述第三密文和所述第三签名值; 所述第四数据包至少包括:第四密文和第四签名值; 所述安全验证模块,具体用于利用所述云认证平台的公钥对所述第四签名值进行验签,验签通过后,利用所述第一会话密钥对所述第四密文进行解密得到第二认证因子获取请求; 所述安全处理模块,具体用于利用所述第一会话密钥对所述第二认证因子进行加密得到第五密文,利用所述身份证读卡终端的第一私钥对所述第五密文进行签名,得到第五签名值,所述第五数据包至少包括:所述第五密文和所述第五签名值; 所述第六数据包至少包括:第六密文和第六签名值; 所述安全验证模块,具体用于利用所述云认证平台的公钥对所述第六签名值进行验签,验签通过后,利用所述第一会话密钥对所述第六密文进行解密得到第二认证数据; 所述安全处理模块,具体用于利用所述第一会话密钥对所述身份证数据密文进行加密得到第七密文,利用所述身份证读卡终端的第一私钥对所述第七密文进行签名,得到第七签名值; 所述第八数据包至少包括:第八密文和第八签名值;所述安全验证模块,具体用于利用所述云认证平台的公钥对所述第八签名值进行验签,验签通过后,利用所述第一会话密钥对所述第八密文进行解密得到身份证数据明文。7.根据权利要求5或6所述的身份证读卡终端,其特征在于,所述终端还包括: 第一生成模块,用于生成第一随机数; 所述安全处理模块,还用于利用所述身份证读卡终端的第一私钥对所述第一随机数和身份证读卡终端的第一证书进行签名得到第九签名值; 所述第一发送模块,还用于发送第九数据包至所述云认证平台,所述第九数据包至少包括:所述第一随机数、所述身份证读卡终端的第一证书和所述第九签名值,其中,所述第一证书至少包含身份证读卡终端的第一公钥; 所述第二接收模块,还用于接收所述云认证平台返回的第十数据包,所述第十数据包至少包括:第十密文和第十签名值; 所述安全验证模块,还用于利用所述云认证平台的公钥对所述第十签名值进行验签,验签通过后,利用所述身份证读卡终端的第一私钥对所述第十密文进行解密得到所述第一随机数和第二随机数,所述第二随机数由所述云认证平台生成; 比对模块,用于比对所述生成的第一随机数和所述解密得到的第一随机数; 第二生成模块,用于利用所述第一随机数和所述第二随机数生成第一会话密钥。8.根据权利要求5或6所述的身份证读卡终端,其特征在于,所述终端还包括: 所述安全处理模块,还用于利用认证加密密钥对第一会话密钥的获取请求进行加密得到第十一密文,利用所述身份证读卡终端的第一私钥对所述第十一密文进行签名得到第十一签名值; 所述第一发送模块,还用于发送第十一数据包至所述云认证平台,所述第十一数据包至少包括:所述身份证读卡终端的第一证书和第二证书、所述第十一密文和所述第十一签名值,其中,所述第一证书至少包含身份证读卡终端的第一公钥,所述第二证书至少包含身份证读卡终端的第二公钥; 所述第二接收模块,还用于接收所述云认证平台返回的第十二数据包;所述第十二数据包至少包括:第十二密文和第十二签名值; 所述安全验证模块,还用于利用所述云认证平台的公钥对所述第十二签名值进行验签,验签通过后,利用所述身份证读卡终端的第二私钥对所述第十二密文进行解密得到第一会话密钥。
【文档编号】G06F21/60GK106022141SQ201610244427
【公开日】2016年10月12日
【申请日】2016年4月18日
【发明人】李明
【申请人】李明