CN113612789B - 基于见证人端及共享公钥的区块链存证方法及装置 - Google Patents
基于见证人端及共享公钥的区块链存证方法及装置 Download PDFInfo
- Publication number
- CN113612789B CN113612789B CN202110917149.6A CN202110917149A CN113612789B CN 113612789 B CN113612789 B CN 113612789B CN 202110917149 A CN202110917149 A CN 202110917149A CN 113612789 B CN113612789 B CN 113612789B
- Authority
- CN
- China
- Prior art keywords
- encrypted data
- data
- witness
- client
- server
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于见证人端及共享公钥的区块链存证方法及装置,客户端将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。本发明能够有效保证存证的安全性、可靠性。
Description
技术领域
本发明涉及一种基于见证人端及共享公钥的区块链存证方法及装置。
背景技术
现有技术中,基于区块链存证主要涉及客户端和服务器端,服务器端将客户端传送的加密待存证数据进行验证后,将待存证数据的哈希码存入区块链。此种存证方法存在的不足之处在于,存证仅由客户端发起,缺少独立的第三方见证人端,不能充分保证存证的安全性、可靠性和客观性。
发明内容
本发明的发明目的在于提供一种基于见证人端及共享公钥的区块链存证方法及装置,能够有效保证存证的安全性、可靠性。
基于同一发明构思,本发明具有两个独立的技术方案:
1、一种基于见证人端及共享公钥的区块链存证方法,包括如下步骤:
步骤1:客户端将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名;
步骤2:所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名;
步骤3:所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。
进一步地,所述客户端持有所述服务器端公钥PKS和所述见证人端公钥PKW;
所述服务器端持有所述客户端公钥PKC和所述见证人端公钥PKW;
所述见证人端持有所述服务器端公钥PKS和所述客户端公钥PKC。
进一步地,步骤1中,所述客户端通过见证人端公钥PKW对待认证数据Edata进行加密处理,形成第一加密数据;第一加密数据可由所述见证人端通过见证人端私钥SKW进行解密;
步骤2中,所述见证人端通过服务器端公钥PKS对待认证数据Edata进行加密处理,形成第三加密数据;第三加密数据可由所述服务器端通过服务器端私钥SKS进行解密。
进一步地,步骤1包括如下步骤:
步骤1.1:所述客户端把所述客户端标识IDC、存证请求发送给所述服务器端;
步骤1.2:所述客户端收到所述服务器端发来的服务端标识IDS和随机数RS;
步骤1.3:所述客户端采用公钥加密算法,使用见证人端公钥PKW,把待认证数据Edata和随机数RS作为输入,产生的输出为第一加密数据;
步骤1.4:所述客户端采用哈希算法,把待认证数据Edata作为输入,产生输出第一哈希码;
步骤1.5:所述客户端采用公钥签名算法,使用客户端私钥SKC,把第一哈希码和随机数RS作为输入,产生的输出为第二加密数据;
步骤1.6:所述客户端把所述客户端标识IDC、第一加密数据、第二加密数据发送至所述见证人端。
进一步地,步骤2包括如下步骤:
步骤2.1:所述见证人端采用公钥解密算法,使用见证人端私钥SKW,把第一加密数据作为输入,产生的输出为待认证数据Edata,随机数RS;
步骤2.2:所述见证人端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第二哈希码;
步骤2.3:所述见证人端采用公钥签名验证算法,使用客户端公钥PKC,把第二哈希码、随机数RS和第二加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤2.4:所述见证人端采用公钥加密算法,使用服务器端公钥PKS,把待认证的证据数据Edata和随机数RS作为输入,产生的输出为第三加密数据;
步骤2.5:所述见证人端采用公钥签名算法,使用见证人端私钥SKW,把第二哈希码和随机数RS作为输入,产生的输出为第四加密数据;
步骤2.6:所述见证人端把见证人端标识IDW,第二加密数据、第三加密数据、第四加密数据发送至服务端。
进一步地,步骤3包括如下步骤:
步骤3.1:所述服务器端采用公钥解密算法,使用服务器端私钥SKS,把第三加密数据作为输入,产生的输出为待认证数据Edata和随机数RS;
步骤3.2:所述服务器端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第三哈希码;
步骤3.3:所述服务器端采用签名验证算法,使用客户端公钥PKC,把第三哈希码、随机数RS和第二加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.4:所述服务器端采用签名验证算法,使用见证人端公钥PKW,把第三哈希码、随机数RS和第四加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.5:所述服务器端将第三哈希码写入区块链。
进一步地,步骤3.5包括如下步骤:
步骤3.5.1: 所述服务器端从国家授时服务中心获取时间戳;
步骤3.5.2: 所述服务器端生成失效时间;
步骤3.5.3: 所述服务器端生成存证标识;
步骤3.5.4: 所述服务器端把所述存证标识、时间戳、失效时间和客户端标识IDC、见证人端标识IDW、服务器端标识IDs写入区块链;
步骤3.5.5: 所述服务器端把服务器端标识IDs、存证标识发送给所述客户端。
进一步地,还包括验证发起端,所述验证发起端由所述客户端获得存证标识、待验证的数据,向所述服务器端发出验证请求;所述服务器端根据所述验证发起端发送的存证标识,查找获得区块链中对应的存储信息;以及根据所述存储信息,对所述待验证的数据进行验证。
进一步地,对待验证的数据进行验证包括如下步骤:
步骤4.1:所述验证发起端从所述客户端获取存证标识、待验证的数据;
步骤4.2:所述验证发起端把所述存证标识、待验证的数据、验证发起端标识IDV、验证请求发送给所述服务器端;
步骤4.3:所述服务器端根据接收到的所述存证标识,在区块链上查找获取所述存证标识对应的存储信息;
步骤4.4:所述服务器端通过国家权威授时中心获取当前时间;
步骤4.5:所述服务器端验证当前时间是否在失效时间之前,若否,输出验证失败;如果是,执行下一步骤;
步骤4.6:所述服务器端采用哈希算法,把所述待验证的数据作为输入,产生的输出为第四哈希码;
步骤4.7:所述服务器端将第四哈希码和所述区块链存储信息中的第三哈希码进行比较,如果不等,输出验证失败;如果相等,输出验证成功;
步骤4.8:所述服务器端把验证结果发送给所述验证发起端。
2、一种基于见证人端及共享公钥的区块链存证装置,包括:
客户端,将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名;
见证人端,所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名;
服务器端,所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。
本发明具有的有益效果:
本发明客户端将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥(SKC)进行签名;所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至所述服务器端;所述第三加密数据可由服务器端通过服务器端私钥(SKS)解密,所述第四加密数据由所述见证人端通过见证人端私钥(SKW)进行签名;所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。本发明设有见证人端,客户端、见证人端、服务器端三者交互验证数据,其中服务器端分别对客户端、见证人端相关数据验证后,再将待认证数据Edata对应的哈希码写入所述区块链,有效保证存证的安全性、可靠性和客观性,由于设立了见证人端,实现了区块链存证的见证模式。
本发明所述客户端持有所述服务器端公钥(PKS)和所述见证人端公钥(PKW);所述服务器端持有所述客户端公钥(PKC)和所述见证人端公钥(PKW);所述见证人端持有所述服务器端公钥(PKS)和所述客户端公钥(PKC)。本发明客户端、见证人端、服务器端采用公钥加密/解密算法对数据加密或解密,采用哈希算法对数据进行加密,并通过公钥签名/签名验证算法,对数据签名或签名验证,其中服务器端还向客户端发送随机数RS作为加密输入,进一步保证了存证安全性、可靠性。
本发明包括验证发起端,所述验证发起端由所述客户端获得存证标识、待验证的数据,向所述服务器端发出验证请求;所述服务器端根据所述验证发起端发送的存证标识,查找获得区块链中对应的存储信息;根据所述存储信息,对所述待验证的数据进行验证,本发明基于区块链存证的验证程序简捷、安全、可靠。
附图说明
图1是本发明客户端、见证人端、服务器端存证示意图;
图2是本发明客户端、验证端、服务器端验证示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
实施例一:
基于见证人端及共享公钥的区块链存证方法
包括客户端、见证人端、服务端,客户端持有所述服务器端公钥PKS和所述见证人端公钥PKW;所述服务器端持有所述客户端公钥PKC和所述见证人端公钥PKW;所述见证人端持有所述服务器端公钥PKS和所述客户端公钥PKC。
客户端、见证人端、服务端相互发送数据均通过加密信道,加密信道可以为SSL、TLS或HTTPS。
如图1所示,包括如下步骤:
步骤1:客户端将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名。
步骤1具体包括如下步骤:
步骤1.1:所述客户端把所述客户端标识IDC、存证请求发送给所述服务器端;
步骤1.2:所述客户端收到所述服务器端发来的服务端标识IDS,随机数RS;
步骤1.3:所述客户端采用公钥加密算法,使用见证人端公钥PKW,把待认证数据Edata,随机数RS作为输入,产生的输出为第一加密数据E1;
步骤1.4:所述客户端采用哈希算法,把待认证数据Edata作为输入,产生输出第一哈希码;
步骤1.5:所述客户端采用公钥签名算法,使用客户端私钥SKC,把第一哈希码,随机数RS作为输入,产生的输出为第二加密数据(签名)E2;
步骤1.6:所述客户端把所述客户端标识IDC、第一加密数据E1、第二加密数据E2发送至所述见证人端。
步骤2:所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名。
步骤2具体包括如下步骤:
步骤2.1:所述见证人端采用公钥解密算法,使用见证人端私钥SKW,把第一加密数据E1作为输入,产生的输出为待认证数据Edata,随机数RS;
步骤2.2:所述见证人端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第二哈希码;
步骤2.3:所述见证人端采用公钥签名验证算法,使用客户端公钥PKC,把第二哈希码、随机数RS,第二加密数据E2作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤2.4:所述见证人端采用公钥加密算法,使用服务器端公钥PKS,把待认证的证据数据Edata,随机数RS作为输入,产生的输出为第三加密数据E3;
步骤2.5:所述见证人端采用公钥签名算法,使用见证人端私钥SKW,把第二哈希码,随机数RS作为输入,产生的输出为第四加密数据(签名)E4;
步骤2.6:所述见证人端把见证人端标识IDW,第二加密数据E2、第三加密数据E3、第四加密数据E4发送至服务端。
步骤3:所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。
步骤3具体包括如下步骤:
步骤3.1:所述服务器端采用公钥解密算法,使用服务器端私钥SKS,把第三加密数据E3作为输入,产生的输出为待认证数据Edata,随机数RS;
步骤3.2:所述服务器端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第三哈希码;
步骤3.3:所述服务器端采用公钥签名验证算法,使用客户端公钥PKC,把第三哈希码,随机数RS,第二加密数据作E2为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.4:所述服务器端采用公钥签名验证算法,使用见证人端公钥PKW,把第三哈希码,随机数RS,第四加密数据SW作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.5:所述服务器端将第三哈希码写入区块链。
步骤3.5具体包括如下步骤:
步骤3.5.1:所述服务器端从国家授时服务中心获取时间戳;
步骤3.5.2:所述服务器端生成失效时间;
步骤3.5.3:所述服务器端生成存证标识DataId1;
步骤3.5.4:所述服务器端把所述存证标识DataId1、时间戳、失效时间和客户端标识IDC、见证人端标识IDW、服务器端标识IDs写入区块链;
步骤3.5.5:所述服务器端把服务器端标识IDs、存证标识DataId1发送给所述客户端。
包括验证发起端,所述验证发起端由所述客户端获得存证标识、待验证的数据,向所述服务器端发出验证请求;所述服务器端根据所述验证发起端发送的存证标识,查找获得区块链中对应的存储信息;根据所述存储信息,对所述待验证的数据进行验证。
如图2所示,对待验证的数据进行验证包括如下步骤:
步骤4.1:所述验证发起端从所述客户端获取存证标识DataId2、待验证的数据;
步骤4.2:所述验证发起端把所述存证标识DataId2、待验证的数据、验证发起端标识IDV、验证请求发送给所述服务器端;
步骤4.3:所述服务器端根据接收到的所述存证标识DataId2,在区块链上查找获取所述存证标识对应的存储信息;
步骤4.4:所述服务器端通过国家权威授时中心获取当前时间;
步骤4.5:所述服务器端验证当前时间是否在失效时间之前,若否,输出验证失败;如果是,执行下一步骤;
步骤4.6:所述服务器端采用哈希算法,把所述待验证的数据作为输入,产生的输出为第四哈希码;
步骤4.7:所述服务器端将第四哈希码和所述区块链存储信息中的第三哈希码进行比较,如果不等,输出验证失败;如果相等,输出验证成功;
步骤4.8:所述服务器端把验证结果发送给所述验证发起端。
实施例二:
基于见证人端及共享公钥的区块链存证装置
包括:
客户端,将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名;
见证人端,所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名;
服务器端,所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。
包括验证发起端,所述验证发起端由所述客户端获得存证标识、待验证的数据,向所述服务器端发出验证请求。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
Claims (7)
1.一种基于见证人端及共享公钥的区块链存证方法,其特征在于,包括如下步骤:
步骤1:客户端将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名;
步骤2:所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名;
步骤3:所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链;
步骤1包括如下步骤:
步骤1.1:所述客户端把客户端标识IDC、存证请求发送给所述服务器端;
步骤1.2:所述客户端收到所述服务器端发来的服务端标识IDS和随机数RS;
步骤1.3:所述客户端采用公钥加密算法,使用见证人端公钥PKW,把待认证数据Edata和随机数RS作为输入,产生的输出为第一加密数据;
步骤1.4:所述客户端采用哈希算法,把待认证数据Edata作为输入,产生输出第一哈希码;
步骤1.5:所述客户端采用公钥签名算法,使用客户端私钥SKC,把第一哈希码和随机数RS作为输入,产生的输出为第二加密数据;
步骤1.6:所述客户端把所述客户端标识IDC、第一加密数据、第二加密数据发送至所述见证人端;
步骤2包括如下步骤:
步骤2.1:所述见证人端采用公钥解密算法,使用见证人端私钥SKW,把第一加密数据作为输入,产生的输出为待认证数据Edata,随机数RS;
步骤2.2:所述见证人端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第二哈希码;
步骤2.3:所述见证人端采用公钥签名验证算法,使用客户端公钥PKC,把第二哈希码、随机数RS和第二加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤2.4:所述见证人端采用公钥加密算法,使用服务器端公钥PKS,把待认证的证据数据Edata和随机数RS作为输入,产生的输出为第三加密数据;
步骤2.5:所述见证人端采用公钥签名算法,使用见证人端私钥SKW,把第二哈希码和随机数RS作为输入,产生的输出为第四加密数据;
步骤2.6:所述见证人端把见证人端标识IDW,第二加密数据、第三加密数据、第四加密数据发送至所述服务端;
步骤3包括如下步骤:
步骤3.1:所述服务器端采用公钥解密算法,使用服务器端私钥SKS,把第三加密数据作为输入,产生的输出为待认证数据Edata和随机数RS;
步骤3.2:所述服务器端采用哈希算法,把待认证数据Edata作为输入,产生的输出为第三哈希码;
步骤3.3:所述服务器端采用签名验证算法,使用客户端公钥PKC,把第三哈希码、随机数RS和第二加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.4:所述服务器端采用签名验证算法,使用见证人端公钥PKW,把第三哈希码、随机数RS和第四加密数据作为输入,若输出值为1,则执行下一步骤;否则,中止存证;
步骤3.5:所述服务器端将第三哈希码写入区块链。
2.根据权利要求1所述的区块链存证方法,其特征在于:
所述客户端持有所述服务器端公钥PKS和所述见证人端公钥PKW;
所述服务器端持有所述客户端公钥PKC和所述见证人端公钥PKW;
所述见证人端持有所述服务器端公钥PKS和所述客户端公钥PKC。
3.根据权利要求2所述的区块链存证方法,其特征在于:
步骤1中,所述客户端通过见证人端公钥PKW对待认证数据Edata进行加密处理,形成第一加密数据;第一加密数据可由所述见证人端通过见证人端私钥SKW进行解密;
步骤2中,所述见证人端通过服务器端公钥PKS对待认证数据Edata进行加密处理,形成第三加密数据;第三加密数据可由所述服务器端通过服务器端私钥SKS进行解密。
4.根据权利要求1所述的区块链存证方法,其特征在于,步骤3.5包括如下步骤:
步骤3.5.1:所述服务器端从国家授时服务中心获取时间戳;
步骤3.5.2:所述服务器端生成失效时间;
步骤3.5.3:所述服务器端生成存证标识;
步骤3.5.4:所述服务器端把所述存证标识、时间戳、失效时间和客户端标识IDC、见证人端标识IDW、服务器端标识IDs写入区块链;
步骤3.5.5:所述服务器端把服务器端标识IDs、存证标识发送给所述客户端。
5.根据权利要求4所述的区块链存证方法,其特征在于:验证发起端由所述客户端获得存证标识、待验证的数据,向所述服务器端发出验证请求;所述服务器端根据所述验证发起端发送的存证标识,查找获得区块链中对应的存储信息;以及根据所述存储信息,对所述待验证的数据进行验证。
6.根据权利要求5所述的区块链存证方法,其特征在于:对待验证的数据进行验证包括如下步骤:
步骤4.1:所述验证发起端从所述客户端获取存证标识、待验证的数据;
步骤4.2:所述验证发起端把所述存证标识、待验证的数据、验证发起端标识IDV、验证请求发送给所述服务器端;
步骤4.3:所述服务器端根据接收到的所述存证标识,在区块链上查找获取所述存证标识对应的存储信息;
步骤4.4:所述服务器端通过国家授时服务中心获取当前时间;
步骤4.5:所述服务器端验证当前时间是否在失效时间之前,若否,输出验证失败;如果是,执行下一步骤;
步骤4.6:所述服务器端采用哈希算法,把所述待验证的数据作为输入,产生的输出为第四哈希码;
步骤4.7:所述服务器端将第四哈希码和所述区块链存储信息中的第三哈希码进行比较,如果不等,输出验证失败;如果相等,输出验证成功;
步骤4.8:所述服务器端把验证结果发送给所述验证发起端。
7.一种基于见证人端及共享公钥的区块链存证装置,用于执行权利要求1至6任何一项所述的方法,其特征在于,包括:
客户端,将待认证数据Edata进行加密处理形成第一加密数据、第二加密数据,所述客户端将第一加密数据、第二加密数据发送至见证人端;所述第一加密数据可由见证人端进行解密,所述第二加密数据由所述客户端通过客户端私钥SKC进行签名;
见证人端,所述见证人端将第一加密数据解密获得待认证数据Edata;根据第二加密数据进行数据验证;验证通过后,将待认证数据Edata进行加密处理后形成第三加密数据、第四加密数据,所述见证人端将第二加密数据、第三加密数据、第四加密数据发送至所述服务器端;所述第三加密数据可由服务器端通过服务器端私钥SKS解密,所述第四加密数据由所述见证人端通过见证人端私钥SKW进行签名;
服务器端,所述服务器端根据第二加密数据、第三加密数据、第四加密数据进行数据验证,验证通过后,将待认证数据Edata对应的哈希码写入所述区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110917149.6A CN113612789B (zh) | 2021-08-11 | 2021-08-11 | 基于见证人端及共享公钥的区块链存证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110917149.6A CN113612789B (zh) | 2021-08-11 | 2021-08-11 | 基于见证人端及共享公钥的区块链存证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113612789A CN113612789A (zh) | 2021-11-05 |
CN113612789B true CN113612789B (zh) | 2023-04-07 |
Family
ID=78308152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110917149.6A Active CN113612789B (zh) | 2021-08-11 | 2021-08-11 | 基于见证人端及共享公钥的区块链存证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612789B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610578B (zh) * | 2016-01-25 | 2019-05-03 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
CN105827412B (zh) * | 2016-03-14 | 2019-01-08 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
CN109861956B (zh) * | 2018-10-29 | 2021-08-20 | 梁伟 | 基于状态通道的数据验证系统、方法、装置及设备 |
GB2581970A (en) * | 2019-03-04 | 2020-09-09 | Nchain Holdings Ltd | Method of using a blockchain |
CN110213264A (zh) * | 2019-05-30 | 2019-09-06 | 全链通有限公司 | 基于联盟区块链的身份验证方法、设备及存储介质 |
-
2021
- 2021-08-11 CN CN202110917149.6A patent/CN113612789B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113612789A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN109067524B (zh) | 一种公私钥对生成方法及系统 | |
CN107810617B (zh) | 机密认证和供应 | |
WO2020087805A1 (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
CN107294937B (zh) | 基于网络通信的数据传输方法、客户端及服务器 | |
US8130961B2 (en) | Method and system for client-server mutual authentication using event-based OTP | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN110943976B (zh) | 一种基于口令的用户签名私钥管理方法 | |
CN111552270B (zh) | 用于车载诊断的安全认证和数据传输方法及装置 | |
WO2021103802A1 (zh) | 数据的加解密方法、装置、存储介质及加密文件 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
CN103095456A (zh) | 交易报文的处理方法和系统 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN105162599A (zh) | 一种数据传输系统及其传输方法 | |
WO2016054905A1 (zh) | 一种数据处理方法 | |
CN109905384B (zh) | 数据迁移方法及系统 | |
CN112383395B (zh) | 密钥协商方法及装置 | |
CN113204760B (zh) | 用于软件密码模块的安全通道建立方法及系统 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN112564906A (zh) | 一种基于区块链的数据安全交互方法及系统 | |
CN114553441B (zh) | 一种电子合同签署方法及系统 | |
CN112487380A (zh) | 一种数据交互方法、装置、设备及介质 | |
CN113190860B (zh) | 一种基于环签名的区块链传感器数据认证方法及系统 | |
CN114650173A (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 |