譚 慧
(湖南汽車工程職業(yè)學(xué)院,湖南 株洲 412001)
近年來(lái),從電子商務(wù)到共享汽車,從遠(yuǎn)程教育、網(wǎng)絡(luò)學(xué)習(xí)到大數(shù)據(jù)、云計(jì)算等等,“互聯(lián)網(wǎng)+”新型經(jīng)濟(jì)在中國(guó)遍地開(kāi)花。2018年政府工作報(bào)告中有7處再次談及“互聯(lián)網(wǎng)+”這一經(jīng)濟(jì)熱詞,例如深入開(kāi)展“互聯(lián)網(wǎng)+”行動(dòng)、推行“互聯(lián)網(wǎng)+政務(wù)服務(wù)”、發(fā)展“互聯(lián)網(wǎng)+農(nóng)業(yè)”[1]……網(wǎng)絡(luò)的興起和迅速發(fā)展,促進(jìn)了社會(huì)公眾“互聯(lián)網(wǎng)+政務(wù)服務(wù)”的需求。為了適應(yīng)這種背景和經(jīng)濟(jì)運(yùn)行方式的變革,政府大力推動(dòng)電子政務(wù)建設(shè)。
電子政務(wù)依賴于以互聯(lián)網(wǎng)為中心的各類硬件設(shè)備,例如運(yùn)算控制設(shè)備、加密解密設(shè)備、數(shù)據(jù)存儲(chǔ)設(shè)備等,同時(shí)還需要各類數(shù)據(jù)庫(kù)系統(tǒng)、操作系統(tǒng)等系統(tǒng)支撐。其中有一個(gè)重要的辦公流程就是電子公文。電子公文是一種電子數(shù)據(jù),傳統(tǒng)的紙質(zhì)公文通過(guò)電子公文傳輸系統(tǒng)處理后就變成了有規(guī)范格式的電子公文[2]。一般電子公文分為兩類,一類是規(guī)范性公文,即通用公文,俗稱“紅頭文件”[3];另一類是非規(guī)范性公文,主要指通知類、講話類等公文。為了保證電子公文的準(zhǔn)確性和真實(shí)性,我們?cè)O(shè)計(jì)出一種基于電子印章的數(shù)字水印算法。
整個(gè)電子印章系統(tǒng)從物理結(jié)構(gòu)上來(lái)說(shuō)包括電子印章系統(tǒng)后臺(tái)和客戶端空間訪問(wèn)接口兩部分。其中后臺(tái)由后臺(tái)數(shù)據(jù)庫(kù)、中間轉(zhuǎn)接層和其它模塊組成,所有用戶通過(guò)中間轉(zhuǎn)接層訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù),所有的訪問(wèn)信息將放在后臺(tái)數(shù)據(jù)庫(kù)中??蛻舳丝丶L問(wèn)接口由第三方提供的模塊、核心算法和與用戶交互的模塊組成,通過(guò)Word插件模塊與用戶交互,利用水印嵌入算法和水印提取算法進(jìn)行水印嵌入和提取。USBKey開(kāi)發(fā)接口、加密算法類庫(kù)、解密算法類庫(kù)是則由第三方提供。
從功能上來(lái)說(shuō),印章系統(tǒng)由權(quán)限設(shè)置中心、公文審批中心、制作印章中心三個(gè)部分構(gòu)成。其中,權(quán)限設(shè)置中心用來(lái)負(fù)責(zé)客戶端與后臺(tái)數(shù)據(jù)庫(kù)的通信,設(shè)置通過(guò)客戶端訪問(wèn)的各類用戶的權(quán)限;制作印章中心負(fù)責(zé)電子公文數(shù)據(jù)傳輸前的準(zhǔn)備工作,例如制作印章、審閱印章、查詢印章、撤銷印章等工作[2];公文審批中心是印章系統(tǒng)中最核心的部分,因?yàn)樗梢詫?shí)現(xiàn)文檔的電子簽章。
電子公文和傳統(tǒng)的紙質(zhì)公文相比,在查閱、存檔等方面,工作成本節(jié)省了,辦公效率提高了[4]。但是由于網(wǎng)絡(luò)傳輸?shù)倪^(guò)程容易出現(xiàn)公文被泄密的情況,因此需要合適的數(shù)字水印算法來(lái)保證最終接收端收到的公文是真實(shí)準(zhǔn)確的公文。例如:我們制作一個(gè)行政公文,按流程需要領(lǐng)導(dǎo)的逐級(jí)批復(fù),但是由于在傳輸過(guò)程中存在著被篡改、偽造等安全問(wèn)題,因此各部門下載公文后可能會(huì)需要驗(yàn)證電子公文的真?zhèn)巍?/p>
在電子公文系統(tǒng)中,基于“用戶-網(wǎng)絡(luò)-多個(gè)用戶”的形式為例,我們將批文嵌入了公文時(shí)間戳信息水印然后將其發(fā)布到互聯(lián)網(wǎng)上,有需要用到此批文的部門下載該文件,下載后通過(guò)提取水印來(lái)驗(yàn)證公文的真?zhèn)巍?/p>
傳統(tǒng)的基于DCT系數(shù)特征的盲水印算法沒(méi)有基于人的視覺(jué)和聽(tīng)覺(jué)感知模型,水印安全性較差,容量小,魯棒性差。針對(duì)這些問(wèn)題,本文提出的算法重點(diǎn)從以下方面進(jìn)行改進(jìn):
(1)載體和水印存在形式上。利用變換處理將載體和水印改變其原有的存在形式,水印信息進(jìn)行去噪、銳化處理后進(jìn)行A rnold變換,對(duì)載體數(shù)據(jù)進(jìn)行DCT變換。
(2)為了更準(zhǔn)確地判別和提取水印信號(hào),增強(qiáng)算法魯棒性,用兩位中頻系數(shù)來(lái)表征一位水印信號(hào)。
(3)增大容量。用增加中頻系數(shù)的方法來(lái)增大水印容量,從傳統(tǒng)的兩位中頻系數(shù)增加到四位中頻系數(shù),每一小塊可以嵌入兩位水印信號(hào),達(dá)到傳統(tǒng)容量的2倍。
(1)預(yù)處理
按照辦公習(xí)慣,紙質(zhì)公文上要用手寫簽名或者印章來(lái)做批復(fù),相對(duì)應(yīng)的,電子公文上的批復(fù)就是電子簽名。將手寫簽名轉(zhuǎn)換為電子簽名可以通過(guò)拍照、掃描等方式,但是這些方式可能會(huì)因?yàn)橄袼氐仍驅(qū)е码娮雍灻磺逦?,不易辨認(rèn),為了使電子簽名更加清晰,我們要先對(duì)它進(jìn)行去噪、銳化等處理。
(2)Arnold變換
俗稱貓變換,是將圖像拉伸、壓縮、折疊及拼接的過(guò)程。為了提高水印算法的魯棒性和抗剪切能力,我們將水印圖像進(jìn)行10次Arnold變換。我們?cè)O(shè)矩陣中的任意像素位置為(x,y),將像素點(diǎn)(x,y)按照某種映射變換到另一點(diǎn)(x’,y’)。變換后我們會(huì)得到一個(gè)水印圖像矩陣M*M,運(yùn)算公式為:
(3)離散余弦變換(DCT變換)
將載體圖像分成8*8的塊進(jìn)行DCT變換,會(huì)得到與載體圖像相同尺寸的DCT域系數(shù)矩陣。
(4)嵌入水印
選擇四個(gè)中頻系數(shù)來(lái)嵌入水印,例如選擇坐標(biāo)(2,3)和(3,2)來(lái)嵌入一位水印信號(hào),再選擇坐標(biāo)(6,7)和(7,6)嵌入另一位水印信號(hào)。嵌入的水印值S可以改變DCT系數(shù):
1)S=1,兩位DCT=b;
2)S=1,DCT>b,值不變;
3)S=0,兩位DCT=-b;
4)S=0,DCT>-b,值不變。
(5)對(duì)新生成的小波系數(shù)矩陣做反變換。
(6)不斷重復(fù)1-5的步驟,可以得到嵌入水印的圖像。
提取水印需要有密鑰,并且要清楚密鑰的組成內(nèi)容。這個(gè)算法中密鑰由四個(gè)中頻系數(shù)、水印的長(zhǎng)度、Arnold變換次數(shù)、舉證序列四部分組成。按如下步驟進(jìn)行:
(1)對(duì)檢測(cè)圖像分塊后再進(jìn)行DCT變換;
(2)檢查該圖像塊中的下標(biāo)為(2,3)和(3,2),(6,7)和(7,6)的DCT系數(shù)之和:
1)系數(shù)之和>0,表明S=“1”;
2)系數(shù)之和<0,表明S=“0”。
(3)不斷重復(fù)以上步驟,直到所有的水印信號(hào)被提取出來(lái);
(4)對(duì)提取的水印信號(hào)進(jìn)行10次逆Arnold變換,恢復(fù)出水印圖像。
實(shí)驗(yàn)前提:標(biāo)志項(xiàng)N取12。
實(shí)驗(yàn)載體圖像:大小378×378像素;
實(shí)驗(yàn)水印圖像:二值圖像,大小32×32像素。
實(shí)驗(yàn)一:JPEG壓縮測(cè)試
在無(wú)任何攻擊下的實(shí)驗(yàn)結(jié)果(PSNR=40.0685,NC=0.9983),表1為JPEG壓縮測(cè)試下的實(shí)驗(yàn)結(jié)果(Q為壓縮品質(zhì)因數(shù),PSNR為峰值信噪比,NC為相似度)。
表1 JPEG壓縮測(cè)試的實(shí)驗(yàn)結(jié)果
由測(cè)試結(jié)果可見(jiàn),即使Q=45,水印的隱秘性依然很好,而且提取的水印非常清晰,說(shuō)明這類算法的抗壓縮能力強(qiáng)。
實(shí)驗(yàn)二:攻擊測(cè)試
我們對(duì)圖像進(jìn)行了各類攻擊,從圖1的實(shí)驗(yàn)結(jié)果來(lái)看,載體圖像的質(zhì)量在遭受攻擊后有一定的降低,但是仍然可以提取出水印。
圖1 各種攻擊測(cè)試后的結(jié)果
測(cè)試一:劃痕和簽字干擾
公文文件要有很多部門審批、查閱人也多,查閱審批多或少會(huì)留下相關(guān)批閱的痕跡,在辦公系統(tǒng)中傳輸?shù)臅r(shí)候也有可能受到非法修改,這樣會(huì)干擾驗(yàn)證公文是否真實(shí)有效和完整的過(guò)程。我們用一個(gè)加了簽字的公文文件做測(cè)試,如圖2所示,通過(guò)測(cè)試可以看出,雖然文件受到了一些破壞,但還是可以從中正確提取出嵌入的水印,圖3所示。提取水印的NC系數(shù)為0.8367、MSE為0.1326、PSNR為8.7367。
圖2 受簽字干擾的文件
圖3 提取的水印圖像
測(cè)試二:椒鹽噪聲干擾
數(shù)據(jù)在網(wǎng)絡(luò)傳輸中很容易信道干擾,其中最常見(jiàn)的信道干擾形式之一就是椒鹽噪聲干擾。我們模擬噪聲干擾,在載體圖像中加入方差為0.036的椒鹽噪聲,如圖4所示,我們依然可以提取出較為清晰的水印信息,如圖5所示。
圖4 受噪聲干擾的文件
圖5 提取的水印圖像
表2 椒鹽噪聲干擾測(cè)試的實(shí)驗(yàn)結(jié)果
從表2可以看出,椒鹽噪聲方差可以影響載體圖像的NC、PSNR以及提取的水印的NC。從結(jié)果可以看出,噪聲方差值和載體圖像的相似度以及峰值信噪比成反比,噪聲方差值越小,所得到水印NC越接近1,也就是說(shuō)和原電子公文、原水印越相似;噪聲的方差值越大得到的水印NC就越小,通過(guò)人的視覺(jué)可以判斷出差異,從而可以肯定載體公文在傳輸過(guò)程中受到了非法攻擊,需要提醒接收方驗(yàn)證電子公文的真實(shí)性和有效性。
測(cè)試三:損壞或臟舊污染
在實(shí)際工作中,經(jīng)過(guò)多人傳閱的公文,極可能會(huì)破損。我們用一個(gè)被墨水印記弄臟的公文文件為載體做測(cè)試,如圖6所示。經(jīng)測(cè)試,所提取水印的NC系數(shù)為0.8427、均方誤差為0.1478、PSNR為9.1475。說(shuō)明在應(yīng)用了這類算法,即使文件已經(jīng)破損,水印圖像還是可以被提取出來(lái),如圖7所示。
圖6 有污點(diǎn)的文件
圖7 提取的水印圖像
從實(shí)驗(yàn)結(jié)果可以看出,這種算法的抗壓縮能力較強(qiáng),水印的隱蔽性較好,魯棒性較高。性能測(cè)試表明,即使載體圖像在受到各種惡意攻擊和信號(hào)處理后造成了一定程度的失真,嵌入的水印仍能被高精度地檢測(cè)出。結(jié)果說(shuō)明改進(jìn)后的算法簡(jiǎn)單實(shí)用,比較適合互聯(lián)網(wǎng)下電子公文的應(yīng)用環(huán)境。