CN117201113A - 一种基于非对称加密的区块链数字签名方法及其系统 - Google Patents
一种基于非对称加密的区块链数字签名方法及其系统 Download PDFInfo
- Publication number
- CN117201113A CN117201113A CN202311148948.7A CN202311148948A CN117201113A CN 117201113 A CN117201113 A CN 117201113A CN 202311148948 A CN202311148948 A CN 202311148948A CN 117201113 A CN117201113 A CN 117201113A
- Authority
- CN
- China
- Prior art keywords
- client
- public key
- asymmetric encryption
- digital signature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012795 verification Methods 0.000 claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开涉及数字签名领域,具体涉及一种基于非对称加密的区块链数字签名方法及其系统,所述方法和系统中均包括应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,其中客户端和服务端均不少于两个,可以根据数字身份签名向数据身份签名链进行签名追溯,确认当前数字签名是否合法有效。为了防止公钥被替换或者伪造,在第一次非对称加密验证通过的情况下,实现第二次的随机更换,在客户端和服务端身份信息和公钥均为安全的情况下实现数字签名的合法有效。
Description
技术领域
本公开涉及数字签名领域,具体涉及一种基于非对称加密的区块链数字签名方法及其系统。
背景技术
区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。在应用区块链的交易过程中涉及到用户账户、密码、往来账户、交易金钱、用户信息等敏感信息,需要确保数字签名链的完整和可验证。
数字签名为确保数据交换双方的数字签名可验证,在区块链中的数字签名链中需要保存所有各方的公钥,客户端获取公钥时存在公钥可能已经被第三方掉包,客户端以为拿到的是服务端的公钥,实际上是拿到的第三方的公钥,第三方冒充服务端与客户端进行信息交互,骗取客户端的敏感身份信息和重要交易信息,也即传统的数字签名的公私钥交换和存储存在上述的安全问题。
发明内容
本公开提供一种基于非对称加密的区块链数字签名方法及其系统,能够解决背景技术中提到的第三方冒充服务端与客户端进行信息交互,骗取客户端的敏感身份信息和重要交易信息的问题。为解决上述技术问题,本公开提供如下技术方案:
作为本公开实施例的一个方面,提供一种基于非对称加密的区块链数字签名方法,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,其中客户端和服务端均不少于两个,包括如下步骤:
S10、所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
S20、区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型,并执行S30;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
S30、所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
S40、不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
S50、所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
S60、所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端。
可选地,不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,包括:
不少于两个服务端根据客户端身份信息验证客户端版本和颁发的证书进行合法性验证;在不少于两个服务端的合法性验证均通过验证的情况下才认定验证通过。
可选地,所述客户端接收并验证服务端身份信息,包括:采用服务端CA签发的数字证书,所述数字证书的签发和更新随着时间变化,所述客户端具有与所述服务端同步的CA用于验证数字证书是否一致。
可选地,第二非对称加密算法和第一非对称加密算法可选择如下算法中的一种:
RSA、Elgamal、Rabin、ECC。
可选地,将所述发送者公钥发送至所述客户端之后还包括:
将所述发送者公钥同步到所述区块链中的节点,各个节点将所述发送者公钥进行解密得到对称秘钥,将所述对称秘钥与客户端中的对称秘钥的一致性进行比对,如果一致,则继续执行S50,如果不一致,则将不一致的第二告警信息发送至客户端并将所述第二告警信息插入各个节点的日志队列。
可选地,所述第一非对称加密算法和第二非对称加密算法的选用是随机的。
可选地,在S60之后还包括如下步骤:将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行S10。
本公开实施例还提供一种基于非对称加密的区块链数字签名系统,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,包括:
数字签名需求请求模块,所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
合法性验证模块,区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
第一组合加密模块,所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
公钥加解密模块,不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
第二组合加密模块,所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
第二解密模块,所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端以完成非对称加密的加密和解密。
可选地,还包括对称秘钥比对模块,用于将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行。
本公开还提供一种基于非对称加密的区块链数字签名平台,其上存储有计算机程序,所述程序被执行时实现上述的基于非对称加密的区块链数字签名方法。
本公开可以根据数字身份签名向数据身份签名链进行签名追溯,确认当前数字签名是否合法有效。为了防止公钥被替换或者伪造,在第一次非对称加密验证通过的情况下,实现第二次的随机更换,在客户端和服务端身份信息和公钥均为安全的情况下实现数字签名的合法有效。
附图说明
图1为实施例1中基于非对称加密的区块链数字签名方法的流程图;
图2为实施例2中基于非对称加密的区块链数字签名方法系统框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了一种基于非对称加密的区块链数字签名方法及其系统,上述均可用来实现本公开提供的任一种数字签名交互验证方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
实施例1
作为本公开实施例的一个方面,一种基于非对称加密的区块链数字签名方法,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,其中客户端和服务端均不少于两个,如图1所示,包括如下步骤:
S10、所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
S20、区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型,并执行S30;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
S30、所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
S40、不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
S50、所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
S60、所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端。
本公开实施例可以根据数字身份签名向数据身份签名链进行签名追溯,确认当前数字签名是否合法有效。为了防止公钥被替换或者伪造,在第一次非对称加密验证通过的情况下,实现第二次的随机更换,在客户端和服务端身份信息和公钥均为安全的情况下实现数字签名的合法有效。下面对上述步骤进行详细说明:
S10、所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型。
其中,所述客户端身份可以是客户端的SSL版本或客户端的经过安全认证的ID信息,优选的,客户端支持的非对称加密算法类型不少于两种,其中非对称加密算法可以为RSA(RSA algorithm)、Elgamal、Rabin、ECC,其中,RSA根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。EIGamalElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法,其中的逆运算可以应用平方乘的方法有效的计算出来。在相应的群G中,指数函数是单向函数;Rabin加密算法是一种基于模平方和模平方根的公钥密码算法,是RSA算法的特例;椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开密钥加密的演算法,在某些情况下它比其他的方法使用更小的密钥(比如RSA加密算法)提供相当的或更高等级的安全。
S20、区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型,并执行S30;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
其中,不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,包括:
不少于两个服务端根据客户端身份信息验证客户端版本和颁发的证书进行合法性验证;在不少于两个服务端的合法性验证均通过验证的情况下才认定验证通过。
S30、所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
其中,所述客户端接收并验证服务端身份信息,包括:采用服务端CA签发的数字证书,所述数字证书的签发和更新随着时间变化,所述客户端具有与所述服务端同步的CA用于验证数字证书是否一致。
S40、不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
优选地,第二非对称加密算法和第一非对称加密算法可选择如下算法中的一种并且两种算法选用不同的类型或者不同的算法模型:RSA、Elgamal、Rabin、ECC。其中,RSA(RSAalgorithm)、Elgamal、Rabin、ECC,其中,RSA根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。EIGamal ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法,其中的逆运算可以应用平方乘的方法有效的计算出来。在相应的群G中,指数函数是单向函数;Rabin加密算法是一种基于模平方和模平方根的公钥密码算法,是RSA算法的特例;椭圆曲线密码学(Ellipticcurve cryptography,缩写为ECC)。
S50、所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
其中,为了防止公钥被替换或者伪造,在第一次非对称加密验证通过的情况下,实现第二次的随机更换,在客户端和服务端身份信息和公钥均为安全的情况下实现数字签名的合法有效。
S60、所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端。
其中,通过区块链技术对使用者身份完成数字签名,实现唯一性、可溯源、不可篡改场景需求。使用者通过简单的SDK接入方式或者接口接入方式,直接通过本实施例的数据身份签名链应用及其支撑系统,实现数据加密,数据身份签名、验签功能。
可选地,在S60之后还包括S70:将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行S10。
实施例2
作为本公开实施例的另一个方面,还提供一种基于非对称加密的区块链数字签名系统100,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,其中客户端和服务端均不少于两个,如图2所示,包括:
应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,包括:
数字签名需求请求模块1,所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
其中,所述客户端身份可以是客户端的SSL版本或客户端的经过安全认证的ID信息,优选的,客户端支持的非对称加密算法类型不少于两种,其中非对称加密算法可以为RSA(RSA algorithm)、Elgamal、Rabin、ECC,其中,RSA根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。EIGamalElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法,其中的逆运算可以应用平方乘的方法有效的计算出来。在相应的群G中,指数函数是单向函数;Rabin加密算法是一种基于模平方和模平方根的公钥密码算法,是RSA算法的特例;椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开密钥加密的演算法,在某些情况下它比其他的方法使用更小的密钥(比如RSA加密算法)提供相当的或更高等级的安全。
合法性验证模块2,区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
其中,不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,包括:
不少于两个服务端根据客户端身份信息验证客户端版本和颁发的证书进行合法性验证;在不少于两个服务端的合法性验证均通过验证的情况下才认定验证通过。
第一组合加密模块3,所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
其中,所述客户端接收并验证服务端身份信息,包括:采用服务端CA签发的数字证书,所述数字证书的签发和更新随着时间变化,所述客户端具有与所述服务端同步的CA用于验证数字证书是否一致。
公钥加解密模块4,不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
第二非对称加密算法和第一非对称加密算法可选择如下算法中的一种并且两种算法选用不同的类型或者不同的算法模型:RSA、Elgamal、Rabin、ECC。其中,RSA(RSAalgorithm)、Elgamal、Rabin、ECC,其中,RSA根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。EIGamal ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法,其中的逆运算可以应用平方乘的方法有效的计算出来。在相应的群G中,指数函数是单向函数;Rabin加密算法是一种基于模平方和模平方根的公钥密码算法,是RSA算法的特例;椭圆曲线密码学(Ellipticcurve cryptography,缩写为ECC)。
第二组合加密模块5,所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
其中,为了防止公钥被替换或者伪造,在第一次非对称加密验证通过的情况下,实现第二次的随机更换,在客户端和服务端身份信息和公钥均为安全的情况下实现数字签名的合法有效。
第二解密模块6,所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端以完成非对称加密的加密和解密。
其中,通过区块链技术对使用者身份完成数字签名,实现唯一性、可溯源、不可篡改场景需求。使用者通过简单的SDK接入方式或者接口接入方式,直接通过本实施例的数据身份签名链应用及其支撑系统,实现数据加密,数据身份签名、验签功能。
作为一种可选的实施方式,还包括对称秘钥比对模块7,用于将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行。
实施例3
本实施例提供一种基于非对称加密的区块链数字签名平台,其上存储有计算机程序,所述程序被执行时实现实施例1中的基于非对称加密的区块链数字签名方法。
本公开实施例3仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
尽管已经示出和描述了本公开的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本公开的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本公开的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于非对称加密的区块链数字签名方法,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,其中客户端和服务端均不少于两个,其特征在于,包括如下步骤:
S10、所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
S20、区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型,并执行S30;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
S30、所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
S40、不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
S50、所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
S60、所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端。
2.如权利要求1所述的基于非对称加密的区块链数字签名方法,其特征在于,不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,包括:
不少于两个服务端根据客户端身份信息验证客户端版本和颁发的证书进行合法性验证;在不少于两个服务端的合法性验证均通过验证的情况下才认定验证通过。
3.如权利要求2所述的基于非对称加密的区块链数字签名方法,其特征在于,所述客户端接收并验证服务端身份信息,包括:采用服务端CA签发的数字证书,所述数字证书的签发和更新随着时间变化,所述客户端具有与所述服务端同步的CA用于验证数字证书是否一致。
4.如权利要求2所述的基于非对称加密的区块链数字签名方法,其特征在于,第二非对称加密算法和第一非对称加密算法可选择如下算法中的一种:
RSA、Elgamal、Rabin、ECC。
5.如权利要求2-4任一项所述的基于非对称加密的区块链数字签名方法,其特征在于,将所述发送者公钥发送至所述客户端之后还包括:
将所述发送者公钥同步到所述区块链中的节点,各个节点将所述发送者公钥进行解密得到对称秘钥,将所述对称秘钥与客户端中的对称秘钥的一致性进行比对,如果一致,则继续执行S50,如果不一致,则将不一致的第二告警信息发送至客户端并将所述第二告警信息插入各个节点的日志队列。
6.如权利要求1所述的基于非对称加密的区块链数字签名方法,其特征在于,所述第一非对称加密算法和第二非对称加密算法的选用是随机的。
7.如权利要求1所述的基于非对称加密的区块链数字签名方法,其特征在于,在S60之后还包括如下步骤:将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行S10。
8.一种基于非对称加密的区块链数字签名系统,其特征在于,应用于区块链中的客户端和服务端,所述客户端和服务端均作为区块链中的节点,包括:
数字签名需求请求模块,所述客户端发起数字签名需求请求,所述数字签名需求请求包括客户端身份信息以及支持的非对称加密算法类型;
合法性验证模块,区块链中的节点均接收所述数字签名需求请求,并且有不少于两个服务端根据所述数字签名需求请求对所述客户端身份的合法性进行验证,如果验证通过则根据客户端支持的非对称加密算法类型发送服务器中的公钥以及服务端身份信息,所述公钥适配所述客户端支持的非对称加密算法类型;如果验证未通过,则生成第一告警信息发送至区块链中的所有节点,区块链中的节点对所述客户端身份信息进行标记;
第一组合加密模块,所述客户端接收并验证服务端身份信息,验证通过后,将需要加密的文件进行对称加密得到对称秘钥和文件密文,将所述对称秘钥采用所述公钥对应的第一非对称加密算法进行加密得到接收者公钥;
公钥加解密模块,不少于两个服务端接收所述接收者公钥并将所述接收者公钥进行解密得到对称秘钥,并将获取的客户端身份信息和对称秘钥采用第二非对称加密算法进行加密得到发送者公钥,将所述发送者公钥发送至所述客户端;所述第二非对称加密算法和第一非对称加密算法位不同的非对称加密算法;
第二组合加密模块,所述客户端接收到发送者公钥并将所述发送者公钥使用进行解密得到对称秘钥,并将所述对称秘钥使用所述发送者公钥进行第二次加密得到第二发送者公钥;
第二解密模块,所述客户端将所述第二发送者公钥和文件密文发送到不少于两个服务端,不少于两个服务端对所述第二发送者公钥进行解密得到的第二对称加密秘钥并保存在不少于两个服务端以完成非对称加密的加密和解密。
9.如权利要求8所述的基于非对称加密的区块链数字签名系统,其特征在于,还包括对称秘钥比对模块,用于将所述第二发送者公钥和文件密文回传给客户端并将第二发送者公钥使用发送者公钥解密得到对称秘钥,在对称秘钥进行比对无误时将数字签名返回客户端的使用者以完成数字签名;如果比对有误,则将有误信息返回到区块链的各个节点,以重新调整第一非对称加密算法和第二非对称加密算法的类型后重新开始执行。
10.一种基于非对称加密的区块链数字签名平台,其上存储有计算机程序,其特征在于,所述程序被执行时实现权利要求1至7任一项所述的基于非对称加密的区块链数字签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311148948.7A CN117201113B (zh) | 2023-09-07 | 2023-09-07 | 一种基于非对称加密的区块链数字签名方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311148948.7A CN117201113B (zh) | 2023-09-07 | 2023-09-07 | 一种基于非对称加密的区块链数字签名方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201113A true CN117201113A (zh) | 2023-12-08 |
CN117201113B CN117201113B (zh) | 2024-04-30 |
Family
ID=88995503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311148948.7A Active CN117201113B (zh) | 2023-09-07 | 2023-09-07 | 一种基于非对称加密的区块链数字签名方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201113B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135740A1 (en) * | 2000-09-11 | 2003-07-17 | Eli Talmor | Biometric-based system and method for enabling authentication of electronic messages sent over a network |
WO2019110574A1 (en) * | 2017-12-04 | 2019-06-13 | Wellness Technology and Media Group Ltd | Methods of secure communication |
CN110868295A (zh) * | 2019-12-12 | 2020-03-06 | 南京如般量子科技有限公司 | 基于秘密共享的抗量子计算联盟链系统及通信方法 |
US20200274699A1 (en) * | 2019-02-22 | 2020-08-27 | Panasonic Avionics Corporation | Hybrid cryptographic system and method for encrypting data for common fleet of vehicles |
CN111953490A (zh) * | 2020-08-31 | 2020-11-17 | 上海雷龙信息科技有限公司 | 基于区块链技术的数字签名方法及系统 |
CN115567324A (zh) * | 2022-11-24 | 2023-01-03 | 湖南天河国云科技有限公司 | 数据加密传输方法、系统、计算机设备和存储介质 |
WO2023061455A1 (zh) * | 2021-10-13 | 2023-04-20 | 广州广电运通金融电子股份有限公司 | 一种大文件加解密系统、方法、存储介质和设备 |
CN116192486A (zh) * | 2023-01-19 | 2023-05-30 | 中企链信(北京)科技有限公司 | 一种用于区块链数据的数据加密方法及装置 |
-
2023
- 2023-09-07 CN CN202311148948.7A patent/CN117201113B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135740A1 (en) * | 2000-09-11 | 2003-07-17 | Eli Talmor | Biometric-based system and method for enabling authentication of electronic messages sent over a network |
WO2019110574A1 (en) * | 2017-12-04 | 2019-06-13 | Wellness Technology and Media Group Ltd | Methods of secure communication |
US20200274699A1 (en) * | 2019-02-22 | 2020-08-27 | Panasonic Avionics Corporation | Hybrid cryptographic system and method for encrypting data for common fleet of vehicles |
CN110868295A (zh) * | 2019-12-12 | 2020-03-06 | 南京如般量子科技有限公司 | 基于秘密共享的抗量子计算联盟链系统及通信方法 |
CN111953490A (zh) * | 2020-08-31 | 2020-11-17 | 上海雷龙信息科技有限公司 | 基于区块链技术的数字签名方法及系统 |
WO2023061455A1 (zh) * | 2021-10-13 | 2023-04-20 | 广州广电运通金融电子股份有限公司 | 一种大文件加解密系统、方法、存储介质和设备 |
CN115567324A (zh) * | 2022-11-24 | 2023-01-03 | 湖南天河国云科技有限公司 | 数据加密传输方法、系统、计算机设备和存储介质 |
CN116192486A (zh) * | 2023-01-19 | 2023-05-30 | 中企链信(北京)科技有限公司 | 一种用于区块链数据的数据加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117201113B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6799061B2 (ja) | ウォレット管理システムと併せたブロックチェーンベースのシステムのための暗号鍵のセキュアなマルチパーティ損失耐性のある記憶及び転送 | |
US20200313897A1 (en) | Blockchain-based authentication and authorization | |
AU2016211551B2 (en) | Methods for secure credential provisioning | |
Chen et al. | Flexible and scalable digital signatures in TPM 2.0 | |
US8667287B2 (en) | Transaction auditing for data security devices | |
JP5205398B2 (ja) | 鍵認証方式 | |
US6202150B1 (en) | Auto-escrowable and auto-certifiable cryptosystems | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
JP3864249B2 (ja) | 暗号通信システム、その端末装置及びサーバ | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
EP3496331A1 (en) | Two-party signature device and method | |
Syverson | Limitations on design principles for public key protocols | |
CN110380845B (zh) | 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备 | |
EP2201718A2 (en) | An efficient certified email protocol | |
Küpçü | Official arbitration with secure cloud storage application | |
JP2005503696A (ja) | 暗号認証方法 | |
CN117201113B (zh) | 一种基于非对称加密的区块链数字签名方法及其系统 | |
Kılınç et al. | Efficient public-key distance bounding protocol | |
CN114448636B (zh) | 基于数字证书的抗量子计算数字货币系统及匿名通信方法 | |
Zhang et al. | Practical and efficient fair document exchange over networks | |
WO2021019783A1 (ja) | 所有者同一性確認システム、端末および所有者同一性確認方法 | |
WO2021019782A1 (ja) | 所有者同一性確認システムおよび所有者同一性確認方法 | |
Yen et al. | A fair-exchange e-payment protocol for digital products with customer unlinkability | |
CN114696997B (zh) | 一种基于ca和国密算法的抗量子计算通信方法及系统 |
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 |