基于区块链的对象存储系统可信存证与访问权限控制方法技术方案

技术编号:21899177 阅读:37 留言:0更新日期:2019-08-17 18:31
本发明专利技术公开了基于区块链的对象存储系统可信存证与访问权限控制方法,包括以下步骤:步骤一、数据持有方将数据存储到对象存储系统中,确定对象存储系统中所使用的存储桶id以及文件id;步骤二、数据持有方采用MD5算法生成数据的摘要信息,将文件的信息写入智能合约;步骤三、数据请求方请求读取某文件,数据持有方审核通过后将该数据请求方公钥添加到文件授权用户地址列表中;步骤四、数据请求方通过调用数据持有方的接口,发起文件下载请求;步骤五、数据持有方服务平台接口接收到请求后,对请求进行校验;步骤六、数据请求方所下载请求的文件后,本地计算该文件的MD5摘要,验证文件是否被篡改。本发明专利技术能够在保证权限公开透明的基础上实现安全的数据访问权限控制,同时能查验下载的数据文件是否被篡改。

Trusted Storage Card and Access Rights Control Method for Object Storage System Based on Block Chain

【技术实现步骤摘要】
基于区块链的对象存储系统可信存证与访问权限控制方法
本专利技术涉及数据存证与访问权限控制
,特别是基于区块链的对象存储系统可信存证与访问权限控制方法。
技术介绍
近年来,随着加密货币的兴起,作为加密货币底层关键技术的区块链也得到了广泛的关注,区块链去中心化、过程透明、数据不可篡改的特性为诸多行业带来了新的技术方向,为许多传统技术架构下难以解决的问题提供了新的技术思路,在供应链、金融以及版权保护等领域都得到了广泛的研究。虽然目前区块链技术尚未被大规模应用,但其已经显示出了巨大的研究价值以及发展潜力。另一方面,对象存储系统在企业以及政府的各类系统之间得到了广泛使用,然而,虽然对象存储虽然解决了复杂对象的存储问题,但其所存储数据依然存在潜在的伪造、被篡改等安全风险,难以形成可信的凭证;同时,在现实业务环境中,不同组织之间进行文件共享的流程繁琐且耗时,文件访问权限信息不透明,极大地阻碍了业务系统流程自动化的发展。
技术实现思路
基于此,本专利技术将区块链技术与对象存储系统相结合,对于需要存储与共享的数据,将存储对象的摘要信息通过智能合约存储到链上,形成可信的存储凭证,原始对象内容存储到对象存储系统中,实现非可信环境下对象存储的可信数据管理,提供一种查验下载的数据文件是否被篡改的方法,同时,通过智能合约来维护存储对象的访问权限控制信息,在实现数据权限的公开透明化的同时保证对象存储系统的安全的数据访问权限控制,并简化了现实环境中不同组织机构之间进行数据存取的流程,本专利技术所采用的技术方案如下。基于区块链的对象存储系统可信存证与访问权限控制方法,包括如下步骤:步骤一、数据持有方将数据存储到自身的对象存储系统中,确定对象存储系统中所使用的存储桶以及文件id;步骤二、数据持有方采用MD5算法(Message-DigestAlgorithm5,信息-摘要算法5)对存储数据进行摘要计算得到文件摘要值,将文件的相关信息写入智能合约,数据持有方只能更新智能合约中自身公钥所对应的文件信息集合;步骤三、数据请求方请求读取某文件,若数据持有方同意该请求方读取所请求的文件,则将该数据请求方公钥地址添加到对应文件在智能合约中存储的文件授权用户地址列表中并告知数据请求方已授权;步骤四、数据请求方通过调用数据持有方的服务平台所提供的接口,发起文件下载请求;步骤五、数据持有方服务平台接口接收到请求后,对请求进行校验;若校验通过,则数据持有方生成文件的预下载链接返回给数据请求方,否则,拒绝该请求;步骤六、数据请求方下载请求的文件后,本地采用MD5算法计算该文件的MD5摘要值,然后调用智能合约读取区块链上存储的摘要值,对比与本地计算所得的文件的MD5摘要值是否一致,从而验证文件是否被篡改过。进一步的,所述步骤二所述的文件的相关信息包括文件名、文件拥有者公钥地址、文件MD5摘要值、存储桶id、文件id和文件授权用户地址列表。进一步的,智能合约上文件信息数据结构包含以下字段:(一)owner文件拥有者的公钥地址,如:0x3b4887770e965c79ae4a3afff9eb37a77ae3d255(二)digest文件MD5摘要值,如:9946d9fc99b7a1413941be34f4e94654(三)bucketId文件存储桶id,如:Test(四)fileId文件id,如:b154e32bae89d925f189923fc90e707b.xlsx(五)filename文件名,如:测试文件.xlsx(六)receivers文件授权用户地址列表,如:[0x3b4887770e965c79ae4a3afff9eb37a77ae3d255]。进一步的,所述步骤四的请求内容为raw(原始请求内容)、timestamp(时间戳)、key(公钥地址)和signature(签名),其中:raw为由目标文件的(存储桶id、文件id)两个字段组成的json格式字符串;timestamp为发起请求时的时间戳;key为数据请求方的公钥;signature为数据请求方使用自身私钥对raw+timestamp的哈希值所生成的签名,数据请求方生成的签名方式为:signature=sign(privateKey,hash(raw+timestamp))(1)其中,privateKey为请求方私钥,hash为哈希算法,如MD5算法、SHA1(SecureHashAlgorithm)算法等,sign为一种非对称加密算法,如RSA(Rivest-Shamir-Adleman)算法。进一步的,步骤五的校验包括以下步骤:1)请求时间戳与当前时间相差超过两分钟,则拒绝该请求,否则执行下一步校验;2)采用式(1)中所使用的摘要算法计算raw+timestamp的哈希值H,通过签名算法计算数据请求方公钥地址skey:skey=verify(H,signature)(2)其中verify对应式(1)中所使用的非对称加密算法的签名验证算法,signature为请求参数中的签名;若skey不等于key,则拒绝该请求,否则执行下一步校验;3)通过调用智能合约,查询智能合约上数据持有方所拥有的文件中(bucketid,fileid)所指定的文件的授权用户地址列表是否存在值为key的数据,若不存在则拒绝该请求;若上述校验过程均通过,则数据持有方生成文件的预下载链接返回给数据请求方。进一步的,基于同一条区块链,有若干方参与,每一方均兼具数据请求方和数据持有方,每一方均需要对外提供文件下载服务接口。进一步的,所述区块链支持智能合约。进一步的,底层区块链不局限于某一种区块链平台,可以为太坊、HyperledgerFabric或者Corda。进一步的,所述对象存储系统为亚马逊S3标准API(AmazonS3API)。与现有的技术相比,本专利技术的有益效果为:本专利技术能够在保证权限公开透明的基础上实现安全的数据访问权限控制,同时能查验下载的数据文件是否被篡改。附图说明图1为本专利技术的架构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术,即所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。以下结合实施例对本专利技术的特征和性能作进一步的详细描述。实施例的基于区块链的对象存储系统可信存证与访问权限控制方法,使用HyperledgerFabric作为底层区块链平台,以亚马逊S3(amazons3)作为对象存储系统,将所有需要参与的公司、部门或者组织作为节点加入区块链网络中,如图1所示,数据请求方与数据持有方均为区块链网络的一个节点,双方通过调用区块链客户端(SoftwareDevelopmentKit,SDK)来与调用智能合约,将智能合约部署到链上,同时,各方均需搭建一个服务平台,对外提供文件下载接口,同时提供组织内部上传文件到对象存储系统的接口,具体操作步骤如下:S1、数据持有方通过调用自身服务平台的对象存储接口,服务平台接收请求后将数据存储到自身的对象存储系统中,确定对象存储系统中所使用的bucke本文档来自技高网...

【技术保护点】
1.基于区块链的对象存储系统可信存证与访问权限控制方法,其特征在于,包括以下步骤:步骤一、数据持有方将数据存储到自身的对象存储系统中,确定对象存储系统中所使用的存储桶以及文件id;步骤二、数据持有方采用MD5算法对存储数据进行摘要计算得到文件摘要值,将文件的相关信息写入智能合约,数据持有方只能更新智能合约中自身公钥所对应的文件信息集合;步骤三、数据请求方请求读取某文件,若数据持有方同意该请求方读取所请求的文件,则将该数据请求方公钥地址添加到对应文件在智能合约中存储的文件授权用户地址列表中并告知数据请求方已授权;步骤四、数据请求方通过调用数据持有方的服务平台所提供的接口,发起文件下载请求;步骤五、数据持有方服务平台接口接收到请求后,对请求进行校验;若校验通过,则数据持有方生成文件的预下载链接返回给数据请求方,否则,拒绝该请求;步骤六、数据请求方下载请求的文件后,本地采用MD5算法计算该文件的MD5摘要值,然后调用智能合约读取区块链上存储的摘要值,对比与本地计算所得的文件的MD5摘要值是否一致,从而验证文件是否被篡改过。

【技术特征摘要】
1.基于区块链的对象存储系统可信存证与访问权限控制方法,其特征在于,包括以下步骤:步骤一、数据持有方将数据存储到自身的对象存储系统中,确定对象存储系统中所使用的存储桶以及文件id;步骤二、数据持有方采用MD5算法对存储数据进行摘要计算得到文件摘要值,将文件的相关信息写入智能合约,数据持有方只能更新智能合约中自身公钥所对应的文件信息集合;步骤三、数据请求方请求读取某文件,若数据持有方同意该请求方读取所请求的文件,则将该数据请求方公钥地址添加到对应文件在智能合约中存储的文件授权用户地址列表中并告知数据请求方已授权;步骤四、数据请求方通过调用数据持有方的服务平台所提供的接口,发起文件下载请求;步骤五、数据持有方服务平台接口接收到请求后,对请求进行校验;若校验通过,则数据持有方生成文件的预下载链接返回给数据请求方,否则,拒绝该请求;步骤六、数据请求方下载请求的文件后,本地采用MD5算法计算该文件的MD5摘要值,然后调用智能合约读取区块链上存储的摘要值,对比与本地计算所得的文件的MD5摘要值是否一致,从而验证文件是否被篡改过。2.根据权利要求1所述的基于区块链的对象存储系统可信存证与访问权限控制方法,其特征在于,步骤二所述的文件的相关信息包括文件名、文件拥有者公钥地址、文件MD5摘要值、存储桶id、文件id和文件授权用户地址列表。3.根据权利要求1所述的基于区块链的对象存储系统可信存证与访问权限控制方法,其特征在于,智能合约上文件信息数据结构包含以下字段:(一)owner文件拥有者的公钥地址;(二)digest文件MD5摘要值;(三)bucketId文件存储桶id;(四)fileId文件id;(五)filename文件名;(六)receivers文件授权用户地址列表。4.根据权利要求1所述的基于区块链的对象存储系统可信存证与访问权限控制方法,其特征在于,步骤四所述的请求参数包括原始请求内容raw、时间戳timestamp、公钥地址key和签名signature,其中:raw为由目标文件的存储桶id和文件id两个字段组成的json格...

【专利技术属性】
技术研发人员:彭新一陈淡刘孜文黎智成
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1