CN106156677A - 身份证读卡方法和系统 - Google Patents

身份证读卡方法和系统 Download PDF

Info

Publication number
CN106156677A
CN106156677A CN201510764602.9A CN201510764602A CN106156677A CN 106156677 A CN106156677 A CN 106156677A CN 201510764602 A CN201510764602 A CN 201510764602A CN 106156677 A CN106156677 A CN 106156677A
Authority
CN
China
Prior art keywords
card reader
card
background server
information
data
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
CN201510764602.9A
Other languages
English (en)
Other versions
CN106156677B (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.)
Tendyron Corp
Tendyron Technology Co Ltd
Original Assignee
Tendyron Technology 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 Tendyron Technology Co Ltd filed Critical Tendyron Technology Co Ltd
Priority to CN201510764602.9A priority Critical patent/CN106156677B/zh
Publication of CN106156677A publication Critical patent/CN106156677A/zh
Application granted granted Critical
Publication of CN106156677B publication Critical patent/CN106156677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10257Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for protecting the interrogation against piracy attacks

Abstract

本发明提供一种身份证读卡方法和系统,该身份证读卡方法包括:读卡器接收到第一居民身份证返回的寻卡响应指令;读卡器读取第一居民身份证的配置信息;读卡器判断安全芯片中是否存储有配置信息,在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中;读卡器接收到读卡指令;读卡器与后台服务器进行协商,读卡器得到第一传输密钥,后台服务器得到第二传输密钥;读卡器获取居民身份证中存储的加密身份证信息;读卡器使用第一传输密钥对配置信息和加密身份证信息进行加密,得到传输密文,将传输密文发送给后台服务器;后台服务器接收传输密文,并使用第二传输密钥对传输密文进行解密,得到配置信息和加密身份证信息。

Description

身份证读卡方法和系统
技术领域
本发明涉及电子技术领域,尤其涉及一种身份证读卡方法和系统。
背景技术
在现有居民身份证读卡流程中,在执行读取身份证的流程前,先要执行寻卡流程,在寻到居民身份证之后,再开始执行读取身份证的流程。其中,寻卡流程主要包括:读卡器循环发送寻卡指令,当居民身份证进入读卡器的可读范围时,居民身份证检测到读卡器发送的寻卡指令,向读卡器返回寻卡响应指令,读卡器接收到寻卡响应指令后,确定检测到居民身份证,寻卡成功。在读卡器寻卡成功后,用户指示读卡器开始读取身份证,读卡器开始与居民身份证进行交互,读取居民身份证中存储的信息,由公安部授权的安全控制模块(SAM模块)对读取的居民身份证进行解码,得到明文的身份证信息。在相关技术中,读卡器在寻到居民身份证之后,并不会读取居民身份证中存储的信息,而是在接收到读卡指令之后,才从居民身份证中读取信息。由于读卡器通过射频与居民身份证进行交互,读取居民身份证中存储的信息的时间较长,用户体验不高。
发明内容
本发明旨在解决上述居民身份证读取时间较长,用户体验不高的问题。
本发明的主要目的在于提供一种身份证读卡方法;
本发明的另一目的在于提供一种身份证读卡系统。
为达到上述目的,本发明提供以下技术方案:
方案1、一种身份证读卡方法,该方法包括:读卡器接收到第一居民身份证返回的寻卡响应指令;读卡器读取第一居民身份证的配置信息;读卡器判断安全芯片中是否存储有配置信息,在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中;读卡器接收到读卡指令;读卡器与后台服务器进行协商,读卡器得到第一传输密钥,后台服务器得到第二传输密钥;读卡器获取居民身份证中存储的加密身份证信息;读卡器使用第一传输密钥对配置信息和加密身份证信息进行加密,得到传输密文,将传输密文发送给后台服务器; 后台服务器接收传输密文,并使用第二传输密钥对传输密文进行解密,得到配置信息和加密身份证信息。
方案2、根据方案1所述的方法,读卡器与后台服务器进行协商,读卡器得到第一传输密钥,后台服务器得到第二传输密钥,包括:读卡器将传输密钥生成请求发送至后台服务器;后台服务器接收到传输密钥生成请求后,生成第一随机因子,并将第一随机因子发送至读卡器;读卡器接收到第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将第一认证数据发送至后台服务器,其中,第一待签名数据至少包括第一随机因子,第一认证数据至少包括第一签名数据和读卡器的数字证书;后台服务器接收到第一认证数据后,对读卡器的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则后台服务器生成第二随机因子,基于第一随机因子和第二随机因子生成第三随机因子,并基于第三随机因子计算得到第二传输密钥;
后台服务器利用读卡器的公钥对第三随机因子进行加密生成第二待签名数据,对第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至读卡器,其中,第二认证数据至少包括:第二待签名数据、第二签名数据和后台服务器的数字证书;读卡器接收到第二认证数据后,对后台服务器的数字证书的合法性进行验证;在验证通过后,对第二签名数据进行验签;若验签通过,则读卡器利用读卡器的私钥对第二待签名数据进行解密操作,获得第三随机因子,并基于第三随机因子计算得到第一传输密钥。
方案3、根据方案1所述的方法,读卡器与后台服务器进行协商,读卡器得到第一传输密钥,后台服务器得到第二传输密钥,包括:读卡器将传输密钥生成请求发送至后台服务器;后台服务器接收到传输密钥生成请求后,生成第一随机因子,并将第一认证数据发送至读卡器,其中,第一认证数据至少包括:第一随机因子和后台服务器的数字证书;读卡器接收到第一认证数据后,对后台服务器的数字证书的合法性进行验证;在验证通过后,读卡器生成第二随机因子,利用后台服务器的数字证书中的后台服务器的公钥对第二随机因子进行加密操作,生成第一加密数据;读卡器对第一随机因子和第一加密数据进行签名,生成第一签名数据,将第二认证数据发送至后台服务器,并基于第二随机因子计算得到第一传输密钥,其中,第二认证数据至少包括:第一加密数据、第一签名数据和读卡器的数字证书;后台服务器接收第二认证数据,对读卡器的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则后台服务器利用后台服务器的私钥对第一加密数据进行解密,获得第二随机因子,并基于第二随机因子计算得到第二传输密钥。
方案4、根据方案1至3任一项所述的方法,获取居民身份证中存储的加密身份证信息 包括:读卡器判断安全芯片中是否存储有与配置信息对应的加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,读卡器从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,读卡器执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中,且将加密身份证信息与配置信息关联。
方案5、根据方案1至3任一项所述的方法,在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中时,方法还包括:清空安全芯片存储的加密身份证信息;获取居民身份证中存储的加密身份证信息包括:读卡器判断安全芯片中是否存储有加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,读卡器从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,读卡器执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中。
方案6、根据方案4或5所述的方法,存储的加密身份证信息包括多个数据包;读卡器使用第一传输密钥对配置信息和加密身份证信息进行加密包括:读卡器使用第一传输密钥分别对配置信息、以及加密身份证信息包括的各个数据包进行加密,得到多个加密数据包。
方案7、根据方案6所述的方法,还包括:在接收到后台服务器发送的指示需要重传加密身份证信息的重传指令时,读卡器从安全芯片中获取重传指令指示需要重传的数据包,使用第一传输密钥对需要重传的数据包进行加密后重发给后台服务器。
方案8、根据方案1至7任一项所述的方法,在读卡器将配置信息和加密身份证信息发送给后台服务器之后,该方法还包括:读卡器在预定时间内没有检测到居民身份证,清空安全芯片内存储的居民身份证的配置信息及加密身份证信息。
方案9、根据方案1至8任一项所述的方法,在读卡器将配置信息和加密身份证信息发送给后台服务器之后,该方法还包括:读卡器获取后台服务器解密得到的身份证明文信息;读卡器产生一个随机密钥;读卡器使用随机密钥对身份证明文信息进行加密;读卡器将加密后的身份证明文信息存储到安全芯片中。
方案10、根据方案9所述的方法,在读卡器将身份证明文信息存储到安全芯片中之后,方法还包括:读卡器接收到第二居民身份证返回的寻卡响应指令;读卡器读取第二居民身份证的配置信息;读卡器判断安全芯片内是否存储有当前读取的配置信息;读卡器接收到与之连接的终端的读卡指令;在判断安全芯片内存储有当前读取的配置信息的情况下,判断安全芯片内是否存储有加密后的身份证明文信息;在判断安全芯片内存储有加密后的身份证明文信息的情况下,获取安全芯片内存储的加密后的身份证明文信息;读卡器采用随机密钥对加 密后的身份证明文信息进行解密,输出解密后的身份证明文信息。
方案11、根据方案9所述的方法,在读卡器将加密后的身份证明文信息存储到安全芯片中之后,该方法还包括:读卡器在预定时间内没有检测到居民身份证,清空安全芯片内存储的加密后的身份证明文信息;和/或,读卡器在预定时间内没有检测到居民身份证或读卡器执行关机操作前的情况下,读卡器删除随机密钥。
方案12、根据方案1-2、4至11任一项所述的方法,后台服务器对第一签名数据进行验签,包括:后台服务器利用第一随机因子和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作;读卡器对第二签名数据进行验签,包括:读卡器利用加密数据和后台服务器的数字证书中的后台服务器的公钥对第二签名数据进行验签操作。
方案13、根据方案1-2、4至11任一项所述的方法,第一待签名数据还包括:读卡器的第一身份标识,第一认证数据还包括:读卡器的第二身份标识。
方案14、根据方案13所述的方法,读卡器的第一身份标识包括:读卡器序列号和/或读卡器证书号,读卡器的第二身份标识包括:读卡器序列号和/或读卡器证书号;其中,读卡器序列号与读卡器证书号具备映射关系,且后台服务器存储有映射关系。
方案15、根据方案13或14所述的方法,后台服务器对第一签名数据进行验签,包括:后台服务器利用第一随机因子、第二身份标识和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作。
方案16、一种身份证读卡系统,包括:读卡器,用于接收到第一居民身份证返回的寻卡响应指令,读取第一居民身份证的配置信息,并判断读卡器的安全芯片中是否存储有配置信息,在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中;读卡器,还用于接收到读卡指令,与后台服务器进行协商得到第一传输密钥;后台服务器,用于与读卡器进行协商,得到第二传输密钥;
读卡器,还用于获取居民身份证中存储的加密身份证信息,使用第一传输密钥对配置信息和加密身份证信息进行加密,得到传输密文,并将传输密文发送给后台服务器;后台服务器,还用于接收传输密文,并使用第二传输密钥对传输密文进行解密,得到配置信息和加密身份证信息。
方案17、根据方案16所述的系统,读卡器用于获取第一传输密钥,后台服务器用于获取第二传输密钥,包括:读卡器,用于将传输密钥生成请求发送至后台服务器;后台服务器,用于接收到传输密钥生成请求后,生成第一随机因子,并将第一随机因子发送至读卡器;读卡器,还用于接收到第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将 第一认证数据发送至后台服务器,其中,第一待签名数据至少包括第一随机因子,第一认证数据至少包括第一签名数据和读卡器的数字证书;后台服务器,还用于接收到第一认证数据后,对读卡器的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则生成第二随机因子,基于第一随机因子和第二随机因子生成第三随机因子,并基于第三随机因子计算得到第二传输密钥;后台服务器,还用于利用读卡器的公钥对第三随机因子进行加密生成第二待签名数据,对第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至读卡器,其中,第二认证数据至少包括:第二待签名数据、第二签名数据和后台服务器的数字证书;读卡器,还用于接收到第二认证数据后,对后台服务器的数字证书的合法性进行验证;在验证通过后,对第二签名数据进行验签;若验签通过,则利用读卡器的私钥对第二待签名数据进行解密操作,获得第三随机因子,并基于第三随机因子计算得到第一传输密钥。
方案18、根据方案16所述的系统,读卡器用于获取第一传输密钥,后台服务器用于获取第二传输密钥,包括:读卡器,还用于将传输密钥生成请求发送至后台服务器;后台服务器,用于接收到传输密钥生成请求后,生成第一随机因子,并将第一认证数据发送至读卡器,其中,第一认证数据至少包括:第一随机因子和后台服务器的数字证书;读卡器,还用于接收到第一认证数据后,对后台服务器的数字证书的合法性进行验证;以及在验证通过后,生成第二随机因子,利用后台服务器的数字证书中的后台服务器的公钥对第二随机因子进行加密操作,生成第一加密数据;读卡器,还用于对第一随机因子和第一加密数据进行签名,生成第一签名数据,将第二认证数据发送至后台服务器,并基于第二随机因子计算得到第一传输密钥,其中,第二认证数据至少包括:第一加密数据、第一签名数据和读卡器的数字证书;后台服务器,还用于接收第二认证数据,对读卡器的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则利用后台服务器的私钥对第一加密数据进行解密,获得第二随机因子,并基于第二随机因子计算得到第二传输密钥。
方案19、根据方案16至18任一项所述的系统,读卡器通过以下方式获取居民身份证中存储的加密身份证信息:判断安全芯片中是否存储有与配置信息对应的加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中,且将加密身份证信息与配置信息关联。
方案20、根据方案16至18任一项所述的系统,读卡器还用于在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中时,清空安全芯片存储的加密身份证信息;读卡器通过以下方式获取居民身份证中存储的加密身份证信息:判断安全芯片中是否存储有加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中。
方案21、根据方案16至18任一项所述的系统,安全芯片存储的加密身份证信息包括多个数据包;读卡器通过以下方式对配置信息和加密身份证信息进行加密得到传输密文:使用第一传输密钥分别对配置信息、以及加密身份证信息包括的各个数据包进行加密,得到多个加密数据包。
方案22、根据方案21所述的系统,后台服务器还用于判断是否接收到完整的加密身份证信息,在没有接收到完整的加密身份证信息的情况下,向读卡器发送重传指令;读卡器还用于接收到后台服务器发送的指示需要重传加密身份证信息的重传指令,从安全芯片中获取重传指令指示需要重传的数据包,使用第一传输密钥对需要重传的数据包进行加密后重发给后台服务器。
方案23、根据方案16至22任一项所述的系统,读卡器还用于在将传输密文发送给后台服务器之后,在预定时间内没有检测到居民身份证,清空安全芯片内存储的居民身份证的配置信息及加密身份证信息。
方案24、根据方案16至23任一项所述的系统,后台服务器还用于获取加密身份证信息的身份证明文信息,使用第二传输密钥对身份证明文信息进行加密,并将加密的身份证明文信息发送给读卡器;读卡器,还用于接收加密的身份证明文信息,并使用第一传输密钥进行解密,得到身份证明文信息;读卡器,还用于产生一个随机密钥,使用随机密钥对身份证明文信息进行加密,将加密后的身份证明文信息存储到安全芯片中。
方案25、根据方案24所述的系统,读卡器还用于接收到第二居民身份证返回的寻卡响应指令,读取第二居民身份证的配置信息,并判断安全芯片内是否存储有当前读取的配置信息;以及在接收到与之连接的终端的读卡指令后,在判断安全芯片内存储有当前读取的配置信息的情况下,判断安全芯片内是否存储有加密后的身份证明文信息;在判断安全芯片内存储有加密后的身份证明文信息的情况下,获取安全芯片内存储的加密后的身份证明文信息,并采用随机密钥对加密后的身份证明文信息进行解密,输出解密后的身份证明文信息。
方案26、根据方案24所述的系统,读卡器在预定时间内没有检测到居民身份证,清空 安全芯片内存储的加密后的身份证明文信息;和/或,读卡器还用于在预定时间内没有检测到居民身份证或所执行关机操作前的情况下,删除随机密钥。
方案27、根据方案16-17、19至26任一项所述的系统,后台服务器通过以下方式对第一签名数据进行验签:利用第一随机因子和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作;读卡器通过以下方式对第二签名数据进行验签:读卡器利用加密数据和后台服务器的数字证书中的后台服务器的公钥对第二签名数据进行验签操作。
方案28、根据方案16-17、19至2所述7任一项的系统,第一待签名数据还包括:读卡器的第一身份标识,第一认证数据还包括:读卡器的第二身份标识。
方案29、根据方案28所述的系统,读卡器的第一身份标识包括:读卡器序列号和/或读卡器证书号,读卡器的第二身份标识包括:读卡器序列号和/或读卡器证书号;其中,读卡器序列号与读卡器证书号具备映射关系,且后台服务器存储有映射关系。
方案30、根据权利要求28或29所述的系统,后台服务器通过以下方式对第一签名数据进行验签:后台服务器利用第一随机因子、第二身份标识和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作。
在本发明提供的技术方案中,读卡器在寻到居民身份证之后,即从居民身份证中读取配置信息,在后续接收到读卡指令后,只从居民身份证中读取加密身份证信息,从而节约了在接收到读卡指令后读取配置信息的时间,提高了身份证的读取效率,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例1提供的一种身份证读卡方法的流程示意图;
图2为本发明实施例2提供的一种身份证读卡方法的流程示意图;
图3为本发明实施例3提供的一种身份证读卡方法的流程示意图;
图4为本发明实施例4提供的一种身份证读卡系统的架构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实 施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面将结合附图对本发明实施例作进一步地详细描述。
实施例1
图1为本实施例提供的一种身份证读卡方法的流程示意图,如图1所示,本实施例提供的身份证读卡方法主要包括以下步骤(101-108)。
步骤101:读卡器接收到第一居民身份证返回的寻卡响应指令;
在本实施例中,读卡器通过其射频模块每间隔一段时间向外发送寻卡指令,第一居民身份证收到读卡器发送的寻卡指令后,第一居民身份证会自动向读卡器发送寻卡响应指令,读卡器接收第一居民身份证返回的寻卡响应指令。读卡器通过第一居民身份证返回的寻卡响应指令与第一居民身份证建立通信连接。
需要说明的是,一般读卡器中设置有公安部授权的安全控制模块用以解密读卡器读取的加密身份证信息,但是读卡器中集成有公安部授权的安全控制模块的成本高,本实施例中,读卡器未设置有公安部授权的身份证安全控制模块(SAM模块),身份证安全控制模块设置在远端,可以设置在后台服务器中,也可以独立设置,与后台服务器通过有线(例如,USB接口等)连接,也可以通过无线(例如,WIFI,蓝牙等),具体本实施例不作限定。通过将读卡器与SAM模块分开设置,可以多个读卡器共用一个SAM模块,从而可以节约成本。
步骤102:读卡器读取第一居民身份证的配置信息;
在本实施例中,读卡器在接收到第一居民身份证返回的寻卡响应指令后,确定当前可读范围内有身份证,则直接读取第一居民身份证中的配置信息。
在实际应用中,第一居民身份证中存储的信息包括以明文方式存储的身份证的配置信息和以密文方式存储的加密身份证信息。其中,身份证的配置信息,是指身份证的配置参数,例如身份证的序列号、用于指示身份证中设置的应用的相关信息的应用数据、传输协议(例如,传输协议类型、比特数率、最大帧长度)等,读卡器可以直接识别该配置信息,不需要公安部授权的安全控制模块进行解密。加密身份证信息,是指身份证中以密文存储的身份证,例如身份证号、姓名、性别、住址和照片等信息,该加密身份证信息只有通过公安部授权的身份证安全控制模块进行解密后,才能获得该身份证的明文信息。公安部授权的身份证安全控制模块在解密加密身份证信息时,需要通过配置信息才能解密,因此,在读取身份证时,需要将身份证中存储的配置信息及加密身份证信息均提供给公安部授权的身份证安全控制模块。在本实施例中,无论是否接收到读卡指令,读卡器只要检测到可读范围内存在有居民身份证(即接收到居民身份证返回的寻卡响应指令),则读取该居民身份证的配置信息。
步骤103:读卡器判断安全芯片中是否存储有所述配置信息;如果没有存储有步骤102中读取的配置信息,则将该配置信息存储到安全芯片中,然后执行步骤104,否则,直接执行步骤104;
步骤104:读卡器接收到读卡指令;
在本实施例中,步骤103中与读卡器接收到读卡指令是两个没有时间先后顺序的步骤,在实际应用中,读卡器可能是在执行步骤103时接收到读卡指令,也可以是在执行步骤103之后接收到读卡指令,还可能是在接收到读卡指令后再执行步骤103,具体本实施例不作限定。
在本实施例中,读卡指令是用于读取身份证信息的指令,读卡器可通过终端(例如电脑或手机等)接收读卡指令,也可通过读卡器自身获得读卡指令,读卡器获取读卡指令的方式本实施例并不做限定,只要是读卡器可以接收到读卡指令即在本发明的保护范围内。
步骤105,读卡器与后台服务器进行协商,协商结束,读卡器得到第一传输密钥,后台服务器得到第二传输密钥;
读卡器与后台服务器进行传输密钥的协商过程可以参见后续实施例5和6。
步骤106,读卡器获取居民身份证中存储的加密身份证信息;
在本发明实施例的一个可选实施方案中,在安全芯片中存储有加密身份证信息的情况下,读卡器可以从安全芯片中获取加密身份证信息,或者,读卡器也可以直接从第一居民身份证 中读取加密身份证信息,具体可参照实施例2和3中的描述。
步骤107,读卡器使用第一传输密钥对配置信息和加密身份证信息进行加密,得到传输密文,将传输密文发送给后台服务器。
在本实施例中,读卡器获取居民身份证中存储的加密身份证信息后,为了保证身份证信息的传输安全,读卡器使用第一传输密钥对配置信息及加密身份证信息进行加密后发送给后台服务器。具体的,读卡器可通过终端(例如电脑或手机等)与后台服务器建立连接并通讯,也可以以无线的方式(例如蓝牙、红外或NFC近场通信等)直接与后台服务器建立连接并通讯。
步骤108,后台服务器接收传输密文,并使用第二传输密钥对传输密文进行解密,得到配置信息和加密身份证信息。
后台服务器在解密得到配置信息和加密身份证信息之后,可以将该居民身份证的配置信息和加密身份证信息发送给SAM模块,由SAM模块对该居民身份证的身份证信息进行解码,从而使得后台服务器可以获取到该居民身份证的身份证明文信息,进而可以执行其它需要使用身份证的流程,例如,银行系统为用户执行远程开户等。
在相关技术中,在执行居民身份证读取流程时,在检测到可读范围内存在有居民身份证时,并不会读取居民身份证中存储的信息,而是等待读卡指令,在接收到读卡指令后,再从居民身份证中读取配置信息和加密身份证信息。而在本实施例提供的身份证读卡方案中,读卡器在检测到可读范围内存在有居民身份证时,就直接读取居民身份证的配置信息,在接收到读卡指令后,只需获取居民身份证中存储的加密身份证信息,而不需要再读取配置信息,从而可以节约读卡时间,提高用户体验。并且,在本实施例中,读卡器与后台服务器之间协商传输密钥,在交互过程中,通过协商的传输密钥对传输的数据进行加密,可以进一步保证信息的传输安全。
作为本实施例的一种可选实施方式,在读卡器将传输密文发送给后台服务器之后,后台服务器可以与SAM模块进行交互,得到解密的身份证明文信息,后台服务器可以将将该身份证明文信息发送给读卡器。可选地,为了保证身份证明文信息的传输安全,后台服务器可以对身份证明文信息进行加密后发送,例如,后台服务器可以使用与读卡器协商的第一传输密钥进行加密。因此,在该可选实施方式中,读卡器将配置信息和加密身份证信息发送给后台服务器之后,该方法还可以包括:读卡器获取后台服务器解密得到的身份证明文信息,读卡器产生一个随机密钥;读卡器使用随机密钥对身份证明文信息进行加密,读卡器将加密后的身份证明文信息存储到安全芯片中。其中,读卡器可以接收后台服务器使用第二传输密钥 进行加密的身份证明文信息,采用第一传输密钥进行解密,得到身份证明文信息。在实施方式中,通过将加密的身份证明文信息存储在安全芯片中,可以在需要多次读取身份证信息的情况下,直接从安全芯片中获取加密的身份证明文信息,不需要通过后台服务器和SAM模块再重新对加密身份证信息进行解密,以便节约二次读卡的时间,并且,通过采用随机密钥对身份证明文信息进行加密,可以保证身份证明文信息的安全。
作为本实施例的一种可选实施方式,在读卡器将身份证明文信息存储到所述安全芯片中之后,读卡器接收到第二居民身份证返回的寻卡响应指令,读卡器读取第二居民身份证的配置信息,读卡器判断安全芯片内是否存储有当前读取的配置信息(在没有存储该配置信息时,可以将该配置信息存储到安全芯片中,具体可以参见上述的描述,在此不再赘述),读卡器接收到与之连接的终端(例如,银行前端的PC机)的读卡指令,在判断安全芯片内存储有当前读取的配置信息的情况下,判断安全芯片内是否存储有加密后的身份证明文信息,在判断安全芯片内存储有加密后的身份证明文信息的情况下,获取安全芯片内存储的加密后的所述身份证明文信息,读卡器采用随机密钥对加密后的身份证明文信息进行解密,输出解密后的身份证明文信息。例如,读卡器可以将解密后的身份证明文信息发送给终端,也可以直接显示解密后的身份证明文信息。
具体的,当第二居民身份证与第一居民身份证为同一身份证的情况下,读卡器读取第二居民身份证的配置信息,并判断安全芯片中存储有当前读取的配置信息,读卡器收到读卡指令后,判断安全芯片内是否存储有加密后的身份证明文信息,在判断安全芯片内存储有加密后的身份证明文信息的情况下,读卡器获取安全芯片内存储的加密后的所述身份证明文信息,最后,读卡器采用随机密钥对加密后的身份证明文信息进行解密,输出解密后的身份证明文信息。另外,当第二居民身份证与第一居民身份证为不同身份证的情况下,读卡器读取第二居民身份证的配置信息,并判断安全芯片中没有存储有当前读取的配置信息,读卡器执行第二居民身份证的读卡流程,读取第二居民身份证的读卡流程与读取第一居民身份证的读卡流程相同,在此不再赘述。通过配置信息判断是否是二次读卡,并且在判断存储有与配置信息对应的身份证明文信息时,直接从安全芯片中获取加密的身份证明文信息,节约了二次读卡的时间。
在本实施例中,安全芯片可以只存储一个身份证的加密的身份证明文信息,例如,可以在安全芯片中设置一个存储空间,该存储空间用于存储加密的身份证明文信息,另外还可以设置一个存储空间用于存储配置信息。读卡器在检测到居民身份证时,读取该居民身份证的配置信息,如果该配置信息没有存储在安全芯片中,则清空安全芯片中配置信息的存储空间 及加密的身份证明文信息的存储空间中存储的信息,再将当前读取的配置信息保存到配置信息的存储空间,从而可以保证安全芯片中存储的配置信息与加密的身份证明文信息属于同一身份证。在执行后续的身份证读卡流程中,在获取到后台服务器解密得到的身份证明文信息后,再使用随机密钥对该身份证明文信息加密,然后保存到加密的身份证明文信息的存储空间。在接收到上位机(例如,银行前端的PC机)发送的读卡指令时,读卡器可以判断当前居民身份证的配置信息与安全芯片存储的配置信息是否一致,如果一致,则从安全芯片的加密的身份证明文信息的存储空间中取出加密的身份证明文信息,并利用随机密钥进行解密,解密后输出。
当然,安全芯片中也可以存储多个身份证的加密的身份证明文信息,例如,在存储加密的身份证明文信息时,将该加密的身份证明文信息与居民身份证的配置信息关联存储。读卡器在检测到居民身份证时,读取该居民身份证的配置信息,如果该配置信息没有存储在安全芯片中,则将当前读取的配置信息保存到配置信息的存储空间,在后续获取该居民身份证的身份证明文信息时,使用随机密钥进行加密,将加密后的身份证明文信息与该配置信息关联存储。在后续接收到上位机的读卡指令时,读卡器可以判断安全芯片中是否存储有当前居民身份证的配置信息,如果有,再进一步判断安全芯片中是否存储有与该配置信息关联的加密的身份证明文信息,如果有,则从安全芯片中取出该加密的身份证明文信息,并利用随机密钥进行解密,解密后输出。
作为本实施例的一种可选实施方式,在读卡器将加密后的身份证明文信息存储到安全芯片中之后,为了保证居民身份证信息的安全,如果读卡器在预定时间内没有检测到居民身份证,则清空安全芯片内存储的加密后的身份证明文信息。具体的,读卡器将加密后的身份证明文信息存储到安全芯片中之后,读卡器判断是否在预定时间内检测到居民身份证,当读卡器在预定时间内没有检测到居民身份证的情况下,读卡器清空安全芯片内存储的加密后的身份证明文信息。
作为本实施例的一种可选实施方式,在读卡器将加密后的身份证明文信息存储到安全芯片中之后,如果读卡器在预定时间内没有检测到居民身份证或读卡器执行关机操作前的情况下,读卡器删除随机密钥。具体的,读卡器将加密后的身份证明文信息存储到安全芯片中之后,读卡器判断是否在预定时间内检测到居民身份证,当读卡器在预定时间内没有检测到居民身份证的情况下,读卡器删除随机密钥。当然,读卡器将加密后的身份证明文信息存储到安全芯片中之后,读卡器执行关机操作时,读卡器删除随机密钥。在删除随机密钥后,即使该读卡器被非法获取,也无法对安全芯片中存储的加密的身份证明文信息进行解密,从而保 证了居民身份证信息的安全,进而使得安全芯片可以将加密的身份证明文信息存储到闪存(flash)中。
可选地,在本实施例中,居民身份证的配置信息及加密的身份证明文信息可以以缓存的方式存储到安全芯片中,根据缓存的特性,在读卡器下电后,自动清空存储的信息,从而可以保证居民身份证信息的安全。
通过本实施例提供的一种身份证读卡方法,在读卡器接收到读卡指令之前就读取并存储身份证的配置信息,当接收到读卡指令之后,读卡器不需要再读取身份证的配置信息,只需要读取身份证中存储的加密身份证信息,节约了读卡时间。另外,通过后台服务器解密获取身份证明文信息并存储在读卡器的安全芯片中,当办理业务需要多次读取身份证信息的情况下,从安全芯片中即可获取加密的身份证明文信息,不需要后台服务器多次解密,从而进一步减少了读卡时间。并且,在本实施例中,读卡器与后台服务器协商传输密钥,在信息交互过程中,使用协商的传输密钥对信息进行加密,保证了信息的传输安全。
实施例2
图2为本实施例提供的身份证读卡方法的流程示意图,如图2所示,本实施例提供的身份证读卡方法主要包括以下步骤(201-210)。
步骤201~205,与实施例1中步骤101~105相同,在此不再赘述。
步骤206:读卡器判断安全芯片中是否存储有与当前读取的配置信息对应的加密身份证信息;
在本实施例中,读卡器接收到读卡指令后,判断安全芯片中是否存储有与当前读取的配置信息对应的加密身份证信息,当安全芯片中存储有与当前读取的配置信息对应的加密身份证信息的情况下,执行步骤207;当安全芯片中没有存储有与当前读取的配置信息对应的加密身份证信息的情况下,执行步骤208。
步骤207:读卡器从安全芯片中获取该加密身份证信息;
在本实施例中,读卡器判断安全芯片中存储有与配置信息对应的加密身份证信息的情况下,读卡器从安全芯片中获取与该配置信息对应的身份证的加密身份证信息。
步骤208:读卡器执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中,且将该加密身份证信息与上述配置信息关联。
即在本实施例中,身份证的配置信息与加密身份证信息是关联存储的,因此,安全芯片中可以同时存储多张居民身份证的配置信息及加密身份证信息,将同一张居民身份证的配置 信息与加密身份证信息关联存储。
在本实施例中,读卡器判断安全芯片中没有存储有与当前读取的配置信息对应的加密身份证信息的情况下,读卡器需要执行读卡流程,读取第一居民身份证中存储的加密身份证信息,读卡器从第一居民身份证中读取加密身份证信息后,将读取的加密身份证信息存储在安全芯片中。
在本实施例中,读卡器中的安全芯片可以存储多个配置信息,在读卡器读取身份证的加密身份证信息后,读卡器需要将读取的加密身份证信息与步骤202中读取的配置信息关联存储,以便可以通过配置信息获取加密身份证信息。
步骤209-步骤210与实施例1中的步骤107和步骤108分别相同,在此不再赘述。
作为本实施例的一种可选实施方式,安全芯片中存储的加密身份证信息可以包括多个数据包,在步骤209中,读卡器采用第一传输密钥分别对配置信息、加密身份证信息的各个数据包分别进行加密,得到加密的多个数据包(即上述的传输密文),然后将多个加密数据包依次发送给后台服务器。具体的,读卡器读取第一居民身份证中的加密身份证信息后,将加密身份证信息分为多个数据包存储在读卡器的安全芯片中,当读卡器接收到读卡指令后,读卡器使用第一传输密钥分别对配置信息、加密身份证信息包括的多个数据包进行加密得到多个加密数据包,然后将多个加密数据包依次发送至后台服务器。通过将加密身份证信息分为多个数据包存储,方便后续传输出错时进行快速重传,不需要将所有加密身份证信息进行重传。
作为本实施例的一种可选实施方式,后台服务器在接收到读卡器发送的传输密文后,在使用第二传输密钥对各个加密数据包进行解密后,可以进一步检查接收到的加密身份证信息是否完整,如果不完整,则向后台服务器发送重传指令,指示哪些数据包需要重传。读卡器在接收到后台服务器发送的重传指令时,读卡器从安全芯片中获取重传指令指示需要重传的数据包,使用第一传输密钥对获取的数据包进行加密后重发给后台服务器。具体的,当加密身份证信息的一个或多个数据包传输至后台服务器出错时,后台服务器向读卡器发送重传指令,并在重传指令中指示需要重传的一个或多个数据包,读卡器接收到后台服务器发送的重传指令后,从安全芯片中获取重传指令指示的需要重传的数据包,使用第一传输密钥分别对获取的数据包进行加密,然后重发给后台服务器。在相关技术中,当后台服务器发现接收到的加密身份证信息出错时,指示读卡器,读卡器需要重新开始读卡流程,重新从居民身份证中读取完整的身份证信息,然后再发送给后台服务器,而本实施例中,后台服务器在检测到加密身份证信息传输出错时,确定通过重传指令指示读卡器需要重传的数据包,读卡器只需将需要重传的数据包重传给后台服务器即可,节约读取身份证的时间。
作为本实施例的一种可选实施方式,在读卡器将传输密文之后,为了保证居民身份证信息安全,读卡器在预定时间内没有检测到居民身份证,清空安全芯片内存储的居民身份证的配置信息及加密身份证信息。具体的,读卡器每间隔一段时间会向外发送寻卡指令,当读卡器将所述配置信息和加密身份证信息发送给后台服务器之后,读卡器在预定时间内没有检测到居民身份证,说明居民身份证已经不在读卡器能读取的范围内,读卡器中存储的加密身份证信息和配置信息不再需要,读卡器将清空安全芯片内存储的居民身份证的配置信息及加密身份证信息。通过在预定时间内检测居民身份证并清空安全芯片中存储的信息,可以节约安全芯片的存储空间,保证居民身份证信息的安全。
可选地,在本实施例中,居民身份证的配置信息及加密身份证信息可以以缓存的方式存储到安全芯片中,根据缓存的特性,在读卡器下电后,自动清空存储的信息,从而可以保证居民身份证信息的安全。
其它未尽事宜与实施例1相同,在此不再赘述。
通过本实施例提供的身份证读卡方法,在读卡器接收到读卡指令之前就读取并存储身份证的配置信息,当接收到读卡指令之后,读卡器不需要再读取身份证的配置信息,只需要读取身份证中存储的加密身份证信息,节约了读卡时间。另外,将居民身份证的加密身份证信息分为多个数据包存储在读卡器的安全芯片中,以便后台服务器通过重传指令指示读卡器需要重传的数据包时,读卡器只需将需要重传的数据包重传给后台服务器即可,进一步减少了读取身份证的时间。
实施例3
图3为本实施例提供的身份证读卡方法的流程示意图,如图3所示,本实施例提供的身份证读卡方法主要包括以下步骤(301-310)。
如图3所示,本实施例与实施例2中不同的是,为了节约存储空间,本实施例中读卡器的安全芯片中只存储一张居民身份证的配置信息和加密身份证信息。
与实施例2中不同的是,在步骤303中,读卡器在判断安全芯片中没有存储读取的配置信息的情况下,删除安全芯片中存储的配置信息和加密身份证信息,将读取的所述配置信息存储到所述安全芯片中。具体的,在读卡器判断安全芯片中没有存储步骤302中读取的配置信息的情况下,读卡器首先删除安全芯片中之前存储的配置信息和加密身份证信息,并将步骤302中读取的配置信息存储在读卡器的安全芯片中。
与实施例2中不同的是,在步骤308中,读卡器执行读卡流程时,读取第一居民身份证 中的加密身份证信息后,由于安全芯片中只存储有一张居民身份证的信息,因此,读卡器直接将读取的加密身份证信息存储在安全芯片中,而无需与配置信息关联。具体的,读卡器判断安全芯片中之前没有存储当前读取的配置信息情况下,读卡器需要执行读卡流程,读取第一居民身份证中存储的加密身份证信息,读卡器从第一居民身份证中读取加密身份证信息后,将读取的加密身份证信息存储在安全芯片中。与实施例2中不同的是,读卡器不需要将步骤302中读取的配置信息与步骤308中存储的加密身份证信息关联存储。
作为本实施例的一种可选实施方式,安全芯片中存储的加密身份证信息也可以包括多个数据包,在步骤309中,读卡器采用第一传输密钥分别对配置信息、加密身份证信息的各个数据包分别进行加密,得到加密的多个数据包(即上述的传输密文),然后将多个加密数据包依次发送给后台服务器。通过将加密身份证信息分为多个数据包存储,方便后续传输出错时进行快速重传,不需要将所有加密身份证信息进行重传。
作为本实施例的一种可选实施方式,后台服务器在接收到读卡器发送的传输密文后,在使用第二传输密钥对各个加密数据包进行解密后,可以进一步检查接收到的加密身份证信息是否完整,如果不完整,则向后台服务器发送重传指令,指示哪此数据包需要重传。读卡器在接收到后台服务器发送的重传指令时,读卡器从安全芯片中获取重传指令指示需要重传的数据包,使用第一传输密钥对获取的数据包进行加密后重发给后台服务器。具体的,当加密身份证信息的一个或多个数据包传输至后台服务器出错时,后台服务器向读卡器发送重传指令,并在重传指令中指示需要重传的一个或多个数据包,读卡器接收到后台服务器发送的重传指令后,从安全芯片中获取重传指令指示的需要重传的数据包,使用第一传输密钥对获取的数据包进行加密,然后重发给后台服务器。后台服务器通过重传指令指示读卡器需要重传的数据包,读卡器只需将需要重传的数据包重传给后台服务器即可,节约读取身份证的时间。
在该实施例中,可以在安全芯片中分配两个存储空间,即配置信息存储空间和加密身份证存储空间,将同一张居民身份证的配置信息存储到配置信息存储空间,加密身份证信息存储到加密身份证存储空间,在检测到有居民身份证时,首先读取该居民身份证的配置信息,如果该居民身份证的配置信息没有存储在安全芯片中,则清空配置信息存储空间和加密身份证存储空间存储的信息,再将当前读取的配置信息存储到配置信息存储空间,后续执行读卡流程从居民身份证中读取到加密身份证信息后,将加密身份证信息存储到加密身份证存储空间存储。如果该居民身份证的配置信息存储在安全芯片中,则在接收到读卡指令时,直接从安全芯片加密身份证存储空间中获取加密身份证信息。采用这种方式,可以确保之前使用的居民身份证信息的安全,避免居民身份证信息被非法使用。
可选地,在本实施例中,居民身份证的配置信息及加密身份证信息可以以缓存的方式存储到安全芯片中,根据缓存的特性,在读卡器下电后,自动清空存储的信息,从而可以保证居民身份证信息的安全。
通过本实施例提供的身份证读卡方法,在读卡器接收到读卡指令之前就读取并存储身份证的配置信息,当接收到读卡指令之后,读卡器不需要再读取身份证的配置信息,只需要读取身份证中存储的加密身份证信息,节约了读卡时间。另外,在读卡器读取身份证中存储的加密身份证信息之前,判断安全芯片中是否存储有与配置信息对应的加密身份证信息,可以避免重复从身份证中读取加密身份证信息,加快了读卡速度。另外,通过将加密身份证信息分为多个数据包,以便后台服务器通过重传指令指示读卡器需要重传的数据包时,读卡器只需将需要重传的数据包重传给后台服务器即可,进一步减少了读取身份证的时间。另外,读卡器中的安全芯片中只需要设置有存储一张居民身份证的配置信息和加密身份证信息的存储空间,在节约了安全芯片的存储空间的同时,保证了居民身份证信息的安全性。
实施例4
本实施例提供了一种身份证读卡系统。
图4为本实施例提供的身份证读卡系统的结构示意图,如图4所示,本实施例提供的身份证读卡系统包括:读卡器100和后台服务器110。在本实施例,读卡器100为未设置有SAM模块的读卡器,且读卡器100中设置有安全芯片,用于存储居民身份证的相关信息。
在本实施例中,读卡器100,用于接收到第一居民身份证返回的寻卡响应指令,读取第一居民身份证的配置信息,并判断读卡器100的安全芯片中是否存储有配置信息,在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中;读卡器100,还用于接收到读卡指令,与后台服务器110进行协商得到第一传输密钥;后台服务器110,用于与读卡器100进行协商,得到第二传输密钥;读卡器100,还用于获取居民身份证中存储的加密身份证信息,使用第一传输密钥对配置信息和加密身份证信息进行加密,得到传输密文,并将传输密文发送给后台服务器110;后台服务器110,还用于接收传输密文,并使用第二传输密钥对传输密文进行解密,得到配置信息和加密身份证信息。
通过本实施例提供的身份证读卡系统,读卡器在检测到可读范围内存在有居民身份证时,就直接读取居民身份证的配置信息,在接收到读卡指令后,只需获取居民身份证中存储的加密身份证信息,而不需要再读取配置信息,从而可以节约读卡时间,提高用户体验。并且,在本实施例中,读卡器与后台服务器之间协商传输密钥,在交互过程中,通过协商的传输密 钥对传输的数据进行加密,可以进一步保证信息的传输安全。
在本发明实施例的一个可选实施方案中,读卡器100和后台服务器110协商获取传输密钥包括但不限于以下两种实施方式:
实施方式一
在该实施方式中,读卡器100,用于将传输密钥生成请求发送至后台服务器110;后台服务器110,用于接收到传输密钥生成请求后,生成第一随机因子,并将第一随机因子发送至读卡器100;读卡器100,还用于接收到第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将第一认证数据发送至后台服务器110,其中,第一待签名数据至少包括第一随机因子,第一认证数据至少包括第一签名数据和读卡器100的数字证书;后台服务器110,还用于接收到第一认证数据后,对读卡器100的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则生成第二随机因子,基于第一随机因子和第二随机因子生成第三随机因子,并基于第三随机因子计算得到第二传输密钥;后台服务器110,还用于利用读卡器100的公钥对第三随机因子进行加密生成第二待签名数据,对第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至读卡器100,其中,第二认证数据至少包括:第二待签名数据、第二签名数据和后台服务器110的数字证书;读卡器100,还用于接收到第二认证数据后,对后台服务器110的数字证书的合法性进行验证;在验证通过后,对第二签名数据进行验签;若验签通过,则利用读卡器100的私钥对第二待签名数据进行解密操作,获得第三随机因子,并基于第三随机因子计算得到第一传输密钥。
通过该实施方式提供的传输密钥的协商方案,可以在读卡器与后台服务器之间建立安全通道,利用传输密钥对在安全通道中传输的数据加密,提高了数据传输的安全性。而且,读卡器接收到后台服务器发送的第一随机因子后,立即利用自身私钥对第一随机因子进行签名后回传至服务器,从而使得后台服务器能够在最短的时间内接收到读卡器回传的第一认证数据并进行认证,提高了后台服务器对读卡器的认证效率,从而在读卡器与后台服务器相互认证的初始阶段,后台服务器即判定读卡器是否合法,若不合法则立即结束流程,快速判断出受到重放攻击,进而断开与非法读卡器的连接,避免不法交易对后台服务器的资源占用。
实施方式二
在该实施方式中,读卡器100,还用于将传输密钥生成请求发送至后台服务器110;后台服务器110,用于接收到传输密钥生成请求后,生成第一随机因子,并将第一认证数据发送 至读卡器100,其中,第一认证数据至少包括:第一随机因子和后台服务器110的数字证书;读卡器100,还用于接收到第一认证数据后,对后台服务器110的数字证书的合法性进行验证;以及在验证通过后,生成第二随机因子,利用后台服务器110的数字证书中的后台服务器110的公钥对第二随机因子进行加密操作,生成第一加密数据;读卡器100,还用于对第一随机因子和第一加密数据进行签名,生成第一签名数据,将第二认证数据发送至后台服务器110,并基于第二随机因子计算得到第一传输密钥,其中,第二认证数据至少包括:第一加密数据、第一签名数据和读卡器100的数字证书;后台服务器110,还用于接收第二认证数据,对读卡器100的数字证书的合法性进行验证;在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则利用后台服务器110的私钥对第一加密数据进行解密,获得第二随机因子,并基于第二随机因子计算得到第二传输密钥。
通过该实施方式提供的传输密钥的协商方案,可以在读卡器与后台服务器之间建立安全通道,利用传输密钥对在安全通道中传输的数据加密,提高了数据传输的安全性。
在本发明实施例的一个可选实施方案中,读卡器100通过以下方式获取居民身份证中存储的加密身份证信息:判断安全芯片中是否存储有与配置信息对应的加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中,且将加密身份证信息与配置信息关联。通过该可选实施方式,可以同时在安全芯片中存储多张居民身份证的身份信息。
在本发明实施例的一个可选实施方案中,读卡器100还用于在判断安全芯片中没有存储配置信息的情况下,将配置信息存储到安全芯片中时,清空安全芯片存储的加密身份证信息;读卡器100通过以下方式获取居民身份证中存储的加密身份证信息:判断安全芯片中是否存储有加密身份证信息;在判断安全芯片中存储有加密身份证信息的情况下,从安全芯片中获取加密身份证信息;在判断安全芯片中没有存储加密身份证信息的情况下,执行读卡流程,读取第一居民身份证中的加密身份证信息,将读取的加密身份证信息存储在安全芯片中。
通过该可选实施方式,安全芯片中仅存储一张居民身份证的相关信息,可以节约存储空间,提高身份证信息的安全。
在本发明实施例的一个可选实施方案中,安全芯片存储的加密身份证信息包括多个数据包;读卡器100通过以下方式对配置信息和加密身份证信息进行加密得到传输密文:使用第一传输密钥分别对配置信息、以及加密身份证信息包括的各个数据包进行加密,得到多个加密数据包。通过该可选实施方式,将加密身份证信息分为多个数据包传输给后台服务器,在 接收到后台服务器的重传指令时,不需要重新读取居民身份证中存储的信息,进而进而可以节约读卡时间,提高用户体验。
在本发明实施例的一个可选实施方案中,后台服务器110还用于判断是否接收到完整的加密身份证信息,在没有接收到完整的加密身份证信息的情况下,向读卡器100发送重传指令;读卡器100还用于接收到后台服务器110发送的指示需要重传加密身份证信息的重传指令,从安全芯片中获取重传指令指示需要重传的数据包,使用第一传输密钥对需要重传的数据包进行加密后重发给后台服务器110。在该可选实施方式中,在重传时,读卡器100不需要重新读取居民身份证中存储的信息,而只需要从安全芯片中获取需要重传的数据包,节约了流程和读卡时间,提高了重传效率。
在本发明实施例的一个可选实施方案中,读卡器100还用于在将传输密文发送给后台服务器110之后,在预定时间内没有检测到居民身份证,清空安全芯片内存储的居民身份证的配置信息及加密身份证信息。通过该可选实施方式,可以及时删除安全芯片中存储的居民身份证的相关信息,保证了信息的安全。
在本发明实施例的一个可选实施方案中,后台服务器110还用于获取加密身份证信息的身份证明文信息,使用第二传输密钥对身份证明文信息进行加密,并将加密的身份证明文信息发送给读卡器100;读卡器100,还用于接收加密的身份证明文信息,并使用第一传输密钥进行解密,得到身份证明文信息;读卡器100,还用于产生一个随机密钥,使用随机密钥对身份证明文信息进行加密,将加密后的身份证明文信息存储到安全芯片中。通过该可选实施方案,读卡器100在获取后台服务器110返回的身份证明文信息后,通过一个随机密钥对该身份证明文信息进行加密存储,在后续需要读取同一居民身份证时,可以直接从安全芯片中获取该身份证明文信息,节约了读卡流程,提高了读卡效率。
在本发明实施例的一个可选实施方案中,读卡器100还用于接收到第二居民身份证返回的寻卡响应指令,读取第二居民身份证的配置信息,并判断安全芯片内是否存储有当前读取的配置信息;以及在接收到与之连接的终端的读卡指令后,在判断安全芯片内存储有当前读取的配置信息的情况下,判断安全芯片内是否存储有加密后的身份证明文信息;在判断安全芯片内存储有加密后的身份证明文信息的情况下,获取安全芯片内存储的加密后的身份证明文信息,并采用随机密钥对加密后的身份证明文信息进行解密,输出解密后的身份证明文信息。通过该可选实施方案,在接收到读卡指令时,先查询安全芯片中是否存储有该居民身份证的身份证明文信息,在没有存储的情况下,可以进一步判断安全芯片中是否存储有该居民身份证的加密身份证信息,在判断有的情况下,从安全芯片中获取该加密身份证信息,如果 没有存储该加密身份证信息,再从居民身份证中读取该加密身份证信息。而在判断安全芯片中存储有该居民身份证的身份证明文信息的情况下,直接获取该身份证明文信息并输出,从而可以提高身份证的读卡效率,节约时间。
在本发明实施例的一个可选实施方案中,为了保证居民身份证信息的安全,读卡器100在预定时间内没有检测到居民身份证,清空安全芯片内存储的加密后的身份证明文信息;和/或,读卡器100还用于在预定时间内没有检测到居民身份证或所执行关机操作前的情况下,删除随机密钥。
在本发明实施例的一个可选实施方案中,后台服务器110通过以下方式对第一签名数据进行验签:利用第一随机因子和读卡器100的数字证书中的读卡器100的公钥对第一签名数据进行验签操作;读卡器100通过以下方式对第二签名数据进行验签:读卡器100利用加密数据和后台服务器110的数字证书中的后台服务器110的公钥对第二签名数据进行验签操作。
在本发明实施例的一个可选实施方案中,第一待签名数据还包括:读卡器100的第一身份标识,第一认证数据还包括:读卡器100的第二身份标识。
在本发明实施例的一个可选实施方案中,读卡器100的第一身份标识包括:读卡器100序列号和/或读卡器100证书号,读卡器100的第二身份标识包括:读卡器100序列号和/或读卡器100证书号;其中,读卡器100序列号与读卡器100证书号具备映射关系,且后台服务器110存储有映射关系。
在本发明实施例的一个可选实施方案中,后台服务器110通过以下方式对第一签名数据进行验签:后台服务器110利用第一随机因子、第二身份标识和读卡器100的数字证书中的读卡器100的公钥对第一签名数据进行验签操作。
实施例5
本实施例提供了一种在读卡过程中读卡器与服务器协商传输密钥的方案。本实施例主要对读卡器与服务器协商传输密钥的流程进行说明,具体的读卡流程可以参见上述实施例,在此不再赘述。
该方案主要包括以下步骤(501-513)。
步骤501、未设置有SAM(居民身份证验证安全控制)模块的读卡器接收到读卡指令,将传输密钥生成请求发送至后台服务器;
在本实施例中,未设置有SAM模块的读卡器可以为未设置有SAM模块的身份证读卡器,用于读取身份证信息,为了便于描述,在下文中称为读卡器,该读卡器可以具有接收读卡指 令的按键、触摸屏等输入装置,当用户输入读卡指令时,读卡器接收到读卡指令,读卡器也可以具有对外通信接口,该通信接口与终端连接,接收终端发送的读卡指令,终端可以为具有进行通讯发送指令的PC机、PAD(平板电脑)、智能手机、智能可穿戴设、电子签名设备(例如工行U盾、农行K宝等)等设备。此外,SAM模块是现有身份证读卡器设置的一个模块,SAM模块仅用于对身份证读卡器读取的居民身份证信息进行身份验证。
步骤502、后台服务器接收到传输密钥生成请求后,生成第一随机因子,并将第一随机因子发送至读卡器;
在本实施例中,第一随机因子为单次认证数据,可以包括随机数和/或随机事件,在此不做限制。该第一随机因子也可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机组合的任意组合。后台服务器每次生成的第一随机因子都是随机生成的,与上一次生成的第一随机因子是不同的,可以防止重放攻击,提高了安全性。
步骤503、读卡器接收到第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将第一认证数据发送至后台服务器,其中,第一待签名数据至少包括第一随机因子,第一认证数据至少包括第一签名数据和读卡器的数字证书;
在本实施例中,读卡器中设置有安全芯片,该安全芯片(如国民技术股份有限公司的Z8D64U(国密批号SSX43)、Z32(国密批号SSX20))内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,保护商业隐私和数据安全。在本实施例中,读卡器利用读卡器的私钥至少对接收到的第一随机因子进行签名操作,生成第一签名数据,并至少将包含读卡器公钥的读卡器数字证书和第一签名数据一同发送至后台服务器,以便后台服务器对读卡器的合法性进行验证,保证了交易的合法性与安全性;读卡器接收到后台服务器发送的第一随机因子后,除了进行本步骤中的操作外,不进行其他任何操作,从而使得后台服务器能够在最短的时间内接收到读卡器回传的第一认证数据并进行认证,提高了后台服务器对读卡器的认证效率。
在本实施例的一个可选实施方式中,第一待签名数据还包括:所述读卡器的第一身份标识,所述第一认证数据还包括:所述读卡器的第二身份标识。读卡器的身份标识为读卡器的唯一标识信息,服务器能够根据读卡器的身份标识定位识别该读卡器,并获取读卡器的出厂信息、历史读卡信息、历史错误信息、历史举报信息和历史交易信息等信息。其中,第一身份标识和第二身份标识可以为同一类型的身份标识信息,也可以为不同类型的身份标识信息。进一步地,所述读卡器的第一身份标识包括:读卡器序列号和/或读卡器证书号,所述读卡器 的第二身份标识包括:所述读卡器序列号和/或所述读卡器证书号;其中,所述读卡器序列号与所述读卡器证书号具备映射关系,后台服务器存储有电子签名设备序列号与电子签名设备证书号具备映射关系,以便于后台服务器利用收到到的电子签名设备序列号或电子签名设备证书号实现风险管理。
后台服务器接收到读卡器序列号后,能够通过查询读卡器序列号与读卡器证书号的映射关系,获取读卡器证书号,反之亦然,通过读卡器序列号和/或读卡器证书号,后台服务器能够定位识别该读卡器,并获取读卡器的出厂信息、历史读卡信息、历史错误信息、历史举报信息和历史交易信息等信息,从而实现对由该读卡器产生的数据传输的风险控制管理。
步骤504、后台服务器接收到第一认证数据后,对读卡器的数字证书的合法性进行验证;
在具体实施时,后台服务器可以利用根证书对接收到的读卡器的数字证书进行验证,以防止非法分子篡改读卡器的公钥,实现对读卡器的安全认证,提高双方交互的安全性。后台服务器从认证中心(Certificate Authority,简称CA)下载根证书,根证书是CA与用户建立信任关系的基础。如果验证通过,则继续后续流程,如果验证不通过,则结束流程,此时,后台服务器与读卡器的连接断开,后台服务器不会再向读卡器发送数据,从而使得后台服务器不会受到非法攻击。
步骤505、在验证通过后,对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则执行步骤506;
在本实施例中,后台服务器对第一签名数据进行验签,包括:后台服务器利用第一随机因子以及读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签,具体验签方式为现有技术,此处不再赘述。
在本实施例中,如果验签通过,表明第一签名数据是由合法读卡器进行签名的,更进一步实现对读卡器的安全认证;如果验签不通过,则结束流程,此时,后台服务器与读卡器的连接断开,后台服务器不会再向读卡器发送数据,从而使得后台服务器不会受到非法攻击。
本实施例中,从步骤501后台服务器接收到传输密钥生成请求与读卡器建立连接开始,到步骤505中当验签不通过,结束流程,后台服务器断开与读卡器的连接,此过程耗时非常短暂,后台服务器可迅速判断读卡器的签名数据错误,释放与读卡器的连接通道,因此,当重放攻击设备伪装为读卡器时,在后台服务器受到重放攻击的情况下,可迅速断开与重放攻击设备的连接通道,减轻重放攻击对后台服务器的占用。并且现在技术中,将防止重放攻击的验签步骤放在整个建立安全通道生成传输密钥的流程的中间部分甚至靠后部分,无法快速判断是否受到重复攻击,由于验签步骤比较靠后,即使受到重复攻击,也不能很快判断出来, 只能继续后续生成传输密钥的步骤,而本发明实施例中验签步骤在整个流程的最开始,能够在第一时间就验证出读卡器身份的不合法后,终止后续的操作,快速判断出受到重放攻击,进而断开与非法读卡器的连接,保证后台服务器的安全。
在本实施例的一个可选实施方式中,后台服务器对第一签名数据进行验签操作,包括:后台服务器利用第一随机因子和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作。使用读卡器的数字证书中的读卡器的公钥进行验签操作,保障了在后台服务器没有预存电子签名工具的数字证书的情况下,也可完成验签操作。
在本实施例的一个可选实施方式中,当第一待签名数据中包括第一身份标识,第一认证数据中包括第二身份标识时,后台服务器对第一签名数据进行验签操作包括:后台服务器利用第一随机因子、第二身份标识和读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签操作。待签名数据中包括第一身份标识,可以使验签结果更加准确可靠,后台服务器再收到第二身份标识后,也可根据第二身份标识进行风险控制管理。
在本实施例中,如果验签通过,表明第一签名数据是由合法读卡器进行签名的,更进一步实现对读卡器的安全认证;如果验签不通过,则结束流程,此时,服务器与读卡器的连接断开,后台服务器不会再向读卡器发送数据,从而使得后台服务器不会受到非法攻击。
步骤506、若验签通过,则后台服务器生成第二随机因子,并基于第一随机因子和第二随机因子生成第三随机因子;
在本实施例的一个可选实施方式中,第二随机因子为单次认证数据,可以包括随机数和/或随机事件。该第二随机因子也可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机组合的任意组合。
在本实施例的一个可选实施方式中,后台服务器生成第二随机因子后,基于第一随机因子和第二随机因子生成第三随机因子,生成算法可以采取多种方式,例如拼接算法、差分算法、插位算法等,例如,第一随机因子和第二随机因子均为N位,优选地,为提高第三随机因子的生成效率,将第一随机因子和第二随机因子进行首尾拼接生成2N位的第三随机因子,或,将第一随机因子中的前X位和第二随机因子中的后Y位进行拼接,生成X+Y位的第三随机因子,其中,1≤X≤N,1≤Y≤N。在通过后续步骤中的一系列验证后,后台服务器和读卡器均可以利用该第三随机因子采用相同的算法生成传输密钥。
步骤507、后台服务器基于第三随机因子计算得到第二传输密钥;
在本实施例中,后台服务器可以利用该第三随机因子采用与读卡器侧相同的算法生成传输密钥,以保证读卡器与后台服务器利用该传输密钥进行信息交互,通过该传输密钥对传输 过程中的数据进行加解密,以保证传输数据的安全性。该步骤507与后续步骤508~步骤512不分先后顺序。
步骤508、后台服务器利用读卡器的公钥对第三随机因子进行加密生成第二待签名数据,对第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至读卡器,其中,第二认证数据至少包括:第二待签名数据、第二签名数据和后台服务器的数字证书;
在本实施例中,后台服务器利用读卡器公钥对第三随机因子进行加密操作,生成第二待签名数据,也就是说,第三随机因子仅能够利用读卡器私钥解密获得,保证了第三随机因子的安全性;后台服务器将自身数字证书发送至读卡器,以便读卡器对后台服务器的合法性进行验证,保证了交易的合法性与安全性。
步骤509、读卡器接收到第二认证数据后,对后台服务器的数字证书的合法性进行验证;
在具体实施时,读卡器可以利用根证书对接收到的后台服务器的数字证书进行验证,以防止非法分子篡改后台服务器的公钥,实现对后台服务器的安全认证,提高双方交互的安全性。读卡器从认证中心(Certificate Authority,简称CA)下载根证书,根证书是CA与用户建立信任关系的基础。
步骤510、在验证通过后,对第二签名数据进行验签,如果验签通过,则执行步骤511;
在本实施例的一个可选实施方式中,读卡器对第二签名数据进行验签,包括:读卡器利用第二待签名数据和后台服务器的数字证书中的后台服务器的公钥对第二签名数据进行验签操作。使用后台服务器的数字证书中的后台服务器的公钥进行验签操作,保障了在读卡器没有预存后台服务器的数字证书的情况下,也可完成验签操作。进一步地,如果第二签名数据的验签无法通过,则结束流程,此时,读卡器与后台服务器的连接断开,读卡器不会再向后台服务器发送数据,从而使得读卡器不会受到非法后台服务器的攻击。
步骤511、若验签通过,则读卡器利用读卡器的私钥对第二待签名数据进行解密操作,获得第三随机因子;
步骤512、读卡器基于第三随机因子计算得到第一传输密钥;
在本实施例中,读卡器可以利用该第三随机因子采用与后台服务器侧相同的算法生成传输密钥,以保证后台服务器与读卡器之间可以通过该传输密钥进行信息交互,通过该传输密钥对传输过程中的数据进行加解密,以保证传输数据的安全性。
作为本实施例中一种可选的实施方式,第一传输密钥和第二传输密钥可以为相同的传输密钥,即对称密钥,读卡器和后台服务器分别利用该对称密钥对传输的数据加解密;也可以为一组包括加密密钥和解密密钥的密钥对,读卡器和后台服务器可以分别利用其中的加密密 钥对传输数据加密,利用其中的解密密钥对传输数据解密。
步骤513、读卡器利用第一传输密钥对读卡器与后台服务器之间传输的数据进行加解密,后台服务器利用第二传输密钥对读卡器与后台服务器之间传输的数据进行加解密;
通过本实施例提供的身份证信息安全传输的方法,可以在读卡器与后台服务器之间建立安全通道,利用传输密钥对在安全通道中传输的数据加密,提高了数据传输的安全性。而且,读卡器接收到后台服务器发送的第一随机因子后,立即利用自身私钥对第一随机因子进行签名后回传至服务器,从而使得后台服务器能够在最短的时间内接收到读卡器回传的第一认证数据并进行认证,提高了后台服务器对读卡器的认证效率,从而在读卡器与后台服务器相互认证的初始阶段,后台服务器即判定读卡器是否合法,若不合法则立即结束流程,快速判断出受到重放攻击,进而断开与非法读卡器的连接,避免不法交易对后台服务器的资源占用。
实施例6
本实施例提供了一种在读卡过程中读卡器与服务器协商传输密钥的方案。本实施例主要对读卡器与服务器协商传输密钥的流程进行说明,具体的读卡流程可以参见上述实施例,在此不再赘述。
该方案主要包括以下步骤(601-614)。
步骤601:未设置有SAM(居民身份证验证安全控制)模块的读卡器接收到读卡指令,将传输密钥生成请求发送至后台服务器;
在本实施例中,未设置有SAM模块的读卡器可以为未设置有SAM模块的身份证读卡器,用于读取身份证信息,为了便于描述,在下文中称为读卡器,该读卡器可以具有接收读卡指令的按键装置、触摸屏等输入装置,当用户输入读卡指令时,读卡器接收到读卡指令,读卡器也可以具有对外通信接口,该通信接口与终端连接,接收终端发送的读卡指令,终端可以为具有进行通讯发送指令的PC机、PAD(平板电脑)、智能手机、智能可穿戴设、电子签名设备(例如工行U盾、农行K宝等)等设备。此外,SAM模块是现有身份证读卡器设置的一个模块,SAM模块仅用于对身份证读卡器读取的居民身份证信息进行身份验证。
步骤602:后台服务器接收到传输密钥生成请求后,生成第一随机因子;
在本实施例中,第一随机因子为单次认证数据,可以包括随机数和/或随机事件,在此不做限制。该第一随机因子也可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机组合的任意组合。后台服务器每次生成的第一随机因子都是随机生成的,与上一次生成的第一随机因子是不同的,可以防止重放攻击,提高了安全性。
步骤603:后台服务器将第一认证数据发送至读卡器,其中,第一认证数据至少包括:第一随机因子和后台服务器的数字证书;
本实施例中,将后台服务器的数字证书发送至读卡器,以使读卡器对数字证书进行验证,以确认后台服务器的证书是否合法;将第一随机因子发送至读卡器,以使读卡器对该第一随机因子进行签名,后台服务器再通过该第一随机因子对签名进行验签,以使后台服务器确认读卡器的身份安全,并且能够防止重放攻击。
步骤604:读卡器接收到第一认证数据后,对后台服务器的数字证书的合法性进行验证,如果验证通过,则执行步骤605,否则,结束流程;
在本实施例中,读卡器中设置有安全芯片,该安全芯片(如国民技术股份有限公司的Z8D64U(国密批号SSX43)、Z32(国密批号SSX20))内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,保护商业隐私和数据安全。在具体实施时,读卡器可以利用根证书对接收到的后台服务器的数字证书进行验证,以防止非法分子篡改后台服务器的公钥,实现对后台服务器的安全认证,提高双方交互的安全性。读卡器从认证中心(Certificate Authority,简称CA)下载根证书,根证书是CA与用户建立信任关系的基础。如果验证通过,则继续后续流程,如果验证不通过,则结束流程,此时,后台服务器与读卡器的连接断开,读卡器不会再向后台服务器发送数据,从而使得读卡器不会受到非法后台服务器的攻击。
步骤605:在验证通过后,读卡器生成第二随机因子;
在本实施例中,第二随机因子为单次认证数据,可以包括随机数和/或随机事件。该第二随机因子也可以为一个或一串随机数,或者可以为一个或一串随机字符,或者一串随机数和随机组合的任意组合。
在通过后续步骤中的一系列验证后,后台服务器和读卡器均可以利用该第二随机因子采用相同的算法生成传输密钥。
步骤606:读卡器利用后台服务器的数字证书中的后台服务器的公钥对第二随机因子进行加密操作,生成第一加密数据;
在本实施例中,读卡器和后台服务器均基于第二随机因子计算传输密钥,因此,对第二随机因子加密可以保证第二随机因子不被窃取,从而保证读卡器在将第二随机因子传输至后台服务器的过程中的安全性,进而保证读卡器与后台服务器生成传输密钥的安全性及可靠性。
步骤607:读卡器对第一随机因子和第一加密数据进行签名,生成第一签名数据;
在本实施例中,读卡器将第一随机因子和第一加密数据合并后进行签名,可以使验签结 果更加准确可靠。
步骤608:读卡器将第二认证数据发送至后台服务器,其中,第二认证数据至少包括:第一加密数据、第一签名数据和读卡器的数字证书;
本实施例中,将读卡器的数字证书发送至后台服务器,以使后台服务器对数字证书进行验证,以确认读卡器的证书是否合法;将第一加密数据发送至后台服务器,以使后台服务器利用该第一加密数据对第一签名数据进行验签,以确认读卡器的身份安全。
步骤609:后台服务器接收第二认证数据,对读卡器的数字证书的合法性进行验证;
在具体实施时,后台服务器可以利用根证书对接收到的读卡器的数字证书进行验证,以防止非法分子篡改读卡器的公钥,实现对读卡器的安全认证,提高双方交互的安全性。后台服务器从认证中心(Certificate Authority,简称CA)下载根证书,根证书是CA与用户建立信任关系的基础。如果验证通过,则继续后续流程,如果验证不通过,则结束流程。此时,后台服务器与读卡器的连接断开,后台服务器不会再向读卡器发送数据,从而使得后台服务器不会受到非法读卡器的攻击。
步骤610:在验证通过后,后台服务器对第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则执行步骤611;
在本实施例中,后台服务器对第一签名数据进行验签,包括:后台服务器利用第一加密数据以及读卡器的数字证书中的读卡器的公钥对第一签名数据进行验签,具体验签方式为现有技术,此处不再赘述。
在本实施例中,如果验签通过,表明第一签名数据是由读卡器进行签名的,更进一步实现对读卡器的安全认证;如果验签不通过,则结束流程,此时,后台服务器与读卡器的连接断开,后台服务器不会再向读卡器发送数据,从而使得后台服务器不会受到非法读卡器的攻击。
步骤611:后台服务器利用后台服务器的私钥对第一加密数据进行解密,获得第二随机因子;
步骤612:后台服务器基于第二随机因子计算得到第二传输密钥;
在本实施例中,后台服务器可以利用该第二随机因子采用与读卡器侧相同的算法生成传输密钥,以保证后台服务器与读卡器之间可以通过该传输密钥进行信息交互,通过该传输密钥对传输过程中的数据进行加解密,以保证传输数据的安全性。
作为本实施例中一种可选的实施方式,第一传输密钥和第二传输密钥可以为相同的传输密钥,即对称密钥,读卡器和后台服务器分别利用该对称密钥对传输的数据加解密;也可以 为一组包括加密密钥和解密密钥的密钥对,读卡器和后台服务器可以分别利用其中的加密密钥对传输数据加密,利用其中的解密密钥对传输数据解密。
步骤613:读卡器基于第二随机因子计算得到第一传输密钥;
在本实施例中,读卡器可以利用该第二随机因子采用与后台服务器侧相同的算法生成传输密钥,以保证后台服务器与读卡器之间可以通过该传输密钥进行信息交互,通过该传输密钥对传输过程中的数据进行加解密,以保证传输数据的安全性。该步骤613与步骤608~步骤612不分先后顺序。
步骤614:读卡器利用第一传输密钥对读卡器与后台服务器之间传输的数据进行加解密,后台服务器利用第二传输密钥对读卡器与后台服务器之间传输的数据进行加解密。
通过本实施例提供的身份证信息安全传输的方法,可以在读卡器与后台服务器之间建立安全通道,利用传输密钥对在安全通道中传输的数据加密,提高了数据传输的安全性。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

Claims (10)

1.一种身份证读卡方法,其特征在于,所述方法包括:
读卡器接收到第一居民身份证返回的寻卡响应指令;
所述读卡器读取所述第一居民身份证的配置信息;
所述读卡器判断安全芯片中是否存储有所述配置信息,在判断所述安全芯片中没有存储所述配置信息的情况下,将所述配置信息存储到所述安全芯片中;
所述读卡器接收到读卡指令;
所述读卡器与后台服务器进行协商,所述读卡器得到第一传输密钥,所述后台服务器得到第二传输密钥;
所述读卡器获取所述居民身份证中存储的加密身份证信息;
所述读卡器使用所述第一传输密钥对所述配置信息和所述加密身份证信息进行加密,得到传输密文,将所述传输密文发送给所述后台服务器;
所述后台服务器接收所述传输密文,并使用所述第二传输密钥对所述传输密文进行解密,得到所述配置信息和所述加密身份证信息。
2.根据权利要求1所述的方法,其特征在于,所述读卡器与后台服务器进行协商,所述读卡器得到第一传输密钥,所述后台服务器得到第二传输密钥,包括:
所述读卡器将传输密钥生成请求发送至所述后台服务器;
所述后台服务器接收到所述传输密钥生成请求后,生成第一随机因子,并将所述第一随机因子发送至所述读卡器;
所述读卡器接收到所述第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将第一认证数据发送至所述后台服务器,其中,所述第一待签名数据至少包括所述第一随机因子,所述第一认证数据至少包括所述第一签名数据和所述读卡器的数字证书;
所述后台服务器接收到所述第一认证数据后,对所述读卡器的数字证书的合法性进行验证;在验证通过后,对所述第一签名数据进行验签;若验签不通过,则结束流程;
若验签通过,则所述后台服务器生成第二随机因子,基于所述第一随机因子和所述第二随机因子生成第三随机因子,并基于所述第三随机因子计算得到所述第二传输密钥;
所述后台服务器利用所述读卡器的公钥对所述第三随机因子进行加密生成第二待签名数据,对所述第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至所述读卡器,其中,所述第二认证数据至少包括:所述第二待签名数据、所述第二签名数据和所述后台服务器的数字证书;
所述读卡器接收到所述第二认证数据后,对所述后台服务器的数字证书的合法性进行验证;在验证通过后,对所述第二签名数据进行验签;若验签通过,则所述读卡器利用所述读卡器的私钥对所述第二待签名数据进行解密操作,获得所述第三随机因子,并基于所述第三随机因子计算得到所述第一传输密钥。
3.根据权利要求1所述的方法,其特征在于,所述读卡器与后台服务器进行协商,所述读卡器得到第一传输密钥,所述后台服务器得到第二传输密钥,包括:
所述读卡器将传输密钥生成请求发送至所述后台服务器;
所述后台服务器接收到所述传输密钥生成请求后,生成第一随机因子,并将第一认证数据发送至所述读卡器,其中,所述第一认证数据至少包括:所述第一随机因子和所述后台服务器的数字证书;
所述读卡器接收到所述第一认证数据后,对所述后台服务器的数字证书的合法性进行验证;在验证通过后,所述读卡器生成第二随机因子,利用所述后台服务器的数字证书中的所述后台服务器的公钥对所述第二随机因子进行加密操作,生成第一加密数据;
所述读卡器对所述第一随机因子和所述第一加密数据进行签名,生成第一签名数据,将第二认证数据发送至所述后台服务器,并基于所述第二随机因子计算得到所述第一传输密钥,其中,所述第二认证数据至少包括:所述第一加密数据、所述第一签名数据和所述读卡器的数字证书;
所述后台服务器接收所述第二认证数据,对所述读卡器的数字证书的合法性进行验证;在验证通过后,对所述第一签名数据进行验签;若验签不通过,则结束流程;
若验签通过,则所述后台服务器利用所述后台服务器的私钥对所述第一加密数据进行解密,获得所述第二随机因子,并基于所述第二随机因子计算得到所述第二传输密钥。
4.根据权利要求1至3任一项所述的方法,其特征在于,获取所述居民身份证中存储的加密身份证信息包括:
所述读卡器判断所述安全芯片中是否存储有与所述配置信息对应的加密身份证信息;
在判断所述安全芯片中存储有所述加密身份证信息的情况下,所述读卡器从安全芯片中获取所述加密身份证信息;
在判断所述安全芯片中没有存储所述加密身份证信息的情况下,所述读卡器执行读卡流程,读取所述第一居民身份证中的加密身份证信息,将读取的所述加密身份证信息存储在所述安全芯片中,且将所述加密身份证信息与所述配置信息关联。
5.根据权利要求1至3任一项所述的方法,其特征在于,
在判断所述安全芯片中没有存储所述配置信息的情况下,将所述配置信息存储到所述安全芯片中时,所述方法还包括:清空所述安全芯片存储的加密身份证信息;
获取所述居民身份证中存储的加密身份证信息包括:
所述读卡器判断所述安全芯片中是否存储有加密身份证信息;
在判断所述安全芯片中存储有所述加密身份证信息的情况下,所述读卡器从安全芯片中获取所述加密身份证信息;
在判断所述安全芯片中没有存储所述加密身份证信息的情况下,所述读卡器执行读卡流程,读取所述第一居民身份证中的加密身份证信息,将读取的所述加密身份证信息存储在所述安全芯片中。
6.一种身份证读卡系统,其特征在于,所述系统包括:
读卡器,用于接收到第一居民身份证返回的寻卡响应指令,读取所述第一居民身份证的配置信息,并判断所述读卡器的安全芯片中是否存储有所述配置信息,在判断所述安全芯片中没有存储所述配置信息的情况下,将所述配置信息存储到所述安全芯片中;
所述读卡器,还用于接收到读卡指令,与后台服务器进行协商得到第一传输密钥;
所述后台服务器,用于与所述读卡器进行协商,得到第二传输密钥;
所述读卡器,还用于获取所述居民身份证中存储的加密身份证信息,使用所述第一传输密钥对所述配置信息和所述加密身份证信息进行加密,得到传输密文,并将所述传输密文发送给所述后台服务器;
所述后台服务器,还用于接收所述传输密文,并使用所述第二传输密钥对所述传输密文进行解密,得到所述配置信息和所述加密身份证信息。
7.根据权利要求6所述的系统,其特征在于,所述读卡器用于获取所述第一传输密钥,所述后台服务器用于获取所述第二传输密钥,包括:
所述读卡器,用于将传输密钥生成请求发送至所述后台服务器;
所述后台服务器,用于接收到所述传输密钥生成请求后,生成第一随机因子,并将所述第一随机因子发送至所述读卡器;
所述读卡器,还用于接收到所述第一随机因子后,对第一待签名数据进行签名生成第一签名数据,并将第一认证数据发送至所述后台服务器,其中,所述第一待签名数据至少包括所述第一随机因子,所述第一认证数据至少包括所述第一签名数据和所述读卡器的数字证书;
所述后台服务器,还用于接收到所述第一认证数据后,对所述读卡器的数字证书的合法性进行验证;在验证通过后,对所述第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则生成第二随机因子,基于所述第一随机因子和所述第二随机因子生成第三随机因子,并基于所述第三随机因子计算得到所述第二传输密钥;
所述后台服务器,还用于利用所述读卡器的公钥对所述第三随机因子进行加密生成第二待签名数据,对所述第二待签名数据进行签名生成第二签名数据,并将第二认证数据发送至所述读卡器,其中,所述第二认证数据至少包括:所述第二待签名数据、所述第二签名数据和所述后台服务器的数字证书;
所述读卡器,还用于接收到所述第二认证数据后,对所述后台服务器的数字证书的合法性进行验证;在验证通过后,对所述第二签名数据进行验签;若验签通过,则利用所述读卡器的私钥对所述第二待签名数据进行解密操作,获得所述第三随机因子,并基于所述第三随机因子计算得到所述第一传输密钥。
8.根据权利要求6所述的系统,其特征在于,所述读卡器用于获取所述第一传输密钥,所述后台服务器用于获取所述第二传输密钥,包括:
所述读卡器,还用于将传输密钥生成请求发送至所述后台服务器;
所述后台服务器,用于接收到所述传输密钥生成请求后,生成第一随机因子,并将第一认证数据发送至所述读卡器,其中,所述第一认证数据至少包括:所述第一随机因子和所述后台服务器的数字证书;
所述读卡器,还用于接收到所述第一认证数据后,对所述后台服务器的数字证书的合法性进行验证;以及在验证通过后,生成第二随机因子,利用所述后台服务器的数字证书中的所述后台服务器的公钥对所述第二随机因子进行加密操作,生成第一加密数据;
所述读卡器,还用于对所述第一随机因子和所述第一加密数据进行签名,生成第一签名数据,将第二认证数据发送至所述后台服务器,并基于所述第二随机因子计算得到所述第一传输密钥,其中,所述第二认证数据至少包括:所述第一加密数据、所述第一签名数据和所述读卡器的数字证书;
所述后台服务器,还用于接收所述第二认证数据,对所述读卡器的数字证书的合法性进行验证;在验证通过后,对所述第一签名数据进行验签;若验签不通过,则结束流程;若验签通过,则利用所述后台服务器的私钥对所述第一加密数据进行解密,获得所述第二随机因子,并基于所述第二随机因子计算得到所述第二传输密钥。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述读卡器通过以下方式获取所述居民身份证中存储的加密身份证信息:
判断所述安全芯片中是否存储有与所述配置信息对应的加密身份证信息;
在判断所述安全芯片中存储有所述加密身份证信息的情况下,从所述安全芯片中获取所述加密身份证信息;
在判断所述安全芯片中没有存储所述加密身份证信息的情况下,执行读卡流程,读取所述第一居民身份证中的加密身份证信息,将读取的所述加密身份证信息存储在所述安全芯片中,且将所述加密身份证信息与所述配置信息关联。
10.根据权利要求6至8任一项所述的系统,其特征在于,
所述读卡器还用于在判断所述安全芯片中没有存储所述配置信息的情况下,将所述配置信息存储到所述安全芯片中时,清空所述安全芯片存储的加密身份证信息;
所述读卡器通过以下方式获取所述居民身份证中存储的加密身份证信息:
判断所述安全芯片中是否存储有加密身份证信息;
在判断所述安全芯片中存储有所述加密身份证信息的情况下,从安全芯片中获取所述加密身份证信息;
在判断所述安全芯片中没有存储所述加密身份证信息的情况下,执行读卡流程,读取所述第一居民身份证中的加密身份证信息,将读取的所述加密身份证信息存储在所述安全芯片中。
CN201510764602.9A 2015-11-10 2015-11-10 身份证读卡方法和系统 Active CN106156677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510764602.9A CN106156677B (zh) 2015-11-10 2015-11-10 身份证读卡方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510764602.9A CN106156677B (zh) 2015-11-10 2015-11-10 身份证读卡方法和系统

Publications (2)

Publication Number Publication Date
CN106156677A true CN106156677A (zh) 2016-11-23
CN106156677B CN106156677B (zh) 2018-11-30

Family

ID=57348228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510764602.9A Active CN106156677B (zh) 2015-11-10 2015-11-10 身份证读卡方法和系统

Country Status (1)

Country Link
CN (1) CN106156677B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107369022A (zh) * 2017-01-25 2017-11-21 天地融科技股份有限公司 一种合法芯片的识别方法及系统
CN109474929A (zh) * 2018-12-29 2019-03-15 飞天诚信科技股份有限公司 功耗模式调节方法、装置、电子设备及计算机可读存储介质
CN109698830A (zh) * 2018-12-25 2019-04-30 飞天诚信科技股份有限公司 一种与身份证通信的方法和系统
CN111223022A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111222108A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111224926A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103746802A (zh) * 2014-01-27 2014-04-23 天地融科技股份有限公司 一种基于协商密钥的数据处理方法和手机
JP5505131B2 (ja) * 2010-06-29 2014-05-28 株式会社デンソーウェーブ Icカード読取システム及び運行管理システム
CN104618115A (zh) * 2015-01-27 2015-05-13 李明 身份证信息获取方法及系统
CN104820814A (zh) * 2015-05-07 2015-08-05 熊小军 第二代身份证防伪验证系统
CN104966035A (zh) * 2015-05-20 2015-10-07 李明 身份证信息获取方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5505131B2 (ja) * 2010-06-29 2014-05-28 株式会社デンソーウェーブ Icカード読取システム及び運行管理システム
CN103746802A (zh) * 2014-01-27 2014-04-23 天地融科技股份有限公司 一种基于协商密钥的数据处理方法和手机
CN104618115A (zh) * 2015-01-27 2015-05-13 李明 身份证信息获取方法及系统
CN104820814A (zh) * 2015-05-07 2015-08-05 熊小军 第二代身份证防伪验证系统
CN104966035A (zh) * 2015-05-20 2015-10-07 李明 身份证信息获取方法、装置及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107369022A (zh) * 2017-01-25 2017-11-21 天地融科技股份有限公司 一种合法芯片的识别方法及系统
CN107369022B (zh) * 2017-01-25 2020-08-21 天地融科技股份有限公司 一种合法芯片的识别方法及系统
CN111223022A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111222108A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111224926A (zh) * 2018-11-27 2020-06-02 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111222108B (zh) * 2018-11-27 2022-07-12 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN111223022B (zh) * 2018-11-27 2024-02-09 天地融科技股份有限公司 一种云身份证的实现方法及系统
CN109698830A (zh) * 2018-12-25 2019-04-30 飞天诚信科技股份有限公司 一种与身份证通信的方法和系统
CN109698830B (zh) * 2018-12-25 2021-01-15 飞天诚信科技股份有限公司 一种与身份证通信的方法和系统
CN109474929A (zh) * 2018-12-29 2019-03-15 飞天诚信科技股份有限公司 功耗模式调节方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN106156677B (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
KR101802682B1 (ko) 장치를 사용자 계정에 링크하는 시스템 및 방법
CN104065653B (zh) 一种交互式身份验证方法、装置、系统和相关设备
CN106156677A (zh) 身份证读卡方法和系统
KR102613422B1 (ko) 트랜잭션 메시징
CN106527673A (zh) 绑定可穿戴设备的方法和装置、电子支付方法和装置
CN106027250A (zh) 一种身份证信息安全传输方法及系统
US10237072B2 (en) Signatures for near field communications
JP2012530311A5 (zh)
CN107784499B (zh) 近场通信移动终端的安全支付系统及方法
CN109949461B (zh) 开锁方法及装置
CN104301110A (zh) 应用于智能终端的身份验证方法、身份验证设备和系统
CN101483654A (zh) 实现认证及数据安全传输的方法及系统
CN102694782B (zh) 基于互联网的安全性信息交互设备及方法
CN106027457B (zh) 一种身份证信息传输方法和系统
CN106027249B (zh) 身份证读卡方法和系统
CN101621794A (zh) 一种无线应用服务系统的安全认证实现方法
CN106789024A (zh) 一种远程解锁方法、装置和系统
CN107277017A (zh) 基于加密密钥和设备指纹的权限认证方法、装置及系统
CN106022081A (zh) 一种身份证读卡终端的读卡方法、身份证读卡终端和系统
CN104579659A (zh) 用于安全性信息交互的装置
CN105939194A (zh) 一种电子密钥设备私钥的备份方法和系统
CN104835038A (zh) 一种联网支付装置及方法
CN106056014A (zh) 身份证读卡方法、系统和读卡器
US11544368B2 (en) Secure password generation and management using NFC and contactless smart cards
CN105989481B (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