CN112597526B - 一种用于联盟链的安全数据存取方法 - Google Patents

一种用于联盟链的安全数据存取方法 Download PDF

Info

Publication number
CN112597526B
CN112597526B CN202110242433.8A CN202110242433A CN112597526B CN 112597526 B CN112597526 B CN 112597526B CN 202110242433 A CN202110242433 A CN 202110242433A CN 112597526 B CN112597526 B CN 112597526B
Authority
CN
China
Prior art keywords
data
storage
storage node
node
federation
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
Application number
CN202110242433.8A
Other languages
English (en)
Other versions
CN112597526A (zh
Inventor
张金琳
袁超
俞学劢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Shuqin Technology Co Ltd
Original Assignee
Zhejiang Shuqin Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Shuqin Technology Co Ltd filed Critical Zhejiang Shuqin Technology Co Ltd
Priority to CN202110242433.8A priority Critical patent/CN112597526B/zh
Publication of CN112597526A publication Critical patent/CN112597526A/zh
Application granted granted Critical
Publication of CN112597526B publication Critical patent/CN112597526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术领域,具体涉及一种用于联盟链的安全数据存取方法,包括:A)构建存取代理层:发布外部共识协议,存储节点
Figure 100004_DEST_PATH_IMAGE002
的存储空间统一编址;B)数据存储:B1)联盟链节点
Figure 100004_DEST_PATH_IMAGE004
向提交数据存储需求;B2)外部共识协议依次将
Figure 100004_DEST_PATH_IMAGE006
分发给存储节点
Figure 321827DEST_PATH_IMAGE002
,存储节点
Figure 712357DEST_PATH_IMAGE002
以一定概率决定是否接收
Figure 55614DEST_PATH_IMAGE006
;B3)联盟链节点
Figure 697948DEST_PATH_IMAGE004
将数据标识
Figure 100004_DEST_PATH_IMAGE008
Figure 100004_DEST_PATH_IMAGE010
个存储地址关联;C)数据取出:C1)联盟链节点
Figure 380733DEST_PATH_IMAGE004
向提交数据
Figure 100004_DEST_PATH_IMAGE012
取出需求;C2)通过安全多方计算输出地址是否为真实存储地址;C3)外部共识协议拼接获得数据
Figure 817530DEST_PATH_IMAGE012
,完成数据取出。本发明的实质性效果是:只有在联盟链内才能获得数据
Figure 759335DEST_PATH_IMAGE012
,确保联盟链上的数据不被泄露。

Description

一种用于联盟链的安全数据存取方法
技术领域
本发明涉及区块链技术领域,具体涉及一种用于联盟链的安全数据存取方法。
背景技术
在联盟链的架构中,机构和机构之间搭建一条区块链,数据在联盟链的各个机构内是可见的。在某些数据安全性要求较高的场景下,联盟内部的成员并不希望联盟之外的机构能够获取联盟链上的数据。此时,就需要对联盟链上的数据进行访问控制。联盟链数据的访问控制,主要分为两个方面:链上通信数据的访问控制和节点存储数据的访问控制。链上通信数据的访问控制通过节点证书和SSL来完成。而目前的节点存储数据的访问控制则使用落盘加密的方式。联盟链内的节点对其硬盘上的数据进行加密,当需要访问数据时,通过Key Manager服务来管理。Key Manager服务部署在机构内网内,专门管理节点硬盘数据访问秘钥的服务,外网无法访问。当内网的节点启动时,从Key Manager处获取加密数据的访问秘钥,来对自身的加密数据进行访问。因而,当联盟链内的硬盘被带到内网环境之外启动时,由于无法连接Key Manager服务,因而无法对本地的数据进行解密,实现联盟链上数据的保密。但上述方法存在以下问题,若硬盘和加密的秘钥同时被泄露,则会导致联盟链上的数据泄露。
如中国专利CN111461710A,公开日2020年7月28日,一种基于联盟链的分布式账本访问控制方法,属于区块链技术领域。其技术方案包括:S1:数据和访问策略初始化;S2:提交阅读访问请求;S3:授予访问权限;S4:数据存取;S5:数据更新删除以及撤销访问。其技术方案不限于受信任的集中方来管理和实施访问控制,提高了可访问性和弹性。但其同样面临解密秘钥泄露的风险。
发明内容
本发明要解决的技术问题是:目前联盟链数据存在泄露风险的技术问题。提出了一种用于联盟链的安全数据存取方法,本方法能够有效防止在内网外环境启动的硬盘数据被读取,确保联盟链数据的安全。
为解决上述技术问题,本发明所采取的技术方案为:一种用于联盟链的安全数据存取方法,包括以下步骤:
步骤A)构建存取代理层:
在联盟链上发布外部共识协议,联盟链节点
Figure 100002_DEST_PATH_IMAGE002
在自身存储设备上开辟链数据存储区,所述外部共识协议接管所述链数据存储区的数据存取权限,将所述链数据存储区记为存储节点
Figure 100002_DEST_PATH_IMAGE004
Figure 100002_DEST_PATH_IMAGE006
为联盟链节点数量,所述外部共识协议将所述存储节点
Figure 445172DEST_PATH_IMAGE004
的存储空间统一编址,并设置数据缓冲区
Figure 100002_DEST_PATH_IMAGE008
,联盟链节点
Figure 221367DEST_PATH_IMAGE002
仅知晓自身的统一编址;
步骤B)数据存储:
步骤B1)联盟链节点
Figure 17415DEST_PATH_IMAGE002
向所述外部共识协议提交数据存储需求,待存储数据为
Figure 100002_DEST_PATH_IMAGE010
Figure 100002_DEST_PATH_IMAGE012
为数据标识,所述待存储数据为
Figure 271679DEST_PATH_IMAGE010
为已加密的数据,解密秘钥由联盟链节点
Figure 820472DEST_PATH_IMAGE002
保管,外部共识协议将
Figure 426290DEST_PATH_IMAGE010
末尾补零并等分为
Figure 100002_DEST_PATH_IMAGE014
份,记为
Figure 100002_DEST_PATH_IMAGE016
步骤B2)所述外部共识协议依次将
Figure 100002_DEST_PATH_IMAGE018
分发给存储节点
Figure 286799DEST_PATH_IMAGE004
,存储节点
Figure 100002_DEST_PATH_IMAGE020
随机决定是否接收
Figure 100002_DEST_PATH_IMAGE022
,若所述存储节点
Figure 298748DEST_PATH_IMAGE020
接收
Figure 498786DEST_PATH_IMAGE022
,则返回真实存储地址给联盟链节点
Figure 288887DEST_PATH_IMAGE002
,若所述存储节点
Figure 823643DEST_PATH_IMAGE020
不接收
Figure 295075DEST_PATH_IMAGE022
,则返回假存储地址给联盟链节点
Figure 349619DEST_PATH_IMAGE002
,所述存储节点
Figure 576201DEST_PATH_IMAGE020
记录标识位记录是否接收了
Figure 348985DEST_PATH_IMAGE010
的数据片段
Figure 905999DEST_PATH_IMAGE022
,所述外部共识协议设置监督机制,使得至少一个存储节点
Figure 283891DEST_PATH_IMAGE020
接收
Figure 415795DEST_PATH_IMAGE022
步骤B3)联盟链节点
Figure 675875DEST_PATH_IMAGE002
针对每个数据片段
Figure 489110DEST_PATH_IMAGE022
均获得
Figure 100002_DEST_PATH_IMAGE024
个真假均含的存储地址,待存储数据
Figure 555462DEST_PATH_IMAGE010
共对应
Figure 100002_DEST_PATH_IMAGE026
个存储地址,联盟链节点
Figure 592688DEST_PATH_IMAGE002
将数据标识
Figure 74485DEST_PATH_IMAGE012
Figure 753728DEST_PATH_IMAGE026
个存储地址关联,联盟链节点
Figure 840633DEST_PATH_IMAGE002
将待存储数据为
Figure 65072DEST_PATH_IMAGE010
从其本地删除,完成数据存储;
步骤C)数据取出:
步骤C1)在联盟链上发布智能合约,联盟链节点
Figure 34165DEST_PATH_IMAGE002
向智能合约提交
Figure 251520DEST_PATH_IMAGE010
对应的
Figure 255248DEST_PATH_IMAGE026
个存储地址,联盟链节点
Figure 103118DEST_PATH_IMAGE002
构建安全多方计算;
步骤C2)联盟链节点将数据片段
Figure 100002_DEST_PATH_IMAGE028
对应的
Figure 605513DEST_PATH_IMAGE006
个存储地址是否为真实存储地址的结果同步到智能合约,若为真实地址,则联盟链节点
Figure 360979DEST_PATH_IMAGE002
按相应存储地址取出一个数据放入所述数据缓冲区
Figure 953634DEST_PATH_IMAGE008
,而后获得下一个数据片段对应的
Figure 972406DEST_PATH_IMAGE006
个存储地址,重新执行本步骤,直到获得数据片段
Figure 100002_DEST_PATH_IMAGE030
步骤C3)联盟链节点
Figure 463561DEST_PATH_IMAGE002
将数据缓冲区
Figure 22719DEST_PATH_IMAGE008
存储的
Figure 100002_DEST_PATH_IMAGE032
拼接获得数据
Figure 469881DEST_PATH_IMAGE010
,将数据
Figure 442909DEST_PATH_IMAGE010
发送给联盟链节点
Figure 873890DEST_PATH_IMAGE002
,完成数据取出。本技术方案将数据
Figure 971159DEST_PATH_IMAGE010
分散到每个联盟链节点上,只有全部联盟链节点均参与数据
Figure 69565DEST_PATH_IMAGE010
的复原才能获得数据
Figure 712031DEST_PATH_IMAGE010
,因而任何一个联盟链节点的硬盘,在联盟链内网环境外均无法复原数据
Figure 833570DEST_PATH_IMAGE010
。通过使得外部共识协议设置监督,使得至少预设个数个存储节点
Figure 734530DEST_PATH_IMAGE020
接收
Figure 156284DEST_PATH_IMAGE022
,能够在联盟链节点的一个或少于预设个数个硬盘脱离时,仍然能够复原数据
Figure 484497DEST_PATH_IMAGE010
,不影响联盟链的运行。
作为优选,步骤A)中,所述外部共识协议将所述存储节点
Figure 139339DEST_PATH_IMAGE004
的存储空间统一编址的方法包括:步骤A1)所述外部共识协议根据所述存储节点
Figure 843989DEST_PATH_IMAGE004
的存储空间大小分配多个编址区间,每个编址区间均能索引所述存储节点
Figure 385829DEST_PATH_IMAGE004
的全部存储空间且有富余;步骤A2)所述存储节点
Figure 884944DEST_PATH_IMAGE004
从每个编址区间内随机抽取出部分编址作为假地址,作为假地址的编址指向同一个存储区域,其余编址指向真实存储区域;步骤A3)所述存储节点
Figure 715496DEST_PATH_IMAGE004
将多个所述编址区间编定顺序,并设置编址切换周期,每过一个切换周期,存储节点
Figure 708991DEST_PATH_IMAGE004
循环切换至下一个编址区间;步骤A4)联盟链节点
Figure 370917DEST_PATH_IMAGE002
将数据标识
Figure 40933DEST_PATH_IMAGE012
Figure 155519DEST_PATH_IMAGE026
个存储地址关联时,同时关联时间戳;步骤A5)联盟链节点
Figure 139656DEST_PATH_IMAGE002
向所述外部共识协议提交数据
Figure 908285DEST_PATH_IMAGE010
取出需求时,联盟链节点
Figure 749202DEST_PATH_IMAGE002
向所述外部共识协议提交
Figure 616664DEST_PATH_IMAGE010
对应的
Figure 201229DEST_PATH_IMAGE026
个存储地址以及对应的时间戳,存储节点
Figure 322900DEST_PATH_IMAGE004
根据对应的时间戳,计算获得当时使用的编址区间。通过多个编址方式,能够避免假地址多次重复出现而被识别,提高安全性。
作为优选,步骤A1)中,所述外部共识协议为所述存储节点
Figure 537980DEST_PATH_IMAGE004
分配多个编址区间之间存在重叠。编址重叠但实际指向地址不同,进一步增加数据的保密性和安全性。
作为优选,步骤A2)中,所述存储节点
Figure 361580DEST_PATH_IMAGE020
将自身存储空间划分为存储区、映射区、数据记录区和临时区,所述存储区被划分为若干个固定长度的存储空间,数据片段
Figure 749836DEST_PATH_IMAGE018
的长度为固定值,所述固定长度与数据片段
Figure 975281DEST_PATH_IMAGE018
的长度相同,所述映射区存储多个编址区间与物理存储地址的映射关系表,所述数据记录区用于存储数据标识
Figure 672847DEST_PATH_IMAGE012
以及所关联的
Figure 249322DEST_PATH_IMAGE026
个存储地址,所述临时区用于存储临时数据。联盟链节点
Figure 175690DEST_PATH_IMAGE002
执行所述外部共识协议时需要的临时数据存储在链数据存储区外的区域。
作为优选,步骤B2)中,所述外部共识协议依次将
Figure 458904DEST_PATH_IMAGE018
分发给所述存储节点
Figure 78104DEST_PATH_IMAGE004
,所述存储节点
Figure 627028DEST_PATH_IMAGE020
随机决定是否接收
Figure 357087DEST_PATH_IMAGE022
的方法包括:步骤B21)所述存储节点
Figure 557124DEST_PATH_IMAGE004
按顺序组成通信链,所述通信链首尾相连组成环形通信链;步骤B22)位于联盟链节点
Figure 347225DEST_PATH_IMAGE002
上的所述存储节点
Figure 835975DEST_PATH_IMAGE020
提交的待存储数据
Figure 356343DEST_PATH_IMAGE010
对应的
Figure 410887DEST_PATH_IMAGE018
,由所述存储节点
Figure 371889DEST_PATH_IMAGE020
发送给存储节点
Figure 100002_DEST_PATH_IMAGE034
,所述存储节点
Figure 426564DEST_PATH_IMAGE034
随机决定是否接收
Figure 498425DEST_PATH_IMAGE022
,若接收
Figure 673055DEST_PATH_IMAGE022
则为
Figure 742642DEST_PATH_IMAGE022
分配存储空间,若不接收
Figure 2722DEST_PATH_IMAGE022
则为
Figure 861963DEST_PATH_IMAGE022
分配假存储空间,并将对应存储地址与
Figure 891098DEST_PATH_IMAGE022
关联后发送给存储节点
Figure 100002_DEST_PATH_IMAGE036
;步骤B23)所述存储节点
Figure 459483DEST_PATH_IMAGE036
以同样的方式决定是否接收
Figure 223171DEST_PATH_IMAGE022
,并将对应存储地址添加到与
Figure 636835DEST_PATH_IMAGE022
关联的存储地址中后,发送给所述存储节点
Figure 100002_DEST_PATH_IMAGE038
,直至存储节点
Figure 100002_DEST_PATH_IMAGE040
将全部存储地址以及
Figure 786056DEST_PATH_IMAGE022
发送给所述存储节点
Figure 789258DEST_PATH_IMAGE020
作为优选,步骤B22)中,所述存储节点
Figure 758351DEST_PATH_IMAGE020
将数据片段
Figure 710127DEST_PATH_IMAGE022
发送给存储节点
Figure 917117DEST_PATH_IMAGE034
时,即生成关联地址集合,所述关联地址集合放置有
Figure 296146DEST_PATH_IMAGE006
个存储地址,
Figure 768847DEST_PATH_IMAGE006
个所述存储地址是由所述存储节点
Figure 524313DEST_PATH_IMAGE020
随机生成的;存储节点
Figure 585810DEST_PATH_IMAGE034
收到数据片段
Figure 401319DEST_PATH_IMAGE022
和关联地址集合后,所述存储节点
Figure 610584DEST_PATH_IMAGE034
随机决定是否接收
Figure 153429DEST_PATH_IMAGE022
,若接收
Figure 69433DEST_PATH_IMAGE022
则为
Figure 55843DEST_PATH_IMAGE022
分配存储空间,并将关联地址集合的第
Figure 100002_DEST_PATH_IMAGE042
个存储地址替换为所分配的存储空间,若不接收
Figure 283562DEST_PATH_IMAGE022
则为
Figure 584094DEST_PATH_IMAGE022
分配假存储空间,并将关联地址集合的第
Figure 902074DEST_PATH_IMAGE042
个存储地址替换为所分配的假存储空间。在数据片段
Figure 324965DEST_PATH_IMAGE022
发送给存储节点
Figure 243242DEST_PATH_IMAGE034
时,即生成关联地址集合,使得联盟链节点无法判断数据片段
Figure 81885DEST_PATH_IMAGE022
的起始发送节点,进一步提高保密性和安全性。假存储空间具有多个,假存储空间均赋有随机的值。
作为优选,步骤B2)中,所述外部共识协议设置监督机制,使得至少一个存储节点
Figure 34798DEST_PATH_IMAGE020
接收
Figure 615208DEST_PATH_IMAGE022
的方法包括:所述外部共识协议将
Figure 755202DEST_PATH_IMAGE022
分发给所述存储节点
Figure 459853DEST_PATH_IMAGE004
后,所述外部共识协议构建安全多方计算,所述安全多方计算输出结果为接收
Figure 204955DEST_PATH_IMAGE022
的存储节点
Figure 969649DEST_PATH_IMAGE020
的数量,若接收
Figure 347672DEST_PATH_IMAGE022
的存储节点
Figure 528117DEST_PATH_IMAGE004
的数量为0,则所述外部共识协议再次将
Figure 190043DEST_PATH_IMAGE022
分发给存储节点
Figure 860059DEST_PATH_IMAGE004
,而后构建安全多方计算,直至至少一个存储节点
Figure 240224DEST_PATH_IMAGE004
接收
Figure 224361DEST_PATH_IMAGE022
作为优选,步骤B2)中,所述外部共识协议设置监督机制,使得至少
Figure 100002_DEST_PATH_IMAGE044
个不同的存储节点
Figure 786798DEST_PATH_IMAGE020
接收
Figure 627715DEST_PATH_IMAGE022
,所述外部共识协议构建的安全多方计算输出接收
Figure 964019DEST_PATH_IMAGE022
的存储节点
Figure 564895DEST_PATH_IMAGE020
的数量不足
Figure 935834DEST_PATH_IMAGE044
个,则所述外部共识协议再次将
Figure 150915DEST_PATH_IMAGE022
分发给存储节点
Figure 974514DEST_PATH_IMAGE004
,而后构建安全多方计算,直至至少
Figure 628349DEST_PATH_IMAGE044
个存储节点
Figure 57057DEST_PATH_IMAGE004
接收
Figure 491974DEST_PATH_IMAGE022
。在联盟链节点最多有
Figure DEST_PATH_IMAGE046
个硬盘脱离时,仍然能够复原数据
Figure 865186DEST_PATH_IMAGE010
,不影响联盟链的运行。
本发明的实质性效果是:采用将数据
Figure 994816DEST_PATH_IMAGE010
分散到每个联盟链节点上的方式,只有全部联盟链节点均参与数据
Figure 74768DEST_PATH_IMAGE010
的复原才能获得数据
Figure 710279DEST_PATH_IMAGE010
,因而任何一个联盟链节点的硬盘,在联盟链内网环境外均无法复原数据
Figure 508471DEST_PATH_IMAGE010
,确保联盟链上的数据不被泄露;通过使得外部共识协议设置监督,使得至少预设个数个存储节点
Figure 972950DEST_PATH_IMAGE020
接收
Figure 376250DEST_PATH_IMAGE022
,能够在联盟链节点的一个或少于预设个数个硬盘脱离时,仍然能够复原数据
Figure 431931DEST_PATH_IMAGE010
,不影响联盟链的运行。
附图说明
图1为实施例一联盟链安全数据存取系统结构示意图。
图2为实施例一联盟链安全数据存储流程框图。
图3为实施例一存储节点接收数据的方法流程框图。
图4为实施例一联盟链安全数据取出流程框图。
图5为实施例一多方安全计算示意图。
图6为实施例二联盟链存储节点的编址示意图。
其中:100、联盟链节点,200、存取代理层,300、链数据存储区。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种用于联盟链的安全数据存取方法,包括以下步骤:
步骤A)构建存取代理层200:
如图1所示,在联盟链上发布外部共识协议,联盟链节点
Figure 701107DEST_PATH_IMAGE002
在自身存储设备上开辟链数据存储区300,外部共识协议接管链数据存储区300的数据存取权限,将链数据存储区300记为存储节点
Figure 438119DEST_PATH_IMAGE004
Figure 492662DEST_PATH_IMAGE006
为联盟链节点100数量,外部共识协议将存储节点
Figure 453665DEST_PATH_IMAGE004
的存储空间统一编址,并设置数据缓冲区
Figure 226449DEST_PATH_IMAGE008
,联盟链节点
Figure 49043DEST_PATH_IMAGE002
仅知晓自身的统一编址。
步骤B)数据存储:
如图2所示,数据
Figure 161355DEST_PATH_IMAGE010
存储过程包括:
步骤B1)联盟链节点
Figure 558838DEST_PATH_IMAGE002
向外部共识协议提交数据存储需求,待存储数据为
Figure 553339DEST_PATH_IMAGE010
Figure 632154DEST_PATH_IMAGE012
为数据标识,待存储数据为
Figure 661290DEST_PATH_IMAGE010
为已加密的数据,解密秘钥由联盟链节点
Figure 216292DEST_PATH_IMAGE002
保管,外部共识协议将
Figure 963668DEST_PATH_IMAGE010
末尾补零并等分为
Figure 580595DEST_PATH_IMAGE014
份,记为
Figure 464237DEST_PATH_IMAGE016
步骤B2)外部共识协议依次将
Figure 937944DEST_PATH_IMAGE018
分发给存储节点
Figure 657769DEST_PATH_IMAGE004
,存储节点
Figure 78386DEST_PATH_IMAGE020
随机决定是否接收
Figure 816535DEST_PATH_IMAGE022
,若存储节点
Figure 461143DEST_PATH_IMAGE020
接收
Figure 183111DEST_PATH_IMAGE022
,则返回真实存储地址给联盟链节点
Figure 187845DEST_PATH_IMAGE002
,若存储节点
Figure 249342DEST_PATH_IMAGE020
不接收
Figure 64851DEST_PATH_IMAGE022
,则返回假存储地址给联盟链节点
Figure 8537DEST_PATH_IMAGE002
,存储节点
Figure 567694DEST_PATH_IMAGE020
记录标识位记录是否接收了
Figure 483697DEST_PATH_IMAGE010
的数据片段
Figure 220840DEST_PATH_IMAGE022
,外部共识协议设置监督机制,使得至少一个存储节点
Figure 917401DEST_PATH_IMAGE020
接收
Figure 14670DEST_PATH_IMAGE022
步骤B3)联盟链节点
Figure 785180DEST_PATH_IMAGE002
针对每个数据片段
Figure 942492DEST_PATH_IMAGE022
均获得
Figure 101248DEST_PATH_IMAGE024
个真假均含的存储地址,待存储数据
Figure 2208DEST_PATH_IMAGE010
共对应
Figure 892803DEST_PATH_IMAGE026
个存储地址,联盟链节点
Figure 221016DEST_PATH_IMAGE002
将数据标识
Figure 626590DEST_PATH_IMAGE012
Figure 816394DEST_PATH_IMAGE026
个存储地址关联,联盟链节点
Figure 561496DEST_PATH_IMAGE002
将待存储数据为
Figure 60610DEST_PATH_IMAGE010
从其本地删除,完成数据存储。
步骤C)数据取出:
如图3所示,数据
Figure 953480DEST_PATH_IMAGE010
取出过程包括:
步骤C1)在联盟链上发布智能合约,联盟链节点
Figure 196243DEST_PATH_IMAGE002
向智能合约提交
Figure 107436DEST_PATH_IMAGE010
对应的
Figure 980714DEST_PATH_IMAGE026
个存储地址,联盟链节点
Figure 829721DEST_PATH_IMAGE002
构建安全多方计算;
步骤C2)联盟链节点将数据片段
Figure 141754DEST_PATH_IMAGE028
对应的
Figure 658186DEST_PATH_IMAGE006
个存储地址是否为真实存储地址的结果同步到智能合约,若为真实地址,则联盟链节点
Figure 702365DEST_PATH_IMAGE002
按相应存储地址取出一个数据放入数据缓冲区
Figure 789401DEST_PATH_IMAGE008
,而后获得下一个数据片段对应的
Figure 639545DEST_PATH_IMAGE006
个存储地址,重新执行本步骤,直到获得数据片段
Figure DEST_PATH_IMAGE048
,如图4所示;安全多方计算简称MPC。指的是用户在无需进行数据归集的情况下,完成数据协同计算,同时保护数据所有方的原始数据隐私。具体来说,有
Figure DEST_PATH_IMAGE050
个计算参与方,分别持有私有数据
Figure DEST_PATH_IMAGE052
,共同计算既定函数
Figure DEST_PATH_IMAGE054
。计算完成,得到正确计算结果,且参与各方除了自己的输入数据和输出结果外,无法获知任何额外有效信息。本实施例中,使用多方安全计算,获得每个数据片段后关联的n个存储地址的真假。由于地址的真假只有对应的存储节点
Figure 856156DEST_PATH_IMAGE020
,也即对应的联盟链节点
Figure 71237DEST_PATH_IMAGE002
存储有标志位,因而只有能够与全部,或者足够多的,真正存储有欲获得的数据片段的联盟链节点
Figure 160416DEST_PATH_IMAGE002
通信,才能够拿到数据片段,因而天然的导致任意一个联盟链节点100在脱离联盟链后,均无法复原任何数据,有效地保证了联盟链上隐私数据的安全性,避免了数据的外泄。
步骤C3)联盟链节点
Figure 548672DEST_PATH_IMAGE002
将数据缓冲区
Figure 242958DEST_PATH_IMAGE008
存储的
Figure 176410DEST_PATH_IMAGE032
拼接获得数据
Figure 752885DEST_PATH_IMAGE010
,将数据
Figure 679253DEST_PATH_IMAGE010
发送给联盟链节点
Figure 24784DEST_PATH_IMAGE002
,完成数据取出。本技术方案将数据
Figure 581667DEST_PATH_IMAGE010
分散到每个联盟链节点100上,只有全部联盟链节点100均参与数据
Figure 629126DEST_PATH_IMAGE010
的复原才能获得数据
Figure 624764DEST_PATH_IMAGE010
,因而任何一个联盟链节点100的硬盘,在联盟链内网环境外均无法复原数据
Figure 28063DEST_PATH_IMAGE010
。通过使得外部共识协议设置监督,使得至少预设个数个存储节点
Figure 552586DEST_PATH_IMAGE020
接收
Figure 103653DEST_PATH_IMAGE022
,能够在联盟链节点100的一个或少于预设个数个硬盘脱离时,仍然能够复原数据
Figure 388135DEST_PATH_IMAGE010
,不影响联盟链的运行。
步骤A2)中,存储节点
Figure 645941DEST_PATH_IMAGE020
将自身存储空间划分为存储区、映射区、数据记录区和临时区,存储区被划分为若干个固定长度的存储空间,数据片段
Figure 341364DEST_PATH_IMAGE018
的长度为固定值,固定长度与数据片段
Figure 379727DEST_PATH_IMAGE018
的长度相同,映射区存储多个编址区间与物理存储地址的映射关系表,数据记录区用于存储数据标识
Figure 451589DEST_PATH_IMAGE012
以及所关联的
Figure 563901DEST_PATH_IMAGE026
个存储地址,临时区用于存储临时数据。联盟链节点
Figure 948002DEST_PATH_IMAGE002
执行外部共识协议时需要的临时数据存储在链数据存储区300外的区域。
步骤B2)中,外部共识协议依次将
Figure 208082DEST_PATH_IMAGE018
分发给存储节点
Figure 83635DEST_PATH_IMAGE004
,存储节点
Figure 50454DEST_PATH_IMAGE020
随机决定是否接收
Figure 353259DEST_PATH_IMAGE022
的方法包括:步骤B21)存储节点
Figure 851368DEST_PATH_IMAGE004
按顺序组成通信链,通信链首尾相连组成环形通信链;步骤B22)位于联盟链节点
Figure 265031DEST_PATH_IMAGE002
上的存储节点
Figure 351936DEST_PATH_IMAGE020
提交的待存储数据
Figure 825643DEST_PATH_IMAGE010
对应的
Figure 60315DEST_PATH_IMAGE018
,由存储节点
Figure 526937DEST_PATH_IMAGE020
发送给存储节点
Figure 468348DEST_PATH_IMAGE034
,存储节点
Figure 112956DEST_PATH_IMAGE034
随机决定是否接收
Figure 834925DEST_PATH_IMAGE022
,若接收
Figure 590391DEST_PATH_IMAGE022
则为
Figure 651888DEST_PATH_IMAGE022
分配存储空间,若不接收
Figure 952551DEST_PATH_IMAGE022
则为
Figure 161815DEST_PATH_IMAGE022
分配假存储空间,并将对应存储地址与
Figure 720972DEST_PATH_IMAGE022
关联后发送给存储节点
Figure 636976DEST_PATH_IMAGE036
;步骤B23)存储节点
Figure 888965DEST_PATH_IMAGE036
以同样的方式决定是否接收
Figure 306565DEST_PATH_IMAGE022
,并将对应存储地址添加到与
Figure 403834DEST_PATH_IMAGE022
关联的存储地址中后,发送给存储节点
Figure DEST_PATH_IMAGE056
,直至存储节点
Figure 971081DEST_PATH_IMAGE040
将全部存储地址以及
Figure 393973DEST_PATH_IMAGE022
发送给存储节点
Figure 249933DEST_PATH_IMAGE020
步骤B22)中,存储节点
Figure 901625DEST_PATH_IMAGE020
将数据片段
Figure 854538DEST_PATH_IMAGE022
发送给存储节点
Figure 182751DEST_PATH_IMAGE034
时,即生成关联地址集合,关联地址集合放置有
Figure 526008DEST_PATH_IMAGE006
个存储地址,
Figure 965079DEST_PATH_IMAGE006
个存储地址是由存储节点
Figure 21766DEST_PATH_IMAGE020
随机生成的;存储节点
Figure 520880DEST_PATH_IMAGE034
收到数据片段
Figure 351433DEST_PATH_IMAGE022
和关联地址集合后,存储节点
Figure 594196DEST_PATH_IMAGE034
随机决定是否接收
Figure 256121DEST_PATH_IMAGE022
,若接收
Figure 676869DEST_PATH_IMAGE022
则为
Figure 994718DEST_PATH_IMAGE022
分配存储空间,并将关联地址集合的第
Figure 41172DEST_PATH_IMAGE042
个存储地址替换为所分配的存储空间,若不接收
Figure 557604DEST_PATH_IMAGE022
则为
Figure 398521DEST_PATH_IMAGE022
分配假存储空间,并将关联地址集合的第
Figure 203666DEST_PATH_IMAGE042
个存储地址替换为所分配的假存储空间。在数据片段
Figure 52147DEST_PATH_IMAGE022
发送给存储节点
Figure 423085DEST_PATH_IMAGE034
时,即生成关联地址集合,使得联盟链节点100无法判断数据片段
Figure 700483DEST_PATH_IMAGE022
的起始发送节点,进一步提高保密性和安全性。假存储空间具有多个,假存储空间均赋有随机的值。
步骤B2)中,外部共识协议设置监督机制,使得至少一个存储节点
Figure 789661DEST_PATH_IMAGE020
接收
Figure 115601DEST_PATH_IMAGE022
的方法包括:外部共识协议将
Figure 91778DEST_PATH_IMAGE022
分发给存储节点
Figure 805656DEST_PATH_IMAGE004
后,外部共识协议构建安全多方计算,安全多方计算输出结果为接收
Figure 116552DEST_PATH_IMAGE022
的存储节点
Figure 42919DEST_PATH_IMAGE020
的数量,若接收
Figure 591712DEST_PATH_IMAGE022
的存储节点
Figure 460180DEST_PATH_IMAGE004
的数量为0,则外部共识协议再次将
Figure 258372DEST_PATH_IMAGE022
分发给存储节点
Figure 191693DEST_PATH_IMAGE004
,而后构建安全多方计算,直至至少一个存储节点
Figure 391730DEST_PATH_IMAGE004
接收
Figure 916252DEST_PATH_IMAGE022
步骤B2)中,外部共识协议设置监督机制,使得至少
Figure 218052DEST_PATH_IMAGE044
个不同的存储节点
Figure 689484DEST_PATH_IMAGE020
接收
Figure 71924DEST_PATH_IMAGE022
,外部共识协议构建的安全多方计算输出接收
Figure 285124DEST_PATH_IMAGE022
的存储节点
Figure 57908DEST_PATH_IMAGE020
的数量不足
Figure 395349DEST_PATH_IMAGE044
个,则外部共识协议再次将
Figure 773240DEST_PATH_IMAGE022
分发给存储节点
Figure 655877DEST_PATH_IMAGE004
,而后构建安全多方计算,直至至少
Figure 915957DEST_PATH_IMAGE044
个存储节点
Figure 729192DEST_PATH_IMAGE004
接收
Figure 758328DEST_PATH_IMAGE022
。在联盟链节点100最多有
Figure 326712DEST_PATH_IMAGE046
个硬盘脱离时,仍然能够复原数据
Figure 11772DEST_PATH_IMAGE010
,不影响联盟链的运行。
本实施例的有益技术效果是:采用将数据
Figure 940282DEST_PATH_IMAGE010
分散到每个联盟链节点100上的方式,只有全部联盟链节点100均参与数据
Figure 823925DEST_PATH_IMAGE010
的复原才能获得数据
Figure 500894DEST_PATH_IMAGE010
,因而任何一个联盟链节点100的硬盘,在联盟链内网环境外均无法复原数据
Figure 735566DEST_PATH_IMAGE010
,确保联盟链上的数据不被泄露;通过使得外部共识协议设置监督,使得至少预设个数个存储节点
Figure 687341DEST_PATH_IMAGE020
接收
Figure 894332DEST_PATH_IMAGE022
,能够在联盟链节点100的一个或少于预设个数个硬盘脱离时,仍然能够复原数据
Figure 289672DEST_PATH_IMAGE010
,不影响联盟链的运行。
实施例二:
一种用于联盟链的安全数据存取方法,本实施例在实施例一的基础上,对存储节点
Figure 11641DEST_PATH_IMAGE004
的存储空间统一编址进行了改进,如图5所示,步骤A)中,外部共识协议将存储节点
Figure 970369DEST_PATH_IMAGE004
的存储空间统一编址的方法包括:步骤A1)外部共识协议根据存储节点
Figure 828604DEST_PATH_IMAGE004
的存储空间大小分配多个编址区间,每个编址区间均能索引存储节点
Figure 644113DEST_PATH_IMAGE004
的全部存储空间且有富余;步骤A2)存储节点
Figure 791061DEST_PATH_IMAGE004
从每个编址区间内随机抽取出部分编址作为假地址,作为假地址的编址指向同一个存储区域,其余编址指向真实存储区域;步骤A3)存储节点
Figure 602415DEST_PATH_IMAGE004
将多个编址区间编定顺序,并设置编址切换周期,每过一个切换周期,存储节点
Figure 580736DEST_PATH_IMAGE004
循环切换至下一个编址区间;步骤A4)联盟链节点
Figure 504829DEST_PATH_IMAGE002
将数据标识
Figure 201390DEST_PATH_IMAGE012
Figure 298659DEST_PATH_IMAGE026
个存储地址关联时,同时关联时间戳;步骤A5)在步骤C1)中,联盟链节点
Figure 334748DEST_PATH_IMAGE002
向外部共识协议提交数据
Figure 242792DEST_PATH_IMAGE010
取出需求时,联盟链节点
Figure 161070DEST_PATH_IMAGE002
向外部共识协议提交
Figure 265292DEST_PATH_IMAGE010
对应的
Figure 687046DEST_PATH_IMAGE026
个存储地址以及对应的时间戳,存储节点
Figure 280838DEST_PATH_IMAGE004
根据对应的时间戳,计算获得当时使用的编址区间。步骤A1)中,外部共识协议为存储节点
Figure 624095DEST_PATH_IMAGE004
分配多个编址区间之间存在重叠。相对于实施例一,本实施例提供的编址重叠但实际指向地址不同,进一步增加数据的保密性和安全性。
实施例三:
一种用于联盟链的安全数据存取方法,本实施例在实施例一的基础上,对参与数据
Figure 843593DEST_PATH_IMAGE010
存取的联盟链节点100进行了进一步的改进。本实施例中,联盟链节点
Figure 588695DEST_PATH_IMAGE002
向外部共识协议提交数据存储需求,待存储数据为
Figure 87809DEST_PATH_IMAGE010
,外部共识协议随机选取存储节点
Figure 980679DEST_PATH_IMAGE004
中的
Figure DEST_PATH_IMAGE058
个参与存储数据为
Figure 957862DEST_PATH_IMAGE010
,将参与的
Figure 370520DEST_PATH_IMAGE058
个存储节点
Figure 40536DEST_PATH_IMAGE020
以及它们的顺序采用表格形式记录,并与数据标识
Figure 358385DEST_PATH_IMAGE012
关联存储在联盟链节点
Figure 404838DEST_PATH_IMAGE002
对应的存储节点
Figure 124532DEST_PATH_IMAGE020
上,在联盟链节点
Figure 965449DEST_PATH_IMAGE002
需要复原数据
Figure 819529DEST_PATH_IMAGE010
时,根据表格记录的
Figure 669674DEST_PATH_IMAGE058
个存储节点
Figure 243874DEST_PATH_IMAGE020
以及它们的顺序,构建安全多方计算,获得复原的数据
Figure 255693DEST_PATH_IMAGE010
,完成数据
Figure 344872DEST_PATH_IMAGE010
的存取。本实施例记载技术方案适合节点较多的联盟链的数据存取。在同一时间,联盟链上可以存在多组存储节点的组合,并同时进行多个数据的存取。提高联盟链数据存取的效率,同时也能够保证联盟链数据的隐私性。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (7)

1.一种用于联盟链的安全数据存取方法,其特征在于,
包括以下步骤:
步骤A)构建存取代理层:
在联盟链上发布外部共识协议,联盟链节点
Figure DEST_PATH_IMAGE002
在自身存储设备上开辟链数据存储区,所述外部共识协议接管所述链数据存储区的数据存取权限,将所述链数据存储区记为存储节点
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE006
为联盟链节点数量,所述外部共识协议将所述存储节点
Figure DEST_PATH_IMAGE008
的存储空间统一编址,并设置数据缓冲区
Figure DEST_PATH_IMAGE010
,联盟链节点
Figure 394238DEST_PATH_IMAGE002
仅知晓自身的统一编址;
步骤B)数据存储:
步骤B1)联盟链节点
Figure 45799DEST_PATH_IMAGE002
向所述外部共识协议提交数据存储需求,待存储数据为
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE014
为数据标识,所述待存储数据为
Figure 419011DEST_PATH_IMAGE012
为已加密的数据,解密秘钥由联盟链节点
Figure 735592DEST_PATH_IMAGE002
保管,外部共识协议将
Figure 18806DEST_PATH_IMAGE012
末尾补零并等分为
Figure DEST_PATH_IMAGE016
份,记为
Figure DEST_PATH_IMAGE018
步骤B2)所述外部共识协议依次将
Figure DEST_PATH_IMAGE020
分发给存储节点
Figure 361975DEST_PATH_IMAGE008
,存储节点
Figure 301112DEST_PATH_IMAGE008
随机决定是否接收
Figure DEST_PATH_IMAGE022
,若所述存储节点
Figure 624646DEST_PATH_IMAGE008
接收
Figure 277213DEST_PATH_IMAGE022
,则返回真实存储地址给联盟链节点
Figure 739418DEST_PATH_IMAGE002
,若所述存储节点
Figure 165851DEST_PATH_IMAGE008
不接收
Figure 886552DEST_PATH_IMAGE022
,则返回假存储地址给联盟链节点
Figure 82041DEST_PATH_IMAGE002
,所述存储节点
Figure 246306DEST_PATH_IMAGE008
记录标识位记录是否接收了
Figure 206040DEST_PATH_IMAGE012
的数据片段
Figure 153268DEST_PATH_IMAGE022
,所述外部共识协议设置监督机制,使得至少一个存储节点
Figure 531160DEST_PATH_IMAGE008
接收
Figure 584435DEST_PATH_IMAGE022
步骤B3)联盟链节点
Figure 985461DEST_PATH_IMAGE002
针对每个数据片段
Figure 798696DEST_PATH_IMAGE022
均获得
Figure DEST_PATH_IMAGE024
个真假均含的存储地址,待存储数据
Figure 155728DEST_PATH_IMAGE012
共对应
Figure DEST_PATH_IMAGE026
个存储地址,联盟链节点
Figure 848746DEST_PATH_IMAGE002
将数据标识
Figure 738334DEST_PATH_IMAGE014
Figure 355260DEST_PATH_IMAGE026
个存储地址关联,联盟链节点
Figure 176586DEST_PATH_IMAGE002
将所述待存储数据为
Figure 40506DEST_PATH_IMAGE012
从其本地删除,完成数据存储;
步骤C)数据取出:
步骤C1)在联盟链上发布智能合约,联盟链节点
Figure 212861DEST_PATH_IMAGE002
向智能合约提交
Figure 305582DEST_PATH_IMAGE012
对应的
Figure 496261DEST_PATH_IMAGE026
个存储地址;
步骤C2)联盟链节点依次将数据片段
Figure DEST_PATH_IMAGE028
对应的
Figure 16235DEST_PATH_IMAGE006
个存储地址是否为真实存储地址的结果同步到智能合约,若为真实地址,则联盟链节点
Figure 659575DEST_PATH_IMAGE002
按相应存储地址取出一个数据放入所述数据缓冲区
Figure 618303DEST_PATH_IMAGE010
,而后获得下一个数据片段对应的
Figure 351904DEST_PATH_IMAGE006
个存储地址,重新执行本步骤,直到获得数据片段
Figure DEST_PATH_IMAGE030
步骤C3)联盟链节点
Figure 760889DEST_PATH_IMAGE002
将数据缓冲区
Figure 157104DEST_PATH_IMAGE010
存储的
Figure DEST_PATH_IMAGE032
拼接获得数据
Figure 309736DEST_PATH_IMAGE012
,将数据
Figure 960161DEST_PATH_IMAGE012
发送给联盟链节点
Figure 821937DEST_PATH_IMAGE002
,完成数据取出。
2.根据权利要求1所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤A)中,所述外部共识协议将所述存储节点
Figure 705449DEST_PATH_IMAGE008
的存储空间统一编址的方法包括:
步骤A1)所述外部共识协议根据所述存储节点
Figure 943663DEST_PATH_IMAGE008
的存储空间大小分配多个编址区间,每个编址区间均能索引所述存储节点
Figure 714173DEST_PATH_IMAGE008
的全部存储空间且有富余;
步骤A2)所述存储节点
Figure 64295DEST_PATH_IMAGE008
从每个编址区间内随机抽取出部分编址作为假地址,作为假地址的编址指向同一个存储区域,其余编址指向真实存储区域;
步骤A3)所述存储节点
Figure 123518DEST_PATH_IMAGE008
将多个所述编址区间编定顺序,并设置编址切换周期,每过一个切换周期,存储节点
Figure 227740DEST_PATH_IMAGE008
循环切换至下一个编址区间;
步骤A4)联盟链节点
Figure 836445DEST_PATH_IMAGE002
将数据标识
Figure 305603DEST_PATH_IMAGE014
Figure 648860DEST_PATH_IMAGE026
个存储地址关联时,同时关联时间戳;
步骤A5)步骤C1)中,联盟链节点
Figure 540462DEST_PATH_IMAGE002
向所述外部共识协议提交数据
Figure 223247DEST_PATH_IMAGE012
取出需求时,联盟链节点
Figure 925624DEST_PATH_IMAGE002
向所述外部共识协议提交
Figure 943127DEST_PATH_IMAGE012
对应的
Figure 123573DEST_PATH_IMAGE026
个存储地址以及对应的时间戳,存储节点
Figure 723181DEST_PATH_IMAGE008
根据对应的时间戳,计算获得当时使用的编址区间。
3.根据权利要求2所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤A1)中,所述外部共识协议为所述存储节点
Figure 783410DEST_PATH_IMAGE008
分配多个编址区间之间存在重叠。
4.根据权利要求1或2或3所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤B2)中,所述外部共识协议依次将
Figure 101259DEST_PATH_IMAGE020
分发给存储节点
Figure 272346DEST_PATH_IMAGE008
,存储节点
Figure 992040DEST_PATH_IMAGE008
随机决定是否接收
Figure 973903DEST_PATH_IMAGE022
的方法包括:
步骤B21)所述存储节点
Figure 762736DEST_PATH_IMAGE008
按顺序组成通信链,所述通信链首尾相连组成环形通信链;步骤B22)位于联盟链节点
Figure 550564DEST_PATH_IMAGE002
上的所述存储节点
Figure 62447DEST_PATH_IMAGE008
提交的待存储数据
Figure 730058DEST_PATH_IMAGE012
对应的
Figure 756920DEST_PATH_IMAGE020
,由所述存储节点
Figure 82859DEST_PATH_IMAGE008
发送给存储节点
Figure DEST_PATH_IMAGE034
,所述存储节点
Figure 614029DEST_PATH_IMAGE034
随机决定是否接收
Figure 937694DEST_PATH_IMAGE022
,若接收
Figure 451852DEST_PATH_IMAGE022
则为
Figure 830750DEST_PATH_IMAGE022
分配存储空间,若不接收
Figure 848384DEST_PATH_IMAGE022
则为
Figure 608530DEST_PATH_IMAGE022
分配假存储空间,并将对应存储地址与
Figure 593672DEST_PATH_IMAGE022
关联后发送给存储节点
Figure DEST_PATH_IMAGE036
步骤B23)所述存储节点
Figure 464676DEST_PATH_IMAGE036
以同样的方式决定是否接收
Figure 586085DEST_PATH_IMAGE022
,并将对应存储地址添加到与
Figure 517132DEST_PATH_IMAGE022
关联的存储地址中后,发送给存储节点
Figure DEST_PATH_IMAGE038
,直至存储节点
Figure DEST_PATH_IMAGE040
将全部存储地址以及
Figure 661674DEST_PATH_IMAGE022
发送给所述存储节点
Figure 320058DEST_PATH_IMAGE008
5.根据权利要求4所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤B22)中,所述存储节点
Figure 312284DEST_PATH_IMAGE008
将数据片段
Figure 476550DEST_PATH_IMAGE022
发送给存储节点
Figure 373967DEST_PATH_IMAGE034
时,即生成关联地址集合,关联地址集合放置有
Figure 383512DEST_PATH_IMAGE006
个存储地址,
Figure 761403DEST_PATH_IMAGE006
个所述存储地址是由所述存储节点
Figure 565411DEST_PATH_IMAGE008
随机生成的;
存储节点
Figure 221564DEST_PATH_IMAGE034
收到数据片段
Figure 769220DEST_PATH_IMAGE022
和关联地址集合后,所述存储节点
Figure 1618DEST_PATH_IMAGE034
随机决定是否接收
Figure 225795DEST_PATH_IMAGE022
,若接收
Figure 114116DEST_PATH_IMAGE022
则为
Figure 465463DEST_PATH_IMAGE022
分配存储空间,并将关联地址集合的第
Figure DEST_PATH_IMAGE042
个存储地址替换为所分配的存储空间,若不接收
Figure 208160DEST_PATH_IMAGE022
则为
Figure 868817DEST_PATH_IMAGE022
分配假存储空间,并将所述关联地址集合的第
Figure 978856DEST_PATH_IMAGE042
个存储地址替换为所分配的假存储空间。
6.根据权利要求1或2或3所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤B2)中,所述外部共识协议设置监督机制,使得至少一个存储节点
Figure 868315DEST_PATH_IMAGE008
接收
Figure 324573DEST_PATH_IMAGE022
的方法包括:
所述外部共识协议将
Figure 844547DEST_PATH_IMAGE022
分发给存储节点
Figure 238619DEST_PATH_IMAGE008
后,所述外部共识协议构建安全多方计算,所述安全多方计算输出结果为接收
Figure 446615DEST_PATH_IMAGE022
的存储节点
Figure 445795DEST_PATH_IMAGE008
的数量,若接收
Figure 198988DEST_PATH_IMAGE022
的存储节点
Figure 329624DEST_PATH_IMAGE008
的数量为0,则所述外部共识协议再次将
Figure 826464DEST_PATH_IMAGE022
分发给存储节点
Figure 680150DEST_PATH_IMAGE008
,而后构建安全多方计算,直至至少一个存储节点
Figure 853512DEST_PATH_IMAGE008
接收
Figure 487755DEST_PATH_IMAGE022
7.根据权利要求6所述的一种用于联盟链的安全数据存取方法,其特征在于,
步骤B2)中,所述外部共识协议设置监督机制,使得至少
Figure DEST_PATH_IMAGE044
个不同的存储节点
Figure 196078DEST_PATH_IMAGE008
接收
Figure 904271DEST_PATH_IMAGE022
Figure 514113DEST_PATH_IMAGE044
为常数,表示存储节点
Figure 573335DEST_PATH_IMAGE008
的数量,所述外部共识协议构建的安全多方计算输出接收
Figure 146399DEST_PATH_IMAGE022
的存储节点
Figure 286262DEST_PATH_IMAGE008
的数量不足
Figure 552159DEST_PATH_IMAGE044
个,则所述外部共识协议再次将
Figure 833098DEST_PATH_IMAGE022
分发给存储节点
Figure 724700DEST_PATH_IMAGE008
,而后构建安全多方计算,直至至少
Figure 469802DEST_PATH_IMAGE044
个存储节点
Figure 906600DEST_PATH_IMAGE008
接收
Figure 924103DEST_PATH_IMAGE022
CN202110242433.8A 2021-03-05 2021-03-05 一种用于联盟链的安全数据存取方法 Active CN112597526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110242433.8A CN112597526B (zh) 2021-03-05 2021-03-05 一种用于联盟链的安全数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110242433.8A CN112597526B (zh) 2021-03-05 2021-03-05 一种用于联盟链的安全数据存取方法

Publications (2)

Publication Number Publication Date
CN112597526A CN112597526A (zh) 2021-04-02
CN112597526B true CN112597526B (zh) 2021-06-08

Family

ID=75210217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110242433.8A Active CN112597526B (zh) 2021-03-05 2021-03-05 一种用于联盟链的安全数据存取方法

Country Status (1)

Country Link
CN (1) CN112597526B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804365B (zh) * 2021-04-14 2021-07-13 浙江数秦科技有限公司 一种用于安全多方计算的隐私数据分发方法
CN112995221B (zh) * 2021-05-08 2021-07-23 浙江数秦科技有限公司 一种联盟链安全多方计算方法
CN113377768B (zh) * 2021-06-02 2022-07-15 浙江数秦科技有限公司 一种基于联盟链的分布式账本存取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545419A (zh) * 2017-07-19 2018-01-05 招商银行股份有限公司 汇款处理方法、系统及计算机可读存储介质
CN108364229A (zh) * 2018-01-19 2018-08-03 阿里巴巴集团控股有限公司 资金流转方法及装置、电子设备
US10824999B2 (en) * 2015-08-13 2020-11-03 The Toronto-Dominion Bank Systems and methods for implementing hybrid public-private block-chain ledgers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824999B2 (en) * 2015-08-13 2020-11-03 The Toronto-Dominion Bank Systems and methods for implementing hybrid public-private block-chain ledgers
CN107545419A (zh) * 2017-07-19 2018-01-05 招商银行股份有限公司 汇款处理方法、系统及计算机可读存储介质
CN108364229A (zh) * 2018-01-19 2018-08-03 阿里巴巴集团控股有限公司 资金流转方法及装置、电子设备

Also Published As

Publication number Publication date
CN112597526A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112597526B (zh) 一种用于联盟链的安全数据存取方法
US11316668B2 (en) Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
CN108900533B (zh) 一种共享数据隐私保护方法、系统、终端及介质
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110581860B (zh) 基于区块链的身份认证方法、装置、存储介质和设备
CN110502916B (zh) 一种基于区块链的敏感性数据处理方法与系统
CN111008228A (zh) 区块链中账户隐私信息的查询方法及装置
CN111556120B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
US8756415B2 (en) Memory device, host device, and memory system
US20210044574A1 (en) Method and system for encrypted communication between devices by using block chain system
CN112784306B (zh) 一种基于密钥分片多签的跨链托管方法及系统
CN109543443A (zh) 基于区块链的用户数据管理方法、装置、设备和存储介质
KR20200133881A (ko) 분산 환경에서의 신원 인증 방법
CN112995221B (zh) 一种联盟链安全多方计算方法
CN110191153A (zh) 基于区块链的社交通信方法
WO2020224138A1 (zh) 一种基于区块链技术的多方授权方法及装置
CN110135175A (zh) 基于区块链的信息处理、获取方法、装置、设备及介质
CN115314321B (zh) 基于区块链无需安全通道的可搜索加密方法
CN113301018B (zh) 一种基于联盟链的数据共享方法
CN105637801A (zh) 多形态加密密钥矩阵
CN105847009A (zh) 一种满足后向安全的rfid双向认证方法
GB2587438A (en) Key generation for use in secured communication
CN115001730A (zh) 分布式场景下基于角色属性的访问控制系统及方法
CN109918451A (zh) 基于区块链的数据库管理方法及系统
CN110019463A (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