收藏 分销(赏)

基于智能合约的双链数据共享系统.pdf

上传人:自信****多点 文档编号:2639307 上传时间:2024-06-03 格式:PDF 页数:7 大小:3.82MB
下载 相关 举报
基于智能合约的双链数据共享系统.pdf_第1页
第1页 / 共7页
基于智能合约的双链数据共享系统.pdf_第2页
第2页 / 共7页
基于智能合约的双链数据共享系统.pdf_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、收稿日期:修回日期:基金项目:河南省重大公益专项资助项目()河南省网络密码技术重点实验室开放基金资助项目()河南省食品安全数据智能重点实验室开放课题()作者简介:梁茹锦()男硕士生主要研究方向为网络空间安全:/基于智能合约的双链数据共享系统梁茹锦 于 刚 陈才军(.信息工程大学河南 郑州 .中电长城网际安全技术研究院(北京)有限公司 北京)摘要:为解决传统数据共享模式下数据存储于中心、权限集中于中心带来的单点故障、单点攻击、访问控制不灵活等问题基于区块链上智能合约设计了一种双链混合架构的新型数据共享系统:系统通过星际文件系统()实现数据分布式存储解决了数据中心化存储带来的单点故障、单点攻击的问

2、题通过联盟链和私有链双链混合的方式利用区块链不可更改的特性保护数据不被非法篡改通过链上智能合约实现数据的灵活共享和访问可控访问记录透明可追溯解决了传统数据中心非法授权等恶意行为无法监管的问题关键词:区块链数据共享智能合约访问控制中图分类号:文献标识码:文章编号:().引言目前各个机构主要通过计算机存储数据:医院通过计算机存储病人健康数据科研院所通过计算机存储技术数据企业通过计算机存储业务数据 这些数据由各机构独立存储独立维护彼此间物理隔离形成了数据孤岛如何有效地保护这些敏感数据并进行可控共享已引起广泛关注第 卷第 期 年 月信 息 工 程 大 学 学 报 .网络通信是实现数据共享的主要方式之一

3、但通信双方通常缺少可信的通信渠道使得数据篡改伪造、恶意删除等不法行为屡见不鲜 为了防止上述恶意行为人们在进行数据通信、资产交易时通常引入一个可信第三方作为中心服务器来解决信任问题 但中心化的系统往往面临着以下风险:一是单点故障和单点攻击如果中心服务器出现故障或被攻击整个系统的安全性就会被破坏二是中心缺乏监管中心服务器掌握着大量用户数据的同时拥有很多权限中心得不到监管很容易做出损害用户利益的行为三是用户在数据共享过程中无法自主对访问对象进行限制存在数据非法传播的可能区块链技术为解决这些问题提供了新的思路区块链利用数据加密、数据摘要、分布式存储、点对点传输等关键技术可以实现去中心化的数据管理并且可

4、以借助智能合约实现灵活可控的数据访问 近年来国内外学者在数据保护与共享方面对区块链进行了很多研究 文献提出了一种档案数据保护与共享方法在联盟链和公有链上部署智能合约实现了档案数据的可信管理与共享 文献提出了一种电网数据湖访问与共享模型并利用区块链中的智能合约进行了优化实现了数据的跨域共享 文献将区块链技术应用于电子病历()的安全共享提出了一个医疗区块链平台用户可以在一个安全的、许可的链上快速共享个人健康数据 文献通过深入分析当前政务信息资源共享及公开的关键因素和运行机制构建基于区块链的政务信息资源共享与交换网络体系 文献提出了一种基于区块链的数据共享和访问控制系统用于物联网设备之间的通信 文献

5、提出了一种用于访问控制管理和安全数据存储的区块链方法将加密数据存储在可信第三方托管服务中并将存储信息记录在区块链上 但现实世界中没有可信的第三方这就带来了数据泄露的风险 文献设计了一种简单、高效的访问控制机制为传统的区块链添加隐私和细粒度访问控制特性文献 通过对个人健康档案()系统的研究利用区块链技术的不变性和不可逆性提出一个基于区块链的 模型该模型使用区块链技术来支持抗篡改特性使用其他加密技术来保护隐私本文通过区块链双链混合方式和智能合约技术结合星际文件系统()设计了一种新型数据共享系统可以实现各独立组织之间的数据安全共享:)系统内由相互间有数据共享需求的组织构建联盟链通过在联盟链上部署智能

6、合约设置数据访问策略实现身份认证和访问授权的去中心化系统操作记录记录在区块链中透明可追溯 每个组织都维护一条私有链定期存储联盟链上的交易信息哈希值防止记录篡改)系统利用 实现数据的分布式存储避免数据中心化存储带来的单点故障和单点攻击的风险提高数据存储的安全性)系统通过链上链下协同保证数据安全数据分布式存储在 中系统将数据的哈希值存储在区块链上利用区块链不可篡改的特点保护数据的完整性防止数据被篡改 预备知识.区块链关键技术区块链本质上是一个分布式数据库它的基本存储单元是区块区块之间通过哈希值互相链接区块链可以分为公有链、联盟链和私有链 公有链是开放式的网络任何人都可以参与联盟链通常由几个有业务关

7、联的成员组成对联盟成员开放共识由联盟成员参与私有链适用于单个组织的内部系统使用具有更强的权限控制共识机制是区块链网络中对记录数据达成共识的一种方法 目前区块链系统中的共识机制主要有工作量证明()、股权证明()和权威证明()共识机制中各节点通过算力竞争求解一个计算复杂但验证简单的数学难题最先得到正确答案的节点获得新生成区块的记账权 共识机制提出了币龄的概念节点持有的代币数量乘上持有的时间得到节点所拥有的币龄节点持有的币龄越多节点获得区块的记账权的可能性就越大 共识机制是预先选定记账节点由记账节点负责记录区块 表 是 种共识机制的特点对比 第 期梁茹锦等:基于智能合约的双链数据共享系统表 共识机制

8、特点对比共识机制运行方式优点缺点效率找到一个随机数使得区块头哈希值小于等于难度目标去中心化程度高节点自由进出共识效率低计算耗费大低根据节点持有的货币和持有时间决定挖矿难度缩短了共识时间安全性减弱中预先选定记账节点记账节点相对固定提高了共识效率去中心化程度较低安全性减弱高 通过表 可以看出共识机制无法兼顾交易速度、安全性和去中心化 个特性必须根据实际应用场景灵活地选用区块链的共识机制智能合约是一种计算机协议 年由美国计算机科学家 提出 智能合约最初定义为“一套以数字形式指定的承诺包括合约参与方可以在上面执行这些承诺的协议”在区块链中智能合约是部署在区块链特定地址上的一段可执行代码是一种无需中介、

9、自我验证、自动执行合约条款的计算机交易协议 图 是智能合约的运行机制示意图当合约输入满足合约预置的响应规则时合约便会自动执行并返回相应的结果图 智能合约运行机制.是一个通过内容哈希进行索引的点对点文件系统它结合了分布式哈希表、传输、版本管理系统具有内容可寻址、不可篡改、去中心化等特点 基于哈希确保内容真实性进行文件存储时 会根据文件内容计算得出文件哈希在获取文件时 根据文件哈希从存储节点中取出文件并验证之后返回给用户 分为私有集群和公有集群公有集群是指全网 节点构成的分布式网络任何节点均可加入到该网络中私有集群仅限于某个团体或组织内部使用具有相同 的节点才可以参与到该网络中 系统方案为了打破数

10、据孤岛效应实现不同组织之间可信可控的数据共享本文设计了基于智能合约的双链数据共享系统 本系统通过联盟链与私有链相结合的方式兼顾系统效率和安全性 系统在联盟链上部署智能合约实现系统中的组织和成员的身份管理、数据的安全存储、数据访问控制策略的设定以及数据的可控分享私有链通过记录联盟链中数据区块的哈希值实现对联盟链的数据锚定.系统架构设计针对传统中心化的数据共享模式下数据存储安全问题中心监管问题数据失控、滥用问题本系统利用区块链、智能合约以及 实现存储及访问授权的去中心化以及灵活的访问控制 系统由联盟链、私有链、系统远程过程调用()和私有 集群组成系统架构如图 所示图 系统架构图进行数据共享的各组织

11、作为权威节点参与组成联盟链享有成员注册与撤销、数据验证与共享等服务每个组织自行维护一条私有链定期存储联盟链上区块信息的摘要系统 以应用程序编程接口()的形式为组织提供身份管理功能为成员提供信息上传、共享等功能 私有 集群存储了加密数据的原始信息并通过.进行节点的身份认证通过分布式哈希表()、块交换()等技术保障数据的安全性.分层数据访问控制智能合约系统通过在联盟链上部署智能合约来实现用 信 息 工 程 大 学 学 报 年户的身份认证管理和数据的存储共享部署的智能合约体系分为管理层合约和用户层合约 图 是合约的体系结构图图 分层合约示意图管理层合约用于记录各组织身份标识以及实现各组织对内部成员的

12、管理 管理层合约包括组织身份记录合约()、组织身份管理合约()和成员身份管理合约()作为全局合约用于记录组织的公钥信息()、对应的身份标识()以及与其相关的)用于组织内部成员的管理包括成员身份注册合约()和成员身份注销合约()记录组织内部成员的公钥信息()和对应的身份标识()以及与其关联的成员层合约 用于成员离开或私钥信息丢失等异常情况下对成员身份的注销)包括组织加入投票合约()和组织注销投票合约()当有新的组织进入系统时委托系统内的组织节点调用 对加入请求进行投票当同意票超过总票数三分之二时该组织才能加入系统 用于某个组织私钥信息泄露时在系统内注销这个组织的身份用户层合约是组织内用户节点进行

13、数据发布、保护、共享、验证等业务逻辑的合约主要包括数据上传 管 理 合 约()、数据权限控制合约()和数据获取合约()存储用户节点发布数据的信息包括数据编号()、数据 地址、数据哈希值和数据上传时间等)记录用户上传数据的访问对象用户通过此合约实现数据的可控访问 存储数据的、数据共享标识()和共享信息 标识数据的访问对象含义见表)用于验证数据访问者的权限并实现数据的共享表 分类含义仅本组织内部成员可见特定组织成员可见所有组织成员都可见.双链混合架构的数据验证本系统采用联盟链与私有链相结合的方式联盟链采用 共识机制由几个数据共享组织节点组成记账节点共识效率高私有链采用 共识机制由组织实体内部成员节

14、点参与共识共识安全性高 联盟链和私有链相结合的方式在保证系统安全性的同时可以提高系统的处理效率系统在联盟链上部署智能合约实现用户的身份管理、数据的安全存储、数据访问控制策略的设定以及数据的可控分享系统内部成员的操作记录记录在联盟链中透明可查 私有链上部署数据保护合约通过定期记录联盟链中数据区块的哈希值实现对联盟链的数据锚定增强数据的安全性当进行数据验证时用户从私有链数据保护合约中获取最新的联盟链区块快照信息并与联盟链中的区块信息进行比对验证若验证不通过则返回联盟链数据异常错误 如果发现异常用户可以继续与数据保护合约之前存储的区块信息进行对比定位出异常区块高度并在联盟链中基于此区块高度重新开始创

15、建新的区块 系统应用.组织身份的创建与撤销组织是系统内部进行身份认证和成员管理的重要主体系统内有新的组织加入时需要得到系统内其他组织的同意后方可加入具体流程如下:)新组织节点在本地利用椭圆曲线数字签名算法()秘密地生成公私密钥对私钥 第 期梁茹锦等:基于智能合约的双链数据共享系统在本地秘密保存)将新生成的公钥 通过可靠信道发送给系统并调用 提出加入组织的请求)系统内其他组织通过 审理加入请求并进行投票当有三分之二以上的组织成员同意该请求时 合约保存该组织的公钥信息然后为其生成 并创建 从而完成组织身份的注册)当某个组织成员的私钥泄露或丢失时该组织委托系统内的某个组织节点通过 注销该组织的身份信

16、息当超过二分之一的组织成员审理并同意后该组织的身份信息被注销.成员身份的管理组织成员是系统内部进行数据交流与共享的主体当某一组织增加成员时成员节点先在本地利用 椭圆曲线算法生成公私钥对将自己的公钥 连同成员身份信息用组织节点公钥 加密后发送给组织节点 组织节点审理成员的加入请求当通过后组织节点用自己的 对成员信息进行签名并调用 合约验证组织的签名信息验证通过后为成员创建一个 连同成员的公钥信息 存储在 中完成成员身份的注册当成员节点离开部门或者私钥丢失时需要对用户节点的身份进行注销组织节点对用户的公钥、等信息用签名后发送给 验证组织签名是否正确验证通过后在成员身份中加上注销标识否则返回错误信息

17、.数据的上传与存储数据上传和存储是指将数据对象 的 地址和数据哈希值存储到区块链中数据对象 的格式如表 所示表 格式标识含义:文件编号:数据所有者:数据描述:当对数据进行上传和存储操作时用户先随机生成一个对称密钥 用于对附件的加密加密后得到 存储到私有 集群中得到该文件的 地址 然后连同附件数据的哈希值、文件描述、上传时间等信息整合得到 并将 存储到 集群中得到 地址 最后对、数据编号、数据对象的 地址、数据对象的哈希值 进行签名调用 进行上传合约通过 确认成员身份并对签名进行确认确认成功后则在合约中添加文件编号与摘要等信息的映射具体流程如图 所示图 数据上传流程图.数据的共享与获取数据的共享

18、是指用户上传的数据在组织成员之间以及跨组织之间共享交流本系统通过智能合约和 系统实现了可靠的数据共享具体流程如图 所示)用户 首先用待分享组织 的公钥对目标文件的加密密钥 进行非对称加密得到 然后用私钥 对目标文件的文件编号 身份标识 待分享的组织身份标识 等进行签名发送给 对签名信息进行验证验证通过后将 和 写到 的分享列表中)组织中的用户 访问时用私钥 将访问的文件编号 身份标识 进行签名调用 验证用户 的签名信息以及用户 是否属于组织 验证通过后将数据的、等信息返回给用户)用户 根据 从 集群中得到数据对象根据 来验证数据是否被篡改 然后将身份标识 进行签名发送给组织节点 请求其恢复出加

19、密密钥)组织节点 收到请求后首先验证签名信息是否正确以及用户 是否属于本组织验证通过后利用自己的私钥解出 并用用户 的公钥进行加密发送给)收到消息以后用私钥 解出密钥以后对 进行解密文件并根据文件哈希值来判断是否被篡改 信 息 工 程 大 学 学 报 年图 数据共享流程图 系统性能分析在 台配置为 核 内存 存储的计算机上运行系统节点通过以太坊客户端搭建联盟链并部署智能合约连续调用 次合约测试系统的交易处理速度 测试的具体环境配置如表 所示表 测试环境硬件环境软件环境名称版本用途操作系统.节点服务器操作系统内存.节点运行依赖环境.以太网客户端硬盘.分布式版本控制系统.测试脚本开发语言测试以太坊

20、客户端 的版本为.语言的版本为.操作系统为 根据系统运行日志显示 个交易被打包成 个区块 个区块的交易数量为 一个区块的交易数量为 详细结果如表 所示表 运行日志区块号交易数量处理节点运行时间/节点 节点 节点 节点 采用 的联盟链交易处理速度很快每个区块内能够打包 笔交易并且都在 内处理完毕以此来看联盟链每秒能够处理的交易在 笔左右 在实际场景中合约的复杂程度、网络环境、共识节点的数量、出块速度等等都是影响系统性能的关键因素当前实验环境出块时间为 此次实验处理 笔交易到上链花费了 第 期梁茹锦等:基于智能合约的双链数据共享系统 系统每秒处理的交易为 笔 在后期系统中接入新的节点时可以通过设置

21、出块时间、扩容区块交易数量等措施提高系统运行效率本系统文件数据存储在 私有集群中不存在中心化节点数据分布式存储同时将数据哈希值上链链上链下数据锚定可有效保证数据安全防止数据篡改通过在联盟链上部署智能合约实现灵活的数据共享同时数据访问记录透明、可追溯 系统联盟链通过准入机制控制节点的加入与退出理论上支持无限节点加入所以系统支持不同的组织加入数据共享系统具有很好的系统扩展性同时可以根据需求设计对应智能合约部署到联盟链上功能上也有很大的扩展性 结束语本文基于区块链和智能合约技术设计一种数据共享系统数据分布式存储利用智能合约技术实现了组织内部身份的管理数据的发布、保护、共享数据访问灵活可控有效解决了传

22、统数据共享系统存在的问题 在未来工作中将继续研究区块链在数据保护方面的应用着重解决区块链应用的经济性、易用性、效率性等方面的问题持续推动区块链应用项目的落地实现参考文献:周航.网络时代信息数据安全现状及对策.电子技术与软件工程():.:.谭海波周桐赵赫等.基于区块链的档案数据保护与共享方法.软件学报():.谢裕清王渊江樱等.便于数据共享的电网数据湖隐私保护方法.计算机工程与应用():.李麟方芳冶金明.基于医院医疗区块链平台的 设计与实现.生命科学仪器():.余益民陈韬伟段正泰等.基于区块链的政务信息资源共享模型研究.电子政务():.():.:.:.():.:.:/.:./.:/.:./.:.:.:.:./.:././:.:.:.:.(编辑:刘彦茹)信 息 工 程 大 学 学 报 年

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服