CN106549973A - 一种基于生物特征识别的客户端及其工作方法 - Google Patents
一种基于生物特征识别的客户端及其工作方法 Download PDFInfo
- Publication number
- CN106549973A CN106549973A CN201611058902.6A CN201611058902A CN106549973A CN 106549973 A CN106549973 A CN 106549973A CN 201611058902 A CN201611058902 A CN 201611058902A CN 106549973 A CN106549973 A CN 106549973A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- client
- signature
- request
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于生物特征识别的客户端及其工作方法,属于信息安全领域。所述客户端包括客户端应用程序模块和客户端身份认证模块,客户端应用程序模块根据客户端标识和从服务器获取的请求数据组成身份验证请求并发送给客户端身份认证模块;客户端身份认证模块在判断所述客户端标识和请求数据合法之后提示用户输入生物特征数据并进行验证,验证成功则根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,通过客户端应用程序模块将断言数据发送给服务器,接收并显示服务器返回的请求结果。本发明中在客户端身份认证模块中完成对用户生物特征信息的验证,降低了用户生物特征信息被攻击的风险,提高了用户在线注册和登录的安全性。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种基于生物特征识别的客户端及其工作方法。
背景技术
随着互联网技术的发展,用户已经可以方便的通过网络随时随地登录应用程序(app)进行购物等各种在线业务,而由于目前诸多的在线业务都会涉及到用户财产信息,如银行卡号等,因此,如何保证用户信息的安全是当前研究的热点问题。
目前,虽然大多数客户端提供商都采用账号和密码(包括字符密码、手势密码等)的方式实现用户注册和登录,以保护用户信息的安全,但是,无论是何种密码都有泄露或被黑客盗用的风险,因此在注册使用应用程序时利用用户的生物特征信息进行注册的方法应运而生,其中,生物特征可以是指纹、人脸、虹膜等。但是,生物特征信息属于用户的隐私信息,如若生物特征信息被攻击者窃取,则攻击者就可以使用用户的生物特征信息冒充用户的身份,用户的信息安全将面临极大的威胁。因此,在利用生物特征信息进行在线注册和认证的应用场景中,如何保证生物特征信息的安全成为一个亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种基于生物特征识别的客户端及其工作方法。
本发明的技术方案如下:一种基于生物特征识别的客户端工作方法,包括:
步骤S1:客户端应用程序模块向服务器发起预设请求,并接收服务器返回的请求数据;
步骤S2:客户端应用程序模块根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;
步骤S3:客户端身份认证模块从所述身份验证请求中获取客户端标识和请求数据,判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据,执行步骤S4,否则向客户端应用程序模块返回错误响应,结束;
步骤S4:客户端身份认证模块根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则执行步骤S5,否则向客户端应用程序模块返回错误响应,结束;
步骤S5:客户端身份认证模块根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;
步骤S6:客户端应用程序模块从所述身份认证请求响应中获取断言数据,向服务器发送所述断言数据,并接收服务器返回的请求响应;从所述请求响应中获取请求结果并显示,结束。
所述预设请求为注册请求,所述请求数据具体为注册数据,所述注册数据中包含有用户名参数、挑战值参数;
所述步骤S5具体为:客户端身份认证模块生成注册标识和密钥对,保存所述注册标识和密钥对私钥,获取当前签名次数,使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;所述计算得到断言数据之后还包括更新所述当前签名次数。
所述预设请求为认证请求,所述请求数据具体为认证数据,所述认证数据中包含有挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述步骤S5具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
所述预设请求为交易请求,所述请求数据具体为交易数据,所述交易数据中包含有交易信息、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述步骤S5具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述交易数据中包含的交易信息、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
本发明还提供了一种基于生物特征识别的客户端,包括客户端应程序模块和客户端身份认证模块;
所述客户端应用程序模块包括第一收发单元、第一交互单元、第二交互单元;
所述第一收发单元,用于向服务器发起预设请求,并接收服务器返回的请求数据,触发第一交互单元;还用于收到第一交互单元的触发时向服务器发送断言数据,并接收服务器返回的请求响应;
所述第一交互单元,用于根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;还用于当接收到客户端身份认证模块返回的身份认证请求响应时,从所述身份认证请求响应中获取断言数据并触发第一收发单元;
所述第二交互单元,用于从所述第一收发单元接收到的所述请求响应中获取请求结果并显示;
所述客户端身份认证模块包括第二收发单元、第一判断单元、第二判断单元和计算单元;
所述第二收发单元,用于接收客户端应用程序模块发来的所述身份验证请求,从所述身份验证请求中获取客户端标识和请求数据并触发第一判断单元,还用于向客户端应用程序模块返回身份认证请求响应;
所述第一判断单元,用于判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据;否则向客户端应用程序模块返回错误响应;
所述第二判断单元,用于根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则触发计算单元,若验证失败则向客户端应用程序模块返回错误响应;
所述计算单元,用于根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应并触发第二收发单元。
本发明的有益效果如下:通过在客户端的硬件装置内部即本发明中所述客户端身份认证模块中完成对用户生物特征信息的验证,降低了用户生物特征信息被攻击的风险,提高了用户在线注册和登录的安全性。
附图说明
图1是实施例1提供的一种基于生物特征识别的客户端工作方法流程图;
图2是实施例2提供的一种基于生物特征识别的注册方法流程图;
图3是实施例3提供的一种基于生物特征识别的认证/交易方法流程图;
图4是实施例4提供的一种基于生物特征识别的客户端的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种基于生物特征识别的客户端工作方法,其中,所述客户端包括客户端应用程序模块和客户端身份认证模块,其工作方法具体如图1所示,包括以下步骤:
步骤S1:客户端应用程序模块向服务器发起预设请求,并接收服务器返回的请求数据;
具体的,所述预设请求可以是注册请求、认证/交易请求;
当所述预设请求为注册请求时,所述请求数据具体为注册数据,所述注册数据中包含有应用ID、用户名参数、挑战值参数和认证策略参数;
当所述预设请求为认证请求时,所述请求数据具体为认证数据,所述认证数据中包含有应用ID、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
当所述预设请求为交易请求时,所述请求数据具体为交易数据,所述交易数据中包含有应用ID、交易信息、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段。
步骤S2:客户端应用程序模块根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;
步骤S3:客户端身份认证模块从所述身份验证请求中获取客户端标识和请求数据,判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据,然后执行步骤S4,否则向客户端应用程序模块返回错误响应,结束;
具体的,所述判断所述客户端标识和请求数据是否合法具体包括:
步骤1:检查所述请求数据中包含的内容的格式是否合法,是则执行步骤2,否则判断结果为不合法;
步骤2:根据所述请求数据中包含的应用ID获取信任列表,判断所述客户端标识是否存在在所述信任列表中,是则执行步骤3,否则判断结果为不合法;
步骤3:判断客户端身份认证模块对应的认证策略参数是否与所述请求数据中包含的认证策略参数匹配,是则判断结果为合法,否则判断结果为不合法。
进一步的,当所述预设请求为认证/交易请求时,所述步骤S3中所述提示用户输入生物特征数据之前还包括,判断所述请求数据中是否含有交易信息,是则通过客户端显示所述交易信息,待用户确认后执行所述提示用户输入生物特征数据;否则直接执行所述提示用户输入生物特征数据。
步骤S4:客户端身份认证模块根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则执行步骤S5,若验证失败则向客户端应用程序模块返回错误响应,结束;
步骤S5:客户端身份认证模块根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;
步骤S6:客户端应用程序模块从所述身份认证请求响应中获取断言数据,向服务器发送所述断言数据,并接收服务器返回的请求响应;从所述请求响应中获取请求结果并显示,结束。
实施例2
本发明的实施例2提供了一种基于生物特征识别的注册方法,适用于服务器和客户端组成的系统,其中所述客户端包括客户端应用程序模块和客户端身份认证模块,如图2所示,当用户向客户端应用程序模块发起注册操作时,执行以下步骤:
步骤1:客户端应用程序模块向服务器发送注册请求;
例如,发送的所述注册请求如下:
{"userName":"test","method":"registStart","uafResponse":""}。
步骤2:服务器生成包含有应用ID、用户名参数、挑战值参数和认证策略参数的注册数据;
例如,生成的注册数据如下:
[{"header":{"upv":{"major":1,"minor":0},"op":"Reg","appID":"https://uafmagdc.cloudentify.com/uafmanager/facets","serverData":"M21sNEJRdXFsREloaEx5WkZXQUFuNXd5bnJBa0t4cldfdk5oaXVzQ2xWay5NVFEzTWpnd09UZzFNalF4TncuZEdWemRBLlNrUkthRXBFUlhkS1NGcDBUVEkxVUZFelduVk9SMVpGVmxkRmRtVnJPSFZOYm5CdVRtNVY"},"challenge":"JDJhJDEwJHZtM25PQ3ZuNGVEVWEvek8uMnpnNnU","username":"test","policy":{"accepted":[[{"aaid":["001B#0001"]}],[{"aaid":["001A#2121"]}],[{"aaid":["0018#0001"]}],[{"aaid":["D409#0301"]}],[{"aaid":["0014#0002"]}],[{"aaid":["5AFE#4800"]}],[{"aaid":["0014#0003"]}],[{"aaid":["17EF#6010"]}],[{"aaid":["04EF#04EF"]}]]}}]。
其中,应用ID(appID)为:
"appID":"https://uafmagdc.cloudentify.com/uafmanager/facets";用户名参数为"username":"test";
挑战值参数(challenge)为:
"challenge":"JDJhJDEwJHZtM25PQ3ZuNGVEVWEvek8uMnpnNnU";
认证策略参数(policy)为:
"policy":{"accepted":[[{"aaid":["001B#0001"]}],[{"aaid":["001A#2121"]}],[{"aaid":["0018#0001"]}],[{"aaid":["D409#0301"]}],[{"aaid":["0014#0002"]}],[{"aaid":["5AFE#4800"]}],[{"aaid":["0014#0003"]}],[{"aaid":["17EF#6010"]}],[{"aaid":["04EF#04EF"]}]]}。
步骤3:服务器向客户端应用程序模块返回所述注册数据;
步骤4:客户端应用程序模块获取客户端标识,根据客户端标识和接收到的所述注册数据组成身份验证请求;
具体的,若客户端操作系统为iOS系统,则客户端应用程序模块直接获得所述客户端Bundle ID,并将其作为客户端标识;若客户端操作系统为Android系统,则客户端应用程序模块首先获取客户端数字签名,根据预设哈希算法对所述客户端数字签名进行计算,并将计算得到的哈希值作为客户端标识。
步骤5:客户端应用程序模块向客户端身份认证模块发送所述身份验证请求;
具体的,若客户端操作系统为iOS系统,则客户端应用程序模块使用x-callback-url协议方式调用客户端身份认证模块,发送所述身份验证请求;若客户端操作系统为Android系统,则客户端应用程序模块通过android intent api方式调用客户端身份认证模块,发送所述身份验证请求。
步骤6:客户端身份认证模块接收并解析所述身份验证请求得到注册数据和客户端标识;
步骤7:客户端身份认证模块检查所述注册数据是否合法,是则执行步骤8,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
本步骤中,所述检查所述注册数据是否合法具体包括:
1)检查所述注册数据中包含的应用ID、用户名参数、挑战值参数和认证策略参数是否不为空;
2)检查所述认证策略参数policy中的accepted项是否是一个不为空的数组;
若上述1)和2)的检查结果均为是则所述注册数据合法,否则所述注册数据不合法。
进一步的,所述注册数据中还包含有协议头参数header,所述协议头参数header中除包含有应用ID之外,还包含有appid项、upv项、op项和serverData项;所述检查所述注册数据是否合法还包括:
3)检查所述upv项对应的协议版本是否正确、所述op项是否等于“Reg”;
4)检查serverData项是否是长度在1-1536之间的base64url数据;
若上述1)、2)、3)和4)的检查结果均为是则所述注册数据合法,否则所述注册数据不合法。
步骤8:客户端身份认证模块根据所述注册数据中包含的应用ID获取信任列表;
具体的,客户端身份认证模块向所述应用ID对应的地址发起访问请求,并接收返回的信任列表;
例如,应用ID为:
https://uafmagdc.cloudentify.com/uafmanager/facets;
获取的信任列表为:
{"trustedFacets":[{"ids":["ios:bundle-id:com.ftsafe.FTUAFRPDemo","android:apk-key-hash:34omX0Qx5Bo53+0ThQvlvbAPWpk","ios:bundle-id:org.fidoalliance.ios.conformance","android:apk-key-hash:m8Jhom/txEhttna0wg505d1RciQ88","android:apk-key-hash:SvYZ4Sgas9T2+6DpNj566iscuns"],"version":{"minor":"0","major":"1"}}]}。
步骤9:客户端身份认证模块判断所述客户端标识是否存在在所述信任列表中,是则执行步骤10,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤10:客户端身份认证模块判断自身对应的认证策略参数是否与所述注册数据中包含的认证策略参数匹配,是则执行步骤11,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
具体的,若所述认证策略参数具体为认证器ID(aaid),则本步骤具体为判断所述身份认证模块的aaid是否与所述注册数据中包含的aaid匹配,是则执行步骤11,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束。
进一步的,所述认证策略参数还可以包括:认证器ID、算法类型、认证方式、协议版本、密钥保护方式、assertionSchemes、attestationTypes,则本步骤具体为:判断身份认证模块的认证策略参数中包含的认证器ID、算法类型、认证方式、协议版本、密钥保护方式、assertionSchemes、attestationTypes是否均与所述注册数据中包含的认证策略参数中各项内容一致,是则匹配成功,否则匹配失败。
步骤11:客户端身份认证模块根据所述认证策略参数确定当前认证方式,提示用户输入生物特征数据;
例如,根据认证策略参数确定的当前认证方式为指纹认证,则提示用户输入指纹信息。
一般的,若所述认证策略参数具体为认证器ID,则所述认证器ID对应有默认的认证方式,根据所述认证器ID确定认证方式。若所述认证策略参数中还包含有认证方式,则根据所述认证策略参数中包含的认证方式确定当前认证方式。
步骤12:客户端身份认证模块根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则执行步骤13,若验证失败则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤13:客户端身份认证模块生成注册标识和密钥对,保存所述注册标识和密钥对私钥,根据所述注册标识、所述密钥对私钥和所述注册数据计算得到断言数据,根据所述断言数据组成身份认证请求响应;
本步骤具体为:客户端身份认证模块生成注册标识和密钥对,保存所述注册标识和密钥对私钥,获取当前签名次数,使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;所述计算得到断言数据之后还包括更新所述当前签名次数。
所述根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据具体包括,客户端身份认证模块获取自身的认证器ID(aaid)、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第一预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
其中,所述第一预设值具体为固定数值0x3E01,对所述TLV数据进行编码具体为将所述TLV数据进行Base64url编码得到的编码结果作为所述断言数据。
进一步的,还可以是将所述aaid、所述协议版本、所述签名算法、所述证书与所述用户参数、所述挑战值以及生成的所述注册标识、所述密钥对公钥分别按照TLV格式组成多个TLV数据,然后将得到的多个TLV数据进行拼接得到的拼接结果作为V值,将固定数值0x3E01作为T值,按照TLV格式组成TLV数据,将所述TLV数据进行Base64url编码得到的编码结果作为所述断言数据。
例如:生成的注册标识(keyid)为:BBWl0kGsuv7uZx3mJGOgsyINgS7UrogfrbsCZjkOud4;
密钥对公钥为:
3082010A0282010100EDFD3B5CCE6DB5BE834BDB79B157EE9BAC6428512831FB20C59FAAD99D5D963E193B40FD3A50FB5DD6CC42D1D0ADAD5F53CE3737B5BCA512CA6BD17AE5233AE2ABAB1B39FD8265BB60E8C1EB7D72469033D53F40F0E4EF84DDA9BB38B0E29F33E9AFFE2D67D0B4F4BDC37219F803A437DA578C783AB11C0E34D024B8E76BBA5187570BD401C4D448E1D94263505651CCD0C6C1BE574B4FD9F4AE2211D5C10C3D70921FA4FFB2A880454A537557F9724124B84951CB0E8DC4864490CC6AF3A9AEB01D6556A08B7F764EC0830E6C79C0F4E8E1786031ECE4214D7B88F1C435F1645ACAFF1E4EFF7D2059B65839243A2536DCCEF2A5899FC177FD71CC23576956DD0203010001;
计算得到的断言数据为:
{"assertion":"AT42AwM-1QALLgkAMDAxQSMyMTIxDi4HAAABAQEAAAEKLiAAZaJ3f71dU7hkjfapB-g9U3OUG3v-P86X1ps70W4EbzoJLiAA_TnlQe6eo8U9zSWpLL6r-Lq94UEi4_Z0VHreGeGq9BANLggAaQAAAEwAAAAMLkEABNfSgmgdfZLTCSrIruCKTL1SAg8EmcVZiFG3EWL-LUb9MUHQ4ORFHiTlU5obcz0aORGi4FyqDXU06nOTofkDoykEASAAWJOLhdZmgLi5nMdt0g3SdqQEm2lQsSeDQUeoT4OF8NwHPlkCBi5AAAjk49mI_GoJrSsBqP4dlngzaaBPiWGaluqJzS8hjbPubC0S_3B2Cokh-tLjbke3oMF7ueY8EQ0Lqf_CR2seiRQFLhECMIICDTCCAbQCAgCmMAkGByqGSM49BAEwgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMRYwFAYDVQQKEw1ub2tub2tsYWJzLmNuMQwwCgYDVQQLFANSJkQxEDAOBgNVBAMTB1JvY2sgQ0ExJjAkBgkqhkiG9w0BCQEWF3JvY2sud2FuZ0Bub2tub2tsYWJzLmNuMB4XDTE2MDIyNTA4NDgwOVoXDTI2MDIyMjA4NDgwOVowgZMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMRYwFAYDVQQKEw1ub2tub2tsYWJzLmNuMQwwCgYDVQQLFANSJkQxEjAQBgNVBAMUCTAwMUEjMjEyMTEmMCQGCSqGSIb3DQEJARYXcm9jay53YW5nQG5va25va2xhYnMuY24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQs0STWZx3DdOKol3w2HRM6ww_SqWqiaK8XFKGRBDQeW7bmHbPbaLzMdRwuicqTrpG1Q94pmo-hD_WaLCAjPemZMAkGByqGSM49BAEDSAAwRQIhAKG8mZUiC6CVEDTK5moLG2m13ombVJKJR2bbxE-WllgGAiALajY5xvS373zCJG-zfo7nujOPkkhZ-qQ-kpu3vpIRNw","assertionScheme":"UAFV1TLV"}。
步骤14:客户端身份认证模块向客户端应用程序模块返回所述身份认证请求响应;
步骤15:客户端应用程序模块接收并解析所述身份认证请求响应得到断言数据;
步骤16:客户端应用程序模块向服务器发送所述断言数据;
步骤17:服务器接收并处理所述断言数据得到注册结果,根据注册结果组成注册请求响应;
步骤18:服务器向客户端应用程序模块返回所述注册请求响应;
步骤19:客户端应用程序模块接收所述注册请求响应,从中获取注册结果并显示,结束。
实施例3
本发明的实施例3提供了一种基于生物特征识别的认证/交易方法,适用于服务器和客户端组成的系统,其中所述客户端包括客户端应用程序模块和客户端身份认证模块,如图3所示,当用户向客户端应用程序模块发起认证/交易操作时,执行以下步骤:
步骤1:客户端应用程序模块向服务器发送认证/交易请求;
步骤2:服务器生成认证/交易数据;
步骤3:服务器向客户端应用程序模块返回所述认证/交易数据;
步骤4:客户端应用程序模块获取客户端标识,根据客户端标识和接收到的所述认证/交易数据组成身份验证请求;
步骤5:客户端应用程序模块向客户端身份认证模块发送所述身份验证请求;
具体的,若客户端操作系统为iOS系统,则客户端应用程序模块使用x-callback-url协议方式调用客户端身份认证模块,发送所述身份验证请求;若客户端操作系统为Android系统,则客户端应用程序模块通过android intent api方式调用客户端身份认证模块,发送所述身份验证请求。
步骤6:客户端身份认证模块接收并解析所述身份验证请求得到认证/交易数据和客户端标识;
步骤7:客户端身份认证模块检查所述认证/交易数据是否合法,是则执行步骤8,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
本步骤中,所述检查所述认证/交易数据是否合法具体包括:
1)检查所述认证/交易数据中包含的应用ID、挑战值参数和认证策略参数是否不为空;
2)检查所述认证策略参数policy中的accepted项是否是一个不为空的数组;
若上述1)和2)的检查结果均为是则所述认证/交易数据合法,否则所述认证/交易数据不合法。
步骤8:客户端身份认证模块根据所述认证/交易数据中包含的应用ID获取信任列表;
步骤9:客户端身份认证模块判断所述客户端标识是否存在在所述信任列表中,是则执行步骤10,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤10:客户端身份认证模块判断自身对应的认证策略参数是否与所述认证/交易数据中包含的认证策略参数匹配,是则执行步骤11,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤11:客户端身份认证模块判断所述认证/交易数据中是否包含有交易信息,是则执行步骤12,否则执行步骤13;
步骤12:客户端身份认证模块提示用户确认所述交易信息,判断用户是否确认,是则执行步骤13,否则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤13:客户端身份认证模块根据所述认证策略参数确定当前认证方式,提示用户输入生物特征数据;
步骤14:客户端身份认证模块根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则执行步骤15,若验证失败则向客户端应用程序模块返回错误响应,客户端应用程序模块提示错误,结束;
步骤15:客户端身份认证模块获取保存的注册标识和密钥对私钥,生成随机数,根据所述注册标识、所述随机数、所述密钥对私钥和所述认证/交易数据计算得到断言数据,根据所述断言数据组成身份认证请求响应;
具体的,若所述认证/交易数据中包含有交易信息,则本步骤具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述交易数据中包含的交易信息、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
所述根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据具体包括:客户端身份认证模块获取自身的认证器ID、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数、所述挑战值参数和交易信息组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
若所述认证/交易数据中不包含交易信息,则本步骤具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
所述根据更新后的签名次数、所述签名值、所述注册标识和所述挑战值参数组成断言数据,具体包括:客户端身份认证模块获取自身的认证器ID、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
其中,所述第二预设值具体为固定数值0x3E02,对所述TLV数据进行编码具体为将所述TLV数据进行Base64url编码得到的编码结果作为所述断言数据。
步骤16:客户端身份认证模块向客户端应用程序模块返回所述身份认证请求响应;
步骤17:客户端应用程序模块接收并解析所述身份认证请求响应得到断言数据;
步骤18:客户端应用程序模块向服务器发送所述断言数据;
步骤19:服务器接收并处理所述断言数据得到认证/交易结果,根据认证/交易结果组成认证/交易请求响应;
步骤20:服务器向客户端应用程序模块返回所述认证/交易请求响应;
步骤21:客户端应用程序模块接收所述认证/交易请求响应,从中获取认证/交易结果并显示,结束。
实施例4
本实施例提供了一种基于生物特征识别的客户端,如图4所示,包括客户端应用程序模块和客户端身份认证模块;
其中,所述客户端应用程序模块包括第一收发单元401、第一交互单元402和第二交互单元403;所述客户端身份认证模块包括第二收发单元404、第一判断单元405、第二判断单元406和计算单元407;
本实施例中,所述第一收发单元401,用于向服务器发起预设请求,并接收服务器返回的请求数据,触发第一交互单元402;还用于收到第一交互单元402的触发时向服务器发送断言数据,并接收服务器返回的请求响应;
所述第一交互单402元,用于根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;还用于当接收到客户端身份认证模块返回的身份认证请求响应时,从所述身份认证请求响应中获取断言数据并触发第一收发单元401;
所述第二交互单元403,用于从所述第一收发单元401接收到的所述请求响应中获取请求结果并显示;
所述第二收发单元404,用于接收客户端应用程序模块发来的所述身份验证请求,从所述身份验证请求中获取客户端标识和请求数据并触发第一判断单元405,还用于向客户端应用程序模块返回身份认证请求响应;
所述第一判断单元405,用于判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据;否则向客户端应用程序模块返回错误响应;
所述第一判断单元405,具体用于检查所述请求数据中包含的内容的格式是否合法,当所述请求数据中包含的内容的格式合法时,还用于根据所述请求数据中包含的应用ID获取信任列表,判断所述客户端标识是否存在在所述信任列表中,是则判断客户端身份认证模块对应的认证策略参数是否与所述请求数据中包含的认证策略参数匹配,是则判断结果为合法,提示用户输入生物特征数据;否则判断结果为不合法,向客户端应用程序模块返回错误响应;当所述请求数据中包含的内容的格式不合法时判断结果为不合法,向客户端应用程序模块返回错误响应。
所述第一判断单元405,还用于当判断结果为合法时根据所述认证策略参数确定当前认证方式,根据所述当前认证方式提示用户输入相应的生物特征数据。
所述第二判断单元406,用于根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则触发计算单元407,若验证失败则向客户端应用程序模块返回错误响应;
所述计算单元407,用于根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应并触发第二收发单元404。
本实施例提供的客户端用于实现注册功能时,相应的各组成单元的功能如下:
所述第一收发单元401,具体用于向服务器发起注册请求,并接收服务器返回的注册数据;所述注册数据中包含有用户名参数、挑战值参数;
所述计算单元407包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,具体用于在收到第二判断单元406的触发时,生成注册标识和密钥对,保存所述注册标识和密钥对私钥,获取当前签名次数,触发所述第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应;还用于计算得到断言数据之后更新所述当前签名次数。
其中,上述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取认证器ID、协议版本、签名算法和证书,用于使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数;用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第一预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
本实施例提供的客户端用于实现认证/交易功能时,相应的各组成单元的功能如下:
所述第一收发单元401,具体用于向服务器发起认证/交易请求,并接收服务器返回的认证/交易数据;
所述第一判断单元405,还用于判断所述请求数据中是否含有交易信息,是则通过客户端显示所述交易信息,待用户确认后提示用户输入生物特征数据;否则直接提示用户输入生物特征数据。
具体的,所述第一收发单元401,具体用于向服务器发起认证请求,并接收服务器返回的认证数据;所述认证数据中包含有挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述计算单元407包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,用于根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,触发第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应,还用于计算得到断言数据之后更新所述当前签名次数。
其中,上述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取认证器ID、协议版本、签名算法和证书,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
或者具体的,所述第一收发单元401,具体用于向服务器发起交易请求,并接收服务器返回的交易数据;所述交易数据中包含有交易信息、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述计算单元407包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,用于根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,触发第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述交易数据中包含的交易信息、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应,还用于计算得到断言数据之后更新所述当前签名次数。
其中,上述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取自身的认证器ID、协议版本、签名算法和证书,用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数、所述挑战值参数和交易信息组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
进一步的,本实施例中的所述客户端应用程序模块还可以包括获取单元;
所述获取单元,具体用于当客户端操作系统为iOS系统时,获取客户端的BundleID,并将其作为客户端标识;用于当客户端操作系统为Android系统时,获取客户端数字签名,根据预设哈希算法对所述客户端数字签名进行计算,并将计算得到的哈希值作为客户端标识。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (22)
1.一种基于生物特征识别的客户端工作方法,其特征在于,包括:
步骤S1:客户端应用程序模块向服务器发起预设请求,并接收服务器返回的请求数据;
步骤S2:客户端应用程序模块根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;
步骤S3:客户端身份认证模块从所述身份验证请求中获取客户端标识和请求数据,判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据,执行步骤S4,否则向客户端应用程序模块返回错误响应,结束;
步骤S4:客户端身份认证模块根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则执行步骤S5,否则向客户端应用程序模块返回错误响应,结束;
步骤S5:客户端身份认证模块根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;
步骤S6:客户端应用程序模块从所述身份认证请求响应中获取断言数据,向服务器发送所述断言数据,并接收服务器返回的请求响应;从所述请求响应中获取请求结果并显示,结束。
2.根据权利要求1所述的方法,其特征在于:所述判断所述客户端标识和请求数据是否合法具体包括:
步骤1:检查所述请求数据中包含的内容的格式是否合法,是则执行步骤2,否则判断结果为不合法;
步骤2:根据所述请求数据中包含的应用ID获取信任列表,判断所述客户端标识是否存在在所述信任列表中,是则执行步骤3,否则判断结果为不合法;
步骤3:判断客户端身份认证模块对应的认证策略参数是否与所述请求数据中包含的认证策略参数匹配,是则判断结果为合法,否则判断结果为不合法。
3.根据权利要求2所述的方法,其特征在于:所述判断结果为合法时还包括根据所述认证策略参数确定当前认证方式;
所述步骤S3中所述提示用户输入生物特征数据具体为根据所述当前认证方式提示用户输入相应的生物特征数据。
4.根据权利要求1所述的方法,其特征在于:所述预设请求为注册请求,所述请求数据具体为注册数据,所述注册数据中包含有用户名参数、挑战值参数;
所述步骤S5具体为:客户端身份认证模块生成注册标识和密钥对,保存所述注册标识和密钥对私钥,获取当前签名次数,使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应;所述计算得到断言数据之后还包括更新所述当前签名次数。
5.根据权利要求4所述的方法,其特征在于:所述根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据具体包括,客户端身份认证模块获取自身的认证器ID、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第一预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
6.根据权利要求1所述的方法,其特征在于:所述预设请求为认证/交易请求,所述步骤S3中所述提示用户输入生物特征数据之前还包括,判断所述请求数据中是否含有交易信息,是则通过客户端显示所述交易信息,待用户确认后执行所述提示用户输入生物特征数据;否则直接执行所述提示用户输入生物特征数据。
7.根据权利要求6所述的方法,其特征在于:所述预设请求为认证请求,所述请求数据具体为认证数据,所述认证数据中包含有挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述步骤S5具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
8.根据权利要求7所述的方法,其特征在于:所述根据更新后的签名次数、所述签名值、所述注册标识和所述挑战值参数组成断言数据,具体包括:客户端身份认证模块获取自身的认证器ID、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
9.根据权利要求6所述的方法,其特征在于:所述预设请求为交易请求,所述请求数据具体为交易数据,所述交易数据中包含有交易信息、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述步骤S5具体为:客户端身份认证模块根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,使用所述密钥对私钥对所述注册标识、所述随机数以及所述交易数据中包含的交易信息、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据,根据所述断言数据组成身份认证请求响应,向客户端应用程序模块返回所述身份认证请求响应,所述计算得到断言数据之后还包括更新所述当前签名次数。
10.根据权利要求9所述的方法,其特征在于:所述根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据具体包括:客户端身份认证模块获取自身的认证器ID、协议版本、签名算法和证书,根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数、所述挑战值参数和交易信息组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为所述断言数据。
11.根据权利要求1所述的方法,其特征在于:所述步骤S2还包括获取客户端标识,具体如下:
若客户端操作系统为iOS系统,则所述客户端应用程序模块获得客户端的Bundle ID,并将其作为客户端标识;若客户端操作系统为Android系统,则客户端应用程序模块获取客户端数字签名,根据预设哈希算法对所述客户端数字签名进行计算,并将计算得到的哈希值作为客户端标识。
12.一种基于生物特征识别的客户端,其特征在于,包括客户端应程序模块和客户端身份认证模块;
所述客户端应用程序模块包括第一收发单元、第一交互单元、第二交互单元;
所述第一收发单元,用于向服务器发起预设请求,并接收服务器返回的请求数据,触发第一交互单元;还用于收到第一交互单元的触发时向服务器发送断言数据,并接收服务器返回的请求响应;
所述第一交互单元,用于根据客户端标识和所述请求数据组成身份验证请求,向客户端身份认证模块发送所述身份验证请求;还用于当接收到客户端身份认证模块返回的身份认证请求响应时,从所述身份认证请求响应中获取断言数据并触发第一收发单元;
所述第二交互单元,用于从所述第一收发单元接收到的所述请求响应中获取请求结果并显示;
所述客户端身份认证模块包括第二收发单元、第一判断单元、第二判断单元和计算单元;
所述第二收发单元,用于接收客户端应用程序模块发来的所述身份验证请求,从所述身份验证请求中获取客户端标识和请求数据并触发第一判断单元,还用于向客户端应用程序模块返回身份认证请求响应;
所述第一判断单元,用于判断所述客户端标识和请求数据是否合法,是则提示用户输入生物特征数据;否则向客户端应用程序模块返回错误响应;
所述第二判断单元,用于根据用户输入的生物特征数据对当前用户进行身份验证,若验证成功则触发计算单元,若验证失败则向客户端应用程序模块返回错误响应;
所述计算单元,用于根据注册标识、密钥对私钥以及所述请求数据计算得到断言数据,根据所述断言数据组成身份认证请求响应并触发第二收发单元。
13.根据权利要求12所述的客户端,其特征在于:
所述第一判断单元,具体用于检查所述请求数据中包含的内容的格式是否合法,当所述请求数据中包含的内容的格式合法时,还用于根据所述请求数据中包含的应用ID获取信任列表,判断所述客户端标识是否存在在所述信任列表中,是则判断客户端身份认证模块对应的认证策略参数是否与所述请求数据中包含的认证策略参数匹配,是则判断结果为合法,提示用户输入生物特征数据;否则判断结果为不合法,向客户端应用程序模块返回错误响应;当所述请求数据中包含的内容的格式不合法时判断结果为不合法,向客户端应用程序模块返回错误响应。
14.根据权利要求13所述的客户端,其特征在于:所述第一判断单元还用于当判断结果为合法时根据所述认证策略参数确定当前认证方式,根据所述当前认证方式提示用户输入相应的生物特征数据。
15.根据权利要求12所述的客户端,其特征在于:
所述第一收发单元,具体用于向服务器发起注册请求,并接收服务器返回的注册数据;所述注册数据中包含有用户名参数、挑战值参数;
所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,具体用于在收到第二判断单元的触发时,生成注册标识和密钥对,保存所述注册标识和密钥对私钥,获取当前签名次数,触发所述第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应;还用于计算得到断言数据之后还更新所述当前签名次数。
16.根据权利要求15所述的客户端,其特征在于:
所述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取认证器ID、协议版本、签名算法和证书,用于使用所述密钥对私钥对所述注册标识、所述密钥对公钥以及所述注册数据中包含的用户名参数、挑战值参数进行签名计算得到签名值,更新当前签名次数;用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述密钥对公钥、所述用户名参数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第一预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
17.根据权利要求12所述的客户端,其特征在于:所述第一收发单元,具体用于向服务器发起认证/交易请求,并接收服务器返回的认证/交易数据;
所述第一判断单元,还用于判断所述请求数据中是否含有交易信息,是则通过客户端显示所述交易信息,待用户确认后提示用户输入生物特征数据;否则直接提示用户输入生物特征数据。
18.根据权利要求17所述的客户端,其特征在于:所述第一收发单元,具体用于向服务器发起认证请求,并接收服务器返回的认证数据;所述认证数据中包含有挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,用于根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,触发第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应,还用于计算得到断言数据之后更新所述当前签名次数。
19.根据权利要求18所述的客户端,其特征在于:所述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取认证器ID、协议版本、签名算法和证书,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述认证数据中包含的挑战值参数进行签名得到签名值,更新当前签名次数,用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述挑战值参数组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
20.根据权利要求17所述的客户端,其特征在于:所述第一收发单元,具体用于向服务器发起交易请求,并接收服务器返回的交易数据;所述交易数据中包含有交易信息、挑战值参数和认证策略参数,所述认证策略参数中包含有注册标识字段;
所述计算单元包括第一计算子单元、第二计算子单元和第三计算子单元;
所述第一计算子单元,用于根据所述认证策略参数中包含的注册标识字段查找并获取保存的注册标识和密钥对私钥,获取当前签名次数,生成随机数,触发第二计算子单元;
所述第二计算子单元,用于使用所述密钥对私钥对所述注册标识、所述随机数以及所述交易数据中包含的交易信息、挑战值参数进行签名计算得到签名值,更新当前签名次数,根据更新后的签名次数、所述签名值、所述注册标识、所述随机数和所述交易信息、所述挑战值参数组成断言数据;
所述第三计算子单元,用于根据所述断言数据组成身份认证请求响应,还用于计算得到断言数据之后还更新所述当前签名次数。
21.根据权利要求20所述的客户端,其特征在于:
所述第二计算子单元,具体用于收到所述第一计算子单元的触发时,获取自身的认证器ID、协议版本、签名算法和证书,用于根据获取的所述认证器ID、所述协议版本、所述签名算法、所述证书与所述更新后的签名次数、所述签名值、所述注册标识、所述随机数、所述挑战值参数和交易信息组成拼接结果,将所述拼接结果作为V值,将所述拼接结果的长度值作为L值,将第二预设值作为T值,按照TLV格式组成TLV数据,对所述TLV数据进行编码,将得到的编码结果作为断言数据。
22.根据权利要求12所述的客户端,其特征在于:所述客户端应用程序模块还包括获取单元;
所述获取单元,具体用于当客户端操作系统为iOS系统时,获取客户端的Bundle ID,并将其作为客户端标识;用于当客户端操作系统为Android系统时,获取客户端数字签名,根据预设哈希算法对所述客户端数字签名进行计算,并将计算得到的哈希值作为客户端标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611058902.6A CN106549973A (zh) | 2016-11-21 | 2016-11-21 | 一种基于生物特征识别的客户端及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611058902.6A CN106549973A (zh) | 2016-11-21 | 2016-11-21 | 一种基于生物特征识别的客户端及其工作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106549973A true CN106549973A (zh) | 2017-03-29 |
Family
ID=58395914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611058902.6A Pending CN106549973A (zh) | 2016-11-21 | 2016-11-21 | 一种基于生物特征识别的客户端及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106549973A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919963A (zh) * | 2017-12-27 | 2018-04-17 | 飞天诚信科技股份有限公司 | 一种认证器及其实现方法 |
CN109214154A (zh) * | 2017-06-29 | 2019-01-15 | 佳能株式会社 | 信息处理装置和方法 |
CN109784024A (zh) * | 2018-12-14 | 2019-05-21 | 航天信息股份有限公司 | 一种基于多认证器多因子的快速在线身份认证fido方法和系统 |
CN109829722A (zh) * | 2019-02-22 | 2019-05-31 | 兴唐通信科技有限公司 | 一种电子支付系统的用户身份实名认证方法 |
WO2020024852A1 (zh) * | 2018-08-01 | 2020-02-06 | 飞天诚信科技股份有限公司 | 一种认证方法及认证设备 |
CN110852139A (zh) * | 2018-08-21 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 生物特征识别方法、装置、设备以及存储介质 |
CN110932858A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 认证方法和系统 |
CN111382420A (zh) * | 2018-12-29 | 2020-07-07 | 金联汇通信息技术有限公司 | 数据交易方法、装置、系统、电子设备和可读存储介质 |
CN112182542A (zh) * | 2020-12-03 | 2021-01-05 | 飞天诚信科技股份有限公司 | 一种生物识别精准匹配的方法和系统 |
CN112199663A (zh) * | 2020-12-03 | 2021-01-08 | 飞天诚信科技股份有限公司 | 一种无用户名的认证方法及系统 |
CN112989309A (zh) * | 2021-05-21 | 2021-06-18 | 统信软件技术有限公司 | 基于多方授权的登录方法、认证方法、系统及计算设备 |
CN113190816A (zh) * | 2021-05-08 | 2021-07-30 | 国民认证科技(北京)有限公司 | 一种使用系统生物特征的人机交互验证方法及系统 |
CN114417298A (zh) * | 2021-12-30 | 2022-04-29 | 飞天诚信科技股份有限公司 | 一种保存大对象数据的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162785A (zh) * | 2015-09-07 | 2015-12-16 | 飞天诚信科技股份有限公司 | 一种基于认证设备进行注册的方法和设备 |
CN105550558A (zh) * | 2015-07-31 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种指纹读取方法及用户设备 |
CN105827655A (zh) * | 2016-05-27 | 2016-08-03 | 飞天诚信科技股份有限公司 | 一种智能密钥设备及其工作方法 |
CN105847247A (zh) * | 2016-03-21 | 2016-08-10 | 飞天诚信科技股份有限公司 | 一种认证系统及其工作方法 |
-
2016
- 2016-11-21 CN CN201611058902.6A patent/CN106549973A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550558A (zh) * | 2015-07-31 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种指纹读取方法及用户设备 |
CN105162785A (zh) * | 2015-09-07 | 2015-12-16 | 飞天诚信科技股份有限公司 | 一种基于认证设备进行注册的方法和设备 |
CN105847247A (zh) * | 2016-03-21 | 2016-08-10 | 飞天诚信科技股份有限公司 | 一种认证系统及其工作方法 |
CN105827655A (zh) * | 2016-05-27 | 2016-08-03 | 飞天诚信科技股份有限公司 | 一种智能密钥设备及其工作方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214154A (zh) * | 2017-06-29 | 2019-01-15 | 佳能株式会社 | 信息处理装置和方法 |
US11042615B2 (en) | 2017-06-29 | 2021-06-22 | Canon Kabushiki Kaisha | Information processing apparatus and method |
CN107919963B (zh) * | 2017-12-27 | 2020-10-27 | 飞天诚信科技股份有限公司 | 一种认证器及其实现方法 |
CN107919963A (zh) * | 2017-12-27 | 2018-04-17 | 飞天诚信科技股份有限公司 | 一种认证器及其实现方法 |
US11930118B2 (en) | 2018-08-01 | 2024-03-12 | Feitian Technologies Co., Ltd. | Authentication method and authentication device |
WO2020024852A1 (zh) * | 2018-08-01 | 2020-02-06 | 飞天诚信科技股份有限公司 | 一种认证方法及认证设备 |
CN110852139A (zh) * | 2018-08-21 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 生物特征识别方法、装置、设备以及存储介质 |
CN110852139B (zh) * | 2018-08-21 | 2024-05-24 | 斑马智行网络(香港)有限公司 | 生物特征识别方法、装置、设备以及存储介质 |
CN110932858A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 认证方法和系统 |
CN110932858B (zh) * | 2018-09-19 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 认证方法和系统 |
CN109784024A (zh) * | 2018-12-14 | 2019-05-21 | 航天信息股份有限公司 | 一种基于多认证器多因子的快速在线身份认证fido方法和系统 |
CN111382420A (zh) * | 2018-12-29 | 2020-07-07 | 金联汇通信息技术有限公司 | 数据交易方法、装置、系统、电子设备和可读存储介质 |
CN109829722A (zh) * | 2019-02-22 | 2019-05-31 | 兴唐通信科技有限公司 | 一种电子支付系统的用户身份实名认证方法 |
CN112199663A (zh) * | 2020-12-03 | 2021-01-08 | 飞天诚信科技股份有限公司 | 一种无用户名的认证方法及系统 |
CN112182542B (zh) * | 2020-12-03 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种生物识别精准匹配的方法和系统 |
CN112182542A (zh) * | 2020-12-03 | 2021-01-05 | 飞天诚信科技股份有限公司 | 一种生物识别精准匹配的方法和系统 |
CN113190816A (zh) * | 2021-05-08 | 2021-07-30 | 国民认证科技(北京)有限公司 | 一种使用系统生物特征的人机交互验证方法及系统 |
CN112989309B (zh) * | 2021-05-21 | 2021-08-20 | 统信软件技术有限公司 | 基于多方授权的登录方法、认证方法、系统及计算设备 |
CN112989309A (zh) * | 2021-05-21 | 2021-06-18 | 统信软件技术有限公司 | 基于多方授权的登录方法、认证方法、系统及计算设备 |
CN114417298A (zh) * | 2021-12-30 | 2022-04-29 | 飞天诚信科技股份有限公司 | 一种保存大对象数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106549973A (zh) | 一种基于生物特征识别的客户端及其工作方法 | |
US11068575B2 (en) | Authentication system | |
US20220058655A1 (en) | Authentication system | |
CN105162785B (zh) | 一种基于认证设备进行注册的方法和设备 | |
CN106100848B (zh) | 基于智能手机和用户口令的双因子身份认证系统及方法 | |
CN105187450B (zh) | 一种基于认证设备进行认证的方法和设备 | |
CN108881310A (zh) | 一种注册系统及其工作方法 | |
CN104767613B (zh) | 签名验证方法、装置及系统 | |
US9979721B2 (en) | Method, server, client and system for verifying verification codes | |
CN105164689B (zh) | 用户认证系统及方法 | |
CN107786547A (zh) | 一种基于区块链的身份验证方法、装置及计算机可读存储介质 | |
CN108959933A (zh) | 用于基于风险的认证的风险分析装置及方法 | |
CN108989278A (zh) | 认证服务系统及方法 | |
CN105306490B (zh) | 支付验证系统、方法及装置 | |
US20160112437A1 (en) | Apparatus and Method for Authenticating a User via Multiple User Devices | |
US20210243040A1 (en) | Authentication system and working method thereof | |
CN106330850A (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
CN106102058B (zh) | 一种身份认证方法及装置 | |
CN106453205B (zh) | 一种身份验证方法和装置 | |
CN106411950B (zh) | 基于区块链交易id的认证方法、装置及系统 | |
CN106921640A (zh) | 身份认证方法、认证装置及认证系统 | |
CN105827571B (zh) | 基于uaf协议的多模态生物特征认证方法和设备 | |
CN109802942A (zh) | 一种隐私保护的声纹认证方法及系统、移动终端 | |
CN106453422A (zh) | 一种基于移动终端动态认证方法及系统 | |
CN109784024A (zh) | 一种基于多认证器多因子的快速在线身份认证fido方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170329 |
|
RJ01 | Rejection of invention patent application after publication |