[tp钱包下载官网]基于区块链的隐私保护数据共享

摘要:区块链是近年来出现了一项分布式共识技术,基于区块链共识协议结合智能合约技术可实现去中心化的数据共享。隐私保护是数据共享中的关键特性,原生区块链没有解决隐私保护问题。利用数字摘要匹配算法提出了一种数据共享协议,该协议通过数字摘要空间的信息匹配,可在保护数据隐私的情况下实现数据的受控共享。基于协议的运行逻辑,分析了协议执行的正确性,参与双方可实现数据交换共享。针对数据共享中的面临的安全威胁,给出了安全性分析。内容目录1 预备知识1.1 区块链及其安全特性1.2 智能合约2 协议设计2.1 身份注册与管理2.2 区块链数据访问接口2.3 隐私数据共享协议3 协议安全性分析3.1 正确性3.2 安全性区块链技术是以比特币为代表的加密数字货币系统中的底层技术。由于区块链具有去中心化、公开透明等特点,受到了研究者的广泛关注。其主要解决了在没有引入可信第三方的基础上,相互不信任的节点之间达成共识的问题。抽象来看,区块链可以看作是一个无中心化的可信第三方,进而消除了中心化可信第三方的不可靠性。借助区块链这种虚拟的可信第三方,参与者可以实现双方数据的共享访问。尤其在开放性的网络环境中,基于区块链的数据共享能够消除用户对可信中心节点的依赖。在比特币之后,又出现了多种改进的区块链协议f需要强调的是,区块链技术本身并不提供隐私保护功能。虽然在比特币系统中,通过随机账户的引入,可以在一定程度上保护用户的身份信息,但是区块链上所有的交易数据本身依然是明文保存于交换的。在后续的加密数字货币中引入了更强的隐私保护功能也但是为了保护区块链上一般数据的私密性,需要采用更多的密码技术。在特定的场景下,如金融企业双方需要共享用户的违约等信用信息又不愿意泄露自己的用户信息情况下,隐私保护的数据共享尤为重要。近年来,利用区块链在不同行业实现数据共享的应用也广泛得到研究。本文基于区块链技术设计了一套新的数据共享协议。在满足多方数据共享的前提下,避免对非授权者泄露数据提供者拥有的数据信息与隐私,数据请求者也只能正确获取在其权限范围内的数据。01预备知识1.1  区块链及其安全特性区块链由区块+链构成。以比特币为例,所有交易信息在数字签名后存储在区块上,每个节点在本地维护一份账本副本。区块链通过数字签名等密码学知识实现数据的防篡改、防抵赖等安全保护,解决了拜占庭将军问题四与双花问题。Juan等人于2015年证明了区块链理论的安全性。区块链作为一种新型的分布式多方记账系统,正逐渐由单纯记录数字货币的交易信息发展至承载产权、合约等价值存储,并在各大金融机构的努力下衍生出了联盟链与私有链。区块链所能提供的安全性特性包括:(1)一致性:在分布式环境中,所有的参与节点都能够得到一致的数据结果。(2)存活性:即便有恶意节点存在,区块链仍然能持续不断地记录新的数据。(3)公平性:因为有诚实节点的存在,所有用户的信息都能得到记录和存储。但是区块链协议并不能提供数据的隐私保护,区块链中所承载的数据所有参与节点均能接收,因此在需要隐私保护的场景应叠加其他密码技术。1.2  智能合约20多年前著名密码学专家Nick Szabo提出智能合约这一概念。智能合约用计算机编程语言来实现传统合约,它通过代码来制定合约,执行协议实现合约双方的权利与义务。智能合约可以较好的控制价值的存储与管理,与状态机相似,通过定义多种状态与规则,制定合约被触发时所需的条件与相应响应逻辑自动完成交易流程。然而,在区块链技术出现以前,智能合约一直未能落地,因为执行智能合约需要靠可信的第三方来监督合约不被篡改并被双方可靠执行,但传统计算机程序无法保障这一点。将智能合约代码与状态通过共识存放在区块链上,保障了代码执行、资产转移过程的安全性以及存储记录的永久性。智能合约提高了自动化交易水平,降低了交易成本,同时也保障了交易的安全性。基于区块链的智能合约可以在金融等领域提供更多的应用场景,这其实相当于基于区块链的安全多方计算。02协议设计为了简化讨论,假设数据共享参与者为A、B两方。数据提供者为A,数据请求者为B。数据提供者负责存储数据索引与提供真实数据,并对数据共享请求作权限校验;数据请求者向数据提供者请求读取数据的权限。应用场景为,当B知道数据的索引信息,则A向B提供该索引信息的数据查询服务,当B不知道数据的索引信息,则B不能获取A的任何数据信息。该场景适合于当A、B有共同的客户注册信息时(如用户名、身份证号等),双方可共享信用数据。而一方不能主动查询另一方的用户信息。2.1  身份注册与管理本协议中,参与者的身份由公钥密码基础设施(PKI)加以保护,注册中心CA向外提供注册与身份校验服务。区块链的共识节点在加入共识前先进行注册,并由CA签发包含其公钥的证书,通过CA校验身份后才可加入共识网络环境。普通参与者采用同样的机制获得公钥证书,并参与后续的数据共享协议。2.2  区块链数据访问接口区块链作为一种数字化的、安全的总账账簿,具有防篡改的特性。用于共享交换的数据存放在区块链上,协议定义三类与区块链进行交互的接口,分别为Tdata与Taccess与Tdeploy。Tdeploy:每个应用为了提供特定的服务与功能都需要在上次部署智能合约,所以本系统在进行数据共享时需要通过deploy命令部署智能合约,即链码Chaincode 。Tdata:存储数据协议。当系统希望区块链通过BuildBlock构建区块存储数据时,首先将数据打包成交易,并将列作为关键信息写入交易,签名后进行广播,Peer收到交易后传递给共识插件进行全网共识。Taccess:查找数据协议。以V作为关键信息遍历区块链中的区块,找到其中所有的Transactions信息。再遍历Transactions以key为索引找到对应的交易,校验其智能合约ID和操作类型,并验证其完整性后得到内部payLoad数据。2.3  隐私数据共享协议假设数据提供者为A节点,数据请求者为B节点。CA节点启动并进行预注册后,协议的具体流程如图1所示。

发表回复

您的电子邮箱地址不会被公开。


Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/i-bin.cn/wp-includes/class.wp-styles.php:214) in /www/wwwroot/i-bin.cn/index.php on line 18