鄭美玲 陳 瀚 俞洪水 朱健萍*
(廣西壯族自治區(qū)食品藥品檢驗所,廣西 南寧 530021)
電子簽章系統(tǒng)是以數(shù)字簽名、數(shù)字水印技術(shù)為核心,以印章圖像為載體,基于COM中間件技術(shù)對電子圖章的版權(quán)保護(hù)機(jī)制,實現(xiàn)對特定文件的簽名、加密和認(rèn)證。任何未通過認(rèn)證的用戶,均無法獲取文件信息,從而達(dá)到了保護(hù)文件隱私與機(jī)密的目的。隨著加密技術(shù)的日益成熟,電子簽章系統(tǒng)的安全性也得到了進(jìn)一步提升。現(xiàn)階段常用的電子簽章系統(tǒng),已經(jīng)形成了PKI與數(shù)字水印兩大技術(shù)體系,每個體系下又包含了數(shù)字認(rèn)證、數(shù)字簽名、易損水印、魯邦水印等多種類型。熟練運(yùn)用這些技術(shù),將使電子簽章系統(tǒng)的實用價值得到更好體現(xiàn)。
由CA(證書授權(quán)中心)簽發(fā)的數(shù)字證書,可用于驗證互聯(lián)網(wǎng)環(huán)境下個人或企業(yè)的身份信息。用戶使用公鑰對一些涉密文件進(jìn)行加密,生成數(shù)字證書;當(dāng)需要獲取文件內(nèi)容時,必須提供與公鑰匹配的私鑰,將數(shù)字證書成功解密,否則就無法讀取文件內(nèi)容,從而達(dá)到了保密目的。在PKI 體系中,CA 作為數(shù)字證書簽發(fā)、認(rèn)證、管理的機(jī)構(gòu),發(fā)揮著關(guān)鍵作用。用戶在向CA 提出數(shù)字證書申請后,CA 會根據(jù)提交的申請資料進(jìn)行驗證,確定申請者身份信息無誤后,提供一對可用于文件加密的公鑰和解密的私鑰。
數(shù)字簽名是基于公鑰密碼理論發(fā)展而來的一種加密技術(shù),基于PKI的數(shù)字簽名,其加密過程為:基于MD5 算法,從原始文件中提取關(guān)鍵信息,利用私鑰對這些信息進(jìn)行簽名。將原始文件、數(shù)字簽名同時發(fā)送出去。當(dāng)另一方順利接收后,首先驗證數(shù)字證書,若通過CA 認(rèn)證后,再利用私鑰對數(shù)字簽名進(jìn)行解密。完成解密后可得到關(guān)鍵信息,將此信息與原始文件的關(guān)鍵信息進(jìn)行對比。如果兩者完全匹配,則說明文件的完整度、安全性良好?;跀?shù)字簽名的文件加密技術(shù),除了具有良好的機(jī)密性外,還體現(xiàn)出可認(rèn)證性、防偽造性與抗抵賴性等特點。
作為信息隱藏學(xué)的核心技術(shù)之一,數(shù)字水印的基本原理是將一些容易被識別的標(biāo)志性信息,通過算法加密的方式將其嵌入到需要被保護(hù)的數(shù)字文件中,既不影響原內(nèi)容的使用,同時又不容易被讀取、篡改,從而達(dá)到了保護(hù)數(shù)字文件、防止信息竊取的目的。數(shù)字水印的認(rèn)證流程可歸納為三個步驟:第一步是生成水印,并對其做簡單處理。用戶可通過自定義信息的方式,確定數(shù)字水印的類型。同時提取圖像特征值,將兩者結(jié)合得到原始的數(shù)字水印。此時水印的加密效果一般,為此還需要通過預(yù)處理,得到標(biāo)準(zhǔn)化的水印信息。第二步是將生成的數(shù)字水印,嵌入到目標(biāo)文件中,并在嵌入完畢后檢測水印的完整性。借助于特定的算法,將水印嵌入到宿主圖像中,同時得到帶有水印的宿主圖像。利用檢測認(rèn)證算法對水印圖像的清晰度、完整性等進(jìn)行檢測。第三步是根據(jù)檢測結(jié)果,若水印圖像嵌入效果良好,則完成數(shù)字水印加密操作。若水印圖像有變形、失真問題,則重新修改。整個流程如圖1 所示。
圖1 數(shù)字水印認(rèn)證流程
對數(shù)字水印實用效果的評估主要參考以下幾個指標(biāo):(1)易損性。根據(jù)嵌入電子文件中的水印信息,被損壞、篡改的難易程度,判斷數(shù)字水印的性能。若數(shù)字水印的可識別性好、篡改難度大,則說明在文件保護(hù)方面的性能優(yōu)良。(2)安全性。以水印算法的復(fù)雜程度來定性表示安全性能。通常來說,數(shù)字水印的加密算法越復(fù)雜,則篡改數(shù)字水印的難度越大,因此水印系統(tǒng)的抗攻擊能力越強(qiáng),即安全性好。(3)失真性。采用水印提取技術(shù),對電子文件中嵌入的數(shù)字水印進(jìn)行提?。é亍洌?,然后將提取水印與原水?。é兀┻M(jìn)行對比,得出數(shù)字水印的失真性(NC),計算公式為:
以實際用途作為劃分依據(jù),數(shù)字水印可分為兩種類型:(1)易損水印,多應(yīng)用在互聯(lián)網(wǎng)、新媒體領(lǐng)域,例如對網(wǎng)絡(luò)上傳播的各類圖片、視頻等添加水印,其作用主要是判斷圖片、視頻的所有權(quán)歸屬。這類水印容易被修改和復(fù)制,因此對文件的加密保護(hù)效果并不高;(2)魯棒水印,除了用戶識別外,更多的是應(yīng)用在數(shù)字作品的知識產(chǎn)權(quán)保護(hù)方面。在添加魯棒水印時,需要經(jīng)過濾波、縮放、壓縮等一系列處理,流程越復(fù)雜,則篡改難度越大,從而在版權(quán)保護(hù)方面發(fā)揮的作用越明顯。當(dāng)數(shù)字產(chǎn)品的版權(quán)發(fā)生爭議時,可根據(jù)魯棒水印判斷真正的版權(quán)所有者。
融合了PKI與數(shù)字水印技術(shù)的電子簽章系統(tǒng),共分為服務(wù)器端和客戶端兩大模塊。其中,在服務(wù)器端有一臺簽章證書管理器,主要負(fù)責(zé)簽章證書的新建、查看、刪除、導(dǎo)出等任務(wù)。同時,提供專門的新建證書庫,用于存放所有經(jīng)由該簽章證書管理器簽發(fā)的證書,方便進(jìn)行查詢、調(diào)用。在客戶端,又包括了手寫簽名、MyAddin 組件、seal 控件三個模塊。其中,MyAddin 組件的功能是對用戶提交的待加密文檔,進(jìn)行驗證、簽名、蓋章和解鎖;而seal 控件的主要作用是對電子簽章進(jìn)行驗證、鎖定、解鎖、查看等。具體組成如圖2 所示。
圖2 電子簽章系統(tǒng)的組織架構(gòu)
公文流轉(zhuǎn)是電子簽章系統(tǒng)的關(guān)鍵組成,支持文件蓋章、簽名、驗證等一系列功能的實現(xiàn)。公文流轉(zhuǎn)模塊的設(shè)計內(nèi)容如下:(1)用戶向CA 提交使用簽章證書的申請,并且將個人身份信息、工作單位等相關(guān)證明資料一并發(fā)送。CA 會對上述資料進(jìn)行審核,若發(fā)現(xiàn)信息不符,則駁回申請。若信息符合,則頒發(fā)簽章證書,用戶得到一對公鑰和私鑰。而簽章證書的備份則留存在專門的服務(wù)器內(nèi)。整個流程如圖3 所示。(2)用戶在待處理的文件上蓋上簽章,同時利用MD5 算法提取關(guān)鍵信息。使用公鑰進(jìn)行RSA 簽名,將帶有個人信息的水印嵌入到簽章圖像中,完成對文件的加密。之后將加密文件發(fā)送出去。(3)接收者打開文檔時,通過CA 驗證數(shù)字簽名,驗證通過后使用配對的私鑰進(jìn)行解密。將解密所得關(guān)鍵信息,與發(fā)送者提供的原始關(guān)鍵信息進(jìn)行對比,兩者一致則表明驗證成功。
圖3 簽章證書申請流程
該模塊提供的功能包括簽章證書的新建、查看、導(dǎo)出、刪除等。對于普通電子文件來說,基于Word 文檔的簽章保護(hù)是一種常用方法。利用Word 內(nèi)置的二次開發(fā)接口,將MyAddin 組件插入到Word 程序中,其結(jié)構(gòu)如圖4 所示。
圖4 插入到Word 中的MyAddin 組件
從簽章證書數(shù)據(jù)庫中,挑選具有使用版權(quán)的簽章證書,與待處理的電子文件進(jìn)行綁定。將帶有數(shù)字水印的簽章圖片,嵌入到文檔中。在文檔蓋章的同時,還可以進(jìn)行手動或自動簽名。最后確認(rèn)簽名完成,驗證文檔的完整性。
信息時代為防止數(shù)據(jù)泄露、保護(hù)文件隱私,需要使用到各種各樣的加密技術(shù)。電子簽章系統(tǒng)是一種應(yīng)用廣泛且保密效果較為理想的技術(shù),其中又涵蓋了PKI與數(shù)字水印兩種核心技術(shù)。前者以數(shù)字簽名、數(shù)字證書、時間戳服務(wù)等為主,后者則包含了易損水印、魯邦水印等。運(yùn)用電子簽章系統(tǒng)對電子文檔進(jìn)行認(rèn)證,只有掌握私鑰的用戶才能將其解密,從而極大保障了文件內(nèi)容的隱私與安全。