一种数字矢量地图完整性保护方法

文档序号:6371199阅读:230来源:国知局
专利名称:一种数字矢量地图完整性保护方法
技术领域
本发明涉及密码学、信息安全、地理信息系统和数字图像处理领域,具体涉及一种可抵挡多种攻击,提高写数据速度的对数字矢量地图进行完整保护和认证的方法。
背景技术
随着信息处理技术与测绘技术的快速发展,数字矢量地图在地理信息系统、数字化城市和智能交通运输系统得到了广泛应用。数字矢量地图具有易编辑易传播的优点,极大方便了人们的日常生活。但是,矢量地图的非法篡改和传播会严重损害地图所有者的合法利益。因此,研究矢量地图完整性认证机制对遏制矢量地图的非法篡改和传播非常重要,已经成为当今信息安全领域研究的热点。认证主要有两种方法,一种是通过传统密码学认证,一种是利用数字水印技术。传 统的密码学认证方法对要保护的数据以数据流的形式进行哈希计算,然后用加密算法加密哈希值产生数字签名,最后把数字签名附加在待保护数据的末尾,和原始数据一起传输,传输中任何比特的改变都可能导致认证失败。这种方法安全性比较高,但是不能进行篡改定位和恢复,并且,数据签名是拼接在原始数据尾部,与原始数据是独立的,很容易被删除。针对这些缺陷,数字水印作为一种潜在的解决方案,越来越多的得到人们的关注。数字水印将具有确定性和保密性的信息即水印嵌入到数字产品(图像、语音、视频等)中,并作为原始数据的一部分存储在数字作品中,从而实现版权保护、发布跟踪、身份识别、完整性认证等。数字矢量地图具有地理信息丰富、精度高、无损缩放、易于存储和发布等特点,在地理信息领域正在得到迅速普及。目前,对于数字图像的完整性认证研究较多,但针对数字矢量地图的完整性认证所做的工作相对较少。1993年,Tirkel等人首次在论文Digitalwatermar提出数字水印的概念[1]。文章指出水印可以携带认证、授权码或图像标识等,将其嵌入灰度图像中,用于图像版权保护、假冒以及访问控制等。随着对水印技术的研究,人们发现使用水印技术对数字产品的内容进行完整性认证要优于传统的加密和数字签名的认证方法。1997年,Yeung和Mintzer提出一种基于随机序列的图像认证方法。该方法使用伪随机序列和差值扩展的方法,将二进制水印信息嵌入到图像中,可以检测到任何像素值的改变。这种方法可以定位篡改位置,但容易遭受拼接攻击[2]。2002年,Jun Tian提出一种基于小波变换的可逆水印认证方法。该方法使用一个二进制位代表一个小波系数,并嵌入一位信息在小波系数中,将扩大后的小波系数组成一幅位置图,使用JBIG2方法对系数值无损压缩。对整幅图像进行SHA-256哈希散列,将哈希值和二进制流、压缩后的位置图一起嵌入到原始图像中用于完整性认证[3]。2005年,邵承永、王孝通提出一种基于可逆脆弱数字水印的数字矢量地图认证方法,将原始地图的数据摘要作为水印数据的一部分嵌入到原始地图中,水印嵌入以数据段为单位重复进行,提高了篡改定位能力,并且在数据未经改动的情况下,能够准确无误的恢复出原始地图数据。但是对数字矢量地图进行增加或删除顶点会破坏算法的篡改定位能力,产生错误的检测结果[4]。2010年,郑良斌、贾玉禄、王群提出一种基于分块的脆弱水印方法。这种方法对数字矢量地图进行分块,对每一块计算摘要,对块中坐标点的低6位压缩与摘要拼接,代替原始的低6位坐标值。认证时,对矢量地图分块,提取嵌入的水印与当前地图块生成的水印比较进行篡改定位,将篡改位置精确定位到数据块,但是这种方法不能抵抗删除和添加线图元的攻击[5]。近年来出现的用于认证的水印方案,能够实现篡改定位,但该类策略抗攻击能力比较弱,且不能实现篡改恢复。所以,对篡改矢量地图进行恢复是具有巨大需求和需要迫切解决的领域。[I] Al Baloshi, M. , Al-Mualla, M. E. A DCT-based watermarking techniquefor image authentication(2007)IEEE/ACS International Conference on ComputerSystems and Applications, AICCSA rt. no. 4231045, 2007:754-760P[2] Tian Jun. Wavelet-based reversible watermarking forauthentication Proceedings of SPIE.The International Society for Optical Engineering, 2002:679-690P[3]Celik M, Sharma G, Saber E, et al. A hierarchical image authenticationwatermark with improved localization and security[C]. Proceedings of the IEEEInternational Conference on Image Pro-cessing. Feb 2001,502—505P[4]Li C T, Yang F M, Lee C S. Oblivious Fragile Watermarking Schemefor Image Authentication[C]. Process of IEEE International Conference onAcoustics, Speech and Signal Processing. Orlando, USA, 2002:3445-3448P[5]和红杰,张家树,陈帆.一种高定位精度的可恢复水印算法[J].中国科学(信息科学),2008,38 (04) : 533-552.

发明内容
本发明的目的在于提供一种结合数字水印技术,实现篡改检测,精确定位篡改数据块,并实现篡改块数据恢复,使篡改地图可以正确安全使用的数字矢量地图完整性保护方法。本发明的目的是这样实现的本发明包括生成水印、隐藏水印和完整性认证三部分(I)生成水印包括如下步骤I)生成认证水印将矢量地图以二进制数据流形式读入缓存,进行MD5哈希处理,获得128b摘要信息并使用Blowfish加密生成认证水印;2)生成定位水印对矢量地图的坐标文件,顺序读取每一条子线段,以50条子线段为处理单位块,对块内所有坐标集合进行MD5哈希处理,得到每块的摘要信息,使用Blowfish加密后生成该单位块的定位水印;3)生成恢复水印对矢量地图的坐标文件,以子线段为处理单位,提取线段上所有坐标点的横纵坐标,第一顶点值不变,计算其余坐标值与前一个顶点坐标值的差,差值化整,遍历整形差值,记录横纵坐标对应的正负值的个数和总和,计算对应正负块的平均值,并使用BZIP2压缩生成该子线段的恢复水印;(2)隐藏水印包括如下步骤I)水印信息传递到驱动层对上述的每一种水印分别创建一个唯一的系统I/O控制码,将对应的水印传递到驱动层;2)隐藏水印信息将认证水印存储头文件中,定位水印存储在矢量地图坐标值中,恢复水印存储在地图文件头部;
(3)完整性认证包括如下步骤I)提取认证水印,对待检测地图进行MD5哈希处理计算哈希值如果与提取出的认证水印相同,则证明数字矢量地图未经篡改,认证结束;如果与提取出的认证水印不同,则代表矢量地图已经被篡改,执行步骤2);2)提取定位水印,对待检测地图以50条子线段为处理单位进行MD5哈希处理,将得到的信息摘要依次与对应块定位水印进行比较,如果与提取出的定位水印相同,则相应的块未经篡改;如果与定位水印不同,则该块被篡改,执行步骤3);3)根据定位的篡改块,提取对应子线段块的恢复水印,将恢复水印解压缩,得到原始坐标值,依次比较每条子线段的坐标值,如果与对应的坐标相同,则该条子线段未经篡改;如果与对应的坐标不同,则该条子线段被篡改,执行步骤4);4)对被篡改的子线段使用恢复水印解压缩后得到的原始坐标值替换被篡改的坐标,完成篡改恢复。认证水印储存在指针偏移到头文件60-75字节处。定位水印储存在坐标文件中,指针偏移到坐标文件处,顺序每读取8个字节隐藏Ib的水印信息,直至将128b的定位水印信息完全隐藏在坐标文件中。恢复水印存储在矢量地图文件头部,在写真实矢量地图数据前,首先写入恢复水印长度,然后写入恢复水印。恢复水印的提取过程如下提取存储的水印长度,读出对应长度的恢复水印Rm’ ;a.对恢复水印进行BZIP2解压缩得到解压后恢复水印Rm";b.提取出对应的正负差值块的平均数;c.提取差值的正负标识;d 根据标识,还原整型差值;e.将差值转化为浮点型,还原原始坐标;f.最后得到原始坐标序列。本发明的有益效果在于I.本发明结合文件过滤驱动,在windows底层隐藏水印信息,不仅加快了存储速度,不影响用户的正常操作,还可以抵抗剪切、编辑等攻击。2.本发明选取的处理单位为50条子线段,与传统方法相比,可以抵抗特征点压缩攻击,同时可以精确定位到子线段块,抵抗编辑、删除等攻击。3.本发明提出的矢量数据压缩方法,比常规压缩方法的压缩率高,减少了存储的数据量。对恢复水印的存储,采用在底层写在文件头部,既保证了安全性,又提高了写数据的速度。4.本发明能够检测矢量地图是否遭受篡改,对篡改地图精确定位到子线段块,并能实现篡改块的精确恢复。


图I为数字矢量地 图完整性认证水印生成流程图;图2为完整性认证水印生成与认证界面示意图;图3为篡改前的原始矢量地图与篡改后的矢量地图,其中a为原始矢量地图;b为篡改过的矢量地图;c为待篡改区域的扩大图;d为篡改区域扩大图;图4为篡改定位的矢量地图;图5为篡改恢复的矢量地具体实施例方式下面结合附图和实例对本发明技术方案做进一步的描述本发明可以分为三部分,I.三种水印的生成过程;2.水印在驱动层的隐藏;3.完整性认证过程。I.水印的生成过程,步骤如下。如图I所示水印的生成过程分为三条路径,分别对应认证水印、定位水印和恢复水印。(I)生成认证水印对矢量地图以二进制流的方式读取,由于我们使用头文件中没有意义的字节存储水印,所以将指针偏移100字节,然后将其余地图文件的二进制数据流作为MD5的输入进行哈希处理,生成能够唯一标识该矢量地图且长度固定为16字节的摘要信息,对结果进行Blowfish加密,得到的结果为认证水印,记为Am Am = a^''' a16(2)生成定位水印根据矢量地图的坐标文件结构,依次读取头文件和实体信息。以线状矢量地图为例,定位水印以50条子线段为处理单位块,对块内所有坐标进行MD5哈希处理,并进行Blowfish加密,得到该块的认证信息,作为该块的唯一标识记为Ii。对最后不足50条的子线段块单独进行哈希计算,并进行Blowfish加密,得到认证信息记为In,拼接得到地图文件的定位信息Lml Lffll = I1I2-In将定位信息转化成二进制码Ii = I^bfb128最后得到定位水印为Lm =(3)生成恢复水印根据矢量数据压缩的原理,对坐标值进行压缩。以一条子线段为处理单位,提取线段上所有坐标点的横纵坐标,第一顶点值不变,计算其余坐标值与前一顶点坐标值差,差值化整,遍历整形差值,记录横纵坐标对应的正负值的个数和总和,计算对应正负块的平均值。计算过程如下a.当前子线段的顶点序列可表示为
权利要求
1.一种数字矢量地图完整性保护方法,包括生成水印、隐藏水印和完整性认证三部分,其特征在于 (1)生成水印包括如下步骤 1)生成认证水印 将矢量地图以二进制数据流形式读入缓存,进行MD5哈希处理,获得128b摘要信息并使用Blowfish加密生成认证水印; 2)生成定位水印 对矢量地图的坐标文件,顺序读取每一条子线段,以50条子线段为处理单位块,对块内所有坐标集合进行MD5哈希处理,得到每块的摘要信息,使用Blowfish加密后生成该单位块的定位水印; 3)生成恢复水印 对矢量地图的坐标文件,以子线段为处理单位,提取线段上所有坐标点的横纵坐标,第一顶点值不变,计算其余坐标值与前一个顶点坐标值的差,差值化整,遍历整形差值,记录横纵坐标对应的正负值的个数和总和,计算对应正负块的平均值,并使用BZIP2压缩生成该子线段的恢复水印; (2)隐藏水印包括如下步骤 1)水印信息传递到驱动层 对上述的每一种水印分别创建一个唯一的系统I/O控制码,将对应的水印传递到驱动层; 2)隐藏水印信息 将认证水印存储头文件中,定位水印存储在矢量地图坐标值中,恢复水印存储在地图文件头部; (3)完整性认证包括如下步骤 1)提取认证水印,对待检测地图进行MD5哈希处理计算哈希值如果与提取出的认证水印相同,则证明数字矢量地图未经篡改,认证结束;如果与提取出的认证水印不同,则代表矢量地图已经被篡改,执行步骤2); 2)提取定位水印,对待检测地图以50条子线段为处理单位进行MD5哈希处理,将得到的信息摘要依次与对应块定位水印进行比较,如果与提取出的定位水印相同,则相应的块未经篡改;如果与定位水印不同,则该块被篡改,执行步骤3); 3)根据定位的篡改块,提取对应子线段块的恢复水印,将恢复水印解压缩,得到原始坐标值,依次比较每条子线段的坐标值,如果与对应的坐标相同,则该条子线段未经篡改;如果与对应的坐标不同,则该条子线段被篡改,执行步骤4); 4)对被篡改的子线段使用恢复水印解压缩后得到的原始坐标值替换被篡改的坐标,完成篡改恢复。
2.根据权利要求I所述的一种数字矢量地图完整性保护方法,其特征在于所述认证水印储存在指针偏移到头文件60-75字节处。
3.根据权利要求I或2所述的一种数字矢量地图完整性保护方法,其特征在于所述定位水印储存在坐标文件中,指针偏移到坐标文件处,顺序每读取8个字节隐藏Ib的水印信息,直至将128b的定位水印信息完全隐藏在坐标文件中。
4.根据权利要求3所述的一种数字矢量地图完整性保护方法,其特征在于所述恢复水印存储在矢量地图文件头部,在写真实矢量地图数据前,首先写入恢复水印长度,然后写入恢复水印。
5.根据权利要求4所述的一种数字矢量地图完整性保护方法,其特征在于,所述恢复水印的提取过程如下 提取存储的水印长度,读出对应长度的恢复水印Rm’ ; a.对恢复水印进行BZIP2解压缩得到解压后恢复水印Rm"; b.提取出对应的正负差值块的平均数; c.提取差值的正负标识; d.根据标识,还原整型差值; e.将差值转化为浮点型,还原原始坐标; f.最后得到原始坐标序列。
全文摘要
本发明涉及密码学、信息安全、地理信息系统和数字图像处理领域,具体涉及一种可抵挡多种攻击,提高写数据速度的对数字矢量地图进行完整保护和认证的方法。本发明包括生成水印、隐藏水印和完整性认证三部分生成水印包括生成认证水印;生成定位水印;生成恢复水印;隐藏水印包括水印信息传递到驱动层;隐藏水印信息;完整性认证包括提取认证水印;提取定位水印;提取对恢复水印;完成篡改恢复。本发明加快了存储速度,减少了存储的数据量,既保证了安全性,又提高了写数据的速度。
文档编号G06T1/00GK102800041SQ201210189469
公开日2012年11月28日 申请日期2012年6月11日 优先权日2012年6月11日
发明者门朝光, 衣秀, 田泽宇, 王娜娜 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1