本申請涉及隱藏信息處理,尤其涉及一種基于cfb文檔的隱藏信息處理方法、系統(tǒng)及介質(zhì)。
背景技術(shù):
1、cfb文檔(compound?file?binary復(fù)合文件二進(jìn)制格式),是一種用于組織和存儲(chǔ)復(fù)雜數(shù)據(jù)結(jié)構(gòu)的文件格式。cfb文檔將數(shù)據(jù)組織成一系列的存儲(chǔ)塊,這些存儲(chǔ)塊可以包含各種類型的數(shù)據(jù),例如文檔內(nèi)容、對(duì)象、元數(shù)據(jù)等。cfb?文檔格式通常用于microsoft?office和wps文檔(如.doc、.xls、.ppt、.wps、.et、.dsp、vsd等)。
2、現(xiàn)有對(duì)于文檔嵌入隱藏信息的方式主要有四類:一是直接在文件內(nèi)容中嵌入不可讀信息,如二維碼條形碼等;二是改變文件格式,在頭部或者尾部增加信息,打開時(shí)需要使用技術(shù)手段進(jìn)行解碼;三是通過修改字體、文字調(diào)整的方式嵌入信息;四是對(duì)文檔中的同音字,同義詞,標(biāo)點(diǎn)符號(hào)進(jìn)行修改編碼。
3、但是,上述方案都存在信息嵌入量較少的問題。此外,第一類存在影響用戶編輯,容易被查閱的用戶察覺并移除的問題;第二類在改變文件格式后需要改變應(yīng)用軟件的打開方式,適配的難度較大;第三類,提取方式較為復(fù)雜、提取準(zhǔn)確性較差;第三類,不適用較為官方的文件,且隱藏內(nèi)容容易被破壞。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)的上述不足,本申請?zhí)峁┮环N基于cfb文檔的隱藏信息處理方法、系統(tǒng)及介質(zhì),以解決現(xiàn)有方案存在信息嵌入量較少、嵌入不可讀信息影響用戶編輯,容易被查閱的用戶察覺并移除、改變文件格式后需要改變應(yīng)用軟件的打開方式,適配的難度較大、提取方式較為復(fù)雜、修改內(nèi)容的方案對(duì)應(yīng)的提取數(shù)據(jù)的準(zhǔn)確性較差、修改內(nèi)容的方案不適用較為官方的文件,且隱藏內(nèi)容容易被破壞的問題。
2、第一方面,本申請?zhí)峁┝艘环N基于cfb文檔的隱藏信息處理方法,方法包括:獲取cfb文檔和隱藏信息處理指令;解析cfb文檔,獲得cfb文檔中的目錄結(jié)構(gòu);遍歷目錄結(jié)構(gòu),根據(jù)名稱查找ole屬性結(jié)構(gòu)的目標(biāo)目錄;當(dāng)隱藏信息處理指令為嵌入隱藏信息指令時(shí),遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),基于屬性項(xiàng)中的屬性標(biāo)識(shí)符,確定目標(biāo)屬性項(xiàng),結(jié)束遍歷;將目標(biāo)屬性項(xiàng)中屬性值的內(nèi)容更新為嵌入隱藏信息指令對(duì)應(yīng)的隱藏信息;當(dāng)隱藏信息處理指令為提取隱藏信息指令時(shí),遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),獲得含有隱藏信息的屬性項(xiàng);讀取并返回隱藏信息。
3、進(jìn)一步地,遍歷目錄結(jié)構(gòu),根據(jù)名稱查找ole屬性結(jié)構(gòu)的目標(biāo)目錄,具體包括:遍歷目錄結(jié)構(gòu),獲取目錄結(jié)構(gòu)下各個(gè)目錄的名稱;確定目錄名稱為預(yù)設(shè)名稱的目錄為目標(biāo)目錄;其中,預(yù)設(shè)名稱至少包括:\005summaryinformation和\005documentsummaryinformation。
4、進(jìn)一步地,遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),基于屬性項(xiàng)中的屬性標(biāo)識(shí)符,確定目標(biāo)屬性項(xiàng),具體包括:遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),在當(dāng)前屬性項(xiàng)中的屬性標(biāo)識(shí)符為預(yù)設(shè)標(biāo)識(shí)符時(shí),確定當(dāng)前屬性項(xiàng)為目標(biāo)屬性項(xiàng);在不存在屬性項(xiàng)中的屬性標(biāo)識(shí)符為預(yù)設(shè)標(biāo)識(shí)符時(shí),新增一個(gè)屬性項(xiàng)為目標(biāo)屬性項(xiàng),且新增的屬性項(xiàng)中的屬性標(biāo)識(shí)符為預(yù)設(shè)標(biāo)識(shí)符。
5、進(jìn)一步地,預(yù)設(shè)標(biāo)識(shí)符為pidsi_title?(0x00000002)、pidsi_keywords(0x00000005)?、pidsi_template?(0x00000007)。
6、進(jìn)一步地,在將目標(biāo)屬性項(xiàng)中屬性值的內(nèi)容更新為嵌入隱藏信息指令對(duì)應(yīng)的隱藏信息之前,方法還包括:獲取初始隱藏信息;將初始隱藏信息進(jìn)行編碼處理后,將預(yù)設(shè)特定前綴和/或后綴加入編碼處理后的隱藏信息,獲得最終的隱藏信息。
7、進(jìn)一步地,編碼處理為base64編碼處理、hex編碼處理、sm4編碼處理或sm2編碼處理;預(yù)設(shè)特定前綴及后綴為cfblabel或zflabel。
8、進(jìn)一步地,遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),獲得含有隱藏信息的屬性項(xiàng),具體包括:遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),獲得屬性標(biāo)識(shí)符為預(yù)設(shè)標(biāo)識(shí)符的屬性項(xiàng),根據(jù)預(yù)設(shè)特定前綴和/或后綴從屬性項(xiàng)的屬性值中讀取嵌入內(nèi)容;當(dāng)屬性值中不存在嵌入內(nèi)容時(shí),繼續(xù)讀取下一屬性項(xiàng);當(dāng)屬性值中存在嵌入內(nèi)容時(shí),對(duì)嵌入內(nèi)容進(jìn)行解碼處理;當(dāng)解碼失敗時(shí),確定當(dāng)前嵌入內(nèi)容不是隱藏信息,繼續(xù)讀取下一屬性項(xiàng);當(dāng)解碼成功時(shí),確定解碼后的當(dāng)前嵌入內(nèi)容為隱藏信息,結(jié)束遍歷。
9、第二方面,本申請?zhí)峁┝艘环N基于cfb文檔的隱藏信息處理系統(tǒng),系統(tǒng)包括:目錄獲取模塊,用于獲取cfb文檔和隱藏信息處理指令;解析cfb文檔,獲得cfb文檔中的目錄結(jié)構(gòu);遍歷目錄結(jié)構(gòu),根據(jù)名稱查找ole屬性結(jié)構(gòu)的目標(biāo)目錄;信息嵌入模塊,用于當(dāng)隱藏信息處理指令為嵌入隱藏信息指令時(shí),遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),基于屬性項(xiàng)中的屬性標(biāo)識(shí)符,確定目標(biāo)屬性項(xiàng),結(jié)束遍歷;將目標(biāo)屬性項(xiàng)中屬性值的內(nèi)容更新為嵌入隱藏信息指令對(duì)應(yīng)的隱藏信息;信息提取模塊,用于當(dāng)隱藏信息處理指令為提取隱藏信息指令時(shí),遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),獲得含有隱藏信息的屬性項(xiàng);讀取并返回隱藏信息。
10、進(jìn)一步地,信息嵌入模塊包括隱藏信息獲取單元,用于獲取初始隱藏信息;將初始隱藏信息進(jìn)行編碼處理后,將預(yù)設(shè)特定前綴和/或后綴加入編碼處理后的隱藏信息,獲得最終的隱藏信息。
11、第三方面,本申請?zhí)峁┝艘环N非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令在被執(zhí)行時(shí)實(shí)現(xiàn)如上述任一項(xiàng)的一種基于cfb文檔的隱藏信息處理方法。
12、本領(lǐng)域技術(shù)人員能夠理解的是,本申請至少具有如下有益效果:
13、本申請?zhí)岢隽艘环N基于cfb文檔的隱藏信息處理方法、系統(tǒng)及介質(zhì),本申請可以在常見的cfb文檔(如擴(kuò)展名為wps、et、dsp、doc、xls、ppt的文檔)中嵌入經(jīng)過編碼的隱藏信息,并且嵌入的隱藏信息嵌入到ole屬性結(jié)構(gòu)的目標(biāo)目錄,即嵌入到二進(jìn)制屬性流中,不會(huì)修改正文,用戶修改正文也不會(huì)修改到隱藏信息。另外,本申請基于屬性項(xiàng)中的屬性標(biāo)識(shí)符,確定目標(biāo)屬性項(xiàng),由于存在一系列目標(biāo)屬性項(xiàng)(例如,pidsi_keywords?(0x00000005)等)在改變文件格式后,目標(biāo)屬性項(xiàng)依然不變,解決了現(xiàn)有方案在改變文件格式后需要改變應(yīng)用軟件的打開方式,適配的難度較大的問題。另外,本申請利用cfb文檔中,常見辦公文檔都攜帶的能夠解析的ole屬性結(jié)構(gòu)(如:名稱為\005summaryinformation與\005documentsummaryinformation的目錄),將隱藏信息進(jìn)行編碼后插入ole屬性結(jié)構(gòu)中的屬性值中。這樣不破壞cfb文檔的格式,辦公編輯軟件會(huì)將嵌入信息當(dāng)作屬性字符串解析讀取,在另存、編輯保存時(shí)同步寫入,且辦公編輯軟件不會(huì)將該屬性展示給查閱的用戶(嵌入隱藏信息后,普通用戶通過普通辦公編輯軟件無法查看)。解決了提取方式較為復(fù)雜、提取準(zhǔn)確性較差以及不適用較為官方的文件,且隱藏內(nèi)容容易被破壞的問題。另外,可以通過嵌入屬性值的方式嵌入2000字節(jié)以上的隱藏信息,解決了現(xiàn)有方案存在信息嵌入量較少的問題。
1.一種基于cfb文檔的隱藏信息處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的基于cfb文檔的隱藏信息處理方法,其特征在于,遍歷目錄結(jié)構(gòu),根據(jù)名稱查找ole屬性結(jié)構(gòu)的目標(biāo)目錄,具體包括:
3.根據(jù)權(quán)利要求1所述的基于cfb文檔的隱藏信息處理方法,其特征在于,遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),基于屬性項(xiàng)中的屬性標(biāo)識(shí)符,確定目標(biāo)屬性項(xiàng),具體包括:
4.根據(jù)權(quán)利要求3所述的基于cfb文檔的隱藏信息處理方法,其特征在于,
5.根據(jù)權(quán)利要求1所述的基于cfb文檔的隱藏信息處理方法,其特征在于,在將目標(biāo)屬性項(xiàng)中屬性值的內(nèi)容更新為嵌入隱藏信息指令對(duì)應(yīng)的隱藏信息之前,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的基于cfb文檔的隱藏信息處理方法,其特征在于,
7.根據(jù)權(quán)利要求5所述的基于cfb文檔的隱藏信息處理方法,其特征在于,遍歷目標(biāo)目錄中所有屬性組的屬性項(xiàng),獲得含有隱藏信息的屬性項(xiàng),具體包括:
8.一種基于cfb文檔的隱藏信息處理系統(tǒng),其特征在于,所述系統(tǒng)包括:
9.根據(jù)權(quán)利要求8所述的基于cfb文檔的隱藏信息處理系統(tǒng),其特征在于,嵌入模塊包括隱藏信息獲取單元,
10.一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令在被執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的一種基于cfb文檔的隱藏信息處理方法。