◆丁 暉 周建偉通訊作者,2 金永濤,2 劉海燕 張秦雪
?
SHP文件魯棒數(shù)字盲水印技術(shù)研究與應(yīng)用
◆丁 暉1周建偉通訊作者1,2金永濤1,2劉海燕1張秦雪1
(1.北華航天工業(yè)學(xué)院 河北 065000;2.河北省航天遙感信息處理與應(yīng)用協(xié)同創(chuàng)新中心 河北 065000)
地理空間數(shù)據(jù)是搭建地理信息系統(tǒng)平臺(tái),進(jìn)行應(yīng)用開(kāi)發(fā)的核心,矢量數(shù)據(jù)又是地理空間數(shù)據(jù)關(guān)鍵一部分,SHP文件作為傳輸?shù)乩硎噶啃畔⒌囊环N基本文件格式,其安全性的提升對(duì)整個(gè)地理信息系統(tǒng)有著重要意義。地理信息系統(tǒng)通過(guò)數(shù)字水印技術(shù)對(duì)數(shù)字信息數(shù)據(jù)提供有效防護(hù),是新興的結(jié)合方式。本文主要研究分析了矢量數(shù)據(jù)的特征,針對(duì)SHP矢量數(shù)據(jù)文件結(jié)構(gòu),提出了一種基于歸一化的矢量數(shù)據(jù)盲水印算法。通過(guò)函數(shù)變換對(duì)所有矢量坐標(biāo)進(jìn)行歸一化處理,再將水印信號(hào)嵌入到歸一化值中,保證數(shù)據(jù)的統(tǒng)一性,提升模型的精度。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)縮放、増刪點(diǎn)、屬性排序、數(shù)據(jù)格式轉(zhuǎn)換等攻擊具有較好的魯棒性。
矢量數(shù)據(jù);歸一化;盲水印;魯棒性
目前為提升系統(tǒng)安全性,將數(shù)字水印技術(shù)與地理空間數(shù)據(jù)結(jié)合,在數(shù)據(jù)文件在流轉(zhuǎn)和應(yīng)用過(guò)程中進(jìn)行追溯和監(jiān)控,可以有效抵制非法復(fù)制、傳播、利用他人成果的行為。矢量數(shù)據(jù)文件在GIS系統(tǒng)中被廣泛應(yīng)用研究,引起國(guó)內(nèi)學(xué)者對(duì)其安全傳輸?shù)闹匾暎@得了越來(lái)越多的研究成果。本文通過(guò)函數(shù)變換對(duì)所有矢量坐標(biāo)進(jìn)行歸一化處理,再將水印信號(hào)嵌入到歸一化值中,保證數(shù)據(jù)的統(tǒng)一性,提升模型的精度。
地理空間數(shù)據(jù)是將現(xiàn)實(shí)生活中真實(shí)可見(jiàn)的各種地理特征和現(xiàn)象以符號(hào)形式表示,用于分析自然、環(huán)境、社會(huì)、經(jīng)濟(jì)等領(lǐng)域中的諸多要素信息,包含要素的數(shù)量、質(zhì)量、屬性特征,用文字、數(shù)字、圖像等方式展示空間實(shí)體目標(biāo)的位置、形狀、大小等信息的數(shù)據(jù)。地理空間數(shù)據(jù)是實(shí)現(xiàn)數(shù)字化系統(tǒng)的基礎(chǔ)信息,而且地理空間系統(tǒng)的絕大部分功能將以地理空間數(shù)據(jù)為原點(diǎn)進(jìn)行實(shí)現(xiàn)。現(xiàn)在空間數(shù)據(jù)已步入人們的日常生活,在交通應(yīng)用、城市建設(shè)和環(huán)境保護(hù)中發(fā)揮重要作用。
地理空間數(shù)據(jù)具有定位、定性、時(shí)間和空間關(guān)系等特性。定位是指在已知的坐標(biāo)系里空間目標(biāo)都具有唯一的空間位置;定性是指有關(guān)空間目標(biāo)的自然屬性,它伴隨著目標(biāo)的地理位置;時(shí)間是指空間目標(biāo)是隨時(shí)間的變化而變化;空間關(guān)系通常一般用拓?fù)潢P(guān)系表示。空間數(shù)據(jù)具有三個(gè)基本特征:空間特征、屬性特征、時(shí)間特征。
空間特征主要表現(xiàn)為地理要素的位置信息,包括經(jīng)緯度絕對(duì)位置和要素之間的相對(duì)位置。
屬性特征通常稱非空間數(shù)據(jù),因?yàn)閱为?dú)依靠位置信息無(wú)法對(duì)要素區(qū)分,需要對(duì)特定的要素添加屬性,用來(lái)描述實(shí)體的性質(zhì)和意義。存放時(shí)也是與空間位置數(shù)據(jù)分別保存的。比如一個(gè)點(diǎn)可以表示一段道路的起點(diǎn),也可以表示終點(diǎn)。
時(shí)間特征指的是被記錄的地理空間數(shù)據(jù)是隨時(shí)間不斷變化的,反映數(shù)據(jù)的動(dòng)態(tài)性,數(shù)據(jù)只能記錄被采集時(shí)的特征和屬性,所以需要不斷更新。而且時(shí)效性對(duì)數(shù)據(jù)分析有很大影響,這一特征也逐漸被重視。
矢量數(shù)據(jù)是通過(guò)用幾何形狀中的點(diǎn)、線、多邊形來(lái)表示地理空間中的實(shí)物。例如:用坐標(biāo)點(diǎn)來(lái)標(biāo)注準(zhǔn)確的地理位置,將連續(xù)的坐標(biāo)點(diǎn)連接成線用于表示邊界,多條線段頭尾連接形成閉環(huán)表示區(qū)域等。在矢量文件,例如SHP文件中的每個(gè)元素都稱作對(duì)象,每個(gè)對(duì)象成為獨(dú)立的個(gè)體,擁有獨(dú)特的屬性特征,用不同的符號(hào)表示對(duì)象的顏色、形狀、類型、大小等。也因?yàn)閿?shù)據(jù)元素是獨(dú)立的個(gè)體,在對(duì)整個(gè)圖例進(jìn)行放大縮小旋轉(zhuǎn)操作時(shí),不會(huì)出現(xiàn)失真的情況,不受分辨率的影響。也可以對(duì)對(duì)象的屬性進(jìn)行修改,而不會(huì)對(duì)其他對(duì)象產(chǎn)生影響,這一特性也為設(shè)計(jì)數(shù)字水印算法提供了可行性。
SHP文件是地理空間矢量數(shù)據(jù)的一種特殊的數(shù)據(jù)結(jié)構(gòu),可以用于表示點(diǎn)、線、多邊形圖形數(shù)據(jù)。每個(gè)SHP文件都是一個(gè)長(zhǎng)度可變的文件,由長(zhǎng)度固定100字節(jié)的主文件頭和長(zhǎng)度可變的空間數(shù)據(jù)記錄兩部分組成。每一條空間數(shù)據(jù)記錄又由一個(gè)固定長(zhǎng)度8字節(jié)的記錄頭和長(zhǎng)度可變的記錄內(nèi)容構(gòu)成。文件結(jié)構(gòu)如圖1所示。

圖1 SHP文件結(jié)構(gòu)
主文件頭長(zhǎng)度為一百個(gè)字節(jié),包含了十七個(gè)信息,每個(gè)信息的長(zhǎng)度不等,表示方式也不同。數(shù)據(jù)結(jié)構(gòu)如表1所示。
表1 SHP文件主文件頭數(shù)據(jù)結(jié)構(gòu)

字節(jié)號(hào)32-35指定改文件的文件類型(Shape Type),例如:值為1指雙坐標(biāo)點(diǎn)文件,值為5指多邊形文件等等。
通過(guò)對(duì)SHP文件數(shù)據(jù)結(jié)構(gòu)的分析,變長(zhǎng)的數(shù)據(jù)用鏈表數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。每個(gè)字段都有特定含義,在讀取數(shù)據(jù)內(nèi)容的時(shí)候可以利用指針指定位置,讀取某一屬性值。記錄頭的內(nèi)容包括該記錄的序號(hào)和具體的坐標(biāo)記錄。記錄號(hào)和坐標(biāo)兩個(gè)記錄項(xiàng)都是int型,并且文件中的記錄號(hào)都是從1開(kāi)始的。
記錄內(nèi)容包括元素的幾何類型和具體的坐標(biāo),記錄內(nèi)容隨元素類型的變化而變化。點(diǎn)文件的記錄內(nèi)容如表2所示。
表2點(diǎn)文件記錄內(nèi)容

利用Geotools工具類對(duì)點(diǎn)文件進(jìn)行內(nèi)容讀取。首先對(duì)SHP文件的圖層對(duì)象進(jìn)行讀取,獲取到對(duì)象列表,為對(duì)象設(shè)計(jì)數(shù)據(jù)模型包含屬性定義方便調(diào)用。關(guān)鍵代碼如下:
List
ShapefileDataStoredataStore=buildDataStore(shpFilePath);
FeatureSource
FeatureCollection
Collection
Property pro = iterP.next();
PointX = ((Point)(pro.getValue())).getX());
PointY = ((Point)(pro.getValue())).getY());
數(shù)字水印技術(shù)起源于傳統(tǒng)印刷中的水印技術(shù),也就是在造紙業(yè)中用于證明紙張合法性的技術(shù),多用于紙幣、郵票等。在700多年前,紙水印就在意大利的Fabriano小鎮(zhèn)上的一家造紙廠出現(xiàn)了,通過(guò)機(jī)械壓縮將圖案壓制到紙漿中。而最早出現(xiàn)的電子水印技術(shù)是在1954年的美國(guó),當(dāng)時(shí)為了保護(hù)音樂(lè)版權(quán),將專利標(biāo)識(shí)用隱式手法嵌入到音樂(lè)中。
數(shù)字水印技術(shù)主要解決水印嵌入和水印檢測(cè)兩個(gè)問(wèn)題。進(jìn)行水印嵌入工作至少需要水印載體和水印信號(hào)。一般情況,水印信號(hào)需要經(jīng)過(guò)加密轉(zhuǎn)換再進(jìn)行嵌入。水印嵌入操作結(jié)束后的輸出結(jié)果就是含有水印信號(hào)的產(chǎn)品,用于安全傳輸或發(fā)布。根據(jù)檢測(cè)方法的差異,將水印技術(shù)又區(qū)分為盲水印技術(shù)和非盲水印技術(shù)。盲數(shù)字水印檢測(cè)提取的過(guò)程中是不需要原載產(chǎn)品參與的。數(shù)字水印的框架如圖2所示。

圖2 數(shù)字水印的框架
要嵌入原始載體文件中的水印信號(hào)一般是有意義的文字或數(shù)字。一般情況需要對(duì)水印信號(hào)進(jìn)行加密處理,通過(guò)格式轉(zhuǎn)換將文字符號(hào)轉(zhuǎn)換成圖像格式,例如bmp圖像,再對(duì)圖像信號(hào)進(jìn)行二值化、灰度化處理,最后采用混沌置亂變換生成加密水印信號(hào)。處理結(jié)果如圖3、4所示。

圖3 bmp格式水印信號(hào)

圖4 Arnold置亂變換后水印信號(hào)
水印嵌入是數(shù)字水印技術(shù)的關(guān)鍵步驟,通過(guò)算法將水印信號(hào)嵌入到原始載體文件中。對(duì)于原始文件的格式不同,需要采用不同的算法,針對(duì)SHP特殊的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)合適的算法是研究的難點(diǎn)。水印嵌入流程圖如圖5所示。

圖5 水印嵌入過(guò)程
水印嵌入算法可以描述為:

有時(shí)為增強(qiáng)算法的安全性,在嵌入水印過(guò)程中會(huì)使用密鑰加密。
針對(duì)SHP這種特殊的數(shù)據(jù)結(jié)構(gòu),需要考慮水印嵌入的位置和水印與原始數(shù)據(jù)的結(jié)合方式。根據(jù)水印嵌入位置不同,分為空間域水印算法和變換域水印算法。由于SHP文件中的屬性數(shù)據(jù)都是用于描述文件屬性,內(nèi)容不能進(jìn)行修改,于是選擇采用空間域水印算法將水印嵌入到空間數(shù)據(jù)(坐標(biāo))中。本文采用了一種可以同時(shí)抵抗頂點(diǎn)攻擊和幾何攻擊的魯棒性盲水印算法。
通過(guò)對(duì)矢量坐標(biāo)數(shù)據(jù)進(jìn)行歸一化處理,對(duì)歸一化后的值進(jìn)行水印嵌入,結(jié)束后的數(shù)據(jù)值通過(guò)反歸一化,再次得到的數(shù)據(jù)就是含水印信號(hào)的數(shù)據(jù)。工作難點(diǎn)在于歸一化處理以及選取水印信號(hào)的嵌入位置,還需保證函數(shù)值前后變化差別不大,對(duì)原圖影響在可控范圍內(nèi)。

對(duì)第一次得到的函數(shù)值進(jìn)行水印信號(hào)的嵌入,選用QIM量化方法。水印信號(hào)在嵌入前要進(jìn)行二值化轉(zhuǎn)換,生成隨機(jī)的0,1序列。嵌入后將函數(shù)值進(jìn)行反歸一化處理得到含水印的數(shù)據(jù),寫(xiě)入原文件中。
通過(guò)線性變化的數(shù)據(jù)值,可以有效抵抗幾何攻擊。數(shù)據(jù)的平移和放大縮小等幾何攻擊都可以看作是對(duì)數(shù)據(jù)值的算術(shù)運(yùn)算,函數(shù)的選擇有效地將數(shù)量變化消化為零。QIM量化嵌入方式,使水印數(shù)據(jù)隨機(jī)分布到空間數(shù)據(jù)中,增強(qiáng)了算法的魯棒性。
采用上述嵌入方法進(jìn)行試驗(yàn)。作為水印嵌入的載體文件。矢量坐標(biāo)數(shù)據(jù)都精確到了小數(shù)點(diǎn)后15位,通過(guò)將數(shù)據(jù)放大為整數(shù)更適合變換。圖6為SHP格式的河北省區(qū)域圖像:

圖6 河北省區(qū)域SHP文件
表3是載體圖像的一些屬性信息。
表3 載體圖像屬性信

圖7是水印信號(hào)嵌入到載體文件后的圖像。
可以通過(guò)坐標(biāo)嵌入水印前后的坐標(biāo)誤差計(jì)算分析試驗(yàn)結(jié)果,通過(guò)表4的結(jié)果可知此方法前后誤差很小,滿足精度要求。
表4 試驗(yàn)結(jié)

數(shù)字水印的提取算法是嵌入算法的逆過(guò)程,在嵌入過(guò)程中選用的函數(shù)處理方式,目的是在水印提取過(guò)程中不再需要原始數(shù)據(jù)的參與,達(dá)到盲檢測(cè)的效果,提高算法的可用性。數(shù)字水印提取過(guò)程如圖8所示:

圖8 數(shù)字水印提取過(guò)程
在水印實(shí)際提取過(guò)程中,通過(guò)嵌入的反向操作,將原始載體文件X與水印信號(hào)W分離,再對(duì)水印信號(hào)進(jìn)行置亂算法的逆過(guò)程,得到正確的二值序列,最后進(jìn)行符號(hào)轉(zhuǎn)換就可以看到水印的實(shí)際意義。
本文所介紹的水印添加方法是針對(duì)矢量數(shù)據(jù)SHP格式文件,對(duì)坐標(biāo)數(shù)據(jù)采用歸一化處理后,通過(guò)QIM量化處理選定嵌入位置,并且在水印提取方面不需要原始載體文件的參與,實(shí)現(xiàn)盲水印目的。并且通過(guò)試驗(yàn)結(jié)果表明,這種水印方式可以有效抵抗幾何攻擊,具有較好的魯棒性,實(shí)現(xiàn)方法簡(jiǎn)便快捷。
[1]孫建國(guó),門(mén)朝光,俞蘭芳,曹劉娟.矢量地圖數(shù)字水印研究綜述[J].計(jì)算機(jī)科學(xué),2009,36(09):11-16.
[2]郭思遠(yuǎn).矢量地理空間數(shù)據(jù)數(shù)字水印算法與攻擊性研究[D].解放軍信息工程大學(xué),2008.
[3]黃良永,肖德貴.二值圖像Arnold變換的最佳置亂度[J].計(jì)算機(jī)應(yīng)用學(xué)報(bào),2009,29(02):474-476.
[4]金聰,葉俊民,許凱華,張清國(guó).具有抗幾何攻擊能力的盲數(shù)字圖像水印算法[J].計(jì)算機(jī)學(xué)報(bào),2007(03):474-482.
[5]楊成松,朱長(zhǎng)青,陶大欣.基于坐標(biāo)映射的矢量地理數(shù)據(jù)全盲水印算法[J].中國(guó)圖像圖形學(xué)報(bào),2010,15(04):684-688.
[6]曹江華. GIS矢量數(shù)據(jù)多重水印研究[D].南京師范大學(xué),2011.
[7]郭思遠(yuǎn),朱長(zhǎng)青,闞映紅,楊成松.空域矢量地理數(shù)據(jù)水印算法及攻擊方法分析[J].測(cè)繪科學(xué),2009,34(03):37-38+205.
[8]鐘尚平,高慶獅.矢量地圖水印歸一化相關(guān)檢測(cè)的可行性分析與改進(jìn)[J].中國(guó)圖像圖形學(xué)報(bào),2006(03):401-409.
[9] 楊成松,朱長(zhǎng)青.基于常函數(shù)的抗幾何變換的矢量地理數(shù)據(jù)水印算法[J].測(cè)繪學(xué)報(bào),2011,40(02):256-261.
[10]閔連權(quán).一種魯棒的矢量地圖數(shù)據(jù)的數(shù)字水印[J].測(cè)繪學(xué)報(bào),2008(02):262-267.
[11]Suk-Hwan Lee,Won-Joo Hwang,Ki-Ryong Kwon.Poly-line curvatures based robust vector data hashing[J].Multimed-ia Tools and Applications.2014(3).
[12]張海濤,祝曉坤,董明,肖洲.基礎(chǔ)地理信息數(shù)據(jù)產(chǎn)品數(shù)字水印技術(shù)研究[J].測(cè)繪通報(bào),2012(S1):494-497.
[13]王忠軍,王玉海,王豪.一種魯棒的矢量地圖數(shù)字水印算法[J].測(cè)繪科學(xué),2008(04):148-150.
[14]武進(jìn)霞. 數(shù)字水印模型及其在地學(xué)空間信息數(shù)字產(chǎn)品版權(quán)保護(hù)中的應(yīng)用[D].中國(guó)地質(zhì)大學(xué),2016.
[15]A Dynamic Graph Software Watermarking AlgorithmBased onChaotic Theory. Zhang Shao-bo,Zhu Bin. IndustrialControl and Electronics Engineering (ICICEE),2012Internation-alConference on. 2012.
本課題得到河北省技術(shù)創(chuàng)新引導(dǎo)計(jì)劃項(xiàng)目(18240703D)、基于全盲魯棒水印的遙感影像版權(quán)保護(hù)的研究與應(yīng)用(2017011043)、基于遙感影像的SHP文件全盲魯棒數(shù)字水印加密算法研究與應(yīng)用(YKY-2018-12)資助。
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2019年5期