CN108881310B - 一种注册系统及其工作方法 - Google Patents

一种注册系统及其工作方法 Download PDF

Info

Publication number
CN108881310B
CN108881310B CN201810929968.0A CN201810929968A CN108881310B CN 108881310 B CN108881310 B CN 108881310B CN 201810929968 A CN201810929968 A CN 201810929968A CN 108881310 B CN108881310 B CN 108881310B
Authority
CN
China
Prior art keywords
module
authenticator
identifier
analyzing
registration response
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
CN201810929968.0A
Other languages
English (en)
Other versions
CN108881310A (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 CN201810929968.0A priority Critical patent/CN108881310B/zh
Publication of CN108881310A publication Critical patent/CN108881310A/zh
Priority to PCT/CN2019/100669 priority patent/WO2020035009A1/zh
Application granted granted Critical
Publication of CN108881310B publication Critical patent/CN108881310B/zh
Priority to US17/173,092 priority patent/US11811952B2/en
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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/3247Cryptographic 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 digital signatures
    • 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)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种注册系统及其工作方法,涉及通信领域;所述方法包括服务器生成认证策略和挑战值;根据接收依赖方发送的应用标识、认证策略和挑战值生成注册请求,向客户端发送注册请求;客户端根据应用标识和挑战值生成验证身份指令,向认证器发送验证身份指令;认证器根据验证身份指令中的应用标识和挑战值生成最终挑战哈希值;生成签名公钥、签名私钥和签名密钥标识;根据预置的认证器标识、最终挑战哈希值、签名密钥标识和签名公钥和预置的认证器私钥生成签名值;向服务器发送根据签名公钥、签名密钥标识、认证器标识和签名值生成的注册响应;服务器对签名值认证成功后,对应保存解析注册响应得到的签名公钥、签名密钥标识和认证器标识。

Description

一种注册系统及其工作方法
技术领域
本发明涉及通信领域,尤其涉及一种注册系统及其工作方法。
背景技术
随着我们对网络的使用,在线帐户越来越多,在线用户多依赖于以密码为主要验证手段的验证方式;每个用户每天可能会登录许多账号,针对不同账号,如果密码一样,一旦密码泄露,多数据都会泄露,极其不安全;如果密码不同,则不同账号的密码多而杂乱,忘记密码或者密码记混乱现象频繁发生,给用户带来极大不便;且每次登录账号都要输入密码,十分繁琐;此外,随着数据泄露事故的频发,传统的基于密码的验证方式已越来越不能满足用户的需求。
目前网络中最常用的认证方法有动态口令和密码技术等,而这些认证方法侧重于强化密码。大多数用户通常采用“帐户名+口令+短信验证码”的方式,登录移动应用后,再次使用无需验证口令,存在一定的风险;还有一种是采用生物特征识别技术作为输入口令的替代物,如利用语音、指纹、人脸识别、虹膜等。这种新的身份认证方式在某种程度上改善了用户体验,但是其认证系统依然采取传统模式,将生物特征信息安全的存储在客户端认证器中中,用户在客户端输入生物特征信息,这些信息与预先存储的生物特征模版匹配,从而完成认证;而人的生物特征都是特定的,如果服务器端遭受攻击则大量用户的私密信息将被泄露,给用户带来了极大不便。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种注册系统及其工作方法。
本发明提供了一种注册系统的工作方法,包括以下步骤:
步骤S1:当依赖方接收到客户端发送的包含用户帐号的登录注册请求信息时,所述依赖方根据所述用户帐号和预置的应用标识生成触发注册请求,向服务器发送所述触发注册请求;
步骤S2:所述服务器接收并解析所述触发注册请求得到用户帐号和应用标识;根据所述触发注册请求生成认证策略和挑战值;根据所述应用标识、所述认证策略、所述挑战值和所述用户帐号生成注册请求,通过所述依赖方向所述客户端发送所述注册请求;
步骤S3:所述客户端接收并解析所述注册请求得到应用标识、认证策略、挑战值和用户帐号;根据所述认证策略选择认证器;根据所述应用标识和所述挑战值生成第一最终挑战数据;根据所述第一最终挑战数据、所述应用标识和所述用户帐号生成验证身份指令,向选择的所述认证器发送所述验证身份指令;
步骤S4:所述认证器接收并解析所述验证身份指令得到第一最终挑战数据、应用标识和用户帐号;根据所述应用标识和所述用户帐号生成访问令牌数据;对所述第一最终挑战数据进行哈希运算生成最终挑战哈希值;获取用户身份信息;根据所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
步骤S5:所述认证器根据预置的认证器标识、所述最终挑战哈希值、所述签名密钥标识和所述签名公钥生成待签名数据,使用预置的认证器私钥对所述待签名数据进行计算得到签名值;根据所述认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应,通过所述客户端和所述依赖方向所述服务器发送所述注册响应;
步骤S6:所述服务器接收并解析所述注册响应,分别对解析所述注册响应得到的认证器标识、最终挑战哈希值、认证器证书和签名值进行验证;判断是否全部验证成功,当全部验证成功时,对应保存解析所述注册响应得到的所述签名公钥、所述签名密钥标识和所述认证器标识,否则报错,结束。
本发明又提供了一种注册系统,包括认证器、客户端、依赖方和服务器;
所述客户端包括第一发送模块、第一接收模块、第二解析模块、选择模块、第四生成模块和第五生成模块;
所述依赖方包括第二发送模块、第二接收模块、第一预置模块和第一生成模块;
所述服务器包括第三发送模块、第三接收模块、第一解析模块、第二生成模块、第三生成模块、第四解析模块、第一验证模块、第二验证模块、第三验证模块、第四验证模块、第一判断模块和保存模块;
所述认证器包括第四发送模块、第四接收模块、第三解析模块、第六生成模块、第七生成模块、第一获取模块、第八生成模块、第九生成模块、第二预置模块、计算模块和第十生成模块;
所述第一发送模块,用于向所述依赖方发送包含用户帐号的登录注册请求信息;
所述第二接收模块,用于接收所述第一发送模块发送的包含用户帐号的登录注册请求信息;
所述第一预置模块,用于预置应用标识;
所述第一生成模块,用于当所述第二接收模块接收到包含用户帐号的登录注册请求信息时,根据所述用户帐号和所述第一预置模块预置的应用标识生成触发注册请求;
所述第二发送模块,用于向服务器发送所述第一生成模块生成的所述触发注册请求;
所述第三接收模块,用于接收所述第二发送模块发送的所述触发注册请求;
所述第一解析模块,用于解析所述第三接收模块接收的所述触发注册请求得到用户帐号和应用标识;
所述第二生成模块,用于根据所述第三接收模块接收的所述触发注册请求生成认证策略和挑战值;
所述第三生成模块,用于根据所述第一解析模块解析所述触发注册请求得到的应用标识和用户帐号及所述第二生成模块生成的所述认证策略和所述挑战值生成注册请求;
所述第三发送模块,用于向所述依赖方发送所述第三生成模块生成的所述注册请求;
所述第二接收模块,还用于接收所述第三发送模块发送的所述注册请求;
所述第二发送模块,还用于向所述客户端发送所述第二接收模块接收的所述注册请求;
所述第一接收模块,用于接收所述第二发送模块发送的所述注册请求;
所述第二解析模块,用于解析所述第一接收模块接收的所述注册请求得到应用标识、认证策略、挑战值和用户帐号
所述选择模块,用于根据所述第二解析模块解析所述注册请求得到的所述认证策略选择认证器;
所述第四生成模块,用于根据所述第二解析模块解析所述注册请求得到的所述应用标识和所述挑战值生成第一最终挑战数据;
所述第五生成模块,用于根据所述第四生成模块生成的所述第一最终挑战数据、所述第二解析模块解析所述注册请求得到的所述应用标识和所述用户帐号生成验证身份指令;
所述第一发送模块,还用于向所述认证器发送所述第五生成模块生成的所述验证身份指令;
所述第四接收模块,用于接收所述第一发送模块发送的所述验证身份指令;
所述第三解析模块,用于解析所述第四接收模块接收的所述验证身份指令得到第一最终挑战数据、应用标识和用户帐号;
所述第六生成模块,用于根据所述第三解析模块解析所述验证身份指令得到的所述应用标识和所述用户帐号生成访问令牌数据;
所述第七生成模块,用于对所述第三解析模块解析所述验证身份指令得到的所述第一最终挑战数据进行哈希运算生成最终挑战哈希值;
所述第一获取模块,用于在所述第四接收模块接收所述验证身份指令之后,获取用户身份信息;
所述第八生成模块,用于根据所述第一获取模块获取的所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
所述第二预置模块,用于预置认证器标识、认证器私钥和认证器证书;
所述第九生成模块,用于根据所述第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名密钥标识和所述签名公钥生成待签名数据;
所述计算模块,用于使用所述第二预置模块预置的所述认证器私钥对所述第九生成模块生成的所述待签名数据进行计算得到签名值;
所述第十生成模块,用于根据第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名公钥、所述第八生成模块生成的所述签名密钥标识、所述第二预置模块预置的认证器证书和所述计算模块计算得到的所述签名值生成注册响应;
所述第四发送模块,用于向所述客户端发送所述第十生成模块生成的所述注册响应;
所述第一接收模块,还用于接收所述第四发送模块发送的所述注册响应;
所述第一发送模块,还用于向所述依赖方发送所述第一接收模块接收的所述注册响应;
所述第二接收模块,还用于接收所述第一发送模块发送的所述注册响应;
所述第二发送模块,还用于向所述服务器发送所述第二接收模块接收的所述注册响应;
所述第三接收模块,还用于接收所述第二发送模块发送的所述注册响应;
所述第四解析模块,用于解析所述第三接收模块接收的所述注册响应得到认证器标识、最终挑战哈希值、认证器证书和签名值;
所述第一验证模块,用于对所述第四解析模块解析所述注册响应得到的所述认证器标识进行验证;
所述第二验证模块,用于对所述第四解析模块解析所述注册响应得到的所述最终挑战哈希值进行验证;
所述第三验证模块,用于对所述第四解析模块解析所述注册响应得到的所述认证器证书进行验证;
所述第四验证模块,用于对所述第四解析模块解析所述注册响应得到的所述签名值进行验证;
所述第一判断模块,用于判断所述第一验证模块、所述第二验证模块、所述第三验证模块和所述第四验证模块是否全部验证成功,否则报错,结束;
所述保存模块,用于当所述第一判断模块判断所述第一验证模块、所述第二验证模块、所述第三验证模块和所述第四验证模块全部验证成功时,对应保存所述第四解析模块解析所述注册响应得到的所述签名公钥、所述签名密钥标识和所述认证器标识。
本发明与现有技术相比,具有以下优点:认证器保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的安全隐患。
附图说明
图1为本发明实施例一提供的一种注册系统的工作方法的流程图;
图2和图3为本发明实施例二提供的一种注册系统的工作方法的流程图;
图4为本发明实施例三提供的一种注册系统的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种注册系统的工作方法,如图1所示,包括以下步骤:
步骤101:当依赖方接收到客户端发送的包含用户帐号的登录注册请求信息时,依赖方根据用户帐号和预置的应用标识生成触发注册请求,向服务器发送触发注册请求;
步骤102:服务器接收并解析触发注册请求得到用户帐号和应用标识;根据触发注册请求生成认证策略和挑战值;根据应用标识、认证策略、挑战值和用户帐号生成注册请求,通过依赖方向客户端发送注册请求;
步骤103:客户端接收并解析注册请求得到应用标识、认证策略、挑战值和用户帐号;根据认证策略选择认证器;根据应用标识和挑战值生成第一最终挑战数据;根据第一最终挑战数据、应用标识和用户帐号生成验证身份指令,向选择的认证器发送验证身份指令;
可选地,本实施例中,步骤103中,当客户端根据认证策略选择的认证器的数量大于一个时,还包括:客户端显示选择的符合认证策略的认证器,提示用户从显示的所有认证器中选择将要进行通讯的认证器,当接收到用户选择认证器的信息时,向选择的认证器发送验证身份指令。
可选地,本实施例中,步骤103中,根据认证策略选择认证器,具体为客户端选择符合认证策略规定的版本标识、认证器标识和用户认证方式的认证器。
步骤104:证器接收并解析验证身份指令得到第一最终挑战数据、应用标识和用户帐号;根据应用标识和用户帐号生成访问令牌数据;对第一最终挑战数据进行哈希运算生成最终挑战哈希值;获取用户身份信息;根据用户身份信息生成签名公钥、签名私钥和签名密钥标识;
可选地,本实施例中,步骤104中,根据应用标识和用户帐号生成访问令牌数据之前,还包括:认证器生成随机数;
相应地,根据应用标识和用户帐号生成访问令牌数据,具体为认证器根据随机数、应用标识和用户帐号生成访问令牌数据。
可选地,本实施例中,步骤104中,根据应用标识和用户帐号生成访问令牌数据,具体为认证器根据应用标识和用户帐号生成组合数据,对组合数据进行哈希运算生成访问令牌数据。
可选地,本实施例中,步骤104中,获取用户身份信息,具体为认证器提示用户输入用户身份信息,判断用户输入的用户身份信息是否通过验证,是则执行根据用户身份信息生成签名公钥、签名私钥和签名密钥标识,否则报错。
可选地,本实施例中,步骤104中,获取用户身份信息,具体为认证器提示用户输入用户身份信息,判断是否接收到用户输入的用户身份信息,是则执行根据用户身份信息生成签名公钥、签名私钥和签名密钥标识,否则报错。
步骤105:认证器根据预置的认证器标识、最终挑战哈希值、签名密钥标识和签名公钥生成待签名数据,使用预置的认证器私钥对待签名数据进行计算得到签名值;根据认证器标识、最终挑战哈希值、签名公钥、签名密钥标识、预置的认证器证书和签名值生成注册响应,通过客户端和依赖方向服务器发送注册响应;
步骤106:服务器接收并解析注册响应,分别对解析注册响应得到的认证器标识、最终挑战哈希值、认证器证书和签名值进行验证;判断是否全部验证成功,当全部验证成功时,对应保存解析注册响应得到的签名公钥、签名密钥标识和认证器标识,否则报错,结束;
可选地,本实施例中,步骤105中,还包括:认证器更新预置的第一计数值;
相应地,步骤105中,认证器根据预置的认证器标识、最终挑战哈希值、签名密钥标识和签名公钥生成待签名数据,具体为认证器根据预置的认证器标识、最终挑战哈希值、签名公钥、签名密钥标识和更新的第一计数值生成待签名数据;
相应地,步骤105中,根据认证器标识、最终挑战哈希值、签名公钥、签名密钥标识、预置的认证器证书和签名值生成注册响应,具体为根据更新的第一计数值、认证器标识、最终挑战哈希值、签名公钥、签名密钥标识、预置的认证器证书和签名值生成注册响应;
相应地,步骤106中,判断是否全部验证成功之前,还包括:服务器对解析注册响应得到的第一计数值进行验证;
相应地,步骤106中,当全部验证成功时,还包括:服务器保存第一计数值。
更进一步地,本实施例中,服务器对解析注册响应得到的第一计数值进行验证,具体为服务器判断解析注册响应得到的第一计数值是否大于预置的第二计数值,是则验证成功,否则验证失败。
可选地,本实施例中,依赖方与客户端之间的数据传输全部通过预置的安全信道进行;
更进一步地,本实施例中,根据应用标识和挑战值生成第一最终挑战数据,具体为客户端根据预置的安全信道数据、应用标识和挑战值生成第一最终挑战数据;
相应地,步骤106中,对解析注册响应得到的最终挑战哈希值进行验证之前,还包括:服务器接收依赖方发送的预置的安全信道数据;
相应地,步骤106中,对解析注册响应得到的最终挑战哈希值进行验证,具体为服务器根据接收的安全信道数据、解析触发注册请求得到的应用标识和生成的挑战值生成第二最终挑战数据,对第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的哈希运算结果与解析注册响应得到的最终挑战哈希值是否相同,是则验证成功,否则验证未成功。
可选地,本实施例中,步骤103中,客户端接收并解析注册请求得到应用标识、认证策略、挑战值和用户帐号之后,还包括:客户端根据应用标识判断当前的用户代理标识是否合法,是则执行根据应用标识和挑战值生成第一最终挑战数据,否则报错。
更进一步地,本实施例中,客户端根据应用标识判断当前的用户代理标识是否合法,是则执行根据应用标识和挑战值生成第一最终挑战数据,否则报错,具体包括以下步骤:
步骤D1:客户端根据应用标识生成获取用户代理标识列表请求,向依赖方发送获取用户代理标识列表请求;
步骤D2:依赖方接收获取用户代理标识列表请求,获取用户代理标识列表,向客户端发送用户代理标识列表;
步骤D3:客户端接收用户代理标识列表,判断用户代理标识列表中是否存在当前的用户代理标识,是则当前的用户代理标识合法,执行根据应用标识和挑战值生成第一最终挑战数据,否则报错。
可选地,本实施例中,用户身份信息包括指纹信息和/或掌纹信息和/或语音信息和/或人脸信息和/或虹膜信息和/或静脉信息和/或PIN码。
可选地,本实施例中,步骤105中,根据认证器标识、最终挑战哈希值、签名公钥、签名密钥标识、预置的认证器证书和签名值生成注册响应,具体为根据认证器标识、第一最终挑战数据、最终挑战哈希值、签名公钥、签名密钥标识、预置的认证器证书和签名值生成注册响应;
相应地,步骤106中,服务器接收并解析注册响应之后,判断是否全部验证成功之前,还包括:服务器对解析注册响应得到的第一最终挑战数据进行验证;
可选地,本实施例中,步骤105中,通过客户端和依赖方向服务器发送注册响应,具体包括以下步骤:
步骤C1:认证器向客户端发送注册响应;
步骤C2:客户端接收注册响应,将生成的第一最终挑战数据附加到注册响应中更新注册响应,向依赖方发送更新的注册响应;
步骤C3:依赖方接收注册响应,向服务器发送注册响应;
步骤106中,服务器接收并解析注册响应之后,判断是否全部验证成功之前,还包括:服务器对解析注册响应得到的第一最终挑战数据进行验证;
更进一步地,本实施例中,服务器对解析注册响应得到的第一最终挑战数据进行验证,具体为服务器判断解析注册响应得到的第一最终挑战数据中的应用标识是否与触发注册请求中的应用标识相同;判断解析注册响应得到的第一最终挑战数据中的挑战值是否与生成的挑战值相同,如果全部相同则验证成功,执行判断是否全部验证成功,否则验证失败。
可选地,本实施例中,步骤106中,对解析注册响应得到的认证器标识进行验证,具体为服务器判断解析注册响应得到的认证器标识是否符合生成的认证策略,当解析注册响应得到的认证器标识符合生成的认证策略时,验证成功。
可选地,本实施例中,步骤106中,对解析注册响应得到的最终挑战哈希值进行验证,具体为服务器根据解析触发注册请求得到的应用标识和生成的挑战值生成第二最终挑战数据,对生成的第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的哈希运算结果与解析注册响应得到的最终挑战哈希值是否相同,当生成的哈希运算结果与解析注册响应得到的最终挑战哈希值相同时,验证成功。
可选地,本实施例中,步骤106中,对解析注册响应得到的认证器证书进行验证,具体为服务器利用第三预设算法对解析注册响应得到的认证器证书进行运算生成运算结果,判断运算结果是否为第一预设值,当运算结果为第一预设值时,验证成功。
可选地,本实施例中,步骤106中,对解析注册响应得到的签名值进行验证,具体为服务器从解析注册响应得到的认证器证书中提取认证器公钥,利用第二预设算法使用认证器公钥对解析注册响应得到的签名值进行验证。
可选地,本实施例中,步骤106中,对应保存签名公钥、签名密钥标识和认证器标识之前,还包括:服务器根据解析注册响应得到的认证器标识和签名密钥标识判断认证器是否已经注册过,是则报错,否则对应保存签名公钥、签名密钥标识和认证器标识。
本实施例中,用户代理集成于客户端,用户代理所执行的操作归于客户端;
本实施例提供的一种注册系统的工作方法中,认证器保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的安全隐患。
实施例二
本发明实施例二提供一种注册系统的工作方法,如图2和图3所示,包括以下步骤:
步骤201:当用户代理接收到用户的登录注册请求信息时,用户代理生成登录注册请求,通过预置的安全信道向依赖方发送登录注册请求;
例如,本实施例中,登录注册请求为https://uaftest.cloudentify.com:18443/ login
例如,本实施例中,用户代理可以为应用程序(Application);
可选地,本实施例中,用户代理可为浏览器,此时,步骤201可以替换为步骤201-1:用户代理接收到用户输入的依赖方资源访问地址及URL,用户代理通过安全信道向依赖方发送用户输入的依赖方资源访问地址及URL;URL(统一资源定位符)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址;
可选地,本实施例中,步骤201之前,还包括:用户代理和依赖方之间根据TLS协议(安全传输层协议)预置安全信道;安全信道用于给用户代理和依赖方之间的数据通信提供保密性和数据完整性;本实施例中,用户代理和依赖方之间的数据传输全部需要通过安全信道进行;可选地,安全信道数据在用户代理和依赖方中预置;
步骤202:依赖方接收登录注册请求,生成输入框单信息,通过安全信道向用户代理发送生成的输入框单信息;
例如,本实施例中,输入框单信息为<formaction="https://uaftest.cloudentify.com:18443/login">
<labelfor="uname"><b>Username</b></label>
<inputtype="text"name="uname"required>
<labelfor="psw"><b>Password</b></label>
<inputtype="password"name="psw"required>
<buttontype="submit">Login</button>
</form>;
相应地,当步骤201替换为步骤201-1时,步骤202替换为步骤202-1:依赖方接收依赖方资源访问地址及URL,生成输入框单信息;
步骤203:用户代理接收输入框单信息,生成输入框单并显示;当接收到用户输入的用户帐号和登录密码时,根据接收到的用户帐号和登录密码生成提交框单请求,通过安全信道向依赖方发送生成的提交框单请求;
例如,本实施例中,用户帐号为lenovok52;
登录密码为******;
步骤204:依赖方接收并解析提交框单请求得到用户帐号和登录密码,根据解析得到的用户帐号和登录密码判断用户身份是否合法,是则执行步骤205,否则报错;
可选地,本实施例中,步骤204中,根据解析得到的用户帐号和登录密码判断用户身份是否合法,具体为
依赖方判断是否保存有解析得到的用户帐号,如果没有,则报错;如果有,则判断解析得到的登录密码和与保存的用户帐号相对应的登录密码是否相同,是则执行步骤205,否则报错;本实施例中,步骤201之前进行用户在依赖方的帐户注册流程:在帐户注册流程中依赖方对应保存用户帐号和登录密码;
步骤205:依赖方根据预置的应用标识和解析得到的用户帐号生成触发注册请求,向服务器发送生成的触发注册请求;
可选地,本实施例中,步骤205之前,依赖方预置应用标识,用于标识依赖方的地址;
例如,本实施例中,
用户帐号为"lenovok52";
触发注册请求为https://uaftest.cloudentify.com:18443/facets
步骤206:服务器接收并解析触发注册请求得到应用标识和用户帐号;生成认证策略和挑战值,根据生成的认证策略、生成的挑战值、解析得到的应用标识和解析得到的用户帐号生成注册请求,向依赖方发送生成的注册请求;
具体地,本实施例中,挑战值作为挑战信息,供服务器进行后续的注册响应的消息认证;
具体地,本实施例中,认证策略也可以预先预置在服务器中;认证策略用于选择允许进行注册操作的认证器;认证策略包括接受部分,接受部分包括用户想要绑定的认证器的匹配准则(例如,认证器标识、认证器版本号和用户认证方式);可选地,认证策略还可以包括禁止部分,禁止部分包括一些不能接受的认证器的信息,及当前用户帐户下已经注册过的认证器的信息(例如,认证器标识和签名密钥标识)来表明不能重复注册;
可选地,本实施例中,认证器标识唯一确定一个认证器的型号;认证器标识的数据格式为“V#M”,V是vendor的缩写,表示认证器的提供商,#是分隔符,M是Machine的缩写,表示认证器的型号;认证器标识对于大小写不敏感;只有相同商家和相同型号的认证器才能使用相同的认证器标识;当认证器改变以后,比如修复更新固件等,必须使用新的认证器标识;
例如,本实施例中,
认证策略为"policy":{"accepted":[[{"aaid":["17EF#6010"]}],[{"aaid":["FFFF#5201"]}]]};
挑战值为:"challenge":"eVphUG43Nnh6UXJMSzNGMStSb2w";
步骤207:依赖方接收注册请求,通过安全信道向用户代理发送接收的注册请求;
步骤208:用户代理接收注册请求,根据当前的用户代理标识更新注册请求,向客户端发送更新的注册请求;
可选地,本实施例中,根据预置的用户代理标识更新注册请求,具体为用户代理在注册请求中附加预置的用户代理标识更新注册请求;步骤201之前,用户代理预置用户代理标识,用户代理标识用于标识用户代理;
例如,本实施例中,用户代理标识为https://uaftest.cloudentify.com:18443
步骤209:客户端接收并解析注册请求得到用户代理标识、应用标识、认证策略、挑战值和用户帐号;根据解析得到的应用标识判断解析得到的用户代理标识是否合法,是则执行步骤210,否则报错;
可选地,本实施例中,客户端根据解析得到的应用标识判断解析得到的用户代理标识是否合法,是则执行步骤210,否则报错,具体包括以下步骤:
步骤D1:所述客户端根据所述应用标识生成获取用户代理标识列表请求;向依赖方发送用户代理标识列表请求;
步骤D2:依赖方接收获取用户代理标识列表请求,获取用户代理标识列表,生成获取用户代理标识列表响应,向客户端发送获取用户代理标识列表响应;
步骤D3:客户端接收并解析获取用户代理标识列表响应得到用户代理标识列表,判断所述用户代理标识列表中是否存在解析注册请求得到的所述用户代理标识,是则解析得到的用户代理标识合法,执行步骤210,否则报错;
步骤210:客户端根据解析得到的应用标识和解析得到的挑战值生成第一最终挑战数据;选择符合解析得到的认证策略的认证器并显示,提示用户选择将要进行通讯的认证器;当接收用户选择认证器的信息时,根据生成的第一最终挑战数据、解析得到的应用标识和解析得到的用户帐号生成验证身份指令,向认证器发送生成的验证身份指令;
可选地,本实施例中,选择符合解析得到的认证策略的认证器,具体为客户端选择符合认证策略规定的版本标识、认证器标识和用户认证方式的认证器;
可选地,本实施例中,客户端根据解析得到的应用标识和生成的挑战值生成的第一最终挑战数据,具体为客户端根据预置的安全信道数据、解析得到的应用标识和生成的挑战值生成第一最终挑战数据;
例如,本实施例中,第一最终挑战数据为eVphUG43Nnh6UXJMSzNGMStSb2w;
验证身份指令为023460000D280100010A2E2000e8ab97dbcaea1f6367d5c74c3293bda3516c54f538689ccd0e24b17c5bf2d78606280900lenovok5207180200073E05282000c99a03bf1f01346c1809476df9bd0dbf195086e99ece4b81115335205af67b67;
步骤211:认证器接收并解析验证身份指令得到第一最终挑战数据、应用标识和用户帐号并保存;对根据保存的应用标识和保存的用户帐号生成的组合数据进行哈希运算生成访问令牌数据;对保存的第一最终挑战数据进行哈希运算生成最终挑战哈希值;
可选地,本实施例中,对根据保存的应用标识和保存的用户帐号生成的组合数据进行哈希运算生成访问令牌数据之前,还包括:生成随机数;相应地,对根据保存的应用标识和保存的用户帐号生成的组合数据进行哈希运算生成访问令牌数据,具体为认证器对根据生成的随机数、保存的应用标识和保存的用户帐号生成的组合数据进行哈希运算生成访问令牌数据;
可选地,本实施例中,对根据保存的应用标识和解析得到的用户帐号生成的组合数据进行哈希运算生成访问令牌数据之后,还包括:认证器根据保存的应用标识和生成的访问令牌数据生成组合数据,对生成的组合数据进行哈希运算更新访问令牌数据;
可选地,本实施例中,认证器接收并解析验证身份指令得到第一最终挑战数据、应用标识和用户帐号之后,还包括:认证器显示解析得到的应用标识;
例如,本实施例中,访问令牌数据为3be9d6748aac338dba64fceb59c7903c48fda285c3e489a42ecf17b84fa08046;
最终挑战哈希值为e8ab97dbcaea1f6367d5c74c3293bda3516c54f538689ccd0e24b17c5bf2d786;
步骤212:认证器提示用户输入用户身份信息,当接收到用户输入的用户身份信息时,验证用户输入的用户身份信息,判断用户身份信息是否验证成功,是则执行步骤213,否则报错;
可选地,本实施例中,验证用户输入的用户身份信息,具体为认证器判断用户输入的用户身份信息和与解析得到的用户帐号对应的用户身份信息是否相同;步骤212之前进行绑定流程,认证器接收用户输入的用户身份信息并与用户帐号对应保存,预置在认证器中;
可选地,本实施例中,根据解析得到的用户帐号验证用户输入的用户身份信息,判断是否验证成功,可以替换为认证器判断是否接收到用户输入的用户身份信息;
更进一步地,本实施例中,步骤212之前还包括:认证器提示用户选择用户身份信息的方式,当接收到用户选择的用户身份信息的方式的信息时,执行步骤212;
可选地,本实施例中,步骤212中,验证用户输入的用户身份信息,判断用户身份信息是否验证成功,具体为认证器提取用户输入的用户身份信息的身份关键信息,判断提取的身份关键信息和与解析得到的用户帐号对应的身份关键信息是否相同;
可选地,本实施例中,用户身份信息包括指纹信息和/或掌纹信息和/或语音信息和/或人脸信息和/或虹膜信息和/或静脉信息和/或PIN码;本实施例中,PIN码(PersonalIdentification Number)用于识别用户身份;
步骤213:认证器根据用户身份信息生成签名公钥、签名私钥和签名密钥标识,并将解析得到的用户帐号、生成的签名公钥、签名私钥和签名密钥标识与用户身份信息对应保存;
例如,本实施例中,签名公钥为049cf30d829cf85d52c53475c75bda74d9f736d8ecf925e7673ebf9b2b328ad55bd81087956b54b6c56f048bee21da9bd9b16162f7abeb9a9103a9cdd26b58890e;
签名密钥标识为3be9d6748aac338dba64fceb59c7903c48fda285c3e489a42ecf17b84fa08046;
可选地,本实施例中,步骤213之后,还包括:认证器根据解析得到的应用标识、解析得到的用户帐号、生成的访问令牌数据、保存的签名私钥和保存的签名密钥标识生成原始签名密钥数据并保存;
步骤214:认证器更新预置的第一计数值;根据预置的认证器标识、生成的最终挑战哈希值、保存的签名密钥标识、保存的签名公钥和更新后的第一计数值生成待签名数据,使用预置的认证器私钥对生成的待签名数据进行签名生成签名值;
可选地,本实施例中,认证器出厂时预置认证器标识;认证器标识用于唯一确定一个认证器的型号;认证器标识的数据格式为“V#M”,V是vendor的缩写,表示认证器的提供商,#是分隔符,M是Machine的缩写,表示认证器的型号,它对于大小写不敏感;只有相同商家,相同型号的认证器才能使用相同的认证器标识;当认证器改变以后,比如修复更新固件等,必须使用新的认证器标识;
可选地,本实施例中,认证器在出厂时预置认证器私钥和认证器公钥;
例如,本实施例中,认证器标识为17EF#6010;
第一计数值为0179;
签名值为ccd59ddc4d1fdbe6063a7bc5b3ffb825ae19306326ab2057c80acd8b2cae1b9ab28c238401d8eb9f0e35ee1345eb708c35b699b4d0d37deddfcd62feec359d33;
步骤215:认证器根据预置的认证器标识、最终挑战哈希值、保存的签名公钥、保存的签名密钥标识、更新后的第一计数值、预置的认证器证书和生成的签名值生成注册响应,用更新后的第一计数值替换预置的第一计数值,向客户端发送生成的注册响应;
可选地,本实施例中,认证器证书由认证器的可信中心颁发;
例如,本实施例中,
认证器证书为3082020d308201b4020200a4300906072a8648ce3d0401308191310b300906035504061302434e3110300e060355040813074265696a696e673110300e060355040713074265696a696e6731163014060355040a130d6e6f6b6e6f6b6c6162732e636e310c300a060355040b14035226443110300e06035504031307526f636b2043413126302406092a864886f70d0109011617726f636b2e77616e67406e6f6b6e6f6b6c6162732e636e301e170d3135313232333033303233325a170d3235313232303033303233325a308193310b300906035504061302434e3110300e060355040813074265696a696e673110300e060355040713074265696a696e6731163014060355040a130d6e6f6b6e6f6b6c6162732e636e310c300a060355040b140352264431123010060355040314093137454623363031303126302406092a864886f70d0109011617726f636b2e77616e67406e6f6b6e6f6b6c6162732e636e3059301306072a8648ce3d020106082a8648ce3d03010703420004fd9fab234294a40c2b0dcb23471c719abf1a6404dd19de9aa873d863500d3b98ad5a7a75b66a45ca0906d771fc464faae7dedb0647d553103753a80e979606f0300906072a8648ce3d04010348003045022100938a0d5c3ad90d74540113feae499189b44f21709a552b56b6b3da0eb0e7e29702203fda81610fe7f41da7d1ea2ec856a58c17626bfed8d1c60bd8e188fd1ec558fe;
步骤216:客户端接收注册响应,根据保存的第一最终挑战数据更新注册响应,向用户代理发送更新的注册响应;
可选地,本实施例中,根据保存的第一最终挑战数据更新注册响应,具体为客户端将第一最终挑战数据添加到注册响应更新注册响应;
步骤217:用户代理接收注册响应,通过安全信道向依赖方发送注册响应;
步骤218:依赖方接收注册响应,向服务器发送接收的注册响应;
步骤219:服务器接收并解析注册响应得到第一最终挑战数据、认证器标识、最终挑战哈希值、签名公钥、签名密钥标识、更新后的第一计数值、签名值和认证器证书;
步骤220:服务器分别对解析得到的第一最终挑战数据、认证器标识、最终挑战哈希值、更新后的第一计数值和认证器证书进行验证,当全部验证成功时,执行步骤221,否则报错;
可选地,本实施例中,步骤220具体为服务器判断解析得到的第一最终挑战数据中的应用标识是否与注册请求中的应用标识相同;判断解析得到的第一最终挑战数据中的挑战值是否与注册请求中的挑战值相同;判断解析得到的认证器标识是否符合注册请求中的认证策略;根据注册请求中的应用标识和注册请求中的挑战值生成第二最终挑战数据,对生成的第二最后挑战数据进行哈希运算生成运算结果,判断解析得到的最终挑战哈希值与生成的运算结果是否相同;判断更新后的第一计数值是否大于预置的第二计数值;判断利用第三预设算法对认证器的根证书和认证器证书进行运算所得的运算结果是否为第一预设值;如果判断全为是,则执行步骤221,否则报错;
更进一步地,本实施例中,当步骤210中,客户端根据预置的安全信道数据、解析得到的应用标识和生成的挑战值生成的第一最终挑战数据时,相应地,步骤220具体中,如果全为是之前,还包括:客户端判断第一最终挑战数据中的安全信道数据是否与接收的依赖方发送的安全信道数据相同;相应地,本步骤之前,依赖方向客户端发送安全信道数据;服务器接收依赖方发送的安全信道数据;
可选地,本实施例中,认证器的认证器证书中包括根证书;
步骤221:服务器从认证器证书中提取认证器公钥,利用第二预设算法使用提取的认证器公钥对解析得到的签名值进行验证,当验证通过时,执行步骤222,否则报错;
可选地,本实施例中,步骤221具体为服务器从认证器证书中提取认证器公钥,利用第二预设算法使用提取的认证器公钥对解析得到的签名值进行验证,当验证结果不为0时,执行步骤222,当验证为0时,报错;
例如,本实施例中,认证器公钥为04fd9fab234294a40c2b0dcb23471c719abf1a6404dd19de9aa873d863500d3b98ad5a7a75b66a45ca0906d771fc464faae7dedb0647d553103753a80e979606f0;
可选地,本实施例中,步骤220与步骤221还可以替换位置;
步骤222:服务器根据解析得到的认证器标识和签名密钥标识判断认证器是否已经注册过,是则报错,否则执行步骤223;
步骤223:服务器对应保存签名公钥、签名密钥标识、解析注册响应得到的第一计数值和认证器标识;生成验证成功信息,向依赖方发送生成的验证成功信息;
步骤224:依赖方接收验证成功信息,通过安全信道向用户代理发送验证成功信息;
步骤225:用户代理接收验证成功信息。
可选地,本实施例中,服务器接收到的注册响应包括第一最终挑战数据,生成包括第一最终挑战数据注册响应的方式,具体为客户端将最后挑战数据附加到认证器生成的注册响应中,然后服务器对第一最终挑战数据进行认证;
可选地,服务器接收到的注册响应包括第一最终挑战数据;还有一种方式生成包括第一最终挑战数据注册响应,具体为认证器根据预置的认证器标识、第一最终挑战数据、最终挑战哈希值、保存的签名公钥、保存的签名密钥标识、更新后的第一计数值、预置的认证器证书和生成的签名值生成注册响应;然后客户端只是起到将认证器生成的注册响应转发给依赖方的作用;
可选地,本实施例中,以上两种方式中:服务器对第一最终挑战数据进行认证具体为服务器判断解析得到的第一最终挑战数据中的应用标识是否与注册请求中的应用标识相同,判断解析得到的第一最终挑战数据中的挑战值是否与注册请求中的挑战值相同;
另外,服务器接收到的注册响应中可以不包括第一最终挑战数据,然后服务器对最后挑战签名值进行验证,具体过程为服务器根据注册请求中的应用标识和注册请求中的挑战值生成第二最终挑战数据,对生成的第二最终挑战数据进行哈希运算得到运算结果,判断解析所注册响应得到的最终挑战哈希值与生成的运算结果是否相同;
本实施例中,用户代理集成于客户端内或者单独设置;
本发明与现有技术相比,具有以下优点:认证器保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的损失;
此外,当用户使用生物身份信息进行注册时,用户通过向认证器提供生物识别信息形式来完成身份认证,还免去用户记忆密码或口令的烦恼,消除或减弱用户对密码或口令的依赖,提高了用户体验;
另外,本实施例中,客户端和依赖方之间采用安全信道进行数据传输,通过安全信道进行传输的数据是经过加密的数据,即使数据被截获,被截获的是也加密后的数据,加密前的数据并不会泄露,保证了传输的数据的安全性;本实施例中,客户端根据应用标识对当前的用户代理标识的合法性进行判断,保证了用户代理的合法性,使得注册和认证过程更安全;
本实施例中,用户代理与客户端相互独立;
本实施例提供的一种注册系统的工作方法中,认证器保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的安全隐患。
实施例三
本发明实施例三提供一种注册系统,如图4所示,包括认证器60、客户端30、依赖方40和服务器50;
客户端30包括第一发送模块301、第一接收模块302、第二解析模块303、选择模块304、第四生成模块305和第五生成模块306;
依赖方40包括第二发送模块401、第二接收模块402、第一预置模块403和第一生成模块404;
服务器50包括第三发送模块501、第三接收模块502、第一解析模块503、第二生成模块504、第三生成模块505、第四解析模块506、第一验证模块507、第二验证模块508、第三验证模块509、第四验证模块510、第一判断模块511和保存模块512;
认证器60包括第四发送模块601、第四接收模块602、第三解析模块603、第六生成模块604、第七生成模块605、第一获取模块606、第八生成模块607、第九生成模块608、第二预置模块609、计算模块610和第十生成模块611;
第一发送模块301,用于向依赖方40发送包含用户帐号的登录注册请求信息;
第二接收模块402,用于接收第一发送模块301发送的包含用户帐号的登录注册请求信息;
第一预置模块403,用于预置应用标识;
第一生成模块404,用于当第二接收模块402接收到包含用户帐号的登录注册请求信息时,根据用户帐号和第一预置模块403预置的应用标识生成触发注册请求;
第二发送模块401,用于向服务器50发送第一生成模块404生成的触发注册请求;
第三接收模块502,用于接收第二发送模块401发送的触发注册请求;
第一解析模块503,用于解析第三接收模块502接收的触发注册请求得到用户帐号和应用标识;
第二生成模块504,用于根据第三接收模块502接收的触发注册请求生成认证策略和挑战值;
第三生成模块505,用于根据第一解析模块503解析触发注册请求得到的应用标识和用户帐号及第二生成模块504生成的认证策略和挑战值生成注册请求;
第三发送模块501,用于向依赖方40发送第三生成模块505生成的注册请求;
第二接收模块402,还用于接收第三发送模块501发送的注册请求;
第二发送模块401,还用于向客户端30发送第二接收模块402接收的注册请求;
第一接收模块302,用于接收第二发送模块401发送的注册请求;
第二解析模块303,用于解析第一接收模块302接收的注册请求得到应用标识、认证策略、挑战值和用户帐号
选择模块304,用于根据第二解析模块303解析注册请求得到的认证策略选择认证器60;
可选地,本实施例中,选择模块304,具体用于选择符合第二解析模块303解析注册请求得到的认证策略规定的版本标识、认证器标识和用户认证方式的认证器60。
第四生成模块305,用于根据第二解析模块303解析注册请求得到的应用标识和挑战值生成第一最终挑战数据;
第五生成模块306,用于根据第四生成模块305生成的第一最终挑战数据、第二解析模块303解析注册请求得到的应用标识和用户帐号生成验证身份指令;
第一发送模块301,还用于向认证器60发送第五生成模块306生成的验证身份指令;
第四接收模块602,用于接收第一发送模块301发送的验证身份指令;
第三解析模块603,用于解析第四接收模块602接收的验证身份指令得到第一最终挑战数据、应用标识和用户帐号;
第六生成模块604,用于根据第三解析模块603解析验证身份指令得到的应用标识和用户帐号生成访问令牌数据;
可选地,本实施例中,第六生成模块604,具体用于根据第三解析模块603解析验证身份指令得到的应用标识和用户帐号生成组合数据,对组合数据进行哈希运算生成访问令牌数据。
第七生成模块605,用于对第三解析模块603解析验证身份指令得到的第一最终挑战数据进行哈希运算生成最终挑战哈希值;
第一获取模块606,用于在第四接收模块602接收验证身份指令之后,获取用户身份信息;
可选地,本实施例中,第一获取模块606获取的用户身份信息包括指纹信息和/或掌纹信息和/或语音信息和/或人脸信息和/或虹膜信息和/或静脉信息和/或PIN码。
第八生成模块607,用于根据第一获取模块606获取的用户身份信息生成签名公钥、签名私钥和签名密钥标识;
第二预置模块609,用于预置认证器标识、认证器私钥和认证器证书;
第九生成模块608,用于根据第二预置模块609预置的认证器标识、第七生成模块605生成的最终挑战哈希值、第八生成模块607生成的签名密钥标识和签名公钥生成待签名数据;
计算模块610,用于使用第二预置模块609预置的认证器私钥对第九生成模块608生成的待签名数据进行计算得到签名值;
第十生成模块611,用于根据第二预置模块609预置的认证器标识、第七生成模块605生成的最终挑战哈希值、第八生成模块607生成的签名公钥、第八生成模块607生成的签名密钥标识、第二预置模块609预置的认证器证书和计算模块610计算得到的签名值生成注册响应;
第四发送模块601,用于向客户端30发送第十生成模块611生成的注册响应;
第一接收模块302,还用于接收第四发送模块601发送的注册响应;
第一发送模块301,还用于向依赖方40发送第一接收模块302接收的注册响应;
第二接收模块402,还用于接收第一发送模块301发送的注册响应;
第二发送模块401,还用于向服务器50发送第二接收模块402接收的注册响应;
第三接收模块502,还用于接收第二发送模块401发送的注册响应;
第四解析模块506,用于解析第三接收模块502接收的注册响应得到认证器标识、最终挑战哈希值、认证器证书和签名值;
第一验证模块507,用于对第四解析模块506解析注册响应得到的认证器标识进行验证;
可选地,本实施例中,第一验证模块507,具体用于判断第四解析模块506解析注册响应得到的认证器标识是否符合第二生成模块504生成的认证策略,当第四解析模块506解析注册响应得到的认证器标识符合第二生成模块504生成的认证策略时,验证成功。
第二验证模块508,用于对第四解析模块506解析注册响应得到的最终挑战哈希值进行验证;
可选地,本实施例中,第二验证模块508,具体用于根据第一解析模块503解析触发注册请求得到的应用标识和第二生成模块504生成的挑战值生成第二最终挑战数据,对生成的第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的哈希运算结果与第四解析模块506解析注册响应得到的最终挑战哈希值是否相同,当生成的哈希运算结果与第四解析模块506解析注册响应得到的最终挑战哈希值相同时,验证成功。
第三验证模块509,用于对第四解析模块506解析注册响应得到的认证器证书进行验证;
可选地,本实施例中,第三验证模块509,具体用于利用第三预设算法对第四解析模块506解析注册响应得到的认证器证书进行运算生成运算结果,判断运算结果是否为第一预设值,当运算结果为第一预设值时,验证成功。
第四验证模块510,用于对第四解析模块506解析注册响应得到的签名值进行验证;
可选地,本实施例中,第四验证模块510,具体用于从第四解析模块506解析注册响应得到的认证器证书中提取认证器公钥,利用第二预设算法使用认证器公钥对第四解析模块506解析注册响应得到的签名值进行验证。
第一判断模块511,用于判断第一验证模块507、第二验证模块508、第三验证模块509和第四验证模块510是否全部验证成功;
保存模块512,用于当第一判断模块511判断第一验证模块507、第二验证模块508、第三验证模块509和第四验证模块510全部验证成功时,对应保存第四解析模块506解析注册响应得到的签名公钥、签名密钥标识和认证器标识。
可选地,本实施例中,依赖方40与客户端30之间的数据传输全部通过预置的安全信道进行。
更进一步地,本实施例中,客户端30还包括第三预置模块;
第三预置模块,用于预置安全信道数据;
第四生成模块305,具体用于根据第三预置模块预置的安全信道数据、第二解析模块303解析注册请求得到的应用标识和挑战值生成第一最终挑战数据;
第二发送模块401,还用于向服务器50发送第三预置模块预置的安全信道数据;
第三接收模块502,还用于接收第二发送模块401发送的安全信道数据;
第二验证模块508包括第一生成单元、第二生成单元和第一判断单元;
第一生成单元,用于根据第三接收模块502接收的安全信道数据、第一解析模块503解析触发注册请求得到的应用标识和第二生成模块504生成的挑战值生成第二最终挑战数据;
第二生成单元,用于对第一生成单元生成的第二最终挑战数据进行哈希运算生成哈希运算结果;
第一判断单元,用于判断第二生成单元生成的哈希运算结果与第四解析模块506解析注册响应得到的最终挑战哈希值是否相同,是则验证成功,否则验证未成功。
可选地,本实施例中,客户端30还包括第二判断模块和第一报错模块;
第二判断模块,用于根据第二解析模块303解析注册请求得到的应用标识判断当前的用户代理标识是否合法;
更进一步地,本实施例中,第二判断模块具体包括第三生成单元、第二判断单元;依赖方40还包括第二获取模块;
第三生成单元,用于根据第二解析模块303解析注册请求得到的应用标识生成获取用户代理标识列表请求;
第一发送模块301,还用于向依赖方40发送第三生成单元生成的获取用户代理标识列表请求;
第二接收模块402,还用于接收第一发送模块301发送的获取用户代理标识列表请求;
第二获取模块,用于当第二接收模块402接收获取用户代理标识列表请求后,获取用户代理标识列表;
第二发送模块401,还用于向客户端30发送第二获取模块获取的用户代理标识列表;
第一接收模块302,还用于接收第二发送模块401发送的用户代理标识列表;
第二判断单元,用于判断第一接收模块302接收的用户代理标识列表中是否存在当前的用户代理标识;
第四生成模块305,具体用于当第二判断单元判断第一接收模块302接收的用户代理标识列表中存在当前的用户代理标识时,根据第二解析模块303解析注册请求得到的应用标识和挑战值生成第一最终挑战数据;
第一报错模块,具体用于当第二判断单元判断第一接收模块302接收的用户代理标识列表中不存在当前的用户代理标识时时,报错;
第四生成模块305,具体用于当第二判断模块根据第二解析模块303解析注册请求得到的应用标识判断当前的用户代理标识合法时,根据第二解析模块303解析注册请求得到的应用标识和挑战值生成第一最终挑战数据;
第一报错模块,用于当第二判断模块根据第二解析模块303解析注册请求得到的应用标识判断当前的用户代理标识不合法时,报错。
可选地,本实施例中,客户端30还包括显示模块和提示模块;
显示模块,用于当选择模块304根据第二解析模块303解析注册请求得到的认证策略选择的认证器60的数量大于一个时,显示选择模块304选择的符合认证策略的认证器60;
提示模块,用于提示用户从显示模块显示的认证器60中选择认证器60;
第三接收模块502,还用于接收用户选择认证器60的信息;
第三发送模块501,还用于向与第三接收模块502接收的用户选择认证器60的信息相应的认证器60发送第五生成模块306生成的验证身份指令。
可选地,本实施例中,认证器60还包括第十一生成模块;
第十一生成模块,用于生成随机数;
第六生成模块604,具体用于根据第十一生成模块生成的随机数、第三解析模块603解析验证身份指令得到的应用标识和用户帐号生成访问令牌数据。
可选地,本实施例中,认证器60还包括第二报错模块;
第一获取模块606包括第一提示单元和第三判断单元;
第一提示单元,用于提示用户输入用户身份信息;
第四接收模块602,还用于当第一提示单元提示用户输入用户身份信息后,接收用户输入的用户身份信息;
第三判断单元,用于判断第四接收模块602接收的用户输入的用户身份信息是否通过验证;
第七生成模块605,具体用于当第三判断单元判断第四接收模块602接收的用户输入的用户身份信息通过验证时,根据第四接收模块602接收的用户身份信息生成签名公钥、签名私钥和签名密钥标识;
第二报错模块,用于当第三判断单元判断第四接收模块602接收的用户输入的用户身份信息未通过验证时,报错。
可选地,本实施例中,认证器60还包括第三报错模块;
第一获取模块606包括第二提示单元和第四判断单元;
第二提示单元,用于提示用户输入用户身份信息;
第四判断单元,用于判断第四接收模块602是否接收到用户输入的用户身份信息;
第七生成模块605,具体用于当第四判断单元判断第四接收模块602接收到用户输入的用户身份信息时,根据第四接收模块602接收的用户身份信息生成签名公钥、签名私钥和签名密钥标识;
第三报错模块,用于当第四判断单元判断第四接收模块602未接收到用户输入的用户身份信息时,报错。
可选地,本实施例中,认证器60还包括第一更新模块;服务器50还包括第五验证模块;
第二预置模块609,还用于预置第一计数值;
第一更新模块,用于更新第二预置模块609预置的第一计数值;
第九生成模块608,具体用于根据第二预置模块609预置的认证器标识、第七生成模块605生成的最终挑战哈希值、第八生成模块607生成的签名密钥标识、第八生成模块607生成的签名公钥和第一更新模块更新的第一计数值生成待签名数据;
第十生成模块611,具体用于根据第一更新模块更新的第一计数值、第二预置模块609预置的认证器标识、第七生成模块605生成的最终挑战哈希值、第八生成模块607生成的签名公钥、第八生成模块607生成的签名密钥标识、第二预置模块609预置的认证器证书和计算模块610计算得到的签名值生成注册响应;
第四解析模块506,还用于解析第三接收模块502接收的注册响应得到第一计数值;
第五验证模块,用于在第一判断模块511判断第一验证模块507、第二验证模块508、第三验证模块509和第四验证模块510全部验证成功之前,对第四解析模块506解析注册响应得到的第一计数值进行验证;
第一判断模块511,还用于判断第五验证模块是否验证成功,否则报错,结束;
保存模块512,还用于当第一判断模块511判断第五验证模块验证成功时,保存第四解析模块506解析第三接收模块502接收的注册响应得到的第一计数值;
更进一步地,本实施例中,保存模块512还用于预置第二计数值;
第五验证模块,具体用于判断第四解析模块506解析注册响应得到的第一计数值是否大于保存模块512预置的第二计数值,是则验证成功,否则验证失败。
可选地,本实施例中,服务器50还包括第六验证模块;
第十生成模块611,具体用于根据第二预置模块609预置的认证器标识、第四生成模块305生成的第一最终挑战数据、第七生成模块605生成的最终挑战哈希值、第八生成模块607生成的签名公钥、第八生成模块607生成的签名密钥标识、第二预置模块609预置的认证器证书和计算模块610计算得到的签名值生成注册响应;
第六验证模块,用于对第四解析模块506解析注册响应得到的第一最终挑战数据进行验证;
第一判断模块511,还用于判断第六验证模块是否验证成功;
可选地,本实施例中,客户端30还包括第二更新模块和第六验证模块;
第二更新模块,用于将第四生成模块305生成的第一最终挑战数据附加到第十生成模块611生成的注册响应中更新注册响应;
第六验证模块,用于对第四解析模块506解析注册响应得到的第一最终挑战数据进行验证;
第一判断模块511,还用于判断第六验证模块是否验证成功;
更进一步地,本实施例中,第六验证模块,具体用于判断第四解析模块506解析注册响应得到的第一最终挑战数据中的应用标识是否与第一解析模块503解析触发注册请求得到的应用标识相同;判断第四解析模块506解析注册响应得到的第一最终挑战数据中的挑战值是否与第二生成模块504生成的挑战值相同,如果全部相同则验证成功,否则验证失败。
可选地,本实施例中,服务器50还包括第三判断模块和第四报错模块;
第三判断模块,用于根据第四解析模块506解析注册响应得到的认证器标识和签名密钥标识判断认证器60是否已经注册过;
第四报错模块,用于当根据第四解析模块506解析注册响应得到的认证器标识和签名密钥标识判断认证器60已经注册过时,报错;
保存模块512,具体用于当根据第四解析模块506解析注册响应得到的认证器标识和签名密钥标识判断认证器60没有注册过时,对应保存签名公钥、签名密钥标识和认证器标识。
本发明与现有技术相比,具有以下优点:认证器保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的损失。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (44)

1.一种注册系统的工作方法,其特征在于,包括以下步骤:
步骤S1:当依赖方接收到客户端发送的包含用户帐号的登录注册请求信息时,所述依赖方根据所述用户帐号和预置的应用标识生成触发注册请求,向服务器发送所述触发注册请求;
步骤S2:所述服务器接收并解析所述触发注册请求得到用户帐号和应用标识;根据所述触发注册请求生成认证策略和挑战值;根据所述应用标识、所述认证策略、所述挑战值和所述用户帐号生成注册请求,通过所述依赖方向所述客户端发送所述注册请求;
步骤S3:所述客户端接收并解析所述注册请求得到应用标识、认证策略、挑战值和用户帐号;根据所述认证策略选择认证器;根据所述应用标识和所述挑战值生成第一最终挑战数据;根据所述第一最终挑战数据、所述应用标识和所述用户帐号生成验证身份指令,向选择的所述认证器发送所述验证身份指令;
步骤S4:所述认证器接收并解析所述验证身份指令得到第一最终挑战数据、应用标识和用户帐号;根据所述应用标识和所述用户帐号生成访问令牌数据;对所述第一最终挑战数据进行哈希运算生成最终挑战哈希值;获取用户身份信息;根据所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
步骤S5:所述认证器根据预置的认证器标识、所述最终挑战哈希值、所述签名密钥标识和所述签名公钥生成待签名数据,使用预置的认证器私钥对所述待签名数据进行计算得到签名值;根据所述认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应,通过所述客户端和所述依赖方向所述服务器发送所述注册响应;
步骤S6:所述服务器接收并解析所述注册响应,分别对解析所述注册响应得到的认证器标识、最终挑战哈希值、认证器证书和签名值进行验证;判断是否全部验证成功,当全部验证成功时,对应保存解析所述注册响应得到的所述签名公钥、所述签名密钥标识和所述认证器标识,否则报错,结束。
2.如权利要求1所述的方法,其特征在于,所述依赖方与所述客户端之间的数据传输全部通过预置的安全信道进行。
3.如权利要求2所述的方法,其特征在于,所述步骤S3中,所述根据所述应用标识和所述挑战值生成第一最终挑战数据,具体为:所述客户端根据预置的安全信道数据、所述应用标识和所述挑战值生成第一最终挑战数据;
所述步骤S6中,所述对解析所述注册响应得到的最终挑战哈希值进行验证之前,还包括:所述服务器接收所述依赖方发送的预置的安全信道数据;
所述步骤S6中,所述对解析所述注册响应得到的最终挑战哈希值进行验证,具体为:
所述服务器根据接收的所述安全信道数据、解析所述触发注册请求得到的所述应用标识和生成的所述挑战值生成第二最终挑战数据,对所述第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的所述哈希运算结果与解析所述注册响应得到的最终挑战哈希值是否相同,是则验证成功,否则验证未成功。
4.如权利要求1所述的方法,其特征在于,所述步骤S3中,所述客户端接收并解析所述注册请求得到应用标识、认证策略、挑战值和用户帐号之后,还包括:所述客户端根据所述应用标识判断当前的用户代理标识是否合法,是则根据所述应用标识和所述挑战值生成第一最终挑战数据,否则报错。
5.如权利要求4所述的方法,其特征在于,所述客户端根据所述应用标识判断当前的用户代理标识是否合法,是则根据所述应用标识和所述挑战值生成第一最终挑战数据,否则报错,具体包括以下步骤:
步骤D1:所述客户端根据所述应用标识生成获取用户代理标识列表请求,向所述依赖方发送所述获取用户代理标识列表请求;
步骤D2:所述依赖方接收所述获取用户代理标识列表请求,获取用户代理标识列表,向所述客户端发送所述用户代理标识列表;
步骤D3:所述客户端接收所述用户代理标识列表,判断所述用户代理标识列表中是否存在当前的用户代理标识,是则当前的用户代理标识合法,根据所述应用标识和所述挑战值生成第一最终挑战数据,否则报错。
6.如权利要求1所述的方法,其特征在于,所述步骤S3中,当所述客户端根据所述认证策略选择的认证器的数量大于一个时,还包括:所述客户端显示选择的符合所述认证策略的认证器,提示用户从显示的所有认证器中选择将要进行通讯的认证器,当接收到用户选择认证器的信息时,向选择的认证器发送所述验证身份指令。
7.如权利要求1所述的方法,其特征在于,所述步骤S3中,所述根据所述认证策略选择认证器,具体为:所述客户端选择符合所述认证策略规定的版本标识、认证器标识和用户认证方式的认证器。
8.如权利要求1所述的方法,其特征在于,所述步骤S4中,在所述根据所述应用标识和所述用户帐号生成访问令牌数据之前,还包括:所述认证器生成随机数;
所述根据所述应用标识和所述用户帐号生成访问令牌数据,具体为:所述认证器根据所述随机数、所述应用标识和所述用户帐号生成所述访问令牌数据。
9.如权利要求1所述的方法,其特征在于,所述步骤S4中,所述根据所述应用标识和所述用户帐号生成访问令牌数据,具体为:所述认证器根据所述应用标识和所述用户帐号生成组合数据,对所述组合数据进行哈希运算生成所述访问令牌数据。
10.如权利要求1所述的方法,其特征在于,所述步骤S4中,所述获取用户身份信息,具体为:所述认证器提示用户输入用户身份信息,判断用户输入的所述用户身份信息是否通过验证,是则根据所述用户身份信息生成签名公钥、签名私钥和签名密钥标识,否则报错。
11.如权利要求1所述的方法,其特征在于,所述步骤S4中,所述获取用户身份信息,具体为所述认证器提示用户输入用户身份信息,判断是否接收到用户输入的所述用户身份信息,是则根据所述用户身份信息生成签名公钥、签名私钥和签名密钥标识,否则报错。
12.如权利要求1所述的方法,其特征在于,所述用户身份信息包括指纹信息和/或掌纹信息和/或语音信息和/或人脸信息和/或虹膜信息和/或静脉信息和/或PIN码。
13.如权利要求1所述的方法,其特征在于,所述步骤S5中,还包括:所述认证器更新预置的第一计数值;
所述步骤S5中,所述认证器根据预置的认证器标识、所述最终挑战哈希值、所述签名密钥标识和所述签名公钥生成待签名数据,具体为:所述认证器根据预置的认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识和所述更新的第一计数值生成待签名数据;
所述步骤S5中,根据所述认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应,具体为:所述认证器根据所述更新的第一计数值、所述认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应;
所述步骤S6中,所述判断是否全部验证成功之前,还包括:所述服务器对解析所述注册响应得到的所述第一计数值进行验证;
所述步骤S6中,当全部验证成功时,还包括:所述服务器保存所述第一计数值。
14.如权利要求13所述的方法,其特征在于,所述服务器对解析所述注册响应得到的所述第一计数值进行验证,具体为所述服务器判断解析所述注册响应得到的第一计数值是否大于预置的第二计数值,是则验证成功,否则验证失败。
15.如权利要求1所述的方法,其特征在于,所述步骤S5中,所述根据所述认证器标识、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应,具体为:所述认证器根据所述认证器标识、所述第一最终挑战数据、所述最终挑战哈希值、所述签名公钥、所述签名密钥标识、预置的认证器证书和所述签名值生成注册响应;
所述步骤S6中,所述服务器接收并解析所述注册响应之后,所述判断是否全部验证成功之前,还包括:所述服务器对解析所述注册响应得到的第一最终挑战数据进行验证。
16.如权利要求1所述的方法,其特征在于,所述步骤S5中,所述通过所述客户端和所述依赖方向所述服务器发送所述注册响应,具体包括以下步骤:
步骤C1:所述认证器向所述客户端发送所述注册响应;
步骤C2:所述客户端接收所述注册响应,将生成的所述第一最终挑战数据附加到所述注册响应中更新所述注册响应,向所述依赖方发送更新的所述注册响应;
步骤C3:所述依赖方接收所述注册响应,向所述服务器发送所述注册响应;
所述步骤S6中,所述服务器接收并解析所述注册响应之后,所述判断是否全部验证成功之前,还包括:所述服务器对解析所述注册响应得到的第一最终挑战数据进行验证。
17.如权利要求15或16所述的方法,其特征在于,所述服务器对解析所述注册响应得到的第一最终挑战数据进行验证,具体为:所述服务器判断解析所述注册响应得到的所述第一最终挑战数据中的应用标识是否与所述触发注册请求中的应用标识相同;判断解析所述注册响应得到的所述第一最终挑战数据中的挑战值是否与生成的所述挑战值相同,如果全部相同则验证成功,判断是否全部验证成功,否则验证失败。
18.如权利要求1所述的方法,其特征在于,所述步骤S6中,所述对解析所述注册响应得到的认证器标识进行验证,具体为:所述服务器判断解析所述注册响应得到的认证器标识是否符合生成的认证策略,当解析所述注册响应得到的所述认证器标识符合生成的认证策略时,验证成功。
19.如权利要求1所述的方法,其特征在于,所述步骤S6中,所述对解析所述注册响应得到的最终挑战哈希值进行验证,具体为:所述服务器根据解析所述触发注册请求得到的应用标识和生成的所述挑战值生成第二最终挑战数据,对生成的所述第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的所述哈希运算结果与解析所述注册响应得到的所述最终挑战哈希值是否相同,当生成的所述哈希运算结果与解析所述注册响应得到的所述最终挑战哈希值相同时,验证成功,否则验证失败。
20.如权利要求1所述的方法,其特征在于,所述步骤S6中,所述对解析所述注册响应得到的认证器证书进行验证,具体为所述服务器利用第三预设算法对解析所述注册响应得到的所述认证器证书进行运算生成运算结果,判断所述运算结果是否为第一预设值,当所述运算结果为第一预设值时,验证成功,否则验证失败。
21.如权利要求1所述的方法,其特征在于,所述步骤S6中,所述对解析所述注册响应得到的签名值进行验证,具体为所述服务器从解析所述注册响应得到的认证器证书中提取认证器公钥,利用第二预设算法使用所述认证器公钥对解析所述注册响应得到的所述签名值进行验证。
22.如权利要求1所述的方法,其特征在于,所述步骤S6中,所述对应保存所述签名公钥、所述签名密钥标识和所述认证器标识之前,还包括:所述服务器根据解析所述注册响应得到的所述认证器标识和所述签名密钥标识判断所述认证器是否已经注册过,是则报错,否则对应保存所述签名公钥、所述签名密钥标识和所述认证器标识。
23.一种注册系统,其特征在于,包括认证器、客户端、依赖方和服务器;
所述客户端包括第一发送模块、第一接收模块、第二解析模块、选择模块、第四生成模块和第五生成模块;
所述依赖方包括第二发送模块、第二接收模块、第一预置模块和第一生成模块;
所述服务器包括第三发送模块、第三接收模块、第一解析模块、第二生成模块、第三生成模块、第四解析模块、第一验证模块、第二验证模块、第三验证模块、第四验证模块、第一判断模块和保存模块;
所述认证器包括第四发送模块、第四接收模块、第三解析模块、第六生成模块、第七生成模块、第一获取模块、第八生成模块、第九生成模块、第二预置模块、计算模块和第十生成模块;
所述第一发送模块,用于向所述依赖方发送包含用户帐号的登录注册请求信息;
所述第二接收模块,用于接收所述第一发送模块发送的包含用户帐号的登录注册请求信息;
所述第一预置模块,用于预置应用标识;
所述第一生成模块,用于当所述第二接收模块接收到包含用户帐号的登录注册请求信息时,根据所述用户帐号和所述第一预置模块预置的应用标识生成触发注册请求;
所述第二发送模块,用于向服务器发送所述第一生成模块生成的所述触发注册请求;
所述第三接收模块,用于接收所述第二发送模块发送的所述触发注册请求;
所述第一解析模块,用于解析所述第三接收模块接收的所述触发注册请求得到用户帐号和应用标识;
所述第二生成模块,用于根据所述第三接收模块接收的所述触发注册请求生成认证策略和挑战值;
所述第三生成模块,用于根据所述第一解析模块解析所述触发注册请求得到的应用标识和用户帐号及所述第二生成模块生成的所述认证策略和所述挑战值生成注册请求;
所述第三发送模块,用于向所述依赖方发送所述第三生成模块生成的所述注册请求;
所述第二接收模块,还用于接收所述第三发送模块发送的所述注册请求;
所述第二发送模块,还用于向所述客户端发送所述第二接收模块接收的所述注册请求;
所述第一接收模块,用于接收所述第二发送模块发送的所述注册请求;
所述第二解析模块,用于解析所述第一接收模块接收的所述注册请求得到应用标识、认证策略、挑战值和用户帐号
所述选择模块,用于根据所述第二解析模块解析所述注册请求得到的所述认证策略选择认证器;
所述第四生成模块,用于根据所述第二解析模块解析所述注册请求得到的所述应用标识和所述挑战值生成第一最终挑战数据;
所述第五生成模块,用于根据所述第四生成模块生成的所述第一最终挑战数据、所述第二解析模块解析所述注册请求得到的所述应用标识和所述用户帐号生成验证身份指令;
所述第一发送模块,还用于向所述认证器发送所述第五生成模块生成的所述验证身份指令;
所述第四接收模块,用于接收所述第一发送模块发送的所述验证身份指令;
所述第三解析模块,用于解析所述第四接收模块接收的所述验证身份指令得到第一最终挑战数据、应用标识和用户帐号;
所述第六生成模块,用于根据所述第三解析模块解析所述验证身份指令得到的所述应用标识和所述用户帐号生成访问令牌数据;
所述第七生成模块,用于对所述第三解析模块解析所述验证身份指令得到的所述第一最终挑战数据进行哈希运算生成最终挑战哈希值;
所述第一获取模块,用于在所述第四接收模块接收所述验证身份指令之后,获取用户身份信息;
所述第八生成模块,用于根据所述第一获取模块获取的所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
所述第二预置模块,用于预置认证器标识、认证器私钥和认证器证书;
所述第九生成模块,用于根据所述第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名密钥标识和所述签名公钥生成待签名数据;
所述计算模块,用于使用所述第二预置模块预置的所述认证器私钥对所述第九生成模块生成的所述待签名数据进行计算得到签名值;
所述第十生成模块,用于根据第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名公钥、所述第八生成模块生成的所述签名密钥标识、所述第二预置模块预置的认证器证书和所述计算模块计算得到的所述签名值生成注册响应;
所述第四发送模块,用于向所述客户端发送所述第十生成模块生成的所述注册响应;
所述第一接收模块,还用于接收所述第四发送模块发送的所述注册响应;
所述第一发送模块,还用于向所述依赖方发送所述第一接收模块接收的所述注册响应;
所述第二接收模块,还用于接收所述第一发送模块发送的所述注册响应;
所述第二发送模块,还用于向所述服务器发送所述第二接收模块接收的所述注册响应;
所述第三接收模块,还用于接收所述第二发送模块发送的所述注册响应;
所述第四解析模块,用于解析所述第三接收模块接收的所述注册响应得到认证器标识、最终挑战哈希值、认证器证书和签名值;
所述第一验证模块,用于对所述第四解析模块解析所述注册响应得到的所述认证器标识进行验证;
所述第二验证模块,用于对所述第四解析模块解析所述注册响应得到的所述最终挑战哈希值进行验证;
所述第三验证模块,用于对所述第四解析模块解析所述注册响应得到的所述认证器证书进行验证;
所述第四验证模块,用于对所述第四解析模块解析所述注册响应得到的所述签名值进行验证;
所述第一判断模块,用于判断所述第一验证模块、所述第二验证模块、所述第三验证模块和所述第四验证模块是否全部验证成功,否则报错,结束;
所述保存模块,用于当所述第一判断模块判断所述第一验证模块、所述第二验证模块、所述第三验证模块和所述第四验证模块全部验证成功时,对应保存所述第四解析模块解析所述注册响应得到的所述签名公钥、所述签名密钥标识和所述认证器标识。
24.如权利要求23所述的系统,其特征在于,所述依赖方与所述客户端之间的数据传输全部通过预置的安全信道进行。
25.如权利要求24所述的系统,其特征在于,所述客户端还包括第三预置模块;
所述第三预置模块,用于预置安全信道数据;
所述第四生成模块,具体用于根据所述第三预置模块预置的安全信道数据、所述第二解析模块解析所述注册请求得到的所述应用标识和所述挑战值生成第一最终挑战数据;
所述第二发送模块,还用于向所述服务器发送所述第三预置模块预置的安全信道数据;
所述第三接收模块,还用于接收所述第二发送模块发送的安全信道数据;
所述第二验证模块包括第一生成单元、第二生成单元和第一判断单元;
所述第一生成单元,用于根据所述第三接收模块接收的所述安全信道数据、所述第一解析模块解析所述触发注册请求得到的应用标识和所述第二生成模块生成的所述挑战值生成第二最终挑战数据;
所述第二生成单元,用于对所述第一生成单元生成的所述第二最终挑战数据进行哈希运算生成哈希运算结果;
所述第一判断单元,用于判断所述第二生成单元生成的所述哈希运算结果与所述第四解析模块解析所述注册响应得到的所述最终挑战哈希值是否相同,是则验证成功,否则验证未成功。
26.如权利要求23所述的系统,其特征在于,所述客户端还包括第二判断模块和第一报错模块;
所述第二判断模块,用于根据所述第二解析模块解析所述注册请求得到的所述应用标识判断当前的用户代理标识是否合法;
所述第四生成模块,具体用于当所述第二判断模块根据所述第二解析模块解析所述注册请求得到的所述应用标识判断当前的用户代理标识合法时,根据所述第二解析模块解析所述注册请求得到的所述应用标识和所述挑战值生成第一最终挑战数据;
所述第一报错模块,用于当所述第二判断模块根据所述第二解析模块解析所述注册请求得到的所述应用标识判断当前的用户代理标识不合法时,报错。
27.如权利要求26所述的系统,其特征在于,所述第二判断模块具体包括第三生成单元和第二判断单元;所述依赖方还包括第二获取模块;
所述第三生成单元,用于根据所述第二解析模块解析所述注册请求得到的所述应用标识生成获取用户代理标识列表请求;
所述第一发送模块,还用于向所述依赖方发送所述第三生成单元生成的所述获取用户代理标识列表请求;
所述第二接收模块,还用于接收所述第一发送模块发送的所述获取用户代理标识列表请求;
所述第二获取模块,用于当所述第二接收模块接收所述获取用户代理标识列表请求后,获取用户代理标识列表;
所述第二发送模块,还用于向所述客户端发送所述第二获取模块获取的所述用户代理标识列表;
所述第一接收模块,还用于接收所述第二发送模块发送的所述用户代理标识列表;
所述第二判断单元,用于判断所述第一接收模块接收的所述用户代理标识列表中是否存在当前的用户代理标识;
所述第四生成模块,具体用于当所述第二判断单元判断所述第一接收模块接收的所述用户代理标识列表中存在当前的用户代理标识时,根据所述第二解析模块解析所述注册请求得到的所述应用标识和所述挑战值生成第一最终挑战数据;
所述第一报错模块,具体用于当所述第二判断单元判断所述第一接收模块接收的所述用户代理标识列表中不存在当前的用户代理标识时时,报错。
28.如权利要求23所述的系统,其特征在于,所述客户端还包括显示模块和提示模块;
所述显示模块,用于当所述选择模块根据所述第二解析模块解析所述注册请求得到的所述认证策略选择的认证器的数量大于一个时,显示所述选择模块选择的符合所述认证策略的认证器;
所述提示模块,用于提示用户从所述显示模块显示的所有认证器中选择要进行通讯的认证器;
所述第三接收模块,还用于接收用户选择认证器的信息;
所述第三发送模块,还用于向与所述第三接收模块接收的用户选择认证器的信息相应的所述认证器发送所述第五生成模块生成的所述验证身份指令。
29.如权利要求23所述的系统,其特征在于,所述选择模块,具体用于选择符合所述第二解析模块解析所述注册请求得到的所述认证策略规定的版本标识、认证器标识和用户认证方式的认证器。
30.如权利要求23所述的系统,其特征在于,所述认证器还包括第十一生成模块;
所述第十一生成模块,用于生成随机数;
所述第六生成模块,具体用于根据所述第十一生成模块生成的随机数、所述第三解析模块解析所述验证身份指令得到的所述应用标识和所述用户帐号生成访问令牌数据。
31.如权利要求23所述的系统,其特征在于,所述第六生成模块,具体用于根据所述第三解析模块解析所述验证身份指令得到的所述应用标识和所述用户帐号生成组合数据,对所述组合数据进行哈希运算生成所述访问令牌数据。
32.如权利要求23所述的系统,其特征在于,所述认证器还包括第二报错模块;
所述第一获取模块包括第一提示单元和第三判断单元;
所述第一提示单元,用于提示用户输入用户身份信息;
所述第四接收模块,还用于当所述第一提示单元提示用户输入用户身份信息后,接收用户输入的用户身份信息;
所述第三判断单元,用于判断所述第四接收模块接收的用户输入的所述用户身份信息是否通过验证;
所述第七生成模块,具体用于当所述第三判断单元判断所述第四接收模块接收的用户输入的所述用户身份信息通过验证时,根据所述第四接收模块接收的所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
所述第二报错模块,用于当所述第三判断单元判断所述第四接收模块接收的用户输入的所述用户身份信息未通过验证时,报错。
33.如权利要求23所述的系统,其特征在于,所述认证器还包括第三报错模块;
所述第一获取模块包括第二提示单元和第四判断单元;
所述第二提示单元,用于提示用户输入用户身份信息;
所述第四判断单元,用于判断所述第四接收模块是否接收到用户输入的所述用户身份信息;
所述第七生成模块,具体用于当所述第四判断单元判断所述第四接收模块接收到用户输入的所述用户身份信息时,根据所述第四接收模块接收的所述用户身份信息生成签名公钥、签名私钥和签名密钥标识;
所述第三报错模块,用于当所述第四判断单元判断所述第四接收模块未接收到用户输入的所述用户身份信息时,报错。
34.如权利要求23所述的系统,其特征在于,所述第一获取模块获取的用户身份信息包括指纹信息和/或掌纹信息和/或语音信息和/或人脸信息和/或虹膜信息和/或静脉信息和/或PIN码。
35.如权利要求23所述的系统,其特征在于,所述认证器还包括第一更新模块;所述服务器还包括第五验证模块;
所述第二预置模块,还用于预置第一计数值;
所述第一更新模块,用于更新所述第二预置模块预置的第一计数值;
所述第九生成模块,具体用于根据所述第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名密钥标识、所述第八生成模块生成的所述签名公钥和所述第一更新模块更新的第一计数值生成待签名数据;
所述第十生成模块,具体用于根据所述第一更新模块更新的第一计数值、第二预置模块预置的所述认证器标识、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名公钥、所述第八生成模块生成的所述签名密钥标识、所述第二预置模块预置的认证器证书和所述计算模块计算得到的所述签名值生成注册响应;
所述第四解析模块,还用于解析所述第三接收模块接收的所述注册响应得到所述第一计数值;
所述第五验证模块,用于在所述第一判断模块判断所述第一验证模块、所述第二验证模块、所述第三验证模块和所述第四验证模块全部验证成功之前,对所述第四解析模块解析所述注册响应得到的所述第一计数值进行验证;
所述第一判断模块,还用于判断所述第五验证模块是否验证成功;
所述保存模块,还用于当所述第一判断模块判断所述第五验证模块验证成功时,保存所述第四解析模块解析所述第三接收模块接收的所述注册响应得到的所述第一计数值。
36.如权利要求35所述的系统,其特征在于,所述保存模块还用于预置第二计数值;
所述第五验证模块,具体用于判断所述第四解析模块解析所述注册响应得到的所述第一计数值是否大于所述保存模块预置的第二计数值,是则验证成功,否则验证失败。
37.如权利要求23所述的系统,其特征在于,所述服务器还包括第六验证模块;
所述第十生成模块,具体用于根据第二预置模块预置的所述认证器标识、所述第四生成模块生成的所述第一最终挑战数据、所述第七生成模块生成的所述最终挑战哈希值、所述第八生成模块生成的所述签名公钥、所述第八生成模块生成的所述签名密钥标识、第二预置模块预置的认证器证书和所述计算模块计算得到的所述签名值生成注册响应;
所述第六验证模块,用于对所述第四解析模块解析所述注册响应得到的所述第一最终挑战数据进行验证;
所述第一判断模块,还用于判断所述第六验证模块是否验证成功。
38.如权利要求23所述的系统,其特征在于,所述客户端还包括第二更新模块;所述服务器还包括第六验证模块;
所述第二更新模块,用于将所述第四生成模块生成的所述第一最终挑战数据附加到所述第一接收模块接收的所述注册响应中更新所述注册响应;
所述第六验证模块,用于对所述第四解析模块解析所述注册响应得到的所述第一最终挑战数据进行验证;
所述第一判断模块,还用于判断所述第六验证模块是否验证成功。
39.如权利要求37或38所述的系统,其特征在于,所述第六验证模块,具体用于判断所述第四解析模块解析所述注册响应得到的所述第一最终挑战数据中的应用标识是否与所述第一解析模块解析所述触发注册请求得到的应用标识相同;判断所述第四解析模块解析所述注册响应得到的所述第一最终挑战数据中的挑战值是否与所述第二生成模块生成的挑战值相同,如果全部相同则验证成功,否则验证失败。
40.如权利要求23所述的系统,其特征在于,所述第一验证模块,具体用于判断所述第四解析模块解析所述注册响应得到的所述认证器标识是否符合所述第二生成模块生成的认证策略,当所述第四解析模块解析所述注册响应得到的所述认证器标识符合所述第二生成模块生成的认证策略时,验证成功。
41.如权利要求23所述的系统,其特征在于,所述第二验证模块,具体用于根据所述第一解析模块解析所述触发注册请求得到的应用标识和所述第二生成模块生成的所述挑战值生成第二最终挑战数据,对生成的所述第二最终挑战数据进行哈希运算生成哈希运算结果,判断生成的所述哈希运算结果与所述第四解析模块解析所述注册响应得到的所述最终挑战哈希值是否相同,当生成的所述哈希运算结果与所述第四解析模块解析所述注册响应得到的所述最终挑战哈希值相同时,验证成功。
42.如权利要求23所述的系统,其特征在于,所述第三验证模块,具体用于利用第三预设算法对所述第四解析模块解析所述注册响应得到的所述认证器证书进行运算生成运算结果,判断所述运算结果是否为第一预设值,当所述运算结果为第一预设值时,验证成功。
43.如权利要求23所述的系统,其特征在于,所述第四验证模块,具体用于从所述第四解析模块解析所述注册响应得到的所述认证器证书中提取认证器公钥,利用第二预设算法使用所述认证器公钥对所述第四解析模块解析所述注册响应得到的所述签名值进行验证。
44.如权利要求23所述的系统,其特征在于,所述服务器还包括第三判断模块和第四报错模块;
所述第三判断模块,用于根据所述第四解析模块解析所述注册响应得到的所述认证器标识和所述签名密钥标识判断所述认证器是否已经注册过;
所述第四报错模块,用于当根据所述第四解析模块解析所述注册响应得到的所述认证器标识和所述签名密钥标识判断所述认证器已经注册过时,报错;
所述保存模块,具体用于当根据所述第四解析模块解析所述注册响应得到的所述认证器标识和所述签名密钥标识判断所述认证器没有注册过时,对应保存所述签名公钥、所述签名密钥标识和所述认证器标识。
CN201810929968.0A 2018-08-15 2018-08-15 一种注册系统及其工作方法 Active CN108881310B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810929968.0A CN108881310B (zh) 2018-08-15 2018-08-15 一种注册系统及其工作方法
PCT/CN2019/100669 WO2020035009A1 (zh) 2018-08-15 2019-08-14 认证系统及其工作方法
US17/173,092 US11811952B2 (en) 2018-08-15 2021-02-10 Authentication system and working method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810929968.0A CN108881310B (zh) 2018-08-15 2018-08-15 一种注册系统及其工作方法

Publications (2)

Publication Number Publication Date
CN108881310A CN108881310A (zh) 2018-11-23
CN108881310B true CN108881310B (zh) 2020-05-19

Family

ID=64318002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810929968.0A Active CN108881310B (zh) 2018-08-15 2018-08-15 一种注册系统及其工作方法

Country Status (1)

Country Link
CN (1) CN108881310B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020035009A1 (zh) 2018-08-15 2020-02-20 飞天诚信科技股份有限公司 认证系统及其工作方法
CN109413111B (zh) * 2018-12-21 2021-10-26 郑州云海信息技术有限公司 一种基于智慧数据中心的安全访问系统及方法
CN110190950B (zh) * 2019-06-11 2021-04-27 飞天诚信科技股份有限公司 一种安全签名的实现方法及装置
CN110287685A (zh) * 2019-06-28 2019-09-27 浪潮云信息技术有限公司 基于国产cpu、操作系统和数据库的key认证方法及系统
CN110166576B (zh) * 2019-06-28 2022-07-01 飞天诚信科技股份有限公司 一种实现云音箱消息补推的方法及系统
EP3827609B1 (en) * 2019-07-03 2022-04-13 Google LLC Anonymous device authentication
CN110391904B (zh) * 2019-07-25 2020-10-27 广州华多网络科技有限公司 一种账号注册方法、客户端、服务器及系统
CN110912687A (zh) * 2019-10-17 2020-03-24 上海海加网络科技有限公司 一种分布式身份验证方法
CN111414608B (zh) * 2020-03-10 2023-04-18 飞天诚信科技股份有限公司 一种服务器接受注册的方法
CN112182542B (zh) * 2020-12-03 2021-03-16 飞天诚信科技股份有限公司 一种生物识别精准匹配的方法和系统
CN112242905B (zh) * 2020-12-10 2021-03-16 飞天诚信科技股份有限公司 一种基于浏览器的注册接口实现数据通讯的方法和系统
CN113162772B (zh) * 2021-05-08 2023-02-03 国民认证科技(北京)有限公司 Pin码身份认证方法及系统
CN114679293A (zh) * 2021-06-15 2022-06-28 腾讯云计算(北京)有限责任公司 基于零信任安全的访问控制方法、设备及存储介质
CN114338052B (zh) * 2022-03-16 2022-05-31 飞天诚信科技股份有限公司 一种身份认证的实现方法及装置
CN114584328B (zh) * 2022-05-09 2022-08-02 武汉四通信息服务有限公司 Api接口的访问方法、计算机设备及计算机存储介质
CN117896188A (zh) * 2024-03-14 2024-04-16 杭州海康威视数字技术股份有限公司 设备标识的安全解析方法、装置、设备及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378351A (zh) * 2014-10-16 2015-02-25 江苏博智软件科技有限公司 一种基于动态加密主机身份认证的内网安全防范方法
CN104660605A (zh) * 2015-03-05 2015-05-27 北京安普诺信息技术有限公司 一种多因子身份验证方法及其系统
CN105162785A (zh) * 2015-09-07 2015-12-16 飞天诚信科技股份有限公司 一种基于认证设备进行注册的方法和设备
CN105847247A (zh) * 2016-03-21 2016-08-10 飞天诚信科技股份有限公司 一种认证系统及其工作方法
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128985A (ja) * 2009-12-18 2011-06-30 Toshiba Corp アカウントアグリゲーションシステム、情報処理装置およびアカウントアグリゲーションシステムにおける暗号鍵管理方法
US10136315B2 (en) * 2014-04-17 2018-11-20 Guang Gong Password-less authentication system, method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
CN104378351A (zh) * 2014-10-16 2015-02-25 江苏博智软件科技有限公司 一种基于动态加密主机身份认证的内网安全防范方法
CN104660605A (zh) * 2015-03-05 2015-05-27 北京安普诺信息技术有限公司 一种多因子身份验证方法及其系统
CN105162785A (zh) * 2015-09-07 2015-12-16 飞天诚信科技股份有限公司 一种基于认证设备进行注册的方法和设备
CN105847247A (zh) * 2016-03-21 2016-08-10 飞天诚信科技股份有限公司 一种认证系统及其工作方法

Also Published As

Publication number Publication date
CN108881310A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108881310B (zh) 一种注册系统及其工作方法
CN109150541B (zh) 一种认证系统及其工作方法
US10979427B2 (en) Method and device for authenticating based on authenticating device
EP3343831B1 (en) Identity authentication method and apparatus
WO2017041621A1 (zh) 基于认证设备进行注册的方法和设备
US11811952B2 (en) Authentication system and working method thereof
CN111414599A (zh) 身份验证方法、装置、终端、服务端以及可读存储介质
US8078870B2 (en) HTTP-based authentication
US9306930B2 (en) Service channel authentication processing hub
US8732464B2 (en) Bidirectional entity authentication method with introduction of online third party
CN102281138B (zh) 一种提高验证码安全性的方法和系统
CN108764848B (zh) 一种电子合同的签署方法及系统
CN108965222B (zh) 身份认证方法、系统及计算机可读存储介质
CN103888255A (zh) 一种身份认证方法、装置及系统
CN101753303B (zh) 一种双因子认证方法
KR20130107188A (ko) 사운드 코드를 이용한 인증 서버 및 인증방법
US20120167190A1 (en) Entity authentication method with introduction of online third party
CN111327629B (zh) 身份验证方法、客户端和服务端
CN114531277A (zh) 一种基于区块链技术的用户身份认证方法
CN111800276B (zh) 业务处理方法及装置
CN107437996B (zh) 一种身份认证的方法、装置及终端
CN115473668A (zh) 一种数据验证方法及装置
CN108123957B (zh) 一种登录虚拟专用网络服务器的多方式认证的方法及装置
CN111698204A (zh) 一种双向身份认证的方法及装置
CN112182542B (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