陳旖旎 李千目 呂超賢 桑笑楠 董瀟
摘? ?要:隨著互聯(lián)網(wǎng)以及移動通訊技術(shù)的快速發(fā)展,文本隱藏技術(shù)具有重要的研究意義以及應(yīng)用價值。論文分析了現(xiàn)有文獻對文本隱藏的相關(guān)研究,并以此為基礎(chǔ),結(jié)合哥德爾數(shù)學編碼以及對稱散列加密技術(shù),提出了一種基于Unicode零寬度字符的文本安全隱藏算法以及相應(yīng)的提取算法。該編碼系統(tǒng)可以支持126個ASCII字符的隱藏,包括所有的英文字母和一些基本的標點符號。根據(jù)不可見性、嵌入容量、魯棒性以及安全性驗證算法的有效性,將實驗結(jié)果與現(xiàn)有同類技術(shù)進行比較。實驗表明,該算法能夠在增大嵌入容量的同時,為用戶之間傳輸保密文本消息時提供端到端的安全性。
關(guān)鍵詞:不可見字符;文本隱藏;社交媒體
中圖分類號:TP391.4? ? ? ? ? ?文獻標識碼:B
Research on text security hiding algorithm for invisible characters
Chen Yini, Li Qianmu, Lv Chaoxian, Sang Xiaonan, Dong xiao
(Nanjing University of Science and Technology, JiangsuNanjing 210094)
Abstract: With the rapid development of high-speed Internet and mobile communication technologies, text hiding technology has important research significance and application value as an important research field of information security. The paper analyzed the related research on text hiding in the existing literature. Based on this, combined with G?del mathematical coding and symmetric encryption technology, a text security hiding method based on Unicode zero-width characters is proposed. The encoding system can support the hiding of 126 ASCII characters, including all English letters and some basic punctuation. The effectiveness of the algorithm is verified based on invisibility, embedding capacity, robustness, and security, and the experimental results are compared with the prior art. Experiments show that the algorithm can provide end-to-end security when transmitting confidential text messages between users while increasing the embedded capacity.
Key words: invisible characters; text information hiding; social media
1 引言
隨著互聯(lián)網(wǎng)的廣泛使用,社交媒體已成為人們?nèi)粘I畹闹匾M成部分。其中,文本消息作為主要的傳播載體,在許多應(yīng)用中被廣泛使用,例如聊天、移動銀行和移動商務(wù)服務(wù)等,大家常常通過短信服務(wù)或社交媒體發(fā)送純文本消息,而在某種特殊情況下,這些發(fā)送的消息是需要保密的,因此為了信息的安全傳輸,用戶文本信息保護的技術(shù)方法應(yīng)得到重視與改進[1]。
文本安全信息隱藏是將秘密信息嵌入并隱藏在公開文本中而不被網(wǎng)絡(luò)攻擊者所發(fā)覺的技術(shù),并且隱藏的秘密信息可以通過相應(yīng)提取算法進行逆向提取。因此,要關(guān)注的是如何在不引起人類視覺系統(tǒng)懷疑的情況下隱藏秘密信息,需要預(yù)防的攻擊有刪除、篡改等文本攻擊以及各種網(wǎng)絡(luò)攻擊。在過去的20年中,已經(jīng)提出了許多技術(shù)來提高數(shù)字文本中文本信息隱藏的效率,但是這些方法普遍具有低嵌入容量和低魯棒性,無法通過短文本來嵌入高容量的秘密信息。利用Unicode編碼標準中的零寬度字符,可以將大量文本以不可察覺的方式嵌入公開文本中,同時可以方便地對保密信息進行加密處理,同時保證良好的可用性以及安全性。
本文的主要貢獻有四點。
(1) 基于最新的Unicode編碼標準,利用零寬度控制字符將秘密文本信息隱藏到普通文本中,來增大秘密信息的嵌入容量。
(2)為了解決文本中隱藏的秘密信息可能被網(wǎng)絡(luò)攻擊的潛在問題,針對社交媒體中保密交流場景,提出一種加密算法。算法基于哥德爾函數(shù)編碼以及對秘密信息的散列處理,該編碼系統(tǒng)可以支持126個ASCII字符的隱藏,包括所有的英文字母和一些基本的標點符號,在提高了安全性和魯棒性的同時,也增加了可用性。
(3) 提供相應(yīng)的提取算法,在秘密信息的嵌入后以及提取前,能夠有效抵御攻擊。
(4)提出算法的有效性測試指標,對同類算法進行了分析與比較。
2 相關(guān)工作
主要介紹文本信息隱藏相關(guān)的研究工作。
基于圖像、音頻、視頻的信息隱藏技術(shù)研究已經(jīng)有很多,而文本信息隱藏相關(guān)的研究則相對比較少,這主要是基于文本文檔的信息冗余度低,隱藏容量不大的原因[2]。文本信息隱藏的研究主要集中在兩個方面:基于自然語言和基于文本格式。前者通過自然語言處理來修改文本內(nèi)容以隱藏一些秘密信息,比如利用語義規(guī)則改變文本內(nèi)容的結(jié)構(gòu)[3-6],實際上,基于自然語言的水印由于語言的特殊性所以相對復雜,而且并非所有語言都可以進行語法或語義上的改變。基于文本格式的文本信息隱藏利用編碼規(guī)則來修改文本的布局而不改變文本的內(nèi)容,通過利用行間距、字間距、字體樣式、特殊符號、文本顏色等格式,將秘密信息隱藏在文本中。本文研究的是基于文本格式的文本信息隱藏方法。
S. G. Rizzo等人[8]提出了一種用在簡短的基于拉丁語的文本中隱藏秘密數(shù)據(jù)的有效文本水印技術(shù)(TWSM),它使用同形字Unicode字符和特殊空格在拉丁語的CM中嵌入秘密位。由實驗結(jié)果可以看出,該技術(shù)提供了最佳嵌入容量,高不可見性,但對失真攻擊具有低魯棒性。
在ASCII編碼系統(tǒng)中常用的不可見字符包括SOH(文頭)、EOT(文尾)、ACK(確認)、BEL(響鈴)、BS(退格)等。崔光明等人[9] 利用了不可見字符來進行信息隱藏,根據(jù)需要隱藏信息的比特信息是“0”還是“1”,來決定寫入的是空格還是SOH(文頭),這種方法針對英文文本進行處理,取得了很好的隱藏效果和高嵌入效率。
L. Y. Por等人[7]? 提出了一種基于文本的數(shù)據(jù)隱藏技術(shù),稱為UniSpaCh,它生成秘密消息的二進制字符串并將其隔離為2位來分類(即“10,01,00和11”)。然后,它將每個2位替換為特殊空間,最后將生成的特殊空間嵌入文本的特殊位置,如詞間、句子間、行尾和段間。這種方法的優(yōu)點是通過封面文本提供了透明性,但具有低嵌入容量(每個空格兩位),并且不適用于在短文本中嵌入長秘密位。
本文在以上基礎(chǔ)上對秘密信息重新編碼以及散列加密,利用Unicode標準中的零寬度控制字符替換文本秘密字符串,相較于以上算法具有更好的隱蔽性、更高的嵌入容量以及魯棒性。
本文在第3節(jié)介紹零寬度字符;第4節(jié)基于應(yīng)用場景,介紹提出的嵌入以及提取算法,根據(jù)算法有效性測試指標對算法進行評估測試;第5節(jié)通過實驗驗證同類算法對比下本算法的優(yōu)劣。
3 零寬度字符
在Unicode編碼系統(tǒng)中,有一些稱為零寬度字符的特殊字符。它們是非數(shù)字文本處理系統(tǒng)中的字符,可用于控制特殊實體,例如零寬度連接器可以連接兩個字符、零寬度非連接器用特定語言分隔兩個可連接字符等。如表1所示,一些零寬度字符是不可見且沒有寬度的。通過Java編程測試這些字符可以觀察到,一些零寬度字符在G-mail中被阻止,但它仍然可以用于大多數(shù)的文本隱藏[10]。
當使用零寬度字符將秘密信息嵌入到封面文本中時,封面文本的默認編碼必須定義為UTF-8、UTF-16、UTF-32等Unicode編碼之一。在發(fā)生攻擊的情況下,惡意用戶在新主機文件中復制包含一些零寬度字符的文本,則這些字符將被視為Unicode編碼,并提供不可見的文本內(nèi)容跟蹤[1]。
這種方法的缺點是,在社交媒體中必須采用Unicode編碼標準來處理不同語言的數(shù)字文本,否則可能會生成一些非常規(guī)符號,從而引起對隱藏信息存在的懷疑[8]。
4 文本信息隱藏算法
4.1 算法概述
應(yīng)用場景如圖1所示,假設(shè)有兩個用戶是使用短信服務(wù)或者社交媒體溝通的敏感用戶,在重要任務(wù)期間傳達保密信息。問題是中間攻擊者(MITM)正在竊聽數(shù)據(jù)傳輸以獲取對敏感信息的訪問權(quán)。為了應(yīng)對這一問題,提出了一種文本信息隱藏技術(shù),該技術(shù)可確保秘密信息在網(wǎng)絡(luò)中通過短信或社交媒體平臺傳輸時對這些信息進行保密。
算法的目的是解決現(xiàn)有相關(guān)技術(shù)中短文本載體秘密信息嵌入容量小、魯棒性低等問題。結(jié)合數(shù)學編碼以及加密算法提出一個新的文本信息隱藏算法,分為嵌入子算法以及提取子算法。
算法1:嵌入算法
輸入:一個封面文本CM,一條秘密信息SM,一個對稱秘鑰(MS_SK)
輸出:嵌入了秘密信息的載體文本CMHM
(1)計算SM每一個字符的數(shù)字對:
令為字母的ASCII碼,為SM的每個字母唯一的數(shù)字對。
(1)
且
.
.
(2)
等式(2)中,必須為奇數(shù)。
(3)
(2)將α、β分別轉(zhuǎn)換為6位二進制字符串,并且將它們連接在一起,為每個字母生成一個12位二進制字符串。將字符二進制串組合形成SM二進制字符串。由于算法將秘密信息的每個字符以ASCII碼來計算哥德爾數(shù)字對,且計算哥德爾函數(shù)時,最大的為,因此該編碼系統(tǒng)可以支持126個ASCII字符,包括了所有英文字母及其他符號。
(3)獲取發(fā)送方對稱密鑰MR_SK,組合在秘密信息二進制字符串前面:
散列函數(shù)將發(fā)送時間(生成隱藏信息的時間)作為發(fā)送方密鑰(例如“10:12”),然后省略該時間的第4位;創(chuàng)建一個數(shù)字(例如“101”),并將其轉(zhuǎn)換為8位二進制字符串,即發(fā)送方密鑰。
(4)基于發(fā)送方對稱密鑰對秘密信息二進制字符串進行散列加密:
散列函數(shù)重復NC次復制密鑰二進制串形成散列位置位, NC計算公式如下:
(4)
(5)
在這里,LS為秘密信息的長度(單位為字符);LSK為密鑰二進制字符串的長度(單位為位)。在生成秘密信息二進制字符串和散列位置位之后,散列函數(shù)根據(jù)散列位置位異或秘密信息二進制字符串以產(chǎn)生散列秘密信息二進制。
(5)將二進制字符串根據(jù)表2所示規(guī)則替換為Unicode零寬度控制字符,形成不可見字符串,并嵌入封面文本的前面。
(6)輸出隱藏了秘密信息的載體文本。
算法1的一個例子如圖2所示。
算法2 :提取算法
輸入:一個載體文本 (CMHM), 一個對稱密鑰 (SK)。
輸出:隱藏的秘密信息 (SM)。
1)檢測載體文本中的零寬度字符串,按照表2所示的規(guī)則還原二進制字符串。
2)散列函數(shù)將接收時間作為接收方密鑰(例如“10:12”),然后省略該時間的第4位;創(chuàng)建一個數(shù)字(例如“101”),并將其轉(zhuǎn)換為8位二進制字符串,即接收方密鑰。
3)對二進制字符串進行哈希解碼:根據(jù)公式(4)(5)計算NC,并復制NC次密鑰二進制字符串形成散列位置位,將其與需要解密的秘密信息二進制字符串進行異或。
4)哥德爾函數(shù)解碼:比較解碼后的發(fā)送方密鑰與接收方密鑰是否相同,若相同,則根據(jù)公式(1)-(3)對秘密信息二進制字符串進行哥德爾函數(shù)解碼,然后輸出秘密信息;若不同,則提示失敗。
4.2 算法有效性驗證
針對提出的算法以及相關(guān)研究文獻,提出四個針對信息隱藏的有效性測試指標:不可見性、嵌入容量、魯棒性以及安全性。
(1)不可見性
不可見性是指在秘密信息嵌入文本之后,文本中發(fā)生了多少感知修改,它不能用數(shù)字來衡量。為了分析不可見性這個標準,大家基于常用的社交媒體對CMHM進行分析,如表3所示。根據(jù)在社交媒體上進行的結(jié)果,除“Telegram”和“Twitter”外,包括微信、QQ、新浪微博等都支持Unicode零寬度字符,并且允許高可見性地傳輸帶有隱藏信息的文本,大家只能看到載體文本,而看不到隱藏信息[11]。
(2)嵌入容量
可以嵌入文本中的秘密位數(shù),稱為嵌入容量。該特征可以以特征位置()為單位,以數(shù)字方式測量。位置意味著可變的特征(字符或單詞),其可被視為文本中的可嵌入位置數(shù)(),例如在單詞之間、特殊字符之后等。算法必須至少能夠?qū)⒄麄€水印嵌入封面文本中,并且應(yīng)該盡可能追求高嵌入容量。假設(shè)為嵌入容量(單位為個),為文本的可嵌入位長度,則可以通過等式(6)計算[12]。
(6)
由于嵌入算法將SM的每個字母轉(zhuǎn)換為6個零寬度字符并插入到封面文本中生成CMHM,它的嵌入容量就是通過社交媒體通信傳輸?shù)淖畲笞址麛?shù)。如表4所示為各種社交媒體的最大字符數(shù)以及本技術(shù)的嵌入容量計算。
(3)魯棒性
載體文本在通信信道上傳輸時可能發(fā)生許多攻擊,比如暴露在攻擊者面前、惡意用戶嘗試從載體文本操縱被隱藏的信息而不是刪除它。魯棒性可以基于丟失概率測量[11]。假設(shè)LP是從載體文本中丟失了多少比例的嵌入秘密比特、NL為可嵌入位的數(shù)量、TC為載體文本的長度,則魯棒性DR可由公式(7)得出。
(7)
當
(8)
文本隱藏中最重要的要求之一是CMHM的可逆性。由于攻擊者可能對CMHM的內(nèi)容進行修改,所以考慮將隱藏信息嵌入到封面文本的前面,嵌入位長度為1,讓隱藏信息被破壞的可能性降低。設(shè)LCM為封面文本CM的長度,則根據(jù)等式(8): 。
例如,如果SM是“Cyn”而CM是“How are you”,則,可得:。
(4)安全性
算法的安全性可由公式(9)得出。其中,DP是解碼概率,即該秘密信息被解碼的概率[13]。
(9)
假設(shè)NS是秘密信息二進制的長度,那么可以用以下公式計算DP。
(10)
假設(shè)攻擊者無法使用該算法,并且只能訪問載體文本, NS /2是用于生成HM的零寬度字符的數(shù)量,正確解碼散列二進制串的解碼概率DP可以通過等式(10)得到。
例如,將SM =“Cyn”轉(zhuǎn)換為包含NS =(3×12)+ 8 = 44的SM二進制字符串并生成散列位置位,則LS = length(SM)= 3,SK =“10:12”= 101,SK_binary =“1100101”,LSK = 7,那么NC = 3×12/7 + 1 = 6。復制NC次SK二進制字符串后,散列函數(shù)根據(jù)散列位置位反轉(zhuǎn)SM二進制字符串。最后嵌入算法根據(jù)替換規(guī)則替換零寬度字符,然后將其插入CM的前面。則:
實際上,很難在沒有散列函數(shù)和公式化對稱密鑰的情況下解碼原始的SM。
5 同類算法對比驗證分析
本文將所提出的算法與現(xiàn)有的UniSpaCh[7]、TWSM[8]和基于表情符號的[14]技術(shù)進行了對比驗證分析。選擇這些技術(shù)進行比較是因為它們同樣應(yīng)用了Unicode字符來隱藏數(shù)字文本中的信息。其中,UniSpaCh使用特殊空格來將秘密信息嵌入封面文本中,每一個特殊空格表示秘密信息二進制字符串的2位;TWSM使用同形字和特殊空格來嵌入秘密位,一些字母被具有不同代碼的類似字母替換來嵌入1位秘密位,并且在字之間插入一個特殊空間用于隱藏3位秘密位;基于表情符號的算法通過嵌入一個表情來將秘密信息的每一個字符隱藏在封面文本中。
如表5所示,展現(xiàn)了不同技術(shù)嵌入秘密信息后的變化,可以看出,基于表情符號的隱藏方法加入了表情,并且與本論文所提出的算法相比,UniSpaCh算法和TWSM算法嵌入隱藏信息后,都有微小的肉眼可見的變化,單詞與單詞之間的空格變大了,這些空格可能會引起攻擊者的注意。
如表6所示,對比了4種技術(shù)的嵌入容量和魯棒性。輸入6個不同的測試用例來分別計算5種技術(shù)的嵌入字符數(shù)以及魯棒性。由于本算法的輸入密文范圍局限于126個ASCII字符,測試用例中使用由英文字母及常見符號組成的英文句子進行信息隱藏測試。本文使用等式(6)基于可嵌入位的數(shù)量來評估每種技術(shù)的嵌入容量;另外使用等式(7)計算每種技術(shù)的DR。如圖3所示,本文所提出的技術(shù)在相同的封面消息上表現(xiàn)出比其他技術(shù)更高的嵌入容量。與其他嵌入技術(shù)相比,本技術(shù)只需要在一個位置嵌入所有秘密字符,因此可以看出前者實現(xiàn)了更高的嵌入容量、不可見性和穩(wěn)健性。
如表7所示,總結(jié)了本技術(shù)與其他四種技術(shù)關(guān)于不可見性、嵌入容量以及魯棒性的優(yōu)勢和局限性比較。
6 結(jié)束語
本文主要研究了基于零寬度字符的文本信息安全隱藏算法,該方法是對秘密信息進行數(shù)學編碼及加密處理,然后替換為Unicode零寬度字符嵌入公開的封面文本。通過算法的有效性測試,證明了算法在具有不可見性的同時,改進了文本信息隱藏的嵌入容量。此外,通過對秘密信息進行編碼及加密,提高了魯棒性與安全性。本文所提出的技術(shù)基于ASCII碼對秘密信息進行新的編碼加密,因此該算法的輸入密文范圍局限于126個ASCII字符。除此以外,該算法由于獨特的密鑰分配方式,使得密文具有時效性,過了認證時間后無法提取密文。今后的研究方向可以針對以上的局限性進行改進,如擴充編碼系統(tǒng),使其支持多種語言的文本隱藏;發(fā)現(xiàn)一種更好的密鑰管理方式或密鑰的選擇方式,使其能夠在提高加密解密效率的同時,解決密鑰分配的問題。
文本信息隱藏可用于保護不同領(lǐng)域的有價值信息或敏感信息,但它仍然缺乏精確的分析建模。同時,合理的平衡嵌入容量、不可見性以及魯棒性,可以使得秘密文本的安全性更高,所以更好的嵌入方式是以后研究的重點。
基金項目:
1.江蘇省研究生科研與實踐創(chuàng)新計劃項目(項目編號:KYCX18_0442);
2.江蘇省研究生科研與實踐創(chuàng)新計劃項目(項目編號:KYCX18_0440);
3.江蘇省研究生科研與實踐創(chuàng)新計劃項目(項目編號:SJCX18_0151);
4.中央高校自主科研項目(項目編號:30918012204);
5. 江蘇省重大科研計劃社會發(fā)展項目(項目編號:BE2017739);
6. 江蘇省重大研發(fā)計劃產(chǎn)業(yè)前瞻項目(項目編號:BE2017100)。
參考文獻
[1] M. Taleby Ahvanooey, Q. Li, H. J. Shim, and Y. Huang. A Comparative Analysis of Information Hiding Techniques for Copyright Protection of Text Documents[J]. Security and Communication Networks, 2018.
[2] 張楠,李洪敏,盧敏,柯明敏.基于文本格式的文本信息隱藏方法研究綜述[J].信息化研究,2017,43(3): 1-6.
[3] U. Topkara, M. Topkara, M. J Atallah. The Hiding Virtues of Ambiguity: Quantifiably Resilient Watermarking of Natural Language Text through Synonym Substitutions[J]. Proceeding MM&Sec '06 Proceedings of the 8th? workshop? on? Multimedia and security 2006b, 2006:167-174.
[4] M. Y. Kim, O. R. Zaiane. Goebel R. Natural Language Watermarking Based on Syntactic Displacement and Morphological Division[J]. Computer Software and Applications Conference Workshops (IEEE COMPSACW), 2010.
[5] O. Halvani, M. Steinebach, P. Wolf, R. Zimmermann. Natural language watermarking for German texts[J]. Proceedings of the 1st? ACM? Workshop? on? Information Hiding and Multimedia Security, 2013:193-202.
[6] M. L. Mali, N. N. Patil, J. B. Patil. Implementation of text watermarking technique using natural language watermarks[J]. Proceedings of the International Conference on Communication Systems and Network Technologies IEEE, 2013:482-486.
[7] L. Y. Por, K. Wong, K. O. Chee. UniSpaCh: A text-based data hiding method using Unicode space characters[J]. J. Syst. Softw, 2012, 85(5):1075-1082.
[8] S. G. Rizzo, F. Bertini, D. Montesi, C. Stomeo. Text watermarking in social media[J]. in Proc. IEEE/ACM Int. Conf. Adv. Social Netw. Anal. Mining (ASONAM), Jul. 2017:208-211.
[9] 崔光明,洪星,袁翔,張以文,朱二周.基于不可見字符替換的信息隱藏方法研究[J].計算機應(yīng)用與軟件, 2016, 33(4):277-280.
[10] R. A. Alotaibi, L. A. Elrefaei. Improved capacity Arabic text watermarking methods based on open word space[J]. Journal of King Saud University Computer and Information Sciences, 2017,29(1):1-13.
[11] M. H. Alkawaz, G. Sulong, T. Saba, A. S. Almazyad, A. Rehman. Concise analysis of current text automation and watermarking approaches[J]. Security and Communication Networks, 2016, 9(18): 6365-6378.
[12] P. Singh and R. S. Chadha. A survey of digital watermarking techniques, applications and attacks[J]. International Journal of Engineering and Innovative Technolog. 2013, 2(9):165-175.
[13] M. Agarwal. Text Steganographic Approaches: a comparison[J]. International Journal of Network Security and Its Applications, 2013, 5(1):9-25.
[14] S.A.L Patiburn, V. Iranmanesh, P. Lee The. Text Steganography using Daily Emotions Monitoring[J]. International Journal of Education and Management Engineering, 2017, 7(3):1-14.
[15] 張震宇,李千目,戚湧.基于不可見字符的文本水印設(shè)計[J].南京理工大學學報, 2017, 41(4):405-411.
[16] M. Taleby Ahvanooey, Qianmu Li, J, Hou, A. Rajput, and C. Yini. Modern Text Hiding, Text Steganalysis, and Applications: A Comparative Analysis[J]. Journal Entropy and Information Studies, 2019, 21(355).
作者簡介:
陳旖旎(1996-),女,傣族,云南昆明人,南京理工大學計算機科學與工程學院,軟件工程專業(yè),本科生;主要研究方向和關(guān)注領(lǐng)域:信息安全。
李千目(1979-),男,漢族,江蘇南京人,南京理工大學計算機科學與工程學院,教授;主要研究方向和關(guān)注領(lǐng)域:大數(shù)據(jù)挖掘、數(shù)據(jù)處理、網(wǎng)絡(luò)空間安全 。
呂超賢(1994-),男,漢族,江蘇南通人,南京理工大學計算機科學與工程學院,計算機應(yīng)用技術(shù)專業(yè),碩士;主要研究方向和關(guān)注領(lǐng)域:信息安全、數(shù)據(jù)挖掘。
桑笑楠(1994-),男,漢族,江蘇如東人,南京理工大學計算機科學與工程學院,計算機應(yīng)用技術(shù)專業(yè),碩士;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)空間安全、數(shù)據(jù)挖掘。
董瀟(1992-),男,漢族,吉林長春人,南京理工大學計算機科學與工程學院,計算機應(yīng)用技術(shù)專業(yè),碩士;主要研究方向和關(guān)注領(lǐng)域:大數(shù)據(jù)挖掘、數(shù)據(jù)處理。