区块链与数字水印相结合的地理数据交易存证及版权保护模型
2022-01-11朱长青徐鼎捷崔瀚川赵亚宙
朱长青,徐鼎捷,任 娜,崔瀚川,赵亚宙
1. 虚拟地理环境教育部重点实验室(南京师范大学),江苏 南京 210023; 2. 江苏省地理环境演化国家重点实验室培育建设点,江苏 南京 210023; 3. 江苏省地理信息资源开发与利用协同创新中心,江苏 南京 210023; 4. 南京吉印信息科技有限公司,江苏 南京 210023
随着地理数据交易流通和应用需求的增多,如何有效、合理地保护地理数据版权、对数据交易进行可信管理,是目前地理数据流通和应用中亟待解决的问题。数字水印技术通过在数据中嵌入版权、用户等水印信息,在地理数据版权保护、溯源追踪方面,发挥了重要作用,取得了丰硕的理论和应用成果[1-7]。但是,随着数字水印技术研究和应用的不断深入,以及自动驾驶领域高精地图分发等地理数据交易新场景的日益丰富[8],在没有第三方监管的情况下,地理数据的交易流通面临以下新的问题:①交易双方互信问题。版权方有可能通过虚假水印信息构陷购买方,同时购买方也可能恶意推脱数据外泄责任,导致交易双方难以达成共识。②多方版权声明问题。数据被多次倒卖后可能出现一份数据提取出多重水印的情况,而现有技术无法验证水印嵌入时间,因此真实版权归属难以确认。目前,仅利用数字水印技术难以应对此类新挑战,亟须引入新的技术和研究方法。近年来,发展起来的区块链技术为实现交易双方的互信与有效维权提供了解决途径。
区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并用密码学方式保证其不可篡改和不可伪造的去中心化共享总账,能够安全存储简单的、有先后关系的、能在系统内验证的数据[9]。随着以太坊等新一代区块链技术的兴起,区块链逐步发展为一种利用智能合约来编程和操作数据的去中心化基础架构与分布式计算范式,区块链的应用场景由数字货币向智能合约、去中心化互信行业应用扩展[10]。将区块链技术用于数据可信交易与流通领域现已有一些研究。文献[11]提出了一种可信环境下数据交易的协同机制,优化数据交易流程和共识过程,并在此基础上设计协同机制下可信数据交易平台架构。文献[12]阐述了利用智能合约改造授权存证环节,实现数据溯源。文献[13]提出了一种基于区块链技术的数据资产保护与交易平台,可以有效确认数据权属,提升数据系统的安全性与可靠性,同时保证数据共享效率。上述研究为数据可信交易存证提供了有效的解决方案。
近年来,区块链与数字水印结合应用于版权保护领域也有一些研究。通过将版权信息嵌入载体数据中并上链存证,能够对数据进行来源追溯和数据确权[14-15]。文献[16]提出了一种基于数字水印及区块链的版权管理系统设计方法。该方法结合了数字水印、区块链、感知哈希函数、快速响应(QR)码等技术,区块链用于安全存储水印信息提高了数字水印技术在版权保护领域的有效性。文献[17]提出了一个结合区块链和零水印技术的图像版权保护框架。该框架基于以太坊智能合约实现了系统中存储图像的关键字搜索功能,通过IPFS网络解决了区块链的数据扩展问题,实现图像的版权追溯。这些研究主要针对图像等普通多媒体数据,不能直接适用于具有数据量大、安全性高等特点的地理数据。将区块链与数字水印应用于地理数据交易存证和版权保护还存在一些问题,如将区块链和水印本质特征有机结合构建交易存证和版权保护模型、设计可信的交易存证智能合约、建立有针对性的零水印算法以及区块链应用系统的实现等。
本文针对上述问题,通过分析智能合约和IPFS网络的技术特征,建立结合零水印、IPFS、智能合约技术的地理数据交易存证与版权保护模型,并以开放联盟链作为智能合约开发平台对提出的模型进行验证,以实现地理数据的可信交易存证与版权保护。
1 智能合约及IPFS特征分析
1.1 智能合约
智能合约是存储在区块链上并可在满足预定条款和条件时自动执行的计算机代码[18]。智能合约模型如图1所示,其中脚本代码描述了交易双方之间的协议条款,并被直接写入区块链中。智能合约将经过外部的输入数据(如指定时间、事件等)作为预置响应条件,通过预定义的合约脚本来响应输入数据,在外部核查数据源后,如果确认满足条件则激活并执行合约,执行后的结果上链不可更改。在整个过程中,区块链可实时监控合约状态与合约值[19]。
图1 智能合约模型Fig.1 Smart contract model
智能合约的运行机制决定了它具有自执行、自验证、防篡改的特性。智能合约的合理设计与调用可以将法律义务性自觉行为转化为无须人为干预的自动化流程,从而减少了对第三方监管机构的依赖,实现交易双方的互信。将地理数据交易信息与版权信息通过智能合约的调用实现及时自动化存证,既可以保障地理数据交易安全性,也为地理数据交易后期维权提供有力凭据。
1.2 IPFS
Inter-Planetary File System (IPFS)是一个创建于2014年基于区块链技术的开源项目(https:∥docs.ipfs.io/)。该项目搭建了一个哈希验证数据完整性、分布式的、可全世界通过内容寻址的去中心化存储系统。由于该系统具备数据安全防篡改、访问速度快、没有单点故障等优点,IPFS可以较好地替代现有的零水印体系中的知识产权(intellectual property right,IPR)管理机构。在水印生成阶段对零水印进行注册登记,在水印检测阶段对比注册结果,实现版权鉴定和来源追溯。
对于每一个上传的零水印文件,IPFS网络都会分配一个与存储位置无关、仅与内容相关的哈希值形式的文件地址,任何上网的设备上都能够通过文件的哈希地址访问和下载保存在IPFS网络里零水印文件。此哈希值和文件内容具有唯一映射关系,数据一旦被修改,再次经过哈希运算就会生成完全不同的哈希值,因此,在IPFS网络上保存的零水印很难被篡改。在访问和下载数据时,IPFS通过分布式哈希表可以迅速发现其存储位置。即便某个网络节点被撤销,该数据依然可以被正常访问。使用IPFS网络代替原有的IPR管理机构,不仅提高了零水印的安全性,还降低了零水印注册成本。
2 地理数据交易存证与版权保护模型
基于智能合约及IPFS技术特征分析结果,以及针对地理数据安全性高、数据量大的特点和交易存证和版本保护需求,本文提出了一种结合零水印、IPFS、智能合约技术的地理数据交易存证与版权保护模型,如图2所示。
图2 地理数据交易存证与版权保护模型Fig.2 Geographic data transaction certificate and copyright protection model
模型分为数据确权与用户维权两个部分。数据确权包括:①利用数据稳健的特征不变量生成特征图与水印信息进行异或运算构造零水印;②在IPFS网络完成零水印注册,将注册获得的文件地址与交易信息、数据信息、水印信息绑定通过调用智能合约1上链存证。用户维权包括:①通过调用智能合约2获取此数据的链上交易凭证;②根据交易凭证上的文件地址从IPFS网络下载零水印;③利用提取的零水印完成水印检测获取版权及交易信息并结合交易凭证完成维权或解决纠纷。
零水印利用数据自身的稳健性特征信息与版权信息结合以构造而非嵌入的方式生成水印,避免了直接修改载体数据的同时也保证了水印的稳健性和安全性。本模型使用区块链与IPFS网络结合的方案代替传统零水印IPR注册机构,可以消除对第三方机构的依赖。通过对智能合约的设计可以实现零水印注册与版权信息上链存证过程的自动执行。一旦零水印在IPFS网络完成注册且交易信息上链存证,地理数据就已在零水印及区块链技术的保护之下。
该模型中,智能合约1是地理数据交易信息存证合约,智能合约2是地理数据交易凭证生成合约。参考图1中智能合约的模型结构,交易信息存证合约的外部输入数据包含交易信息、数据信息与水印信息;预置响应条件为交易双方数字签名校验完成且接收到零水印文件地址;预置响应动作是将数据信息、交易信息与零水印IPFS文件地址等信息绑定上链存证并返回链上交易Hash值。交易凭证生成合约的外部输入数据为链上交易Hash值;预置响应条件为链上交易Hash值存在;预置响应动作是生成对应的交易凭证。
在本模型中,如果能够从某一数据中提取出多个版权信息,那么可以根据交易凭证中的时间戳来确定真实版权归属,即最早上链认证的版权方为数据的真正拥有者,从而解决了由于多重水印引起的多方版权声明问题。在数据外泄或被盗用时,版权方可提取水印中版权及交易信息并追溯泄露数据购买方进行维权,如果购买方推脱责任,版权方可通过智能合约2生成经过区块链技术认定的交易凭证锁定数据交易流向进而确认责任人。如果版权方试图通过虚假水印构陷购买方,购买方有权要求版权方提交交易凭证举证。在本模型内,智能合约1执行交易存证前需校验交易双方的数字签名,从而杜绝了版权方单方面上链存证的可能,从而也保护了购买方免受恶意版权方构陷的风险。
模型的核心是构建契合区块链技术体系的零水印算法并设计有效的智能合约。
3 基于QR码的地理数据零水印算法
为了满足地理数据交易存证需求,充分利用地理数据的特征不变量,笔者提出了一种基于QR码的地理数据零水印算法。QR码兼具数据量小、信息容量高、自纠错强和识读快速全方位等技术优势,在相同的几何空间内能够承载更多的信息[20]。因此,将交易双方的信息以QR码的形式编码为原始水印,在保护版权的同时还能够在数据外泄后追溯泄露责任人。QR码在水印检测时无须任何附加信息,可直接扫码识读,相较于无意义水印信息检测更为便捷,其强大的自纠错功能则有助于提高水印检测结果的准确性。
零水印算法包括零水印构造、零水印提取及版权确认和零水印注册下载3个环节。算法流程如图3所示。其中零水印构造环节包括步骤1—步骤3;零水印提取及版权确认环节包括步骤4—步骤6;零水印在区块链上的注册及查询下载环节对应步骤7和步骤8。
图3 零水印算法Fig.3 Zero-watermark algorithm
3.1 零水印构造
本文使用奇异值分解(SVD)方法构造零水印。SVD是直接在原始矩阵上进行的矩阵分解,对非方阵矩阵也同样有效。其定义如式(1)所示
(1)
步骤1:不同类别地理数据需根据其数据的特征不变量,构造与水印相同大小的特征图。
对于遥感影像等栅格数据,若具有多个波段,首先使用主成分分析的方法将多个波段的数据降维处理获取第一主成分单波段数据,降维后的第一主成分单波段数据包含有所有波段中的主要信息。再对此单波段数据做NSCT变换,提取其具有稳健特征的低频子图[22]。变换后的低频子图根据原始水印大小平均分为对应数量不重叠的子块,然后对每个子块进行奇异值分解,取出所有奇异值矩阵的第一个奇异值,并计算它们的平均值,最后比较每个子块的第一个奇异值与该平均值的关系,如果子块奇异值大于平均值则取值1,否则取0,这样就构造出一个与原始水印相同大小的奇异值特征矩阵即作为栅格数据的特征图像。
对于矢量地理数据,首先使用“道格拉斯-普克”算法筛选出较为稳定的特征点,增强零水印算法抵抗压缩攻击的能力[23]。然后利用特征点的X、Y坐标的最大值与最小值构建特征点的最小外接矩形,根据原始水印大小将此最小外接矩形等比例地平均分为对应数量的子块,将每个子块中所有特征点的X坐标值与Y坐标值组成两个向量,分别对两个向量进行奇异值分解,同样也取出X、Y坐标值向量奇异值矩阵的第一个奇异值进行比较大小,如果X坐标向量的奇异值大于Y坐标向量的,则此子块取值1,否则取值0。这样各子块值就组成了一个与原始水印相同大小的二值化特征图。
步骤2:将版权交易信息编码并转换为二值化的QR码水印图作为原始水印,再对QR码水印图像进行预处理。本文采用基于Arnold变换的QR码水印图像置乱安全技术实现水印信息加密,对于阶数为N的二维数字图像,Arnold变换的定义如式(2)所示
(2)
式中,(x,y)∈{0,1,2,…,N-1}为变换前像素点的坐标;(x′,y′)∈{0,1,2,…,N-1}为变换后像素点的坐标;mod为取模运算。Arnold变换实质上是改变空间像素点坐标的迭代运算,变换后各个像素点的位置将重新排列,从而达到置乱图像目的。
步骤3:将特征图I与置乱后的QR码水印图M进行异或运算即可得到零水印图像W。异或运算为
W=I⊕M
(3)
⊕是按位异或的运算符号,它是将两个运算参数按二进制展开,然后分别将相对应的位进行异或运算,两个值不相同,则异或结果为1。如果两个值相同,异或结果为0。
3.2 零水印检测及版权确认
步骤4:将待检测数据采用与步骤1相同的方法,根据不同类别数据的特征不变量,构造出与水印相同大小的特征图。
步骤5:将特征图与区块链中提取的零水印进行异或运算得到提取出置乱后的QR码水印图。
步骤6:将步骤5中提取的置乱后QR码水印图进行置乱恢复处理,对恢复后的QR码直接扫码,进行内容识别,即可认定版权归属,并获取数据交易详情。
3.3 零水印注册及提取
步骤7:通过接入IPFS Lite库的客户端程序将零水印图像上传至IPFS网络。IPFS网络对上传的文件分配一个哈希值形式的文件地址,获得该文件的IPFS地址即可认定为完成零水印注册。
步骤8:通过文件的地址即可通过接入IPFS Lite库的客户端访问和下载保存在IPFS网络里的零水印。
4 智能合约设计与调用
4.1 智能合约平台选择
智能合约的开发与设计需依托于一个成熟的智能合约平台。蚂蚁开放联盟链(https:∥antchain.antgroup.com/products/openchain)是当下发展的开放联盟链平台之一,开发者可以通过蚂蚁开放联盟链直接实现业务和区块链的快速结合。本文针对地理数据交易存证和版权保护的需求,选择蚂蚁开放联盟链作为智能合约平台,根据模型中交易信息存证合约、交易凭证生成合约的设计思路,基于蚂蚁开放联盟链提供的Cloud IDE在线合约开发环境编写Solidity类型的合约脚本代码,并使用开放联盟链BaaS平台提供的合约管理功能,完成了智能合约的创建与部署。
4.2 智能合约设计
智能合约的功能设计如图4所示。在数据确权环节,Solidity编程语言提供了数字签名和验证签名的操作,基于此操作,智能合约1即地理数据交易信息存证合约设计了防止版权方单独存证的执行逻辑。在接收到零水印在IPFS网络注册的文件地址(ipfsAddress)且交易双方数字签名(digitalSignature)校验完成时,则满足智能合约1的预置响应条件,智能合约1自动执行预置响应动作即将数据信息、交易信息与零水印IPFS文件地址等信息绑定上链存证,并通过transactionHash方法向交易双方返回链上交易Hash值。
图4 智能合约功能流程Fig.4 Smart contract function flowchart
在用户维权环节,交易双方都可以通过transactionHash方法调用智能合约2即地理数据交易凭证生成合约。只要提交的蚂蚁链上交易Hash存在即满足预置响应条件,智能合约2即会通过transactionCertificate方法生成对应的交易凭证返回给交易双方。交易双方可通过交易凭证中IPFS文件地址下载零水印(zero watermark)后即可使用extractInformation方法获取数据中版权及交易信息,结合交易凭证进行维权。
4.3 智能合约调用
在合约部署完成的基础上,完成智能合约的调用,才能实现合约设计的全部功能。发送交易是实现合约调用的方式之一,交易中包含需要调用的合约地址、函数和参数等数据,交易执行成功后会更新合约的状态,并且所有的交易记录等会保存到区块链中,具有可追溯性。智能合约1中地理数据交易信息存证功能即采用这种发送交易的方式调用,因此每次调用需要一定的上链成本。合约调用的另一种方式是通过函数查询调用,这种方式无须发送交易,也不会在区块链中产生记录。智能合约2中的地理数据交易凭证生成功能就是采用该调用方式,因此可以零成本无限次生成。
5 试验与分析
5.1 系统实现
基于第3节提出的模型,本文将蚂蚁开放联盟链作为底层区块链平台实现了地理数据交易存证与版权保护系统,系统包括桌面端与支付宝小程序端。桌面端界面如图5所示,包括区块链总览、水印管理、存证管理和用户管理4个模块。区块链总览模块查看当前区块链概况信息,水印管理模块实现零水印构造与检测;存证管理模块包括上链存证、IPFS文件下载和Hash管理;用户管理模块可进行用户信息认证与身份管理,日志记录用户登录时间以及操作详情。
图5 地理数据交易存证与版权保护系统桌面端界面Fig.5 Desktop interface of geographic data transaction certificate and copyright protection system
5.2 数据确权和用户维权试验
5.2.1 数据确权试验
试验选用模拟的1∶5万shapefile格式的矢量地理数据(坐标单位为m)作为交易数据,交易双方分别为测绘档案馆和信息中心。采用MD5算法计算出数据32位的Hash值作为交易双方认同的数据产品唯一标识,计算交易数据Hash值后,将“版权方:测绘档案馆购买方:市信息中心产品Hash值:11F3ACC10035449A15BFC168E1 8374CC”文本内容编码为QR码作为原始水印。交易双方首先在桌面端登录完成数字签名,然后使用系统中水印构造功能构造出零水印图像,如图6所示。构造完成后将生成的零水印图像保存本地。
水印构造完成后,通过如图5所示的桌面端上链存证功能模块,在输入零水印路径并填写完交易双方及产品相关信息后,点击“零水印注册并上链存证”按钮实现接入IPFS Lite库将零水印上传到IPFS系统完成零水印注册。注册成功后IPFS网络就会返回哈希值形式的文件存储地址,智能合约1接收到文件地址同时即进行交易双方数字签名验证,满足预置响应条件时将产品信息、水印信息、交易信息及文件地址绑定上链存证。存证完成后桌面端返回上链交易Hash值即完成数据确权全过程。系统将交易Hash值与数据产品Hash值对应保存在Hash管理模块,以备维权时检索用于生成交易凭证。
支付宝小程序端界面如图7所示,可调用智能合约2实现支付宝二维码图片形式的交易凭证生成及导出。
5.2.2 用户维权试验
5.2.2.1 版权方维权
版权方遭遇交易数据泄露或被盗卖情况时,首先,需通过桌面端Hash管理模块查询原产品Hash值对应的链上存证交易Hash值。然后,在如图7(a)所示的小程序界面提交所需维权产品对应的交易Hash值。最后,小程序客户端将跳转到蚂蚁区块链浏览器,得到如图7(b)所示的交易凭证详情,其中包含所有产品信息、交易信息、水印信息、零水印IPFS文件地址和交易时间戳等具体内容。
图7 地理数据交易存证与版权保护系统小程序端界面Fig.7 Applet interface of geographic data transaction certificate and copyright protection system
在提取水印信息时,首先,根据交易凭证中的零水印文件地址,通过桌面端IPFS下载功能接入IPFS Lite库下载零水印图像。然后,在桌面端水印检测功能模块按第4节操作步骤实现零水印检测,过程如图8所示。最后,通过扫描提取水印QR码,可读取文本内容为“版权方:测绘档案馆购买方:市信息中心产品:11F3ACC10035449A15 BFC168E18374CC”的水印信息。只需比对侵权数据提取的水印信息与交易凭证信息是否一致,如果一致就可以确认数据外泄责任人。
图8 零水印检测过程Fig.8 Zero-watermark extraction process
凭证信息经蚂蚁链认证并存储在蚂蚁链唯一区块高度的区块上不可篡改,具有一定的法律效力,版权方因此能够以此凭证结合水印信息作为维权证据依法维权。
若一份数据被多方声称提取出版权信息时,拥有交易凭证者可与其他版权声明方通过比对交易凭证上的时间戳信息,最早零水印注册者可被认定为数据真实版权方,从而解决了多方版权声明问题。
5.2.2.2 购买方维权
购买方在交易完成后,也可以通过如图7(a)所示的小程序端生成并保存支付宝二维码形式的电子凭证。如需维权使用支付宝扫码即可查看如图7(b)所示的凭证详情并作为维权依据保障其合法使用权,既方便快捷又安全高效。
购买方如遇版权方使用虚假水印恶意构陷时,则可要求对方提交交易凭证,证明此交易行为确有发生。由模型中智能合约1的预置响应条件可知,智能合约1只有双方数字签名校验通过后才可实现上链存证。因此,交易凭证既可以又保护其免受构陷。
由以上交易数据确权、用户维权的试验结果及分析可知,本系统既可以保护版权方利益又能够保障购买方权益。以区块链技术为依托,基于本模型交易双方可达成共识,在无第三方监管情况下实现互相信任,并在水印与链上交易凭证双重保障下实现地理数据安全交易。
5.3 零水印稳健性试验
为了验证所提出零水印算法的稳健性,对原始数据进行了如裁剪、平移、简化、增加等攻击后,再按第4节操作步骤使用系统完成了提取试验并进行扫码识别。试验结果见表1。
表1 攻击试验结果
由表1可知,所构造的零水印算法对裁剪、平移、简化、增加等攻击均具有较强的抗攻击能力,因此本文提出的算法具有较高的安全性和有效性。
6 结 论
本文针对地理数据安全可信交易问题,将区块链技术与数字水印技术有机结合,建立了基于区块链和数字水印技术的地理数据交易存证与版权保护模型,提出了适用于该模型的地理数据零水印算法,并以蚂蚁开放联盟链为智能合约开发平台,构建以IPFS系统为基础的零水印注册机制,研发了地理数据交易存证与版权保护系统。通过区块链技术实现了交易信息对双方透明、可追溯及不可篡改,通过零水印实现了数据交易及使用的全程版权保护,从而交易双方可以实现数据产品版权与使用权的快速确认,结合水印信息与链上交易凭证可实现有效维权,提高确权效率的同时能够降低维权成本。试验验证表明,本文提出的零水印算法具有较强的稳健性,建立的模型能够有效地解决地理数据交易过程中存在的交易双方互信和多方版权声明问题,为实现数据交易存证和版权保护提供了新的手段,对地理数据安全流通、可信交易和广泛应用都具有重要的价值。