CN111740846B - 一种移动终端读取智能卡信息的实现方法及*** - Google Patents

一种移动终端读取智能卡信息的实现方法及*** Download PDF

Info

Publication number
CN111740846B
CN111740846B CN202010770000.5A CN202010770000A CN111740846B CN 111740846 B CN111740846 B CN 111740846B CN 202010770000 A CN202010770000 A CN 202010770000A CN 111740846 B CN111740846 B CN 111740846B
Authority
CN
China
Prior art keywords
mobile terminal
identity information
result
authentication server
personal identity
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.)
Active
Application number
CN202010770000.5A
Other languages
English (en)
Other versions
CN111740846A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN202010770000.5A priority Critical patent/CN111740846B/zh
Publication of CN111740846A publication Critical patent/CN111740846A/zh
Application granted granted Critical
Publication of CN111740846B publication Critical patent/CN111740846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开一种移动终端读取智能卡信息的实现方法及***,认证服务器与智能卡相互进行验证,如验证成功则智能卡将个人身份信息密文通过移动终端发送给认证服务器;认证服务器对个人身份信息密文进行处理并保存个人身份信息处理结果,将记录单标识发送给移动终端;移动终端通过业务***检索个人身份信息服务接口向认证服务器发送包含记录单标识的检索数据请求;认证服务器根据记录单标识检索个人身份信息处理结果并发送给业务***检索个人身份信息服务接口,业务***检索个人身份信息服务接口对个人身份信息处理结果进行解析并将个人身份信息的部分数据发送给移动终端。本发明技术方案的应用场景不受限制,能方便快捷安全的获取用户身份信息。

Description

一种移动终端读取智能卡信息的实现方法及***
技术领域
本发明涉及信息安全领域,尤其涉及一种移动终端读取智能卡信息的实现方法及***。
背景技术
在现有技术中,在局域网中PC机通过与之连接的读卡器或内置的读卡模块来读取卡片内的个人身份信息。例如,在银行柜台,工作人员在银行PC机上通过与之连接的读卡器读取用户的身份证信息。由于现有技术中读取卡片内的个人身份信息均是在可控环境中进行的,如何在不可控环境中读取卡片内的个人身份信息是现有技术中亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种移动终端读取智能卡信息的实现方法及***。
本发明提供了一种移动终端读取智能卡信息的实现方法,移动终端通过外部读卡器或内置的读卡模块与智能卡进行通讯,所述智能卡中存储有个人身份信息密文,所述方法包括:
步骤S1:所述移动终端通过获取的身份认证令牌和认证服务器地址与对应的认证服务器建立连接;
步骤S2:所述认证服务器使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给所述移动终端;
步骤S3:所述移动终端将所述第一挑战值密文发送给所述智能卡;
步骤S4:所述智能卡根据保存的证明密钥对所述第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用所述证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将所述第一哈希结果和所述第二挑战值密文进行拼接,并将拼接结果通过所述移动终端发送给所述认证服务器;
步骤S5:所述认证服务器根据所述第一挑战值对所述拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和所述拼接结果中的第二挑战值密文生成第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,执行步骤S6,如验证失败则给所述移动终端报错;
步骤S6:所述智能卡使用所述第二挑战值对所述第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过所述移动终端发送给所述认证服务器,执行步骤S7;如验证失败则给所述移动终端报错;
步骤S7:所述认证服务器对所述个人身份信息密文进行处理并将处理得到个人身份信息处理结果进行保存,生成与所述个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将所述业务***检索个人身份信息服务接口的地址和记录单标识发送给所述移动终端;
步骤S8:所述移动终端根据所述记录单标识生成检索数据请求,使用所述业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送所述检索数据请求;
步骤S9:所述业务***检索个人身份信息服务接口向所述认证服务器发送所述检索数据请求;
步骤S10:所述认证服务器根据所述检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给所述业务***检索个人身份信息服务接口,所述业务***检索个人身份信息服务接口对所述个人身份信息处理结果进行解析得到个人身份信息并将所述个人身份信息的部分数据发送给所述移动终端。
进一步地,所述步骤S1之前还包括:
步骤S0:所述移动终端通过调用业务***读卡请求服务接口从所述认证服务器获取认证服务器地址和身份认证令牌。
进一步地,所述步骤S0包括:
步骤S01:当所述移动终端接收到用户的触发信息时向所述业务***读卡请求服务接口发起读卡请求,并接收所述业务***读卡请求服务接口返回的第一响应数据;
步骤S02:所述业务***读卡请求服务接口接收到所述读卡请求后,向所述认证服务器请求记录本次读卡请求;
步骤S03:所述认证服务器初始化身份认证令牌、当前时间并记录本次读卡请求,将所述认证服务器地址和所述身份认证令牌返回给所述业务***读卡请求服务接口;
步骤S04:所述业务***读卡请求服务接口将所述认证服务器地址和所述身份认证令牌发送给所述移动终端。
进一步地,所述步骤S0与步骤S1之间还包括:
步骤A1:所述移动终端检测智能卡是否存在,是则执行步骤S1,否则结束。
进一步地,所述步骤A1包括:
步骤A11:所述移动终端调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则执行步骤A12,否则报错;
步骤A12:所述移动终端通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,执行步骤S1,否则智能卡不存在,结束。
进一步地,所述步骤S1包括:所述移动终端根据认证服务器地址将所述身份认证令牌发送给对应的认证服务器,所述认证服务器将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到所述身份认证令牌,判断签名得到的所述身份认证令牌是否与接收到的身份认证令牌一致,是则所述认证服务器与所述移动终端建立连接,给所述移动终端发送建立连接成功信息,否则所述认证服务器与所述移动终端未建立连接,报错。
进一步地,所述步骤S2包括:所述认证服务器生成第一挑战值并保存,通过加密机使用保存的证明密钥对所述第一挑战值进行加密得到第一挑战值密文;所述认证服务器将所述第一挑战值密文发送给所述移动终端。
进一步地,所述步骤S4包括:
步骤S41:所述智能卡使用保存的证明密钥解密所述第一挑战值密文得到第一解密结果,对所述第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用所述证明密钥对所述第二挑战值进行加密得到第二挑战值密文;
步骤S42:所述智能卡将所述第一哈希结果和所述第二挑战值密文顺序拼接并将拼接结果发送给所述移动终端;
步骤S43:所述移动终端将所述拼接结果发送给认证服务器。
进一步地,所述步骤S5包括:
步骤S51:所述认证服务器解析所述拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则执行步骤S52,如验证失败则给所述移动终端返回双向验证失败信息;
步骤S52:所述认证服务器通过加密机使用所述证明密钥对所述解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,执行步骤S6。
进一步地,所述步骤S51具体为:所述认证服务器对保存的所述第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与所述解析结果中的第一哈希结果相同,是则验证成功,执行步骤S52,否则验证失败,给所述移动终端返回双向验证失败信息。
进一步地,所述步骤S6包括:
步骤S61:所述智能卡对保存的所述第二挑战值进行哈希运算得到第四哈希结果,判断接收到的所述第三哈希结果与所述第四哈希结果是否相同,是则执行步骤S65,否则执行步骤S62;
步骤S62:所述智能卡给所述移动终端返回验证失败码;
步骤S63:所述移动终端将所述验证失败码发送给所述认证服务器;
步骤S64:所述认证服务器将所述验证失败码更新到初始化记录中;
步骤S65:所述智能卡将保存的个人身份信息密文发送给所述移动终端;
步骤S66:所述移动终端将所述个人身份信息密文发送给所述认证服务器,执行步骤S7。
进一步地,所述步骤S7包括:所述认证服务器通过加密机解密所述个人身份信息密文得到个人身份信息,生成对称密钥并使用所述对称密钥加密所述个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密所述对称密钥得到对称密钥密文,保存所述个人身份信息加密结果和所述对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与所述个人身份信息加密结果和所述对称密钥密文对应的记录单标识,将所述业务***检索个人身份信息服务接口的地址和所述记录单标识返回给所述移动终端。
进一步地,所述步骤S7之前包括:业务***生成加密密钥对并保存,将所述加密密钥对中的加密公钥发送给所述认证服务器,所述认证服务器保存所述加密公钥,所述加密密钥对包括加密公钥和加密私钥。
进一步地,所述步骤S10包括:
步骤S10-1:所述认证服务器解析所述检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
步骤S10-2:所述认证服务器将检索到的所述个人身份信息加密结果和所述对称密钥密文发送给所述业务***;
步骤S10-3:所述业务***接收所述个人身份信息加密结果和所述对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用所述对称密钥对所述个人身份信息加密结果进行解密得到个人身份信息;
步骤S10-4:所述业务***将所述个人身份信息的部分数据发送给所述移动终端。
本发明又提供了一种移动终端读取智能卡信息的实现***,包括移动终端、业务***、认证服务器和智能卡,所述移动终端通过外部读卡器或内置的读卡模块与智能卡进行通讯,所述智能卡中存储有个人身份信息密文;所述移动终端包括获取建立模块、第一发送模块和第二发送模块,所述业务***包括业务***检索个人身份信息服务接口,所述业务***检索个人身份信息服务接口包括第三发送模块和解析发送模块,所述认证服务器包括加密发送模块、验证生成模块、保存发送模块和检索处理发送模块,所述智能卡包括解密发送模块和验证发送模块;
所述获取建立模块,用于通过获取的身份认证令牌和认证服务器地址与对应的认证服务器建立连接;
所述加密发送模块,用于使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给所述移动终端;
所述第一发送模块,用于接收所述第一挑战值密文并发送给所述智能卡;
所述解密发送模块,用于根据保存的证明密钥对所述第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用所述证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将所述第一哈希结果和所述第二挑战值密文进行拼接,并将拼接结果通过所述移动终端发送给所述认证服务器;
所述验证生成模块,用于根据所述第一挑战值对所述拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和所述拼接结果中的第二挑战值密文生成第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,如验证失败则给所述移动终端报错;
所述验证发送模块,用于使用所述第二挑战值对所述第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过所述移动终端发送给所述认证服务器;如验证失败则给所述移动终端报错;
所述保存发送模块,用于对所述个人身份信息密文,进行处理并将处理得到个人身份信息处理结果进行保存,生成与所述个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将所述业务***检索个人身份信息服务接口的地址和记录单标识发送给所述移动终端;
所述第二发送模块,用于根据所述记录单标识生成检索数据请求,使用所述业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送所述检索数据请求;
所述第三发送模块,用于向所述认证服务器发送所述检索数据请求;
所述检索处理发送模块,用于根据检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给所述业务***检索个人身份信息服务接口;
所述解析发送模块,用于对所述个人身份信息处理结果进行解析得到个人身份信息并将所述个人身份信息的部分数据发送给所述移动终端。
进一步地,所述移动终端还包括:
第一获取模块,用于通过调用业务***读卡请求服务接口从所述认证服务器获取认证服务器地址和身份认证令牌。
进一步地,所述第一获取模块包括第一发送接收单元和第一接收单元;所述业务***还包括业务***读卡请求服务接口,业务***读卡请求服务接口包括第一接收发送模块和第二接收发送模块;所述认证服务器还包括第一返回模块;
所述发送接收单元,用于当接收到用户的触发信息时向所述业务***读卡请求服务接口发起读卡请求,并接收所述业务***读卡请求服务接口返回的第一响应数据;
所述第一接收发送模块,用于接收到所述读卡请求后,向所述认证服务器请求记录本次读卡请求;
所述第一返回模块,用于接收到所述读卡请求后初始化身份认证令牌、当前时间并记录本次读卡请求,将所述认证服务器地址和所述身份认证令牌返回给所述业务***读卡请求服务接口;
所述第二接收发送模块,用于接收所述认证服务器地址和所述身份认证令牌并发送给所述移动终端;
所述第一接收单元,用于接收所述认证服务器地址和所述身份认证令牌。
进一步地,所述移动终端还包括:
第一检测模块,用于检测智能卡是否存在,是则触发所述获取建立模块,否则结束。
进一步地,所述第一检测模块包括:
第一判断单元,用于调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则触发第二判断单元,否则报错;
所述第二判断单元,用于通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,触发所述获取建立模块,否则智能卡不存在,结束。
进一步地,所述获取建立模块包括:
第一发送单元,用于根据认证服务器地址将所述身份认证令牌发送给对应的认证服务器;
所述认证服务器还包括签名验证模块,用于将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到所述身份认证令牌,判断签名得到的所述身份认证令牌是否与接收到的身份认证令牌一致,是则所述认证服务器与所述移动终端建立连接,给所述移动终端发送建立连接成功信息,否则所述认证服务器与所述移动终端未建立连接,报错。
进一步地,所述加密发送模块,具体用于生成第一挑战值并保存,通过加密机使用保存的证明密钥对所述第一挑战值进行加密得到第一挑战值密文;将所述第一挑战值密文发送给所述移动终端。
进一步地,所述解密发送模块包括:
哈希加密单元,用于使用保存的证明密钥解密所述第一挑战值密文得到第一解密结果,对所述第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用所述证明密钥对所述第二挑战值进行加密得到第二挑战值密文;
拼接发送单元,用于将所述第一哈希结果和所述第二挑战值密文顺序拼接并将拼接结果发送给移动终端;
所述移动终端还包括第四发送模块,用于将所述拼接结果发送给认证服务器。
进一步地,所述验证生成模块包括:
解析验证单元,用于解析所述拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则触发解密哈希单元,如验证失败则给所述移动终端返回双向验证失败信息;
所述解密哈希单元,用于通过加密机使用所述证明密钥对所述解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,触发所述验证发送模块。
进一步地,所述解析验证单元具体用于对保存的所述第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与所述解析结果中的第一哈希结果相同,是则验证成功,触发所述解密哈希单元,否则验证失败,给所述移动终端返回双向验证失败信息。
进一步地,所述验证发送模块包括:
哈希判断单元,用于对保存的所述第二挑战值进行哈希运算得到第四哈希结果,判断接收到的所述第三哈希结果与所述第四哈希结果是否相同,是则触发第二发送单元,否则给所述移动终端返回验证失败码;
所述第二发送单元,用于将保存的个人身份信息密文发送给所述移动终端;
所述移动终端还包括第五发送模块和第六发送模块,
所述第五发送模块用于将所述验证失败码发送给所述认证服务器;
所述第六发送模块,用于将所述个人身份信息密文发送给所述认证服务器,触发所述保存发送模块;
所述认证服务器还包括更新模块,用于将所述验证失败码更新到初始化记录中。
进一步地,所述保存发送模块具体用于通过加密机解密所述个人身份信息密文得到个人身份信息,生成对称密钥并使用所述对称密钥加密所述个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密所述对称密钥得到对称密钥密文,保存所述个人身份信息加密结果和所述对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与所述个人身份信息加密结果和所述对称密钥密文对应的记录单标识,将所述业务***检索个人身份信息服务接口的地址和所述记录单标识返回给所述移动终端。
进一步地,所述业务***还包括生成保存发送模块,用于生成加密密钥对并保存,将所述加密密钥对中的加密公钥发送给所述认证服务器,所述加密密钥对包括加密公钥和加密私钥;
所述认证服务器还包括第一保存模块,用于保存所述加密公钥。
进一步地,所述检索处理发送模块包括:
解析检索单元,用于解析所述检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
第三发送单元,用于将检索到的所述个人身份信息加密结果和所述对称密钥密文发送给所述业务***;
所述解析发送模块包括:
接收解密单元,用于接收所述个人身份信息加密结果和所述对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用所述对称密钥对所述个人身份信息加密结果进行解密得到个人身份信息;
第四发送单元,用于将所述个人身份信息的部分数据发送给所述移动终端。
本发明与现有技术相比,具有以下优点:
通过本发明技术方案,移动终端可在任何地方读取智能卡中的个人身份信息,应用场景不受限制,能方便快捷安全的获取用户身份信息。
附图说明
图1为本发明实施例一提供的一种移动终端读取智能卡信息的实现方法流程图;
图2和图3为本发明实施例二提供的一种移动终端读取智能卡信息的实现方法流程图;
图4为本发明实施例三提供的一种移动终端读取智能卡信息的实现***方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中的智能卡用于存储个人身份信息密文,移动终端通过外部读卡器或者内置的读卡模块与智能卡进行通讯。
实施例一
本发明实施例一提供一种移动终端读取智能卡信息的实现方法,如图1所示,包括:
步骤S1:移动终端通过获取的身份认证令牌和认证服务器地址与对应的认证服务器建立连接;
具体的,本实施例的步骤S1包括:移动终端根据认证服务器地址将身份认证令牌发送给对应的认证服务器,认证服务器将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到身份认证令牌,判断签名得到的身份认证令牌是否与接收到的身份认证令牌一致,是则认证服务器与移动终端建立连接,给移动终端发送建立连接成功信息,否则认证服务器与移动终端未建立连接,报错;
步骤S2:认证服务器使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给移动终端;
具体的,本实施例的步骤S2包括:认证服务器生成第一挑战值并保存,通过加密机使用保存的证明密钥对第一挑战值进行加密得到第一挑战值密文;认证服务器将第一挑战值密文发送给移动终端;
步骤S3:移动终端将第一挑战值密文发送给智能卡;
步骤S4:智能卡根据保存的证明密钥对第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将第一哈希结果和第二挑战值密文进行拼接,并将拼接结果通过移动终端发送给认证服务器;
具体的,本实施例的步骤S4包括:
步骤S41:智能卡使用保存的证明密钥解密第一挑战值密文得到第一解密结果,对第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用证明密钥对第二挑战值进行加密得到第二挑战值密文;
步骤S42:智能卡将第一哈希结果和第二挑战值密文顺序拼接并将拼接结果发送给移动终端;
步骤S43:移动终端将拼接结果发送给认证服务器;
步骤S5:认证服务器根据第一挑战值对拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和拼接结果中的第二挑战值密文生成第三哈希结果,并将第三哈希结果通过移动终端发送给智能卡,执行步骤S6,如验证失败则给移动终端报错;
具体的,本实施例的步骤S5包括:
步骤S51:认证服务器解析拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则执行步骤S52,如验证失败则给移动终端返回双向验证失败信息;
更进一步地,步骤S51具体为:认证服务器对保存的第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与解析结果中的第一哈希结果相同,是则验证成功,执行步骤S52,否则验证失败,给移动终端返回双向验证失败信息;
步骤S52:认证服务器通过加密机使用证明密钥对解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将第三哈希结果通过移动终端发送给智能卡,执行步骤S6;
步骤S6:智能卡使用第二挑战值对第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过移动终端发送给认证服务器,执行步骤S7;如验证失败则给移动终端报错;
具体的,本实施例的步骤S6包括:
步骤S61:智能卡对保存的第二挑战值进行哈希运算得到第四哈希结果,判断接收到的第三哈希结果与第四哈希结果是否相同,是则执行步骤S65,否则执行步骤S62;
步骤S62:智能卡给移动终端返回验证失败码;
步骤S63:移动终端将验证失败码发送给认证服务器;
步骤S64:认证服务器将验证失败码更新到初始化记录中;
步骤S65:智能卡将保存的个人身份信息密文发送给移动终端;
步骤S66:移动终端将个人身份信息密文发送给认证服务器,执行步骤S7;
步骤S7:认证服务器对个人身份信息密文进行处理并将处理得到个人身份信息处理结果进行保存,生成与个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将业务***检索个人身份信息服务接口的地址和记录单标识发送给移动终端;
具体的,本实施例的步骤S7包括:认证服务器通过加密机解密个人身份信息密文得到个人身份信息,生成对称密钥并使用对称密钥加密个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密对称密钥得到对称密钥密文,保存个人身份信息加密结果和对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与个人身份信息加密结果和对称密钥密文对应的记录单标识,将业务***检索个人身份信息服务接口的地址和记录单标识返回给移动终端;
可选的,在本实施例中,步骤S7之前包括:业务***生成加密密钥对并保存,将加密密钥对中的加密公钥发送给认证服务器,认证服务器保存加密公钥,加密密钥对包括加密公钥和加密私钥;
步骤S8:移动终端根据记录单标识生成检索数据请求,使用业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送检索数据请求;
步骤S9:业务***检索个人身份信息服务接口向认证服务器发送检索数据请求;
步骤S10:认证服务器根据检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给业务***检索个人身份信息服务接口,业务***检索个人身份信息服务接口对个人身份信息处理结果进行解析得到个人身份信息并将个人身份信息的部分数据发送给移动终端。
具体的,本实施例的步骤S10包括:
步骤S10-1:认证服务器解析检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
步骤S10-2:认证服务器将检索到的个人身份信息加密结果和对称密钥密文发送给业务***;
步骤S10-3:业务***接收个人身份信息加密结果和对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用对称密钥对个人身份信息加密结果进行解密得到个人身份信息;
步骤S10-4:业务***将个人身份信息的部分数据发送给移动终端。
在本实施例中,业务***发送给移动终端的个人身份信息的部分数据均不涉及用户隐私的个人身份信息,例如,帐号、姓名等等,有效保护用户信息的安全性。
在本实施例中,步骤S1之前还包括:
步骤S0:移动终端通过调用业务***读卡请求服务接口从认证服务器获取认证服务器地址和身份认证令牌。
具体的,步骤S0包括:
步骤S01:当移动终端接收到用户的触发信息时向业务***读卡请求服务接口发起读卡请求,并接收业务***读卡请求服务接口返回的第一响应数据;
步骤S02:业务***读卡请求服务接口接收到读卡请求后,向认证服务器请求记录本次读卡请求;
步骤S03:认证服务器初始化身份认证令牌、当前时间并记录本次读卡请求,将认证服务器地址和身份认证令牌返回给业务***读卡请求服务接口;
步骤S04:业务***读卡请求服务接口将认证服务器地址和身份认证令牌发送给移动终端。
可选的,在本实施例中,步骤S0与步骤S1之间还包括:
步骤A1:移动终端检测智能卡是否存在,是则执行步骤S1,否则结束。
具体的,步骤A1包括:
步骤A11:移动终端调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则执行步骤A12,否则报错;
步骤A12:移动终端通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,执行步骤S1,否则智能卡不存在,结束。
通过本发明实施例方法,移动终端可在任何地方读取智能卡中的个人身份信息,应用场景不受限制,能方便快捷安全的获取用户身份信息。
实施例二
本发明实施例二提供一种移动终端读取智能卡信息的实现方法,如图2和图3所示,包括:
步骤101:当移动终端接收到用户的触发信息时向业务***读卡请求服务接口发起读卡请求,并接收业务***检索个人身份信息服务接口返回的第一响应数据;
例如,移动终端通过向业务***读卡请求服务接口的地址为https://ideasra-sit.ogcio.ccgo.hksarg/sit/ideasra/vtr/pub/AuthWithIDEASVersion=1#,读卡请求为Version=1;
业务***读卡请求服务接口给移动终端返回第一响应数据,第一响应数据具体为:
easurl=https://ideas-sit.ogcio.ccgo.hksarg/ideas/servlet/ideasConfig
servicetoken={
txnid=c0c66c1f-eb24-11e9-ab52-000102030405
&token=lIERlWMjmMPCs47lgqlRC4Vvaf6fFdgvvGzBTPKTj%2FxfDYDwZm3ZHQMIw1P7qhat4JWTecZRFm3kATtsA0RQUeZ1PtqmaODZXH%2F5VLyPCm8CbA%2BhxohbHASPPNKbIhYskFaAAk0pgDR%2F9aaHjM6oufXSLVGQq8saLUdrT7LzTY1v1CV4ZRXi2S1Siiw%2F6XOQ1ygGKWIJl43qqrDd8EsUfMgPwNmC4CvL3%2Bnii3szEfQTdSocDIDtuzKcu1ewm5lujWxyc16eeYffPZjUTxNOhLgRVOXFLNkqFsUxTghshaVSGKF8Nh%2BVKKx5gVEDqnpwj5RHpayXffLXEEZp2nKn6g%3D%3D
步骤102:业务***读卡请求服务接口接收到读卡请求后,向认证服务器请求记录本次读卡请求;
步骤103:认证服务器初始化身份认证令牌、当前时间并记录本次读卡请求,将认证服务器地址、身份认证令牌返回给业务***读卡请求服务接口;
在本实施例中,认证服务器初始化身份认证令牌具体为:认证服务器将部门编码、当前时间和业务***的地址顺序拼接并用第一私钥对拼接结果进行签名得到身份认证令牌;例如,得到的身份认证令牌为:lIERlWMjmMPCs47lgqlRC4Vvaf6fFdgvvGzBTPKTj%2FxfDYDwZm3ZHQMIw1P7qhat4JWTecZRFm3kATtsA0RQUeZ1PtqmaODZXH%2F5VLyPCm8CbA%2BhxohbHASPPNKbIhYskFaAAk0pgDR%2F9aaHjM6oufXSLVGQq8saLUdrT7LzTY1v1CV4ZRXi2S1Siiw%2F6XOQ1ygGKWIJl43qqrDd8EsUfMgPwNmC4CvL3%2Bnii3szEfQTdSocDIDtuzKcu1ewm5lujWxyc16eeYffPZjUTxNOhLgRVOXFLNkqFsUxTghshaVSGKF8Nh%2BVKKx5gVEDqnpwj5RHpayXffLXEEZp2nKn6g%3D%3D
当前时间:1569222157947;
认证服务器地址:https://ideas-sit.ogcio.ccgo.hksarg/ideas/servlet/ideasConfig;
步骤104:业务***读卡请求服务接口将认证服务器地址和身份认证令牌发送给移动终端;
步骤105:移动终端检测智能卡是否存在,是则执行步骤106,否则结束;
具体的,在本实施例中,步骤105包括:
步骤105-1:移动终端调用枚举读卡器接口判断读卡器(或读卡模块)是否存在,是则执行步骤105-2,否则报错;
步骤105-2:移动终端通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,执行步骤106,否则智能卡不存在,结束;
步骤106:移动终端通过认证服务器地址和身份认证令牌与认证服务器建立连接;
具体的,在本实施例中,步骤106包括:移动终端根据认证服务器地址将身份认证令牌发送给对应的认证服务器,认证服务器将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到身份认证令牌,判断签名得到的身份认证令牌是否与接收到的身份认证令牌一致,是则认证服务器与移动终端建立连接,给移动终端发送建立连接成功信息,否则认证服务器与移动终端未建立连接,报错;
步骤107:认证服务器生成第一挑战值并保存,通过加密机使用保存的证明密钥对第一挑战值进行加密得到第一挑战值密文;
例如,本实施例中的第一挑战值为:12345678901234567890,第一挑战值密文为:F87F4F2A43AE1FAE0501,证明密钥为对称密钥;
步骤108:认证服务器将第一挑战值密文发送给移动终端;
步骤109:移动终端将第一挑战值密文发送给智能卡;
步骤110:智能卡使用保存的证明密钥解密第一挑战值密文得到第一解密结果,对第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并保存,使用证明密钥对第二挑战值进行加密得到第二挑战值密文;
例如,本实施例中的第一加密结果为:12345678901234567890;第一哈希结果为:F87F4F2A43AE1FAE0501;第二挑战值为:11111111110123456789;第二挑战值密文为:E87F4F2A43AE1FAE140E;
步骤111:智能卡将第一哈希结果和第二挑战值密文顺序拼接并将拼接结果发送给移动终端;
例如,本实施例中的拼接结果为:E87F4F2A43AE1FAE1401&9BEB45428771EC68&E87F4F2A43AE1FAE140E;
步骤112:移动终端将拼接结果发送给认证服务器;
步骤113:认证服务器验证拼接结果是否合法,是则执行步骤114,否则给移动终端返回双向验证失败信息;
例如,本实施例中的失败信息为0X37;
具体的,在本实施例中,步骤113包括:
步骤113-1:认证服务器解析拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则执行步骤113-2,如验证失败则给移动终端返回双向验证失败信息;
在本实施例中,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证具体为:认证服务器对保存的第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与解析结果中的第一哈希结果相同,是则验证成功,否则验证失败;
例如,本实施例中的第二解密结果为:12345678901234567890,第二哈希结果为:F87F4F2A43AE1FAE0501;
步骤113-2:认证服务器通过加密机使用证明密钥对解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果;
例如,本实施例该步骤中的解密结果为:11111111110123456789,第三哈希结果为:1841C03C18EA975B;
步骤114:认证服务器将第三哈希结果返回给移动终端;
步骤115:移动终端将第三哈希结果发送给智能卡;
步骤116:智能卡对保存的第二挑战值计算哈希值得到第四哈希结果,判断接收到的第三哈希结果与第四哈希结果是否相同,是则执行步骤120,否则执行步骤117;
例如,本实施例该步骤中的解密结果为:11111111110123456789,第四哈希结果为:1841C03C18EA975B;
步骤117:智能卡给移动终端返回验证失败码;
例如,本实施例中的失败信息为0X37;
步骤118:移动终端将验证失败码发送给认证服务器;
步骤119:认证服务器将验证失败码更新到初始化记录中;
例如,本实施例中认证服务器将将初始化记录中数据表字段更新为 ERR006;
步骤120:智能卡将保存的个人身份信息密文发送给移动终端;
例如,本实施例中的智能卡信息密文的格式为:数据信息格式 [2位HEX:数据总长度][4位:信息数据长度][2位:信息类型][信息数据];
例如,本实施例中个人身份信息密文为90006E6E02D21EC998FF4052A8CE6E4689628DD26AD625481F8C6FD1639DF423E402F96227AE9C41B99B19FFE46742868B37F885835C862D7AFBB185A6392C331A44192F4F93CE0FFD0F770A80444CD1EC044DFDAF78F7D24DC836A8DD91F6EAFB2F66080B69348F6357C7761E3FD21010A2;
步骤121:移动终端将个人身份信息密文发送给认证服务器;
步骤122:认证服务器通过加密机解密个人身份信息密文得到个人身份信息,生成对称密钥并使用对称密钥加密个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密对称密钥得到对称密钥密文,将个人身份信息加密结果和对称密钥密文保存到数据库中;
可选的,在步骤122之前还包括:业务***生成加密密钥对并保存,将加密密钥对中的加密公钥发送给认证服务器进行保存;加密密钥对包括加密公钥和加密私钥;
例如,本实施例中解密得到的个人身份信息为:
cardno=Q6925428
englishname=Lily
chinesename=庄宝琴
birth=19591231
issue=2003062
生成的密钥对为:AAESW69dRLBgVxhQ1qIFdQ/h1TiSSkQeq5eDs+kPCtcFSvIOHcCTz0L4;
解密得到的个人身份信息加密结果为:JTC2Z2soNUmg3OzAvE7sAXbAyURks5FNK9MRMMhuuNczNZcK7bZBXt+lArUPRJxFy7uHVu1ZzCMegRZU4/4WZspF0JKpTXiryeC0autzCF1PWugELsUFmxWSBBm8KOSmEjIs/XY5LXJ9/dFHtH5HW1iVsvYvSriCIKptu9WaRHpTc5+Nu0IpHWhUBevYfnfa6jGw/VDfB++0owX0WNu4eunT709hElUckuYNR2ckBJCAHsh4rBg108UsVhe0QeFBQ88oyrXEyPW7yU2LwISalZt1t5Kh7HNktnx57VOgzqiPB8YsQOEYe8vJFdyd+peXtLl7g4YVSqRXUBixcigXOBkkkP/naK9Ci8L/kd0vCeVKB/u2gZxh2CDaf+7Haa+ZyE9/+HMUsorAZb+6Xz009jCOzJ36fKKxRnfIQWg0GwsC7+70HHQPxLAA2OEFK2V/xk9nVoAC9p9RgeBXDqK6q0kGMtX+PR5bbtcH9Z3AtRkshoXnZJkqCa5aI9BR4eJSWfSY0eF3aLm1iZPXZvYFDRaCzoavE/ZSk/6o6QE6rSrOfYcYklVz6f8JyvxnR1rMQAovt7xWCYqETEV4hE5ek/ErCtM9Z+UsV7vEHU1GY6jNz5+uee2txPJYSzHJteoSf3IFlX5VOPgX1aMdB8ZrhnEZhACetoIk0976Fv6xDkuzzXb08zVv1VCTVqfYiYmcYRgiQnbPhWPjk/5IQ6wfan3J08pScxUc026A/rbNvMiBTPvoC5g6gYCqaqhbE7IXORnc2cjh8OYixa6U3vM6X7I6pY1wwP5m7H1nG0vsGjUlg+Ed9ggEQhhESL1hOO6pJRPewLSFoQo+/GAY3Pb5WUuHp3w05p3dWaMeZzhTYZbluM1NVmETUFVk+YPz4FiuD0j07mpiCSnBQuanqJ/7CZXN3xKLI03e79O9ZtuX3YvfGBIATL0SRUOZK/01h2xK+atWhs9LPcuAzu6PDsTcyqJVmrfCvcZe7yG6Bf689AO2U7dZdpTfTqskNuSANUmCmkT3D8o3aXLiTs94ZelvkvqREOgYOO/PFCBQLj2hAJgaML8XzP6gqBCA0VmdETLJ0dvwnzJVfiWaNa+IQ2b5dLIpSiNdWI/LB3gmHGvon19i7pblY97LKfvB3XiCZWmvHodhad1RnpHFqNFalGwabB+f1OrnGYsS9H8VsAk5BVWfDu5uJnvQmrx0aIO5zwRhowuN0wWpxjealhGnDPEzxDw3jAfObIa4G/4YpE0qcFPvogLp10h5JUjGo7ngQ30CVCQevdoX/p/H9XxQsF0icgdikrO8Im0hFOoQRkQtnaFQmIKl0EuuDWzDnuIyg6MkaE2TGca9Ty2/RmLoP6l9CQqrNWzKHhRsU2AUz8XJLDUDdj+xHgHvc4E/OqSBWAVA6VxXkQyEKlPyBD2/lfvep22BJJu1WKBpicASdmhBPboXAAXI8YUpa0qO/UWgBH987GATteznzQkHyyGFK6cw4XbrsNZVel14RpdLObOtL0LI6nvnZ/r0QFB6nROLJ2/Rwq03ERMaE04GPMORubjCEYsw0VcvIrZTPTW5u3dzbDSR0Mezs9EQ0tFZ310ngc2xjYEtP71oCOwS/AYFo+OBQo99BL1a5mZRUlpNYvxkha4=;
加密得到的对称密钥密文为:qFbq/1sBSYVBGCh1RyBQQPXVQ91dVQYBLhW5vW/n8BNp3yEY5I/KJ+JWqAdqmrOQamsoE44me7KvDzzdKZaz/+ATMY7FqxATDRj1F3kf7ks3A+9QcxpOjTyPj7mTCORPzy4DkyGqsottgceCCn1vMWu8yR2ciQskgfVp7v0+jdIJtQW07AV/XWSXhqMyc+Hvu0C3axPZiLbLZz03SqU86JsJC21kNY97o9xe0+UUpytOg/wZbczYujwJtNMcM6CRjFCPZPOAvzCF5lCcoBLzODf8uv1PzrzCLZqO0yCywe0LWxvzevVJ5oUC56lH/QVTFxuhPDCEGH02WVV49AM+Ww==;
步骤123:认证服务器获取业务***检索个人身份信息服务接口的地址,生成与个人身份信息加密结果和对称密钥密文对应的记录单标识,将业务***检索个人身份信息服务接口的地址和记录单标识返回给移动终端;
例如,本实施例中的业务***检索个人身份信息服务接口的地址为:https://ideasra-sit.ogcio.ccgo.hksarg/sit/ideasra/vtr/service/app/saml/artifactReceiver;
记录单标识为:AAESW69dRLBgVxhQ1qIFdQ/h1TiSSlXBHHq3aYhxAgZMFzi8rQDYh0+y
步骤124:移动终端根据记录单标识生成检索数据请求,使用业务***检索个人身份信息服务接口的地址给业务***检索个人身份信息服务接口发送检索数据请求;
例如,本实施例中的检索数据请求为:
https://ideasra-sit.ogcio.ccgo.hksarg/sit/ideasra/vtr/service/app/saml/artifactReceiverTARGET=https://ideasra-sit.ogcio.ccgo.hksarg/sit/ideasra/vtr/service/apply/receiveCardFaceData.do&SAMLart=AAESW69dRLBgVxhQ1qIFdQ/h1TiSSlXBHHq3aYhxAgZMFzi8rQDYh0+y;
步骤125:业务***检索个人身份信息服务接口接收到请求后,向认证服务器发送检索数据请求;
步骤126:认证服务器解析检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
例如,本实施例中的记录单标识为:AAESW69dRLBgVxhQ1qIFdQ/h1TiSSlXBHHq3aYhxAgZMFzi8rQDYh0+y;
个人身份信息密文的格式 为[2位HEX:数据总长度][4位:信息数据长度][2位:信息类型][信息数据];
个人身份信息密文为:
cardno=Q6925428
englishname=Lily
chinesename=庄宝琴
birth=19591231
issue=2003062;
步骤127:认证服务器将检索到的个人身份信息加密结果和对称密钥密文发送给业务***检索个人身份信息服务接口;
例如,本实施例中的封装结果为:
<xml version="1.0" encoding="UTF-8">
<saml:AttributeValue
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
<xenc:EncryptedData
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Content">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"/>
<ds:KeyInfo
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<xenc:EncryptedKey
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"/>
<xenc:CipherData
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">qFbq/1sBSYVBGCh1RyBQQPXVQ91dVQYBLhW5vW/n8BNp3yEY5I/KJ+JWqAdqmrOQamsoE44me7Kv
DzzdKZaz/+ATMY7FqxATDRj1F3kf7ks3A+9QcxpOjTyPj7mTCORPzy4DkyGqsottgceCCn1vMWu8
yR2ciQskgfVp7v0+jdIJtQW07AV/XWSXhqMyc+Hvu0C3axPZiLbLZz03SqU86JsJC21kNY97o9xe
0+UUpytOg/wZbczYujwJtNMcM6CRjFCPZPOAvzCF5lCcoBLzODf8uv1PzrzCLZqO0yCywe0LWxvz
evVJ5oUC56lH/QVTFxuhPDCEGH02WVV49AM+Ww==
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
<ds:KeyName>vtr@1570773464727</ds:KeyName>
</ds:KeyInfo>
<xenc:CipherData
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:CipherValue
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">JTC2Z2soNUmg3OzAvE7sAXbAyURks5FNK9MRMMhuuNczNZcK7bZBXt+lArUPRJxFy7uHVu1ZzCMe
gRZU4/4WZspF0JKpTXiryeC0autzCF1PWugELsUFmxWSBBm8KOSmEjIs/XY5LXJ9/dFHtH5HW1iV
svYvSriCIKptu9WaRHpTc5+Nu0IpHWhUBevYfnfa6jGw/VDfB++0owX0WNu4eunT709hElUckuYN
R2ckBJCAHsh4rBg108UsVhe0QeFBQ88oyrXEyPW7yU2LwISalZt1t5Kh7HNktnx57VOgzqiPB8Ys
QOEYe8vJFdyd+peXtLl7g4YVSqRXUBixcigXOBkkkP/naK9Ci8L/kd0vCeVKB/u2gZxh2CDaf+7H
aa+ZyE9/+HMUsorAZb+6Xz009jCOzJ36fKKxRnfIQWg0GwsC7+70HHQPxLAA2OEFK2V/xk9nVoAC
9p9RgeBXDqK6q0kGMtX+PR5bbtcH9Z3AtRkshoXnZJkqCa5aI9BR4eJSWfSY0eF3aLm1iZPXZvYF
DRaCzoavE/ZSk/6o6QE6rSrOfYcYklVz6f8JyvxnR1rMQAovt7xWCYqETEV4hE5ek/ErCtM9Z+Us
V7vEHU1GY6jNz5+uee2txPJYSzHJteoSf3IFlX5VOPgX1aMdB8ZrhnEZhACetoIk0976Fv6xDkuz
zXb08zVv1VCTVqfYiYmcYRgiQnbPhWPjk/5IQ6wfan3J08pScxUc026A/rbNvMiBTPvoC5g6gYCq
aqhbE7IXORnc2cjh8OYixa6U3vM6X7I6pY1wwP5m7H1nG0vsGjUlg+Ed9ggEQhhESL1hOO6pJRPe
wLSFoQo+/GAY3Pb5WUuHp3w05p3dWaMeZzhTYZbluM1NVmETUFVk+YPz4FiuD0j07mpiCSnBQuan
qJ/7CZXN3xKLI03e79O9ZtuX3YvfGBIATL0SRUOZK/01h2xK+atWhs9LPcuAzu6PDsTcyqJVmrfC
vcZe7yG6Bf689AO2U7dZdpTfTqskNuSANUmCmkT3D8o3aXLiTs94ZelvkvqREOgYOO/PFCBQLj2h
AJgaML8XzP6gqBCA0VmdETLJ0dvwnzJVfiWaNa+IQ2b5dLIpSiNdWI/LB3gmHGvon19i7pblY97L
KfvB3XiCZWmvHodhad1RnpHFqNFalGwabB+f1OrnGYsS9H8VsAk5BVWfDu5uJnvQmrx0aIO5zwRh
owuN0wWpxjealhGnDPEzxDw3jAfObIa4G/4YpE0qcFPvogLp10h5JUjGo7ngQ30CVCQevdoX/p/H
9XxQsF0icgdikrO8Im0hFOoQRkQtnaFQmIKl0EuuDWzDnuIyg6MkaE2TGca9Ty2/RmLoP6l9CQqr
NWzKHhRsU2AUz8XJLDUDdj+xHgHvc4E/OqSBWAVA6VxXkQyEKlPyBD2/lfvep22BJJu1WKBpicAS
dmhBPboXAAXI8YUpa0qO/UWgBH987GATteznzQkHyyGFK6cw4XbrsNZVel14RpdLObOtL0LI6nvn
Z/r0QFB6nROLJ2/Rwq03ERMaE04GPMORubjCEYsw0VcvIrZTPTW5u3dzbDSR0Mezs9EQ0tFZ310n
gc2xjYEtP71oCOwS/AYFo+OBQo99BL1a5mZRUlpNYvxkha4=
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</saml:AttributeValue>
步骤128:业务***检索个人身份信息服务接口接收个人身份信息加密结果和对称密钥密文,根据保存的加密密钥对中的加密私钥对对称密钥密文进行解密得到对称密钥,使用对称密钥对个人身份信息加密结果进行解密得到个人身份信息;
步骤129:业务***检索个人身份信息服务接口将个人身份信息的部分数据发送给移动终端。
在本实施例中,业务***发送给移动终端的个人身份信息的部分数据均不涉及用户隐私的个人身份信息,例如,帐号、姓名等等,有效保护用户信息的安全性;
例如,本实施例中的个人身份信息的部分数据为:
englishname=Lily
chinesename=庄宝琴
issue=20030623
通过本发明实施例方法,移动终端可在任何地方读取智能卡中的个人身份信息,应用场景不受限制,能方便快捷安全的获取用户身份信息。
实施例三
本发明实施例三提供一种移动终端读取智能卡信息的实现***,如图4所示,包括移动终端1、业务***2、认证服务器3和智能卡4,移动终端1通过外部读卡器或内置的读卡模块与智能卡4进行通讯,智能卡4中存储有个人身份信息密文;移动终端1包括获取建立模块11、第一发送模块12和第二发送模块13,业务***2包括业务***检索个人身份信息服务接口21,业务***检索个人身份信息服务接口21包括第三发送模块211和解析发送模块212,认证服务器3包括加密发送模块31、验证生成模块32、保存发送模块33和检索处理发送模块34,智能卡4包括解密发送模块41和验证发送模块42;
获取建立模块11,用于通过获取的身份认证令牌和认证服务器地址与对应的认证服务器3建立连接;
加密发送模块31,用于使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给移动终端1;
第一发送模块12,用于接收第一挑战值密文并发送给智能卡4;
解密发送模块41,用于根据保存的证明密钥对第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将第一哈希结果和第二挑战值密文进行拼接,并将拼接结果通过移动终端1发送给认证服务器3;
验证生成模块32,用于根据第一挑战值对拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和拼接结果中的第二挑战值密文生成第三哈希结果,并将第三哈希结果通过移动终端1发送给智能卡4,如验证失败则给移动终端1报错;
验证发送模块42,用于使用第二挑战值对第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过移动终端1发送给认证服务器3;如验证失败则给移动终端1报错;
保存发送模块33,用于对个人身份信息密文,进行处理并将处理得到个人身份信息处理结果进行保存,生成与个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将业务***检索个人身份信息服务接口的地址和记录单标识发送给移动终端1;
第二发送模块13,用于根据记录单标识生成检索数据请求,使用业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送检索数据请求;
第三发送模块211,用于向认证服务器3发送检索数据请求;
检索处理发送模块34,用于根据检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给业务***读卡请求服务接口21;
解析发送模块212,用于对个人身份信息处理结果进行解析得到个人身份信息并将个人身份信息的部分数据发送给移动终端1。
可选的,在本实施例中,移动终端1还包括:
第一获取模块,用于通过调用业务***读卡请求服务接口从认证服务器3获取认证服务器地址和身份认证令牌;
具体的,第一获取模块包括第一发送接收单元和第一接收单元;业务***2还包括业务***读卡请求服务接口,业务***读卡请求服务接口包括第一接收发送模块和第二接收发送模块;认证服务器3还包括第一返回模块;
发送接收单元,用于当接收到用户的触发信息时向业务***读卡请求服务接口发起读卡请求,并接收业务***读卡请求服务接口返回的第一响应数据;
第一接收发送模块,用于接收到读卡请求后,向认证服务器3请求记录本次读卡请求;
第一返回模块,用于接收到读卡请求后初始化身份认证令牌、当前时间并记录本次读卡请求,将认证服务器地址和身份认证令牌返回给业务***读卡请求服务接口21;
第二接收发送模块,用于接收认证服务器地址和身份认证令牌并发送给移动终端1;
第一接收单元,用于接收认证服务器地址和身份认证令牌。
可选的,本实施例的移动终端1还包括:
第一检测模块,用于检测智能卡4是否存在,是则触发获取建立模块11,否则结束;
具体的,第一检测模块包括:
第一判断单元,用于调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则触发第二判断单元,否则报错;
第二判断单元,用于通过连接卡接口判断移动终端1是否与智能卡4正常连接,是则智能卡存在,触发获取建立模块11,否则智能卡不存在,结束。
具体的,在本实施例中,获取建立模块11包括:
第一发送单元,用于根据认证服务器地址将身份认证令牌发送给对应的认证服务器3;
认证服务器3还包括签名验证模块,用于将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到身份认证令牌,判断签名得到的身份认证令牌是否与接收到的身份认证令牌一致,是则认证服务器与移动终端1建立连接,给移动终端1发送建立连接成功信息,否则认证服务器与移动终端1未建立连接,报错。
在本实施例中,加密发送模块31,具体用于生成第一挑战值并保存,通过加密机使用保存的证明密钥对第一挑战值进行加密得到第一挑战值密文;将第一挑战值密文发送给移动终端1。
具体的,在本实施例中,解密发送模块41包括:
哈希加密单元,用于使用保存的证明密钥解密第一挑战值密文得到第一解密结果,对第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用证明密钥对第二挑战值进行加密得到第二挑战值密文;
拼接发送单元,用于将第一哈希结果和第二挑战值密文顺序拼接并将拼接结果发送给移动终端1;
移动终端1还包括第四发送模块,用于将拼接结果发送给认证服务器3。
具体的,在本实施例中,验证生成模块32包括:
解析验证单元,用于解析拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则触发解密哈希单元,如验证失败则给移动终端1返回双向验证失败信息;
解密哈希单元,用于通过加密机使用证明密钥对解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将第三哈希结果通过移动终端1发送给智能卡4,触发验证发送模块42。
具体的,在本实施例中,解析验证单元具体用于对保存的第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与解析结果中的第一哈希结果相同,是则验证成功,触发解密哈希单元,否则验证失败,给移动终端1返回双向验证失败信息。
具体的,在本实施例中,验证发送模块42包括:
哈希判断单元,用于对保存的第二挑战值进行哈希运算得到第四哈希结果,判断接收到的第三哈希结果与第四哈希结果是否相同,是则触发第二发送单元,否则给移动终端1返回验证失败码;
第二发送单元,用于将保存的个人身份信息密文发送给移动终端1;
移动终端1还包括第五发送模块和第六发送模块,
第五发送模块用于将验证失败码发送给认证服务器3;
第六发送模块,用于将个人身份信息密文发送给认证服务器3,触发保存发送模块33;
认证服务器3还包括更新模块,用于将验证失败码更新到初始化记录中。
在本实施例中,保存发送模块33具体用于通过加密机解密个人身份信息密文得到个人身份信息,生成对称密钥并使用对称密钥加密个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密对称密钥得到对称密钥密文,保存个人身份信息加密结果和对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与个人身份信息加密结果和对称密钥密文对应的记录单标识,将业务***检索个人身份信息服务接口的地址和记录单标识返回给移动终端1。
具体的,在本实施例中,业务***2还包括生成保存发送模块,用于生成加密密钥对并保存,将加密密钥对中的加密公钥发送给认证服务器3,加密密钥对包括加密公钥和加密私钥;
认证服务器3还包括第一保存模块,用于保存加密公钥。
具体的,在本实施例中,检索处理发送模块34包括:
解析检索单元,用于解析检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
第三发送单元,用于将检索到的个人身份信息加密结果和对称密钥密文发送给业务***;
解析发送模块212包括:
接收解密单元,用于接收个人身份信息加密结果和对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用对称密钥对个人身份信息加密结果进行解密得到个人身份信息;
第四发送单元,用于将个人身份信息的部分数据发送给移动终端1。
在本实施例中,业务***发送给移动终端的个人身份信息的部分数据均不涉及用户隐私的个人身份信息,例如,帐号、姓名等等,有效保护用户信息的安全性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (28)

1.一种移动终端读取智能卡信息的实现方法,其特征在于,移动终端通过外部读卡器或内置的读卡模块与智能卡进行通讯,所述智能卡中存储有个人身份信息密文,所述方法包括:
步骤S1:所述移动终端通过获取的身份认证令牌和认证服务器地址与对应的认证服务器建立连接;
步骤S2:所述认证服务器使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给所述移动终端;
步骤S3:所述移动终端将所述第一挑战值密文发送给所述智能卡;
步骤S4:所述智能卡根据保存的证明密钥对所述第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用所述证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将所述第一哈希结果和所述第二挑战值密文进行拼接,并将拼接结果通过所述移动终端发送给所述认证服务器;
步骤S5:所述认证服务器根据所述第一挑战值对所述拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和所述拼接结果中的第二挑战值密文生成第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,执行步骤S6,如验证失败则给所述移动终端报错;
步骤S6:所述智能卡使用所述第二挑战值对所述第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过所述移动终端发送给所述认证服务器,执行步骤S7;如验证失败则给所述移动终端报错;
步骤S7:所述认证服务器对所述个人身份信息密文进行处理并将处理得到个人身份信息处理结果进行保存,生成与所述个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将所述业务***检索个人身份信息服务接口的地址和记录单标识发送给所述移动终端;
步骤S8:所述移动终端根据所述记录单标识生成检索数据请求,使用所述业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送所述检索数据请求;
步骤S9:所述业务***检索个人身份信息服务接口向所述认证服务器发送所述检索数据请求;
步骤S10:所述认证服务器根据所述检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给所述业务***检索个人身份信息服务接口,所述业务***检索个人身份信息服务接口对所述个人身份信息处理结果进行解析得到个人身份信息并将所述个人身份信息的部分数据发送给所述移动终端。
2.如权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:
步骤S0:所述移动终端通过调用业务***读卡请求服务接口从所述认证服务器获取认证服务器地址和身份认证令牌。
3.如权利要求2所述的方法,其特征在于,所述步骤S0包括:
步骤S01:当所述移动终端接收到用户的触发信息时向所述业务***读卡请求服务接口发起读卡请求,并接收所述业务***读卡请求服务接口返回的第一响应数据;
步骤S02:所述业务***读卡请求服务接口接收到所述读卡请求后,向所述认证服务器请求记录本次读卡请求;
步骤S03:所述认证服务器初始化身份认证令牌、当前时间并记录本次读卡请求,将所述认证服务器地址和所述身份认证令牌返回给所述业务***读卡请求服务接口;
步骤S04:所述业务***读卡请求服务接口将所述认证服务器地址和所述身份认证令牌发送给所述移动终端。
4.如权利要求2所述的方法,其特征在于,所述步骤S0与步骤S1之间还包括:
步骤A1:所述移动终端检测智能卡是否存在,是则执行步骤S1,否则结束。
5.如权利要求4所述的方法,其特征在于,所述步骤A1包括:
步骤A11:所述移动终端调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则执行步骤A12,否则报错;
步骤A12:所述移动终端通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,执行步骤S1,否则智能卡不存在,结束。
6.如权利要求1所述的方法,其特征在于,所述步骤S1包括:所述移动终端根据认证服务器地址将所述身份认证令牌发送给对应的认证服务器,所述认证服务器将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到所述身份认证令牌,判断签名得到的所述身份认证令牌是否与接收到的身份认证令牌一致,是则所述认证服务器与所述移动终端建立连接,给所述移动终端发送建立连接成功信息,否则所述认证服务器与所述移动终端未建立连接,报错。
7.如权利要求1所述的方法,其特征在于,所述步骤S2包括:所述认证服务器生成第一挑战值并保存,通过加密机使用保存的证明密钥对所述第一挑战值进行加密得到第一挑战值密文;所述认证服务器将所述第一挑战值密文发送给所述移动终端。
8.如权利要求1所述的方法,其特征在于,所述步骤S4包括:
步骤S41:所述智能卡使用保存的证明密钥解密所述第一挑战值密文得到第一解密结果,对所述第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用所述证明密钥对所述第二挑战值进行加密得到第二挑战值密文;
步骤S42:所述智能卡将所述第一哈希结果和所述第二挑战值密文顺序拼接并将拼接结果发送给所述移动终端;
步骤S43:所述移动终端将所述拼接结果发送给认证服务器。
9.如权利要求8所述的方法,其特征在于,所述步骤S5包括:
步骤S51:所述认证服务器解析所述拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则执行步骤S52,如验证失败则给所述移动终端返回双向验证失败信息;
步骤S52:所述认证服务器通过加密机使用所述证明密钥对所述解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,执行步骤S6。
10.如权利要求9所述的方法,其特征在于,所述步骤S51具体为:所述认证服务器对保存的所述第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与所述解析结果中的第一哈希结果相同,是则验证成功,执行步骤S52,否则验证失败,给所述移动终端返回双向验证失败信息。
11.如权利要求9所述的方法,其特征在于,所述步骤S6包括:
步骤S61:所述智能卡对保存的所述第二挑战值进行哈希运算得到第四哈希结果,判断接收到的所述第三哈希结果与所述第四哈希结果是否相同,是则执行步骤S65,否则执行步骤S62;
步骤S62:所述智能卡给所述移动终端返回验证失败码;
步骤S63:所述移动终端将所述验证失败码发送给所述认证服务器;
步骤S64:所述认证服务器将所述验证失败码更新到初始化记录中;
步骤S65:所述智能卡将保存的个人身份信息密文发送给所述移动终端;
步骤S66:所述移动终端将所述个人身份信息密文发送给所述认证服务器,执行步骤S7。
12.如权利要求1所述的方法,其特征在于,所述步骤S7包括:所述认证服务器通过加密机解密所述个人身份信息密文得到个人身份信息,生成对称密钥并使用所述对称密钥加密所述个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密所述对称密钥得到对称密钥密文,保存所述个人身份信息加密结果和所述对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与所述个人身份信息加密结果和所述对称密钥密文对应的记录单标识,将所述业务***检索个人身份信息服务接口的地址和所述记录单标识返回给所述移动终端。
13.如权利要求12所述的方法,其特征在于,所述步骤S7之前包括:业务***生成加密密钥对并保存,将所述加密密钥对中的加密公钥发送给所述认证服务器,所述认证服务器保存所述加密公钥,所述加密密钥对包括加密公钥和加密私钥。
14.如权利要求12所述的方法,其特征在于,所述步骤S10包括:
步骤S10-1:所述认证服务器解析所述检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
步骤S10-2:所述认证服务器将检索到的所述个人身份信息加密结果和所述对称密钥密文发送给所述业务***;
步骤S10-3:所述业务***接收所述个人身份信息加密结果和所述对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用所述对称密钥对所述个人身份信息加密结果进行解密得到个人身份信息;
步骤S10-4:所述业务***将所述个人身份信息的部分数据发送给所述移动终端。
15.一种移动终端读取智能卡信息的实现***,其特征在于,包括移动终端、业务***、认证服务器和智能卡,所述移动终端通过外部读卡器或内置的读卡模块与智能卡进行通讯,所述智能卡中存储有个人身份信息密文;所述移动终端包括获取建立模块、第一发送模块和第二发送模块,所述业务***包括业务***检索个人身份信息服务接口,所述业务***检索个人身份信息服务接口包括第三发送模块和解析发送模块,所述认证服务器包括加密发送模块、验证生成模块、保存发送模块和检索处理发送模块,所述智能卡包括解密发送模块和验证发送模块;
所述获取建立模块,用于通过获取的身份认证令牌和认证服务器地址与对应的认证服务器建立连接;
所述加密发送模块,用于使用保存的证明密钥对生成的第一挑战值进行加密得到第一挑战值密文并发送给所述移动终端;
所述第一发送模块,用于接收所述第一挑战值密文并发送给所述智能卡;
所述解密发送模块,用于根据保存的证明密钥对所述第一挑战值密文进行解密并对解密结果进行哈希运算生成第一哈希结果,使用所述证明密钥对生成的第二挑战值进行加密得到第二挑战值密文,将所述第一哈希结果和所述第二挑战值密文进行拼接,并将拼接结果通过所述移动终端发送给所述认证服务器;
所述验证生成模块,用于根据所述第一挑战值对所述拼接结果中的第一哈希结果进行验证,如验证成功则根据保存的证明密钥和所述拼接结果中的第二挑战值密文生成第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,如验证失败则给所述移动终端报错;
所述验证发送模块,用于使用所述第二挑战值对所述第三哈希结果进行验证,如验证成功则将保存的个人身份信息密文通过所述移动终端发送给所述认证服务器;如验证失败则给所述移动终端报错;
所述保存发送模块,用于对所述个人身份信息密文,进行处理并将处理得到个人身份信息处理结果进行保存,生成与所述个人身份信息处理结果对应的记录单标识,获取业务***检索个人身份信息服务接口的地址,并将所述业务***检索个人身份信息服务接口的地址和记录单标识发送给所述移动终端;
所述第二发送模块,用于根据所述记录单标识生成检索数据请求,使用所述业务***检索个人身份信息服务接口的地址向业务***检索个人身份信息服务接口发送所述检索数据请求;
所述第三发送模块,用于向所述认证服务器发送所述检索数据请求;
所述检索处理发送模块,用于根据检索数据请求中的记录单标识检索对应的个人身份信息处理结果并发送给所述业务***检索个人身份信息服务接口;
所述解析发送模块,用于对所述个人身份信息处理结果进行解析得到个人身份信息并将所述个人身份信息的部分数据发送给所述移动终端。
16.如权利要求15所述的***,其特征在于,所述移动终端还包括:
第一获取模块,用于通过调用业务***读卡请求服务接口从所述认证服务器获取认证服务器地址和身份认证令牌。
17.如权利要求16所述的***,其特征在于,所述第一获取模块包括第一发送接收单元和第一接收单元;所述业务***还包括业务***读卡请求服务接口,所述业务***读卡请求服务接口包括第一接收发送模块和第二接收发送模块;所述认证服务器还包括第一返回模块;
所述第一发送接收单元,用于当接收到用户的触发信息时向所述业务***读卡请求服务接口发起读卡请求,并接收所述业务***读卡请求服务接口返回的第一响应数据;
所述第一接收发送模块,用于接收到所述读卡请求后,向所述认证服务器请求记录本次读卡请求;
所述第一返回模块,用于接收到所述读卡请求后初始化身份认证令牌、当前时间并记录本次读卡请求,将所述认证服务器地址和所述身份认证令牌返回给所述业务***读卡请求服务接口;
所述第二接收发送模块,用于接收所述认证服务器返回的所述认证服务器地址和所述身份认证令牌并发送给所述移动终端;
所述第一接收单元,用于接收所述业务***读卡请求服务接口发送的所述认证服务器地址和所述身份认证令牌。
18.如权利要求16所述的***,其特征在于,所述移动终端还包括:
第一检测模块,用于检测智能卡是否存在,是则触发所述获取建立模块,否则结束。
19.如权利要求18所述的***,其特征在于,所述第一检测模块包括:
第一判断单元,用于调用枚举读卡器接口判断读卡器或读卡模块是否存在,是则触发第二判断单元,否则报错;
所述第二判断单元,用于通过连接卡接口判断移动终端是否与智能卡正常连接,是则智能卡存在,触发所述获取建立模块,否则智能卡不存在,结束。
20.如权利要求15所述的***,其特征在于,所述获取建立模块包括:
第一发送单元,用于根据认证服务器地址将所述身份认证令牌发送给对应的认证服务器;
所述认证服务器还包括签名验证模块,用于将部门编码、当前时间和业务***的地址顺序拼接,并用第一私钥对拼接结果进行签名得到所述身份认证令牌,判断签名得到的所述身份认证令牌是否与接收到的身份认证令牌一致,是则所述认证服务器与所述移动终端建立连接,给所述移动终端发送建立连接成功信息,否则所述认证服务器与所述移动终端未建立连接,报错。
21.如权利要求15所述的***,其特征在于,所述加密发送模块,具体用于生成第一挑战值并保存,通过加密机使用保存的证明密钥对所述第一挑战值进行加密得到第一挑战值密文;将所述第一挑战值密文发送给所述移动终端。
22.如权利要求15所述的***,其特征在于,所述解密发送模块包括:
哈希加密单元,用于使用保存的证明密钥解密所述第一挑战值密文得到第一解密结果,对所述第一解密结果进行哈希运算得到第一哈希结果,生成第二挑战值并使用所述证明密钥对所述第二挑战值进行加密得到第二挑战值密文;
拼接发送单元,用于将所述第一哈希结果和所述第二挑战值密文顺序拼接并将拼接结果发送给移动终端;
所述移动终端还包括第四发送模块,用于将所述拼接结果发送给认证服务器。
23.如权利要求22所述的***,其特征在于,所述验证生成模块包括:
解析验证单元,用于解析所述拼接结果,通过保存的第一挑战值对解析结果中的第一哈希结果进行验证,如验证成功则触发解密哈希单元,如验证失败则给所述移动终端返回双向验证失败信息;
所述解密哈希单元,用于通过加密机使用所述证明密钥对所述解析结果中的第二挑战值密文进行解密并对解密结果进行哈希运算得到第三哈希结果,并将所述第三哈希结果通过所述移动终端发送给所述智能卡,触发所述验证发送模块。
24.如权利要求23所述的***,其特征在于,所述解析验证单元具体用于对保存的所述第一挑战值进行哈希运算得到第二哈希结果,判断第二哈希结果是否与所述解析结果中的第一哈希结果相同,是则验证成功,触发所述解密哈希单元,否则验证失败,给所述移动终端返回双向验证失败信息。
25.如权利要求23所述的***,其特征在于,所述验证发送模块包括:
哈希判断单元,用于对保存的所述第二挑战值进行哈希运算得到第四哈希结果,判断接收到的所述第三哈希结果与所述第四哈希结果是否相同,是则触发第二发送单元,否则给所述移动终端返回验证失败码;
所述第二发送单元,用于将保存的个人身份信息密文发送给所述移动终端;
所述移动终端还包括第五发送模块和第六发送模块,
所述第五发送模块用于将所述验证失败码发送给所述认证服务器;
所述第六发送模块,用于将所述个人身份信息密文发送给所述认证服务器,触发所述保存发送模块;
所述认证服务器还包括更新模块,用于将所述验证失败码更新到初始化记录中。
26.如权利要求15所述的***,其特征在于,所述保存发送模块具体用于通过加密机解密所述个人身份信息密文得到个人身份信息,生成对称密钥并使用所述对称密钥加密所述个人身份信息得到个人身份信息加密结果,使用保存的加密公钥加密所述对称密钥得到对称密钥密文,保存所述个人身份信息加密结果和所述对称密钥密文;获取业务***检索个人身份信息服务接口的地址,生成与所述个人身份信息加密结果和所述对称密钥密文对应的记录单标识,将所述业务***检索个人身份信息服务接口的地址和所述记录单标识返回给所述移动终端。
27.如权利要求26所述的***,其特征在于,所述业务***还包括生成保存发送模块,用于生成加密密钥对并保存,将所述加密密钥对中的加密公钥发送给所述认证服务器,所述加密密钥对包括加密公钥和加密私钥;
所述认证服务器还包括第一保存模块,用于保存所述加密公钥。
28.如权利要求26所述的***,其特征在于,所述检索处理发送模块包括:
解析检索单元,用于解析所述检索数据请求,根据解析得到的记录单标识检索数据库中的个人身份信息加密结果和对称密钥密文;
第三发送单元,用于将检索到的所述个人身份信息加密结果和所述对称密钥密文发送给所述业务***;
所述解析发送模块包括:
接收解密单元,用于接收所述个人身份信息加密结果和所述对称密钥密文,根据保存的加密私钥对对称密钥密文进行解密得到对称密钥,使用所述对称密钥对所述个人身份信息加密结果进行解密得到个人身份信息;
第四发送单元,用于将所述个人身份信息的部分数据发送给所述移动终端。
CN202010770000.5A 2020-08-04 2020-08-04 一种移动终端读取智能卡信息的实现方法及*** Active CN111740846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010770000.5A CN111740846B (zh) 2020-08-04 2020-08-04 一种移动终端读取智能卡信息的实现方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010770000.5A CN111740846B (zh) 2020-08-04 2020-08-04 一种移动终端读取智能卡信息的实现方法及***

Publications (2)

Publication Number Publication Date
CN111740846A CN111740846A (zh) 2020-10-02
CN111740846B true CN111740846B (zh) 2020-11-24

Family

ID=72657070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010770000.5A Active CN111740846B (zh) 2020-08-04 2020-08-04 一种移动终端读取智能卡信息的实现方法及***

Country Status (1)

Country Link
CN (1) CN111740846B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500072B (zh) * 2022-02-10 2024-01-26 数贸科技(北京)有限公司 报文数据的传输方法及***
CN115296822B (zh) * 2022-09-28 2022-12-20 飞天诚信科技股份有限公司 一种业务处理的实现方法及***
CN116032493A (zh) * 2023-02-14 2023-04-28 广州市森锐科技股份有限公司 一种安全检测方法及解码服务器
CN116566625B (zh) * 2023-07-11 2023-09-19 飞天诚信科技股份有限公司 一种设备归属信息生成方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323068A (zh) * 2014-07-30 2016-02-10 苏州海博智能***有限公司 一种动态口令生成及认证方法、装置和***
CN105897424A (zh) * 2016-03-14 2016-08-24 深圳奥联信息安全技术有限公司 一种增强身份认证的方法
CN109684801A (zh) * 2018-11-16 2019-04-26 阿里巴巴集团控股有限公司 电子证件的生成、签发和验证方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245340B (zh) * 2015-09-07 2019-03-29 天地融科技股份有限公司 一种基于远程开户的身份认证方法和***
US11139976B2 (en) * 2016-02-15 2021-10-05 Sal Khan System and method, which using blockchain and mobile devices, provides the validated and authenticated identity of an individual to a valid and authenticated requestor
CN106102058B (zh) * 2016-05-30 2019-04-12 飞天诚信科技股份有限公司 一种身份认证方法及装置
CN108092776B (zh) * 2017-12-04 2020-11-10 南京南瑞信息通信科技有限公司 一种基于身份认证服务器和身份认证令牌的***
CN109005155B (zh) * 2018-07-04 2021-11-12 奇安信科技集团股份有限公司 身份认证方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323068A (zh) * 2014-07-30 2016-02-10 苏州海博智能***有限公司 一种动态口令生成及认证方法、装置和***
CN105897424A (zh) * 2016-03-14 2016-08-24 深圳奥联信息安全技术有限公司 一种增强身份认证的方法
CN109684801A (zh) * 2018-11-16 2019-04-26 阿里巴巴集团控股有限公司 电子证件的生成、签发和验证方法及装置

Also Published As

Publication number Publication date
CN111740846A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111740846B (zh) 一种移动终端读取智能卡信息的实现方法及***
CN104065653B (zh) 一种交互式身份验证方法、装置、***和相关设备
CN105099692B (zh) 安全校验方法、装置、服务器及终端
CN107888381B (zh) 一种密钥导入的实现方法、装置及***
CN106790156B (zh) 一种智能设备绑定方法及装置
CN104767617A (zh) 一种信息处理方法、***和相关设备
CN104767616A (zh) 一种信息处理方法、***及相关设备
CN104836784A (zh) 一种信息处理方法、客户端和服务器
CN105450413A (zh) 一种密码的设置方法、装置和***
CN101171860B (zh) 管理接入多媒体内容的安全方法和设备
CN108418679B (zh) 一种多数据中心下处理密钥的方法、装置及电子设备
CN111444496A (zh) 应用控制方法、装置、设备以及存储介质
CN111770081B (zh) 基于角色认证的大数据机密文件访问方法
US9756044B2 (en) Establishment of communication connection between mobile device and secure element
CN111132149B (zh) 5g用户终端的注册方法、用户终端设备及介质
CN111148213B (zh) 5g用户终端的注册方法、用户终端设备及介质
CN112307875A (zh) 人脸验证方法及人脸验证***
KR101745482B1 (ko) 스마트홈 시스템에서의 통신 방법 및 그 장치
CN114244505B (zh) 一种基于安全芯片的安全通信方法
KR101329789B1 (ko) 모바일 디바이스의 데이터베이스 암호화 방법
CN115567271A (zh) 鉴权方法和装置、页面跳转方法和装置、电子设备及介质
CN111586024B (zh) 一种认证方法、设备和存储介质
US9775043B2 (en) Network locking method and system for wireless terminal
CN111508108B (zh) 一种智能锁数据通信的加密***及解密***
CN111310140B (zh) 应用登录鉴权方法、电子设备、移动终端和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant