黎 麗
(深圳信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)學(xué)院,廣東 深圳 518172)
近年來(lái),隨著信息技術(shù)的飛速發(fā)展,計(jì)算機(jī)和手機(jī)等網(wǎng)絡(luò)終端設(shè)備的使用量激增?;ヂ?lián)網(wǎng)對(duì)網(wǎng)民生活的影響更加深入,終端設(shè)備也從傳統(tǒng)的計(jì)算機(jī)迅猛發(fā)展到包括智能手機(jī)和平板電腦等移動(dòng)終端設(shè)備?;ヂ?lián)網(wǎng)中存在著各種各樣的數(shù)字信息,各類部門、組織、機(jī)構(gòu)廣泛實(shí)現(xiàn)了數(shù)字化辦公,人們?cè)谌粘I钆c工作中通過(guò)網(wǎng)絡(luò)處理大量的文本文檔。處理的文本文檔中包括可公開(kāi)的文檔,比如公開(kāi)發(fā)表的文章;也包括一些不希望公開(kāi)的隱私級(jí)別文檔,比如包含用戶個(gè)人信息的各類文檔、屬于商業(yè)機(jī)密范疇的商務(wù)往來(lái)信息和軍事機(jī)密信息等各個(gè)保密級(jí)別的文本文檔。
保證多媒體信息的保密性、完整性及可用性是數(shù)字化辦公廣泛應(yīng)用的重要因素。針對(duì)網(wǎng)絡(luò)中由于客觀意外或惡意攻擊導(dǎo)致的數(shù)據(jù)丟失問(wèn)題,基于門限的秘密分享技術(shù)將秘密分成多份不同的新的秘密進(jìn)行存儲(chǔ)和傳輸,在一定程度上有效地解決了這個(gè)問(wèn)題。秘密分享技術(shù)是除傳統(tǒng)密碼學(xué)之外保護(hù)秘密信息的關(guān)鍵技術(shù)。該技術(shù)將秘密信息分享后進(jìn)行多份存儲(chǔ),提高了數(shù)據(jù)存儲(chǔ)及傳輸?shù)谋C苄院汪敯粜?。?shù)據(jù)的保密性是保證數(shù)據(jù)安全的第一道屏障,同時(shí),在少量數(shù)據(jù)丟失或損壞情況下仍能恢復(fù)原始數(shù)據(jù)對(duì)于網(wǎng)絡(luò)環(huán)境下保持網(wǎng)絡(luò)結(jié)點(diǎn)所存儲(chǔ)數(shù)據(jù)的有效性同樣重要。秘密分享技術(shù)區(qū)別于傳統(tǒng)的加密技術(shù)、水印技術(shù),為解決多媒體的安全問(wèn)題提供了不同的解決思路,對(duì)文本文檔的秘密分享有助于提高文本的存儲(chǔ)及傳輸?shù)谋C苄?、可靠性?/p>
目前廣泛使用的秘密分享技術(shù)可分為基于Shamir多項(xiàng)式和基于可視密碼兩類。Shamir首先提出了基于門限的秘密分享方法[1]。在Shamir的秘密分享機(jī)制中秘密信息被分成份影子信息,恢復(fù)時(shí)該秘密信息需要至少份影子信息。Naor 和Shamir 于1995年首次提出了可視密碼的方法[2]。
多項(xiàng)式(1)中的x取值是基于Shamir多項(xiàng)式進(jìn)行秘密分享的重要參數(shù),x的生成方式對(duì)提高秘密分享的安全性至關(guān)重要,已經(jīng)得到了廣泛研究[3]。Tompa和Woll從理論的角度闡述了使用隨機(jī)x 的思想以防止欺騙者共謀即共享各自擁有的秘密值對(duì)以非法恢復(fù)原始秘密[4],但并沒(méi)有提出有效的方案。目前基于Shamir方法的秘密分享方法主要用于圖像文檔安全的保護(hù)。文獻(xiàn)[5]和文獻(xiàn)[6]中所提方法均是將變量x設(shè)為常數(shù)值,而這會(huì)導(dǎo)致執(zhí)行秘密分享算法后生成的影子圖像文檔會(huì)泄露原始秘密圖像文檔的部分信息。Zhao等人提出的算法[7]使用RSA算法生成變量x,而RSA秘密體制需要至少1024位秘鑰以達(dá)到最小安全要求,因而這種方法從時(shí)間和空間上效率都不高。Guo 等人基于量化和Tassa 層次化秘密分享技術(shù)[8]提出了層次化的門限秘密分享方案[9]。該方法將分享過(guò)程與嵌入過(guò)程分開(kāi)執(zhí)行,但是得到的隱寫后影子圖像文檔視覺(jué)質(zhì)量和嵌入容量都不高且載體圖像文檔不能無(wú)損恢復(fù)。譚亦夫等人提出基于Shamir秘密分享方法對(duì)圖像進(jìn)行劃分,并對(duì)秘密圖像進(jìn)行簽名,然后將劃分?jǐn)?shù)據(jù)和簽名信息嵌入到載體圖像中[10]。Li所提方法[11]能無(wú)損恢復(fù)秘密信息和載體圖像文檔,同時(shí)能達(dá)到高嵌入容量獲得具有高質(zhì)量的隱寫影子圖像以及抵抗直方圖分析。
對(duì)文本文檔的保護(hù)也有相關(guān)研究。Miguel等人提出了一種基于屬性的加密方法保護(hù)公有云移動(dòng)設(shè)備中的數(shù)字文檔[12]。Manoj提出基于XML和密鑰的訪問(wèn)控制方法保護(hù)私有云中文檔[13]。Ahmad等人提出在云環(huán)境中對(duì)敏感數(shù)據(jù)文檔的限制授權(quán)進(jìn)行有選擇性訪問(wèn)的框架[14]。Qiu 等人提出了一種安全的數(shù)據(jù)存儲(chǔ)和共享方案[15],該方法由一種選擇性加密算法組成,結(jié)合碎片和分散來(lái)保護(hù)數(shù)據(jù)安全和隱私。Chen等人提出了一種檢測(cè)惡意文檔的方法[16],通過(guò)提取文檔格式中內(nèi)容檢測(cè)是否含有漏洞代碼,并不涉及對(duì)文檔的魯棒保護(hù)。劉海峰等人提出利用Lagrange插值多項(xiàng)式對(duì)文件分解分存與恢復(fù)的方法[17]。文本文檔對(duì)象大部分是由文字組成,不同的文字在計(jì)算機(jī)中是通過(guò)不同的文字編碼標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)的,例如國(guó)際通用的ASCII編碼標(biāo)準(zhǔn),大陸的國(guó)標(biāo)碼及臺(tái)灣使用的大五碼。Tu和Hsu提出了針對(duì)臺(tái)灣大五碼編碼的文本進(jìn)行的基于隱寫的秘密分享方法[18]。目前對(duì)文本文檔的保護(hù)主要是基于加密、訪問(wèn)控制和授權(quán)等方法,針對(duì)文本對(duì)象進(jìn)行的秘密分享技術(shù)研究尚不多。本文提出適合文本特性的秘密分享方法,實(shí)現(xiàn)文本文檔保護(hù)相關(guān)的秘密保密性和魯棒性。
本文提出了一種基于Shamir多項(xiàng)式的文本秘密分享方法,在伽羅華域GF(28)下實(shí)現(xiàn)Shamir的秘密分享, =28,如式(2),在多個(gè)文本中共享秘密信息。
針對(duì)文本中文字編碼屬性,文本秘密分享方法中對(duì)秘密文檔和載體文檔分別進(jìn)行相應(yīng)的預(yù)處理,然后執(zhí)行秘密分享,得到秘密分享文檔,生成過(guò)程如圖 1所示。
圖1 秘密分享文檔生成過(guò)程
在秘密影子文檔的生成過(guò)程中包括秘密文檔S預(yù)處理、載體文檔C預(yù)處理及秘密影子文檔shadow的生成等三個(gè)步驟。秘密文檔S中記錄有待加密的數(shù)據(jù)。載體文檔C是用于傳輸秘密文檔S的載體文檔。秘密文檔S和載體文檔C均不限于txt文檔,其可以是doc、docx、xls等文檔,只要其能夠記錄可以被內(nèi)碼化的內(nèi)容即可(內(nèi)碼指所用編程環(huán)境下的數(shù)據(jù)內(nèi)部表示,matlab中采用的內(nèi)碼)將該載體文檔C連同所生成的份(為大于等于1的整數(shù),子秘密文檔shadow_1、shadow_2、…、shadow_n一起傳輸。
2.1.1 秘密文檔預(yù)處理
2.1.2 載體文檔預(yù)處理
2.1.3 秘密影子信息生成
在原始秘密文檔恢復(fù)過(guò)程中,對(duì)載體文檔進(jìn)行與秘密分享文檔生成過(guò)程中相同的預(yù)處理,對(duì)至少k份秘密分享文檔進(jìn)行預(yù)處理,執(zhí)行原始秘密文檔恢復(fù)操作,獲得正確的原始秘密文檔,恢復(fù)過(guò)程如圖 2所示。
圖2 原始秘密文檔恢復(fù)過(guò)程
2.2.1 載體文檔預(yù)處理
2.2.2 秘密分享文檔預(yù)處理
2.2.3 原始秘密文檔恢復(fù)
本論文實(shí)驗(yàn)平臺(tái)為Win7旗艦版操作系統(tǒng)、Inter(R)Core(TM)i7-4500U CPU 2.4GHz主板芯片、4G 內(nèi)存以及 MATLAB 7.0.4。
實(shí)驗(yàn)中以txt文本文檔為例,載體文檔為“cover.txt”(如圖3所示),秘密文檔為“secret.txt”(如圖4所示),設(shè)執(zhí)行秘密影子信息生成過(guò)程(見(jiàn)秘密影子文檔生成),得到秘密影子信息“shadow1.txt”“shadow2.txt”“shadow3.txt”“shadow4.txt”“shadow5.txt”(如圖5所示)。選用圖5中的任意3個(gè)txt文檔,執(zhí)行“原始秘密文檔恢復(fù)”過(guò)程均可恢復(fù)得到原始秘密信息文本“歡迎來(lái)到深圳信息職業(yè)技術(shù)學(xué)院!”。
圖3 載體文檔C內(nèi)容
圖4 秘密文檔S內(nèi)容
圖5 秘密影子文檔
圖6 恢復(fù)的秘密信息
實(shí)驗(yàn)中任何三個(gè)正確的shadow解密文檔:“歡迎來(lái)到深圳信息職業(yè)技術(shù)學(xué)院!”,如果用來(lái)恢復(fù)的shadow份數(shù)少于3,則無(wú)法恢復(fù)原始秘密文檔。以正確的shadow1、shadow3和遭篡改的shadow4為例,假設(shè)shadow4篡改為:(斜體為篡改后數(shù)據(jù)),則此種情景下的文檔內(nèi)容是:如圖7所示。
圖7 篡改后恢復(fù)的秘密信息
以重復(fù)的2份shadow1、1份shadow3為例,此種情景下的解密文檔內(nèi)容是:如圖 8 所示。
圖8 重復(fù)份數(shù)恢復(fù)的秘密信息
實(shí)驗(yàn)表明,本文所提的文本秘密分享方法可以無(wú)誤恢復(fù)原始秘密文檔,具有保密性和魯棒性。
(2)具有魯棒性:只需要達(dá)到恢復(fù)文檔的最少秘密影子文檔數(shù)即可無(wú)誤恢復(fù)原始秘密文檔,允許份影子文檔的丟失或錯(cuò)誤。
本文所提方法不僅適合文本的秘密分享,對(duì)8位的BMP灰度圖像、24位的BMP彩色圖像均可以嘗試。生成的數(shù)據(jù)與文檔進(jìn)行分享的方法一樣,是一些無(wú)意義的隨機(jī)碼,作為shadow秘密份數(shù)分發(fā)給不同的持有者。加密時(shí)對(duì)圖像按某種排列方式(比如由左到右,由上到下,由紅、綠到藍(lán))把圖像從二維(灰度BMP圖像)或三維(彩色BMP圖像)轉(zhuǎn)成一維的數(shù)據(jù),然后按文本的方法實(shí)現(xiàn)加密。解密時(shí)對(duì)解密后得到的一維數(shù)據(jù)按相同的排列方式恢復(fù)出原始的圖像。
安全性上,對(duì)載體文檔中不同位置中的同一個(gè)漢字A,只有當(dāng)秘密文檔中對(duì)應(yīng)要加密的漢字是同一個(gè)漢字B(與載體文檔中的A無(wú)關(guān)),才會(huì)得到相同的密文,否則就是互不相干的數(shù)據(jù),因此可以有效抵御基于統(tǒng)計(jì)的加密分析。同時(shí),由秘密共享算法的基本性質(zhì)可知,只有在同時(shí)得到載體文檔和至少個(gè)shadow秘密份數(shù)的情況下才可以解密出原始秘密,否則不能恢復(fù)原始信息。
本文考慮網(wǎng)絡(luò)傳輸中各種文檔的保護(hù),針對(duì)不同格式的文檔提出了一種基于Shamir多項(xiàng)式的文本中秘密分享方法,對(duì)文本的處理不限定具體的漢字編碼方式,對(duì)秘密信息具有保密性和魯棒性。對(duì)多媒體內(nèi)容在網(wǎng)絡(luò)中存儲(chǔ)和傳輸提供了一定的保護(hù),具有重要的實(shí)用價(jià)值,對(duì)多媒體在物聯(lián)網(wǎng)系統(tǒng)中的安全傳輸和存儲(chǔ)具有廣闊的應(yīng)用前景。