本發(fā)明屬于安全文檔防護(hù)技術(shù)領(lǐng)域,具體涉及一種敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,各行各業(yè)在生產(chǎn)、管理上信息化程度日益提高,以電子文檔形式保存的商業(yè)涉密數(shù)據(jù)已經(jīng)成為企業(yè)的重要資產(chǎn)。電子文檔和傳統(tǒng)的紙質(zhì)文檔相比,具有許多先天的優(yōu)良特性,如:易于保存、節(jié)約資源、傳播方便等。現(xiàn)在越來越多的企業(yè),將企業(yè)涉密重要資料的保存已經(jīng)開始由傳統(tǒng)紙質(zhì)文檔向電子文檔轉(zhuǎn)移,如:企業(yè)戰(zhàn)略計(jì)劃書、工程設(shè)計(jì)圖紙、重要名單資料等等。特別地,隨著web2.0技術(shù)為基礎(chǔ)的博客、微博、電商、社交網(wǎng)絡(luò)等新興服務(wù)和物聯(lián)網(wǎng)以前所未有的發(fā)展速度產(chǎn)生了類型繁多的數(shù)據(jù),而云計(jì)算為數(shù)據(jù)的存儲(chǔ)提供了基礎(chǔ)平臺(tái),這一切造就了大數(shù)據(jù)的到來。大數(shù)據(jù)中蘊(yùn)藏著巨大的價(jià)值,是企業(yè)的寶貴財(cái)富。但大數(shù)據(jù)同時(shí)也帶來了巨大的挑戰(zhàn),比如日益顯著的個(gè)人隱私數(shù)據(jù)泄密問題。個(gè)人隱私泄露的頻繁發(fā)生威脅到個(gè)人的生活安全,也成為影響社會(huì)治安的主要因素。因此,隨著企業(yè)擁有的數(shù)據(jù)量的不斷增加,如果沒有好的數(shù)據(jù)安全防護(hù)策略,盡力降低發(fā)生數(shù)據(jù)信息泄密的風(fēng)險(xiǎn),將會(huì)對(duì)企業(yè)甚至整個(gè)社會(huì)都產(chǎn)生不良的影響。為此,很多研究機(jī)構(gòu)和企事業(yè)單位對(duì)數(shù)據(jù)信息防泄密技術(shù)研究。
目前對(duì)于敏感內(nèi)容數(shù)據(jù)信息的防護(hù)技術(shù)研究中,比較流行的做法是基于文件加密技術(shù),即通過透明加解密技術(shù)進(jìn)行敏感信息數(shù)據(jù)防泄密?;驹頌椋翰僮飨到y(tǒng)上安裝特殊的文件過濾驅(qū)動(dòng),當(dāng)涉密文檔在磁盤中發(fā)生讀寫操作時(shí),能夠在對(duì)文檔完成透明加解密。當(dāng)應(yīng)用程序?qū)⑸婷軘?shù)據(jù)寫入磁盤的時(shí)候過濾驅(qū)動(dòng)對(duì)寫入數(shù)據(jù)加密;當(dāng)應(yīng)用程序讀取磁盤上的涉密數(shù)據(jù)時(shí)過濾驅(qū)動(dòng)對(duì)讀取數(shù)據(jù)解密?;谕该骷咏饷芗夹g(shù)的防泄密系統(tǒng),能夠在用戶無感知狀態(tài)下完成涉密數(shù)據(jù)的加解密,同時(shí)當(dāng)涉密數(shù)據(jù)被竊取時(shí),也只能得到加密后的涉密數(shù)據(jù)。在實(shí)現(xiàn)層次上,文件系統(tǒng)過濾驅(qū)動(dòng)比較靈活,客戶的接受程度高,但實(shí)現(xiàn)代價(jià)最高,也最復(fù)雜,而且速度上不占優(yōu)勢(shì),尤其對(duì)于大數(shù)據(jù)量文件進(jìn)行透明加解密時(shí),文件的實(shí)時(shí)讀取和存儲(chǔ)的速度會(huì)受到影響。
專利申請(qǐng)“一種計(jì)算機(jī)文檔內(nèi)容保護(hù)的方法和系統(tǒng)”(申請(qǐng)?zhí)枮?00810239295.2)中,提出了一種計(jì)算機(jī)安全字庫編碼的文檔加密方法。主要技術(shù)方案為:建立安全字庫,包括字符和字符的安全編碼,安全字庫中每個(gè)字符的安全編碼與標(biāo)準(zhǔn)編碼形成一對(duì)一的映射關(guān)系;并把映射關(guān)系存儲(chǔ)到編碼轉(zhuǎn)換模塊中;計(jì)算機(jī)文檔中的字符根據(jù)所述映射關(guān)系,從標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼,并存儲(chǔ)。加密后的文檔以安全編碼方式進(jìn)行傳輸和存儲(chǔ),當(dāng)以標(biāo)準(zhǔn)字庫打開該計(jì)算機(jī)文檔時(shí),該計(jì)算機(jī)文檔的內(nèi)容將顯示無意義的字符;如果用安全字庫作為計(jì)算機(jī)文檔的顯示字庫,則可以顯示該計(jì)算機(jī)文檔輸入時(shí)的正確內(nèi)容,從而保證計(jì)算機(jī)文檔內(nèi)容不會(huì)泄密。上述方案可以實(shí)現(xiàn)對(duì)將錄入和已有的計(jì)算機(jī)文檔內(nèi)容的自動(dòng)默認(rèn)保護(hù),同時(shí)無需單獨(dú)記錄密鑰,降低了加密難度。但是也存在一些致命缺點(diǎn):1)文檔在正確顯示時(shí),需要事先安裝安全字庫文件,安全字庫中字符的安全編碼都是明碼顯示,因此只要拿到安全字庫文件,就相當(dāng)于完全解密。2)字符在標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼和安全字庫中的安全編碼是一一對(duì)應(yīng)的,即使沒有字庫文件,通過在使用安全字庫進(jìn)行正確顯示時(shí),可以獲取計(jì)算機(jī)文檔中每一個(gè)字符的安全編碼;同時(shí)通過字符的顯示效果人工讀取字符的標(biāo)準(zhǔn)編碼(或者將文檔頁面全部轉(zhuǎn)換為圖片文件,通過ocr識(shí)別技術(shù),批量獲取字符的標(biāo)準(zhǔn)編碼),知道了標(biāo)準(zhǔn)編碼和安全編碼的一一映射關(guān)系,也就相當(dāng)于獲得了全部的文件加密密鑰。3)如果在加密文件傳輸前,通過虛擬打印的方式轉(zhuǎn)換為其他可以嵌入字體的電子格式文件,比如pdf文件,則文件接收方即使沒有安全字庫同樣可以進(jìn)行正確內(nèi)容的顯示。4)如果在加密文件使用安全字庫進(jìn)行顯示時(shí),通過電腦屏幕截屏或者手機(jī)屏幕拍照等操作進(jìn)行文件泄密時(shí),由于拍照后的字符顯示效果都是標(biāo)準(zhǔn)字符編碼圖像,信息泄密的源頭是無法進(jìn)行追溯的。
總之,上述技術(shù)在敏感內(nèi)容數(shù)據(jù)信息的防泄密保護(hù)方面還存在著很多需要改進(jìn)之處。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法和系統(tǒng),用以解決現(xiàn)有技術(shù)中通過安全字庫加密技術(shù)防止數(shù)據(jù)泄密方面存在的安全性相對(duì)較低的問題;進(jìn)一步地,通過使用標(biāo)準(zhǔn)字庫中的字符標(biāo)準(zhǔn)編碼的多個(gè)映射,既達(dá)到計(jì)算機(jī)文檔中的敏感內(nèi)容數(shù)據(jù)信息加密保護(hù)的目的,還可以額外隱藏秘密信息;進(jìn)而解決了敏感內(nèi)容數(shù)據(jù)信息通過電腦屏幕拍照或打印輸出方式泄密后的溯源追蹤技術(shù)難題。
本發(fā)明的構(gòu)思在于:首先,設(shè)計(jì)基因字庫文件,包括字符和字符的安全編碼,其中標(biāo)準(zhǔn)字庫中每個(gè)字符的標(biāo)準(zhǔn)編碼和基因字庫中的安全編碼是一對(duì)多的關(guān)系,即每一個(gè)標(biāo)準(zhǔn)編碼對(duì)應(yīng)一組(個(gè)數(shù)多于一個(gè),即至少為兩個(gè))安全編碼,每個(gè)安全編碼分別對(duì)應(yīng)不同的字形輪廓曲線拓?fù)浣Y(jié)構(gòu),兩兩之間不同,并和標(biāo)準(zhǔn)字符的字形輪廓曲線的拓?fù)浣Y(jié)構(gòu)也都不相同,但是字符識(shí)讀的語義結(jié)果是一樣的,也就是說用戶看到的安全編碼對(duì)應(yīng)的字符顯示效果和標(biāo)準(zhǔn)編碼對(duì)應(yīng)的字符顯示效果是一樣的。基因字庫設(shè)置為禁止嵌入模式,文字處理軟件系統(tǒng)不能夠?qū)⒒蜃謳烨度氲轿臋n內(nèi)容本身進(jìn)行存儲(chǔ)或者傳輸,防止加密的電子文件不通過基因字庫也可以正常顯示?;蜃謳觳话惭b到操作系統(tǒng)的fonts目錄下,而是采用動(dòng)態(tài)調(diào)用方式加載和釋放,降低了字庫文件外泄的風(fēng)險(xiǎn)。增加打印監(jiān)控功能,防止經(jīng)過加密后的電子文件通過打印的方式將敏感數(shù)據(jù)信息輸出為其他電子格式文件或者紙質(zhì)文件發(fā)生泄密事件。通過手機(jī)或數(shù)碼相機(jī)將電腦屏幕拍照后進(jìn)行敏感內(nèi)容數(shù)據(jù)信息泄密時(shí),通過拍照后的圖片文件可以快速進(jìn)行信息泄密源頭追蹤。進(jìn)而得到了一種敏感內(nèi)容數(shù)據(jù)信息防護(hù)的方法和系統(tǒng)。
本發(fā)明提供了一種敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法,包括如下步驟:
步驟一,首先,設(shè)計(jì)基因字庫文件,所述的基因字庫包括字符和字符的安全編碼,所述的基因字庫中每個(gè)字符的安全編碼與該字符在標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼形成多對(duì)一的映射關(guān)系;
步驟二,將設(shè)計(jì)好的基因字庫文件設(shè)置為禁止嵌入模式,并進(jìn)行整體加密后保存在服務(wù)器上,不直接在客戶端的操作系統(tǒng)中安裝;
步驟三,將標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為基因字庫中相應(yīng)字符的安全編碼,并將需要保護(hù)的敏感內(nèi)容數(shù)據(jù)對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字符轉(zhuǎn)換為安全編碼的字符后存儲(chǔ);
步驟四,在客戶端安裝部署打印監(jiān)控服務(wù)程序,實(shí)時(shí)截獲打印文檔的內(nèi)容數(shù)據(jù),并過濾受保護(hù)的敏感內(nèi)容數(shù)據(jù)。
較佳地,所述的基因字庫中,由標(biāo)準(zhǔn)字庫中字符的同一個(gè)標(biāo)準(zhǔn)編碼對(duì)應(yīng)的一組安全編碼分別對(duì)應(yīng)不同拓?fù)浣Y(jié)構(gòu)的字形輪廓曲線;
較佳地,所述的同一個(gè)標(biāo)準(zhǔn)編碼對(duì)應(yīng)的一組安全編碼,所對(duì)應(yīng)的字形輪廓曲線的拓?fù)浣Y(jié)構(gòu)兩兩之間都是不同的,并和標(biāo)準(zhǔn)字庫中相應(yīng)的標(biāo)準(zhǔn)編碼對(duì)應(yīng)的字形輪廓曲線的拓?fù)浣Y(jié)構(gòu)也不相同;
較佳地,所述的安全編碼經(jīng)過加密處理后保存在基因字庫中;
較佳地,所述的基因字庫使用時(shí),通過動(dòng)態(tài)調(diào)用的方式將字體資源加載到內(nèi)存空間進(jìn)行解密,然后再調(diào)用系統(tǒng)的api函數(shù)addfontresource將解密后的字體資源加載到系統(tǒng)字體表,文檔顯示完畢后,調(diào)用removefontresource函數(shù)進(jìn)行字體資源卸載;
較佳地,步驟3)中,當(dāng)計(jì)算機(jī)上文檔中的字符在輸入時(shí)或文檔內(nèi)容轉(zhuǎn)換時(shí),將標(biāo)準(zhǔn)字庫中的字符的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼;
較佳地,步驟3)將讀取的標(biāo)準(zhǔn)編碼進(jìn)行加密后得到安全編碼;
較佳地,所述的打印監(jiān)控服務(wù)程序,通過系統(tǒng)hook鉤子機(jī)制,截獲系統(tǒng)的打印操作命令,進(jìn)而截獲打印文檔的內(nèi)容數(shù)據(jù),過濾其中包含的敏感內(nèi)容數(shù)據(jù)信息,防止信息泄露;
本發(fā)明提供了一種敏感內(nèi)容數(shù)據(jù)信息防護(hù)系統(tǒng),包括如下部分:
字庫設(shè)計(jì)模塊:設(shè)計(jì)基因字庫文件,所述的基因字庫包括字符和字符的安全編碼,所述的基因字庫每個(gè)字符的安全編碼與所述字符在標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼形成多對(duì)一的映射關(guān)系;
字庫加載模塊:將字符設(shè)計(jì)模塊中設(shè)計(jì)好的基因字庫文件設(shè)置為禁止嵌入模式,并進(jìn)行整體加密后保存在服務(wù)器上,不直接在客戶端的操作系統(tǒng)中安裝,同時(shí)通過動(dòng)態(tài)調(diào)用的方式將基因字庫字體資源加載到系統(tǒng)字體表,供加密文檔顯示;
編碼轉(zhuǎn)換模塊:負(fù)責(zé)將標(biāo)準(zhǔn)字庫中的字符的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為基因字庫中相應(yīng)字符的安全編碼,并將需要保護(hù)的敏感內(nèi)容數(shù)據(jù)對(duì)應(yīng)的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼后存儲(chǔ);
打印監(jiān)控模塊:在客戶端安裝部署打印監(jiān)控服務(wù)程序,當(dāng)經(jīng)過編碼轉(zhuǎn)換模塊處理后的計(jì)算機(jī)文檔經(jīng)過打印輸出時(shí),打印監(jiān)控服務(wù)程序?qū)崟r(shí)截獲打印文檔的內(nèi)容數(shù)據(jù),并過濾受保護(hù)的敏感內(nèi)容數(shù)據(jù)。
本發(fā)明提供了一種網(wǎng)站敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法,包括如下步驟:
步驟一,設(shè)計(jì)基因字庫文件,并進(jìn)行加密后保存在網(wǎng)站服務(wù)器上;
步驟二,在網(wǎng)頁顯示內(nèi)容數(shù)據(jù)時(shí),通過字符編碼轉(zhuǎn)換模塊將待顯示的敏感數(shù)據(jù)所對(duì)應(yīng)字符的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼;
步驟三,客戶端不安裝基因字庫文件,通過網(wǎng)頁嵌入字體的方式顯示敏感內(nèi)容數(shù)據(jù);
步驟四,將顯示敏感內(nèi)容數(shù)據(jù)的網(wǎng)頁設(shè)置為不可復(fù)制文本模式,防止通過常規(guī)的拷貝粘貼方式復(fù)制網(wǎng)頁文本信息。
本發(fā)明有益效果如下:
本發(fā)明所述的敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法的安全性更高,主要體現(xiàn)在以下幾個(gè)方面:1)由于本發(fā)明中,在顯示敏感內(nèi)容數(shù)據(jù)的客戶端不安裝基因字庫,而是根據(jù)顯示需要?jiǎng)討B(tài)加載和卸載基因字庫文件資源,相應(yīng)地,字庫文件資源泄露的風(fēng)險(xiǎn)大大降低;2)基因字庫文件不允許設(shè)置字體嵌入,防止通過虛擬打印等方式將包含敏感內(nèi)容數(shù)據(jù)的信息嵌入到其他電子格式文件中,而不需要基因字庫就可以顯示文檔內(nèi)容;3)基因字庫文件在電腦硬盤中存儲(chǔ)時(shí)處于密文狀態(tài),即使拿到字庫文件也無法正常解析;4)標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼與基因字庫中的安全編碼之間是一對(duì)多的關(guān)系,并且在將標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼時(shí),可以針對(duì)某一個(gè)標(biāo)準(zhǔn)編碼從相應(yīng)的安全編碼組中隨機(jī)選擇一個(gè),因此,即使知道了屏幕顯示的字符所對(duì)應(yīng)的標(biāo)準(zhǔn)編碼信息,也很難找到相對(duì)應(yīng)的唯一安全編碼,這大大降低了安全編碼被破解的風(fēng)險(xiǎn)。
由于本發(fā)明中,對(duì)于某一特定字符的標(biāo)準(zhǔn)編碼而言,相對(duì)應(yīng)的安全編碼組中的所有編碼所對(duì)應(yīng)的字形輪廓曲線拓?fù)浣Y(jié)構(gòu)是互不相同,并將不同字形進(jìn)行編碼。當(dāng)選擇不同的字形結(jié)構(gòu)進(jìn)行字符顯示時(shí),可以額外隱藏必要的水印信息,比如將登陸用戶的身份信息和瀏覽電子文檔的時(shí)間信息進(jìn)行隱藏,一方面可以嵌入更多的加密信息,同時(shí)也可以作為敏感內(nèi)容數(shù)據(jù)信息泄密后的溯源追蹤。比如屏幕顯示的文檔內(nèi)容被非法拍照或者電腦切屏后,從屏幕拍照或者屏幕切屏后的圖片文件中,通過分析每個(gè)字符的拓?fù)浣Y(jié)構(gòu)判斷出其所代表的編碼信息,進(jìn)而追溯到敏感內(nèi)容數(shù)據(jù)信息泄密的源頭,即什么時(shí)間從哪臺(tái)機(jī)器的電腦屏幕上泄密。另一方面,如果加密保護(hù)后的文檔作為隱秘通信的載體進(jìn)行傳輸時(shí),從文檔內(nèi)容顯示的隱秘信息外,還可以隱藏更大的信息量。
附圖說明
圖1為實(shí)施例中一種文件敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法的主流程圖;
圖2為實(shí)施例中基因字庫中安全編碼所對(duì)應(yīng)字符的字形結(jié)構(gòu)設(shè)計(jì)方法示意圖;
圖3為實(shí)施例中安全編碼所對(duì)應(yīng)字符的字形拓?fù)浣Y(jié)構(gòu)編碼方法示意圖;
圖4為實(shí)施例中加載基因字庫前后的文檔顯示效果對(duì)比示意圖:(a)為加載了基因字庫的文檔顯示效果,(b)為卸載了基因字庫的文檔顯示效果;
圖5為實(shí)施例中一種文件敏感內(nèi)容數(shù)據(jù)信息防護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;
圖6為實(shí)施例中一種網(wǎng)站敏感內(nèi)容數(shù)據(jù)信息防護(hù)的方法示意圖。
具體實(shí)施方式
本下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,一種文件敏感內(nèi)容數(shù)據(jù)信息防護(hù)方法,主要包括如下步驟:
s101:首先,設(shè)計(jì)基因字庫文件,所述的基因字庫包括字符和字符的安全編碼,所述的基因字庫中每個(gè)字符的安全編碼與所述字符在標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼形成多對(duì)一的映射關(guān)系。
較佳地,所述的基因字庫中,由標(biāo)準(zhǔn)字庫中字符的同一個(gè)標(biāo)準(zhǔn)編碼對(duì)應(yīng)的一組安全編碼分別對(duì)應(yīng)不同拓?fù)浣Y(jié)構(gòu)的字形輪廓曲線。
根據(jù)字符模式識(shí)別理論,人們對(duì)字符的識(shí)別過程是一種視覺的刺激信息與記憶信息匹配的過程。在此過程中,人們對(duì)字符的結(jié)構(gòu)變化有很好的調(diào)節(jié)功能。因此,同一字符的不同字形結(jié)構(gòu)不會(huì)改變?nèi)藗儗?duì)字符的語義識(shí)別。在中文字符中,存在著大量具有特殊結(jié)構(gòu)的特征點(diǎn)。通過修改特征點(diǎn)處的筆畫連接數(shù)目、筆畫之間角度以及特征點(diǎn)的有無等屬性后生成新的字庫,稱之為基因字庫,這樣同一個(gè)漢字字符具有了不同的字形結(jié)構(gòu)。
漢字字符的筆畫之間形成的特征點(diǎn)主要包括交叉點(diǎn)、頂點(diǎn)和拐點(diǎn)三種情況。
1.交叉點(diǎn):在字符結(jié)構(gòu)圖像中,不連續(xù)的兩個(gè)筆畫在組成字形的過程中,其中一個(gè)筆畫與另一個(gè)筆畫在非端點(diǎn)處連接的交匯點(diǎn),其滿足以下條件:
1)從該點(diǎn)出發(fā)具有三條或三條以上的連通筆畫分支;
2)每一條連通筆畫分支的長度大于閾值n1。n1一般為10個(gè)像素值。
2.頂點(diǎn):在字符結(jié)構(gòu)圖像中筆畫的端點(diǎn)處,從該點(diǎn)出發(fā)只有一個(gè)連通分支。
3.拐點(diǎn):在字符結(jié)構(gòu)圖像中,一條筆畫走向發(fā)生突變的局部點(diǎn),從該點(diǎn)向兩個(gè)相反方向延伸的直線段之間的夾角小于θ(0<θ<180°)。
具體的字形輪廓曲線修改方法為:通過修改一個(gè)字符結(jié)構(gòu)圖像中的特征點(diǎn)實(shí)現(xiàn)特殊基因字庫的制作,比如圖2所示的仿宋“頂”字,左側(cè)的圖是原始的字符結(jié)構(gòu)點(diǎn)陣圖像,右側(cè)圖是特征點(diǎn)修改后的示意圖。其中矩形區(qū)域中表示的是一個(gè)交叉點(diǎn)處的筆畫斷開后退化為頂點(diǎn)情況,即所謂的交叉點(diǎn)去除;五邊形區(qū)域表示的一個(gè)交叉點(diǎn)退化為拐點(diǎn)的情況;圓形區(qū)域表示頂點(diǎn)處的筆畫通過延伸與其他筆畫相交形成交叉點(diǎn)的情況,即交叉點(diǎn)的構(gòu)造。將修改后的字符圖像做歸一化處理,并將四元組(t,x,y,n)保存在數(shù)據(jù)庫文件中,其中t為該字符的unicode編碼,(x,y)是原始交叉點(diǎn)o在歸一化圖像塊中的相對(duì)位置坐標(biāo),n為修改后的交叉點(diǎn)的筆畫分支數(shù)目,當(dāng)交叉點(diǎn)去除后,n=0。
經(jīng)過上述方法修改后,在標(biāo)準(zhǔn)字庫中的字符“頂”,在基因字庫中就有了三種不同的字形結(jié)構(gòu),相對(duì)應(yīng)三個(gè)不同的安全編碼,但是在語義識(shí)別上來講,都是對(duì)應(yīng)標(biāo)準(zhǔn)字符“頂”。每個(gè)字符的字形結(jié)構(gòu)至少有一種變形,所以此處的映射關(guān)系是一對(duì)多的。根據(jù)漢字結(jié)構(gòu)復(fù)雜程度的不同,設(shè)計(jì)的字形輪廓曲線的變形數(shù)目也不同。
較佳地,所述的同一組安全編碼,所對(duì)應(yīng)的字形輪廓曲線的拓?fù)浣Y(jié)構(gòu)兩兩之間都是不同的,并和標(biāo)準(zhǔn)字庫中相應(yīng)的標(biāo)準(zhǔn)編碼對(duì)應(yīng)的字形輪廓曲線的拓?fù)浣Y(jié)構(gòu)也不相同。
通過適當(dāng)改變字符或者字符串的拓?fù)浣Y(jié)構(gòu),設(shè)計(jì)出語義上相同的字符(串)的多種字形,每種字形賦予不同的字符編碼,即安全編碼。
如圖3所示,楷體的中文字符“墾”,在基因字庫中對(duì)應(yīng)三種不同的字形結(jié)構(gòu)(具體參見圖中圓圈所識(shí)別部分的結(jié)構(gòu)修改),分別設(shè)定不同的安全編碼。每一種安全編碼可以代表不同的水印信息位串,比如標(biāo)準(zhǔn)字庫中的字符代表“00”,其他三種安全編碼分別對(duì)應(yīng)“01”、“10”和“11”。當(dāng)在文檔內(nèi)容中分別使用上述四種字符編碼時(shí),除了正常顯示“墾”字信息外,還可以代表額外的2bits的隱秘信息,比如編碼文檔瀏覽者的用戶身份和時(shí)間等信息,一旦電子文件被屏幕拍照或屏幕切屏的方式泄密后,可以快速地追溯泄密源頭。
較佳地,所述的安全編碼經(jīng)過加密處理后保存在基因字庫中。
比如“墾”字的unicode碼為“57a6”,安全編碼的分配有兩種方式:
1)隨機(jī)分配法。對(duì)于“墾字”,隨機(jī)生成三個(gè)不同的unicode碼值,然后把標(biāo)準(zhǔn)和安全編碼對(duì)應(yīng)關(guān)系以及每個(gè)安全編碼字符所代表的水印信息位串一起保存在s103的編碼轉(zhuǎn)換模塊中。
2)加密置亂法。這里,“墾”有三種不同的變形,則新生成三個(gè)不同編碼為“57a61”、“57a62”和“57a63”,然后再分別經(jīng)過相同密鑰進(jìn)行加密置亂,將加密后的密文作為安全編碼信息存儲(chǔ)在基因字庫中。加密置亂方法只需要將每個(gè)安全編碼所表示的水印信息位串保存在編碼轉(zhuǎn)換模塊中,在使用時(shí),編碼對(duì)應(yīng)關(guān)系可以通過加密方式動(dòng)態(tài)得到。
經(jīng)過上述兩種方式為所有標(biāo)準(zhǔn)字符分配安全編碼后,再將所有的安全編碼和相應(yīng)字形(與標(biāo)準(zhǔn)字符的字形結(jié)構(gòu)不同)經(jīng)過隨機(jī)置亂,保存在基因字庫文件中。這樣可以保證同一個(gè)標(biāo)準(zhǔn)字符所對(duì)應(yīng)的一組安全編碼字符在基因字庫中出現(xiàn)的位置不連續(xù),從而降低通過基因字庫文件破解映射關(guān)系的風(fēng)險(xiǎn)。
s102:將設(shè)計(jì)好的基因字庫文件設(shè)置為禁止嵌入模式(可采用現(xiàn)有技術(shù)實(shí)現(xiàn)),并進(jìn)行整體加密后保存在服務(wù)器上,不直接在客戶端的操作系統(tǒng)中安裝。
客戶端不直接安裝字庫文件,一般用戶很難通過基因字庫文件本身獲取標(biāo)準(zhǔn)編碼和安全編碼之間的映射關(guān)系,或者直接字庫資源文件外泄。
較佳地,所述的基因字庫使用時(shí),通過動(dòng)態(tài)調(diào)用的方式將字體資源加載到內(nèi)存空間進(jìn)行解密,然后再調(diào)用系統(tǒng)的api函數(shù)addfontresource將解密后的字體資源加載到系統(tǒng)字體表,文檔顯示完畢后,調(diào)用removefontresource函數(shù)進(jìn)行字體資源卸載。
由于在服務(wù)器上保存的字庫文件本身是加密的,即使非法用戶獲得字庫文件,也無法正常分析字庫中的字符編碼和字形結(jié)構(gòu)的映射關(guān)系,進(jìn)一步提高基因字庫文件的安全性。
s103:通過編碼轉(zhuǎn)換模塊將標(biāo)準(zhǔn)字庫中的字符轉(zhuǎn)換為基因字庫中相應(yīng)的字符的安全編碼,并將需要保護(hù)的敏感內(nèi)容數(shù)據(jù)對(duì)應(yīng)的字符轉(zhuǎn)換為安全編碼字符后存儲(chǔ)。
較佳地,所述的編碼轉(zhuǎn)換模塊,當(dāng)計(jì)算機(jī)上文檔中的字符在輸入時(shí)或文檔轉(zhuǎn)換時(shí),將標(biāo)準(zhǔn)字庫中的字符標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼。
較佳地,所述的編碼轉(zhuǎn)換模塊,通過將讀取的標(biāo)準(zhǔn)編碼進(jìn)行加密后得到安全編碼。
當(dāng)用戶打開新文檔,啟動(dòng)系統(tǒng)自帶的輸入法發(fā)送標(biāo)準(zhǔn)編碼至文檔內(nèi)容錄入裝置后,編碼轉(zhuǎn)換模塊根據(jù)s101中的安全編碼分配規(guī)則分別采用以下兩種方法獲得編碼信息:
1)如果采用隨機(jī)分配法,則直接從保存的映射關(guān)系表中查詢獲得;
2)如果采用加密置亂方法,則采用相同密鑰將錄入裝置接收的標(biāo)準(zhǔn)編碼加密后,獲得密文編碼信息,直接從基因字庫中讀取安全編碼顯示。
在已有技術(shù)中,標(biāo)準(zhǔn)編碼和安全編碼是一一映射的關(guān)系,而在本方案中,該映射關(guān)系是一對(duì)多的。因此,無論采用哪種方法都會(huì)面臨從一組安全編碼中選擇特定編碼進(jìn)行屏幕顯示的問題,處理方法也分為兩種:
a)建立標(biāo)準(zhǔn)編碼和安全編碼的映射關(guān)系后,隨機(jī)從一組安全編碼中選擇一個(gè)進(jìn)行屏幕顯示。由于每一個(gè)字符都有不同的安全編碼,因此對(duì)于同一篇文檔在不同的時(shí)間打開時(shí),所轉(zhuǎn)換的安全編碼序列都是不一樣的,這樣既保證了屏幕顯示的效果一致(不同安全編碼的字形結(jié)構(gòu)不同,但是語義相同),同時(shí)增加了破解標(biāo)準(zhǔn)編碼和安全編碼之間對(duì)應(yīng)關(guān)系的難度。
b)在正常加密文檔內(nèi)容的同時(shí),額外隱藏文檔溯源追蹤信息。根據(jù)需要嵌入的水印信息位串的不同,在一組安全編碼內(nèi)選擇相應(yīng)的字形結(jié)構(gòu)。比如在圖3中,需要嵌入水印信息位串“11”時(shí),則選擇第四種字形結(jié)構(gòu)對(duì)應(yīng)的安全編碼。當(dāng)然為了保證在不同時(shí)段打開文檔時(shí)安全編碼序列的隨機(jī)性,可以在文檔溯源追蹤信息中加入可變的時(shí)間信息,或者在待嵌入的水印信息位串尾部再次追加額外的隨機(jī)數(shù)字段,每次用隨機(jī)數(shù)字段去異或加密水印信息,同樣可以達(dá)到整體水印信息的隨機(jī)性。
比如,圖4為實(shí)施例中加載基因字庫前后的文檔顯示效果對(duì)比示意圖:(a)為加載了基因字庫的文檔顯示效果,(b)為卸載了基因字庫的文檔顯示效果。其中身份證號(hào)和手機(jī)號(hào)碼為敏感內(nèi)容數(shù)據(jù)信息(僅用于示意和舉例,非真實(shí)信息),其他為正常顯示內(nèi)容。
s104:在客戶端安裝部署打印監(jiān)控服務(wù)程序,實(shí)時(shí)截獲打印文檔的內(nèi)容數(shù)據(jù),并過濾受保護(hù)的敏感內(nèi)容數(shù)據(jù)。
較佳地,所述的打印監(jiān)控模塊,通過系統(tǒng)hook鉤子機(jī)制,截獲系統(tǒng)的打印操作命令,進(jìn)而截獲打印文檔的內(nèi)容數(shù)據(jù),過濾其中包含的敏感內(nèi)容數(shù)據(jù)信息,防止信息泄露。
比如,用戶在正常的打印操作時(shí),會(huì)選擇實(shí)際的目標(biāo)打印機(jī)進(jìn)行打印輸出,此時(shí)采用hook技術(shù)截獲系統(tǒng)所有的打印操作消息,強(qiáng)制將用戶待打印的文檔內(nèi)容先發(fā)送至虛擬的emf打印機(jī),獲得emf格式文件;進(jìn)而讀取每個(gè)emf格式文件中記錄的所有g(shù)di函數(shù)及其參數(shù)信息得到所有的文本對(duì)象數(shù)據(jù);分析文本對(duì)象中是否包含基因字庫中的安全編碼信息,如果存在,則表示該文檔頁面中包含敏感信息,直接將該文字對(duì)象過濾掉,否則為標(biāo)準(zhǔn)編碼信息,直接正常輸出;最后將修改后的emf文件轉(zhuǎn)換為其他電子格式文檔,或者通過調(diào)用操作系統(tǒng)的api函數(shù)將emf文件發(fā)送至實(shí)際物理打印機(jī)輸出,而打印輸出的文檔內(nèi)容是不完整的。從而達(dá)到對(duì)文檔頁面內(nèi)容的敏感內(nèi)容數(shù)據(jù)信息的過濾,從而防止重要信息通過計(jì)算機(jī)終端輸出的方式進(jìn)行非法泄露。
一旦發(fā)生通過屏幕拍照等方式進(jìn)行泄密輸出后,從拍照后的圖片文件中提取識(shí)別文檔溯源追蹤信息,從而進(jìn)行責(zé)任劃定。具體的水印信息提取識(shí)別方法為:
step1:首先調(diào)用ocr(opticalcharacterrecognition,光學(xué)字符識(shí)別)模塊獲取字符圖像的字符編碼,保存切分后的每個(gè)字符圖像數(shù)據(jù),并記錄其外接矩形框區(qū)域?yàn)閇rtop,rleft,rbottom,rright],其中rtop,rleft,rbottom和rright分別為矩形的上、左、下、右四個(gè)邊界;
step2:接著將字符圖像數(shù)據(jù)[rtop,rleft,rbottom,rright]進(jìn)行二值化處理;
step3:對(duì)字符圖像進(jìn)行相同的歸一化處理,并采用經(jīng)典的hilditch算法進(jìn)行字符圖像細(xì)線化處理;
step4:根據(jù)ocr得到的字符編碼讀取數(shù)據(jù)庫中存儲(chǔ)的四元組(t,x,y,n),判斷在(x,y)所示的點(diǎn)周圍是否存在一個(gè)交叉點(diǎn),并檢查該點(diǎn)處的筆畫分支數(shù)目是否為n。若相符,則判斷其為修改后的字形結(jié)構(gòu),代表水印信息位串“1”,否則代表水印信息位串“0”,從而提取所有的水印信息。
圖5為實(shí)施例中一種文件敏感內(nèi)容數(shù)據(jù)信息防護(hù)系統(tǒng)的結(jié)構(gòu)示意圖,主要包括如下部分:
s501:字庫設(shè)計(jì)模塊:設(shè)計(jì)基因字庫文件,所述的基因字庫包括字符和字符的安全編碼,所述的基因字庫中每個(gè)字符的安全編碼與所述字符在標(biāo)準(zhǔn)字庫中的標(biāo)準(zhǔn)編碼形成多對(duì)一的映射關(guān)系。
s502:字庫加載模塊:將字符設(shè)計(jì)模塊中設(shè)計(jì)好的基因字庫文件設(shè)置為禁止嵌入模式,并進(jìn)行整體加密后保存在服務(wù)器上,不直接在客戶端的操作系統(tǒng)中安裝,同時(shí)通過動(dòng)態(tài)調(diào)用的方式將基因字庫字體資源加載到系統(tǒng)字體表,供加密文檔顯示。
s503:編碼轉(zhuǎn)換模塊:負(fù)責(zé)將標(biāo)準(zhǔn)字庫中的字符轉(zhuǎn)換為基因字庫中相應(yīng)的字符的安全編碼,并將需要保護(hù)的敏感內(nèi)容數(shù)據(jù)對(duì)應(yīng)的字符轉(zhuǎn)換為安全編碼字符后存儲(chǔ)。
s504:打印監(jiān)控模塊:在客戶端安裝部署打印監(jiān)控服務(wù)程序,當(dāng)經(jīng)過編碼轉(zhuǎn)換模塊處理后的計(jì)算機(jī)文檔經(jīng)過打印輸出時(shí),打印監(jiān)控服務(wù)程序?qū)崟r(shí)截獲打印文檔的內(nèi)容數(shù)據(jù),并過濾受保護(hù)的敏感內(nèi)容數(shù)據(jù)。
如圖6所示,提供了一種網(wǎng)站敏感內(nèi)容數(shù)據(jù)信息防護(hù)的方法,包括如下步驟:
s601:設(shè)計(jì)基因字庫文件,并進(jìn)行加密后保存在網(wǎng)站服務(wù)器上。
s602:在網(wǎng)頁顯示內(nèi)容數(shù)據(jù)時(shí),通過字符編碼轉(zhuǎn)換模塊將待顯示的敏感數(shù)據(jù)所對(duì)應(yīng)字符的標(biāo)準(zhǔn)編碼轉(zhuǎn)換為安全編碼。
s603:客戶端不安裝基因字庫文件,通過網(wǎng)頁嵌入字體的方式顯示敏感內(nèi)容數(shù)據(jù)。
由于不在客戶端安裝基因字庫文件,需要采用網(wǎng)頁嵌入字體(webembedfont)方式將需要顯示的敏感內(nèi)容數(shù)據(jù)推送到客戶端的網(wǎng)頁瀏覽器中。第一次嵌入字體時(shí),需要將其他類型的字體轉(zhuǎn)換為opentype類型;并且在嵌入時(shí),不需要全部嵌入完備的字符集,而是根據(jù)實(shí)際需要選擇嵌入某個(gè)字符集的部分字體信息。
s604:將顯示敏感內(nèi)容數(shù)據(jù)的網(wǎng)頁設(shè)置為不可復(fù)制文本模式,防止通過常規(guī)的拷貝粘貼方式復(fù)制網(wǎng)頁文本信息。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
比如,基于本發(fā)明所述的方法,修改后的基因字庫不經(jīng)過加密直接安裝在電腦客戶端上,標(biāo)準(zhǔn)編碼和安全編碼之間的一對(duì)多的映射關(guān)系,在一定程度上增加字庫文件破解難度。
比如,基于本發(fā)明所述的方法,開發(fā)專門的文字處理軟件,集成編碼轉(zhuǎn)換模塊,在文檔編輯過程中動(dòng)態(tài)加載基因字庫文件資源,實(shí)現(xiàn)只有在特定軟件系統(tǒng)中顯示加密文件,通過其他軟件無法正常瀏覽。
比如,基于本發(fā)明所述的方法,不是通過編碼轉(zhuǎn)換模塊實(shí)現(xiàn)標(biāo)準(zhǔn)編碼和安全編碼之間的映射,而是開發(fā)專門的安全編碼輸入法,直接在文檔編輯過程中輸入安全編碼信息。