矢量地理数据是国家信息基础设施和地球科学研究的基础性成果,在经济发展和国防建设中发挥着重要作用。作为一种数字产品,极易被传播、篡改和非法复制,为地图盗版、侵权等违法行为提供了极大的便利。因此,研究保障矢量地理数据的安全传播以及追溯非法传播者非常重要。
目前保护矢量地理数据安全的主要手段是数字水印技术,该项技术通过将能够标识数据所有者信息的水印信息嵌入到数据中,达到确认版权归属的作用。但是当多个用户联合起来伪造数据进行共谋攻击时,数字水印无法找出合谋者。
而数字指纹技术凭借特殊构造的指纹编码,通过将唯一标识用户的指纹信息嵌入到数字产品中,能够在多用户合谋攻击下,找出至少一个合谋者且无辜用户不会被诬陷,能够有效的对非法用户进行追踪。因此在盗版数据追踪溯源方面,数字指纹具有数字水印无法比拟的优势。
发行商单方面生成指纹信息并嵌入到数字产品中,发行商和用户都拥有含指纹的数字产品。
问题:无法判断非法复制是用户还是发行商所为。
在指纹的生成和嵌入过程有交易双方的参与,交易完成后只有用户拥有含指纹的数字产品。
优势:有效防止合法用户被开发商诬陷。
数字指纹方案通常需要应对用户的合谋攻击,为此发行商会根据一定规则对用户相关信息进行编码,生成具有抗合谋攻击能力的码字。本文采用的编码方式是利用I码和PD-PBIBD码进行分块编码,以生成抗合谋指纹。
(sp, s2p-2, sp-1, s, 0, 1) GD-PBIBD
其中,s为素数,p为大于2的正整数,通过改变参数s和p构建不同长度的用户码。码字矩阵的总行数表示可以容纳的用户数量,每行均为用户的唯一指纹序列。每个指纹序列中"0"的位置的差异用于唯一标识用户。
同态加密算法可以将加密后的指纹信息嵌入到加密后的数字产品中,嵌入完成后使用私钥解密该数字产品即可获得不影响正常使用的含指纹数字产品,因此被广泛应用于非对称指纹协议的构造中。
c = gm ∙ rn mod n2
m = L(cλ mod n²) ∙ μ mod n
Paillier加密的加法同态性:
D(E(m₁,r₁) ∙ E(m₂,r₂)) = m₁ + m₂
对m₁和m₂的密文进行乘法计算可以得出m₁和m₂的明文相加结果的密文值,本文将使用Paillier加密的该特性进行水印的加密域嵌入。
本文协议内容包括指纹生成与嵌入子协议、侵权追踪与仲裁子协议2个部分。协议的核心思想是在数据中嵌入跟踪指纹FT和指控指纹FA两个指纹序列,其中FT由发行商单方面生成和嵌入,FA由用户生成并使用自己的公钥KPU加密后传递给发行商。
图1 协议整体框架
指纹生成和嵌入子协议主要负责将交易双方的指纹信息都嵌入到数据中,以便后续发生版权纠纷时使用。设计思路如下:
图2 指纹生成与嵌入子协议
侵权追踪与仲裁子协议主要用于从非法复制品中提取跟踪指纹和指控指纹,使用跟踪指纹追踪非法复制者的身份并在发送侵权纠纷时使用指证指纹协助仲裁。
图3 侵权追踪原理
本文将2个不同功能的指纹信息同时嵌入到一副矢量地图中,并且为了保证用于仲裁的用户指纹信息不被发行商掌握,需要使用Paillier加密将这个指纹信息加密。
本文中指纹嵌入分为2个部分,分别是跟踪指纹嵌入和指证指纹嵌入。在指纹嵌入前,需要将矢量地理数据M分为2个部分,分别嵌入2个指纹信息。
x' = (x - Valuemin) / (Valuemax - Valuemin) × 10n
当发行商发现了非法复制品时便可以进行指纹提取来确认产品的归属和指证非法复制者。
本文的非对称指纹协议是通过将数据先进行加密在嵌入指纹信息,在实现手段与目的上与交换密码水印存在相似性,都存在对数据进行加密和版权信息的嵌入。
为验证算法的通用性和有效性,对不同类型的3幅矢量地图进行了实验,3幅图的基本信息如下表所示:
地图 | 对象类型 | 大小/KB | 坐标数目/个 | 要素数目/个 |
---|---|---|---|---|
A | 点 | 367 | 13,406 | 13,406 |
B | 线 | 15,391 | 946,115 | 11,113 |
C | 面 | 594 | 36,804 | 327 |
图4 加密前后对比图
实验从数据精度、加解密效率、抗几何攻击、抗裁剪攻击以及抗增删点攻击5个方面对算法的效率及鲁棒性进行了分析。在数据精度方面,实验使用了多组不同类型的数据,嵌入指纹的数据与原始数据之间的坐标差值均小于0.001 m,算法对数据的正常使用不会产生较大影响。
本文利用Paillier加密算法,提出一种适用于矢量地理数据的非对称指纹协议,可以实现对矢量地理数据的盗版追踪和指证。本文协议中,发行商嵌入2个指纹信息到数据中,一个是由发行商生成的用于追踪用户的指纹序列,另一个是由用户生成并加密的指证指纹。
创新点:
由于非对称加密的特性,相比于对称加密,虽然在安全性上得到了提升,效率却会下降。本算法对矢量地理数据进行加密时,将数据中所有需要加密的点坐标逐个加密,需要加密的点越多,加密需要的时间就越多。因此,在不降低方案的安全性的前提下,如何提高非对称加密的效率是下一步的研究计划。