銀 偉, 周紅建, 邢國強(qiáng)
(95899部隊(duì), 北京 100085)
蜜罐加密技術(shù)在私密數(shù)據(jù)保護(hù)中的應(yīng)用
銀 偉*, 周紅建, 邢國強(qiáng)
(95899部隊(duì), 北京 100085)
針對傳統(tǒng)加密技術(shù)脆弱性問題,將蜜罐加密技術(shù)應(yīng)用到身份證號碼、手機(jī)號碼和銀行卡密碼的保護(hù)中以保證數(shù)據(jù)存儲安全。首先,分析闡述了蜜罐加密技術(shù)原理,并設(shè)計(jì)了對蜜罐加密系統(tǒng)分布式轉(zhuǎn)換加密器;然后,抽象了消息空間,對系統(tǒng)進(jìn)行實(shí)現(xiàn)和性能評估,發(fā)現(xiàn)性能開銷問題并提出增強(qiáng)型機(jī)制。在蜜罐加密設(shè)計(jì)與實(shí)現(xiàn)中,考慮到均衡分布和隨機(jī)分布的消息空間,并將其運(yùn)用到對稱加密算法和公鑰加密機(jī)制。通過所提設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和實(shí)驗(yàn)結(jié)果得出以下結(jié)論:1)由于性能問題,蜜罐加密技術(shù)更適合小的消息空間;2)設(shè)計(jì)消息空間時需要考慮周全,不能帶來指紋特征,否則不能解決暴力破解脆弱性問題;3)蜜罐加密的保護(hù)能力隨應(yīng)用的不同而不同;4)對于不同的應(yīng)用,蜜罐加密技術(shù)的實(shí)現(xiàn)需要定制。
蜜罐加密;私密數(shù)據(jù);暴力破解;消息空間;分布式轉(zhuǎn)換加密器
我們之中大部分人都遭受過垃圾短信的騷擾;有些人可能因?yàn)樯矸荼幻坝棉k理了信用卡,被銀行要求還款;還有些人被罪犯冒用身份進(jìn)行犯罪活動。這些事情之所以發(fā)生,是因?yàn)樗矫軘?shù)據(jù)沒有被很好地保護(hù),遭到泄露,然后被惡意方利用,給當(dāng)事者帶來金錢和名譽(yù)的損失。
網(wǎng)上購買物品時,需要客戶填寫手機(jī)號碼方便投遞;購買火車票時,需要填寫身份證號碼。商家收集我們的私密數(shù)據(jù),有些商家以明文方式存儲這些數(shù)據(jù),有些商家則進(jìn)行加密存儲。但是,只要有足夠的時間和計(jì)算能力,對現(xiàn)行加密算法進(jìn)行破解總能成功。這是因?yàn)楝F(xiàn)行的加密算法存在著脆弱性,即攻擊者能根據(jù)暴力破解的輸出結(jié)果來判斷猜測的口令是否正確。
Juels等[1]提出了蜜罐加密技術(shù)來解決這個問題。“蜜”在網(wǎng)絡(luò)安全界經(jīng)常被用來描述一個虛假的資源。例如,蜜罐(honey)[2]是虛假的服務(wù)器,吸引攻擊者掃描和滲透。蜜詞(honeyword)[3]是數(shù)據(jù)庫中虛假的用戶名和密碼。一旦被使用,就檢測到了入侵。蜜罐加密技術(shù)是解決現(xiàn)行加密技術(shù)脆弱性的有效手段。通過該項(xiàng)技術(shù),即使是使用錯誤的密碼去破解,輸出結(jié)果也看起來像是被正確破解了。這樣,攻擊者就很難判斷猜測的密碼是正確的還是錯誤的。
蜜罐加密技術(shù)的創(chuàng)新點(diǎn)在于分布式轉(zhuǎn)換加密器(Distributed-Transforming Encryptor, DTE)的設(shè)計(jì)。根據(jù)消息空間每條消息的出現(xiàn)概率,它將消息映射到種子空間的一段種子區(qū)間,然后從中隨機(jī)選擇一個種子,并與密鑰進(jìn)行異或得到密文。在解密時,密文與密鑰異或得到種子,DTE根據(jù)該種子的位置信息將其映射到明文消息。即使這個密鑰是錯誤的,解密過程也從消息空間中輸出一條消息,以此來迷惑攻擊者。
本文的工作在于四個方面:一是設(shè)計(jì)與實(shí)現(xiàn)了蜜罐加密系統(tǒng),并應(yīng)用在身份證號碼、手機(jī)號碼和銀行卡密碼上;二是評估了蜜罐加密機(jī)制的性能,提出增強(qiáng)型機(jī)制解決性能問題;三是將蜜罐加密技術(shù)應(yīng)用到均衡分布的消息空間和隨機(jī)分布的消息空間,不僅考慮了對稱加密算法,還考慮了公鑰密碼機(jī)制;四是總結(jié)了在設(shè)計(jì)、實(shí)現(xiàn)和評估中得到的經(jīng)驗(yàn)。具體而言,有下列幾點(diǎn)認(rèn)識:1)蜜罐加密技術(shù)適合小的消息空間,因?yàn)榇笙⒖臻g的處理開銷很大。2)設(shè)計(jì)消息空間需要考慮周全,否則不能有效應(yīng)對暴力破解攻擊。3)蜜罐加密技術(shù)對私密數(shù)據(jù)的保護(hù)能力根據(jù)應(yīng)用的不同而不同。4)蜜罐加密技術(shù)的實(shí)現(xiàn)需要定制,因?yàn)橄⒖臻g隨應(yīng)用的不同而不同,那么沒有一個實(shí)現(xiàn)能適合所有的應(yīng)用場景。
在大部分的加密機(jī)制中。用戶通常選擇容易記住的弱口令,因此系統(tǒng)容易遭受暴力破解攻擊。蜜罐加密技術(shù)[4]讓攻擊者不能從密碼猜解過程中獲取足夠多的信息。對于每個可能的密鑰,系統(tǒng)輸出一條看起來有效的消息。這樣,很難猜測哪個密鑰是正確的。通過這種方式,蜜罐加密技術(shù)能夠保護(hù)弱口令和很多應(yīng)用中的私密數(shù)據(jù)。
蜜罐加密技術(shù)欺騙了攻擊者,讓其認(rèn)為錯誤的密碼是正確的。它是一種欺騙技術(shù)。過去20年來,安全研究人員提出不少欺騙技術(shù),用于提升系統(tǒng)安全。蜜標(biāo)(honeytoken)[5]就是其中一種。當(dāng)蜜標(biāo)被人使用時,說明入侵正在發(fā)生。蜜標(biāo)的一個重要應(yīng)用是蜜詞[3]。蜜詞是數(shù)據(jù)庫中存儲的系統(tǒng)登錄密碼。正常用戶不使用。因此一旦檢測到被使用,就意味著系統(tǒng)被入侵了,然后系統(tǒng)向安全人員發(fā)出警報(bào)。蜜罐[2]、蜜網(wǎng)[6]以及蜜場(honeyfarm)[7-10]也是虛假的誘捕資源,容易成為攻擊者的攻擊目標(biāo)。設(shè)置這些系統(tǒng)是為了學(xué)習(xí)攻擊者的目的、攻擊手段和方法。
蜜罐加密技術(shù)也與格式保護(hù)加密技術(shù)[11]以及格式轉(zhuǎn)換加密技術(shù)[12]相關(guān)。在格式保護(hù)加密技術(shù)中,明文消息空間與密文消息空間相同。在格式轉(zhuǎn)換加密技術(shù)中,密文空間不同于消息空間。蜜罐加密將明文消息映射到種子空間中一段種子區(qū)間。因?yàn)橄⒖臻g與種子空間不同,那么密文空間與明文消息空間不同。
Vinayak等[13]將蜜罐加密技術(shù)應(yīng)用到無線傳感器網(wǎng)絡(luò),保護(hù)無線傳感器網(wǎng)絡(luò)免于暴力破解攻擊。Tyagi等[4]采取了蜜罐加密技術(shù)保護(hù)信用卡卡號和簡化版的文本消息通信。這些研究都基于均衡分布的消息空間。基因數(shù)據(jù)的概率分布不均衡,GenoGuard機(jī)制[14]將蜜罐加密技術(shù)用于保護(hù)基因數(shù)據(jù)。在這些研究中都使用了固定的DTE,因此不能對二進(jìn)制流數(shù)據(jù),例如視頻和圖片進(jìn)行保護(hù)。Yoon等[15]提出虛擬蜜罐加密概念,使用了動態(tài)DTE保護(hù)圖片和視頻。
在本文中將蜜罐加密技術(shù)應(yīng)用到一些新的對象,包括居民身份證、手機(jī)號碼和銀行卡密碼。這些數(shù)據(jù)都是很重要的私人數(shù)據(jù),一旦泄露會給個人帶來經(jīng)濟(jì)和名譽(yù)上的損失,因此需要對它們進(jìn)行保護(hù)。雖然學(xué)術(shù)界對蜜罐加密技術(shù)的應(yīng)用技術(shù)進(jìn)行了一定的研究,但是由于應(yīng)用對象的消息格式和概率分布不同,那么針對新的應(yīng)用,需要重新設(shè)計(jì)消息空間。而本文精心選取了三個應(yīng)用,目的是為了證實(shí)蜜罐加密技術(shù)對不同應(yīng)用的保護(hù)能力是有區(qū)別的,例如,對儲蓄卡密碼的保護(hù)能力較強(qiáng),而對手機(jī)號碼的保護(hù)能力較弱。
在針對三個應(yīng)用的蜜罐加密技術(shù)的設(shè)計(jì)和實(shí)現(xiàn)中,考慮了大/小消息空間、均衡/非均衡分布的消息概率以及對稱/非對稱加密算法。本文對蜜罐加密技術(shù)的性能開銷進(jìn)行了評估,發(fā)現(xiàn)了大消息空間存在性能問題。針對小消息空間本文提出了一種性能優(yōu)化方案,研究發(fā)現(xiàn)如果消息空間沒有設(shè)計(jì)好,蜜罐加密技術(shù)可能失去它的效能;同時還發(fā)現(xiàn)蜜罐加密技術(shù)需要為不同的應(yīng)用對象設(shè)計(jì)消息空間,因此沒有一個實(shí)現(xiàn)能適合所有的應(yīng)用場景。
蜜罐加密技術(shù)保護(hù)的對象是一些具有共同特征的消息集。例如所有信用卡號構(gòu)成一個消息空間。在加密消息時,先確定消息空間,再將消息空間中的消息按照某個順序進(jìn)行排列,然后計(jì)算出每條消息的概率分布函數(shù)(Probability Distribution Function, PDF)以及加權(quán)概率分布函數(shù)(Cumulative Distribution Function, CDF)。DTE根據(jù)消息的PDF和CDF值將明文消息映射到種子空間中的一段種子區(qū)間。DTE確保消息的PDF值與相關(guān)的種子區(qū)間在種子空間的概率相同。種子空間通常是n比特?cái)?shù)字。n需要足夠大,以確保每個消息能夠映射到至少一顆種子。在大多數(shù)情況下,消息能夠被映射到多顆種子,DTE會隨機(jī)選擇其中一顆。
下面以加密咖啡為例介紹蜜罐加密技術(shù)。如圖1所示,咖啡消息空間M包含卡普奇諾、濃咖啡、拿鐵和摩卡。將這四條消息按照字母進(jìn)行排列。假定北京有4/8的人喜歡卡普奇諾,2/8的人喜歡濃咖啡,1/8的人喜歡拿鐵和摩卡。種子空間是3比特?cái)?shù)字空間。根據(jù)這些概率值,將這四條消息對應(yīng)到種子空間的四個區(qū)間。當(dāng)加密卡普奇諾時,DTE從相關(guān)的種子區(qū)間中隨機(jī)選擇一顆種子,將這個種子與密鑰進(jìn)行異或得到密文。
圖1 使用蜜罐加密技術(shù)加密咖啡Fig.1 Using honey encryption to encrypt coffee
在解密過程中,密文與密鑰進(jìn)行異或獲得種子,然后DTE將種子反向映射到原來的明文。在加密過程中,消息可能含有多個映射選擇,映射是單向的而且隨機(jī)的。但是可以將消息空間中明文進(jìn)行排序,根據(jù)消息的CDF和PDF確定消息對應(yīng)的種子區(qū)間,這樣能確保種子區(qū)間按照同樣順序進(jìn)行排列,而且種子區(qū)間的CDF值與對應(yīng)消息在消息空間的CDF值一致。因此能夠建立反向映射表,它包含CDF到明文消息的映射。找到種子,就能確定種子所在的種子區(qū)間,找到種子區(qū)間,就能確定種子區(qū)間與對應(yīng)明文消息共有的CDF。然后通過在反向映射表中根據(jù)CDF值就能查到相應(yīng)的明文,實(shí)現(xiàn)解密。
在蜜罐加密技術(shù)中,消息空間隨應(yīng)用的不同而不同,但是加解密算法是相同的。將DTE抽象為一個對象,作為公共模塊,實(shí)現(xiàn)加解密算法,再將消息空間抽象為另一個對象。對于加密,DTE模塊從消息空間中獲取參數(shù),例如PDF和CDF值。因此,在設(shè)計(jì)消息空間對象時抽象出DTE所需的參數(shù)接口。在解密時,DTE的主要工作是搜索反向映射表獲得正確的明文消息,因此消息空間需要提供消息概率和反向映射表的接口。
2.2.1 消息空間API
DTE將明文消息映射到種子區(qū)間中的一顆種子。種子區(qū)間的起始處由消息的CDF決定,種子區(qū)間的末端由消息的PDF決定。因此可為消息空間定義兩個函數(shù):cumulative_probability(msg)和probability(msg),這兩個函數(shù)接受消息msg為參數(shù),分別返回消息的CDF和PDF值。當(dāng)定義消息空間時,需要實(shí)現(xiàn)這兩個函數(shù)。
在解密時,DTE通過種子的CDF從反向映射表中查找明文消息。反向映射表儲存在一個文件中,定義get_inverse_table_name()函數(shù),返回該文件名。然后由DTE打開文件并進(jìn)行解密。如果反向映射表不大,可以在系統(tǒng)啟動時將其讀入內(nèi)存,那么在解密時,可以使用二分查找算法來尋找明文消息,從而節(jié)省時間。但是,如果反向映射表大于主機(jī)內(nèi)存時,內(nèi)存就無法容納反向映射表。因此,需要逐行讀入該文件,進(jìn)行處理,最終找到相應(yīng)的明文。
2.2.2 DTE實(shí)現(xiàn)
DTE將明文消息映射到一段種子空間,從中隨機(jī)選擇一顆種子,并將其與密鑰異或得到密文。種子空間的起始處由消息的CDF決定,末端由消息的PDF決定,然后從中隨機(jī)選擇一顆種子。
當(dāng)對密文進(jìn)行解密時,將密文與密鑰進(jìn)行異或得到種子。然后DTE確定該種子在種子空間的位置。這個位置對應(yīng)著一個概率值,該概率值位于對應(yīng)明文消息和其下一條消息的CDF之間。反向映射表每一行包含一個CDF值以及相應(yīng)的明文。所有的行按照CDF升序排列。DTE根據(jù)種子概率值尋找反向映射表,得到明文。
在本章中,將蜜罐加密技術(shù)應(yīng)用到身份證號碼、手機(jī)號碼和銀行卡密碼。DTE和消息空間接口的代碼可以重用。但需要根據(jù)不同的應(yīng)用定制消息空間。實(shí)現(xiàn)代碼在https://github.com/yinweihappy168 /honeyencryption.git可以下載。
身份證號碼標(biāo)識居民個人信息,在銀行開戶、買房、購買火車/飛機(jī)票等場合時使用,因此很多商家都保存有身份證號碼的信息,而身份證號碼一旦泄露,就可能被惡意攻擊者利用,造成經(jīng)濟(jì)和名譽(yù)損失。因此,需要對身份證號碼進(jìn)行很好的保護(hù)。
身份證號碼含有18位,如圖2所示。前6位是位置標(biāo)識,指示持有者出生的省、市、區(qū)。第7到14位標(biāo)識出生日期,格式為YYYYMMDD,例如,1985年5月11日出生的人表示為19850511。第15到17位是順序碼,唯一標(biāo)識同一個區(qū)中同一天出生的人;特別地,第17位能標(biāo)識一個人的性別。第18位是校驗(yàn)碼,根據(jù)特定算法對前17個位進(jìn)行運(yùn)算得到。在本文中,不必關(guān)心這個位如何計(jì)算,因?yàn)檫@個位是確定的。因此當(dāng)產(chǎn)生消息空間時忽略該位以簡化實(shí)現(xiàn)。
圖2 身份證號碼組成
Fig. 2 Composition of identity card number
中國擁有3 519個地區(qū),因此前6位有3 519個選擇。因?yàn)橐荒暧?65天,所以第11到14位含有365個選擇。順序碼有999個選擇,但是實(shí)際上順序碼很少達(dá)到999。因此消息空間共有N=3 519*Y*365*999條消息,其中Y是考慮到的年數(shù)。假設(shè)每條消息擁有同樣的PDF值p,那么p=1/N。因此,probability(msg)函數(shù)為每條消息返回p。將消息空間按照升序排列,那么消息的CDF值取決于消息在消息空間所在位置,則CDF為i/N,其中i為消息在消息空間的位置。因此,實(shí)現(xiàn)cumulative_probability(msg)函數(shù)時,需要先確定消息的位置,再計(jì)算出CDF。
當(dāng)考慮100年和999個順序碼時,消息空間太大,反向映射表的大小遠(yuǎn)大于內(nèi)存大小,這使得處理開銷非常大。因此,只考慮在2012年到2016年之間出生的人,順序碼為1到49之間,即使這樣,消息空間也有5.7 GB,大于測試機(jī)3 GB內(nèi)存。
定義Identification類,實(shí)現(xiàn)了消息空間接口,定義probability(msg)、cumulative_probability(msg)以及get_inverse_table_file_name(msg)函數(shù)。當(dāng)加密時,DTE輸出種子,系統(tǒng)與將密鑰與種子異或得到密文。解密時,系統(tǒng)將密鑰與密文進(jìn)行異或得到種子,然后DTE將種子映射到身份證號碼。我們也使用了錯誤的密鑰對密文進(jìn)行解密,蜜罐加密系統(tǒng)從消息空間中輸出一條隨機(jī)消息。從消息格式上看來,像是正確解密了但是實(shí)際上卻沒有。
目前,手機(jī)是主要的通信工具;除此之外,手機(jī)號碼還與儲蓄卡或網(wǎng)上銀行綁定處理金融交易。手機(jī)號碼遭到泄露不僅威脅到銀行賬號的安全,而且持有者容易成為垃圾短信的受害者,因此要對手機(jī)號碼進(jìn)行很好的保護(hù)。
手機(jī)號碼由11位組成,前3個位是運(yùn)行商碼。在中國有三大運(yùn)營商:中國移動、中國聯(lián)通和中國電信。每個運(yùn)營商分配了一定數(shù)目的運(yùn)行商碼。第4到7位是地理碼,我們?yōu)楸本┞?lián)通號碼進(jìn)行了蜜罐加密保護(hù)。對于北京聯(lián)通公司,前7位有2 872個選擇,最后4位有10 000個選擇,因此消息空間有N=2 872*10 000條消息。假定每個號碼的PDF相同為p,則probability(msg)函數(shù)返回p=1/N,cumulative_probability(msg)返回i/N,其中i是消息在消息空間中的位置。
定義MobileNumber類,并實(shí)現(xiàn)上述三個接口函數(shù)。給定一個手機(jī)號碼,DTE輸出一個隨機(jī)種子,然后將種子與密鑰進(jìn)行異或,得到密文。對于一個特定的手機(jī)號碼,使用系統(tǒng)加密多次,系統(tǒng)輸出不同的密文,因?yàn)榉N子的選擇是隨機(jī)的。解密過程中,將密文與密鑰進(jìn)行異或,得到種子,然后DTE根據(jù)種子查詢反向映射表得到明文。
密碼是用來認(rèn)證用戶的常見手段,由大小寫字母、數(shù)字和符號組成。密碼越長,密碼的安全性越高。但是,在現(xiàn)實(shí)生活中,很多密碼很弱,比如6位數(shù)字的銀行卡密碼。因此,銀行系統(tǒng)需要好好地保護(hù)銀行卡密碼免于暴力破解攻擊。銀行卡密碼消息空間包含N=106條消息,從000 000到999 999。對消息空間進(jìn)行排序,假定每條消息含有同樣的概率,因此probability(msg)返回PDF=1/N,cumulative_probability(msg)返回i/N,其中i是消息位置。
實(shí)現(xiàn)Password類,并與DTE進(jìn)行對接。系統(tǒng)能正確地進(jìn)行加解密。當(dāng)使用錯誤的猜測口令時,系統(tǒng)能從消息空間中輸出一條消息,以此來迷惑攻擊者。
在本文中,使用東芝Portege M800筆記本作為性能評估平臺,處理器是英特爾雙核Duo 2.0處理器,內(nèi)存為3 GB,操作系統(tǒng)為Ubuntu麒麟16.04版本。實(shí)驗(yàn)的目的是評估加解密所需時間。為了能夠方便地對消息空間進(jìn)行成倍增加,選擇密碼消息空間作為實(shí)驗(yàn)對象,并將消息空間大小從106增加到108。
對于大消息空間,DTE需要逐行讀入消息空間文件,計(jì)算出消息的PDF和CDF值,確定種子區(qū)間并隨機(jī)選擇一顆種子。最終,被選擇的種子與密鑰進(jìn)行異或獲得密文。
將消息空間的大小從106增加到108,對加密時間進(jìn)行了評估,實(shí)驗(yàn)結(jié)果如圖3(a)所示,其中橫軸代表消息在消息空間中的位置。例如,0.25代表消息位于消息空間的25%處。如圖3(a)所示,加密時間隨著消息在消息空間的位置加深而增長。這是因?yàn)榧用苓^程逐行讀入消息空間獲取概率值。此外,消息空間越大,需要的加密時間越長,這是因?yàn)榧用苤凶詈臅r的過程是處理消息空間。對于消息空間為106和107時,加密時間比較小,但是對于108消息空間,時間最高達(dá)70 s。
在解密過程中,DTE首先將密鑰與密文進(jìn)行異或獲取種子,然后確定種子在種子空間中的位置,使用位置信息查詢反向映射表,獲得明文消息。
對解密時間進(jìn)行測量,結(jié)果如圖3(b)所示,橫軸代表明文消息在反向映射表中的位置。從圖3(b)中看出,隨著消息在反向映射表中的位置加深,解密時間隨之增加。這是因?yàn)榻饷苓^程逐行讀入反向映射表并進(jìn)行處理,最終實(shí)現(xiàn)解密。
對于大消息空間,解密算法需要逐行讀入反向映射表,根據(jù)CDF找到明文消息。對于小的消息空間,因?yàn)樗紦?jù)內(nèi)存空間小,可以在系統(tǒng)初始化時將整個反向映射表讀入內(nèi)存,然后使用二分查找算法查找對應(yīng)的明文消息。
當(dāng)消息空間超過內(nèi)存大小,加密算法需要逐行讀入消息空間文件,確定消息的PDF和CDF值。在Password消息空間中,消息是按照升序排列,那么消息的值V與其位置信息L就相關(guān)了,即L=V+1。而加權(quán)概率CDF值與消息的位置也相關(guān),即CDF=L/N,其中N是消息數(shù)目。因此,CDF值與消息值V也相關(guān)。那么在加密過程中,不需要搜索消息空間文件來確定CDF值,只用根據(jù)消息值V計(jì)算出CDF值。本文改進(jìn)了加解密算法,并進(jìn)行了性能評估。需要指出的是并不是所有的消息空間都有這種特性。以身份證號碼為例,消息的CDF值與消息本身的值不相關(guān),因此不能進(jìn)行優(yōu)化。
增強(qiáng)型機(jī)制的加密時間如圖4(a)所示,不管消息位于何處,加密時間僅僅只有136 μs,而且對于106至107消息空間,加密時間曲線重疊,意味著加密時間與消息空間大小不相關(guān)。這是因?yàn)閷ο⑦M(jìn)行加密時,消息的PDF和CDF值能根據(jù)公式計(jì)算得出,而不用讀入和處理文件。
圖3 蜜罐加密技術(shù)性能Fig. 3 Performance of honey encryption mechanism
圖4 增強(qiáng)型蜜罐加密技術(shù)性能Fig. 4 Performance of enhanced honey encryption mechanism
增強(qiáng)型機(jī)制的解密時間如圖4(b)所示,不管消息位于何處,解密時間大約是45 μs。對于且對于106至107消息空間,解密時間曲線重疊,意味著解密時間與消息空間不相關(guān)。這說明當(dāng)消息空間很小時,二分查找算法的開銷相近。我們嘗試評估108消息空間的解密時間,可是因?yàn)槠浞聪蛴成浔硖?,超過內(nèi)存大小,導(dǎo)致發(fā)生錯誤,因此不能證實(shí)該估計(jì)。
在第4章中,將蜜罐加密技術(shù)應(yīng)用到身份證號碼、手機(jī)號碼和銀行卡密碼。在這些應(yīng)用中,假設(shè)消息空間里的消息構(gòu)成均衡分布,同時將蜜罐加密技術(shù)與對稱密鑰機(jī)制結(jié)合設(shè)計(jì)了加解密算法。在本節(jié)中,將蜜罐加密技術(shù)應(yīng)用到非均衡分布的消息空間,也將其擴(kuò)展到非對稱密鑰加密機(jī)制——RSA(Rivest, Shamir, Adelman)算法。
在第2章中討論的咖啡例子是非均衡的消息空間,這一節(jié)將蜜罐加密技術(shù)應(yīng)用到該咖啡空間。將消息的PDF和CDF值分別存儲到字典里。probability(msg)和cumulative_probability(msg)通過查詢字典返回相應(yīng)的概率值。
將咖啡空間大小擴(kuò)展到106消息,并對加解密性能進(jìn)行了評估。實(shí)驗(yàn)數(shù)據(jù)如圖5所示。從圖5中可以看出,加解密時間不隨消息在消息空間的位置改變而改變。概率值存儲在字典中,而字典是無序的。不管消息位于何處,查詢字典所需時間相同,因此加密時間相同。同時,解密過程通過二分查找算法查詢列表,因此解密時間相同。這個例子說明當(dāng)消息空間里的消息構(gòu)成非均衡分布時,可以將概率值存儲到字典等數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)加密過程。
圖5 非均衡分布消息空間蜜罐加密技術(shù)性能Fig. 5 Performance of honey encryption mechanism with non-uniformly distributed message space
目前為止,我們將異或(eXclusive OR, XOR)操作作為對稱加密算法與蜜罐加密技術(shù)結(jié)合實(shí)現(xiàn)加解密算法。對稱加密算法假定涉及的加解密雙方能夠保護(hù)好密鑰,而且密鑰是通過安全方式進(jìn)行分發(fā)的。在本節(jié)中,將蜜罐加密技術(shù)應(yīng)用到公開密鑰機(jī)制RSA,解除這些限制。
加密過程很容易與RSA結(jié)合,使用公鑰對DTE的encode()方法輸出的隨機(jī)種子進(jìn)行加密,得到密文。解密過程的實(shí)現(xiàn)較難一些,因此當(dāng)使用錯誤的私鑰進(jìn)行解密時,RSA算法會發(fā)生錯誤,而不是輸出一個看似有效的種子。為了解決這個問題,系統(tǒng)將解密密鑰與正確的私鑰進(jìn)行比較,如果解密密鑰是正確的私鑰,則運(yùn)行RSA解密函數(shù),獲取種子;否則,系統(tǒng)從種子空間輸出一顆隨機(jī)種子,而不運(yùn)行RSA解密函數(shù)?;阢y行卡密碼應(yīng)用(增強(qiáng)版)實(shí)現(xiàn)了非對稱密鑰的蜜罐加密系統(tǒng),其中消息空間大小為106。
對該系統(tǒng)進(jìn)行了性能評估,實(shí)驗(yàn)數(shù)據(jù)如圖6所示。從圖6中可以看出,基于RSA的蜜罐加密系統(tǒng)所用加密時間是基于對稱密鑰的蜜罐加密系統(tǒng)的四倍;而且對于解密時間來說,這種差異更加明顯?;趯ΨQ密鑰的蜜罐加密系統(tǒng)的解密時間只有46 μs,而基于RSA的蜜罐加密系統(tǒng)所用解密時間達(dá)到0.045 s。因?yàn)镽SA計(jì)算開銷比較大,所以基于RSA的蜜罐加密系統(tǒng)繼承了這個缺點(diǎn)。
圖6 蜜罐加密技術(shù)性能(非對稱vs.對稱密鑰)Fig. 6 Performance of honey encryption mechanism (asymmetric keys vs. symmetric keys)
以密碼應(yīng)用為例,將蜜罐加密技術(shù)與傳統(tǒng)的高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard, AES)進(jìn)行比較。如圖7所示,使用這兩種技術(shù)分別對字符串“062500”進(jìn)行加解密。當(dāng)使用錯誤的密鑰對經(jīng)過蜜罐加密技術(shù)處理的密文進(jìn)行解密時,系統(tǒng)輸出“250650”,和明文消息具有相同的格式,從而迷惑攻擊者。這是因?yàn)槊酃藜用芗夹g(shù)在即使解密秘鑰錯誤時,也能從消息空間輸出一條格式正確的消息。而當(dāng)使用AES進(jìn)行加密,并使用錯誤的密鑰進(jìn)行解密,AES算法輸出一串亂碼。這是因?yàn)閭鹘y(tǒng)的加密技術(shù)沒有類似蜜罐加密的機(jī)制對破解者進(jìn)行欺騙,而攻擊者根據(jù)這串亂碼就可以斷定猜測的密鑰是錯誤的。由此可以看出,傳統(tǒng)的加密技術(shù)能夠提供給攻擊者足夠的信息判斷暴力破解何時可以成功退出,因此具有脆弱性。
圖7 蜜罐加密技術(shù)與AES比較Fig. 7 Comparison of honey encryption mechanism and AES
本文針對身份證號碼、手機(jī)號碼以及銀行卡密碼三個應(yīng)用設(shè)計(jì)、實(shí)現(xiàn)和評估了蜜罐加密系統(tǒng),通過研究發(fā)現(xiàn)蜜罐加密技術(shù)能有效地解決暴力破解問題,但是也存在著一些局限性。
1)蜜罐加密技術(shù)更適合小的消息空間,因?yàn)榇笙⒖臻g的處理開銷很大。
在蜜罐加密機(jī)制中,如果消息空間很大,導(dǎo)致反向映射表文件大于主機(jī)內(nèi)存,DTE需要逐行讀入文件進(jìn)行處理,因此開銷巨大。為了提高加解密速度,最好的方法是將文件讀入內(nèi)存,然后使用二分查找算法進(jìn)行解密,但是這需要主機(jī)有足夠大的內(nèi)存和強(qiáng)大的計(jì)算能力。因此,我們認(rèn)為蜜罐加密技術(shù)更適合消息空間比較小的應(yīng)用,否則,需要系統(tǒng)有很好的硬件配置。
2)消息空間需要設(shè)計(jì)好,否則蜜罐加密不能很好地解決暴力破解脆弱性問題。
當(dāng)猜測到錯誤口令時,雖然蜜罐加密技術(shù)能從消息空間中返回一條格式正確的消息迷惑攻擊者,使得攻擊者無法確定破解是否成功。但是攻擊者可以利用其他手段來確定。在手機(jī)號碼應(yīng)用中,攻擊者可以通過撥打手機(jī)號碼來確定手機(jī)號碼是否正確。對于身份證號碼,如果數(shù)據(jù)庫是男性醫(yī)院的,那么破解得到的身份證不會是女性的。對于0~4歲的小孩身份證,不太可能在網(wǎng)上商城數(shù)據(jù)庫中出現(xiàn)。在中學(xué),學(xué)生年齡大都處于12~19歲。利用這些信息可以判斷暴力破解結(jié)果是否正確。由于在解密過程中,蜜罐加密技術(shù)總會從消息空間中輸出一條消息,那么所輸出的消息不應(yīng)該具有任何特征,以免被黑客利用進(jìn)行識別。
3)蜜罐加密的保護(hù)能力隨應(yīng)用的不同而不同。
不管密碼是否正確,解密過程會從消息空間中輸出一條消息,那么這就會泄露一條信息。這對于不同的應(yīng)用可能有不同的后果。以身份證號碼為例,惡意攻擊者能獲取一些身份證號碼,但是他可能無法獲取持有者的姓名,因此他冒用身份證進(jìn)行犯罪的可能性就不太大。對于發(fā)垃圾短信的攻擊者,泄露的手機(jī)號碼就足夠了,因?yàn)樗魂P(guān)心手機(jī)號碼的持有者姓名。對于銀行卡密碼,不管猜測的密碼是否正確,解密過程返回的都是隨機(jī)數(shù)字,因此毫無用處,也因此安全性最高。
4)對于不同的應(yīng)用,蜜罐加密技術(shù)的實(shí)現(xiàn)需要定制,沒有任何一種實(shí)現(xiàn)能夠適合所有的應(yīng)用。
不同的應(yīng)用有不同的消息空間,所以,沒有任何一個蜜罐加密實(shí)現(xiàn)能夠適合所有的應(yīng)用場景。為了將蜜罐加密應(yīng)用到某個應(yīng)用,需要開發(fā)者定制消息空間和反向映射表。
為避免被濫用和惡意使用,私密數(shù)據(jù)需要受到很好的保護(hù)。在現(xiàn)行加密算法中,由于攻擊者可以根據(jù)暴力破解結(jié)果來判斷猜測的密碼是否正確,因此存在著安全隱患。蜜罐加密技術(shù)是應(yīng)對該脆弱性的有效技術(shù)。本文介紹了蜜罐加密技術(shù)概念,并為身份證號碼、手機(jī)號碼和銀行卡密碼三個應(yīng)用設(shè)計(jì)和實(shí)現(xiàn)了蜜罐加密系統(tǒng)。對蜜罐加密系統(tǒng)的性能進(jìn)行了評估并提出一種增強(qiáng)型機(jī)制來解決性能開銷問題,并總結(jié)了學(xué)習(xí)到的經(jīng)驗(yàn)。
References)
[1] JUELS A, RISTENPART T. Honey encryption: security beyond the brute-force bound [C]// Proceedings of the 2014 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 8441. Berlin: Springer, 2014: 293-310.
[2] OWEZARSKI P. A near real-time algorithm for autonomous identification and characterization of honeypot attacks [C]// Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security. Berlin: Springer, 2015: 531-542.
[3] JUELS A, RIVEST R L. Honeywords: making password-cracking detectable [C]// CCS 2013: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security. New York: ACM, 2013: 145-160.
[4] TYAGI N, WANG J, WEN K, et al. Honey encryption applications [EB/OL]. [2017- 04- 16]. https://courses.csail.mit.edu/6.857/2016/files/tyagi-wang-wen-zuo.pdf.
[5] SPITZNER L. Honeytokens: the other honeypot [J]. Network Security, 2003, 12(2): 12-14.
[6] KIM I S, KIM M H. Agent-based honeynet framework for protecting servers in campus networks [J]. IET Information Security, 2012, 6(3): 202-211.
[7] JAIN P, SARDANA A. Defending against internet worms using honeyfarm [C]// Proceedings of the 2010 CUBE International Information Technology Conference. New York: ACM, 2012: 795-800.
[8] 王力,萬園春,邱衛(wèi)東.基于蜜罐的Android 惡意代碼動態(tài)分析[J].微型電腦應(yīng)用,2016,32(11):50-53.(WANG L, WAN Y C, QIU W D. Dynamic analysis of Android malware based on honeypot [J]. Microcomputer Applications, 2016, 32(11): 50-53.)
[9] 陳翠云,梁華慶.基于蜜罐提升Snort 檢測能力的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016,24(4):48-51.(CHEN C Y, LIANG H Q. Design on enhancement of Snort detection capabilities based on honeypot technology [J]. Electronic Design Engineering, 2016, 24(4): 48-51.)
[10] 郭軍權(quán),諸葛建偉,孫東紅,等.Spampot:基于分布式蜜罐的垃圾郵件捕獲系統(tǒng)[J].計(jì)算機(jī)研究與發(fā)展,2014,51(5):1071-1080.(GUO J Q, ZHUGE J W, SUN D H, et al. Spampot: a spam capture system based on distributed honeypots [J]. Journal of Computer Research and Development, 2014, 51(5): 1071-1080.)
[11] BELLARE M, RISTENPART T, ROGAWAY P, et al. Format-preserving encryption [C]// Proceedings of the 2009 International Workshop on Selected Areas in Cryptography, LNCS 5867. Berlin: Springer, 2009: 295-312.
[12] DYER K P, COULL S E, RISTENPART T, et al. Protocol misidentification made easy with formattransforming encryption [C]// CCS 2013: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security. New York: ACM, 2013: 61-72.
[13] VINAYAK P P, NAHALA M A. Avoiding brute force attack in MANET using honey encryption [J]. International Journal of Science and Research, 2015, 4(3): 83-85.
[14] HUANG Z C, AYDAY E, FELLAY J, et al. GenoGuard: protecting genomic data against brute-force attacks [C] // Proceedings of the 2015 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2015: 447-462.
[15] YOON J W, KIM H, JO H J, et al. Visual honey encryption: application to steganography [C]// Proceedings of the 2015 3rd ACM Workshop on Information Hiding and Multimedia Security. New York: ACM, 2015: 65-74.
This work is partially supported by the National Natural Science Foundation of China (61702542), the China Postdoctoral Science Foundation (2016M603017).
YINWei, born in 1982, Ph. D., engineer. His research interests include network security, wireless network.
ZHOUHongjian, born in 1972, Ph. D., senior engineer. His research interests include network security, big data.
XINGGuoqiang, born in 1981, M. S., engineer. His research interests include network security.
Applicationofhoneyencryptionmechanisminprotectionofprivatedata
YIN Wei*, ZHOU Hongjian, XING Guoqiang
(95899Unit,Beijing100085,China)
In order to solve the vulnerability problem of the traditional encryption mechanisms, the honey encryption mechanism was applied to three types of private data including identity card numbers, mobile phone numbers and bank card passwords to protect data storage security. Firstly, the principle of honey encryption was analyzed and discussed, and a distributed-transforming encryptor for honey encryption system was designed. Then, the message space was abstracted, and the system was implemented and its performance was evaluated. The performance overhead problem was found and an enhanced mechanism was proposed. The message spaces with uniformly/non-uniformly distribution were taken into account and also used for symmetric encryption algorithm and public key encryption mechanism in the design and implementation of honey encryption. Through the proposed design, system implementation and experimental results of honey encryption, the following conclusions are drawn: 1)due to the performance issue, honey encryption is more suitable for a small message space instead of a large one; 2)the design of message space needs to be considered comprehensively, which can not bring fingerprint characteristics, otherwise it can not solve the vulnerability problem of brute-force attack; 3)the protection ability of honey encryption is different with the application; 4) the implementation of honey encryption has to be customized for different applications.
honey encryption; private data; brute-force attack;message space;distributed-transforming encryptor
2017- 05- 16;
2017- 07- 31。
國家自然科學(xué)基金資助項(xiàng)目(61702542);中國博士后基金資助項(xiàng)目(2016M603017)。
銀偉(1982—),男,湖南邵陽人,工程師,博士,主要研究方向:網(wǎng)絡(luò)安全、無線網(wǎng)絡(luò); 周紅建(1972—),男,湖北鄂州人,高級工程師,博士,主要研究方向:網(wǎng)絡(luò)安全、大數(shù)據(jù); 邢國強(qiáng)(1981—),男,山西太原人,工程師,碩士,主要研究方向:網(wǎng)絡(luò)安全。
1001- 9081(2017)12- 3406- 06
10.11772/j.issn.1001- 9081.2017.12.3406
(*通信作者電子郵箱yinwei168@gmail.com)
TN915.08
A