CN113051596A - 一种基于区块链和分布式存储的层级加密方法与系统 - Google Patents
一种基于区块链和分布式存储的层级加密方法与系统 Download PDFInfo
- Publication number
- CN113051596A CN113051596A CN202110422004.9A CN202110422004A CN113051596A CN 113051596 A CN113051596 A CN 113051596A CN 202110422004 A CN202110422004 A CN 202110422004A CN 113051596 A CN113051596 A CN 113051596A
- Authority
- CN
- China
- Prior art keywords
- receiving user
- information
- user
- sending information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 238000012795 verification Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013500 data storage Methods 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 239000003999 initiator Substances 0.000 description 3
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- KAICRBBQCRKMPO-UHFFFAOYSA-N phosphoric acid;pyridine-3,4-diamine Chemical compound OP(O)(O)=O.NC1=CC=NC=C1N KAICRBBQCRKMPO-UHFFFAOYSA-N 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链和分布式存储的层级加密方法与系统。所述基于区块链和分布式存储的层级加密方法,包括如下步骤:获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;使用所述公钥对发送信息进行加密;所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。本发明的技术方案解决了相关技术中的加密方法,无法满足用户隐私保护的需求,且会不便于节约存储空间的技术问题。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链和分布式存储的层级加密方法与系统。
背景技术
区块链技术的特征包括透明、共享、可追溯、广泛参与。“透明”意味着拓展信息暴露的维度;“共享”意味着增加数据存储的位置,所有节点都可以存储数据;“可追溯”意味着用户隐私数据存储可能是永久的,并不是存储一段时间后就删掉丢弃,延长了隐私存储时间,就很难被遗忘;“广泛参与”,表示区块链作为分布式网络,一定是有各方共识的,这时,参与的网络里就可能有短板,而公开的网络环境更容易掺入非信任角色。
在相关技术中,在公开透明的区块链网络中建立信任、进行验证,区块链引入了多种密码学算法技术。
非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥。非对称加密算法实现机密信息交换的基本过程如下:
甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
该种加密方式,一方面用户需要公开自己的部分信息和公钥,使得匿名性无法满足用户隐私保护的需求,另一方面是随着区块链系统的长时间运行公开信息的存储,会带来的节点数据冗余和存储压力。
因此,有必要提供一种新的基于区块链和分布式存储的层级加密方法与系统,以解决上述技术问题。
发明内容
本发明的主要目的在于提供一种基于区块链和分布式存储的层级加密方法,旨在解决相关技术的加密方法,无法满足用户隐私保护的需求,且不便于节约存储空间的技术问题。
为实现上述目的,本发明提供的基于区块链和分布式存储的层级加密方法,包括如下步骤:
获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
使用所述公钥对发送信息进行加密;
所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。
优选地,所述所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息的步骤,具体包括如下步骤:
所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
将所述存储地址路径发送给所述接收用户;
所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
优选地,所述所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息的步骤,具体包括如下步骤:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
优选地,还包括如下步骤:
获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
为解决上述技术问题,本发明还提供一种基于区块链和分布式存储的层级加密系统,包括:
获取模块,所述获取模块用于获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
加密模块,所述加密模块用于使用所述公钥对发送信息进行加密;
解密模块,所述解密模块用于所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
循环模块,所述循环模块用于获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次依次启动所述加密模块与所述解密模块。
优选地,所述解密模块具体用于:
所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
将所述存储地址路径发送给所述接收用户;
所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
优选地,所述解密模块具体用于:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
优选地,还包括:
校验模块,所述校验模块用于获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
本发明提供的基于区块链和分布式存储的层级加密方法和系统,获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;使用所述公钥对发送信息进行加密;所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。
在区块链系统中一般通过地址作为账户信息进行交易,交易发起方在进行交易前一定是知晓交易接收方的区块链地址的,又因为根据地址可以推导出账户公钥,我们知道通过非对称加密算法,使用同一账户的私钥可以解密由其对应的公钥加密后的数据。
用户间进行交易,可通过使用交易接收方地址推导出其公钥,将数据加密后再进行发送,整个过程用户无需泄露自己的密钥,也无需提前约定好密钥或者传输密钥,从而避免了传输过程中密钥泄露的风险。
一方面用户不需要公开自己的部分信息和公钥,满足了匿名性需求,另一方面是能够节约存储公开信息的存储空间。
进一步的,所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;将所述存储地址路径发送给所述接收用户;所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。采用特定的网络协议进行分布式存储,故能够减少相同资源的冗余、降低网络资源的消耗、缓解节点的数据存储压力,并且存储是持久化的,有效保证数据存储的安全性。
附图说明
图1为本发明提供的基于区块链和分布式存储的层级加密方法的一较优实施例的工作流程图;
图2为图1所示的步骤S30的一工作流程图;
图3为本发明提供的基于区块链和分布式存储的层级加密系统的架构图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为便于本发明的技术方案的理解,阐述如下概念:
区块链系统中,公/私钥和地址的生成方式有多种,本专利提出的方法是基于可通过地址推导出公钥的模式。
目前,大多数区块链企业面临的最大问题是无法在自己的链上存储大量数据。到目前为止,所有的数据块都只有几百个GB,以太坊可编程的区块链项目只能执行和存储小的合同代码,DAPP的发展受到了很大的限制。利用分布式存储技术解决存储瓶颈是可行的方案之一。
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
用户可以使用分布式存储来处理大量的数据,并在区块链事务中放置不可变、永久的链接,而不必将数据本身放在块链中。通过这种模型,降低了系统的总成本,降低了用户的存储成本。
本发明提供一种基于区块链和分布式存储的层级加密方法。
请参阅图1,为实现上述目的,本发明的第一实施例中,基于区块链和分布式存储的层级加密方法,包括如下步骤:
S10,获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
S20,使用所述公钥对发送信息进行加密;
S30,所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
S40,获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述步骤S20。
基于区块链和分布式存储的层级加密方法还包括如下步骤:
S50,获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
可以理解,在本实施例中,在不再获取接收用户的地址数据后,方才进入所述步骤S50。
请参阅图2,在一实施例中,所述步骤S30具体包括如下步骤:
S301,所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
S302,将所述存储地址路径发送给所述接收用户;
S303,所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
为便于技术方案的理解,具体业务场景进行举例说明:
用户A根据用户B的地址得到用户B的公钥,使用用户B的公钥对信息进行加密,密文通过指定的网络协议进行分布式存储,得到唯一的存储地址路径,将地址路径发送给用户B后,B用户通过同一网络协议查询得到A发过来的密文信息,使用自己私钥对信息进行解密,得到信息明文;B、C、D用户使用同样道理进行加密、存储和查询。
实现方式如下:
用户A根据已知的用户B地址推导出用户B公钥,A将要发送的信息message通过B的公钥进行加密,得到密文,将密文通过指定的网络协议进行分布式存储,得到存储的地址链接,放入messageAddr字段,A要发送给B的交易数据为:
字段说明:
hash:结构体的哈希值。
from:转入地址。
to:转出地址。
eventId:事件的唯一ID号。
index:流程中的步骤标识,表示现在是流程的第几部(下标从0开始,比如是流程中的第一步,则index值为0,流程的第二步,index值为1)。
messageAddr:信息数据的分布式存储地址链接。
messageHash:信息明文的哈希值。
flow:工作流内容,记录当前步骤之前流程中的字段(其中index为流程步骤标识,from为对应步骤的from地址,to为对应步骤的to地址,message为对应步骤信息的密文,messageHash为对应信息明文的哈希值,因为现在的结构体表示的是第一个流程,所以为空)。
B用户收到信息后,根据messageAddr的值和指定的网络协议查询A传输过来的数据信息密文,B使用自己的私钥进行解密,根据信息内容做出对应处理,然后把A发给自己的一部分信息存入结构体的flow字段中(具体可查看后续C传给D用户的结构体中的数据),B将自己对流程处理的内容通过C用户公钥进行加密,使用指定协议进行分布式存储,将得到的存储链接放入对应字段messageAddr中再发给C。
B用户要发送给C的数据为:
以此类推,C用户传递给D用户的结构体数据中flow字段包含了A发送给B的步骤一(index=0)的数据和B发送给C的步骤二(index=1)的数据:
用户D收到数据后,通过messageAddr和指定网络协议查询到C发过来的信息密文,使用自己私钥进行解密,得到数据明文。验证时可以通过flow中各步骤的messageHash和基于分布式存储查找到原数据信息进行对比,校验流程中的的信息是否被篡改。如此,交易过程只有参与的用户A、B、C、D知晓传输的数据内容,通过层级加密和分布式存储的方式,实现了对数据隐私的精准保护,同时大大降低了节点的存储压力,降低了网络资源开销。
将密文通过指定的网络协议进行分布式存储到云服务器上,因为是基于分布式的云存储,分布式云存储的特点是将数据分布式的存储在少数几个节点上,链上只存路径,不同于将全部数据存储到链上,节点进行数据同步时也就无需同步大量数据,如此一方面极大的降低了区块链节点需要存储的数据量,节省存储空间;另一方面,进行分布式云存储后会得到一个唯一的存储地址路径,A只需将路径传送给B,而不是整个信息内容,路径所占数据量远小于信息数据,所以也能大大降低传输过程中的网络开销。
本发明提供的基于区块链和分布式存储的层级加密方法和系统,获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;使用所述公钥对发送信息进行加密;所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。
在区块链系统中一般通过地址作为账户信息进行交易,交易发起方在进行交易前一定是知晓交易接收方的区块链地址的,又因为根据地址可以推导出账户公钥,我们知道通过非对称加密算法,使用同一账户的私钥可以解密由其对应的公钥加密后的数据。
用户间进行交易,可通过使用交易接收方地址推导出其公钥,将数据加密后再进行发送,整个过程用户无需泄露自己的密钥,也无需提前约定好密钥或者传输密钥,从而避免了传输过程中密钥泄露的风险。
一方面用户不需要公开自己的部分信息和公钥,满足了匿名性需求,另一方面是能够节约存储公开信息的存储空间。
进一步的,所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;将所述存储地址路径发送给所述接收用户;所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。采用特定的网络协议进行分布式存储,故能够减少相同资源的冗余、降低网络资源的消耗、缓解节点的数据存储压力,并且存储是持久化的,有效保证数据存储的安全性。
在另一实施例中,所述步骤S30具体包括如下步骤:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
为便于技术方案的理解,具体业务场景进行举例说明:
用户A根据用户B的地址得到用户B的公钥,使用用户B的公钥对信息进行加密,密文发送给用户B后,B用户使用私钥对信息进行解密,得到信息明文,之后用户B根据已知的用户C地址推导出用户C的公钥,使用用户C的公钥对信息进行加密,密文发送给用户C后,用户C使用私钥对密文解密,得到信息的明文,C用户使用D用户地址得到D的公钥,使用D的公钥对要发送数据进行加密,D得到数据后使用自己的私钥进行解密,得到数据明文。
实现方式如下:
用户A根据已知的用户B地址推导出用户B公钥,A将要发送的信息message通过B的公钥进行加密,得到密文,存入要发送的结构体对应的字段中"message":"b5e5d6551e73e6a0fdd192c085",A要发送给B的交易数据为:
字段说明:
hash:结构体的哈希值。
from:转入地址。
to:转出地址。
eventId:事件的唯一ID号。
index:流程中的步骤标识,表示现在是流程的第几部(下标从0开始,比如是流程中的第一步,则index值为0,流程的第二步,index值为1)。
message:发送的信息数据加密后的密文。
messageHash:信息明文的哈希值。
flow:工作流内容,记录当前步骤之前流程中的字段(其中index为流程步骤标识,from为对应步骤的from地址,to为对应步骤的to地址,message为对应步骤信息的密文,messageHash为对应信息明文的哈希值,因为现在的结构体表示的是第一个流程,所以为空)。
B用户收到信息后使用自己的私钥进行解密,根据信息内容做出对应处理,然后把A发给自己的信息存入结构体的flow字段中(可以看到B发送给C的结构体中的flow字段中包含了A发给B的信息),将自己对流程处理的内容放入对应字段message中,使用C用户公钥对message加密,再发给C。
B用户要发送给C的数据为:
以此类推,C用户传递给D用户的结构体数据中flow字段包含了A发送给B的步骤一(index=0)的数据和B发送给C的步骤二(index=1)的数据:
用户D收到数据后使用自己私钥进行解密,得到数据明文。通过验证message内容和messageHash的值,校验流程中的的信息是否被篡改。如此,交易过程只有参与的用户A、B、C、D知晓传输的数据内容,通过层级加密的方式,实现了对数据隐私的精准保护。
本发明还提供一种基于区块链和分布式存储的层级加密系统。
请参阅图3,为实现上述目的,本发明的一实施例中,基于区块链和分布式存储的层级加密系统,包括:
获取模块,所述获取模块用于获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
加密模块,所述加密模块用于使用所述公钥对发送信息进行加密;
解密模块,所述解密模块用于所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
循环模块,所述循环模块用于获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次依次启动所述加密模块与所述解密模块。
基于区块链和分布式存储的层级加密系统还包括:
校验模块,所述校验模块用于获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
可以理解,在本实施例中,在不再获取接收用户的地址数据后,方才启动所述校验模块。
在一实施例中,所述解密模块具体用于:
所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
将所述存储地址路径发送给所述接收用户;
所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
为便于技术方案的理解,具体业务场景进行举例说明:
用户A根据用户B的地址得到用户B的公钥,使用用户B的公钥对信息进行加密,密文通过指定的网络协议进行分布式存储,得到唯一的存储地址路径,将地址路径发送给用户B后,B用户通过同一网络协议查询得到A发过来的密文信息,使用自己私钥对信息进行解密,得到信息明文;B、C、D用户使用同样道理进行加密、存储和查询。
实现方式如下:
用户A根据已知的用户B地址推导出用户B公钥,A将要发送的信息message通过B的公钥进行加密,得到密文,将密文通过指定的网络协议进行分布式存储,得到存储的地址链接,放入messageAddr字段,A要发送给B的交易数据为:
字段说明:
hash:结构体的哈希值。
from:转入地址。
to:转出地址。
eventId:事件的唯一ID号。
index:流程中的步骤标识,表示现在是流程的第几部(下标从0开始,比如是流程中的第一步,则index值为0,流程的第二步,index值为1)。
messageAddr:信息数据的分布式存储地址链接。
messageHash:信息明文的哈希值。
flow:工作流内容,记录当前步骤之前流程中的字段(其中index为流程步骤标识,from为对应步骤的from地址,to为对应步骤的to地址,message为对应步骤信息的密文,messageHash为对应信息明文的哈希值,因为现在的结构体表示的是第一个流程,所以为空)。
B用户收到信息后,根据messageAddr的值和指定的网络协议查询A传输过来的数据信息密文,B使用自己的私钥进行解密,根据信息内容做出对应处理,然后把A发给自己的一部分信息存入结构体的flow字段中(具体可查看后续C传给D用户的结构体中的数据),B将自己对流程处理的内容通过C用户公钥进行加密,使用指定协议进行分布式存储,将得到的存储链接放入对应字段messageAddr中再发给C。
B用户要发送给C的数据为:
以此类推,C用户传递给D用户的结构体数据中flow字段包含了A发送给B的步骤一(index=0)的数据和B发送给C的步骤二(index=1)的数据:
用户D收到数据后,通过messageAddr和指定网络协议查询到C发过来的信息密文,使用自己私钥进行解密,得到数据明文。验证时可以通过flow中各步骤的messageHash和基于分布式存储查找到原数据信息进行对比,校验流程中的的信息是否被篡改。如此,交易过程只有参与的用户A、B、C、D知晓传输的数据内容,通过层级加密和分布式存储的方式,实现了对数据隐私的精准保护,同时大大降低了节点的存储压力,降低了网络资源开销。
将密文通过指定的网络协议进行分布式存储到云服务器上,因为是基于分布式的云存储,分布式云存储的特点是将数据分布式的存储在少数几个节点上,链上只存路径,不同于将全部数据存储到链上,节点进行数据同步时也就无需同步大量数据,如此一方面极大的降低了区块链节点需要存储的数据量,节省存储空间;另一方面,进行分布式云存储后会得到一个唯一的存储地址路径,A只需将路径传送给B,而不是整个信息内容,路径所占数据量远小于信息数据,所以也能大大降低传输过程中的网络开销。
本发明提供的基于区块链和分布式存储的层级加密方法和系统,获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;使用所述公钥对发送信息进行加密;所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。
在区块链系统中一般通过地址作为账户信息进行交易,交易发起方在进行交易前一定是知晓交易接收方的区块链地址的,又因为根据地址可以推导出账户公钥,我们知道通过非对称加密算法,使用同一账户的私钥可以解密由其对应的公钥加密后的数据。
用户间进行交易,可通过使用交易接收方地址推导出其公钥,将数据加密后再进行发送,整个过程用户无需泄露自己的密钥,也无需提前约定好密钥或者传输密钥,从而避免了传输过程中密钥泄露的风险。
一方面用户不需要公开自己的部分信息和公钥,满足了匿名性需求,另一方面是能够节约存储公开信息的存储空间。
进一步的,所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;将所述存储地址路径发送给所述接收用户;所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。采用特定的网络协议进行分布式存储,故能够减少相同资源的冗余、降低网络资源的消耗、缓解节点的数据存储压力,并且存储是持久化的,有效保证数据存储的安全性。
在另一实施例中,所述解密模块具体用于:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
为便于技术方案的理解,具体业务场景进行举例说明:
用户A根据用户B的地址得到用户B的公钥,使用用户B的公钥对信息进行加密,密文发送给用户B后,B用户使用私钥对信息进行解密,得到信息明文,之后用户B根据已知的用户C地址推导出用户C的公钥,使用用户C的公钥对信息进行加密,密文发送给用户C后,用户C使用私钥对密文解密,得到信息的明文,C用户使用D用户地址得到D的公钥,使用D的公钥对要发送数据进行加密,D得到数据后使用自己的私钥进行解密,得到数据明文。
实现方式如下:
用户A根据已知的用户B地址推导出用户B公钥,A将要发送的信息message通过B的公钥进行加密,得到密文,存入要发送的结构体对应的字段中"message":"b5e5d6551e73e6a0fdd192c085",A要发送给B的交易数据为:
字段说明:
hash:结构体的哈希值。
from:转入地址。
to:转出地址。
eventId:事件的唯一ID号。
index:流程中的步骤标识,表示现在是流程的第几部(下标从0开始,比如是流程中的第一步,则index值为0,流程的第二步,index值为1)。
message:发送的信息数据加密后的密文。
messageHash:信息明文的哈希值。
flow:工作流内容,记录当前步骤之前流程中的字段(其中index为流程步骤标识,from为对应步骤的from地址,to为对应步骤的to地址,message为对应步骤信息的密文,messageHash为对应信息明文的哈希值,因为现在的结构体表示的是第一个流程,所以为空)。
B用户收到信息后使用自己的私钥进行解密,根据信息内容做出对应处理,然后把A发给自己的信息存入结构体的flow字段中(可以看到B发送给C的结构体中的flow字段中包含了A发给B的信息),将自己对流程处理的内容放入对应字段message中,使用C用户公钥对message加密,再发给C。
B用户要发送给C的数据为:
以此类推,C用户传递给D用户的结构体数据中flow字段包含了A发送给B的步骤一(index=0)的数据和B发送给C的步骤二(index=1)的数据:
用户D收到数据后使用自己私钥进行解密,得到数据明文。通过验证message内容和messageHash的值,校验流程中的的信息是否被篡改。如此,交易过程只有参与的用户A、B、C、D知晓传输的数据内容,通过层级加密的方式,实现了对数据隐私的精准保护。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备进入本发明各个实施例所述的方法。
在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第X实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料、方法步骤或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于区块链和分布式存储的层级加密方法,其特征在于,包括如下步骤:
获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
使用所述公钥对发送信息进行加密;
所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次进入所述使用所述公钥对发送信息进行加密的步骤。
2.如权利要求1所述的基于区块链和分布式存储的层级加密方法,其特征在于,所述所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息的步骤,具体包括如下步骤:
所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
将所述存储地址路径发送给所述接收用户;
所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
3.如权利要求1所述的基于区块链和分布式存储的层级加密方法,其特征在于,所述所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息的步骤,具体包括如下步骤:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
4.如权利要求2或3所述的基于区块链和分布式存储的层级加密方法,其特征在于,还包括如下步骤:
获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
5.一种基于区块链和分布式存储的层级加密系统,其特征在于,包括:
获取模块,所述获取模块用于获取一接收用户的地址数据,并根据该地址数据生成相应的一公钥;
加密模块,所述加密模块用于使用所述公钥对发送信息进行加密;
解密模块,所述解密模块用于所述接收用户通过预设的渠道获取加密后的发送信息,并使用自身的私钥解密该发送信息;
循环模块,所述循环模块用于获取另一接收用户的地址数据,并根据该地址数据生成相应的另一公钥,再次依次启动所述加密模块与所述解密模块。
6.如权利要求5所述的基于区块链和分布式存储的层级加密系统,其特征在于,所述解密模块具体用于:
所述加密后的发送信息通过预设的网络协议进行分布式存储,以得到唯一的存储地址路径;
将所述存储地址路径发送给所述接收用户;
所述接收用户根据所述存储地址路径获取所述加密后的发送信息,并使用自身的私钥解密该发送信息。
7.如权利要求5所述的基于区块链和分布式存储的层级加密系统,其特征在于,所述解密模块具体用于:
将所述加密后的发送信息发送至所述接收用户,所述接收用户使用自身的私钥解密该发送信息。
8.如权利要求6或7所述的基于区块链和分布式存储的层级加密系统,其特征在于,还包括:
校验模块,所述校验模块用于获取解密后的发送信息和校验信息,并根据所述校验信息校验所述解密后的发送信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422004.9A CN113051596A (zh) | 2021-04-20 | 2021-04-20 | 一种基于区块链和分布式存储的层级加密方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422004.9A CN113051596A (zh) | 2021-04-20 | 2021-04-20 | 一种基于区块链和分布式存储的层级加密方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113051596A true CN113051596A (zh) | 2021-06-29 |
Family
ID=76519719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110422004.9A Pending CN113051596A (zh) | 2021-04-20 | 2021-04-20 | 一种基于区块链和分布式存储的层级加密方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051596A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681898A (zh) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | 一种基于区块链的数据交易方法及系统 |
CN109981584A (zh) * | 2019-02-26 | 2019-07-05 | 符安文 | 一种基于区块链的分布式社交方法 |
CN111866134A (zh) * | 2020-07-20 | 2020-10-30 | 普华云创科技(北京)有限公司 | 区块链交易哈希值和地址的生成方法、系统及存储介质 |
CN112003886A (zh) * | 2020-07-03 | 2020-11-27 | 北京工业大学 | 一种基于区块链的物联网数据共享系统和方法 |
CN112417512A (zh) * | 2020-10-14 | 2021-02-26 | 安徽中科晶格技术有限公司 | 一种基于区块链的跨境贸易隐私数据管理系统及方法 |
KR20210041459A (ko) * | 2019-10-07 | 2021-04-15 | 주식회사 블록체인기술연구소 | 블록체인과 ipfs 기반의 암호화 데이터 공유 시스템 |
-
2021
- 2021-04-20 CN CN202110422004.9A patent/CN113051596A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681898A (zh) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | 一种基于区块链的数据交易方法及系统 |
CN109981584A (zh) * | 2019-02-26 | 2019-07-05 | 符安文 | 一种基于区块链的分布式社交方法 |
KR20210041459A (ko) * | 2019-10-07 | 2021-04-15 | 주식회사 블록체인기술연구소 | 블록체인과 ipfs 기반의 암호화 데이터 공유 시스템 |
CN112003886A (zh) * | 2020-07-03 | 2020-11-27 | 北京工业大学 | 一种基于区块链的物联网数据共享系统和方法 |
CN111866134A (zh) * | 2020-07-20 | 2020-10-30 | 普华云创科技(北京)有限公司 | 区块链交易哈希值和地址的生成方法、系统及存储介质 |
CN112417512A (zh) * | 2020-10-14 | 2021-02-26 | 安徽中科晶格技术有限公司 | 一种基于区块链的跨境贸易隐私数据管理系统及方法 |
Non-Patent Citations (2)
Title |
---|
李赫等: "区块链技术 金融应用实践", vol. 1, 30 September 2017, 北京航空航天大学出版社, pages: 76 - 79 * |
袁煜明: "区块链技术进阶指南", vol. 1, 30 April 2020, 机械工业出版社, pages: 195 - 197 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11621833B2 (en) | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system | |
Luo et al. | A lightweight privacy-preserving communication protocol for heterogeneous IoT environment | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
EP2634991A1 (en) | Content-centric networking | |
EP1376976A1 (en) | Methods for authenticating potential members invited to join a group | |
CN113014379B (zh) | 支持跨云域数据分享的三方认证和密钥协商方法、系统和计算机存储介质 | |
CN114944935A (zh) | 一种多方融合计算系统、多方融合计算方法和可读存储介质 | |
CN108650302A (zh) | 一种基于区块链的云箱安全技术 | |
CN114528331A (zh) | 基于区块链的数据查询方法及装置、介质、设备 | |
CN109962924B (zh) | 群聊构建方法、群消息发送方法、群消息接收方法及系统 | |
CN111192050A (zh) | 一种数字资产私钥存储提取方法及装置 | |
Muth et al. | Smartdhx: Diffie-hellman key exchange with smart contracts | |
CN110784318B (zh) | 群密钥更新方法、装置、电子设备、存储介质及通信系统 | |
CN117155615A (zh) | 数据加密传输方法、系统、电子设备及存储介质 | |
CN114944936A (zh) | 一种隐私路由服务端、加密协议转换方法和机器可读存储介质 | |
Kamel et al. | A decentralized resource discovery using attribute based encryption for internet of things | |
CN115766119A (zh) | 通信方法、装置、通信系统及存储介质 | |
Schliep et al. | Consistent synchronous group off-the-record messaging with sym-gotr | |
Zheng et al. | Improved anonymous proxy re-encryption with CCA security | |
CN113051596A (zh) | 一种基于区块链和分布式存储的层级加密方法与系统 | |
Ramezanian et al. | Lightweight privacy-preserving ride-sharing protocols for autonomous cars | |
CN113918971A (zh) | 基于区块链的消息传输方法、装置、设备及可读存储介质 | |
Sojka et al. | Symbiosis of a lightweight ecc security and distributed shared memory middleware in wireless sensor networks | |
US20220385453A1 (en) | Secure file transfer | |
CN111865972B (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 |