如何建设智慧城市?基于区块链搭建隐私共享框架

引言,作者最近正在研究基于区块链和隐私计算的数据安全共享解决方案,认真研读了 Imran Makhdoom等人的研究论文《PrivySharing: ABlockchain-Based Framework forPrivacy-Preserving and Secure Data Sharing inSmart Cities》,深受启发,特此分享部分学习笔记,供大家参考。如何将区块链应用于智慧城市数据安全共享,提出了相关的协议;,如何进行数据上链;如何处理普通数据和保密数据(保密数据仅保存数据 HASH值);以及如何使用智能合约进行数据访问控制。IoT的应用范围很广,从工业控制系统到电子健康,电子商务,智慧城市,农业,供应链管理,智能汽车,网络物理系统等等。但是, loT系统所收集和处理的数据,特别是集中控制的数据,容易受到可用性、完整性和隐私方面的威胁。该文提出了一种基于区块链技术的创新框架,以解决智慧城市环境下,数据批量共享过程中所遇到的隐私泄露和安全保护问题。文中提出的方案在很多方面不同于已有的策略;通过将区块链网络分成多个通道(Ch),以保护数据隐私;每个通道(Ch)由有限数量的授权机构组成,用于处理特定类型的数据

例如健康、智能汽车、智慧能源或金融信息;通过在智能合约中嵌入访问控制规则,以控制对通道(Ch)内用户数据的访问;通过单独使用私有数据收集和加密,可以进一步隔离和保护通道(Ch)内的数据;使客户机能够与区块链网络交互的 REST API具有 API密钥和 OAuth2.0形式的双重安全。本论文提出的解决方案符合欧盟通用数据保护条例(GDPR)中概述的一些重要要求;提供了一种称为" PrivyCoin"的数字标记奖励系统,以鼓励用户与第三方共享信息;实验结果表明,与单通道(Ch)区块链系统相比,多通道(Ch)区块链系统具有良好和可扩展性,提供隐私权保护,防止威胁到用户数据完整性和隐私权的大多数内部和外部攻击;遵守欧盟 GDPR的一些基本要求;,一种基于区块链的解决方案,它提供了关于用户数据的“忘记权”;,一种可扩展的(关于块的大小)、安全、高效的(关于能耗和计算需求)数据共享框架;一种用户定义的对用户数据的细粒度访问控制;提供透明和可审计的网络操作,同时控制用户私有数据的泄漏;通过 REST API,对客户进行安全的访问区块链网络;为那些与利益相关者/第三方共享数据的用户提供奖励系统。4.1

1.关于在智慧城市中如何使用区块链实现数据共享,提出了相关的协议,(1)隐私共享:基于区块链的数据安全共享,使用区块链的数据完整性和智能合约特性,在智慧城市环境中可以安全、自主地执行各种操作。另外,区块链能够防止服务器入侵以及对权限的篡改/修改。毋庸置疑,在智慧城市环境中,只有确保通过各种设备收集到的个人和敏感数据得到充分保护和控制,人们共享个人信息才会感到安全。只有经过精心挑选和精心设计的区块链技术才能提供这种保证,为实施上述智慧城市用例,本研究以Hyperledger-Fabric为基础区块链平台,相对于其他区块链平台,Hyperledger-Fabric是一种只有授权才能参与网络的私有受限许可区块链。与其他区块链技术不同,区块链分类帐主要包括两个部分,即记录 TXs的区块链和记录分类帐状态的状态数据库,这两个部分是区块链技术的主要特点。网络架构,如上图所示,智慧城市区块链网络,包括11个组织和它们的相关对等节点。鉴于与不同利害关系人分享不同类别的用户数据,以及确保用户数据隐私和安全的需要,如下图所示,区块链网络包括5个不同的数据信道(Ch),信道(Ch)为各组织之间的通信提供了完全独立的机制。此外,每条信道(Ch)独立于其他信道(Ch)。这样,这些信道(Ch)通过只安全地与经过授权的实体共享特定类型的数据而保护用户数据的隐私,通过网络配置中心(NC)指定的策略规则,对智慧城市网络进行访问控制。公司01更新 NC,同时还将02、03和04授权给管理(admin)。通过建立联盟和信道(Ch),这些组织现在可以加入更多网络成员。同样,每一个信道(Ch)都由在信道配置(CC)中指定的策略规则来管理。每条信道(Ch)都有一个单独的总帐,所有对等点都必须保留一份其所属的每条信道(Ch)的总帐副本。信道(Ch)中的数据与其他网络,包括其他信道(Ch)隔离。本文所建议的网络架构的另一个重要功能是使用会员服务提供者 MSP,在不同层次(例如网络、通道(Ch)和本地/对等网络)上进行工作。NMSP (网络 MSP)定义了哪些人是网络的所有成员,哪些人具有管理员权限。另外, NMSP定义了哪些 RCAs/CAs是可信的。而通道 MSPs (CMSP)则概述了通道级别(Ch)的管理和参与权利。各对等节点和 ODS (订单服务)共享公共 CMSP,以正确管理和验证信道(Ch)成员的授权。例如, CMSP的用例是,某个组织的管理员希望在通道(Ch)1上实例化 SC,然后其他通道(Ch)成员可以通过查看 CMSP来验证该管理员是否属于某个组织,以及他是否有权在通道(Ch)1上实例化 SC。同样,本地 MSP (LMSP)是为每个客户端部分的点/对等节点定义的。该 LMSP使对方与它的组织相关联。此外,还定义了该对等节点的权限,并允许它在 TXs中的通道(Ch)上进行认证。这个问题可能就是 CC (Channel Configuration)和 CMSP之间的区别。这个委员会包括了管理渠道(Ch)的策略,也就是哪些组织可以管理渠道(Ch)和增加新成员。而且, CMSP建立了节点和其各自组织之间的链接,而且,节点能够在通道(Ch)中发挥什么作用,也就是说,它能够实例化通道上的 SC吗?在授权方面,相对于单个组织中的所有管理权限,使用专门的可信 CA、区块链管理员和业务网络管理员可以在某种程度上将管理权限分散。4.2

2.关于如何进行数据上链,为了确保信道(Ch)内关键用户数据的隐私,信道采用了一种"收集私有数据"的办法,将部分用户数据向某些组织保密,其中,重要的私人信息仅直接发送给经授权的机构。该数据存储在高级数据库中。已授权节点。尽管私有信息存储在授权节点上,但仅处理该数据的散列,即数据的散列,作为 TX的证据,也有助于验证事件状态。数据安全的一个重要特征就是,对节点进行排序,看不到,私有数据。然而,为了进一步提高数据的保密性和保密性,用户可以选择对其私有数据进行加密,这样,即使是经过授权可以查看存储在私有数据集合中的数据的对等节点,也无法看到原始内容。用AES-256位对称密钥对数据进行加密,然后将其存储到一个私有数据集合中。然后,只有经过授权的具有访问解密密钥的用户才能查询用户的私有数据。除数据加密外,还增加了另外一项功能:对私有数据进行签名加密,以提高用户认证和数据安全。4.3

3.关于普通数据和机密数据如何处理,机密数据只保存数据 HASH值,(1)智慧城市区块链-纯 TX流, TXs有两种类型:普通 TX,所有信道(Ch)成员都可以查看;而私人信道(Ch),仅与某些特定同行共享。例如,通过安装在爱丽丝智能车内的客户端应用程序 A来启动一个普通 TX,以更新爱丽丝汽车在Ch2上的当前位置状态。这个 TX (如上图5 a所示)是按照以下步骤处理的。第1步: ClientAppA调用 SC,然后,基于Ch2上的 SC

A,认证策略将 TX提案发送到 TX,其中包含爱丽丝汽车的当前位置。本例中,背书人为E2a (RTA)、E2b (警察)和E2c (汽车服务供应商)。若三个指定背书人中至少有两个为 TX所背书,则该 TX将被批准。第2步:三个发言人E2a中,E2b和E2c调用 SC,建议; SC产生一个查询,或者更新建议响应,由支持者E2a和E2b来确认建议的正确性。第3步:E2a和E2b都将已签署(认可)的 TX提案响应和 RW发送给 ClientAppA。到了这个阶段,被认可的同行不会对他们的总帐副本应用拟议的更新,第4步: ClientAppA确认收到的来自至少两个背书人的相同的响应,即确定性。然而,结果可能是在不同时间、不同分类账的不同对等节点产生的。这样,对于相同的 TX建议,对等节点可以返回不同的 TX响应。如果是这样,应用程序只需请求最新的建议响应,即可。另外一种不太可能是 SC可能具有不确定性,例如,当从某些网站获取外汇(汇率)数据时, TX的反应可能会不同,因为不同时间的汇率可能会不同。结果是,不一致的结果无法被应用程序接受,并应用到总帐中。第5步: ClientAppA检查了背书人的响应之后,它将 TX发送给 ODS。第六步: ODS会把收到的 TXs组织成一个块。TXs代码块中的 TXs序列不必与排序者的 TXs到达顺序相同。但产生的块是最终的,没有分叉。另外,用户不托管帐户和 SCs,他们也不关心 TX的价值,而仅仅是把 TXs打包成一个模块。第七步: ODS向通道(Ch)2上的所有节点广播下一个提议的块。第8步:所有提交对等方都要对每一块 TX (按照它们在一块中出现的顺序)进行验证,以确保在所有 TX都应用到分类帐之前,所有必要的背书人都对其进行了正确的背书。当 TX被正确验证后,对等方将执行分类帐一致性检查,以确保在生成建议的更新时,分类帐的当前状态与其兼容。更新基于已验证 TX的世界状态。请注意,失败的 TX不会应用到分类帐中,而是将其保留用于审计。另外,步骤8中的 TX验证不要求 SCs运行。只由背书人代签。所以, SC只被安装到了签证方的计算机上。因此,认证委员会的逻辑只对认证机构保密。另外,对等体将每一个 TX标记为有效或无效的块,最终,在分类帐L2中存储的散列链中添加了一个新的块,并由文件系统中的所有对等方维护。第9步:生成账单更新事件,并通知 ClientAppA。一定要注意,在添加块之前进行版本检查,以确保更新状态与 SC执行过程中读取的状态相同。避免了双重开销和其它数据完整性威胁。上述 TX工作流程是由订货方协调的,称为“共识”,即所有同行都同意 TXs的内容和顺序。(2)智慧城市区块链私人数据 TX流,根据上图3所示的智慧城市网络设置,如果 Alice身上装有可穿戴血液酒精检测装置报警,那么只有她所在的医疗中心和当地警方才能看到,并立即作出反应。本例中,需要保持 TX私有,并且除了P2、P4和P5以外,Ch1上的其他成员不应该看到 TX。这类私有数据 TX (如上图5 (b)所示)按下列步骤处理:步骤1: ClientAppB向提议的对等节点E1b (主医疗中心)和E1c (警察局)提交请求请求调用 SC功能(RW私有数据),这些对等节点是收集授权组织的一部分(根据卫生警报的私有数据分配策略定义)。在建议的临时字段中发送了有关血液酒精浓度健康警报的私人数据。第2步:E1b和E1c模拟 TX,并将私有数据存储在瞬态数据存储区(本地临时存储区)。支持节点也会通过闲话向授权对等器分发基于收集策略的私有数据。但在本例中,我们只有三个对等项,即P2 (E1b)、P4 (E1c)和P5。第3步:E1b和E1c将提案答复与公共数据一起发送给 ClientAppB,其中包含私有数据密钥和散列值(酒精度)。不会以明文形式将任何私有数据发送回 ClientAppB。第4步: ClientAppB检查从E1b和E1c收到的 RW集是否相同。第五步: ClientAppB向 ODS提交 TX和私有数据散列值。第六步: ODS将 TX打包到最新的块中。在Ch1上,所有对等节点都被分配了一个散列值。第7步:通道上的所有对等节点都使用私有数据的散列值一致地验证 TX,而不需要知道实际的私有数据。第8步:生成账单更新事件,并通知 ClientAppB。4.4

4.关于如何使用智能合约控制数据访问,通过多个信道(Chs)试验结果限制用户访问数据资产。除通外

提示:如果您觉得本文不错,请点击分享给您的好友!谢谢
相关推荐
新闻聚焦
猜你喜欢
热门推荐
 
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。