專利名稱:圖片文件追蹤方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖片文件處理,并具體涉及圖片文件追蹤方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,信息網(wǎng)絡(luò)已經(jīng)成為社會發(fā)展的重要保證。然而,在提高人民生活水平及效率背后,不可避免的產(chǎn)生了一些安全隱患。信息網(wǎng)絡(luò)涉及到國家的政府、軍事、文教等諸多領(lǐng)域,存儲、傳輸和處理的許多信息是政府宏觀調(diào)控決策、商業(yè)經(jīng)濟(jì)信息、銀行資金轉(zhuǎn)賬、股票證券、能源資源數(shù)據(jù)、科研數(shù)據(jù)等重要的信息。其中有很多是敏感信息,甚至是國家機(jī)密,所以難免會吸引來自世界各地的各種人為攻擊,例如信息泄漏、信息竊取、數(shù)據(jù)篡改、數(shù)據(jù)刪添、計(jì)算機(jī)病毒等。通常利用計(jì)算機(jī)犯罪很難留下犯罪證據(jù),這也大大刺激了計(jì)算機(jī)高技術(shù)犯罪案件的發(fā)生。計(jì)算機(jī)犯罪率的迅速增加,使各國的計(jì)算機(jī)系統(tǒng)特別是網(wǎng)絡(luò)系統(tǒng)面臨著很大的威脅,并成為嚴(yán)重的社會問題之一。而在這樣一個(gè)背景下,PKI技術(shù)的產(chǎn)生也順應(yīng)時(shí)代的需求。PKI(Public KeyInfrastructure)目卩"公鑰基礎(chǔ)設(shè)施",是一種遵循既定標(biāo)準(zhǔn)的密鑰管理平臺,它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)及所必需的密鑰和證書管理體系,簡單來說,PKI就是利用公鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施。PKI技術(shù)是信息安全技術(shù)的核心,也是電子商務(wù)的關(guān)鍵和基礎(chǔ)技術(shù)。PKI的基礎(chǔ)技術(shù)包括加密、數(shù)字簽名、數(shù)據(jù)完整性機(jī)制、數(shù)字信封、雙重?cái)?shù)字簽名等。在PKI的環(huán)境下,我們可以保證文件的真實(shí)性和完整性,并提供了一系列認(rèn)證功能,從而給我們的跟蹤算法提供了可靠的保證。另一方面,數(shù)字水印技術(shù)的提出,使得我們可以將需要保密的信息隱藏于需要跟蹤的圖片中,從而更好的保證技術(shù)的透明性。數(shù)字水印(Digital Watermarking)技術(shù)是將一些標(biāo)識信息即數(shù)字水印直接嵌入數(shù)字載體當(dāng)中,或者間接表示到數(shù)字載體當(dāng)中,如修改特定區(qū)域的結(jié)構(gòu),且不影響原載體的使用價(jià)值,也不容易被探知和再次修改。但可以被生產(chǎn)方識別和辨認(rèn)。通過這些隱藏在載體中的信息,可以達(dá)到確認(rèn)內(nèi)容創(chuàng)建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的。運(yùn)用數(shù)字水印技術(shù),可以有效而透明的對私密圖片文件進(jìn)行跟蹤。鉤子(Hook),是Windows消息處理機(jī)制的一個(gè)平臺,應(yīng)用程序可以在上面設(shè)置子程以監(jiān)視指定窗口的某種消息,而且所監(jiān)視的窗口可以是其他進(jìn)程所創(chuàng)建的。當(dāng)消息到達(dá)后,在目標(biāo)窗口處理函數(shù)之前處理它。鉤子機(jī)制允許應(yīng)用程序截獲處理window消息或特定事件。每一個(gè)Hook都有一個(gè)與之相關(guān)聯(lián)的指針列表,稱之為鉤子鏈表,由系統(tǒng)來維護(hù)。這個(gè)列表的指針指向指定的,應(yīng)用程序定義的,被Hook子程調(diào)用的回調(diào)函數(shù),也就是該鉤子的各個(gè)處理子程。當(dāng)與指定的Hook類型關(guān)聯(lián)的消息發(fā)生時(shí),系統(tǒng)就把這個(gè)消息傳遞到Hook子程。一些Hook子程可以只監(jiān)視消息,或者修改消息,或者停止消息的前進(jìn),避免這些消息傳遞到下一個(gè)Hook子程或者目的窗口。最近安裝的鉤子放在鏈的開始,而最早安裝的鉤子放在最后,也就是后加入的先獲得控制權(quán)。Windows并不要求鉤子子程的卸載順序一定得和安裝順序相反。每當(dāng)有一個(gè)鉤子被卸載,Windows便釋放其占用的內(nèi)存,并更新整個(gè)Hook鏈表。如果程序安裝了鉤子,但是在尚未卸載鉤子之前就結(jié)束了,那么系統(tǒng)會自動為它做卸載鉤子的操作。至 此,本發(fā)明提出了私密圖片的追蹤方法,它是基于水印技術(shù)和PKI基礎(chǔ)設(shè)施,防止私密圖片文件被局域網(wǎng)未授權(quán)用戶泄漏,解決由于“未授權(quán)拷貝”、“系統(tǒng)管理員泄密”和“網(wǎng)絡(luò)數(shù)據(jù)間諜”的事件導(dǎo)致信息泄密等問題,為應(yīng)用系統(tǒng)中的服務(wù)方提供私密圖片文件泄密點(diǎn)記錄的功能,確保私密圖片文件在局域網(wǎng)中的使用者有據(jù)可查,并便于在重要圖片泄密發(fā)生時(shí)起到舉證的作用。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供利用PKI技術(shù)和數(shù)字水印技術(shù)實(shí)現(xiàn)的一種圖片文件追蹤方法。根據(jù)本發(fā)明的技術(shù)方案,圖片文件追蹤方法,其特點(diǎn)是所述方法包括如下步驟A.在計(jì)算機(jī)中安裝插件;插件用于對本機(jī)所進(jìn)行的文件操作進(jìn)行監(jiān)控;如新建,移動,復(fù)制等;無論是客戶端從服務(wù)器下載重要文件或是將重要圖片文件拷貝至U盤或其他存儲設(shè)備,插件都能夠檢測到;B.插件對本機(jī)所進(jìn)行的文件操作進(jìn)行監(jiān)控;當(dāng)插件檢測到本機(jī)對圖片文件進(jìn)行操作時(shí),得到數(shù)字簽名;具體為BI、讀取本機(jī)的信息,如MAC地址,硬盤物理序列號和系統(tǒng)時(shí)間,將本機(jī)的信息作為簽名原文;B2、將簽名原文進(jìn)行散列變換,得到信息摘要;B3、運(yùn)用當(dāng)前操作用戶的私鑰,并采用公私鑰加解密體系中的加密算法對信息摘要進(jìn)行加密,得到數(shù)字簽名;C.判斷該圖片文件是否已添加水印,當(dāng)該圖片文件已添加水印時(shí),進(jìn)入步驟E,當(dāng)該圖片文件未添加水印時(shí),進(jìn)入步驟D,D.添加水印將數(shù)字簽名和當(dāng)前操作用戶的私鑰對應(yīng)的公鑰以及簽名原文同時(shí)作為水印信息,加入到本機(jī)進(jìn)行操作的圖片文件中,返回步驟B ;在本步驟中,為了保證將來驗(yàn)簽時(shí)簽名數(shù)據(jù)的有效性,將簽名時(shí)對應(yīng)的驗(yàn)簽公鑰一同保存,可以避免驗(yàn)證簽名時(shí),用戶密鑰更換或過期問題;E.水印替換將已添水印的圖片文件中的水印提取出,返回步驟D。進(jìn)行水印替換,可以保證該圖片文件始終包含最后使用者的信息,以便日后核對泄密信息;根據(jù)本發(fā)明所述的一種圖片文件追蹤方法的優(yōu)選方案,當(dāng)發(fā)生圖片文件外泄時(shí),還包括驗(yàn)簽的步驟,具體為Fl.將獲得的泄密圖片文件中的水印提取出,得到簽名原文、數(shù)字簽名以及與簽名私鑰對應(yīng)的公鑰;F2.將簽名原文進(jìn)行散列變換,得到信息摘要;并將數(shù)字簽名與簽名公鑰解密取得另一信息摘要;
F3、將步驟F2獲得的兩信息摘要進(jìn)行比較,如果兩信息摘要相同,驗(yàn)簽通過,若驗(yàn)簽通過,則獲得泄密圖片文件的用戶信息和本機(jī)信息;如果兩信息摘要不相同,驗(yàn)簽不通過;當(dāng)驗(yàn)簽不通過時(shí),認(rèn)為水印被修改過,則顯示的泄密源有誤。 根據(jù)本發(fā)明所述的圖片文件追蹤方法的優(yōu)選方案,步驟D包括Dl.水印信息預(yù)處理;水印信息在嵌入之前一般要先進(jìn)行一定的預(yù)處理,目的是讓水印信息的格式符合嵌入算法的要求,通常將水印信息做成二值圖像格式,并使用可逆的置亂算法對各像素進(jìn)行置亂,使得提取出的水印不會因?yàn)檩p度的攻擊而失去可讀性,從而提高算法的魯棒性。水印信息也可以比特流的形式嵌入,在這種情況下則要根據(jù)算法的要求對比特流進(jìn)行分組或補(bǔ)零;D2.對圖片文件的圖像做時(shí)頻變換,將圖像從空間域變換至頻率域;由于在頻率域嵌入的水印比直接在空間域嵌入的水印具有更好的不可見性和更強(qiáng)的魯棒性。因此應(yīng)首先對輸入的載體圖像做時(shí)頻變換,將圖像從空間域變換到頻率域,而采用的變換方法為分?jǐn)?shù)階隨機(jī)變換算法,該算法具有線性、酉性、可加性、周期性以及能量守恒等特點(diǎn),符合數(shù)字水印算法的要求,同時(shí),由于水印過程中所用到的密鑰包含了一個(gè)隨機(jī)矩陣和一個(gè)隨機(jī)序列,密鑰空間較大,因此具有較高的安全性;D3.圖像分塊;在頻率域中,按照水印信息的大小對圖片文件的圖像矩陣進(jìn)行分塊,將圖片文件的圖像矩陣分割成* 個(gè)子塊,其中n為圖片文件的圖像的尺寸,m為水印圖像的尺寸,K是一個(gè)完全平方數(shù),(一般取1、4、9),K的存在使得子塊的尺寸小于水印圖像的尺寸,水印圖像的每一個(gè)像素對應(yīng)圖片文件的圖像中的K個(gè)子塊組成的大方塊;D4.構(gòu)造隨機(jī)數(shù)序列作為第二密鑰,將隨機(jī)數(shù)序列中前r個(gè)大的數(shù)設(shè)置為I (其中r取值與水印圖像的尺寸相同),其余的數(shù)設(shè)置為0,得到01序列;由于子塊的個(gè)數(shù)大于水印圖像的像素個(gè)數(shù),因此只有部分子塊參與水印的嵌入,而01序列的作用就是用來指明哪些子塊被選為待嵌載體;D5.水印嵌入遍歷步驟D4構(gòu)造出的01序列,同步遍歷圖片文件的圖像的每個(gè)子塊,如果01序列當(dāng)前的元素為1,則將對應(yīng)的子塊選作待嵌載體,嵌入一個(gè)像素的水印;如果01序列當(dāng)前的元素為0,則跳過對應(yīng)的子塊,如此下去,直到所有水印像素都被嵌入到圖片文件的圖像中;之所以選擇當(dāng)前子塊中幅值最大的像素作為嵌入點(diǎn),是因?yàn)榧有愿咚乖肼晫δ硞€(gè)向量的干擾與該向量的振幅成反比,因此,選擇具有越大幅值的像素點(diǎn)進(jìn)行嵌入,水印抗干擾的能力就會越強(qiáng),魯棒性也就越好,可以最大限度地降低水印對原圖可視性的影響;D6.時(shí)頻逆變換,將嵌有水印的圖像從頻率域變換回空間域,使圖像恢復(fù)原來的視覺內(nèi)容。這一步驟需要用到分?jǐn)?shù)階隨機(jī)變換的逆變換,而這一過程只需要將變換階數(shù)改為原來階數(shù)的相反數(shù)即可實(shí)現(xiàn)。根據(jù)本發(fā)明所述的圖片文件追蹤方法的優(yōu)選方案,步驟D2具體為采用分?jǐn)?shù)階隨機(jī)變換算法,對圖片文件的圖像做時(shí)頻變換,將圖像從空間域變換至頻率域;包括D21.首先構(gòu)造一個(gè)隨機(jī)實(shí)對稱矩陣
權(quán)利要求
1.一種圖片文件追蹤方法,其特征在于所述方法包括如下步驟A.在計(jì)算機(jī)中安裝插件;B.插件對本機(jī)所進(jìn)行的文件操作進(jìn)行監(jiān)控;當(dāng)插件檢測到本機(jī)對圖片文件進(jìn)行操作時(shí),得到數(shù)字簽名;具體為BI、讀取本機(jī)的信息,將本機(jī)的信息作為簽名原文;B2、將簽名原文進(jìn)行散列變換,得到信息摘要;B3、運(yùn)用當(dāng)前操作用戶的私鑰,并采用公私鑰加解密體系中的加密算法對信息摘要進(jìn)行加密,得到數(shù)字簽名;C.判斷該圖片文件是否已添加水印,當(dāng)該圖片文件已添加水印時(shí),進(jìn)入步驟E,當(dāng)該圖片文件未添加水印時(shí),進(jìn)入步驟D,D.添加水印將數(shù)字簽名和當(dāng)前操作用戶的私鑰對應(yīng)的公鑰以及簽名原文同時(shí)作為水印信息,加入到本機(jī)進(jìn)行操作的圖片文件中,返回步驟B ;E.水印替換將已添水印的圖片文件中的水印提取出,返回步驟D。
2.根據(jù)權(quán)利要求I所述的圖片文件追蹤方法,其特征在于當(dāng)發(fā)生圖片文件外泄時(shí),還包括如下步驟Fl.將獲得的泄密圖片文件中的水印提取出,得到簽名原文、數(shù)字簽名以及與簽名私鑰對應(yīng)的公鑰;F2.將簽名原文進(jìn)行散列變換,得到信息摘要;并將數(shù)字簽名與簽名公鑰解密取得另一信息摘要;F3、將步驟F2獲得的兩信息摘要進(jìn)行比較,如果兩信息摘要相同,驗(yàn)簽通過,若驗(yàn)簽通過,則獲得泄密圖片文件的用戶信息和本機(jī)信息;如果兩信息摘要不相同,驗(yàn)簽不通過;當(dāng)驗(yàn)簽不通過時(shí),認(rèn)為水印被修改過,則顯示的泄密源有誤。
3.根據(jù)權(quán)利要求I或2所述的圖片文件追蹤方法,其特征在于步驟D包括Dl.水印信息預(yù)處理;D2.對圖片文件的圖像做時(shí)頻變換,將圖像從空間域變換至頻率域;D3.圖像分塊在頻率域中,按照水印信息的大小對圖片文件的圖像矩陣進(jìn)行分塊,將圖片文件的圖像矩陣分割成b = Kn/m個(gè)子塊,其中n為圖片文件的圖像的尺寸,m為水印圖像的尺寸,K是一個(gè)完全平方數(shù);D4.構(gòu)造隨機(jī)數(shù)序列作為第二密鑰,將隨機(jī)數(shù)序列中前r個(gè)較大的數(shù)設(shè)置為I (其中r 取值與水印圖像的尺寸相同),其余的數(shù)設(shè)置為O,得到Ol序列;D5.水印嵌入遍歷步驟D4構(gòu)造出的01序列,同步遍歷圖片文件的圖像的每個(gè)子塊,如果01序列當(dāng)前的元素為1,則將所對應(yīng)的子塊選作待嵌載體,嵌入一個(gè)像素的水?。蝗绻?1序列當(dāng)前的元素為0,則跳過所對應(yīng)的子塊,如此下去,直到所有水印像素都被嵌入到圖片文件的圖像中;D6.時(shí)頻逆變換,將嵌有水印的圖像從頻率域變換回空間域。
4.根據(jù)權(quán)利要求3所述的圖片文件追蹤方法,其特征在于步驟D2具體為采用分?jǐn)?shù)階隨機(jī)變換算法,對圖片文件的圖像做時(shí)頻變換,將圖像從空間域變換至頻率域;包括D21.首先構(gòu)造一個(gè)隨機(jī)實(shí)對稱矩陣
5.根據(jù)權(quán)利要求4所述的圖片文件追蹤方法,其特征在于步驟D5為根據(jù)下面的公式進(jìn)行水印嵌入
6.根據(jù)權(quán)利要求5所述的圖片文件追蹤方法,其特征在于水印提取包括如下步驟 El.對已嵌水印的圖片文件的圖像和未嵌水印的原始圖像分別做時(shí)頻變換,將圖像從空間域變換到頻率域;Ε2.在頻率域中分別對已嵌水印的圖像矩陣和未嵌水印的原始圖像矩陣進(jìn)行分塊,具體為在頻率域中,按照水印信息的大小對圖片文件的圖像矩陣進(jìn)行分塊,將圖片文件的圖像矩陣分割成b = Kn/m個(gè)子塊,其中n為圖片文件的圖像的尺寸,m為水印圖像的尺寸,K 是一個(gè)完全平方數(shù);E3.構(gòu)造隨機(jī)數(shù)序列作為第二密鑰,將隨機(jī)數(shù)序列中前r個(gè)較大的數(shù)設(shè)置為I (其中r 取值與水印圖像的尺寸相同),其余的數(shù)設(shè)置為O,得到Ol序列;E4.提取水印同步遍歷已嵌水印的圖像的所有子塊和01序列,選擇01序列中的I值元素所對應(yīng)的已嵌水印的圖像的子塊;同時(shí),同步遍歷未嵌水印的原始圖像的所有子塊和01序列,選擇 01序列中的I值元素所對應(yīng)的未嵌水印的原始圖像的子塊;對于已嵌水印的圖像的所選子塊和未嵌水印的原始圖像的所選子塊,分別遍歷其所有像素點(diǎn),選擇其中幅值最大的像素作為提取對象,并根據(jù)如下規(guī)則提取當(dāng)前的水印像素值
全文摘要
本發(fā)明公開了圖片文件追蹤方法,其特征在于所述方法包括如下步驟A.在計(jì)算機(jī)中安裝插件,插件用于對本機(jī)所進(jìn)行的文件操作進(jìn)行監(jiān)控;B.插件對本機(jī)所進(jìn)行的文件操作進(jìn)行監(jiān)控;當(dāng)插件檢測到本機(jī)對圖片文件進(jìn)行操作時(shí),得到數(shù)字簽名;C.判斷該圖片文件是否已添加水印,當(dāng)該圖片文件已添加水印時(shí),進(jìn)入步驟E,當(dāng)該圖片文件未添加水印時(shí),進(jìn)入步驟D;D.添加水印將數(shù)字簽名和當(dāng)前操作用戶的私鑰對應(yīng)的公鑰以及簽名原文同時(shí)作為水印信息,加入到本機(jī)進(jìn)行操作的圖片文件中,返回步驟B;E.水印替換將已添水印的圖片文件中的水印提取出,返回步驟D;本發(fā)明可廣泛用于基于PKI的企業(yè)內(nèi)部網(wǎng),以追蹤重要文件泄密源頭問題。
文檔編號G06F21/00GK102622545SQ20121005051
公開日2012年8月1日 申請日期2012年3月1日 優(yōu)先權(quán)日2012年3月1日
發(fā)明者劉一鳴, 周尚波, 羅捷, 蔣鎮(zhèn)波 申請人:重慶大學(xué)