CN112115101B - 一种云存储中数据的确定性删除方法及系统 - Google Patents

一种云存储中数据的确定性删除方法及系统 Download PDF

Info

Publication number
CN112115101B
CN112115101B CN201910536547.6A CN201910536547A CN112115101B CN 112115101 B CN112115101 B CN 112115101B CN 201910536547 A CN201910536547 A CN 201910536547A CN 112115101 B CN112115101 B CN 112115101B
Authority
CN
China
Prior art keywords
block
cloud
verifiable
overwriting
seed
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
CN201910536547.6A
Other languages
English (en)
Other versions
CN112115101A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201910536547.6A priority Critical patent/CN112115101B/zh
Publication of CN112115101A publication Critical patent/CN112115101A/zh
Application granted granted Critical
Publication of CN112115101B publication Critical patent/CN112115101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Abstract

本发明公开了一种云存储中数据的确定性删除方法及系统,其步骤包括:1)云端检查用户发送的确定性删除指令的合法性;若合法,则删除对应链接,并将指令转发给区块链网络,进行步骤2);否则拒绝执行该指令;2)区块链网络根据该指令触发对应的智能合约,并生成一覆写种子发送给云端;3)云端根据该覆写种子按照智能合约与约定的覆写规则对该指令中指定的数据块进行覆写;4)区块链网络选取可验证块对云端发起删除验证的挑战;5)云端为被挑战的可验证块生成同态可验证标签,并将其作为覆写的证据返回给区块链网络;6)区块链网络根据覆写种子生成的覆写基本值和覆写规则对云端返回证据进行验证,并将验证过程和结果记录在区块链网络中。

Description

一种云存储中数据的确定性删除方法及系统
技术领域
本发明属于云存储和数据确定性删除领域,涉及一种采用区块链技术和数据完整性证明思想的云端数据的可验证、可追踪的确定性删除方法—PTAD(Provable andTraceable Assured Deletion)。该发明提出了一种方法:用户在云端删除数据时,可验证云端是否按照等级规范协议(SLA)或云与用户的双方约定对数据进行删除,并得到确定性的验证结果。
背景技术
如今,相比较于传统的存储方式,云存储因其按需付费、可靠、可扩展、价格低廉、节约运维成本等显著的优势得到了广泛的应用。云存储用户涵盖了各行各业,其中不乏一些对数据敏感的单位,如政府机关、银行、医院等。然而,由于用户将数据托管到云端进行存储,用户丧失了对数据的直接控制权,无法有效地监管和限制其他人对于数据的窥探和使用,尤其是对于用户已经“删除”的数据。当用户对数据进行删除后,被删除的数据应该不能够再被任何人以任何方式获取,用户不必担心已删除的数据被窥探或利用,即确定性删除。
然而现在云平台采取的删除方式普遍为一种高效的删除方式—基于链接的删除。在存储单元被重分配前,用户的数据仍留存在云端,这是一种不完全的删除方式。删除链接的删除方式远不能满足用户对于数据确定性删除的安全需求。相比较于删除链接,对原数据进行覆写是一种彻底的删除方式,减小了数据暴露给攻击者的可能性,却增加了一定的开销。对于那些安全需求较高的用户,云端可以将确定性的删除作为一项付费服务提供给用户。
云端对用户数据的删除操作是透明的,即用户并不知道云端在底层对用户文件删除的具体方式。云端在执行删除命令之后仅会返回给用户成功(“1”)或失败(“0”),被称之为1bit返回协议。用户不能完全信赖商业性的云服务提供商不会侵害自身的权益,但也无法追踪云端执行删除操作的具体过程。同时,云端无法向用户提供可信的删除证明,也无法信任用户不会伪造证据或利用漏洞来恶意的索求云端的赔偿。因此,提供一个有效的并且能够使双方信任的确定性删除方案对用户和云平台来说都是十分重要的。
针对云存储场景下用户数据的确定性删除问题,大多数方案采用了基于数据加密的思想进行解决。Tang等人提出一种结合访问控制的确定性删除方案,将数据进行加密,将加密数据存储至云端,并将密钥保存至可信第三方。只有符合相关策略的用户才能访问到数据,即便云平台没有将数据进行彻底的删除,攻击者也无法从云端获取到数据明文。通过对数据的密钥的删除,相当于实现了文件的确定性删除。
Hao等人也基于加密的思想提出了一种Trusted-but-verified的确定性删除方案。方案使用可信硬件TPM对数据进行加密,并保管加密密钥。通过公钥加密算法和零知识验证来检验TPM是否采用了正确的密钥对数据进行加密,再由TPM删除密钥并给出确定性删除的承诺,间接的保证了数据的安全删除。但基于加密的数据删除方案并没实现数据的真正删除。数据仍真实的存储在硬盘上。方案的关键在于密钥的管理与破坏,当攻击者以某种手段获取到密钥时,仍可恢复未被真正删除的数据。对数据进行加密的阶段往往会在客户端进行,给用户增加大量的额外的开销。保证磁盘上的数据不可被恢复的最安全的方式是进行物理破坏。通过对硬盘上的数据进行覆写也会增加数据恢复的难度,目前对已覆写的文件进行恢复几乎不能实现。使用覆写的方式来保证用户不希望存在的数据被删除且不可被恢复是最有效的方式之一。若云端采用覆写的方式进行删除,对于用户来说,整个过程仍然是透明的,基于覆写的删除操作仍然是一个黑盒操作。
为解决覆写删除的可验证的问题,Paul等人提出了“擦除证明”(PoE)方案。主程序使用随机图纹对待删除数据所在的磁盘空间进行覆写,之后返回同样的图纹以此来证明已对数据进行了删除和覆写。Perito等人之后提出了“安全擦除证明”(PoSE-s)实现了在嵌入式设备上的可证明的删除方案。这两种方式均不支持公开验证。Luo等人针对云存储的数据删除,基于覆写的方式采用数据完整性检验的思想来检查云端是否按照要求进行了正确的覆写。Luo的方案需要用户充当验证者,对云端返回的证据进行验证并根据返回证据的时间对云端的覆写行为进行判断。该方案的验证过程依赖用户在线,增大了用户的开销和等待时间。
总的来说,云存储中的数据脱离了用户的直接控制,尤其是用户已经要求删除的数据。云端基于对性能的考虑往往采用取消链接的方式,数据在重分配和重写之前仍保存在磁盘上,这增加了用户数据给攻击者的暴露面。覆写的方式将原数据覆盖在新数据之下,降低了原数据被恶意者恢复和利用的可能性。然而,删除链接和覆写这两种方式对于用户来说都是黑盒操作,云端无法向用户提供确定性删除的证明和可信的删除相关的信息。
数据的完整性证明能够识别存储在云端的数据和用户原始数据的一致性。其中,数据持有性证明(PDP)是一类有效的检测方法。该方案不需要将存储在云端的数据取回,方案通过云端与验证者之间的挑战/应答交互来证明和验证数据是否被损坏。对于块文件系统,数据以数据块的形式进行存储(不同的块文件系统的数据存储基本单元的名称略有差别,本发明统一称之为数据块)。通过将数据分块并为其计算同态可验证标签,验证者随机选取数据块进行挑战,证明者返回相应数据块的同态可验证标签作为应答,验证者根据证明者返回的同态可验证标签进行验证,此方案被证明能够以很高的概率检测出远程存储的数据块的完整性。
数据删除的确定性的验证不仅要依赖于安全的检测算法,还依赖于可靠验证者。集中式的第三方验证很难保证不会单点失效或者单点腐败,去中心化的区块链技术增加了第三方验证者的可信度。当区块链中的智能合约被触发后,智能合约将忠实的自动执行合约中的代码。区块链的链式结构、去中心化和共识机制,保证了区块链中的数据不可被篡改和可追溯。攻击者很难攻破区块链中的大部分节点,区块链因其特性可作为数据删除验证的第三方验证者。
发明内容
针对云存储中数据是否被删除无法证明和检测的问题,本发明提出一种云存储中可验证的可追溯的确定性删除方案(Provable and Traceable Assured Deletion inCloud Storage,即PTAD),本发明采用数据完整性证明思想和区块链技术实现了云端删除的可验证和可追溯。方案利用数据完整性证明算法来验证覆写操作,采用区块链技术中的智能合约自动执行覆写验证的算法,并将验证过程中的挑战/应答和验证的结果记录在去中心化的区块链中。该方案结合了区块链技术和数据完整性技术的优势,实现文件删除的不可恢复性、可验证性、可追踪性以及云平台与用户的双赢。
本发明构建了一个具备智能合约功能的区块链网络,借助智能合约(Hyperledgerfabric称之为“链码”)中自动执行的代码对云端进行确定性删除的挑战/应答,并将验证过程和结果记录在区块链网络的账本中。智能合约代码由采用数据持有性证明(PDP)思想的算法实现,以验证云端是否按照指定的规则在应覆写的位置进行了正确的覆写操作。本发明分为三个阶段,分别是删除链接、覆写和验证阶段,代表了高效删除、确定删除和验证删除三种递进的程度。使用区块链对云端删除的数据块进行抽样验证,将用户从繁重的计算任务中解放出来,并将验证结果记录在不可篡改的区块链账本中。
相比较于传统的删除链接的删除方式,本发明不需要用户在本地进行加密或删除验证等操作,通过查询公开账本即可以获得链接删除阶段、覆写完成阶段和确定性删除阶段的删除结果。这也是首次实现了几乎不增加用户额外开销的可验证可追溯的确定性删除方案。
符号定义:
Figure BDA0002101324710000031
F是用户待删除的文件F,F*是文件F的属性。
Figure BDA0002101324710000032
tu是用户u对文件F的数字签名时间。
Figure BDA0002101324710000033
H(bp)是区块链中前一个块头bp的哈希值。
Figure BDA0002101324710000034
N是两个大素数的乘积。
Figure BDA0002101324710000041
g是QRN的生成元。
Figure BDA0002101324710000042
(B1,B2,…,Bn)是第一个数据块B1,第二个数据块B2,…,第n个数据块Bn等一系列数据块id的集合。
Figure BDA0002101324710000043
Bsize是块文件系统中的数据块大小。
Figure BDA0002101324710000044
bsize是可验证块的大小,须能被Bsize整除。
Figure BDA0002101324710000045
Upk是RSA中用户的公钥、Usk是RSA中用户的私钥、Cpk是RSA中云端的公钥、Csk是RSA中云端的私钥。
Figure BDA0002101324710000046
H是哈希函数。
Figure BDA0002101324710000047
π是伪随机置换函数PRP(Pseudo-Random Permutation)。
Figure BDA0002101324710000048
mi是第i个可验证块。
本系统的主要组成:
云存储系统模型由三部分组成,如图1所示:
1)用户:用户是云储存服务的使用者,可以是个人或者组织。
2)云服务提供商(CSP):CSP为用户提供云存储、云计算等云服务。根据等级服务协议,CSP对用户的数据提供相应的可用性和安全性等保障。
3)验证者:验证者在用户和云端的权责评判时,担任一个公立可信的角色。本方案使用Hyperledger Fabric进行实验测量。
本发明的技术方案为:
一种应用在云存储的可验证可追踪的数据确定性删除方法,其步骤为:
(1)用户可以在任意时刻对所属文件的详细信息进行查询。当用户希望将原数据进行确定性删除时,用户向云端发出签名的对该数据进行确定性删除指令。
(2)云端检查用户发送的确定性删除指令的合法性。被用户进行公钥签名的确定性删除指令为合法指令。若合法,则执行删除该确定性删除指令中待删除文件对应链接的操作,并将用户的确定性删除指令转发给区块链网络。区块链网络用来执行智能合约,当区块链网络收到云端转发的确定性删除指令后触发对应的智能合约,即合法的用户指令将会触发智能合约的自动执行,若用户指令不合法,云端将为用户生成不合法指令的信息。
(3)云端在完成删除链接后,返回给用户已完成链接删除的信息并将进行确定性删除的承诺。用户可存储云端返回的承诺作为未来追责的证据。若用户的确定性删除指令不合法,云端返回给用户的信息是指令不合法。
(3`)以下的操作将为异步执行的后台操作,用户对以下过程无感知,不需要等待或执行操作。一旦智能合约被触发,智能合约通过共识生成一致的覆写种子并将其传送给云端。智能合约是搭载在区块链网络的每一个节点上,由区块链中各结点达成共识生成。
(4)云端根据从区块链处接收的覆写种子按照智能合约与约定的覆写规则对原数据块(即确定性删除指令中的指定区域)进行覆写。
(5)数据块是块文件系统存储的基本单元,数据以块的形式存储于物理介质。可验证块由数据块分割而成,是逻辑上的验证基本单元。区块链网络从应已被覆写的数据块中随机选取可验证块对云端发起删除验证的挑战。
(6)云端对区块链网络生成的挑战进行应答。云端为被挑战的可验证块生成同态可验证标签,并将其作为覆写的证据返回给区块链网络。
(7)区块链网络结合之前由覆写种子生成的覆写基本值(覆写基本值是根据覆写种子产生的伪随机数)和覆写规则对云端返回的证据进行验证(生成可验证块的同态标签,然后与收到的标签进行比较),并将验证的过程和结果记录在区块链网络中。
(8)区块链网络节点上的账本记录着验证的过程和结果,节点可建立公开网站公开上述验证结果。用户可以根据文件信息,在任意节点上建立的公开网站对原数据的确定性删除进行查询。
(9)网站将原数据的删除过程和验证结果返回给用户,此结果作为评判云端和用户是否按照等级服务协议履行职责的依据。
方案可行性的概率证明:
在验证阶段,本发明抽取部分验证块进行验证,而不是对所有的验证块计算和验证。假设文件F在云端被分为n个可验证块,其中有t个错误的(没有正确的进行覆写的)可验证块。则在挑战中区块链为c个可验证块生成标签,云端为(n-c)个可验证块生成标签。随机变量X是验证者选取的可验证块中没有被正确覆写的可验证块的数量。P(X)是发现云端没有遵循约定对数据块进行覆写的概率。
Figure BDA0002101324710000051
Figure BDA0002101324710000061
由:
Figure BDA0002101324710000062
可得:
Figure BDA0002101324710000063
方案的算法描述:
本方案流程如图2所示,主要包含三个阶段:删除链接阶段、覆写阶段、验证阶段。查询文件信息QueryInfo,发出删除命令DelCmd,取消链接UnlinkDel,验证删除命令TransDel的工作在删除链接阶段完成。覆写阶段由生成覆写种子SeedGen,覆写Overwriting和计算块标签TagBlock组成。验证阶段由生成挑战GenChal,计算证据GenProof,和验证证据CheckProof组成。下面详细说明上述算法。
删除链接阶段:
QueryInfo(′query′,Fname):
1)搜索文件F的详细信息,包括文件大小,数据块大小和数据块ID。
2)输出详细的文件信息Finfo(Fname,Fsize,Bsize,B1,…,Bn)。
DelCmd(1k,′assureddeletion′,Finfo):
1)用户端生成一对RSA体系的非对称密钥对(Upk,Usk)。
2)用户端在tu时刻使用(Upk,Usk),对文件F进行签名,得到
Figure BDA0002101324710000064
并输出。
UnlinkDel(1k,Fname,A):
1)用户端生成一对RSA体系的非对称密钥对(Cpk,Csk)。
2)根据Upk验证A是否合法。如果合法,删除链接并且输出承诺
Figure BDA0002101324710000065
如果不合法,直接输出承诺
Figure BDA0002101324710000066
TransDel(A):
如果命令A是合法的,发送A,否则返回用户指令A为不合法的信息。
覆写阶段:
SeedGen(H(bp),Bsize):
1)区块链网络根据区块链中当前即将生成的新数据块的前一个数据块的块头的哈希值H(bp)生成种子seed0=H(bp)。块头记录的信息包括软件的版本号、前一个块的哈希值、Merkle树的根哈希值、世界时间等信息。
2)设定用于打标签和验证的验证块的大小bsize
3)计算两个大素数的乘积N,以及选取g作为模N的二次剩余集QRN的生成元。
4)输出((N,g),seed0,bsize)。
Overwriting(seed0,bsize,Bsize):
1)设置可验证块的大小bsize
2)计算s=Bsize/bsize
3)计算可验证块的数量n=[Fsize/bsize]。
4)对于块i(1≤i≤n):
·对第i个可验证块,计算种子seedi=H(seed0||i)
·通过随机数生成算法R计算第i个可验证块的覆写内容mi=R(seedi),覆盖待删除文件F的存储区域。
TagBlock(Key,A,k,n,m,s):
1)对于块i(1≤i≤n):
·找到第i个可验证块的id,即B[(i+1)/s]
·找出用户请求删除的时刻tu
·计算bi=i||B[(i+1)/s]||tu
·计算同态可验证标签Ti,m=H(bi)·gmmodN,其中m是可验证块覆写内容的集合。
2)计算总标签
Figure BDA0002101324710000071
并输出。
验证阶段:
GenChal(1k):
1)区块链网络通过随机数生成算法生成随机数c和安全参数k。
2)输出挑战chal(c,k)。
GenProof(Key,chal,A,k,n,m):
1)对于每个可验证块j(c≤j≤n):
·云端根据伪随机置换函数π计算可验证块j的索引ij=πk(j)
2)对于(n-c)个可验证块,分别计算第c+1,c+2,…,n个可验证块的索引ic+1,ic+2,…,in和该索引对应的可验证块的内容
Figure BDA0002101324710000081
根据可验证块的索引计算证据
Figure BDA0002101324710000082
其中i表示可验证块的序号。
CheckProof(key,chal,A,k,T,Tn-cTn-c,s):
1)对于每个可验证块j(1≤j≤c):
·计算可验证块j的索引ij=πk(j)
·生成第ij个可验证块
Figure BDA0002101324710000083
·计算
Figure BDA0002101324710000084
·计算同态可验证标签,
Figure BDA0002101324710000085
·计算
Figure BDA0002101324710000086
2)如果Tc·Tn-c=T,通过验证并且输出“成功”,反之输出“失败”。
3)保存验证结果。
本发明的创新点:
1.采用区块链技术为验证的可靠性提供保证
首次使用可信的智能合约来对云端的覆写结果的完整性进行验证,并将其过程与结果记录在区块链中。区块链的智能合约与账本为方案提供了双重可靠保证。将PDP协议写在智能合约中保证了删除结果的验证过程会被准确的自动执行。将各阶段的验证记录和删除记录保存在链式结构的区块链中保证了验证结果不可被篡改。当安全性受到破坏时,可依据区块链中的记录进行追责。
2.快速高效的PDP验证方式
首次在数据的确定性删除验证中采用抽样的方法。通过将数据分成可验证块,选择部分数据进行验证的方式,减轻了验证者的开销。经过方案的概率证明,通过抽取少量的可验证块,PTAD方案能以较高的概率检测出云端是否正确的执行覆写操作。
3.用户端轻量级计算
相比较于用户作为第三方验证者的方案,本发明简化了用户的操作流程,减少了用户的等待时间,几乎不增加用户在本地的开销。用户只需要参与发出删除的指令和接收确定性删除的验证结果。方案的验证不依赖于用户的在线,保证了在用户离线的情况下验证过程仍可以顺利进行,同时也减少了用户的等待时间。
4.实现了删除的可追溯可追责
本发明将验证云端覆写用户数据的全过程记录在区块链中,由于区块链技术的不可篡改、可追溯、集体维护等特性,可以通过查询区块链网络节点中的账本信息,从而分析得出出现问题的阶段和原因。依据第三方—区块链网络对于确定性删除的验证和判断,云端与用户均可依据账本中的证据进行追责和索赔,如表1。
表1为确定性删除的验证和判断表
编号 文件名哈希值 覆写时间 覆写结果 验证时间 验证结果
1 24935749 2018-11-29 05:45:23 成功 2018-11-29 05:46:30 成功
2 1009010637 2018-11-29 05:47:41 成功 2018-11-29 05:48:54 失败
3 350170640 2018-11-29 05:49:29 成功 / 失败
4 -608222764 / 失败 / 失败
方案可行性:
本发明实现了PTAD工作原型并在其上进行了实验以评测本发明的可行性。该实验分为删除链接,覆盖和验证阶段。本发明测量了PTAD方案中不同文件大小的每个阶段的时间开销和总时间开销。从表2可以清楚地看出,当文件大小从1KB变化到100,000KB时,总时间开销在15.51s到18.72s的范围内缓慢上升。三个阶段的时间开销也随着文件大小而略微增加。随着文件大小的增加,更多数据块被取消链接和覆盖,更多的可验证的块被计算同态可验证验证标签。用户几乎对PTAD的计算没有感知感知,因为覆盖和验证均采用后台异步操作故对用户是透明的,且取消链接阶段占据方案的时间较小。
表2为不同文件大小在不同阶段的开销
Figure BDA0002101324710000091
Figure BDA0002101324710000101
与PTAD类似,Luo等人通过数据的完整性证明思想以验证数据的确定性删除,其方案将用户视为验证者。将本发明与Luo的方案进行了比较。不同文件大小的六组实验性能对比情况如图3所示。从图中可以清楚地看出,随着文件大小的增加,PTAD方案和Luo等人的方案之间的差异线急剧增长。与Luo的比较方案中,PTAD因其算法高效在云计算开销方面表现更好。
附图说明
图1为本发明的数据确定性删除PTAD系统结构图;
图2为本发明的数据确定性删除方法流程图;
图3为本发明与其他方案的开销对比图。
具体实施方式
下面结合附图和实施步骤对本发明进一步说明。
方案中有三个角色,如图1所示,用户、云服务提供商(CSP)与区块链网络(Hyperledger Fabric)。用户负责提出需求和查询删除的结果。云端负责对需要删除对文件执行删除链接和覆写的操作,并对此提供证明。区块链负责对云端对删除操作进行验证,并将该过程记录在区块链中。
(1)用户
用户是文件的所有者,是文件确定性删除需求的提出者。用户可以随时使用云存储服务,将文件上传、下载、删除和查询。当文件需要被确定性删除时,用户通过确定删除模块向云端传送覆写删除的指令,云端在删除链接阶段完成删除链接的操作后,通过确定删除模块返回对文件确定性删除的承诺。覆写阶段的操作对于用户是透明的,用户不须参与或等待覆写的过程。在验证阶段,用户可通过删除验证模块对文件的确定性删除结果仅从查询。
用户端主要包含以下模块:
■上传下载模块
用户通过此模块实现将文件由本地上传到云端或将云端数据下载到本地。云端对用户存储的文件进行托管。
■信息查询模块
用户通过此模块实现对权限内的文件的信息查询。可查询的信息内容涵盖文件名、上传下载时间、用户权限、文件大小、存储位置等。
■普通删除模块
用户通过此模块向云端发送删除的指令,以实现对文件的链接的删除。该删除方式可实现用户对文件的不可见,但数据仍存储在磁盘上,直至该磁盘空间被再分配和覆写。
■确定删除模块
用户通过此模块向云端发送覆写删除的指令,以实现对文件的确定性删除。该模块使用用户的公钥对指令进行加密发送给云端。基于覆写的删除方式可实现该文件不可被任何人以任何方式读取,数据被覆盖,无法被恢复。云端检测到用户的合法删除指令并完成删除链接后,将立即向用户返回确定性删除的承诺,不需用户的长时间等待。
■删除验证模块
用户通过此模块向区块链节点所建立的信息查询网站进行确定性删除的查询。区块链节点将数据确定性删除的过程和结果记录在区块链的账本中,同时将该信息公布在公开网站上,用户可通过删除验证模块进行快速查询。
(2)云存储平台
云服务提供商主要为用户提供块存储、文件存储和对象存储三种方式的存储服务。为满足用户对于删除数据的安全需求,云端可根据SLA协议为用户提供确定性删除服务。本发明主要研究的是块存储系统的删除问题。在删除链接阶段,云平台的合法性检查模块对用户的覆写删除命令进行合法性检查,若用户的指令合法,云端则通过区块链交互模块将用户的删除指令转发至区块链,并返回给用户将完成确定性删除的承诺。在覆写阶段,云端通过区块链交互模块获取覆写的基本值,云端按照基本值通过覆写模块对原数据文件所在位置进行覆写。完成覆写后,云端使用标签生成模块为覆写后的数据生成总标签,并使用区块链交互模块将总标签提交到区块链节点。在验证阶段,云端使用区块链交互模块接收到挑战的可验者块,并通过该模块返回生成的证据作为应答。
云端主要包含以下模块:
■合法性检查模块
云端通过此模块对用户的覆写删除指令进行合法性检查。若该指令为用户按照指定格式生成的、访问控制权限之内的并经签名的,则视为合法指令。若该指令通过检查,该模块将返回已完成链接的删除并将进行覆写删除的承诺。若未通过,则返回该指令不合法的承诺。
■覆写模块
云端通过此模块实现对原数据文件的覆写。在接收到合法性检查模块的许可后,覆写模块将按照区块链交互模块传来的基本值和规定的算法对源文件进行覆写。覆写后的文件将无法被恢复。
■区块链交互模块
此模块为区块链中应用程序客户端,云端通过此模块与区块链进行交互。该模块主要涵盖以下功能:
○初始化:通过SDK在Hyperledger Fabric中进行初始化。调用链中的证书服务服务,进行注册和登记,并获取身份证书。
○提案:通过SDK向区块链网络发起一个交易提案。该交易提案将触发区块链节点上的智能合约。
■标签生成模块
云端通过此模块为可验证块生成相应的同态可验证标签。标签生成模块根据区块链交互模块接收的key来为可验证块生成标签。该模块应用在TagBlock和GenProof两部分。
(3)区块链网络
区块链技术因其去中心化和不可篡改的特性,攻击者难以腐败大部分的区块链节点,因此区块链网络作为可信的第三方验证者是非常好的选择。本发明构建了联盟链作为验证者,采用Hyperledger Fabric对区块链进行具体实现。在覆写阶段,区块链节点通过共识为覆写生成基本值并将基本值记录在账本中。区块链接收云端根据全部覆写内容生成的总标签,并将其记录在账本中。在验证阶段,区块链将通过共识生成随机挑战块并将其记录在账本中以对云端进行挑战。区块链为剩余未被挑战的可验证块生成可验证标签并将其记录在区块链中。在云端返回随机挑战块的标签后,区块链根据云端本轮应答的标签、云端在覆写阶段返回的总标签以及区块链为剩余未被挑战的可验证块生成标签对覆写的结果进行验证,并将结果记录在区块链中。Hyperledger Fabric对云平台的覆写结果进行审计和记录,并将最终的验证过程和结果记录公布在公开网站提供给用户进行查询。
Hyperledger Fabric主要包含以下组成:
■智能合约
智能合约是合约的程序化表述,是一段应用程序的代码,最终部署到区块链网络上,形成分布式应用,对外提供服务。
■共识机制
对某个提案各个结点达成一致意见的过程,即是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认。
○客户端
客户端构建事务提案;客户端收集节点的回复并将其发送到排序节点。
○背书节点
背书节点执行链码(智能合约)并对该事务进行背书签名;全部节点检测区块中交易的合法性,若合格将交易记录在账本中。
○排序节点
排序将交易进行排序并将交易打包成一个区块,之后将该区块传输给各节点;全部节点检测区块中交易的合法性,若合格将交易记录在账本中。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种云存储中数据的确定性删除方法,其步骤包括:
1)云端检查用户发送的确定性删除指令的合法性;若合法,则删除该确定性删除指令中待删除文件对应的链接,并将该确定性删除指令转发给区块链网络,然后进行步骤2);否则拒绝执行该确定性删除指令;
2)区块链网络根据该确定性删除指令触发对应的智能合约,并生成一覆写种子发送给云端;
3)云端根据该覆写种子按照智能合约与约定的覆写规则对该确定性删除指令中指定的数据块进行覆写;
4)区块链网络从应已被覆写的数据块中随机选取可验证块对云端发起删除验证的挑战;
5)云端为被挑战的可验证块生成同态可验证标签,并将其作为覆写的证据返回给区块链网络;
6)区块链网络根据步骤2)覆写种子生成的覆写基本值和所述覆写规则对云端返回的证据进行验证,并将验证的过程和结果记录在区块链网络中。
2.如权利要求1所述的方法,其特征在于,步骤2)中,区块链网络根据区块链中当前即将生成的新数据块的前一个数据块的块头bp的哈希值H(bp)生成覆写种子seed0=H(bp)。
3.如权利要求2所述的方法,其特征在于,步骤2),区块链网络设定用于打标签和验证的验证块的大小bsize,并计算两个大素数的乘积N,以及选取g作为模N的二次剩余集QRN的生成元;步骤3)中,云端计算s=Bsize/bsize,以及可验证块的数量n=[Fsize/bsize];然后对第i个可验证块,计算种子seedi=H(seed0||i),然后通过随机数生成算法R计算第f个可验证块的覆写内容mi=R(seedi);然后用生成的各覆写内容覆盖待删除文件F的存储区域;然后云端找到第i个可验证块的id,即B[(i+1)/s];然后计算bi=i||B[(i+1)/s]||tu,以及计算同态可验证标签Ti,m=H(bi)·gmmodN,然后得到总标签
Figure FDA0002101324700000011
Figure FDA0002101324700000012
并输出;Bsize是数据块大小,Fsize为确定性删除指令中待删除文件F的大小,tu为生成确定性删除指令的时刻,m是可验证块覆写内容的集合,i=1~n。
4.如权利要求3所述的方法,其特征在于,步骤4)中,区块链网络通过随机数生成算法生成随机数c和安全参数k,生成挑战chal(c,k);步骤5)中,云端对于每个可验证块j,根据伪随机置换函数π计算可验证块j的索引ij=πk(j);然后计算(n-c)个可验证块的证据Tn-c;步骤6)中,区块链网络对于每个可验证块j,计算可验证块j的索引ij=πk(j)以及生成可验证块
Figure FDA0002101324700000013
然后计算
Figure FDA0002101324700000014
以及同态可验证标签
Figure FDA0002101324700000021
如果Tc·Tn-c=T,则验证通过,否则判定未通过验证;j=c~n。
5.如权利要求1所述的方法,其特征在于,步骤1)中,云端在完成删除链接后,返回给用户已完成链接删除的信息以及进行确定性删除的承诺。
6.一种云存储中数据的确定性删除系统,其特征在于,包括用户端、云端与区块链网络;其中,
用户端,用于接收用户发出的确定性删除指令和查询请求;
云端,用于检查确定性删除指令的合法性;若合法,则删除该确定性删除指令中待删除文件对应的链接,并将该确定性删除指令转发给区块链网络,否则拒绝执行该确定性删除指令;以及根据覆写种子按照智能合约与约定的覆写规则对该确定性删除指令中指定的数据块进行覆写;以及为被挑战的可验证块生成同态可验证标签,并将其作为覆写的证据返回给区块链网络;
区块链网络,用于根据该确定性删除指令触发对应的智能合约,并生成一覆写种子发送给云端;以及从应已被覆写的数据块中随机选取可验证块对云端发起删除验证的挑战,并根据所述覆写种子生成的覆写基本值和所述覆写规则对云端返回的证据进行验证,并将验证的过程和结果记录在区块链网络中;以及响应所述查询请求。
7.如权利要求6所述的确定性删除系统,其特征在于,区块链网络根据区块链中当前即将生成的新数据块的前一个数据块的块头bp的哈希值H(bp)生成覆写种子seed0=H(bp)。
8.如权利要求7所述的确定性删除系统,其特征在于,区块链网络设定用于打标签和验证的验证块的大小bsize,并计算两个大素数的乘积N,以及选取g作为模N的二次剩余集QRN的生成元;云端计算s=Bsize/bsize,以及可验证块的数量n=[Fsize/bsize];然后对第i个可验证块,计算种子seedi=H(seed0||i),然后通过随机数生成算法R计算第i个可验证块的覆写内容mi=R(seedi);然后用生成的各覆写内容覆盖待删除文件F的存储区域;然后云端找到第i个可验证块的id,即B[(i+1)/s];然后计算bi=i||B[(i+1)s]||tu,以及计算同态可验证标签Ti,m=H(bi)·gmmodN,然后得到总标签
Figure FDA0002101324700000022
Figure FDA0002101324700000023
并输出;Bsize是数据块大小,Fsize为确定性删除指令中待删除文件F的大小,tu为生成确定性删除指令的时刻,m是可验证块覆写内容的集合,i=1~n。
9.如权利要求8所述的确定性删除系统,其特征在于,区块链网络通过随机数生成算法生成随机数c和安全参数k,生成挑战chal(c,k);云端对于每个可验证块j,根据伪随机置换函数π计算可验证块j的索引ij=πk(j);然后计算(n-c)个可验证块的证据Tn-c;区块链网络对于每个可验证块j,计算可验证块j的索引ij=πk(j)以及生成可验证块
Figure FDA0002101324700000031
Figure FDA0002101324700000032
然后计算
Figure FDA0002101324700000033
以及同态可验证标签
Figure FDA0002101324700000034
Figure FDA0002101324700000035
如果Tc·Tn-c=T,则验证通过,否则判定未通过验证;j=c~n。
10.如权利要求6所述的确定性删除系统,其特征在于,云端在完成删除链接后,返回给用户端已完成链接删除的信息以及进行确定性删除的承诺。
CN201910536547.6A 2019-06-20 2019-06-20 一种云存储中数据的确定性删除方法及系统 Active CN112115101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910536547.6A CN112115101B (zh) 2019-06-20 2019-06-20 一种云存储中数据的确定性删除方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910536547.6A CN112115101B (zh) 2019-06-20 2019-06-20 一种云存储中数据的确定性删除方法及系统

Publications (2)

Publication Number Publication Date
CN112115101A CN112115101A (zh) 2020-12-22
CN112115101B true CN112115101B (zh) 2022-07-22

Family

ID=73795951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910536547.6A Active CN112115101B (zh) 2019-06-20 2019-06-20 一种云存储中数据的确定性删除方法及系统

Country Status (1)

Country Link
CN (1) CN112115101B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112364010B (zh) * 2021-01-12 2021-04-23 支付宝(杭州)信息技术有限公司 一种重要业务记录的存在性验证方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
GB2573750A (en) * 2018-05-09 2019-11-20 Centrica Plc System for controlling energy supply and processing energy transactions
CN109241754B (zh) * 2018-08-14 2021-08-03 广东工业大学 一种基于区块链的云文件重复数据删除方法

Also Published As

Publication number Publication date
CN112115101A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN110569675B (zh) 一种基于区块链技术的多Agent交易信息保护方法
CN109409122B (zh) 文件存储方法及其电子设备、存储介质
CN111355705B (zh) 一种基于区块链的数据审计与安全去重云存储系统、方法
Zafar et al. A survey of cloud computing data integrity schemes: Design challenges, taxonomy and future trends
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
CN107295002B (zh) 一种云端存储数据的方法及服务器
WO2020048241A1 (zh) 区块链跨链的认证方法、系统、服务器及可读存储介质
CN108076057B (zh) 一种基于区块链的数据保全系统及方法
JP6853364B2 (ja) ブロックチェーンベースのデジタル証明書を実装するためのシステム及び方法
CN103098070B (zh) 用于监视网络服务中数据位置的方法、装置和系统
US8997198B1 (en) Techniques for securing a centralized metadata distributed filesystem
JP6965352B2 (ja) デジタル・マークを生成するためのシステム及び方法
CN111475836B (zh) 一种基于联盟区块链的档案管理方法及装置
CN104506487B (zh) 云环境下隐私策略的可信执行方法
CN111222176B (zh) 基于区块链的云存储持有性证明方法、系统及介质
CN110597818B (zh) 基于区块链的卷宗查询方法、装置、设备及存储介质
CN110096903B (zh) 基于区块链的资产验证方法及区块链网络系统
WO2019119541A1 (zh) 基于区块链的商品确权及所有权转移方法和系统
CN111461622B (zh) 基于区块链的仓库信用评级、结果获取、验证方法及装置
US20190294762A1 (en) Computer implemented method and a system for tracking of certified documents lifecycle and computer programs thereof
WO2023207086A1 (zh) 一种基于区块链的用户数据流转方法、装置及设备
CN112115205A (zh) 基于数字证书认证的跨链信任方法、装置、设备以及介质
CN114691669A (zh) 一种电子存证方法、装置、电子设备及存储介质
CN113302610A (zh) 基于区块链的可信平台
CN115208628B (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