王云婷,庞晓琼,陈锦生,陈文俊,2,杨 婷
1.中北大学 大数据学院,太原 030051
2.中国人民银行 太原中心支行,太原 030001
随着互联网技术的快速发展和普及,数字内容消费已经变得越来越流行,越来越多的人通过网络浏览器或基于移动应用的软件访问和购买数字内容,然而,数字内容的非法使用会给内容提供商造成损害。因此,有必要使用数字权限管理来确保数字内容从出版到使用整个流通过程中的安全性[1]。
但是,当前的数字权限保护系统注册成本高,申请过程复杂,而且花费时间长[2-3]。由于这些原因,很多数字作品创作者不愿意申请数字权限保护,使大量碎片化的数字作品难以得到权限保护。另一方面,传统DRM(digital rights management)的中心化管理还存在一些不足:内容提供者和消费者之间的权限交易依赖于第三方金融平台,一旦平台遭到攻击,无法保证交易的正常执行;许可证的发放需要许可证服务器,这种方式容易遭受单点故障,导致许可证发放服务终止;权限交易信息和许可证信息都是不透明的,对用户来说是不友好的。
区块链(blockchain)作为比特币的重要技术,由于其具有去中心化、不可伪造、公开透明等特点,越来越受到关注[4]。以太坊作为全球第二大区块链平台,通过调用去中心化的以太虚拟机(ethereum virtual machine)处理预先发布的智能合约,实现用户在区块链平台上自定义的逻辑[5]。将区块链技术用于数字权限领域可以很好地解决目前数字版权确权授权中存在的问题。
因此,本系统针对数字音乐版权的确权与授权提供一整套解决方案,利用区块链技术去中心化、不可伪造、公开透明等特点,来解决传统数字音乐权限管理存在的问题,实现了一个基于区块链的从确权到授权的数字音乐权限保护系统。
迄今为止,全球的许多科研人员针对数字权限保护进行了大量的尝试,许多大型的跨国企业也推出了自己的数字权限保护系统。例如微软公司推出的Windows Media Player,可以保证视频、音频在不同设备上的安全播放;苹果公司针对数字音频权限保护提出的FairPlay系统;IBM公司提出的针对电子媒体和数字权限保护的EMMS保护方案;国内研究团队也基于资源数字化、数字图书出版提出了Apabi解决方案;文献[6]提出基于P2P的DRM系统设计;文献[7]基于DOI进行了数字版权管理系统的模型研究;文献[8]提出基于特征图像的数字版权保护系统。然而,传统数字音乐权限保护行业存在的保护难、举证难、交易难的问题,区块链技术具有去中心化、不可伪造、公开透明等特点,可以利用其解决传统数字权限保护系统中存在的问题。
随着区块链技术的兴起,全球越来越多的中小型公司将目光集中到区块链权限保护行业,比如国内代表企业纸贵、原本和亿书等,以及国外的Monegraph、Colu和Binded等。也有很多学者将区块链技术和数字权限结合起来进行研究,以下是近些年部分学者的研究成果。
文献[9]总结出整个区块链数字权限保护系统都是一个去中心化的网络,其框架也具备网络的基本层次结构,根据数字版权的实现功能应将区块链数字版权保护系统框架分为5层架构。文献[10]实现的基于区块链的数字权限存根和买卖系统中,包含的大功能模块有:数字作品发表、版权登记、版权交易、作品鉴权、后台管理。文献[11]的系统流程具体为将数字内容的版权关键标识存储至区块链网络中,当有未授权的人员使用版权时,部署于区块链上的智能合约会被激活,通知区块链网络中的其他节点进行回溯查询登记的版权信息,并告知版权拥有者其被侵权。文献[12]得出智能合约只能简单的通过哈希算法产生的哈希值来判断版权是否被侵权,这种方式只有当数值完全相同时才能判断,而不符合实际应用情况。文献[13]总结出区块链平台具有时空局限性,智能合约的操作以及版权的对比都必须在相同区块链网络中进行,并以智能合约的方式供他人获取和使用。
本文系统主要使用Python编写,利用IPFS存储数字音乐,同时采用多种密码技术确保运行安全性。系统下设区块链、线上Web、密钥服务器、线下加密解密4个独立子系统,通过子系统间相互配合运行,支持版权拥有者在智能合约上设置数字内容不同的使用权限及对应的价格,同时,支持权限购买者快速查询以供消费。通过智能合约完成权限交易和自动发放许可证,利用区块链记录权限交易信息和许可证信息,避免了传统数字权限保护系统中集中式内容服务器容易造成的单点故障问题,实现了无需任何集中服务器的许可证发放功能和权限交易功能,保证了权限信息和交易信息的透明与可信。
区块链从2008年诞生起一共经历了3个阶段。第一阶段,即区块链1.0阶段,以比特币等一大批数字加密货币为代表,做到了数字货币交易的去中心化;第二阶段,即区块链2.0阶段,以以太坊等可编程区块链平台为代表,将智能合约同区块链技术相融合,使得用户可以很容易的在区块链平台上开发去中心化的应用;第三阶段还未到来,目前设想是将区块链技术作为解决信任问题的底层技术,应用于各行各业。
区块链技术的核心架构,由下至上分别为基础层、核心层和应用交互层,每个层之间又细分为几个小层。基础层主要包括区块链中使用的密码学技术和有关的数据结构;核心层主要是区块链技术的具体实现,比如区块链网络的各个节点进行共识的共识算法,区块链数据在各个节点传播的机制;应用交互层主要扩展了智能合约以及侧链等其他应用,在应用交互层中可以很方便的调用区块链去开发去中心化的应用[14]。
智能合约(smart contract)是一套使用数字方式签订的合同,允许在没有第三方监督的情况下,进行可信赖交易,产生的交易不可篡改且可追溯。这个概念的提出最早可追溯至1995年,其目的是为了降低签订合约相关的交易成本。而以太坊在其区块链上实现了近乎完美的智能合约框架,用户可以很方便的编写出自定义合约。智能合约的条款是由代码确定的。由于代码逻辑的明确性,比起自然语言,更加不容易产生歧义。其存储和部署在区块链网络中,而网络中的节点相互独立,都拥有同一份副本,因此合约内容几乎不可能被篡改。同时区块链中也保存了合约的执行记录,可以作为永久的交易凭证。合约的创建和执行都依赖于区块链协议,所以合约执行的强制力可以保证。
星际文件系统(interplanetary file system,IPFS)是一个对等的分布式文件系统。此星际文件系统提供了一个具有内容寻址超链接的高吞吐量的内容寻址块存储模型,结合了分布式哈希表(DHT)、激励块交换和自认证命名空间等技术。同时,它没有中央服务器,不会产生单点故障,数据分布和存储在世界各地。它的使用方式是我们将文件上传到IPFS系统时,将获得一个唯一的文件加密哈希字符串,通过该字符串可以检索到上传的文件。由于区块链不适合储存大文件,将加密文件储存在IPFS中。
本系统是基于以太坊的数字权限保护系统,核心是调用预先发布在以太坊区块链网络中的智能合约。因智能合约调用十分抽象,遵循以人为本的设计思路,编写了一套Web端的交互程序,交互程序负责与智能合约进行交互,并提供人性化的图形界面供用户使用。通过交互程序,版权拥有者可以很方便的进行版权确权工作,权限购买者可以很方便地进行权限购买。除此之外,交互程序还提供诸如版权上链信息查询、版权授权信息查询、版权权限升级、退款等便捷功能,交互程序在运行过程中需协同区块链、密钥服务器、线下加密解密程序一起工作。
基于以太坊的数字权限保护系统主要包括四个子系统,分别为区块链子系统、Web端子系统、密钥服务器子系统、线下加密解密子系统,它的系统结构模型如图1所示。
图1 基于区块链的数字权限保护系统的系统结构模型Fig.1 System structure model of digital rights protection system based on blockchain
(1)版权拥有者向线下加密解密子系统提交版权文件。
(2)线下加密解密子系统返回加密版权文件和加密密钥给版权拥有者。
(3)版权拥有者提交版权信息、加密版权、加密密钥给Web子系统。
(4)Web子系统将加密版权传送至IPFS平台,得到IPFS哈希值。
(5)Web子系统发送版权审核费用未签名交易数据给版权拥有者。
(6)版权拥有者使用以太坊账户私钥签名版权审核费用交易数据并发送交易给区块链。
(7)交易成功后,智能合约将审核费用交易信息写入区块链。
(8)Web子系统发送版权信息和加密密钥至密钥服务器子系统。
(9)密钥服务器子系统采用shamir秘密分享方案和椭圆ECC加密加密密钥。
(10)版权鉴定符合相关标准,密钥服务器子系统将版权信息上链。
(11)版权鉴定不符合相关标准,主密钥服务器子系统通知Web子系统将结果存至后台数据库。
(12)区块链返回版权唯一标识信息给Web子系统。
(13)权限购买者将权限购买信息会发送至Web子系统。
(14)Web子系统发送权限费用未签名交易数据给权限购买者。
(15)权限购买者使用以太坊账户私钥SK签名权限费用数据并发送交易给区块链。
(16)付款成功后,智能合约将购买信息写入区块链并生成购买唯一标识。
(17)区块链返回购买版权信息和购买唯一标识给Web子系统。
(18)Web子系统将购买唯一标识和购买版权信息发送给密钥服务器子系统。
(19)密钥服务器子系统解密先前的加密子密钥并使用权限购买者公钥将版权的子密钥进行椭圆ECC加密,再将其打包成加密子密钥。
(20)密钥服务器子系统将加密子密钥上传至IPFS平台,得到密钥IPFS哈希码。
(21)IPFS返回密钥IPFS哈希码给密钥服务器子系统。
(22)密钥服务器子系统将得到的密钥IPFS哈希码、购买唯一标识和加密子密钥打包成许可证,上传至区块链平台。
(23)区块链返回许可证给Web子系统。
(24)权限购买者向Web子系统请求下载加密子密钥和版权加密文件。
(25)Web子系统返回加密子密钥和版权加密文件给权限购买者。
(26)权限购买者向线下加密解密子系统提交加密子密钥和版权加密文件。
(27)线下加密解密系统进行版权的解密,返回解密版权给权限购买者。
本系统最核心的两个功能为版权的确权和授权,确权即版权信息上链,授权即权限链上购买。下面将详细说明版权确权、授权过程中各子系统所进行的工作。文中用到的符号定义如表1所示。
表1 相关符号定义Table 1 Definition of related symbols
版权确权时序图如图2所示,该时序图重点关注版权确权时各个系统执行的顺序,默认版权拥有者已注册Web子系统用户账户和以太坊账户,且已经在线下加密解密端子系统和Web端子系统进行登录。版权确权时序图说明如下:
图2 版权确权时序图Fig.2 Copyright confirmation sequence diagram
版权拥有者在线下加密解密子系统使用AES 128位CBC模式加密待发布版权文件RS后,得到加密版权文件ERS和加密密钥EK,其中加密密钥是由秘密分割的五个加密子密钥构成。
版权拥有者登陆线上网站进入版权发布页面,填写版权信息RI,并上传加密版权ERS和加密密钥EK,点击发布按钮,版权信息RI、加密版权ERS、加密密钥EK会发送至Web子系统后端,Web子系统后端将加密版权传送至IPFS平台后得到IPFS哈希值,并和Web子系统数据库中IPFS哈希值对比,若出现相同值,返回错误信息。否则,Web子系统将版权信息存至其数据库备份,并发送版权审核费用未签名交易数据RAF给本地MetaMask钱包。
版权拥有者使用本地MetaMask钱包中的以太坊账户私钥SK签名版权审核费用交易数据,并发送交易给区块链,即使用以太坊账户支付版权审核费用。交易成功后,版权拥有者等待系统响应,智能合约会将审核费用交易信息写入区块链。
Web子系统后台会监视到版权拥有者付款,并将其数据库中暂存版权信息和加密密钥发至密钥服务器子系统。
密钥服务器子系统下分主密钥服务器MK和五个独立的子密钥服务器OK n。主密钥服务器将接收到的加密密钥采用shamir秘密分享方案分割成五份子密钥EK n分别发送给5个子密钥服务器存储,再分别使用五个不同的子密钥服务器的公钥POK n进行椭圆ECC加密,得到五个加密子密钥EK n,发送完后通知信赖第三方音乐鉴定机构进行版权鉴定,同时将版权信息存至主密钥服务器后台数据库。鉴定完成后信赖第三方鉴定机构通知主密钥服务器鉴定结果,若符合相关标准,主密钥服务器将暂存其数据库中的版权信息上链;若不符合相关标准,主密钥服务器会通知Web子系统,Web子系统会将结果存至后台数据库。
Web子系统后台监视到版权信息上链后,将版权上链唯一标识信息ID存至Web子系统后台数据库,权限购买者便可在Web前端浏览、购买权限,至此版权确权工作完成。
版权授权时序图如图3所示,该时序图重点关注版权授权时各个系统执行的顺序,默认权限购买者已注册Web子系统用户账户和以太坊账户,且已经在线下加密解密端子系统和Web端子系统进行登录。
图3 版权授权时序图Fig.3 Copyright authorization sequence diagram
版权授权时序图说明如下:
权限购买者在成功登陆线上网站后挑选权限,点击购买后,若购买版权的权限2[15]至权限6,则需填写授权项目名称,若是购买权限1则直接购买,填写完毕后,权限购买信息RPI会发送至Web子系统。Web子系统将权限购买者购买的信息打包并存至后端数据库备份之后,发送权限费用未签名交易数据RF给本地MetaMask钱包。
权限购买者使用本地MetaMask钱包中的以太坊账户私钥SK签名权限费用数据,并发送交易给区块链,即使用以太坊账户支付权限费用。付款成功后,权限购买者等待系统响应,智能合约会将权限购买者购买信息写入区块链,并生成购买唯一标识ID。
Web子系统后台会监视到权限购买者购买,并将购买信息存置其后台数据库。
权限购买者在Web子系统前端个人中心页面“我的版权”中找到购买的权限,点击确认购买选项后,Web子系统将唯一标识ID和购买信息RPI发送给密钥服务器子系统。
密钥服务器子系统下分主密钥服务器MK和五个独立的子密钥服务器OK n。主密钥服务器收到信息后将权限购买者的公钥PK传送给3个子密钥服务器,子密钥服务器利用其私钥SOK n解密先前的加密子密钥EK n,并在本地使用权限购买者公钥将版权的子密钥进行椭圆ECC加密,并发送的给主密钥服务器,主密钥服务器将3个新的加密子密钥打包后的加密子密钥ESK上传至IPFS平台,得到密钥IPFS哈希码hESK后连同权限购买者购买唯一标识ID打包成许可证LIC,上传至区块链平台。
Web端子系统监视到许可证上链后,将许可证信息存至Web端后台数据库。权限购买者在Web子系统前端点击下载密钥和版权加密文件,并将下载后的文件使用以太坊账户登录线下加密解密系统使用shamir门限秘密共享方案恢复完整加密密钥进行版权的解密,至此版权授权工作完成。
基于以太坊的数字权限保护系统主要包括四个子系统,分别为区块链子系统、Web端子系统、密钥服务器子系统、线下加密解密子系统,4个子系统均独立运行并相互配合。在处理用户请求时,4个子系统之间需要进行通讯,其中Web子系统和密钥服务器通过HTTP协议与区块链进行交互,Web子系统通过TCP自定义应用层协议与密钥服务器进行交互。Web子系统监听端口,线下加密解密子系统将加密后的文件通过HTTP协议连接上传至Web子系统,所有通信都配备了相关安全协议。系统结构设计图如图4所示。
图4 系统结构设计图Fig.4 System structure design diagram
系统测试部分主要进行了版权确权功能测试和版权授权功能测试,前一部分测试主要分为版权确权、权限售卖查询测试,主要包含功能为线下版权加密、版权信息上链、版权上链信息查询、权限售卖查询。后一部分测试主要分为权限购买、版权解密测试,主要包含功能为权限购买信息上链、购买权限退款、购买权限升级、购买版权线下解密。
版权拥有者加密待发布版权,填写版权信息,管理员审核上链,返回版权唯一标识ID,个人中心中可向版权拥有者邮箱返回权限售卖信息详情。
用户选择权限,付款成功后,在个人中心-我的版权中找到购买权限,点击确认购买选项后,下载密钥和版权加密文件,可解密版权文件。购买两小时内,若未确认购买,可进行退款,若超过两小时,默认确认购买。在权限到期前,可以升级版权权限,升级后原权限作废,升级只需支付新权限与原权限之间差价。
在这部分中,将通过实验测试分析系统的性能和实用性。PC机硬件配置为AMD Ryzen7 4800H处理器,16 GB内存,操作系统为Ubuntu 18.04LTS 64位,编译器为Remix,程序设计语言是Solidity 0.5.1+。
以太坊区块链在以太坊虚拟机(EVM)中运行交易触发代码,以太坊中的消耗,发送、存储和执行计算等都以gas为单位表示,EVM中的每一步操作都有一个固定的消耗值,被称为消耗的gas,gas price是单位gas的价格(用以太币计算),实际交易成本的计算方式为二者的乘积,我们是在北京时间2020年7月1日进行的实验,以太坊开盘价为1 ether=226.13 USD,gas price=2 Gwei,1 Gwei=109wei=10-9ether。
在本文系统中,智能合约被部署在Ropsten测试网络中,部署合约账户地址为0x3D25C06465351fD529 164e9Ff5355A67333Ba34e用户账户地址:0xAb2c4077 a1b5C73a92B03a0cee04bC2D0Cc38e0a智能合约地址为0x2eeb9a733691760320adc675149825d4e1fa9689利用智能合约分析了以下操作的花费,版权拥有者设置每个版权权限交易手续费,成为版权发布者的押金及审核花费为$1.089 042,版权拥有者设置每个版权权限对应价格即addProductToStorageByAdmin花费为$0.163 492,版权拥有者将加密版权上链需要支付版权审核花费即addProductToStorageByUser花费为$0.019 899,版权拥有者将版权状态重新写入即modifyProduct花费为$0.019 447,超级管理员(合约发布者)授权其他账户为管理员即modifyKeyManager花费为$0.019 447,权限购买者获取许可证即purchase花费为$0.087 060,权限购买者进行权限升级即update花费为$0.113 291,管理员上传版权许可证即uploadLicense花费为$0.156 030,权限购买者交易退款即refundMoney花费为$0.031 658,版权拥有者状态转换即refundMoney花费为$0.018 769。可在测试链官方网站https//ropsten.etherscan.io/使用上述地址查询测试数据。如表2所示评估表明本系统所消耗的成本是可接受的。
表2 智能合约花费测试Table 2 Smart contract cost test
本系统结合了分布式存储系统IPFS、以太坊、智能合约和各种对称以及非对称加密算法,比传统DRM系统具有更多的优势。首先,本系统采用IPFS来存储加密的数字内容,保证数字音乐的永久性储存,能够有效解决由于内容服务器停止运行造成的单点故障问题。此外,我们将加密的内容密钥存储在智能合约中,使用智能合约发布和交易数字权限,从而去除许可证服务器,避免因意外而影响正常工作。且智能合约自动分配所有利益,去除第三方金融平台,保障了所有参与方的利益,保证了交易的公平与可信。其次,本系统中版权拥有者通过智能合约直接交易数字权限和发放许可证,令数字权限的售卖情况储存在区块链上,使得售卖信息变得公开透明和真实可信。在一定程度上保证了用户隐私,也对用户更加友好,使得版权拥有者可以拥有更大的自主权和获得更多利益回报。最后,版权拥有者使用AES算法对数字内容进行加密,并将其存储在IPFS存储节点中,存储节点不能获得数字内容的任何明文信息。数字内容的加密密钥采用Shamir秘密共享算法和ECC椭圆曲线加密算法进行加密及密钥交换,并存储在智能合约中。只有已成功获得相应许可证的用户才能解密加密的内容密钥并根据许可证中包含的权限使用数字内容。
也分析了两种典型攻击类型(DoS攻击和窃听攻击)下系统的安全性:(1)本文所述方案采用区块链技术,没有真正意义的中心服务器,当一个节点受到恶意DoS攻击时,此节点发生故障,但系统中的其他节点仍能正常工作。由此延伸,当多个节点受到攻击且发生故障时,系统中的其他节点仍能正常工作,整个系统可以维持正常功能,避免了单点故障,抵御了DoS攻击。(2)对版权文件、加密密钥和加密子密钥进行加密处理,没有相应的加密密钥、加密子密钥和购买者公钥无法解密。因此,在提出的系统中,能防止窃听攻击。
理论证明,系统可以抵御这两种攻击,系统是安全的。
本系统针对数字音乐版权的确权与授权提供一整套解决方案,利用区块链技术去中心化、不可伪造、公开透明等特点,解决传统数字音乐权限保护行业存在的保护难、举证难、交易难的问题。实现了一个基于区块链的从版权确权到授权的数字音乐权限保护系统。
当然本系统也存在缺陷,如为了隐私问题,搭建的以太坊区块链网络为联盟链,只有授权的节点才能加入区块链网络,并不是完全的去中心化;又如虽然在智能合约上进行了限制,使得用户无法直接获取区块链上的隐私信息,但是仍存在信息泄露的风险。若要想实现完全的去中心化应用的开发,用户隐私问题必须重视,这需要对区块链的底层实现进行相应的二次开发,而不是只停留在顶层,即应用层已经实现的技术。这还需要今后继续学习,在区块链底层实现上继续前进。