銀 偉, 周紅建, 邢國強
(95899部隊, 北京 100085)
蜜罐加密技術在私密數據保護中的應用
銀 偉*, 周紅建, 邢國強
(95899部隊, 北京 100085)
針對傳統加密技術脆弱性問題,將蜜罐加密技術應用到身份證號碼、手機號碼和銀行卡密碼的保護中以保證數據存儲安全。首先,分析闡述了蜜罐加密技術原理,并設計了對蜜罐加密系統分布式轉換加密器;然后,抽象了消息空間,對系統進行實現和性能評估,發現性能開銷問題并提出增強型機制。在蜜罐加密設計與實現中,考慮到均衡分布和隨機分布的消息空間,并將其運用到對稱加密算法和公鑰加密機制。通過所提設計、系統實現和實驗結果得出以下結論:1)由于性能問題,蜜罐加密技術更適合小的消息空間;2)設計消息空間時需要考慮周全,不能帶來指紋特征,否則不能解決暴力破解脆弱性問題;3)蜜罐加密的保護能力隨應用的不同而不同;4)對于不同的應用,蜜罐加密技術的實現需要定制。
蜜罐加密;私密數據;暴力破解;消息空間;分布式轉換加密器
我們之中大部分人都遭受過垃圾短信的騷擾;有些人可能因為身份被冒用辦理了信用卡,被銀行要求還款;還有些人被罪犯冒用身份進行犯罪活動。這些事情之所以發生,是因為私密數據沒有被很好地保護,遭到泄露,然后被惡意方利用,給當事者帶來金錢和名譽的損失。
網上購買物品時,需要客戶填寫手機號碼方便投遞;購買火車票時,需要填寫身份證號碼。商家收集我們的私密數據,有些商家以明文方式存儲這些數據,有些商家則進行加密存儲。但是,只要有足夠的時間和計算能力,對現行加密算法進行破解總能成功。這是因為現行的加密算法存在著脆弱性,即攻擊者能根據暴力破解的輸出結果來判斷猜測的口令是否正確。
Juels等[1]提出了蜜罐加密技術來解決這個問題。“蜜”在網絡安全界經常被用來描述一個虛假的資源。例如,蜜罐(honey)[2]是虛假的服務器,吸引攻擊者掃描和滲透。蜜詞(honeyword)[3]是數據庫中虛假的用戶名和密碼。一旦被使用,就檢測到了入侵。蜜罐加密技術是解決現行加密技術脆弱性的有效手段。通過該項技術,即使是使用錯誤的密碼去破解,輸出結果也看起來像是被正確破解了。這樣,攻擊者就很難判斷猜測的密碼是正確的還是錯誤的。
蜜罐加密技術的創新點在于分布式轉換加密器(Distributed-Transforming Encryptor, DTE)的設計。根據消息空間每條消息的出現概率,它將消息映射到種子空間的一段種子區間,然后從中隨機選擇一個種子,并與密鑰進行異或得到密文。在解密時,密文與密鑰異或得到種子,DTE根據該種子的位置信息將其映射到明文消息。即使這個密鑰是錯誤的,解密過程也從消息空間中輸出一條消息,以此來迷惑攻擊者。
本文的工作在于四個方面:一是設計與實現了蜜罐加密系統,并應用在身份證號碼、手機號碼和銀行卡密碼上;二是評估了蜜罐加密機制的性能,提出增強型機制解決性能問題;三是將蜜罐加密技術應用到均衡分布的消息空間和隨機分布的消息空間,不僅考慮了對稱加密算法,還考慮了公鑰密碼機制;四是總結了在設計、實現和評估中得到的經驗。具體而言,有下列幾點認識:1)蜜罐加密技術適合小的消息空間,因為大消息空間的處理開銷很大。2)設計消息空間需要考慮周全,否則不能有效應對暴力破解攻擊。3)蜜罐加密技術對私密數據的保護能力根據應用的不同而不同。4)蜜罐加密技術的實現需要定制,因為消息空間隨應用的不同而不同,那么沒有一個實現能適合所有的應用場景。
在大部分的加密機制中。用戶通常選擇容易記住的弱口令,因此系統容易遭受暴力破解攻擊。蜜罐加密技術[4]讓攻擊者不能從密碼猜解過程中獲取足夠多的信息。對于每個可能的密鑰,系統輸出一條看起來有效的消息。這樣,很難猜測哪個密鑰是正確的。通過這種方式,蜜罐加密技術能夠保護弱口令和很多應用中的私密數據。
蜜罐加密技術欺騙了攻擊者,讓其認為錯誤的密碼是正確的。它是一種欺騙技術。過去20年來,安全研究人員提出不少欺騙技術,用于提升系統安全。蜜標(honeytoken)[5]就是其中一種。當蜜標被人使用時,說明入侵正在發生。蜜標的一個重要應用是蜜詞[3]。蜜詞是數據庫中存儲的系統登錄密碼。正常用戶不使用。因此一旦檢測到被使用,就意味著系統被入侵了,然后系統向安全人員發出警報。蜜罐[2]、蜜網[6]以及蜜場(honeyfarm)[7-10]也是虛假的誘捕資源,容易成為攻擊者的攻擊目標。設置這些系統是為了學習攻擊者的目的、攻擊手段和方法。
蜜罐加密技術也與格式保護加密技術[11]以及格式轉換加密技術[12]相關。在格式保護加密技術中,明文消息空間與密文消息空間相同。在格式轉換加密技術中,密文空間不同于消息空間。蜜罐加密將明文消息映射到種子空間中一段種子區間。因為消息空間與種子空間不同,那么密文空間與明文消息空間不同。
Vinayak等[13]將蜜罐加密技術應用到無線傳感器網絡,保護無線傳感器網絡免于暴力破解攻擊。Tyagi等[4]采取了蜜罐加密技術保護信用卡卡號和簡化版的文本消息通信。這些研究都基于均衡分布的消息空間。基因數據的概率分布不均衡,GenoGuard機制[14]將蜜罐加密技術用于保護基因數據。在這些研究中都使用了固定的DTE,因此不能對二進制流數據,例如視頻和圖片進行保護。Yoon等[15]提出虛擬蜜罐加密概念,使用了動態DTE保護圖片和視頻。
在本文中將蜜罐加密技術應用到一些新的對象,包括居民身份證、手機號碼和銀行卡密碼。這些數據都是很重要的私人數據,一旦泄露會給個人帶來經濟和名譽上的損失,因此需要對它們進行保護。雖然學術界對蜜罐加密技術的應用技術進行了一定的研究,但是由于應用對象的消息格式和概率分布不同,那么針對新的應用,需要重新設計消息空間。而本文精心選取了三個應用,目的是為了證實蜜罐加密技術對不同應用的保護能力是有區別的,例如,對儲蓄卡密碼的保護能力較強,而對手機號碼的保護能力較弱。
在針對三個應用的蜜罐加密技術的設計和實現中,考慮了大/小消息空間、均衡/非均衡分布的消息概率以及對稱/非對稱加密算法。本文對蜜罐加密技術的性能開銷進行了評估,發現了大消息空間存在性能問題。針對小消息空間本文提出了一種性能優化方案,研究發現如果消息空間沒有設計好,蜜罐加密技術可能失去它的效能;同時還發現蜜罐加密技術需要為不同的應用對象設計消息空間,因此沒有一個實現能適合所有的應用場景。
蜜罐加密技術保護的對象是一些具有共同特征的消息集。例如所有信用卡號構成一個消息空間。在加密消息時,先確定消息空間,再將消息空間中的消息按照某個順序進行排列,然后計算出每條消息的概率分布函數(Probability Distribution Function, PDF)以及加權概率分布函數(Cumulative Distribution Function, CDF)。DTE根據消息的PDF和CDF值將明文消息映射到種子空間中的一段種子區間。DTE確保消息的PDF值與相關的種子區間在種子空間的概率相同。種子空間通常是n比特數字。n需要足夠大,以確保每個消息能夠映射到至少一顆種子。在大多數情況下,消息能夠被映射到多顆種子,DTE會隨機選擇其中一顆。
下面以加密咖啡為例介紹蜜罐加密技術。如圖1所示,咖啡消息空間M包含卡普奇諾、濃咖啡、拿鐵和摩卡。將這四條消息按照字母進行排列。假定北京有4/8的人喜歡卡普奇諾,2/8的人喜歡濃咖啡,1/8的人喜歡拿鐵和摩卡。種子空間是3比特數字空間。根據這些概率值,將這四條消息對應到種子空間的四個區間。當加密卡普奇諾時,DTE從相關的種子區間中隨機選擇一顆種子,將這個種子與密鑰進行異或得到密文。

圖1 使用蜜罐加密技術加密咖啡Fig.1 Using honey encryption to encrypt coffee
在解密過程中,密文與密鑰進行異或獲得種子,然后DTE將種子反向映射到原來的明文。在加密過程中,消息可能含有多個映射選擇,映射是單向的而且隨機的。但是可以將消息空間中明文進行排序,根據消息的CDF和PDF確定消息對應的種子區間,這樣能確保種子區間按照同樣順序進行排列,而且種子區間的CDF值與對應消息在消息空間的CDF值一致。因此能夠建立反向映射表,它包含CDF到明文消息的映射。找到種子,就能確定種子所在的種子區間,找到種子區間,就能確定種子區間與對應明文消息共有的CDF。然后通過在反向映射表中根據CDF值就能查到相應的明文,實現解密。
在蜜罐加密技術中,消息空間隨應用的不同而不同,但是加解密算法是相同的。將DTE抽象為一個對象,作為公共模塊,實現加解密算法,再將消息空間抽象為另一個對象。對于加密,DTE模塊從消息空間中獲取參數,例如PDF和CDF值。因此,在設計消息空間對象時抽象出DTE所需的參數接口。在解密時,DTE的主要工作是搜索反向映射表獲得正確的明文消息,因此消息空間需要提供消息概率和反向映射表的接口。
2.2.1 消息空間API
DTE將明文消息映射到種子區間中的一顆種子。種子區間的起始處由消息的CDF決定,種子區間的末端由消息的PDF決定。因此可為消息空間定義兩個函數:cumulative_probability(msg)和probability(msg),這兩個函數接受消息msg為參數,分別返回消息的CDF和PDF值。當定義消息空間時,需要實現這兩個函數。
在解密時,DTE通過種子的CDF從反向映射表中查找明文消息。反向映射表儲存在一個文件中,定義get_inverse_table_name()函數,返回該文件名。然后由DTE打開文件并進行解密。如果反向映射表不大,可以在系統啟動時將其讀入內存,那么在解密時,可以使用二分查找算法來尋找明文消息,從而節省時間。但是,如果反向映射表大于主機內存時,內存就無法容納反向映射表。因此,需要逐行讀入該文件,進行處理,最終找到相應的明文。
2.2.2 DTE實現
DTE將明文消息映射到一段種子空間,從中隨機選擇一顆種子,并將其與密鑰異或得到密文。種子空間的起始處由消息的CDF決定,末端由消息的PDF決定,然后從中隨機選擇一顆種子。
當對密文進行解密時,將密文與密鑰進行異或得到種子。然后DTE確定該種子在種子空間的位置。這個位置對應著一個概率值,該概率值位于對應明文消息和其下一條消息的CDF之間。反向映射表每一行包含一個CDF值以及相應的明文。所有的行按照CDF升序排列。DTE根據種子概率值尋找反向映射表,得到明文。
在本章中,將蜜罐加密技術應用到身份證號碼、手機號碼和銀行卡密碼。DTE和消息空間接口的代碼可以重用。但需要根據不同的應用定制消息空間。實現代碼在https://github.com/yinweihappy168 /honeyencryption.git可以下載。
身份證號碼標識居民個人信息,在銀行開戶、買房、購買火車/飛機票等場合時使用,因此很多商家都保存有身份證號碼的信息,而身份證號碼一旦泄露,就可能被惡意攻擊者利用,造成經濟和名譽損失。因此,需要對身份證號碼進行很好的保護。
身份證號碼含有18位,如圖2所示。前6位是位置標識,指示持有者出生的省、市、區。第7到14位標識出生日期,格式為YYYYMMDD,例如,1985年5月11日出生的人表示為19850511。第15到17位是順序碼,唯一標識同一個區中同一天出生的人;特別地,第17位能標識一個人的性別。第18位是校驗碼,根據特定算法對前17個位進行運算得到。在本文中,不必關心這個位如何計算,因為這個位是確定的。因此當產生消息空間時忽略該位以簡化實現。

圖2 身份證號碼組成
Fig. 2 Composition of identity card number
中國擁有3 519個地區,因此前6位有3 519個選擇。因為一年有365天,所以第11到14位含有365個選擇。順序碼有999個選擇,但是實際上順序碼很少達到999。因此消息空間共有N=3 519*Y*365*999條消息,其中Y是考慮到的年數。假設每條消息擁有同樣的PDF值p,那么p=1/N。因此,probability(msg)函數為每條消息返回p。將消息空間按照升序排列,那么消息的CDF值取決于消息在消息空間所在位置,則CDF為i/N,其中i為消息在消息空間的位置。因此,實現cumulative_probability(msg)函數時,需要先確定消息的位置,再計算出CDF。
當考慮100年和999個順序碼時,消息空間太大,反向映射表的大小遠大于內存大小,這使得處理開銷非常大。因此,只考慮在2012年到2016年之間出生的人,順序碼為1到49之間,即使這樣,消息空間也有5.7 GB,大于測試機3 GB內存。
定義Identification類,實現了消息空間接口,定義probability(msg)、cumulative_probability(msg)以及get_inverse_table_file_name(msg)函數。當加密時,DTE輸出種子,系統與將密鑰與種子異或得到密文。解密時,系統將密鑰與密文進行異或得到種子,然后DTE將種子映射到身份證號碼。我們也使用了錯誤的密鑰對密文進行解密,蜜罐加密系統從消息空間中輸出一條隨機消息。從消息格式上看來,像是正確解密了但是實際上卻沒有。
目前,手機是主要的通信工具;除此之外,手機號碼還與儲蓄卡或網上銀行綁定處理金融交易。手機號碼遭到泄露不僅威脅到銀行賬號的安全,而且持有者容易成為垃圾短信的受害者,因此要對手機號碼進行很好的保護。
手機號碼由11位組成,前3個位是運行商碼。在中國有三大運營商:中國移動、中國聯通和中國電信。每個運營商分配了一定數目的運行商碼。第4到7位是地理碼,我們為北京聯通號碼進行了蜜罐加密保護。對于北京聯通公司,前7位有2 872個選擇,最后4位有10 000個選擇,因此消息空間有N=2 872*10 000條消息。假定每個號碼的PDF相同為p,則probability(msg)函數返回p=1/N,cumulative_probability(msg)返回i/N,其中i是消息在消息空間中的位置。
定義MobileNumber類,并實現上述三個接口函數。給定一個手機號碼,DTE輸出一個隨機種子,然后將種子與密鑰進行異或,得到密文。對于一個特定的手機號碼,使用系統加密多次,系統輸出不同的密文,因為種子的選擇是隨機的。解密過程中,將密文與密鑰進行異或,得到種子,然后DTE根據種子查詢反向映射表得到明文。
密碼是用來認證用戶的常見手段,由大小寫字母、數字和符號組成。密碼越長,密碼的安全性越高。但是,在現實生活中,很多密碼很弱,比如6位數字的銀行卡密碼。因此,銀行系統需要好好地保護銀行卡密碼免于暴力破解攻擊。銀行卡密碼消息空間包含N=106條消息,從000 000到999 999。對消息空間進行排序,假定每條消息含有同樣的概率,因此probability(msg)返回PDF=1/N,cumulative_probability(msg)返回i/N,其中i是消息位置。
實現Password類,并與DTE進行對接。系統能正確地進行加解密。當使用錯誤的猜測口令時,系統能從消息空間中輸出一條消息,以此來迷惑攻擊者。
在本文中,使用東芝Portege M800筆記本作為性能評估平臺,處理器是英特爾雙核Duo 2.0處理器,內存為3 GB,操作系統為Ubuntu麒麟16.04版本。實驗的目的是評估加解密所需時間。為了能夠方便地對消息空間進行成倍增加,選擇密碼消息空間作為實驗對象,并將消息空間大小從106增加到108。
對于大消息空間,DTE需要逐行讀入消息空間文件,計算出消息的PDF和CDF值,確定種子區間并隨機選擇一顆種子。最終,被選擇的種子與密鑰進行異或獲得密文。
將消息空間的大小從106增加到108,對加密時間進行了評估,實驗結果如圖3(a)所示,其中橫軸代表消息在消息空間中的位置。例如,0.25代表消息位于消息空間的25%處。如圖3(a)所示,加密時間隨著消息在消息空間的位置加深而增長。這是因為加密過程逐行讀入消息空間獲取概率值。此外,消息空間越大,需要的加密時間越長,這是因為加密中最耗時的過程是處理消息空間。對于消息空間為106和107時,加密時間比較小,但是對于108消息空間,時間最高達70 s。
在解密過程中,DTE首先將密鑰與密文進行異或獲取種子,然后確定種子在種子空間中的位置,使用位置信息查詢反向映射表,獲得明文消息。
對解密時間進行測量,結果如圖3(b)所示,橫軸代表明文消息在反向映射表中的位置。從圖3(b)中看出,隨著消息在反向映射表中的位置加深,解密時間隨之增加。這是因為解密過程逐行讀入反向映射表并進行處理,最終實現解密。
對于大消息空間,解密算法需要逐行讀入反向映射表,根據CDF找到明文消息。對于小的消息空間,因為它占據內存空間小,可以在系統初始化時將整個反向映射表讀入內存,然后使用二分查找算法查找對應的明文消息。
當消息空間超過內存大小,加密算法需要逐行讀入消息空間文件,確定消息的PDF和CDF值。在Password消息空間中,消息是按照升序排列,那么消息的值V與其位置信息L就相關了,即L=V+1。而加權概率CDF值與消息的位置也相關,即CDF=L/N,其中N是消息數目。因此,CDF值與消息值V也相關。那么在加密過程中,不需要搜索消息空間文件來確定CDF值,只用根據消息值V計算出CDF值。本文改進了加解密算法,并進行了性能評估。需要指出的是并不是所有的消息空間都有這種特性。以身份證號碼為例,消息的CDF值與消息本身的值不相關,因此不能進行優化。
增強型機制的加密時間如圖4(a)所示,不管消息位于何處,加密時間僅僅只有136 μs,而且對于106至107消息空間,加密時間曲線重疊,意味著加密時間與消息空間大小不相關。這是因為對消息進行加密時,消息的PDF和CDF值能根據公式計算得出,而不用讀入和處理文件。

圖3 蜜罐加密技術性能Fig. 3 Performance of honey encryption mechanism

圖4 增強型蜜罐加密技術性能Fig. 4 Performance of enhanced honey encryption mechanism
增強型機制的解密時間如圖4(b)所示,不管消息位于何處,解密時間大約是45 μs。對于且對于106至107消息空間,解密時間曲線重疊,意味著解密時間與消息空間不相關。這說明當消息空間很小時,二分查找算法的開銷相近。我們嘗試評估108消息空間的解密時間,可是因為其反向映射表太大,超過內存大小,導致發生錯誤,因此不能證實該估計。
在第4章中,將蜜罐加密技術應用到身份證號碼、手機號碼和銀行卡密碼。在這些應用中,假設消息空間里的消息構成均衡分布,同時將蜜罐加密技術與對稱密鑰機制結合設計了加解密算法。在本節中,將蜜罐加密技術應用到非均衡分布的消息空間,也將其擴展到非對稱密鑰加密機制——RSA(Rivest, Shamir, Adelman)算法。
在第2章中討論的咖啡例子是非均衡的消息空間,這一節將蜜罐加密技術應用到該咖啡空間。將消息的PDF和CDF值分別存儲到字典里。probability(msg)和cumulative_probability(msg)通過查詢字典返回相應的概率值。
將咖啡空間大小擴展到106消息,并對加解密性能進行了評估。實驗數據如圖5所示。從圖5中可以看出,加解密時間不隨消息在消息空間的位置改變而改變。概率值存儲在字典中,而字典是無序的。不管消息位于何處,查詢字典所需時間相同,因此加密時間相同。同時,解密過程通過二分查找算法查詢列表,因此解密時間相同。這個例子說明當消息空間里的消息構成非均衡分布時,可以將概率值存儲到字典等數據結構實現加密過程。

圖5 非均衡分布消息空間蜜罐加密技術性能Fig. 5 Performance of honey encryption mechanism with non-uniformly distributed message space
目前為止,我們將異或(eXclusive OR, XOR)操作作為對稱加密算法與蜜罐加密技術結合實現加解密算法。對稱加密算法假定涉及的加解密雙方能夠保護好密鑰,而且密鑰是通過安全方式進行分發的。在本節中,將蜜罐加密技術應用到公開密鑰機制RSA,解除這些限制。
加密過程很容易與RSA結合,使用公鑰對DTE的encode()方法輸出的隨機種子進行加密,得到密文。解密過程的實現較難一些,因此當使用錯誤的私鑰進行解密時,RSA算法會發生錯誤,而不是輸出一個看似有效的種子。為了解決這個問題,系統將解密密鑰與正確的私鑰進行比較,如果解密密鑰是正確的私鑰,則運行RSA解密函數,獲取種子;否則,系統從種子空間輸出一顆隨機種子,而不運行RSA解密函數。基于銀行卡密碼應用(增強版)實現了非對稱密鑰的蜜罐加密系統,其中消息空間大小為106。
對該系統進行了性能評估,實驗數據如圖6所示。從圖6中可以看出,基于RSA的蜜罐加密系統所用加密時間是基于對稱密鑰的蜜罐加密系統的四倍;而且對于解密時間來說,這種差異更加明顯。基于對稱密鑰的蜜罐加密系統的解密時間只有46 μs,而基于RSA的蜜罐加密系統所用解密時間達到0.045 s。因為RSA計算開銷比較大,所以基于RSA的蜜罐加密系統繼承了這個缺點。

圖6 蜜罐加密技術性能(非對稱vs.對稱密鑰)Fig. 6 Performance of honey encryption mechanism (asymmetric keys vs. symmetric keys)
以密碼應用為例,將蜜罐加密技術與傳統的高級加密標準(Advanced Encryption Standard, AES)進行比較。如圖7所示,使用這兩種技術分別對字符串“062500”進行加解密。當使用錯誤的密鑰對經過蜜罐加密技術處理的密文進行解密時,系統輸出“250650”,和明文消息具有相同的格式,從而迷惑攻擊者。這是因為蜜罐加密技術在即使解密秘鑰錯誤時,也能從消息空間輸出一條格式正確的消息。而當使用AES進行加密,并使用錯誤的密鑰進行解密,AES算法輸出一串亂碼。這是因為傳統的加密技術沒有類似蜜罐加密的機制對破解者進行欺騙,而攻擊者根據這串亂碼就可以斷定猜測的密鑰是錯誤的。由此可以看出,傳統的加密技術能夠提供給攻擊者足夠的信息判斷暴力破解何時可以成功退出,因此具有脆弱性。

圖7 蜜罐加密技術與AES比較Fig. 7 Comparison of honey encryption mechanism and AES
本文針對身份證號碼、手機號碼以及銀行卡密碼三個應用設計、實現和評估了蜜罐加密系統,通過研究發現蜜罐加密技術能有效地解決暴力破解問題,但是也存在著一些局限性。
1)蜜罐加密技術更適合小的消息空間,因為大消息空間的處理開銷很大。
在蜜罐加密機制中,如果消息空間很大,導致反向映射表文件大于主機內存,DTE需要逐行讀入文件進行處理,因此開銷巨大。為了提高加解密速度,最好的方法是將文件讀入內存,然后使用二分查找算法進行解密,但是這需要主機有足夠大的內存和強大的計算能力。因此,我們認為蜜罐加密技術更適合消息空間比較小的應用,否則,需要系統有很好的硬件配置。
2)消息空間需要設計好,否則蜜罐加密不能很好地解決暴力破解脆弱性問題。
當猜測到錯誤口令時,雖然蜜罐加密技術能從消息空間中返回一條格式正確的消息迷惑攻擊者,使得攻擊者無法確定破解是否成功。但是攻擊者可以利用其他手段來確定。在手機號碼應用中,攻擊者可以通過撥打手機號碼來確定手機號碼是否正確。對于身份證號碼,如果數據庫是男性醫院的,那么破解得到的身份證不會是女性的。對于0~4歲的小孩身份證,不太可能在網上商城數據庫中出現。在中學,學生年齡大都處于12~19歲。利用這些信息可以判斷暴力破解結果是否正確。由于在解密過程中,蜜罐加密技術總會從消息空間中輸出一條消息,那么所輸出的消息不應該具有任何特征,以免被黑客利用進行識別。
3)蜜罐加密的保護能力隨應用的不同而不同。
不管密碼是否正確,解密過程會從消息空間中輸出一條消息,那么這就會泄露一條信息。這對于不同的應用可能有不同的后果。以身份證號碼為例,惡意攻擊者能獲取一些身份證號碼,但是他可能無法獲取持有者的姓名,因此他冒用身份證進行犯罪的可能性就不太大。對于發垃圾短信的攻擊者,泄露的手機號碼就足夠了,因為他不關心手機號碼的持有者姓名。對于銀行卡密碼,不管猜測的密碼是否正確,解密過程返回的都是隨機數字,因此毫無用處,也因此安全性最高。
4)對于不同的應用,蜜罐加密技術的實現需要定制,沒有任何一種實現能夠適合所有的應用。
不同的應用有不同的消息空間,所以,沒有任何一個蜜罐加密實現能夠適合所有的應用場景。為了將蜜罐加密應用到某個應用,需要開發者定制消息空間和反向映射表。
為避免被濫用和惡意使用,私密數據需要受到很好的保護。在現行加密算法中,由于攻擊者可以根據暴力破解結果來判斷猜測的密碼是否正確,因此存在著安全隱患。蜜罐加密技術是應對該脆弱性的有效技術。本文介紹了蜜罐加密技術概念,并為身份證號碼、手機號碼和銀行卡密碼三個應用設計和實現了蜜罐加密系統。對蜜罐加密系統的性能進行了評估并提出一種增強型機制來解決性能開銷問題,并總結了學習到的經驗。
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] 王力,萬園春,邱衛東.基于蜜罐的Android 惡意代碼動態分析[J].微型電腦應用,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 檢測能力的設計[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] 郭軍權,諸葛建偉,孫東紅,等.Spampot:基于分布式蜜罐的垃圾郵件捕獲系統[J].計算機研究與發展,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。
國家自然科學基金資助項目(61702542);中國博士后基金資助項目(2016M603017)。
銀偉(1982—),男,湖南邵陽人,工程師,博士,主要研究方向:網絡安全、無線網絡; 周紅建(1972—),男,湖北鄂州人,高級工程師,博士,主要研究方向:網絡安全、大數據; 邢國強(1981—),男,山西太原人,工程師,碩士,主要研究方向:網絡安全。
1001- 9081(2017)12- 3406- 06
10.11772/j.issn.1001- 9081.2017.12.3406
(*通信作者電子郵箱yinwei168@gmail.com)
TN915.08
A