Protecting Personal Data using Smart Contracts

Protecting Personal Data using Smart Contracts

译:使用智能合约保护个人数据

原文链接:https://arxiv.org/pdf/1910.12298.pdf

摘要

分布式在线社交网络(DOSN)是当前集中式在线社交网络(OSN)的替代方案。在线社交网络基于集中式架构(如Facebook、Twitter或Google+),而DOSNs没有一个服务提供商作为中心机构,用户对其信息拥有更多的控制权。在过去几年中,已经提出了几个DOSN。然而,OSN的分散化需要有效的解决方案来保护用户的隐私,并评估用户之间的信任。区块链代表了一种颠覆性技术,已应用于多个领域,其中包括社交网络。在本文中,我们使用区块链技术为DOSNs提出了一个可管理、用户驱动和可审核的访问控制框架。在提议的方法中,区块链被用作隐私政策定义的支持。资源所有者使用主体的公钥定义灵活的基于角色的访问控制策略,而与主体的以太坊帐户关联的私钥用于在区块链上验证访问权限后解密私有数据。我们利用Rinkeby以太坊测试网来部署智能合约,并评估其性能,从而评估我们的解决方案。实验结果表明,该方案通过部署在区块链上的智能合约实现可审计和用户驱动的访问控制是可行的。

1.介绍

分散在线社交网络(DOSN)是在分布式环境中实现的在线社交网络(OSN)。在过去几年中,不仅提出了几种学术解决方案,还提出了在线服务,如Mastodon 和 Diaspora。

DOSN要求网络中的用户评估访问控制策略,以检查用户是否可以访问数据。考虑到用户在线/离线状态导致的DOSN的动态性,以及选择非恶意用户的信任问题,隐私策略的验证是一个棘手的问题,可以使用区块链技术进行管理。

值得注意的是,区块链的基本目的是在不依赖第三方的情况下实现对等网络(P2P)支付系统的功能。换句话说,区块链是一个以安全和透明的方式进行交易的P2P网络。

以太坊支持两种类型的帐户。外部所有账户(EOA)用于将资金从一个账户持有人转移到另一个账户持有人。此外,每个EOA被分配一个唯一的20字节地址,该地址唯一地标识网络中的帐户持有人。以太坊还支持合同账户,简称合同。每个合同帐户都与一个唯一的代码相关联,以便在网络中唯一地标识它。以太坊帐户与唯一的公钥/私钥对相关联。事务可以发送到由公钥表示的特定地址,只有具有指定目标地址的用户才能在网络中访问它们。在以太坊网络中执行交易需要支付以太币。因此,拥有足够以太币的用户才能执行存储在区块链上的智能合约代码。因此,以太坊用户需要通过支付以太币购买汽油。以太坊使用的一致性技术称为工作量证明,使矿工能够解决密码挑战(即猜测随机数)。

在本文中,我们提出了一种基于区块链的DOSNs访问控制。基于角色的访问控制策略存储在blockchian上,可公开审核,并允许验证用户权限,即使数据所有者未登录社交网络。我们的分散访问控制管理系统依靠DOSN用户通过进行交易来授予、撤销或更新访问权限,以执行智能合约的相应功能。DOSN用户与以太坊帐户关联,以便在网络中唯一地标识自己。我们关注基于角色的访问控制模型(RBAC),因为角色在管理DOSN的内容中起着至关重要的作用。因此,DOSN用户可以向区块链上部署的访问控制合同发送交易,以将角色分配给他/她的同事、家人和朋友的成员等,并仅允许预期用户访问资源所有者的资源。

2.背景和相关工作

分散在线社交网络(DOSN)的引入是为了克服当前OSN的隐私问题。通常对存储的数据使用加密操作,只有具有相应解密密钥的客户端才允许解密和查看存储的内容。访问控制是DOSN中管理数据访问的主要技术之一。事实上,DOSN使用隐私策略和加密技术,在许多情况下,它们使用基于属性的加密(ABE)

DOSNs中的一个主要问题是数据存储在用户设备上,因此只要用户在线,数据就可用。为了提高数据可用性,用户的数据被复制到不同用户的设备上。还值得注意的是,如果用户在线,则有关用户数据的隐私策略的评估可以由用户自己评估,否则必须由托管数据副本的某个受信任节点执行。

3.框架

我们提案的基本目标是使用区块链存储和评估基于角色的访问控制策略。为了实现这一目标,资源所有者可以向以太坊区块链上部署的基于角色的访问控制智能合约发送事务,以便为网络中的其他DOSN用户分配/评估角色。

访问控制策略存储在区块链上,从而允许资源所有者以及其他节点在合同接收访问请求时检查隐私策略的实施情况。我们的框架是保护隐私的,因为DOSN用户的真实身份不会透露给网络中的其他用户。我们的方法背后的主要原理是以太坊为每个账户持有人使用一个公共广播。我们需要进行以下基本配置,以便在访问控制系统中应用以太坊平台。

–-----每个DOSN用户必须与以太坊帐户关联,以便在网络中唯一地标识自己。因此,该帐户允许每个对等方声明智能合约的部署,并将角色分配给其他DOSN用户。

–-----所有DOSN用户都可以配置和运行以太坊客户端,因为此类设备具有足够的计算能力。DOSN用户可以使用其以太坊客户端直接与区块链交互。事实上,他们还可以发送交易以执行智能合约的主要功能。

在我们的框架中,DOSN用户可以随时轻松检查区块链,以确定他/她是否从另一个DOSN用户处分配了角色。此外,此方法旨在实现分布式可审核性,从而防止第三方欺诈性地拒绝基于角色的访问控制策略授予的访问权限。值得注意的是,希望访问资源所有者资源的主体必须声明它拥有由资源所有者发布的角色。访问控制框架的体系结构如图1所示。我们框架的主要参与者包括资源所有者、资源所有者信任的节点和主体(即,对查看资源所有者的资源感兴趣的用户)。资源所有者使用主题的以太坊地址,以便使用智能合约定义基于角色的隐私策略。

image-20211110161857471

在我们的方法中,资源所有者有一组存储数据的可信节点,如[10]所述,以确保即使在用户离线时数据的可用性。受信任副本节点的选择超出了本文的范围。一般请求在联机时发送给资源所有者,否则发送给随机选择的一个受信任节点。这些节点检查隐私策略以确定与角色关联的权限。根据对访问控制策略的评估,允许或拒绝主题查看或下载资源所有者的私有数据。

当资源所有者和主体之间建立新关系时,关系中涉及的主体必须共享其公钥(即以太坊地址)。验证用户身份后,资源所有者向访问控制合同发送交易,以发布所需角色,如同事、朋友、朋友或家人的朋友等。最后,在使用区块链建立关系和隐私政策定义后,当资源所有者或受信任节点脱机时,主题可以向其发送访问请求。最后,在确认区块链中的信息后,资源所有者或受信任节点被确保所断言的角色由资源所有者分配。

3.1框架的主要职能

​ 资源所有者可以发送事务以调用区块链上部署的RBAC的主要功能。下文概述了拟议框架的主要职能;

–此功能允许资源所有者向网络中的请求DOSN用户发布角色。它需要主题的以太坊地址以及资源所有者希望分配的角色。举个简单的例子,如果Bob(即资源所有者)希望将Alice(即subject)添加为好友,他只需提供Alice的以太坊地址、角色好友和访问权限。为了实现这一目标,资源所有者只需进行新的策略创建事务,以执行区块链上部署的RBAC智能合约的policyAdd()函数。策略创建:

–:在建议的框架中,资源所有者可以随时更新策略。资源所有者需要指定需要更新隐私策略的主题的新角色、权限和地址。为了实现这一目标,资源所有者只需进行策略更新事务,以执行RBAC智能合约的policyUpdate()函数。此函数需要主题地址、角色和权限作为参数,才能分配新角色或更改关联的访问权限。政策更新:

–:资源所有者还可以通过进行策略撤销事务来撤销现有隐私策略,以执行RBAC智能合约的policyDelete()函数。策略删除:

–:资源所有者不仅必须能够指定谁可以访问资源,还必须能够添加可以进一步将该授权委托给其他用户的用户。为实现此目标,只有资源所有者认可的用户才能发送事务以执行智能合约的roleTransfer()函数。此功能需要策略的链接或标识信息以及新用户的地址来传输访问权限。该框架是可扩展的,因为当前的权利持有者还可以将访问权进一步转移给新用户。权利转让:

–:该功能允许资源所有者或受信任节点在主体提交访问请求时检查区块链上的访问权限。为实现此目标,资源所有者或受信任节点执行访问控制事务,以执行智能合约的AccessControl()函数。访问控制:

–:资源所有者还可以通过执行契约停用事务来禁用RBAC智能契约,以执行RBAC智能契约的deleteRBAC()函数。合同删除:

我们使用地址(主键)和角色(辅键)元素的二维映射来创建、更新、撤销和验证区块链中的这些策略。

3.2 质询-响应身份验证

​ 当主体向资源所有者或可信节点发送访问请求(当前者离线时)时,执行质询响应协议。本协议的基本步骤讨论如下:

当主体向资源所有者或可信节点发送访问请求(当前者离线时)时,执行质询响应协议。本协议的基本步骤讨论如下:;

–此步骤的目的是使主体能够声明其拥有用于发布角色的唯一以太坊帐户/地址以及资源所有者的权限。在我们的简单示例中,Alice将断言角色friend,以指示此角色是Bob为了访问他的资源而发布的。因此,断言的角色使Alice有资格访问Bob的受保护资源。宣言:

–给定主题的断言,资源所有者或受信任节点检查区块链上发布的RBAC策略,以确定相应的公钥是否由资源所有者颁发给角色。给定区块链上的数据,这些节点将能够检查与主体公钥相关的信息。最后,接收请求的节点质询请求的DOSN用户,以验证其真实身份(即,确定他/她是否是以太坊帐户的真正所有者)。信息核查:

–资源所有者或受信任节点选择一个随机数据d,并要求主体签名。挑战:

–主题的响应确定了相应以太坊帐户的真正所有者,因为签名消息需要私钥。因此,只有当用户拥有相应的私钥时,才能创建正确的签名。因此,消息只能由合法所有者签名。为了实现这一目标,我们使用以下功能:答复:

S = Sign(pk;address;d) (1)

其中pk表示主体的私钥,d表示发送给签名的随机数据。因此,只有当主体拥有为每个以太坊帐户唯一定义的相应私钥,并且对每个DOSN用户也是唯一的时,才可能有正确的签名。然后,主题将S发送回资源所有者或受信任节点。

–当且仅当主题生成正确的签名时,资源所有者或受信任节点才会允许主题访问受保护的资源。为实现此目标,资源所有者或受信任节点使用以下验证功能:答复确认:

 confirmResponse(address;d;S). (2)

最后,当且仅当验证过程成功时,资源所有者或受信任节点才允许访问资源。请注意,身份验证协议可以脱机执行,Solidity sha功能可用于安全生成签名。此技术可用于生成消息签名,而无需公开私钥。

4 实验结果评估

用于调用智能合约功能的每笔交易都需要支付费用,以补偿挖掘节点执行交易并将其保存在区块链上。以太坊使用天然气来表示这笔费用。用户可以通过支付乙醚从采矿节点购买天然气。请注意,气体和乙醚是两个不同的术语,因为气体表示在区块链网络上执行操作的固定成本,而乙醚是一种波动性虚拟货币,用于支付网络资源。

4.1 实验装置

我们使用solidity编程语言开发了拟议RBAC智能合约的原型,并将其部署在Rinkeby以太坊测试网上。在4月份的分析期间,我们观察到平均气体值为≈ 0.000000021乙醚和1乙醚≈ 137.66美元。实验结果表明,我们提出的智能合约需要1869303气体进行部署。因此,在区块链上创建和部署我们提出的智能合约需要0.256美元。然而,初始化我们提出的RBAC智能合约只需花费一次时间。

4.2 结果

表1显示了资源所有者为主体分配角色时,拟议智能合约功能的一次性成本。值得注意的是,一个角色与一个额外的权限元素一起分配给用户。从表中可以看出,天然气消耗成本略有增加。但是,其余三个功能的成本始终不变,因为这些功能独立于智能合约的主要功能(即策略创建和策略更新)。

表1还显示,访问控制功能的一次性固定成本为0.0031美元。资源所有者还可以通过调用deleteRBAC()函数从区块链中删除智能合约,该函数执行自杀或自毁操作,以从以太坊区块链中删除RBAC代码。

我们进行了一项实验,以评估RBAC策略中的受试者数量对气体消耗的影响(即,当资源所有者在单个策略创建事务中将角色分配给一组受试者时)。实验结果如图2(a)所示。结果表明,该政策是可行的

image-20211110161927974

创建和更新1个以太坊地址的事务需要在Rinkeby testnet上消耗3392气体,随着我们增加这两个事务上的地址数量,此成本呈线性增加。我们还观察到,随着RBAC策略中用户数量的增加,合同部署气体成本也呈线性增加。值得注意的是,给出的结果表明,所提出的框架适用于在单个策略创建事务中同时将相同的角色分配给多个用户。

我们进行了另一个实验,以评估比特数对气体消耗的影响,如图2(b)所示。实验结果表明,在策略创建和更新事务中,表示特定输入的每个位都需要在Rinkeby testnet上使用恒定量的gas。

image-20211110161948052

如果矿工已批准区块链上部署的智能合约的所有相关交易,并且这些交易记录到新区块,则隐私政策可能有效。值得注意的是,块生成时间与事务速率成正比(即,进行的事务越多,生成相关块所需的时间就越多)。我们建立了自己的专用以太坊网络,以评估矿工数量对区块生成时间的影响。最初,我们配置一台采矿机来开采区块。然而,随着矿工人数的增加,区块生成时间缩短,当矿工人数达到4人时,区块生成时间变得稳定,如图3所示。此外,我们还确认了Rinkeby testnet上的块生成时间。

image-20211110162005710

4.3 安全性分析

此外,作为主体,攻击者的目标是模拟它不拥有的角色(即,它可以尝试向资源提供程序或受信任节点声明错误角色),以便非法访问另一个DOSN用户的资源。然而,如前所述,每个DOSN用户在网络中都有唯一的私钥,并且敌方无法泄露系统中用户的私钥。

DOSN网络中的每个用户都可以选择其一个或多个邻居作为受信任节点。选择这些节点在网络中执行可信操作,包括数据存储和访问控制。

我们假设框架中使用的加密原语不能被对手破坏。因此,他们无法伪造数字签名并获得哈希冲突。值得注意的是,所提出的框架是面向区块链的,因此,我们假设对手无法控制网络中的大部分计算能力,以避免51%的攻击。

质询响应协议用于对用户的身份、角色和区块链上的相关访问权限进行安全验证。质询响应协议中使用的验证步骤可以离线进行,近场通信(NFC)和快速响应(QR)码等设备中使用的最新技术可以有效地传输消息和签名。

image-20211110162039253

5. 结论和展望

在本研究中,我们使用区块链技术为DOSNs提出了一个可审计和用户驱动的基于角色的访问控制管理框架(RBAC)。DOSN用户与具有唯一公钥和私钥的以太坊帐户关联。公钥作为用户的地址,私钥用于证明DOSN用户的真实身份。每个DOSN用户都能够调用区块链上部署的访问控制合同的分配和撤销功能。拟议方案的优点包括可审计性(即,用户角色分配在区块链上可见)。因此,任何用户都可以随时轻松地检查它们。此外,它们还可以包括其他元素,如到期时间,以自动撤销分配给用户的角色。我们计划在几个方面扩展我们的工作。我们将研究利用外部存储(如私有云)的可能性,以保证离线用户的数据可用性。此外,我们正在开发一个DAPP,以与区块链上的不同智能合约系统进行交互,包括将基于角色的访问控制策略转换为将部署在区块链上的智能合约的工具。

总结:尼玛,翻译过来后,没咋看懂,创新点应该是:区块链被用作隐私政策定义的支持,资源所有者使用主体的公钥定义灵活的基于角色的访问控制策略,而与主体的以太坊帐户关联的私钥用于在区块链上验证访问权限后解密私有数据。

合约系统进行交互,包括将基于角色的访问控制策略转换为将部署在区块链上的智能合约的工具。

总结:尼玛,翻译过来后,没咋看懂,创新点应该是:区块链被用作隐私政策定义的支持,资源所有者使用主体的公钥定义灵活的基于角色的访问控制策略,而与主体的以太坊帐户关联的私钥用于在区块链上验证访问权限后解密私有数据。

Privacy-preserving machine learning is becoming increasingly important in today's world where data privacy is a major concern. Federated learning and secure aggregation are two techniques that can be used to achieve privacy-preserving machine learning. Federated learning is a technique where the machine learning model is trained on data that is distributed across multiple devices or servers. In this technique, the model is sent to the devices or servers, and the devices or servers perform the training locally on their own data. The trained model updates are then sent back to a central server, where they are aggregated to create a new version of the model. The key advantage of federated learning is that the data remains on the devices or servers, which helps to protect the privacy of the data. Secure aggregation is a technique that can be used to protect the privacy of the model updates that are sent to the central server. In this technique, the updates are encrypted before they are sent to the central server. The central server then performs the aggregation operation on the encrypted updates, and the result is sent back to the devices or servers. The devices or servers can then decrypt the result to obtain the updated model. By combining federated learning and secure aggregation, it is possible to achieve privacy-preserving machine learning. This approach allows for the training of machine learning models on sensitive data while protecting the privacy of the data and the model updates.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值