一種基於刪除標記的oox文檔數字水印方法
2023-06-08 13:38:36 1
專利名稱:一種基於刪除標記的oox文檔數字水印方法
技術領域:
本發明屬於計算機文本版權保護技術領域,尤指一種基於刪除標記的OOX文檔數字水印方法。
背景技術:
Office Open XML (OOX)格式是 Microsoft 公司發布的 office2007_2010 產品所採用的新格式標準,它是網際網路上最流行的文本格式之一。00X文檔發布以來,它的使用範圍和使用頻率急速增加,很多企事業單位的重要機密文件資料都是以這種新文本文檔格式保存的,並在網際網路上進行傳播。不法分子未經同意大量複製甚至篡改他人的文本資料,並宣稱擁有版權。這給相關單位和個人帶來了極大的損失。面對日益嚴峻的信任危機,迫切 需要行之有效的文本版權保護技術,輔助人們鑑定文本版權的真正所有者,打擊盜版以及未經授權的篡改,確保公共信息秩序、打擊犯罪、維護司法公正和新聞誠信。文本數字水印技術是近年發展起來的文本安全新技術,在版權保護、洩密追蹤等方面有廣闊的應用前景。文本是信息交流的一種重要手段,由於它可以承載水印的冗餘信息非常有限,並且容易受到攻擊,所以對文本水印的研究相對較少,且都沒有研究如何保護00X格式文檔的版權。我們提出了一種基於刪除標記的00X文檔數字水印方法,通過向00X文本文檔包中有關部件增加刪除修改標識符的方法,把水印信息嵌入到有關部件中去,可有效保護00X格式文檔的版權。基於刪除標記的00X文檔數字水印方法是在00X文檔包的主文檔部件中實現的,在ZIP程序中打開一個正常的00X文檔即可看到這些部件。每一個電子文檔都不可避免的被編輯很多次直到最終版本的形成。這些修改編輯行為包括刪除、插入、格式修改等。針對00X格式文檔的每一次修改行為都會產生一定的痕跡,這些痕跡會被主文檔等部件中的修改標識符(Revision Identifiers)及其屬性值所記錄。屬性 w:rsidP, w:rsidR, w:rsidRPr, w:rsidRDefault 和 w:rsidDel 就是修改標識符。這些修改標識符是由w :p元素或w:r元素所定義的,它們的屬性值是由隨機的8位16進位數組成的。其中^rsidDel叫做刪除修改標識符,一般不出現在主文檔部件中。刪除修改標識符w:rSidDel可以被添加到主文檔部件的元素中,其屬性值能用來隱藏編碼後的水印信息,這種變化不會影響文檔的使用。一般來說,絕大多數修改標識符屬性值的前兩位都是以「00」開頭的,最後6位是隨機產生的。因此,水印信息經編碼轉換為16進位數後可以嵌入到刪除修改標識符屬性值的最後6位中去。每一個元素可添加一個刪除修改標識符,即可隱藏6位16進位數,即24位水印信息。
發明內容
本發明提出了一種基於刪除標記的00X文檔數字水印方法,通過向00X文本文檔包中有關部件增加刪除修改標識符的方法,把水印信息嵌入到有關部件中去,使得水印信息與文檔的格式信息相結合,提高了水印的魯棒性和嵌入容量,可有效的抵抗針對文本內容的攻擊,從而實現了一種有效的OOX文檔版權保護方法。為解決以上技術問題,本發明採用如下方案
一種基於刪除標記的OOX文檔數字水印方法,所述方法包括水印嵌入方法和水印提取方法,分別包括下列步驟
水印嵌入方法具體步驟為
(1)首先讀取OOX格式文檔包中的主文檔部件document,xml文件,並提取出所述document, xml文件中的各個節點下的元素、屬性和屬性值;
(2)針對每一段落,提取元素,然後將刪除修改標識符W:rsidDel以及6位16進位的水印信息添加到w:r元素中; (3)重複步驟(2)直到所有水印信息嵌入完成;
(4)添加已嵌入水印的主文檔部件document,xml到原OOX文檔包中;
水印提取方法步驟為
(5)首先讀取OOX格式文檔包中的主文檔部件document,xml文件,並提取出所述document, xml文件中的各個節點下的元素、屬性和屬性值;
(6)針對每一段落,提取元素,並提取元素中的刪除修改標識符W:rsidDel屬性值的後六位;
(7)重複步驟(6)直到所有元素中的刪除修改標識符w:rSidDel屬性值提取完成,即水印信息提取完成。本發明的有益效果本發明實施例針對00X格式文本文檔提出了一種基於刪除標記的00X文檔數字水印方法,通過向00X文本文檔包中主文檔部件增加刪除修改標識符的方法,把水印信息嵌入到00X文檔中去,使得水印信息與文檔的格式信息相結合,提高了水印的魯棒性和嵌入容量,可有效的抵抗「刪除文本內容」、「編輯」、「另存為」、「清除格式」等針對文本內容的攻擊。因此,本發明所提出的基於刪除標記的00X文檔數字水印方案為00X文本內容認證與版權保護提供了新的關鍵技術,改進了數字水印技術一直存在的魯棒性差的問題,為數字水印技術的進一步推廣應用提供了理論基礎和方法支持。
圖I為水印嵌入前的主文檔部件「document, xml」中的部分代碼。圖2為水印嵌入後的主文檔部件「document, xml」中的部分代碼。圖3水印嵌入流程圖。圖4水印提取流程圖。
具體實施例方式為使本發明的目的、技術方案更加清晰,下面結合附圖對本發明實施例所提出的基於刪除標記的00X文檔數字水印算法進行詳細說明。00X格式文檔的每一次修改行為都會產生一定的痕跡,這些痕跡會被主文檔等部件中的修改標識符(Revision Identifiers)及其屬性值所記錄。如圖I所示,w:rsidP, w:rsidR, w:rsidRPr, w:rsidRDefault就是修改標識符。這些修改標識符是由w p元素或w:r元素所定義的,它們的屬性值是由隨機的8位16進位數組成。圖I是嵌入水印前的主文檔部件「document, xml」中的部分代碼,圖2是嵌入水印後的主文檔部件「document, xml」中的部分代碼,其中w:rsidDel叫做刪除修改標識符。基於添加刪除修改標識符的數字水印嵌入算法流程如圖3,步驟如下
輸入原始載體文檔D,原始水印信息M,私鑰k ;輸出隱寫文檔S ;
步驟I :利用私鑰k和非對稱加密算法RSA,對原始水印信息進行加密,得到加密後的水印信息I』 I』 =E (k, I),並將之轉換為16進位編碼H = H1H2. . . Hi...;
步驟2 :計算H的16進位編碼長度Ien (H),並將Ien(H)轉換為16進位數據附加在H前面得到A'; 步驟3 :利用XML文檔解析技術,從原始載體文檔D的ZIP包中讀取主文檔部件「document, xml」的所有內容給C :C = C1C2. . . Ci...;讀取setting部件的所有內容給G G=G1G2. . . Gi...;
步驟 4 :從 C :C = C1C2. . . C1...中提取一對 run 元素 「〈w:r>〈/w:r>」 給 R ;
步驟5 :增加一個刪除修改標識符及其屬性值到R中;
步驟6 :從H = H1H2. . . Hi...中讀取6位16進位信息,替換步驟5增加的刪除修改標識符屬性值的後六位;
步驟7 :如果所有的run元素「〈w:r>〈/w:r>」都增加了刪除修改標識符,而水印信息還沒有嵌完,則向setting部件G G = G1G2. . . Gi...中增加一個修改標識符rsid及其屬性值,該屬性值的前4位16進位數都用「0」代替,並從H = H1H2. . . Hi...中讀取4位16進位信息,替換所述修改標識符rsid屬性值的後4位;
步驟8 向setting部件G G = G1G2. . . Gi...中增加一個文檔變量屬性docVar,並讀取8位16進位水印信息來作為其屬性值;
步驟9 :重複步驟4到步驟8,直到編碼後的水印信息完全嵌入為止。基於冗餘屬性的數字水印提取算法流程如圖4,步驟如下
輸入含水印信息文檔S,私鑰k ;輸出水印信息M ;
步驟10 :利用XML文檔解析技術,從含水印信息文檔S的ZIP包中讀取主文檔部件「document, xml」的所有內容給C :C = C1C2. . . Ci...;讀取setting部件的所有內容給G G=G1G2. . . Gi...;
步驟11 :依次讀取run元素中含有的刪除修改標識符屬性值的後六位16進位數給M ;步驟12 :讀取setting部件G :G = G1G2. . . Gi...中的以「0000」開頭的修改標識符及其屬性值,並把該屬性值的後四位數據增加到M中;
步驟13 :讀取setting部件G :G = G1G2. . . Gi...中的以rsid開頭的文檔變量,並把該變量的屬性值信息賦給M ;
步驟14 :重複步驟12到步驟13,直到所有的數字水印信息被提取出來;
步驟15 :利用私鑰k和非對稱加密算法RSA,對水印信息M進行解密,得到解密後的信息 I :I = D (k, I')。以上所述實施例,僅為本發明較佳的具體實施方式
。但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。
權利要求
1.一種基於刪除標記的OOX文檔數字水印方法,其特徵在於,所述方法包括水印嵌入方法和水印提取方法,分別包括下列步驟 水印嵌入方法具體步驟為 (1)首先讀取OOX格式文檔包中的主文檔部件document,xml文件,並提取出所述document, xml文件中的各個節點下的元素、屬性和屬性值; (2)針對所述document,xml文件每一段落,提取[r元素,然後將刪除修改標識符w:rsidDel以及6位16進位的水印信息添加到w:r元素中; (3)重複步驟(2)直到所有水印信息完全嵌入所述document,xml文件中; (4)添加已嵌入水印的主文檔部件document,xml到原OOX文檔包中; 水印提取方法步驟為 (5)首先讀取00X格式文檔包中的主文檔部件document,xml文件,並提取出所述document, xml文件中的各個節點下的元素、屬性和屬性值; (6)針對所述document,xml文件每一段落,提取》vr元素,並提取》vr元素中的刪除修改標識符w:rsidDel屬性值的後六位; (7)重複步驟(6)直到所有[r元素中的刪除修改標識符w:rsidDel屬性值提取完成,即水印信息提取完成。
全文摘要
本發明提出了一種基於刪除標記的OOX文檔數字水印方法,通過向OOX文本文檔包中主文檔部件增加刪除修改標識符的方法,把水印信息嵌入到OOX文檔中去,使得水印信息與文檔的格式信息相結合,提高了水印的魯棒性和嵌入容量,可有效的抵抗「刪除文本內容」、「編輯」、「另存為」、「清除格式」等針對文本內容的攻擊。因此,本發明所提出的基於刪除標記的OOX文檔數字水印方案為OOX文本內容認證與版權保護提供了新的關鍵技術,改進了數字水印技術一直存在的魯棒性差的問題,為數字水印技術的進一步推廣應用提供了理論基礎和方法支持。
文檔編號G06F21/60GK102968596SQ20121042475
公開日2013年3月13日 申請日期2012年10月30日 優先權日2012年10月30日
發明者付章傑, 孫星明, 周璐, 束建鋼 申請人:南京信息工程大學