一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的云数据访问控制系统的制作方法

2022-09-01 06:47:22 来源:中国专利 TAG:


1.本发明涉及分布式系统技术领域,具体来说,涉及一种基于区块链的云数据访问控制系统。


背景技术:

2.在由云计算提供的诸多服务中,云存储是许多组织和个人正在使用的最受欢迎的服务之一。云提供商在实施和提供此类服务时需要满足基本的安全标准,包括机密性、完整性、可用性、真实性、不可否认性和访问控制。
3.访问控制可避免未经授权的数据访问,并严格限制用户可对数据执行的操作。传统的访问控制策略包括基于角色的访问控制(rbac),基于属性的访问控制(abac)和基于风险的访问控制(risk-bac),当前的云提供商已基于这些常规方案构建了访问控制策略。这些访问控制方案通过集中授权来验证访问权限,但会面临集中化问题,即单点故障。此外,当云提供商处于恶意状态时,集中化可能会损害数据隐私。为了提供访问控制,云服务器需要满足访问控制、身份验证、授权和审计三个安全元素。恶意的云服务器可能会对未授予任何权限的请求者进行身份验证/授权,并向他们披露用户数据。此外,审计要求记录所有内容,并保证任何内容都不能更改。当云服务器完全控制审计时,很难防止恶意服务器篡改数据,这使审计变得不安全。此外,授予用户的访问权限存储在云场所中,云服务器可以访问它们,恶意云服务器可以修改权限。
4.fairaccess通过提出基于区块链的去中心化授权管理系统来解决这些问题,使用智能合约来分配访问令牌。但是,fairaccess的主要问题是每次生成令牌时都需要与数据所有者联系,这将增加授予权限所需的时间。基于智能合约的物联网访问控制为物联网引入了智能合约访问控制框架,但是缺少审计组件。使用区块链控制对云数据的访问将访问控制任务分配到区块链节点,并修改了交易模型,该模型目前已在公共区块链网络中使用。除了区块链网络,该方案还包括另一个网络,即安全服务器网络,其中存储了解密密钥。该模型存在着网络过于复杂以及授予权限所需时间较长两个问题。此外,该方案需要为交易定义一个新的基于未使用的交易输出(utxo)的设计,交易时授予/验证/接受/拒绝访问权,由于存在许多不同类型的访问权,因此该设计较为复杂。
5.针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.针对相关技术中的问题,本发明提出一种基于区块链的云数据访问控制系统,以克服现有相关技术所存在的上述技术问题。
7.本发明的技术方案是这样实现的:
8.一种基于区块链的云数据访问控制系统,包括以下步骤:
9.数据所有者请求将数据上传到云存储服务器中,其中包括数据所有者使用shamir秘密共享算法将解密密钥分为n个部分,并将这些解密密钥片段分配给n个主节点,每个主
节点仅保留一个解密密钥;
10.云存储服务器将存储资源分配给数据所有者以存储其数据;
11.基于数据所有者和云存储服务器创建并部署区块链,包括交易和智能合约的区块,提供访问控制任务并部署到区块链上;
12.数据使用者向云存储服务器发送下载请求,其中包括云存储服务器通过向区块链发送交易以执行acp合约来验证数据用户的访问权限。
13.其中,还包括以下步骤:
14.预先部署区块链、云存储服务器和用户组,且所述区块链、所述云存储服务器和所述用户组通过点对点网络连接,其中所述用户组包括数据所有者和数据使用者。
15.其中,所述shamir秘密共享算法,包括以下步骤:
16.预先将密文s分为n个部分,随机选择t-1阶多项式,表示为:
17.f(x)=a0 a1x

a
t-1
x
t-1
(mod p),其中,a0=s,a
t-1
≠0;
18.进行随机选择一个大于密文s的质数p形成域gf(p),并标定s1=f(1),

,si=f(i),

sn=f(n),获取s1,

,sn的值;
19.进行标定任意t个si值的子集和p,进行重建s,表示为:
[0020][0021]
其中,所述主节点,包括以下步骤:
[0022]
数据所有者将交易发送到lkp合约;
[0023]
lkp合约将在接收到交易后执行,并将n个可用主节点的地址返回给数据所有者;
[0024]
数据所有者创建aud合约和acp合约,并将其部署到区块链上。
[0025]
其中,所述部署区块链,包括以下步骤:
[0026]
将主节点的新节点引入到区块链网络中;
[0027]
数据所有者基于shamir秘密共享算法生成的解密密钥通过安全通道分发到新节点。
[0028]
其中,所述智能合约,包括aud合约、acp合约、lkp合约和clp合约。
[0029]
其中,所述数据使用者向云存储服务器发送下载请求,包括以下步骤:
[0030]
预先将交易发送到klp合约以获得t个主节点的地址,并将请求发送到主节点,以获取解密密钥和p;
[0031]
数据使用者进行重建解密密钥,表示为:
[0032][0033]
本发明的有益效果:
[0034]
本发明基于区块链的云数据访问控制系统,将访问控制从云环境中移出并将其移植到区块链网络中,不仅解决了当前访问控制模型的集中化问题,避免了单点故障,而且将解密密钥从云服务器中取出,同时使用户仍能使用云服务,并应用了shamir秘密共享算法,并将生成的密钥片段从区块链存储到主节点中,另外通过调整shamir算法的t参数,可以在安全性和效率之间进行权衡,使对解密密钥的攻击更加困难。
附图说明
[0035]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1是根据本发明实施例的一种基于区块链的云数据访问控制系统的示意图。
具体实施方式
[0037]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0038]
根据本发明的实施例,提供了一种基于区块链的云数据访问控制系统。
[0039]
如图1所示,根据本发明实施例的基于区块链的云数据访问控制系统,包括以下步骤:
[0040]
数据所有者请求将数据上传到云存储服务器中,其中包括数据所有者使用shamir秘密共享算法将解密密钥分为n个部分,并将这些解密密钥片段分配给n个主节点,每个主节点仅保留一个解密密钥;
[0041]
云存储服务器将存储资源分配给数据所有者以存储其数据;
[0042]
基于数据所有者和云存储服务器创建并部署区块链,包括交易和智能合约的区块,提供访问控制任务并部署到区块链上。
[0043]
数据使用者向云存储服务器发送下载请求,其中包括云存储服务器通过向区块链发送交易以执行acp合约来验证数据用户的访问权限。
[0044]
借助于上述方案,通过使用去中心化网络将访问控制任务分配给智能合约来解决集中化问题,使用shamir秘密共享方案管理加密密钥来提供机密性要求,同时在区块链平台上引入主节点的新型节点,用于存储解密关键部分。
[0045]
另外,本技术方案,其预先部署区块链、云存储服务器和用户组,且所述区块链、所述云存储服务器和所述用户组通过点对点(p2p)网络连接,其中所述用户组包括数据所有者和数据使用者。
[0046]
另外,本技术方案,shamir秘密共享算法,包括以下步骤:
[0047]
shamir秘密共享算法基于多项式插值将密文s分为n个部分,从任何t个部分中重建出来。即使使用t-1个部分也不能揭示有关密文s的任何信息,具体如下:
[0048]
预先将密文s分为n个部分,随机选择t-1阶多项式,表示为:
[0049]
f(x)=a0 a1x

a
t-1
x
t-1
(mod p),其中,a0=s,a
t-1
≠0;
[0050]
进行随机选择一个大于密文s的质数p形成域gf(p),并标定s1=f(1),

,si=f(i),

sn=f(n),获取s1,

,sn的值;
[0051]
进行标定任意t个si值的子集和p,进行重建s,表示为:
[0052]
[0053]
此外,数据所有者请求将其数据上传到云存储服务器中,包括以下步骤:
[0054]
预先加密数据,将数据上传到云存储服务器中。
[0055]
数据所有者使用shamir秘密共享算法将解密密钥分为n个部分,并将这些解密密钥片段分配给n个主节点,每个主节点仅保留一个解密密钥。
[0056]
此外,为了找到主节点,数据所有者将交易发送到lkp合约,lkp合约将在接收到交易后执行,并将n个可用主节点的地址返回给数据所有者。此外,数据所有者负责创建aud合约和acp合约,并将其部署到区块链上。acp合约是访问控制策略合约,每当云服务器要求验证数据用户的访问权限时就执行该合约。
[0057]
另外,对于云存储服务器来说,云存储服务器是资源提供者,用于将存储资源分配给数据所有者以存储其数据。数据所有者在将数据上传到云之前对其进行加密,这样可以确保提供保密性。但是,解密密钥未存储在云服务器中,因为在此模型中我们假设云服务器是不可信任的。
[0058]
此外,对于区块链来说,区块链包含交易和智能合约的区块,用于提供访问控制任务,这些任务被定义为智能合约并部署到区块链上。具体包括:审核(aud)合约,访问控制策略(acp)合约,查找(lkp)合约和合约查询(clp)合约。
[0059]
本技术方案,这些合约由数据所有者和云存储服务器创建并部署到区块链上。该模型还将一个称为主节点的新节点引入到区块链网络中。主节点(图1中显示为m-mn)是用户节点,也是安全的服务器。模型中的安全服务器是数据解密密钥持有者。数据所有者根据shamir秘密共享算法生成的解密密钥通过安全通道分发到这些节点。
[0060]
此外,为了抽象访问控制,将访问控制任务(即身份验证,授权和审计)分配到了区块链网络上的智能合约。
[0061]
具体的,对于定义对象和主体,将对象定义为存储在云中并与访问权限(即读取,写入,删除)关联的数据(受保护的资源)。主体是想要访问数据的数据用户。因此,对于每个主体s和对象o,定义了映射g(o,s)。此映射指定数据所有者已授予s的o的访问权限。
[0062]
其中,采用访问控制列表机制来实现访问控制。访问控制列表(acl)是一种以对象为中心的方法,它为每个对象o定义了一个列表l,该列表l是o的访问控制权限,列举了具有o的访问权限的所有主体。该列表还指定授予主体的访问权限许可(例如,allow,deny)。对于每个对象o,定义一个列表,该列表记录主题(数据用户)和数据所有者授予他们的权限。此列表存储在智能合约中的区块链中,该合约作为acp合约部署。
[0063]
此外,对于数据使用者来说,数据使用者是云数据的用户。为了从云服务器下载数据,数据使用者向云存储服务器发送下载请求。云服务器通过向区块链发送交易以执行acp合约来验证数据用户的访问权限。
[0064]
在收到来自区块链的响应后,如果该用户具有访问权限,它将把加密的数据发送给数据使用者。数据使用者接收到加密数据后,将解密密钥请求发送到t个主节点。一旦接收到解密密钥,就重建解密密钥。为了找到主节点,数据使用者向lkp合约发送交易,该交易将由用户节点执行,并将t个主节点的地址返回给数据使用者。
[0065]
另外,本技术方案,数据所有者请求将数据上传到云存储服务器中,数据上传时,首先需要对其进行加密。为了加密数据,数据所有者随机选择一个128位加密密钥,并使用高级加密标准-128(aes-128)算法对数据进行加密。然后,数据所有者将加密的数据与aud
合约地址,acp合约地址及其签名一起发送给云提供商,以使他们能够保存具有关联id(acp合约地址)的加密数据。
[0066]
发送aud合约地址可以使云提供商能够调用并执行aud合约的getownerpk()函数,以验证数据所有者的身份。此函数返回数据所有者的公钥。因此,云提供商能够验证数据所有者的签名。如果签名有效,则云服务器会将所有者的数据(已加密)存储到其存储资源上。将数据成功上传到云存储服务器后,数据所有者使用shamir秘密共享方案将解密密钥(与加密密钥相同)划分为n个解密密钥。假设在上传时有n个主节点可用,而这些主节点中的t个在下载时始终可用。为此,数据所有者首先在有限域gf(p)上选择一个随机多项式f(x)=a0 a1x

a
t-1
x
t-1
(mod p),其中素数p>2
128
,a
t-1
≠0,a0表示解密密钥。
[0067]
然后通过设置x=1,

n并计算y=f(x)来构造f(x)上的n个不同点,即点(1,f(1)),

,(n,f(n))。接下来,将这n个点与p一起分配给n个主节点。这些点中的每一个将被发送到不同的主节点,即每个主节点仅存储这些块之一,这是出于安全目的所必需的。为了将这些点发送到主节点,数据所有者首先将交易发送到区块链以执行klp合约,以获取n个活动用户节点的地址。然后,数据所有者与主节点建立安全通道(安全套接字层(ssl)协议),并将这些点(解密密钥段)发送到主节点。当需要重建解密密钥时,需要这些片段中的t个。
[0068]
此外,数据使用者向云存储服务器发送下载请求,其数据下载,当数据使用者需要访问数据时,会向云提供商发送请求。在提供数据之前,云提供商需要验证用户的访问权限并验证其身份。用户的请求包含上述所有项目的帐户地址,所需数据的id(即acp合约的地址),公钥以及签名(使用ecdsa)。云提供商可以通过提供的公钥来验证用户的身份。如果签名有效,则云服务器将需要验证用户的访问权限。因此,它将交易发送到区块链以执行acp合约以验证访问权限。如果数据使用者有权访问数据,则将加密的数据提供给使用者。
[0069]
另外,数据使用者需要解密数据。为了做到这一点,用户需要t个解密密钥片段以能够重建解密密钥。因此,用户首先将交易发送到klp合约以获得t个主节点的地址。然后,通过安全通道将请求发送到主节点,以获取解密密钥和p。最终,数据使用者可以使用重建解密密钥。
[0070]
综上所述,借助于本发明的上述技术方案,通过将访问控制从云环境中移出并将其移植到区块链网络中,不仅解决了当前访问控制模型的集中化问题,避免了单点故障,而且将解密密钥从云服务器中取出,同时使用户仍能使用云服务,并应用了shamir秘密共享算法,并将生成的密钥片段从区块链存储到主节点中,另外通过调整shamir算法的t参数,可以在安全性和效率之间进行权衡,使对解密密钥的攻击更加困难。
[0071]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0072]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献