基于区块链的数字版权登记技术*

2019-04-24 08:24:58赵国锋周继华
网络安全与数据管理 2019年4期
关键词:账本哈希合约

赵国锋,何 英,周继华

(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.重庆金美通信有限公司,重庆 400030)

0 引言

随着互联网上文本的传播越来越迅捷,人们对数字文本的需求也越来越高。据统计,2018年,我国数字出版产业的累计用户规模达到18.25亿人。互联网期刊、电子图书、数字报纸的总收入为82.7亿元,与2017年相比增长5.35%[1]。在数字出版产业高速发展的同时,盗版、侵权事件也愈演愈烈。目前的数字版权保护主要是依赖第三方机构的集中式管控,但这种方式也面临一些问题:(1)基于第三方机构的版权管控机制流程繁琐,效率低[2];(2)没有统一的数字版权管控平台导致数字版权资源分散,版权归属模糊;(3)当前集中化的版权管控机制容易遭受单点故障,数据存储安全性低。

随着区块链技术的面世,去中心化、自主验证、数据不可篡改、可溯源等特点为当前数字版权领域的问题提供了解决途径。文献[2]分析了传统数字版权领域中存在的问题,并提到区块链技术在解决数字版权领域的问题上有着天然优势;文献[3]将区块链技术引入数字版权领域,创建了基于区块链的版权系统模型;李悦[4]依托以太坊平台[5],结合智能合约技术实现版权登记在区块链上的自动化执行。

但这些案例存在以下问题:(1)没有考虑完整数字作品的存储。只是简单地提取出作品的特征值,将特征值存入到区块链中作为版权的存证,以至于版权存证信息的不完整,面对版权纠纷时,仍不能提供强有力的版权凭证。(2)没有考虑数字作品的侵权检测。这些案例只是在区块链上简单地记录出作品的特征值,没有将作品内容与官方申明了版权的内容进行全面对比,是一种象征性证明,以至于抄袭作品、盗版作品都能顺利地获取版权证明,没有实际价值与意义。(3)版权登记效率低下。这些案例均是依托于比特币、以太坊等区块链构建数字版权系统,由于这些平台的固有缺陷,导致版权登记效率低下。(4)缺乏身份认证。没有对登记者的身份信息进行实名认证,这与版权登记的对用户身份需求相悖。

随着区块链技术的发展,以超级账本[6]为代表的区块链平台,性能更好、资源消耗更少。因此本文构建了基于超级账本的数字版权登记系统,主要解决以下问题:(1)通过链上链下结合的存储方式解决区块链存储大文件的难题。区块链上记录作品索引及创作者信息,区块链下通过IPFS系统存储数字作品。(2)对登记的数字作品实现了侵权检测。即计算出作品simhash,并与登记库中的作品simhash对比,若不超过其阈值,则通过检测。(3)通过智能合约技术实现版权登记及数据访问控制,只有经过授权的用户才能访问登记信息,确保了个人数据的隐私性。实验分析表明,该系统有较好的性能和安全性。

1 相关技术分析

本系统的核心技术包括区块链、智能合约、simhash及IPFS。

(1)区块链[7]:区块链网络中的节点将一段时间内接收到的数据封装到一个带有时间戳的区块中,网络中其他节点对区块进行有效性验证,按照时间顺序进行哈希链接,产生最新的区块链,并在各个节点同步。时间的不可逆转性致使历史区块数据无法修改和删除,保证存储数据的不可否认性和可溯源性。区块链概念起源于比特币[8],最初用来记录数字货币交易信息,随着技术的发展,出现了以太坊及超级账本等可运行其他应用的区块链平台。表1为不同区块链平台的性能对比表。不难看出超级账本效率高,资源消耗少,更能满足商业化需求。因此本文构建了基于超级账本的数字版权登记模型,给用户提供更加便捷快速的版权管控服务。

表1 不同区块链平台性能对比

(2)IPFS:IPFS[9]是分布式存储方式,与HTTP不同,IPFS不再关心中央服务器的位置,也不考虑文件名和路径,它只关注文件中可能出现的内容。将任何文件放在IPFS节点上后,将根据此文件的内容计算加密哈希值。当IPFS被要求提供文件时,它使用分布式哈希表来查找此文件所在的节点,然后检索此文件并对其进行验证。

(3)simhash:simhash[10]是一种局部敏感hash算法,即输入内容相似,则hash结果也相似,因此文本间的相似性检测就转化成文本simhash的相似性比较。simhash的相似性通过其海明距离度量,海明距离越小,表明对应文本越相似。simhash算法流程如图1所示。

图1 simhash算法流程

(4)智能合约:1995年密码学家尼克萨博首次提出智能合约,将其定义为一系列计算机化的协议,是一组预设条件对应的程序化规则[11]。在区块链中,智能合约用特定的计算机语言表示并存储在区块中,一旦合约中预先设定的条件满足,就会自动触发相应的操作。

2 基于超级账本的数字版权登记技术方案

2.1 基于超级账本的数字版权登记系统

如图2所示为基于超级账本的数字版权登记系统架构图。

图2 基于超级账本的数字版权登记系统架构

客户端用于用户注册版权账户,发起版权登记请求。超级账本基于PKI证书体系,每个用户通过唯一的数字证书作为身份标识,用户注册的版权账户即是由证书公钥生成。

服务端分为三层结构:合约层实现版权登记及版权查询功能;在网络层,为了提高系统处理效率,将合约执行和共识分离,区块链节点从逻辑上分为三类:背书节点、排序节点及记账节点,分别对应合约执行、消息排序及写入检查等工作;存储层:区块链不适宜存储大文件,本文采用链上链下结合的方式存储版权登记信息,区块链上记录作品索引及创作者信息,区块链下通过IPFS存储数字作品。

2.2 基于超级账本的版权登记信息存储机制

图3所示为基于超级账本的数字版权登记系统网络架构图,基于此架构,版权登记信息存储机制包含如下步骤:

图3 基于超级账本的数字版权登记系统网络架构图

(1)注册版权账户:超级账本是带有准入控制的区块链,每个访问其网络的用户应首先通过注册获得身份证书,用户注册的版权账户即由用户证书公钥生成。

(2)IPFS存储数字作品:用户登录系统,上传数字作品到IPFS,若上传成功,IPFS会为作品生成唯一的哈希值,用户可通过作品哈希值访问存储在IPFS中的数字作品。

(3)发起版权登记提案:用户通过客户端发起登记提案即可调用部署在区块链上的智能合约,合约执行的结果将被存储在区块链上。模型中的提案包含两大类,分别对应版权登记提案及版权查询提案。提案由提案头、提案数据和签名构成。提案头包含合约的名称及版本;签名是由用户的私钥生成,是为了确保提案数据不被篡改;提案数据由合约的函数名及函数参数构成,函数参数即是用户的输入信息。不同类型的提案其包含的函数名不同,传递的函数参数也不同。版权登记提案的函数参数由数字作品哈希摘要、访问控制列表及用户信息等构成。版权查询提案由作品哈希摘要及用户身份信息构成。

(4)提案背书:客户端发送提案到版权区块链的背书节点,背书节点需要验证提案格式是否正确,是否存在重放攻击,提案签名是否有效,上述验证通过后背书节点将模拟执行版权合约,生成一系列的读写集。背书节点需对执行结果签名并将提案和执行结果打包返回客户端。

(5)构造区块:客户端收集足够的提案响应,验证背书节点签名及执行结果,通过后将提案响应提交到版权区块链网络的共识节点。共识节点将对提案进行排序,打包区块并广播给其他节点。版权区块链使用kafka共识机制,共识网络中包含多个主题,每个主题对应多个分区。对于每个区块的生成,是通过出块大小和出块时间共同决定的,一旦有一个条件满足将会触发区块操作。

(6)区块同步:版权区块链网络中,节点之间同步区块采用的是gossip最终一致性协议。每个节点随机地向邻近节点定时发送本地账本当前的快照,如最高块高度、最高块哈希值、状态树哈希值等一些账本的摘要信息,并且接收来自其他节点发送的账本快照,节点间通过快照进行账本对比及区块请求,最终使得全网所有节点在较短时间内达到账本一致状态。区块同步过程如图4所示。

图4 区块同步过程

2.3 基于智能合约的版权管控协议

部署在区块链上的合约分为两大类:版权登记及版权查询合约。背书节点收到客户端发来的提案,首先对客户端身份进行验证,通过后便可模拟执行版权合约。版权登记合约与版权查询合约的设计如下:

(1)版权登记合约协议

①验证用户身份。用户身份包含如下信息:身份标识、x.509证书、证书生成的公钥等。用户身份的校验主要是对证书的校验,首先是对证书路径的检查,校验根证书、中间CA证书是否有效,是否有从身份证书到可信根CA证书的有效路径;其次是对CRL的检查,检查证书是否被吊销。CRL在本地CRLS目录下,是由CA根证书签发的被吊销的证书文件。

②验证用户签名,确保提案数据完整且没有被篡改。

③作品上传检测。根据作品信息(IPFS存储路径、作品大小、作品名称)查询作品是否已完整上传,若是,将作品标志位w置为1,否则置为0。

④作品侵权检测。通过IPFS路径下载作品,计算作品simhash,与登记库中的作品simhash对比,若相似度未超过阈值,则侵权检测通过,并将侵权检测标志位s置为1。

⑤生成版权登记信息的读写集。写集包含登记作品的信息、权利人身份信息及访问控制列表。其中,访问控制列表是由数据所有者自己确定,只有经过授权的用户才能访问登记信息,这样保证了个人数据的私密性。

(2)版权查询合约协议

①验证用户身份。同上。

②验证用户签名,确保提案数据完整且没有被篡改。

③访问权限检测。根据该作品的访问控制列表,查询该用户是否有访问权限。

④根据作品哈希查询其版权归属。

3 实验与测试

为了测试系统的性能,通过以下方式搭建了测试网络。测试网络基于超级账本源码构建。实验网络拓扑如下:服务器A、B、C、D、E分别模拟组织1、组织2、共识集群、Fabric CA及Client。其中,服务器A开启4个Peer docker,其中一个为Endoser;服务器B开启3个Peer docker,其中一个为Endoser;服务器C上开启多个Order docker,模拟共识节点群;服务器D上装载Fabric CA sever;服务器E上装载Fabric client。另外,服务器A和服务器B上分别装载IPFS程序,用于存储数字作品。实验服务器配置如表2所示。

表2 服务器配置

如图5所示,随着请求频率的增加,系统处理速率逐渐增加,直到请求频率达到1 000笔/s时,系统处理速率逐渐达到饱和,版权登记及版权查询处理速率分别约为970笔/s、1 084笔/s。

图5 系统处理速率

如图6所示,随着请求频率的增加,系统处理时延最开始缓慢增加,版权登记及版权查询平均处理时延分别约为0.8 s、0.1 s。当请求频率达到1 000笔/s时,由于系统处理能力逐渐达到饱和,时延增加幅度加大。

图6 系统处理时延

通过上述分析,正常请求频率下,系统的版权登记及版权查询处理速率约为973笔/s和1 084笔/s,处理时延约为0.8 s和0.1 s。总体来说,系统整体性能基本满足商用需求。

4 结束语

本文首先设计了基于超级账本的数字版权登记模型,然后通过simhash查重算法实现了作品侵权检测,最后结合智能合约技术实现了版权登记及数据访问控制,确保了个人数据的隐私性。未来工作将考虑更进一步优化系统性能。

猜你喜欢
账本哈希合约
数说:重庆70年“账本”展示
当代党员(2019年19期)2019-11-13 01:43:29
丢失的红色账本
大树爷爷的账本
丢失的红色账本
基于OpenCV与均值哈希算法的人脸相似识别系统
工业设计(2016年8期)2016-04-16 02:43:34
基于维度分解的哈希多维快速流分类算法
计算机工程(2015年8期)2015-07-03 12:20:04
基于同态哈希函数的云数据完整性验证算法
计算机工程(2014年6期)2014-02-28 01:25:40
一种基于Bigram二级哈希的中文索引结构
合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望