张海涛,祝晓坤,董 明,肖 洲
(北京市测绘设计研究院,北京100038)
近年来,随着测绘与地理信息技术的发展和我国社会信息化进程的不断加快,测绘与地理信息行业正逐步建设信息化测绘服务技术体系。在这个过程中,基础地理信息数据产品的应用越来越广泛,如何验证某种基础地理信息数据产品的生产部门,保护其知识产权,已经成为一项迫切需求的技术。
本文研究的目标是可在基础地理信息数据产品中加入生产部门的标记信息,以证明其版权归属,使得测绘管理部门能够检验地理信息数据产品的来源,从技术上满足其对数字测绘生产进行规范管理的需求。同时,通过开发一套实用的数字水印软件系统,可在基础地理信息数据产品的分发服务中提供版权保护技术,并可适用于不同的平台和数据格式,满足测绘与地理信息行业大多数用户的实际需求。
对基础地理信息数据产品进行版权保护,人们最先想到的是数字加密技术,但它并不适用,只有信息隐藏领域中的数字水印技术才是解决问题的理想方案[1-2]。
基础地理信息数据产品从表现形式上分类主要包括数字线划地图(DLG)、数字栅格地图(DRG)、数字正射影像图(DOM)和数字高程模型(DEM),即常规的4D产品;从数据结构上分类则主要包括矢量数据产品和栅格数据产品。在4D产品中,DLG属于矢量数据产品,而DRG、DOM和DEM之间虽然存在较大的差异,但在数据结构上均属于栅格数据产品。不同的数据结构难以采用相同的数字水印算法,因此必须分别进行设计。
前些年,传统的数字水印技术只限于常规的数字图像、音频和视频等数字媒体产品[3-8],还没有针对基础地理信息数据产品的有效算法,尤其是矢量数据产品,对版权保护技术的应用需求最为紧迫,研究难度最大。根据本文研究之初的实际情况,先针对矢量数据实现了数字水印技术,开发了相关的软件,并在国内测绘行业中进行了推广应用;之后,根据市场的反馈和需求,针对栅格数据产品进行了数字水印技术的研究,并形成了针对基础地理信息数据4D系列产品的信息安全解决方案。
信息隐藏学的主要研究领域在图像、音频等方面,常规的数字水印算法是以栅格数据或信息流为处理对象的,可以施加很多压缩(有损或无损)算法,对精度、失真度的要求不敏感,因此栅格数据易于实现数字水印算法。
而矢量数据则有严格的精度、失真度要求,数据范围和形状灵活可变,数据量不固定,图形要素的排列不规则,空间分布不均匀,较少存在冗余,要附加数字水印是比较困难的。
根据研究,矢量数据在空间的分布是不均匀的,呈随机特征,不同的矢量图形要素之间具有一定的空间关系。在一定量的数据集合中,采用统计的方法对数据的分布进行归纳,则这种空间关系可被视作一种频率分布模型,如图1所示。
图1 矢量数据数字水印存储模型
根据矢量数据的空间关系,可以按影响数据质量的阈值定义一个分界线,将分界线上下的不同部分划分为高频和低频,高频部分决定了数据的质量,是不可变的,低频部分对数据的质量没有影响,表现为一种呈随机振荡特征的噪声,可以视为冗余信息,能够进行一定程度的修改,不会引起数据质量和精度的下降,也不依赖于图形的具体分布特征。
根据这个模型,设计了一个跨平台的通用数据结构,实现数字水印的嵌入和检测。按照这种存储模型嵌入数字水印后,基础地理信息数据的属性不变,图形特征没有明显的变化,拓扑关系也保持不变。
数据存储模型只解决了水印数据的存储问题,由于矢量数据呈现不规则的随机分布特征,因此需要解决大量的随机数据排序问题。
根据矢量数据的数字水印存储模型,高频部分是不可变的,因此可以根据这部分数据的统计特征进行排序,并采用折线扫描法(zigzag scanning)进行分类处理,如图2所示。
图2 基于折线扫描法的数据分类算法
该方法基于大量随机数据的统计特征,能够有效地对数据进行分类,保障了数字水印信息的有序组织。
该分类算法与基础矢量数据的分布特征无关,也与数据格式无关,因此具有较好的通用性。
所有的数字水印技术都建立在一定数据量的基础之上,即需要一个数据载体来容纳数字水印信息。对于栅格数据,其尺寸规格较为固定,数据量较大;而矢量数据的数据量不固定,出现较少数据的可能性较大,因此无法采用固定的水印信息长度。
根据矢量数据的这种特点,设计了变长水印处理策略。
首先,设计了两种水印长度模式,即常规模式和小数据模式。算法可自动分析数据量的多少,进行不同模式的处理。当数据载体的数据量较多时,采用常规模式,水印长度采用固定的分类算法进行处理。当数据载体的数据量较小时,采用小数据模式,自动调整分类算法的参数,水印长度将缩减为常规模式的1/4。
其次,根据数据在空间分布的饱和程度,算法会自动在水印长度之内限定可输入字符的数量,以确保水印信息的嵌入。
数字水印技术针对常规的数字图像或音频和视频等数字媒体产品已经有了大量的研究成果,而栅格地理信息数据虽然也是以栅格为其结构特征,但有严格的精度、失真度要求,无论是数据量、数据表示方式、数据冗余度、数据压缩算法、数据应用模式等都与常规的数字媒体存在较大的差异,因此这些现有的数字水印技术并不适用于栅格地理信息数据产品。
DRG、DOM和DEM虽然都是栅格数据,存在一定的共性,但它们的数据结构存在较大的差异,不可能通过一个统一的算法实现数字水印技术。因此,需要在考虑其共性的基础上,根据各自的不同特点,设计不同的数字水印嵌入方案。
由于DOM的数据量比较大,在实际工作中经常会采用压缩的方式来减少数据量,提高传输速率。因此,在DOM水印算法中针对常用的小波压缩进行了专门的设计。
本算法选择JPEG 2000标准中的Daubechies9/7小波基作为小波变换的基础,具有比较好的前瞻性,它可以有效地抵抗各种小波压缩,尤其是对JPEG 2000的压缩具有比较好的抗攻击能力。
算法抵抗压缩的程度主要取决于小波低频系数的量化步长和小波系数嵌入冗余度。量化步长的合适与否与抵抗压缩程度和图像质量密切相关,如果量化步长太小,则抵抗不了较大比率的压缩;量化步长太大,又会导致图像视觉质量严重下降。本算法采取了量化步长可调的方法,并多次试验确定了合适的阈值。
DRG是以索引色图像的形式存储的,图像数据中像元存储的是颜色的索引值,颜色数目较少而颜色值之间差别非常大,图像数据矩阵本身并没有什么颜色空域相关性,使用频域的方式嵌入水印对其并不适用,因此在本算法中采用了时域嵌入水印的方式。
根据DRG产品的特点和实现数字水印技术的需要,在图像的预处理上采用了一种基于仿射变换的数字图像置乱算法,能有效地保证水印的安全性。该算法具有以下优点:能适用于任意大小的图像,有较强的适用性;含有若干个变换参数,而且其中的大部分可以选用随机数,另外的由约束确定,这大大方便了密钥的选择,增加了系统的安全性,因此该置乱算法可以公开。由于其秘密全寓于密钥中,从而满足密码学中的Kerckhoffs假设。
DEM数据不是真正的数字图像,虽然属于栅格数据,但其元素不是真正的像元,而是高程值,因而无法采用常规的频域方式嵌入。根据DEM数据的特点,只有采用空域的方法才能实现数字水印技术。
由于DEM数据不存在压缩问题,因而采用LSB(最低有效位)方法进行了算法设计。在对DEM进行图像分割时,根据DEM的数据特征调整了子单元分割窗口的大小,以满足在DEM中嵌入水印的需求。
(1)抵抗剪切和拼接攻击
嵌入水印的栅格数据在遭到剪切攻击后,保存水印的子图的位置丢失,需要定位。因此,在算法中需要用到水印定位技术,也称同步技术,这在当今的图像处理领域仍然是个难题。
本算法采用了重复嵌入的思想,每单位大小的栅格数据均被嵌入相同的水印,因此需要在水印嵌入前对原始数据进行分割,这样问题就转化为如何在剪切后的栅格数据中定位分割位置。
本算法在嵌入水印前将原始数据分割为相同大小的子图,在每个子图的特殊区域嵌入同步码,并嵌入相同的水印;提取水印时先检测同步码,检测到同步码则同步完成,一个子图定位即结束。
由于待测栅格数据的多样性和复杂性,必须考虑各种剪切和拼接的可能,因此在找到含有同步信息的子图后,如何以较高的效率判定下一个子图的起始位置是一个难点。
在算法的设计中采用了以下的方法:在找到含有同步信息的子图后,将这个子图的水平和垂直4个方向的可能含有同步信息的子图的搜索优先级提高,在搜索中首先搜索这4个方向的区域。通过使用优先级的方法可以更加高效地找到下一子图的起始位置。
(2)BCH纠错码
对栅格数据的攻击有许多种方法,包括压缩、剪切、拼接、修改等,这些有意或无意的攻击使得从栅格数据中提取的水印流中往往含有错误信息比特,这些错误信息比特严重影响提取后的水印质量,因此有必要对水印信息流进行纠错编码。
经过深入的研究,采用了BCH纠错码技术。BCH码是循环码的一个重要子类,有严密的代数理论,具有纠正多个错误的能力。
不同的栅格数据产品其数据特征不同,可嵌入的水印空间也有差异,需要抵抗的攻击也不尽相同,因此需要使用不同的纠错码。针对这种情况,在DOM、DRG和DEM中分别采用了不同的BCH纠错码参数来处理水印流,以提高水印信息提取的正确率。
(3)图像水印的优化
在矢量数据产品的数字水印技术中,包括两种水印格式,即文字水印和图像水印[1]。
在进行栅格数据产品的数字水印技术研究中,继承了这一思路,仍然使用文字水印和图像水印为标识用户的版权信息,但进行了一定程度的优化。
由于图像水印所需要的空间较大,在矢量数据产品中最多只能嵌入32×32固定尺寸的二值图像水印。栅格数据产品不但能够嵌入超过40×40尺寸的二值图像水印,而且图像的长、宽是可变的,采用不等比的矩形尺寸能够有效地增加图像水印的显示效果。
同时,在图像水印的存储模式上进行了优化工作。一般的二值图像文件是用BMP格式存储的,由于该格式限制每一行像素占用的字节数为4的倍数,而二值图像是按比特存储像素的,当图像没有采用标准的8、16、32等尺寸时,就会在每一行的末尾保持若干个字节的空白,浪费了十分宝贵的水印空间。经过深入的研究,采用特殊的存储模式来保存像素数据,避免了空白字节的浪费,相对提高了水印空间的容量。
数字水印嵌入的稳健性[2]与水印信息的处理方式有很大的关系,由于任何数字产品都存在着被攻击的可能性,如果不对水印信息附加任何保护,将大大降低数字水印算法的稳健性和实施版权保护的能力。在基础地理信息数据产品的数字水印技术中,采用了多种方法对水印信息进行了保护。
在对基础地理信息数据产品进行数字水印处理时,不仅嵌入了用户输入的水印信息,也嵌入了用户的标志信息。这个标志信息是由软件提供者在分发软件时设置的,能够标识每一个用户,具有唯一性。它不但能够在检测水印时为鉴别用户身份提供必要的依据,而且能够在嵌入水印时验证用户对数据的操作权限。
在嵌入数字水印前,先对数据进行检测,只有数据中不存在水印时才可以嵌入;如果数据中已有水印,先判断水印中所附加的用户信息是否与当前软件的使用者一致,两者相同则提示用户是否继续,否则拒绝嵌入,这样就可以防止使用相同软件的不同用户之间侵权事件的发生,保护了每一个用户的利益,如图3所示。
图3 基于身份认证的用户信息保护策略
在嵌入数字水印前,应用数字加密技术对水印信息进行加密,所嵌入的水印数据实质上是二进制的密文序列。由于加密所采用的密钥是自定义的,其他人在没有密钥的情况下是无法提取出水印信息的,从而极大地加强了水印信息的安全性。
本文提出了基于基础地理信息数据产品的数字水印技术的设计思想,针对4D产品的不同类型,系统性地提出了针对矢量、栅格数据产品的数字水印算法和相关的处理技术,不但实现了数字水印的嵌入和检测,还能够鉴别和保护水印信息,并能够抵抗一定的攻击,具有较好的稳健性。
所提出的数字水印技术形成了一个完整的产品系列,可作为针对4D系列产品的信息安全解决方案,使得测绘管理部门能够检验基础地理信息数据产品的来源,从技术上满足其对数字测绘生产进行规范管理的需求,为建立信息化测绘服务技术体系提供了可靠的技术保障。
该技术对于有效地保护基础地理信息数据产品加工部门的知识产权有着十分重要的意义,能够检查和跟踪基础地理信息数据产品的传播和使用情况,拥有进行科学验证的依据,避免使用人工进行判断而又拿不出有效证据的问题,可有效地遏制盗版的发生,维护生产部门的利益。同时,该技术不但可以促进测绘行业的信息安全建设,推动科技发展,还能够推广到全国测绘与地理信息及相关行业,如林业、水利、交通、环境保护、电力电信、城市规划、国防军事等。
[1]张海涛,李兆平,孙乐兵.地理信息水印系统的开发[J].测绘通报,2004(5):42-44.
[2]刘振华,尹萍.信息隐藏技术及其应用[M].北京:科学技术出版社,2002.
[3]余燕忠,王新伟.基于信噪比的自适应图像水印算法[J].计算机工程,2003,29(1):70-71.
[4]孙锬锋,温泉,王树勋.基于人类视觉的混沌阵列在图像上的水印算法[J].电子学报,2003,31(1):149-153.
[5]朱仲杰,蒋刚毅,郁梅,等.一种视频图像的自适应水印新算法[J].浙江大学学报:理学版,2003:30(1):41-45.
[6]赵春晖,李福昌.一种基于m序列调制的量化音频数字水印算法[J].哈尔滨工程大学学报,2003,24(1):97-100.
[7]王剑,林福宗.基于离散小波变换的数字音频水印[J].计算机工程与应用,2003,39(15):80-82.
[8]俞能海,赵卓,曹楠楠,等.一种新颖的基于非压缩数字视频的水印盲检测算法[J].电路与系统学报,2003,8(3):60-65.