当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于fabric联盟链的文档防篡改方法技术

技术编号:22022565 阅读:45 留言:0更新日期:2019-09-04 01:22
本发明专利技术涉及一种基于fabric联盟链的文档防篡改方法,基于fabric联盟链进行文档保护,在文档管理系统进行文档的保存、删除、修改、验证操作时,除了和本地数据库和文档服务器IPFS交互外,还与fabric联盟链平台进行交互。本发明专利技术能够很好地解决文档防篡改问题。

A Document Tampering Prevention Method Based on Fabric Alliance Chain

【技术实现步骤摘要】
一种基于fabric联盟链的文档防篡改方法
本专利技术涉及文档安全保护
,特别是一种基于fabric联盟链的文档防篡改方法。
技术介绍
传统的文档储存方式都是采用中心化存储管理的方式,这种方式系统拥有者(如管理员)拥有所有权限。在利益的驱使下,管理员有可能会篡改或删除存储于系统中的文档信息,使得文档的真实性得不到保护。而文档的真实性在很多领域很重要,如版权保护、证据保护、合同重要文档保护等方面。因此如何实现文档防篡改具有重大应用价值。区块链技术的兴起为文档防篡改技术提供了很好的解决思路。通过文档的摘要、时间戳等重要信息制作成文档唯一身份DNA,然后将DNA信息固化到区块链上,利用区块链的防篡改特性达到文档防伪防篡改的目的。但目前一些基于区块链技术的文档防篡改方法都是基于公网,如比特币、以太坊、EOS。公网固然防篡改能力很强,且非常安全,但是公网需要挖矿和交易费,这就不可避免地增加了文档保护成本。
技术实现思路
有鉴于此,本专利技术的目的是提出一种基于fabric联盟链的文档防篡改方法,能够很好地解决文档防篡改问题。本专利技术采用以下方案实现:一种基于fabric联盟链的文档防篡改方法,基于fabric联盟链进行文档保护,在文档管理系统进行文档的保存、删除、修改、验证操作时,除了和本地数据库和文档服务器IPFS交互外,还与fabric联盟链平台进行交互。进一步地,所述文档的保存操作具体包括以下步骤:步骤S11:将文档上传至IPFS,IPFS返回一个由文档内容生成的hash值,该hash值以QM开头,是文档在IPFS网络中的储存路径;步骤S12:本地计算文档的hash值,该步骤可以采用通过SHA512算法计算hash值,该hash值用于检测文档是被篡改;步骤S13:将IPFS返回的hash值、本地计算的hash值、以及文档的重要字段信息制作成文档DNA,保存至fabric联盟链中;其中文档的重要字段信息包括文档的唯一标识;步骤S14:fabric的智能合约自动将节点的名称、节点的签名、信息保存时间保存至fabric的状态数据库中。进一步地,步骤S14中,所述节点的名称与节点的签名由getCreator(获取交易提交者身份信息的接口)方法获取的节点证书信息中提取出来。较佳的,所述文档DNA的数据结构如下:进一步地,文档的验证操作具体包括以下步骤:步骤S21:根据文档的唯一标识从fabric联盟链中获取待验证的文档的信息,其中获取的信息中包括但不限于文档hash值、文档在IPFS上的储存路径、保存时间、保存文档者的姓名等信息;步骤S22:计算本地待验证文档的hash值;步骤S23:将计算出的hash值与从fabric中获取的hash值进行比较,如果两者一致,说明文档没有被篡改,如果两者不一致则说明该文档已经被篡改。进一步地,步骤S23还包括,从fabric获取的文档信息中提取文档在IPFS上的储存路径,下载文档至本地,然后与已被篡改的文档进行内容对比,找出被篡改的信息。进一步地,文档的修改操作具体为,当对已保存的文档进行修改时,为了防止管理员借着合法修改的名义对文档进行篡改,记录文档的历史数据和修改文档的管理员信息,并在fabric智能合约中定义一个历史数据;当文档修改之后,将文档上传至IPFS,获取IPFS返回的hash值,同时本地计算文档的hash值(该过程可以采用上文中提到的保存文档的步骤S11与步骤S12),然后在区块链文档保护模块中修改已发生变化的文档DNA信息,但是DNA数据结构中的ID不能也不会改变;其中,DNA数据结构中的ID不能也不会改变,IPFSPath和FileHash为自动填充,不能人为改变,SaveData会在智能合约中自动更改,State也会在智能合约中自动赋值“Modify”,而OperatorName和OperatorSignature如果发生改变,其值也会在智能合约中自动更改,Department和FileType分别为文档所属部门和文档所属类别,需要管理员手动修改。在查询文档时,智能合约会先查询该文档DNA信息是否曾经修改过,如果没有修改过则直接返回文档的DNA信息,如果曾经修改了,会将当前文档的NDA信息及其历史数据一起返回给文档管理系统。如果怀疑系统拥有者私自篡改了文档,则可以根据文档验证流程验证文档是否被篡改,一旦发现文档被篡改,可根据当前文档的DNA信息中的OperatorName和OperatorSignature确定哪个节点,哪个人篡改了文档,同时根据文档的历史DNA信息找回被篡改的文档。较佳的,所述历史数据的结构为:typeHistoryDatastruct{TxIdstring`json:"Tx_Id"`FileFile`json:"file_Info"`}进一步地,当文档失效不再使用时,要对文档进行删除。删除分为两种:普通删除和彻底删除。普通删除是指不将文档key值从search表中删除,这种删除方式删除的文档很容易找回;彻底删除是指将文档key值从search表中删除,这种删除方式删除的文档将无法再从fabric区块数据中查询到。如果选择这种删除方式,则必须记录下相关操作信息。文档的删除操作具体为:当管理员选择普通删除时,智能合约将文档DNA数据结构中的状态值修改为删除,当文档管理系统查询文档时,查询结果只会显示状态值不为删除的文档DNA信息,而状态值为删除的文档DNA信息则会显示在文档管理系统的回收站页面,在该页面能够通过调用相关接口将状态值改为存储,以找回文档;当管理员选择彻底删除文档时,采用Delete数据结构记录下文档名、文档在IPFS上的储存路径、文档删除日期、管理员的名称和签名;因为Delete数据结构中保存了这些数据,所以即使无法从fabric区块数据中查询到已彻底删除的文档,也能够通过IPFS上的存储路径找回被恶意删除或者误删的文档。同时可以根据OperatorName和OperatorSignature确定哪个管理员彻底删除了文档。其中,Delete数据结构为:较佳的,fabric联盟链不需要挖矿,在链上储存信息也不需要交易费,且其具有严格的成员管理服务以及数据历史状态可查询的特性,这两点保障了在数据遭到篡改时,可以知道哪个节点修改了数据,也可以修正被修改的数据。与现有技术相比,本专利技术有以下有益效果:1、本专利技术通过制作成文档的唯一身份DNA,然后将DNA信息和文档操作记录固化到区块链上,利用区块链的防篡改特性达到文档防篡改的目的。2、本专利技术在管理员对文档进行增删改时,记录下管理员的名称和签名,可方便定责,亦防止管理员抵赖。3、本专利技术当文档被篡改时,可根据文档的历史DNA信息,恢复被篡改的文档。4、本专利技术利用IPFS永久储存的特性,当文档被恶意删除时,可根据fabric记录的删除操作信息,从IPFS找回被恶意删除的文档。附图说明图1为本专利技术实施例的原理框架示意图。图2为本专利技术实施例的文档保存架构图。图3为本专利技术实施例的文档验证流程图。图4为本专利技术实施例的文档修改流程图。图5为本专利技术实施例的文档删除流程图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明本文档来自技高网...

【技术保护点】
1.一种基于fabric联盟链的文档防篡改方法,其特征在于,基于fabric联盟链进行文档保护,在文档管理系统进行文档的保存、删除、修改、验证操作时,除了和本地数据库和文档服务器IPFS交互外,还与fabric联盟链平台进行交互。

【技术特征摘要】
1.一种基于fabric联盟链的文档防篡改方法,其特征在于,基于fabric联盟链进行文档保护,在文档管理系统进行文档的保存、删除、修改、验证操作时,除了和本地数据库和文档服务器IPFS交互外,还与fabric联盟链平台进行交互。2.根据权利要求1所述的一种基于fabric联盟链的文档防篡改方法,其特征在于,所述文档的保存操作具体包括以下步骤:步骤S11:将文档上传至IPFS,IPFS返回一个由文档内容生成的hash值,该hash值以QM开头,是文档在IPFS网络中的储存路径;步骤S12:本地计算文档的hash值;步骤S13:将IPFS返回的hash值、本地计算的hash值、以及文档的重要字段信息制作成文档DNA,保存至fabric联盟链中;其中文档的重要字段信息包括文档的唯一标识;步骤S14:fabric的智能合约自动将节点的名称、节点的签名、信息保存时间保存至fabric的状态数据库中。3.根据权利要求2所述的一种基于fabric联盟链的文档防篡改方法,其特征在于,步骤S14中,所述节点的名称与节点的签名由getCreator方法获取的节点证书信息中提取出来。4.根据权利要求1所述的一种基于fabric联盟链的文档防篡改方法,其特征在于,文档的验证操作具体包括以下步骤:步骤S21:根据文档的唯一标识从fabric联盟链中获取待验证的文档的信息,其中获取的信息中包括但不限于文档hash值、文档在IPFS上的储存路径、保存时间;步骤S22:计算本地待验证文档的hash值;步骤S23:将计算出的hash值与从fabric中获取的hash值进行比较,如果两者一致,说明文档没有被篡改,如果两者不一致则说明该文档已经被篡改。5.根据权利要求4所述的一种基于fabric联盟链的...

【专利技术属性】
技术研发人员:陈开志陈立钟尚平魏文诚
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1