技术领域
本发明属于地理信息系统中矢量地图数据版权保护领域,具体涉 及一种针对基于矢量地理数据结构的矢量水印攻击方法。
背景技术
与密码学类似,数字水印也是一个对抗性的研究领域。正是因为 有水印攻击的存在,才有水印研究的不断深入。另外,为了实现数字 水印的标准化,必须对各种数字水印算法进行安全性测试。水印测试 者既需要熟悉水印算法又要熟悉水印攻击算法,而且还要从水印算法 的理论入手进行水印信息量和鲁棒性的定量分析。
矢量地图数据水印算法不同于传统的基于图像水印算法,这主要 是由于地图数据不具有图像数据应用的普遍性等原因,同时还在于矢 量地图数据在数据结构、存储形式、表现方式、应用环境、使用要求 以及可能的攻击行为等方面与图像等多媒体数据都不一样,一般的水 印算法还很难直接应用在矢量地图数据上。
值得注意的是,主动攻击并不等于肆意破坏。以版权保护水印为 例,如果将嵌入了水印的数字产品弄得面目全非,对攻击者也没有好 处,因为遭受破坏的数字产品是无法销售的。真正的主动水印攻击应 该是在不过多影响数据质量的前提下,除去数字水印。
为了最终确定水印的技术标准,信息安全测评机构必须对大量公 开的水印算法进行测试。这种测试不仅要通过实验,而且还要进行理 论分析,以免由于样本选择错误造成以偏概全。
面对大量而且烦琐的测试实验,数字水印自动测试系统的研究显 得十分必要。剑桥大学开发的Stir Mark软件就是一个典型的数字水 印测试系统,它集成了几十种水印攻击算法,可以比较全面地测试水 印算法的鲁棒性。
发明内容
本发明要克服现有水印攻击方法大量而且烦琐的测试实验的缺 点,提供一种在不改变地图精度和显示效果的基础上,通过对坐标数 据序列进行分割与反转操作,达到攻击现有的空域与频域水印的检测 定位能力,使得水印检测算法无法有效地检测水印的存在,从而达到 去除水印的目的;同时也是矢量地图水印算法鲁棒性检验的有效手段 评价的重要工具。更是矢量地图数据水印算法研究不可或缺的测试技 术之一。
本发明解决其技术问题所采用的技术方案是:
一种基于矢量地理数据结构的矢量水印攻击方法,包括以下步骤:
(1)、基于矢量地理数据坐标序列的分割攻击
对矢量地图数据中的线串、线环和多边形等数据表示形式,在不 影响地图数据精度与显示效果的基础上,对坐标序列采用分割的手段 进行重新构建处理,扰乱现有空域与频域水印算法的水印检测定位的 特性,从而实现攻击嵌入水印的目的。具体方法步骤如下:
(1.1)、读取矢量地图坐标序列数据。
(1.2)、检索矢量地图数据中的线串、线环和多边形数据。
(1.3)、获取线串、线环和多边形的坐标序列长度。然后根据长 度数据,生成一个大于N,且小于M的随机数K;其中N、M为用户设 定的一个阀值。
(1.4)、随机数K的处理目的,为防止出现规律性,从而为水印检 测算法进行数据重构创造条件。
(1.5)、一组具有n个顶点的坐标序列,即{{X1,Y1},{X2,Y2},…… {Xn,Yn},对n个顶点的坐标序列根据随机数K进行分割,每次取坐标 序列的前K个数据,构成一组新的具有K个数据的坐标序列{{X1,Y1}, {X2,Y2},……{XK,YK}。
(2)、基于矢量地理数据坐标序列的倒置攻击
对矢量地图数据中的线串、线环和多边形等数据表示形式,在不 影响地图数据精度与显示效果的基础上,对坐标序列采用倒置的手段 进行重新构建处理,扰乱现有空域与频域水印算法的水印检测定位的 特性,从而实现攻击嵌入水印的目的。具体方法步骤如下:
(2.1)、读取矢量地图坐标序列数据。
(2.2)、检索矢量地图数据中的线串、线环和多边形数据。
(2.3)、根据坐标数据的长度,生成一个随机数K,当K为偶数时, 则对坐标序列进行倒置处理;当K为奇数时,则不对坐标序列进行倒 置处理。
(2.4)、随机倒置的目的是为防止出现规律性,从而为水印检测 算法进行数据重构创造条件。
(2.5)、倒置处理的方法是:对分割后的坐标序列{{X1,Y1}, {X2,Y2},……{Xn,Yn}}进行倒置处理,即把坐标序列的头尾进行 转置成{{Xn,Yn},{Xn-1,Yn-1},……{X1,Y1}}。
本攻击处理方法的特点与效果:
此方法只是改变了坐标序列的组织顺序,打乱了现有的矢量水印 算法的水印信息起始位置定位,从而使水印检测算法无法检测到水印 的存在,实现去除矢量水印的目的;
在矢量地图的表示与使用上是等价的,且可以对n个顶点的坐标序 列进行分割成m段具有{K1,K2,……,Km}个顶点的坐标序列;
由于在分割与倒置处理过程中,使用了随机函数,即使在原始数 据参与的情况下,也难以对新的数据进行恢复重组,是当前矢量地图 水印算法无法解决的攻击;
本攻击算法,实现简单,处理速度快,是目前行之有效的矢量地 图数据水印去除手段;也是检验矢量地图数据水印算法鲁棒性的重要 工具之一。
本发明技术核心思想是根据地理信息矢量数据特点,提出了一种 矢量地理数据结构的矢量水印攻击方法。提出了一种基于矢量地理数 据结构的矢量水印攻击方法。目前矢量地图水印算法依赖坐标数据序 列组织形式来实现水印检测定位的特性,本方法在不改变地图精度和 显示效果的基础上,通过对坐标数据序列进行分割与反转操作,达到 攻击现有的空域与频域水印的检测定位能力,使得水印检测算法无法 有效地检测水印的存在,从而达到去除水印的目的;同时也是矢量地 图水印算法鲁棒性检验的有效手段评价的重要工具。
本发明的优点是:所采用的方法实现简单有效,能够为进一步研 究与开发更有效的矢量地图水印算法提供基础理论与手段。
附图说明
图1为分割攻击流程图。
图2为倒置攻击流程图。
图3为原始矢量地图数据坐标序列示意图。
图4为进行分割攻击与倒置攻击后的矢量地图数据坐标序列示意 图。
具体实施方式
下面结合附图对本发明作进一步描述。
(1)、图1是基于矢量地理数据坐标序列的分割攻击的流程图,其 具体实现描述步骤如下:
对矢量地图数据中的线串、线环和多边形等数据表示形式,在不 影响地图数据精度与显示效果的基础上,对坐标序列采用分割的手段 进行重新构建处理,扰乱现有空域与频域水印算法的水印检测定位的 特性,从而实现攻击嵌入水印的目的。具体方法步骤如下:
(1.1)、读取矢量地图坐标序列数据。
(1.2)、检索矢量地图数据中的线串、线环和多边形数据。
(1.3)、获取线串、线环和多边形的坐标序列长度。然后根据长 度数据,生成一个大于N,且小于M的随机数K;其中N、M为用户设 定的一个阀值。
(1.4)、随机数K的处理目的,为防止出现规律性,从而为水印检 测算法进行数据重构创造条件。
(1.5)、图3描述了一组具有n个顶点的坐标序列,即{{X1,Y1}, {X2,Y2},……{Xn,Yn},对n个顶点的坐标序列根据随机数K进行分 割,每次取坐标序列的前K个数据,构成一组新的具有K个数据的坐标 序列{{X1,Y1},{X2,Y2},……{XK,YK}的过程。
(2)、图2是基于矢量地理数据坐标序列的分割攻击的流程图,其 具体实现描述步骤如下:
对矢量地图数据中的线串、线环和多边形等数据表示形式,在不 影响地图数据精度与显示效果的基础上,对坐标序列采用倒置的手段 进行重新构建处理,扰乱现有空域与频域水印算法的水印检测定位的 特性,从而实现攻击嵌入水印的目的。具体方法步骤如下:
(2.1)、读取矢量地图坐标序列数据。
(2.2)、检索矢量地图数据中的线串、线环和多边形数据。
(2.3)、根据坐标数据的长度,生成一个随机数K,当K为偶数时, 则对坐标序列进行倒置处理;当K为奇数时,则不对坐标序列进行倒 置处理。
(2.4)、随机倒置的目的是为防止出现规律性,从而为水印检测 算法进行数据重构创造条件。
(2.5)、图4描述了倒置处理的方法:对分割后的坐标序列 {{X1,Y1},{X2,Y2},……{Xn,Yn}}进行倒置处理,即把坐标序列的 头尾进行转置成{{Xn,Yn},{Xn-1,Yn-1},……{X1,Y1}},
本发明的攻击处理方法的特点与效果
此方法只是改变了坐标序列的组织顺序,打乱了现有的矢量水印 算法的水印信息起始位置定位,从而使水印检测算法无法检测到水印 的存在,实现去除矢量水印的目的。
在矢量地图的表示与使用上是等价的,且可以对n个顶点的坐标序 列进行分割成m段具有{K1,K2,……,Km}个顶点的坐标序列。
由于在分割与倒置处理过程中,使用了随机函数,即使在原始数 据参与的情况下,也难以对新的数据进行恢复重组,是当前矢量地图 水印算法无法解决的攻击。。
本攻击算法,实现简单,处理速度快,是目前行之有效的矢量地 图数据水印去除手段;也是检验矢量地图数据水印算法鲁棒性的重要 工具之一。