CN112039848B - 一种基于区块链公钥数字签名的Web认证方法、***和装置 - Google Patents
一种基于区块链公钥数字签名的Web认证方法、***和装置 Download PDFInfo
- Publication number
- CN112039848B CN112039848B CN202010780033.8A CN202010780033A CN112039848B CN 112039848 B CN112039848 B CN 112039848B CN 202010780033 A CN202010780033 A CN 202010780033A CN 112039848 B CN112039848 B CN 112039848B
- Authority
- CN
- China
- Prior art keywords
- request
- registration
- information
- data
- public key
- 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
Links
Images
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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链公钥数字签名的Web认证方法、***和装置,客户端发出注册或请求,***根据设定的非对称签名算法,生成公私钥对,将注册或请求信息生成相应的有效载荷数据,基于私钥进行签名,将公钥、有效载荷数据、签名结果生成注册或请求数据,服务端对注册或请求数据进行解析,获取注册或请求信息,执行相应操作。本申请通过将注册或请求信息转换为有效载荷数据,并基于公钥、私钥生成注册或请求数据发送给服务端,服务端将认证信息与注册或请求数据关联,防止了服务端处理被篡改的请求;服务端接收注册或请求数据后,进行相应操作,避免了不经客户端构成认证信息。服务端不管理敏感信息,降低了泄漏风险。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种基于区块链公钥数字签名的Web认证方法、***和装置。
背景技术
目前,Web***中,对用户进行身份认证主要有5种方式:
1.HttpBasicAuth:客户端在请求头提供用户名和密码,由服务端检查密码是否正确。这种方式中,密码是明文传输的,容易泄漏。
2.OAuth2:客户端按照协议,最终从服务端获取Accesstoken,后续请求种都附带Accesstoken,由服务端根据Accesstoken实现用户身份的认证。
3.CookieSessionAuth:客户端提供有效的身份证明信息(如用户名密码),服务端为访问者创建Session对象,客户端通过Cookie保存Sessionid,后续请求都附带Cookie信息,服务端匹配Session对象,实现对用户身份的认证。
4.TokenAuth:客户端提供有效的身份证明信息(如用户名密码),服务端为客户端分配token,客户端后续请求都附带token,服务端验证token,实现对用户身份的认证。
5.JWTAuth:客户端提供有效的身份证明信息(如用户名密码),服务端构造符合JWT规范的header和payload,对其进行签名,得到token,发送给客户端,客户端后续请求都附带token,服务端验证token由自身签发并解析出token中的身份信息,实现对用户身份的认证。
在以上的方法2-5中,存在如下问题:token均由服务端生成,服务端可以不经客户端允许生成token;在服务端集中管理,一旦泄漏,会出现大批用户的请求可能被伪造;在一段时间内,token不会变化,如果token被第三方截获,第三方很容易伪造客户端的请求;token和请求数据没有关系,数据传输途中即使被篡改,服务端也无法发现。
而且,随着区块链技术的发展,在一些去中心化***中,用户的身份信息并不是由中心服务器管理,而是通过用户持有非对称加密的私钥体现的,在基于这种***构建的Web***的,上述Web认证方式均不可使用。
因此,设计一种安全且应用广泛的Web认证方式,是目前亟待解决的问题。
发明内容
本发明的目的是提供一种基于区块链公钥数字签名的Web认证方法、***和装置,客户端发出注册或请求,***根据设定的非对称签名算法,生成公私钥对,将注册或请求信息生成相应的有效载荷数据,基于私钥进行签名,将公钥、有效载荷数据、签名结果生成注册或请求数据,服务端对注册或请求数据进行解析,获取注册或请求信息,执行相应操作。
第一方面,本发明的上述发明目的通过以下技术方案得以实现:
一种基于区块链公钥数字签名的Web认证方法,客户端在注册过程中,生成公钥私钥对;或根据注册信息生成注册有效载荷数据,结合密钥进行运算获得签名结果,将公钥、注册有效载荷数据、签名结果结合成注册请求数据;在请求响应过程中,基于密钥生成请求数据发送给服务器。
本发明进一步设置为:在不需要注册信息的注册过程中,客户端自行生成公钥PK、私钥SK对,并存储。
本发明进一步设置为:在需要注册信息的注册过程中,客户端工作包括以下步骤:
S1、自行生成公钥PK、私钥SK对,并存储;
S2、接收用户注册信息,并生成注册有效载荷数据;
S3、基于私钥SK,对注册有效载荷数据签名,得到注册签名结果;
S4、将公钥PK、注册有效载荷数据、注册签名结果结合,得到注册请求数据,发送给服务端;
S5、接收服务端返回的注册结果信息。
本发明进一步设置为:客户端向服务端发出读请求,包括以下步骤:
A1、接收读业务请求信息,生成第一请求有效载荷数据;
A2、基于私钥SK,对第一请求有效载荷数据签名,得到第一请求签名结果;
A3、将公钥PK、第一请求有效载荷数据、第一请求签名结果结合,得到第一读请求数据,发送给服务端;
A4、接收服务端返回的第一读请求结果;
A5、接收服务端的业务执行结果。
本发明进一步设置为:客户端向服务端发出读或写请求,包括以下步骤:
B1、获取一次性随机数信息、第二读或写业务请求信息,生成第二请求有效载荷数据;
B2、基于私钥SK,对第二请求有效载荷数据签名,得到第二请求签名结果;
B3、将公钥PK、第二请求有效载荷数据、第二请求签名结果结合,得到第二读或写请求数据,发送给服务端;
B4、接收服务端返回的第二读或写请求结果;
B5、接收服务端的业务执行结果。
本发明进一步设置为:获取一次性随机数信息,包括以下步骤:
P1、生成请求一次性随机数的第三请求有效载荷数据;
P2、基于私钥SK,对第三请求有效载荷数据签名,得到第三请求签名结果;
P3、将公钥PK、第三请求有效载荷数据、第三请求签名结果结合,得到第三随机数请求数据,发送给服务端;
P4、接收服务端发送的响应随机数信号。
第二方面,本发明的上述发明目的通过以下技术方案得以实现:一种基于区块链公钥数字签名的Web认证方法,服务端在注册过程中,接收客户端发送的注册请求数据,对密钥或注册请求数据进行验证,并发送验证结果给客户端;在请求响应过程中,接收客户端的读业务请求、读或写业务请求、随机数业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
本发明进一步设置为:服务端在注册过程中,接收客户端发送的注册请求数据,包括以下步骤:
D1、接收客户端发送的注册请求数据;
D2、对注册请求数据进行解析,得到公钥PK、注册有效载荷数据、注册签名结果;
D3、验证注册签名结果是否正确,若是,进入下一步,若否,转D8;
D4、解密注册有效载荷数据,得到用户注册信息;
D5、根据公钥PK计算用户身份ID;
D6、将用户注册信息、用户身份ID进行关联,并保存;
D7、发送注册成功信息给客户端,转D9;
D8、发送验证错误信息给客户端;
D9、注册结束。
本发明进一步设置为:服务端在请求响应过程中,接收客户端发送的第一读请求数据,包括以下步骤:
E1、接收客户端发送的第一读请求数据;
E2、解析第一读请求数据,得到公钥PK、第一请求有效载荷数据、第一请求签名结果;
E3、验证第一请求签名结果是否正确,若是,进入下一步,若否,转E8;
E4、解析第一请求有效载荷数据,得到第一业务请求信息;
E5、根据公钥PK计算用户身份ID;
E6、根据用户身份ID、第一业务请求信息执行业务逻辑;
E7、发送业务执行结果信息给客户端,转E9;
E8、发送验证错误信息给客户端;
E9、请求结束。
本发明进一步设置为:服务端在请求响应过程中,接收客户端发送的第二读或写请求数据,包括以下步骤:
W1、接收客户端发送的第二读或写请求数据;
W2、解析第二读或写请求数据,得到公钥PK、第二请求有效载荷数据、第二请求签名结果;
W3、验证第二请求签名结果是否正确,若是,进入下一步,若否,转W10;
W4、解析第二请求有效载荷数据,得到一次性随机数信息、第二读或写业务请求信息;
W5、根据公钥PK计算用户身份ID;
W6、将服务端保存的用户身体ID对应的一次性随机数信息,与解析得到的一次性随机数信息进行比较,若相同,进入下一步,若不同,转W11;
W7、将服务端保存的用户身体ID对应的一次性随机数信息设置为失效;
W8、根据用户身份ID、第二读或写业务请求信息,执行业务逻辑;
W9、发送业务执行结果信息给客户端,转W12;
W10、发送验证错误信息给客户端,转W12;
W11、发送一次性随机数验证错误信息给客户端;
W12、请求结束。
本发明进一步设置为:服务端在请求响应过程中,接收客户端发送的第三随机数请求数据,包括以下步骤:
Q1、接收客户端发送的第三随机数请求数据;
Q2、解析第三随机数请求数据,得到公钥PK、第三请求有效载荷数据、第三请求签名结果;
Q3、验证第三请求签名结果是否正确,若是,进入下一步,若否,转Q8;
Q4、解析第三请求有效载荷数据,得到获取一次性随机数业务请求信息;
Q5、根据公钥PK计算用户身份ID;
Q6、生成一次性随机数,并与用户身份ID关联后保存;
Q7、发送一次性随机数给客户端,转Q9;
Q8、发送验证错误信息给客户端;
Q9、请求结束。
第三方面,本发明的上述发明目的通过以下技术方案得以实现:
一种基于区块链公钥数字签名的Web认证***,包括算法模块、注册模块、请求模块,算法模块分别与注册模块、请求模块连接,算法模块用于在注册与请求过程中,采用非对称签名算法和摘要算法,对注册模块中的用户注册信息序列化,对注册有效载荷数据进行注册签名;对请求模块中的业务请求进行序列化、反序列化,对请求有效载荷数据进行请求签名,注册模块用于执行如权利要求1-6任意一项所述方法,请求模块用于执行如权利要求7-11任意一项所述方法。
第四方面,本发明的上述发明目的通过以下技术方案得以实现:一种基于区块链公钥数字签名的Web认证装置,包括存储器和处理器,存储器存储有能够被处理器加载并执行的如权利要求1-11任意一项所述方法的计算机程序。
与现有技术相比,本发明的有益技术效果为:
1.本申请通过将注册或请求信息转换为有效载荷数据,并基于公钥、私钥生成注册或请求数据发送给服务端,服务端将认证信息与注册或请求数据关联,防止了服务端处理被篡改的请求;
2.进一步地,本申请通过服务端接收注册或请求数据后,才进行相应操作,避免了不经客户端构成认证信息的可能;
3.进一步地,本申请的服务端不需要管理敏感信息,降低了泄漏风险;
4.进一步地,本申请生成的注册或请求数据不能重复使用,避免了万一被截获后伪造客户端请求的可能性。
附图说明
图1是本发明的一个具体实施例的注册过程流程示意图;
图2是本发明的一个具体实施例的请求响应过程流程示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
具体实施例一
本申请的一种基于区块链公钥数字签名的Web认证***,包括算法模块、注册模块、请求模块,算法模块分别与注册模块、请求模块连接,在算法模块中设定有非对称签名算法和摘要算法,用于在注册或请求过程中,采用设定算法进行相应计算;生成公私钥对,对注册模块中的用户注册信息序列化,生成有效载荷数据;基于私钥,对用户注册信息或请求信息进行签名,得到签名结果;对请求模块中的业务请求进行序列化、反序列化,对请求有效载荷数据进行请求签名;注册模块用于根据用户注册信息,生成注册数据,完成注册;请求模块用于根据用户请求,生成请求数据,并执行相应的请求操作。
具体实施例二
本申请的一种基于区块链公钥数字签名的Web认证方法,在去中心化***中,不需要用户额外提供信息进行注册,客户端根据***设定的非对称签名算法,自行生成公钥(PK)、私钥(SK)对,并保存,注册过程完成。
具体实施例三
本申请的一种基于区块链公钥数字签名的Web认证方法,***需要用户额外提供信息进行注册,客户端根据注册信息生成注册有效载荷数据,结合密钥进行运算获得签名结果,将公钥、注册有效载荷数据、签名结果结合成注册请求数据,发送给服务端,并接收服务端返回的信息。
具体地,包括以下步骤:
S1、基于非对称签名算法,自行生成公钥(PK)、私钥(SK)对,并存储;
S2、接收用户注册信息,将用户注册信息序列化,生成注册有效载荷数据(RegisterPayload),数据采用与服务端约定的任意数据序列化格式,包括JSON,urlencode,XML格式;
S3、基于私钥(SK),对注册有效载荷数据签名,采用设定的非对称签名算法和摘要算法,对注册有效载荷数据进行签名,得到注册签名结果(RegisterSig);
S4、将公钥(PK)、注册有效载荷数据、注册签名结果进行拼接结合,得到注册请求数据,发送给服务端;
S5、接收服务端返回的注册结果信息。
服务端在注册过程中,接收客户端发送的注册请求数据,对密钥或注册请求数据进行验证,并发送验证结果给客户端。
具体地,包括以下步骤:
D1、接收客户端发送的注册请求数据;
D2、对注册请求数据进行解析,得到公钥PK、注册有效载荷数据、注册签名结果;
D3、采用***设定的非对称签名算法和摘要算法,验证注册签名结果是否正确,若是,进入下一步,若否,转D8;
D4、按照约定的数据序列化格式,对注册有效载荷数据进行反序列化,得到用户注册信息;
D5、根据公钥PK,计算用户身份ID,采用的方法包括:对公钥进行HASH后,截取子字符串;
D6、将用户注册信息、用户身份ID进行关联,并保存;
D7、发送注册成功信息给客户端,转D9;
D8、发送验证错误信息给客户端;
D9、注册结束。
具体实施例四
本申请的一种基于区块链公钥数字签名的Web认证方法,在请求响应过程中,客户端基于密钥生成请求数据发送给服务器;服务端接收客户端的读业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
客户端向服务端发出读请求,包括以下步骤:
A1、接收读业务请求信息,进行序列化,生成第一请求有效载荷数据(FirstRequestPayload);
A2、基于私钥SK,采用***设定的非对称签名算法和摘要算法,对第一请求有效载荷数据签名,得到第一请求签名结果(FirstRequestSig);
A3、将公钥PK、第一请求有效载荷数据、第一请求签名结果进行拼接结合,得到第一读请求数据,发送给服务端;
A4、接收服务端返回的第一读请求结果;
A5、接收服务端的业务执行结果。
服务端在读请求响应过程中,接收客户端发送的第一读请求数据并进行相应操作,包括以下步骤:
E1、接收客户端发送的第一读请求数据;
E2、解析第一读请求数据,得到公钥PK、第一请求有效载荷数据、第一请求签名结果;
E3、利用***设定的非对称签名算法和摘钥算法,验证第一请求签名结果是否正确,若是,进入下一步,若否,转E8;
E4、按照约定的数据序列化格式,对第一请求有效载荷数据进行反序列化,得到第一业务请求信息;
E5、根据公钥PK计算用户身份ID;
E6、根据用户身份ID、第一业务请求信息执行业务逻辑;
E7、发送业务执行结果信息给客户端,转E9;
E8、发送验证错误信息给客户端;
E9、请求结束。
具体实施例五
本申请的一种基于区块链公钥数字签名的Web认证方法,在请求响应过程中,客户端发送请求一次性随机数,用于写请求或读请求。
获取一次性随机数信息,包括以下步骤:
P1、生成请求一次性随机数的第三请求有效载荷数据(Third Request Payload);
P2、基于私钥SK,利用***设定的非对称签名算法和摘要算法,对第三请求有效载荷数据签名,得到第三请求签名结果(Third Request Sig);
P3、将公钥PK、第三请求有效载荷数据、第三请求签名结果结合,得到第三随机数请求数据,发送给服务端;
P4、接收服务端发送的响应随机数信号。
服务端接收客户端的随机数业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
具体地,包括以下步骤:
Q1、接收客户端发送的第三随机数请求数据;
Q2、解析第三随机数请求数据,得到公钥PK、第三请求有效载荷数据、第三请求签名结果;
Q3、利用***设定的非对称签名算法和摘要算法,验证第三请求签名结果是否正确,若是,进入下一步,若否,转Q8;
Q4、按照约定的数据序列化格式,对第三请求有效载荷数据进行反序列化,得到获取一次性随机数业务请求信息;
Q5、根据公钥PK计算用户身份ID;
Q6、生成一次性随机数(nonce),并与用户身份ID关联后保存;
Q7、发送一次性随机数给客户端,转Q9;
Q8、发送验证错误信息给客户端;
Q9、请求结束。
具体实施例六
本申请的一种基于区块链公钥数字签名的Web认证方法,在请求响应过程中,基于随机数,客户端发送读或写业务请求,服务端接收客户端的读或写业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
客户端向服务端发出读或写业务请求,包括以下步骤:
B1、获取一次性随机数信息、第二读或写业务请求信息,进行结合,然后进行序列化,生成第二请求有效载荷数据(second Request Payload);
B2、基于私钥SK,利用***设定的非对称签名算法和摘要算法,对第二请求有效载荷数据签名,得到第二请求签名结果(second Request Sig);
B3、将公钥PK、第二请求有效载荷数据、第二请求签名结果拼接结合,得到第二读或写请求数据,发送给服务端;
B4、接收服务端返回的第二读或写请求结果;
B5、接收服务端的业务执行结果。
服务端接收客户端的读或写业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
具体地,包括以下步骤:
服务端在请求响应过程中,接收客户端发送的第二读或写请求数据,包括以下步骤:
W1、接收客户端发送的第二读或写请求数据;
W2、解析第二读或写请求数据,得到公钥PK、第二请求有效载荷数据、第二请求签名结果;
W3、用***设定的非对称签名算法和摘钥算法,验证第二请求签名结果是否正确,若是,进入下一步,若否,转W10;
W4、按照约定的数据序列化格式,对第二请求有效载荷数据进行反序列化,得到一次性随机数信息、第二读或写业务请求信息;
W5、根据公钥PK计算用户身份ID;
W6、将服务端保存的用户身体ID对应的一次性随机数信息,与解析得到的一次性随机数信息进行比较,若相同,进入下一步,若不同,转W11;
W7、将服务端保存的用户身体ID对应的一次性随机数信息设置为失效;
W8、根据用户身份ID、第二读或写业务请求信息,执行业务逻辑;
W9、发送业务执行结果信息给客户端,转W12;
W10、发送验证错误信息给客户端,转W12;
W11、发送一次性随机数验证错误信息给客户端;
W12、请求结束。
具体实施例七
本申请的一种基于区块链公钥数字签名的Web认证装置,包括存储器和处理器,存储器存储有能够被处理器加载并执行的基于区块链公钥数字签名的Web认证方法的计算机程序。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。
Claims (12)
1.一种基于区块链公钥数字签名的Web认证方法,应用于客户端,其特征在于:在需要用户提供注册信息的注册过程中,客户端生成公钥私钥对,根据用户注册信息生成注册有效载荷数据,结合私钥对注册有效载荷数据进行签名,获得注册签名结果,将公钥、注册有效载荷数据、注册签名结果结合成注册请求数据,发送给服务端,接收服务器的验证注册结果信息;在请求响应过程中,根据请求业务生成请求有效载荷数据,结合私钥对请求有效载荷数据进行签名,获得请求签名结果,将公钥、请求有效载荷数据、请求签名结果生成请求数据发送给服务器,请求包括读业务请求、读或写业务请求、随机数业务,接收服务器的业务执行结果。
2.根据权利要求1所述基于区块链公钥数字签名的Web认证方法,其特征在于:在需要注册信息的注册过程中,客户端工作包括以下步骤:
S1、自行生成公钥PK、私钥SK对,并存储;
S2、接收用户注册信息,并生成注册有效载荷数据;
S3、基于私钥SK,对注册有效载荷数据签名,得到注册签名结果;
S4、将公钥PK、注册有效载荷数据、注册签名结果结合,得到注册请求数据,发送给服务端;
S5、接收服务端返回的注册结果信息。
3.根据权利要求1所述基于区块链公钥数字签名的Web认证方法,其特征在于:客户端向服务端发出读请求,包括以下步骤:
A1、接收读业务请求信息,生成第一请求有效载荷数据;
A2、基于私钥SK,对第一请求有效载荷数据签名,得到第一请求签名结果;
A3、将公钥PK、第一请求有效载荷数据、第一请求签名结果结合,得到第一读请求数据,发送给服务端;
A4、接收服务端返回的第一读请求结果;
A5、接收服务端的业务执行结果。
4.根据权利要求1所述基于区块链公钥数字签名的Web认证方法,其特征在于:客户端向服务端发出读或写请求,包括以下步骤:
B1、获取一次性随机数信息、第二读或写业务请求信息,生成第二请求有效载荷数据;
B2、基于私钥SK,对第二请求有效载荷数据签名,得到第二请求签名结果;
B3、将公钥PK、第二请求有效载荷数据、第二请求签名结果结合,得到第二读或写请求数据,发送给服务端;
B4、接收服务端返回的第二读或写请求结果;
B5、接收服务端的业务执行结果。
5.根据权利要求4所述基于区块链公钥数字签名的Web认证方法,其特征在于:获取一次性随机数信息,包括以下步骤:
P1、生成请求一次性随机数的第三请求有效载荷数据;
P2、基于私钥SK,对第三请求有效载荷数据签名,得到第三请求签名结果;
P3、将公钥PK、第三请求有效载荷数据、第三请求签名结果结合,得到第三随机数请求数据,发送给服务端;
P4、接收服务端发送的响应随机数信号。
6.一种基于区块链公钥数字签名的Web认证方法,应用于服务端,其特征在于:在需要用户提供注册信息的注册过程中,服务端接收客户端发送的注册请求数据,注册请求数据包括公钥、注册有效载荷数据、注册签名结果,对注册请求数据进行验证,包括对注册请求数据进行解析、验证注册签名结果是否正确,并发送验证结果给客户端,注册签名结果是客户端根据用户注册信息生成注册有效载荷数据,再结合私钥对注册有效载荷数据进行签名而得到的;在请求响应过程中,接收客户端的请求数据,请求数据包括公钥、请求有效载荷数据、请求签名结果,请求签名结果是客户端根据业务请求生成请求有效载荷数据,再结合私钥对请求有效载荷数据进行签名而得到的,业务请求包括读业务请求、读或写业务请求、随机数业务请求,获得业务请求信息、用户身份ID,根据业务请求信息执行业务逻辑,返回业务执行结果给客户端。
7.根据权利要求6所述基于区块链公钥数字签名的Web认证方法,其特征在于:服务端在注册过程中,接收客户端发送的注册请求数据,包括以下步骤:
D1、接收客户端发送的注册请求数据;
D2、对注册请求数据进行解析,得到公钥PK、注册有效载荷数据、注册签名结果;
D3、验证注册签名结果是否正确,若是,进入下一步,若否,转
D8;
D4、解密注册有效载荷数据,得到用户注册信息;
D5、根据公钥PK计算用户身份ID;
D6、将用户注册信息、用户身份ID进行关联,并保存;
D7、发送注册成功信息给客户端,转D9;
D8、发送验证错误信息给客户端;
D9、注册结束。
8.根据权利要求6所述基于区块链公钥数字签名的Web认证方法,其特征在于:服务端在请求响应过程中,接收客户端发送的第一读请求数据,包括以下步骤:
E1、接收客户端发送的第一读请求数据;
E2、解析第一读请求数据,得到公钥PK、第一请求有效载荷数据、第一请求签名结果;
E3、验证第一请求签名结果是否正确,若是,进入下一步,若否,转E8;
E4、解析第一请求有效载荷数据,得到第一业务请求信息;
E5、根据公钥PK计算用户身份ID;
E6、根据用户身份ID、第一业务请求信息执行业务逻辑;
E7、发送业务执行结果信息给客户端,转E9;
E8、发送验证错误信息给客户端;
E9、请求结束。
9.根据权利要求6所述基于区块链公钥数字签名的Web认证方法,其特征在于:服务端在请求响应过程中,接收客户端发送的第二读或写请求数据,包括以下步骤:
W1、接收客户端发送的第二读或写请求数据;
W2、解析第二读或写请求数据,得到公钥PK、第二请求有效载荷数据、第二请求签名结果;
W3、验证第二请求签名结果是否正确,若是,进入下一步,若否,转W10;
W4、解析第二请求有效载荷数据,得到一次性随机数信息、第二读或写业务请求信息;
W5、根据公钥PK计算用户身份ID;
W6、将服务端保存的用户身体ID对应的一次性随机数信息,与解析得到的一次性随机数信息进行比较,若相同,进入下一步,若不同,转W11;
W7、将服务端保存的用户身体ID对应的一次性随机数信息设置为失效;
W8、根据用户身份ID、第二读或写业务请求信息,执行业务逻辑;
W9、发送业务执行结果信息给客户端,转W12;
W10、发送验证错误信息给客户端,转W12;
W11、发送一次性随机数验证错误信息给客户端;
W12、请求结束。
10.根据权利要求6所述基于区块链公钥数字签名的Web认证方法,其特征在于:服务端在请求响应过程中,接收客户端发送的第三随机数请求数据,包括以下步骤:
Q1、接收客户端发送的第三随机数请求数据;
Q2、解析第三随机数请求数据,得到公钥PK、第三请求有效载荷数据、第三请求签名结果;
Q3、验证第三请求签名结果是否正确,若是,进入下一步,若否,转Q8;
Q4、解析第三请求有效载荷数据,得到获取一次性随机数业务请求信息;
Q5、根据公钥PK计算用户身份ID;
Q6、生成一次性随机数,并与用户身份ID关联后保存;
Q7、发送一次性随机数给客户端,转Q9;
Q8、发送验证错误信息给客户端;
Q9、请求结束。
11.一种基于区块链公钥数字签名的Web认证***,其特征在于:包括算法模块、注册模块、请求模块,算法模块分别与注册模块、请求模块连接,算法模块用于在注册与请求过程中,采用非对称签名算法和摘要算法,对注册模块中的用户注册信息序列化,对注册有效载荷数据进行注册签名;对请求模块中的业务请求进行序列化、反序列化,对请求有效载荷数据进行请求签名,注册模块用于执行如权利要求1-5任意一项所述方法,请求模块用于执行如权利要求6-10任意一项所述方法。
12.一种基于区块链公钥数字签名的Web认证装置,其特征在于:包括存储器和处理器,存储器存储有能够被处理器加载并执行的如权利要求1-10任意一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780033.8A CN112039848B (zh) | 2020-08-05 | 2020-08-05 | 一种基于区块链公钥数字签名的Web认证方法、***和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780033.8A CN112039848B (zh) | 2020-08-05 | 2020-08-05 | 一种基于区块链公钥数字签名的Web认证方法、***和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039848A CN112039848A (zh) | 2020-12-04 |
CN112039848B true CN112039848B (zh) | 2022-11-04 |
Family
ID=73582405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010780033.8A Active CN112039848B (zh) | 2020-08-05 | 2020-08-05 | 一种基于区块链公钥数字签名的Web认证方法、***和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039848B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112242905B (zh) * | 2020-12-10 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种基于浏览器的注册接口实现数据通讯的方法和*** |
CN112968971B (zh) * | 2021-03-15 | 2023-08-15 | 北京数字认证股份有限公司 | 会话连接建立的方法、装置、电子设备和可读存储介质 |
CN113268722B (zh) * | 2021-05-17 | 2022-04-26 | 时昕昱 | 一种个人数字身份管理***与方法 |
CN113556321A (zh) * | 2021-06-22 | 2021-10-26 | 杭州安恒信息技术股份有限公司 | 口令认证方法、***、电子装置和存储介质 |
CN114257419B (zh) * | 2021-11-29 | 2023-06-30 | 广东电网有限责任公司 | 设备认证方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768608A (zh) * | 2018-05-25 | 2018-11-06 | 电子科技大学 | 在区块链pki下支持瘦客户端的隐私保护身份认证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871867B (zh) * | 2016-04-27 | 2018-01-16 | 腾讯科技(深圳)有限公司 | 身份认证方法、***及设备 |
US10313133B2 (en) * | 2017-06-21 | 2019-06-04 | Visa International Service Association | Secure communications providing forward secrecy |
CN109309565B (zh) * | 2017-07-28 | 2021-08-10 | ***通信有限公司研究院 | 一种安全认证的方法及装置 |
CN110233850B (zh) * | 2019-06-20 | 2021-08-31 | 浪潮卓数大数据产业发展有限公司 | 基于联盟链的注册方法、应用服务器、用户端以及*** |
CN110401663B (zh) * | 2019-07-30 | 2021-08-31 | 飞天诚信科技股份有限公司 | 一种快速注册认证器的方法及*** |
-
2020
- 2020-08-05 CN CN202010780033.8A patent/CN112039848B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768608A (zh) * | 2018-05-25 | 2018-11-06 | 电子科技大学 | 在区块链pki下支持瘦客户端的隐私保护身份认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112039848A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112039848B (zh) | 一种基于区块链公钥数字签名的Web认证方法、***和装置 | |
WO2021017128A1 (zh) | 登录令牌的生成及验证方法、装置和服务器 | |
CN101114237B (zh) | 转换鉴权令牌以促进应用程序之间的交互的方法和装置 | |
US8555069B2 (en) | Fast-reconnection of negotiable authentication network clients | |
US7770207B2 (en) | System, apparatus, program, and method for authentication | |
US11017122B2 (en) | Method and server for authenticating and verifying file | |
EP2442528A1 (en) | Security model for industrial devices | |
CN110011793A (zh) | 防伪溯源数据处理方法、装置、设备及介质 | |
CN101479987A (zh) | 生物测定凭证验证框架 | |
WO2014049749A1 (ja) | 生体参照情報登録システム、装置及びプログラム | |
US10469264B2 (en) | Method and server for authenticating and verifying file | |
US11949785B1 (en) | Biometric authenticated biometric enrollment | |
CN109981680B (zh) | 一种访问控制实现方法、装置、计算机设备及存储介质 | |
US11652647B2 (en) | Authentication system and computer readable medium | |
JP7309261B2 (ja) | 生体決済機器の認証方法、生体決済機器の認証装置、コンピュータ機器、及びコンピュータプログラム | |
US11522849B2 (en) | Authentication system and computer readable medium | |
JP2003044436A (ja) | 認証処理方法、および情報処理装置、並びにコンピュータ・プログラム | |
KR20200016506A (ko) | 익명 디지털 아이덴티티 수립 방법 | |
JP2000059353A (ja) | データ保管システム、データ保管方法及びそのプログラム記録媒体 | |
CN117561508A (zh) | 可验证凭证的跨会话颁发 | |
CN108292997B (zh) | 认证控制***及方法、服务器装置、客户装置、认证方法及记录介质 | |
JP2000078128A (ja) | 通信システム及びicカード並びに記録媒体 | |
CN116975810A (zh) | 身份验证方法、装置、电子设备及计算机可读存储介质 | |
CN114257419B (zh) | 设备认证方法、装置、计算机设备和存储介质 | |
US20230403138A1 (en) | Agentless single sign-on techniques |
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 |