文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.033
中文引用格式: 溫濤,,陳夠喜,李瑞林. 互動(dòng)式《俄羅斯方塊》游戲安全隱寫[J].電子技術(shù)應(yīng)用,,2016,,42(4):120-123.
英文引用格式: Wen Tao,Chen Gouxi,,Li Ruilin. Security steganography in interactive Tetris game[J].Application of Electronic Technique,,2016,42(4):120-123.
0 引言
信息隱藏是指通信雙方在有第三方的監(jiān)視下,,將秘密信息以一種不可見的方式傳輸,常被應(yīng)用于軍事領(lǐng)域等一些重要場(chǎng)合。信息隱藏技術(shù)一直是信息安全領(lǐng)域的重要組成部分,,在過去的20年內(nèi),,信息隱藏技術(shù)得到極大的發(fā)展。首先是隱藏域的擴(kuò)大,,從剛開始的空域,、頻域,到近些年新提出的加密域[1]等,,它們都是將載體做信號(hào)變換處理,,然后將秘密信息嵌入到變換后的載體中,第三方無法輕易判斷出載體是否攜帶秘密信息,;其次是隱藏算法的增加,,最開始提出的是圖像空域LSB算法[2],該算法嵌入容量大且易實(shí)現(xiàn),,使用極為廣泛,,但是容易被卡方檢驗(yàn)等統(tǒng)計(jì)分析方法判斷出是否攜帶有秘密信息;DE算法[3]是最常見的可逆隱藏算法,,但是由于嵌入容量較小,,魯棒性較差,受到壓縮,、變形等攻擊后不能無損的恢復(fù),,實(shí)際情況中依舊不被廣泛使用;最后是隱藏載體的增多,,從被研究最早同時(shí)也是最徹底的圖像載體[4]和音頻載體,,到PowerPoint文件[5]和TCP幀[6]等載體中都可以實(shí)現(xiàn)信息隱藏。
在游戲中隱藏信息以實(shí)現(xiàn)隱秘通信引起一些國(guó)內(nèi)外學(xué)者的注意,,他們利用游戲的各種特點(diǎn),,在不改變游戲規(guī)則的前提下,同樣實(shí)現(xiàn)信息隱藏,。吳軍等[7]提出一種基于《七巧板》游戲的圖像信息偽裝算法,,將機(jī)密數(shù)字圖像和載體圖像分成適當(dāng)?shù)男K,按一定的條件尋找匹配關(guān)系, 然后將描述匹配關(guān)系的參數(shù)經(jīng)編碼后隱藏在載體圖像之中,到接收方提取出描述匹配關(guān)系的參數(shù),然后利用這些匹配關(guān)系恢復(fù)出機(jī)密圖像,。Hernandez-Castro等[8]提出在游戲中實(shí)現(xiàn)信息隱藏的框架,,并將其應(yīng)用于《圍棋》游戲中;Lee等[9]提出在《迷宮》游戲中的隱藏方法,,將信息隱藏在解密該迷宮的路徑中,,只有知道這種方法的人才可以獲取到秘密信息。但是,,它們的嵌入容量都受到游戲自身大小的限制,;Zhan-He[10]等在《俄羅斯方塊》游戲中實(shí)現(xiàn)信息隱藏,,將游戲中7種不同的板塊抽象為數(shù)字0~6,采用了基于七進(jìn)制而非廣泛應(yīng)用的二進(jìn)制編碼秘密信息,。
本文同樣提出一種基于《俄羅斯方塊》游戲的信息隱藏方法,,與文獻(xiàn)[10]不同的是,本文的方案適用于二進(jìn)制編碼表示的信息,,且在嵌入容量方面優(yōu)于文獻(xiàn)[10],。
1 關(guān)于《俄羅斯方塊》游戲
《俄羅斯方塊》是由俄羅斯人阿列克謝·帕基特諾夫發(fā)明的一款休閑游戲。該游戲由4個(gè)小方塊組成的不同形狀的板塊陸續(xù)從屏幕上方落下來,,板塊可以旋轉(zhuǎn)和調(diào)整位置,,使它們?cè)谄聊坏撞科闯鐾暾囊粭l或幾條,這些完整的橫條會(huì)隨即消失,,給新落下來的板塊騰出空間,與此同時(shí),,玩家得到分?jǐn)?shù)獎(jiǎng)勵(lì),。沒有被消除掉的方塊不斷堆積起來,一旦堆到屏幕頂端,,玩家便告輸,,游戲結(jié)束。
2 本文方案
本文的核心思想是:在不改變游戲規(guī)則的前提下,,將秘密信息加載到游戲中板塊的下落過程中,,從而實(shí)現(xiàn)信息隱藏。
2.1 隱寫原理
《俄羅斯方塊》游戲中共有7種不同的板塊,,分別用ti(i∈[0,,6]∩Z)表示,如圖1所示,。
其中每個(gè)板塊可以攜帶3 bit信息I={i0 i1 i2|i0,,i1,i2∈{0,,1}},,ik(k=0,1,,2)的取值分別如下:
(1)i0的取值:t0板塊的落下不攜帶任何信息,,其余6種板塊ti(i=1,2,,3,,4,5,,6)根據(jù)形態(tài)變化的數(shù)量分為兩個(gè)板塊組,,其中,,表示有兩種形態(tài)變化的組為M0={t1,t2,,t3},,表示有4種形態(tài)變化的組為M1={t4,t5,,t6},。如果本次落下的板塊ti屬于M0,i0=0,;否則,,如果本次落下的板塊ti屬于M1,則i0=1,。
(2)i1的取值:不同的板塊組有不同的形態(tài)變化,,如圖1所示,其中t0板塊沒有變化,,M0中的板塊有兩種形態(tài)的變化,,分別用a、b表示,;M1中的板塊有4種形態(tài)的變化,,分別用a、b,、c,、d表示。每個(gè)板塊ti的形態(tài)變化都是從a形態(tài)開始,,順時(shí)針旋轉(zhuǎn)n×90°(n∈[0,,3]∩Z)后得到。假設(shè)每個(gè)板塊初始落下的形態(tài)用v=0表示,,每經(jīng)過一次旋轉(zhuǎn)v+1(mod2),,i1的值為該板塊最終落到屏幕底部時(shí)的v值。例如,,設(shè)某板塊落下的初始形態(tài)為t4.b,,最終形態(tài)為t4.a,期間需要順時(shí)針旋轉(zhuǎn)3×90°,,其形態(tài)與v值如表1所示,。
(3)i2的取值:每個(gè)板塊都是從游戲區(qū)域的中間落下。d為板塊最終落到屏幕底部的位置相對(duì)于初始位置的距離,,如果d%2(%為取余運(yùn)算)=1,,則i2=1,否則如果d%2=0,,i2=0,。如圖2,、圖3所示,板塊最終落到屏幕底部的位置相對(duì)于初始位置的距離d=1,,d%2=0,則此時(shí)i2=0,。
綜上所述,一個(gè)板塊的從游戲區(qū)域的頂部落到區(qū)域底部可以攜帶3 bit秘密信息,,規(guī)則如表2所示,。
2.2 隱秘通信方案
一個(gè)完整的隱秘通信系統(tǒng)必須包括表示信息傳輸?shù)拈_始及結(jié)束的標(biāo)識(shí),這部分將介紹它們,,并就基于2.1的算法提供一個(gè)完整的方案,。
該方案可以用元組表示:Ω={P,W,,R,,I,G},。P表示游戲雙方,,P={Sender,Receiver},;W是第三方攻擊者,Wendy,,他有能力破解該通信系統(tǒng),;R表示規(guī)則的集合,包括傳輸信息的開始規(guī)則,、板塊下落攜帶信息規(guī)則以及信息傳輸?shù)耐瓿梢?guī)則等,;I是秘密信息,I的內(nèi)容不能被W獲取到,;G表示該《俄羅斯方塊》游戲,。
該隱秘通信的方案如下:
(1)Sender和Receiver之間共享一對(duì)公鑰和私鑰,Sender通過RSA非對(duì)稱加密算法,,將隨機(jī)種子Rs加密,,Rs的作用是生成偽隨機(jī)序列K(Ki∈{0,1}),,i∈0,,1,2,,…,,M),Sender利用該序列以按位異或的方式加密欲傳輸?shù)拿孛苄畔(Ii∈{0,,1}),,i∈0,,1,2,,…,,M),得到C,,C是Sender在游戲中實(shí)際傳輸?shù)男畔?。C=ci=Iiki(i=0,1,,2,,…,M),。
(2)Sender將加密后的Rs(長(zhǎng)度為L(zhǎng),,且Receiver已提前知悉)與M bit信息按如下方式組合:Rs+C,并將其分為(M+L)/3組,,分別用T1,,T1,…,,Tk(k∈[1,,(M+L)/3])表示。對(duì)于每組Tk,,第一個(gè)比特的值決定該攜帶該組信息的板塊ti∈M0還是ti∈M1,,Sender重新編程實(shí)現(xiàn)《俄羅斯方塊》游戲,特點(diǎn)如下:
①游戲G接收到Sender開始傳輸信息的信號(hào)之前,,G中板塊落下規(guī)則與普通游戲相同,。
②G接收到Sender開始傳輸信息的信號(hào)后,根據(jù)選擇下落板塊ti∈M0或ti∈M1,,并從它們中隨機(jī)選擇某個(gè)板塊ti落下,。
③G接收到Sender完成信息傳輸?shù)男盘?hào)之后,G將板塊下落規(guī)則恢復(fù)成正常游戲的規(guī)則,。Sender將重新編程后的游戲上傳到在線游戲網(wǎng)站中,。
(3)Sender邀請(qǐng)Receiver參與在線《俄羅斯方塊》游戲,模式為雙人競(jìng)賽模式,。
(4)當(dāng)Sender第一次消去完整的橫條時(shí),,表示下一次落下的板塊中攜帶有信息。
(5)Receiver收到Sender開始傳輸信息的信號(hào)后,,開始記錄Sender端每一個(gè)板塊的下落,、旋轉(zhuǎn)和移動(dòng)等相關(guān)信息。
(6)當(dāng)Sender將某個(gè)板塊快速地落到屏幕最底層,,表示他已經(jīng)完成Rs+C的傳輸,。Receiver收到此信號(hào)后,,停止記錄板塊的信息,并根據(jù)2.1所述原理,,得到與Sender相同的種子Rs和加密后的信息C,,生成與Sender相同的偽隨機(jī)序列K,解密后得到秘密信息I:ciki=Ii
ki
ki=Ii(i=0,,1,,2,…,,M),。
(7)如果信息傳輸完成時(shí),Sender或Receiver還未完成游戲,,則繼續(xù)完成游戲即可,,此后的游戲并不影響信息傳輸;若Sender的游戲已經(jīng)結(jié)束,,但信息還未完成傳輸,,Sender要重新開始下一局游戲,重復(fù)步驟(3)~(6),,直到所有的信息傳輸完成,。
注意:為提高方案的安全性,在攜帶信息的板塊中,,每7個(gè)至少有一個(gè)t0板塊,。同時(shí),要保證每局游戲的Rs均不同,。
3 安全性分析
信息隱藏技術(shù)最重要的指標(biāo)是其安全性。信息隱藏的安全性分為兩類[11]:
第一類:信息隱藏技術(shù)是S1安全的,,是指攻擊者W沒有合理的理由證明經(jīng)過傳輸信息的通訊信息S中隱藏有秘密信息I,。
第二類:信息隱藏技術(shù)是S2安全的,是指攻擊者W無法破壞經(jīng)過傳輸信道的通信信息S中隱藏的所有秘密信息I,。
4 實(shí)驗(yàn)
從《俄羅斯方塊》官方網(wǎng)站中選擇3種不同種類的游戲,,每種游戲落下的板塊均總數(shù)超過10 000,分別記錄7種板塊出現(xiàn)的次數(shù),,并計(jì)算其頻率,。同時(shí),選取不同大小的3組比特序列,,分別用本文提到的算法和文獻(xiàn)[10]的算法傳輸,,記錄3局游戲中每個(gè)板塊出現(xiàn)的頻率,如圖4所示,。
從圖中可以看出,,普通《俄羅斯方塊》游戲的板塊頻率出現(xiàn)在[0.135,015]內(nèi),,接近1/7(約為0.143),而本文提到的算法中板塊的頻率同樣浮動(dòng)在1/7上下,,由此可證明該算法是S1安全的,。
在上述實(shí)驗(yàn)的同時(shí),同時(shí)記錄下文獻(xiàn)[10]的算法與本文提到的算法中的核心板塊的數(shù)量,,如表3所示,。
由表中數(shù)據(jù)可知,本算法在嵌入容量方面高于文獻(xiàn)[10],。
5 結(jié)論
本文提出了一種新穎的安全隱寫方法,,在《俄羅斯方塊》游戲中隱藏信息,首先依據(jù)板塊的變化數(shù)量,,將板塊分類,,然后通過板塊的移動(dòng)、旋轉(zhuǎn)等方式,,在板塊的落下過程中攜帶信息,,每個(gè)板塊都可以攜帶3 bit的信息。本文從理論和實(shí)驗(yàn)方面,,分別證明了本算法可達(dá)到S1安全,,同時(shí)分析證明了本方案在嵌入容量方面得到提升。由于本文的方案在嵌入容量方面依賴于游戲本身的大小,,所以接下來的研究重點(diǎn)是改進(jìn)該方案,,增大嵌入容量以及在其他游戲載體中嵌入秘密信息,實(shí)現(xiàn)隱秘通信,。
參考文獻(xiàn)
[1] ZHANG X.Reversible data hiding in encrypted image[J].Signal Processing Letters,,IEEE,2011,,18(4):255-258.
[2] 劉粉林.數(shù)字圖像隱寫分析[M].北京:機(jī)械工業(yè)出版社,,2010.
[3] TIAN J.Reversible data embedding using a difference expansion[J].IEEE Trans.Circuits Syst.Video Techn.,2003,,13(8):890-896.
[4] 陳夠喜,,伍玉良,張鵬程,,等.二值圖像中的安全隱寫[J].小型微型計(jì)算機(jī)系統(tǒng),,2012,33(7):1625-1628.
[5] YANG W C,,CHEN L H.A steganographic method via various animations in PowerPoint files[J].Multimedia Tools and Applications,,2013,74(3):1003-1019.
[6] WENDEZL S,ZANDER S,,F(xiàn)ECHNER B,,et al.Pattern-based survey and categorization of network covert channel techniques[J].ACM Computing Surveys(CSUR),2015,,47(3):50.
[7] 吳軍,,吳秋新.一種基于七巧板游戲的數(shù)字圖像信息偽裝方法[J].計(jì)算機(jī)應(yīng)用,2004,,24(6):125-128.
[8] HERNANDEZ-CASTRO J C,,BLASCO-LOPEZ I,ESTEVEZ-TAPIADOR J M,,et al.Steganography in games:A general methodology and its application to the game of Go[J].Computers & Security,,2006,25(1):64-71.
[9] LEE H L,,LEE C F,,CHEN L H.A perfect maze based steganographic method[J].Journal of Systems and Software,2010,,83(12):2528-2535.
[10] OU Z H,,CHEN L H.A steganographic method based on tetris games[J].Information Sciences,2014,,276:343-353.
[11] 林代茂,,胡嵐,郭云彪,,等.廣義信息隱藏技術(shù)的安全問題[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,,2005,43(A02):14-16.