文档隐写溯源技术分析
本文是信息安全綜合設(shè)計(jì)的課程報(bào)告。全文字?jǐn)?shù):4000+。
本文主要內(nèi)容:
- 1 文檔隱寫(xiě)溯源技術(shù)的意義
- 2 當(dāng)前文檔隱寫(xiě)溯源技術(shù)存在的不足
- 3.1 文檔管理系統(tǒng)的改進(jìn)
- 3.2 文檔隱寫(xiě)技術(shù)的改進(jìn)
- 4 改進(jìn)文檔隱寫(xiě)溯源技術(shù)效果分析
1 文檔隱寫(xiě)溯源技術(shù)的意義
在如今的信息時(shí)代,信息技術(shù)的迅速發(fā)展使原本以紙張形式保存的大量重要文檔轉(zhuǎn)變?yōu)橐噪娮游臋n形式保存。得益于電子文檔的創(chuàng)建快速、易于存儲(chǔ)、方便管理、傳播共享等優(yōu)點(diǎn),許多企業(yè)、政府單位的日常文件甚至機(jī)密信息都是利用電子文檔的形式進(jìn)行存儲(chǔ)與傳輸。這些文檔中包含了多種多樣的信息,具有巨大的經(jīng)濟(jì)價(jià)值和應(yīng)用價(jià)值。
但是,許多涉密文檔的使用,并沒(méi)有得到有效的監(jiān)督和管理,信息泄露事件頻有發(fā)生。2021年5月9日,寧夏銀川一份名為《關(guān)于境外輸入無(wú)癥狀感染者XXX的初步流行病學(xué)調(diào)查報(bào)告》的流調(diào)報(bào)告遭外泄,其本人及家人詳細(xì)信息被曝光。2021年1月14日,一份名為《河北藁城確診人員基本情況》的文件截圖,在微信群內(nèi)迅速傳播,其包含全部人員的詳細(xì)信息;2020年12月23日,遼寧沈陽(yáng)一新冠肺炎陽(yáng)性病例個(gè)人信息遭泄露;2020年12月7日,四川成都新冠肺炎確診病例患者趙XX的流調(diào)報(bào)告遭外泄,泄露者于9日被行政處罰……從2020年11月以來(lái),全國(guó)各地至少出現(xiàn)10起流調(diào)信息泄露事件,泄露之后,雖然各地政府介入調(diào)查,但是只有極少數(shù)事件能追溯到泄露的源頭,大部分事件的溯源工作都無(wú)結(jié)而終。以上只是近期發(fā)生的,在網(wǎng)絡(luò)上產(chǎn)生廣泛輿論的文檔泄露事件。除此之外,還有更多的涉密文檔泄露事件發(fā)生。
觀察這些涉密文檔泄密事件,可以看出泄露的途徑,主要是被文檔的合法使用者非法使用,通過(guò)源文件轉(zhuǎn)發(fā)或者截圖轉(zhuǎn)發(fā)的形式,將涉密信息發(fā)布于公眾平臺(tái),從而導(dǎo)致廣泛傳播。這種源文件不具有唯一性和可溯源性,在傳播過(guò)程中,無(wú)法得到有效的監(jiān)督和控制。
針對(duì)上述缺陷,擬采用一種文檔隱寫(xiě)溯源技術(shù),對(duì)涉密文檔進(jìn)行處理后傳輸,保證每份文檔的唯一性和擴(kuò)散路徑可控可溯源,能夠高效快速查詢(xún)文檔的使用和擴(kuò)散過(guò)程,防止文檔被濫用。當(dāng)泄密事件發(fā)生時(shí),能夠快速定位溯源,為追責(zé)提供依據(jù),從而提高涉密文件的安全性。另外,文檔隱寫(xiě)溯源技術(shù)的采用,在版權(quán)保護(hù)等方面,也有重要的研究意義。
2 當(dāng)前文檔隱寫(xiě)溯源技術(shù)存在的不足
在當(dāng)前的文檔溯源技術(shù)中,最常用的是采用明文水印(特定標(biāo)識(shí))的方式。一種是使用統(tǒng)一的水印,但這種形式的水印,有與無(wú)并無(wú)差異,無(wú)法起到溯源的作用。另一種是水印差異化,即不同用戶(hù)打開(kāi)同一個(gè)文檔時(shí),文檔顯示的水印通常是用戶(hù)的ID或者用戶(hù)名。不可否認(rèn),這是一種簡(jiǎn)單的防止涉密文檔外泄的有效手段。比如常用的OA辦公系統(tǒng)釘釘,可以開(kāi)啟群文件的“保密模式”,即只支持在線預(yù)覽,并帶有水印,但不可下載就限制了文檔的打印。此外,這種明文水印方式,使得水印可視,對(duì)文檔的閱讀效果有影響,如果采用技術(shù)手段將水印去除,則泄密后,也無(wú)從溯源。
數(shù)字水印技術(shù)是一種版權(quán)保護(hù)技術(shù),其主要應(yīng)用于圖像、視頻等載體,后期也用于文檔中。該技術(shù)通過(guò)對(duì)文檔的某種特定結(jié)構(gòu)(如行間距、字符間距等)進(jìn)行修改,用來(lái)存儲(chǔ)信息,從而實(shí)現(xiàn)水印信息的嵌入。嵌入后的文檔包含了水印信息,但是這種數(shù)字水印信息是不易被察覺(jué)和修改的,并且文檔的原價(jià)值不受任何影響。采用這種技術(shù)嵌入的水印,只能被嵌入者識(shí)別和提取,能夠起到文檔隱寫(xiě)和溯源的功能。但是這種數(shù)字水印技術(shù)加密后的文檔,一方面是存儲(chǔ)信息的容量低,另一方面是魯棒性和可用性差,即如果對(duì)文檔圖像進(jìn)行了縮放或者翻轉(zhuǎn),字符間距等信息可能改變,使得字符間距達(dá)不到可識(shí)別的閾值。
針對(duì)當(dāng)前文檔隱寫(xiě)溯源技術(shù)中存在的不足,可以從文檔管理系統(tǒng)和文檔隱寫(xiě)技術(shù)兩方面進(jìn)行改進(jìn)。
3.1 文檔管理系統(tǒng)的改進(jìn)
當(dāng)前常用的OA辦公系統(tǒng),并沒(méi)有對(duì)文檔采用加密溯源等技術(shù),只是采用簡(jiǎn)單的明文水印限制擴(kuò)散,但是也限制了文檔的再次編輯。所以,可以將當(dāng)前的文檔管理系統(tǒng)分成四個(gè)模塊來(lái)改進(jìn)加密溯源技術(shù),分別是文檔上傳模塊、權(quán)限控制模塊、文檔控制追蹤模塊和記錄查詢(xún)模塊。這幾個(gè)模塊的詳細(xì)功能如下。
(1)文檔上傳模塊
該模塊的主要功能是進(jìn)行文檔的上傳,這也是原始文檔的最初來(lái)源。
(2)權(quán)限控制模塊
該模塊主要是生成上傳的文檔的訪問(wèn)權(quán)限列表,文檔發(fā)布者可以設(shè)置哪些用戶(hù)可以對(duì)文檔進(jìn)行訪問(wèn),并且訪問(wèn)的權(quán)限又分為不可訪問(wèn)、只讀、只讀可復(fù)制、可批注、可編輯以、完全訪問(wèn)六種權(quán)限。
(3)文檔控制追蹤模塊
該模塊是文檔溯源技術(shù)改進(jìn)的核心,主要實(shí)現(xiàn)文檔的訪問(wèn)控制,一方面根據(jù)訪問(wèn)權(quán)限列表,生成指定權(quán)限的文檔,分發(fā)給用戶(hù),另一方面記錄用戶(hù)對(duì)文檔訪問(wèn)痕跡的溯源記錄,以及記錄文檔擴(kuò)散的痕跡,生成完整的溯源鏈。這里的溯源記錄信息,通常包含此條訪問(wèn)記錄的標(biāo)識(shí)符、訪問(wèn)此文檔的用戶(hù)信息(用戶(hù)名)、訪問(wèn)時(shí)間、訪問(wèn)硬件設(shè)備地址、文檔名、該溯源記錄的前置溯源標(biāo)識(shí)符等信息。除了訪問(wèn)父文檔會(huì)產(chǎn)生溯源記錄,在此OA系統(tǒng)中發(fā)送過(guò)的任何子文檔,都會(huì)產(chǎn)生溯源記錄,所以這里的前置溯源標(biāo)識(shí)符,就是用來(lái)記錄上一個(gè)文件的溯源記錄標(biāo)識(shí)符。生成的溯源記錄,一方面將詳細(xì)信息存儲(chǔ)于文檔管理系統(tǒng)服務(wù)器,另一方面將溯源信息以不可見(jiàn)的形式,嵌入到分發(fā)給用戶(hù)的文檔中。
此外,該模塊還應(yīng)該實(shí)現(xiàn)加密和簽名功能。通常采用公鑰加密、私鑰解密和私鑰數(shù)字簽名、公鑰驗(yàn)證等機(jī)制保證溯源記錄的保密性和真實(shí)性。再此過(guò)程中,為保證文檔訪問(wèn)時(shí)間的準(zhǔn)確性,還需要增加數(shù)字時(shí)間戳服務(wù)中心,來(lái)對(duì)數(shù)字時(shí)間戳進(jìn)行驗(yàn)證蓋章。
(4)溯源查詢(xún)模塊
該模塊主要進(jìn)行溯源記錄的查詢(xún)。
一方面可以查詢(xún)指定文檔的擴(kuò)散鏈。如Alice上傳了文檔D1,Bob下載了文檔D1,編輯為D2后,通過(guò)OA發(fā)送給了Carol。這時(shí)可以查詢(xún)文檔D2的擴(kuò)散鏈:Alice→Bob→Carol。
另一方面可以查詢(xún)?nèi)我馕臋n的擴(kuò)散鏈。如Carol將Bob通過(guò)OA發(fā)來(lái)的文檔D2發(fā)到了外網(wǎng),這時(shí),Carol下載的文檔已變成D3。Alice發(fā)現(xiàn)了外網(wǎng)的文檔D3,Alice可以通過(guò)上傳D3文檔到查詢(xún)模塊查詢(xún)?cè)撐臋n的詳細(xì)擴(kuò)散鏈,其中系統(tǒng)解析文檔溯源記錄標(biāo)識(shí)符,進(jìn)行匹配查詢(xún)。
3.2 文檔隱寫(xiě)技術(shù)的改進(jìn)
通過(guò)對(duì)文檔管理系統(tǒng)的改進(jìn),可以實(shí)現(xiàn)對(duì)任意文檔的溯源。但是,如果Carol通過(guò)截圖,將部分文檔內(nèi)容發(fā)送至外網(wǎng),此文檔管理系統(tǒng)的溯源功能就失效了。除了使用基本的明文水印,還可以通過(guò)對(duì)文檔進(jìn)行隱寫(xiě),即改進(jìn)隱寫(xiě)技術(shù)實(shí)現(xiàn)溯源功能。改進(jìn)的隱寫(xiě)技術(shù)可以從兩方面入手:盲水印或文字歐拉數(shù)。
(1)盲水印
一般來(lái)說(shuō),上級(jí)下發(fā)的涉密文檔是不可編輯的,所以可以通過(guò)將文檔轉(zhuǎn)成圖片形式,并添加盲水印的方式,實(shí)現(xiàn)文檔隱寫(xiě)。通過(guò)這種方式添加的水印,是肉眼不可見(jiàn)的,隱匿性和抵抗攻擊能力強(qiáng)。
目前常用的添加盲水印的方式可分為空域方法和頻域方法,在文檔圖像中添加冗余信息(水印),并保證圖像質(zhì)量不變。常見(jiàn)的圖像是空域的。空域方法是在空間域直接對(duì)圖像進(jìn)行操作,水印疊加在圖像上。而頻域方法是通過(guò)某種變換手段,比如傅里葉變換、小波變換等,將圖像變到頻域,再對(duì)圖像添加水印,在進(jìn)行逆變換,將圖像轉(zhuǎn)換成空域,再保存帶有水印的圖像。圖一、圖二為頻域方式加水印和提取水印的基本流程。
圖1 頻域方式添加盲水印基本流程 圖2 頻域方式提取水印基本流程相比較于空域,頻域方式添加盲水印的隱匿性更強(qiáng),抗攻擊性更高。下圖是采用傅里葉變換實(shí)現(xiàn)的添加盲水印的示例。
圖3 添加與提取水印示例(2)文字歐拉數(shù)
采用添加盲水印的方式對(duì)文檔進(jìn)行加密,可以有效對(duì)通過(guò)截圖方式泄密的文檔溯源。而對(duì)于攝屏、打印等方式泄密的文檔,盲水印的方式就失效了。為此,可以通過(guò)對(duì)文字的歐拉數(shù)進(jìn)行變換,來(lái)實(shí)現(xiàn)文檔隱寫(xiě)。
歐拉數(shù)(Euler Number)是一個(gè)工程中常見(jiàn)的參數(shù),其具體意義在不同的學(xué)科中是不同的。在拓?fù)鋵W(xué)中,歐拉數(shù)通常表示空間的完整性。對(duì)于一個(gè)文字來(lái)說(shuō),其歐拉數(shù)可以采用拓?fù)鋵W(xué)中的歐拉函數(shù)來(lái)計(jì)算。其計(jì)算方法如公式(1.1)所示。
式中,EUL表示歐拉數(shù),C表示對(duì)象數(shù)(連通區(qū)域數(shù)),H表示空洞數(shù)量。
比如圖4(左圖)中的“理”字,其“王”字旁和右側(cè)的“里”是分開(kāi),不相連的,故其對(duì)象數(shù)為2,右側(cè)的“里”有四個(gè)空洞,故其空洞數(shù)量為4,所以“理”字的歐拉數(shù)EUL為-2。
圖4 左:黑體“理”字,右:改變拓?fù)浣Y(jié)構(gòu)的“理”字對(duì)于同一種字體,同一個(gè)漢字的歐拉數(shù)是固定的。那如何通過(guò)歐拉數(shù)實(shí)現(xiàn)信息的隱寫(xiě)呢?可以通過(guò)改變漢字的筆畫(huà),來(lái)改變漢字的歐拉數(shù)。
再如圖4(左圖)的“理”字,將“王”字旁的第一橫和豎之間做拆分,那么“王”字旁的對(duì)象數(shù)就是2,新的“理”字的對(duì)象數(shù)為3,歐拉數(shù)為-1。這就實(shí)現(xiàn)了歐拉數(shù)的改變。
除了可以計(jì)算單個(gè)漢字的歐拉數(shù),還可以根據(jù)一串漢字的歐拉數(shù),來(lái)實(shí)現(xiàn)信息的隱寫(xiě)。如圖5中的四個(gè)“武漢理工大學(xué)”字符串,乍一看,沒(méi)有什么不同。仔細(xì)一看,①和②的“武”字不同,改變了“武”字的對(duì)象數(shù);②和③的“漢”字不同,改變了“漢”字的空洞數(shù);③和④的“學(xué)”字不同,改變了“學(xué)”字的對(duì)象數(shù)。
圖5 四個(gè)不同歐拉數(shù)的“武漢理工大學(xué)”使用MATLAB可以輕松計(jì)算出這四個(gè)“武漢理工大學(xué)”字符串的歐拉數(shù),如圖6所示。
圖6 計(jì)算字符串的歐拉數(shù)有了文字的歐拉數(shù),可以使用該技術(shù)來(lái)改進(jìn)文檔隱寫(xiě)技術(shù)。具體的操作過(guò)程如圖7所示。對(duì)于每一次請(qǐng)求獲取的文檔,首先使用圖像識(shí)別算法,識(shí)別出各個(gè)文字的歐拉數(shù)。然后此處選擇每一行的前6個(gè)文字(非標(biāo)點(diǎn)符號(hào))的歐拉數(shù)組成行向量。如果此行的序列在數(shù)據(jù)庫(kù)中已存在,則隨機(jī)選擇幾個(gè)漢字,改變其拓?fù)浣Y(jié)構(gòu),如圖7的紅線所示。改變拓?fù)浣Y(jié)構(gòu)的技術(shù)可以使用二值圖像技術(shù)。最終將每行的行向量組合一個(gè)n行6列的矩陣,矩陣的每一行的行向量都是不同的。對(duì)于任意一份文檔,或者是文檔中的部分截圖,可以通過(guò)識(shí)別截圖中的幾行漢字的歐拉數(shù),組成矩陣,與數(shù)據(jù)庫(kù)中的矩陣進(jìn)行對(duì)比溯源。
圖7 根據(jù)歐拉數(shù)計(jì)算文本矩陣(取前4行,每行取前6個(gè)漢字)4 改進(jìn)文檔隱寫(xiě)溯源技術(shù)效果分析
本文通過(guò)兩個(gè)方面的改進(jìn),對(duì)文檔隱寫(xiě)溯源技術(shù)進(jìn)行改進(jìn)。每個(gè)方面都有自己特點(diǎn),也有自己的針對(duì)點(diǎn)。
對(duì)文檔管理系統(tǒng)的改進(jìn)是針對(duì)文檔本身作保護(hù)。這不僅能夠嚴(yán)格控制文檔的擴(kuò)散過(guò)程,顯示完整的擴(kuò)散鏈,而且能夠快速定位泄露文檔的源頭,保證每一份文檔都能夠得到有效的監(jiān)督和管理。
通過(guò)對(duì)文檔隱寫(xiě)技術(shù)的改進(jìn),是保證文檔的截圖、照片、打印件可溯源。使用歐拉數(shù)來(lái)記錄每一份文檔、差異化每一份文檔,當(dāng)文檔被截圖泄露時(shí),能夠通過(guò)提取文檔中的水印,根據(jù)水印信息來(lái)確定文檔的來(lái)源,完成泄密文檔的溯源。
總之,通過(guò)此文檔隱寫(xiě)溯源技術(shù)的改進(jìn),提高了涉密文檔的安全性,無(wú)論是在文檔本身還是在文檔的截圖、紙質(zhì)方面。此項(xiàng)技術(shù)的應(yīng)用,能夠有效震懾接觸涉密文檔的人員,對(duì)于泄密文檔的溯源追責(zé)有強(qiáng)有力的幫助。
總結(jié)
以上是生活随笔為你收集整理的文档隐写溯源技术分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 度度熊回家
- 下一篇: kafka 常用命令汇总