動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

Ad-hoc網(wǎng)絡由一系列不依靠任何預先定義的網(wǎng)絡基礎結(jié)構(gòu)來實現(xiàn)網(wǎng)絡功能并實現(xiàn)網(wǎng)絡管理的移動節(jié)點組成,它能夠在沒有任何中心管理設備的情況下自動形成、合并及劃分。隨著Ad-hoc網(wǎng)絡應
用的不斷增多,Ad-hoc網(wǎng)絡的安全問題變得越來越嚴重。有線等同安全協(xié)議( WEP)是IEEE 802. 11標準所定義的一種安全協(xié)議,已經(jīng)有許多文獻對WEP算法的安全問題進行分析,并給出了更為安全的替代算法。公鑰加密技術已經(jīng)在許多現(xiàn)有網(wǎng)絡中得到使用,它能為系統(tǒng)提供比較有力的支持。然而,公鑰加密算法過多的計算量卻限制了其在Ad-hoc網(wǎng)中的使用。

本文結(jié)合Ad-hoc網(wǎng)絡特性引入動態(tài)加密技術,將加密函數(shù)的復雜性轉(zhuǎn)變?yōu)閯討B(tài)密鑰加密和密鑰管理,并以此降低加密操作在計算方面的復雜性。使用動態(tài)加密技術的好處在于能有效地應對系統(tǒng)密文被破解的情況。因為在動態(tài)加密技術中,某次破解所得到的密鑰與其它加密數(shù)據(jù)并沒有任何關系,因此動態(tài)加密機制在安全性方面要比靜態(tài)加密方案好得多。本文提出的動態(tài)加密技術屬于流加密技術,仍使用對稱加密技術,通過引入流加密技術可以在原加密方案中增加時間維參量。動態(tài)密鑰被一個由門限方法生成的中心機構(gòu)來進行初始化,隨后將這個動態(tài)密鑰發(fā)送到相應的通信方。該方案的優(yōu)點在于可以減少終端用戶間交換的對稱加密密鑰量;以最小的計算開銷實現(xiàn)連續(xù)快速的身份認證;整個動態(tài)認證過程是以通信各方動態(tài)密鑰的連續(xù)生成為基礎。

一、Ad-hoc網(wǎng)的常用加密算法

1、WEP算法

IEEE 802. 11標準使用WEP算法作為加密操作的基礎,WEP算法的加密密鑰用來在發(fā)送數(shù)據(jù)前實現(xiàn)對數(shù)據(jù)包的加密。WEP使用RC4流密碼加密算法,流密碼操作是將一個短密鑰擴展成一個無限長的偽隨機密鑰流,發(fā)送方利用異或(XOR)操作將明文變換成密文,接收方擁有同樣的密鑰,它會利用這個對應密鑰再生成一個相同的解密密鑰流,通過將解密密鑰流與加密密文之間的XOR操作實現(xiàn)對密文解密。為了保證數(shù)據(jù)包在傳輸過程中不被改變,在WEP算法中,數(shù)據(jù)包要使用完整性校驗(IC)選項。為了避免對兩段明文使用相同的密鑰流進行加密,WEP使用初始向量(IV)對共享密鑰依次進行加密來為每個數(shù)據(jù)包提供一個不同的RC4密碼,IV也同樣包括在數(shù)據(jù)包中。雖然這些方案在理論上能夠確保系統(tǒng)的安全性,但是這些方法在實際應用中并不能得到有效使用,從而使系統(tǒng)在安全性方面存在嚴重缺陷。

2、TKIP算法

TKIP算法通過對WEP算法實施一系列變換所得到更有效的加密算法。TKIP算法能夠在現(xiàn)有硬件系統(tǒng)基礎上實施,并且不會對現(xiàn)有系統(tǒng)造成任何損害。其密鑰混合功能能夠用來構(gòu)建多達216個
IV,也就是說,TKIP密碼體制至少在對216個數(shù)據(jù)包處理之后再實施密鑰更新,通過使用專門的生成密鑰規(guī)則來仔細選擇新的臨時密鑰,工作站和接入點通過使用重新生成密鑰機制得到新的臨時密鑰。必須要保證TKIP在這個交換過程的安全性,否則攻擊者就可以通過冒充重新生成密鑰,從而對臨時密鑰造成威脅。重新生成密鑰機制對系統(tǒng)的安全保護是非常重要的,但僅僅通過這個機制并不足以提供完全的安全保護。

二、同步動態(tài)加密系統(tǒng)

本文提到的加密方法仍基于流密碼加密體制,并通過所有參與方的相互認證來實現(xiàn)數(shù)據(jù)安全交換。所有加密密鑰都是以上次使用的加密密鑰與當前發(fā)送或者接收數(shù)據(jù)包為參數(shù),用公式表示為:

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

式中,為密鑰生成函數(shù)。

在密鑰生成函數(shù)中包含數(shù)據(jù)信息,這就要求密碼分析過程必須要獲得當前的數(shù)據(jù)信息和前面的密鑰來猜測新密鑰。因為每個數(shù)據(jù)都要生成一個新密鑰,所以在明文與密文之間就能夠產(chǎn)生足夠大的熵,密文值可能是對任何明文的加密結(jié)果,這要依賴其使用的密鑰。這種復雜性在已知的加密方案中并沒有使用。

為了實現(xiàn)高速數(shù)據(jù)傳輸目標,必須要保證設計算法采用簡單加密函數(shù),所以本方案仍使用XOR來作為加解密函數(shù)。XOR函數(shù)的簡單性可以補償密鑰生成過程由于字節(jié)緩沖所帶來的復雜性,字節(jié)
緩存是通過一個動態(tài)變換表來實現(xiàn)的。為了達到更高的安全性并避免各種可能的攻擊,本方案減少了在終端用戶之間、接入點之間和認證服務器之間的認證,最重要的是,系統(tǒng)在認證過程的動態(tài)密鑰生成期間可以保證移動用戶和AS/AP之間的同步性。

如果共享對稱認證密鑰的任意兩個節(jié)點的連接被中斷,就要啟動同步密鑰的重新生成機制,即使是在離線狀態(tài)下也是如此。除非一個節(jié)點已經(jīng)被認證服務器提前認證,否則,對于一個非成員終端用戶而言不可能擁有與AS相同的同步動態(tài)密鑰。對較為明確節(jié)點的認證過程僅僅執(zhí)行一次操作,這次認證過程是在移動節(jié)點第一次與AS建立連接的時候?qū)崿F(xiàn)的,隨后的認證過程都是以隱蔽方式進行,并不需要交換任何明文與密鑰信息,但是需要一個安全的通信信道來減少其計算負荷。本系統(tǒng)包含兩種類型的動態(tài)密鑰,一種是DAK,另一種是DSK.AS需要在注冊的移動終端處生成DAK信息。DSK會在AP之間或者節(jié)點之間的所有通信會話過程中生成,而且僅僅在會話過程中生成。

1、DAK的管理和使用

圖1給出了動態(tài)密鑰安全管理的系統(tǒng)結(jié)構(gòu)。

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

AS的主要功能是為節(jié)點(node)和AP之間提供安全的相互認征。終端用戶的認證過程如下:

1)每個無線網(wǎng)卡都有一個IDP(MAC地址,IDAK),所有IDPs都被安全地存儲在AS中。這種方法能夠避免采用傳統(tǒng)證書來實施認證,并且能夠?qū)ode/AP的MAC地址與IDAK綁定在一起。

2) AS與node之間建立相同的動態(tài)DAK生成裝置,來生成相同的DAKs序列。

3)對于任何認證過程的需求,node和AS都會保持他們原有的密鑰生成器并通過同步操作來獲得相同密鑰。對DAK生成器實施保持的目的在于允許處理速度較慢的節(jié)點與處理速度較快的節(jié)點實現(xiàn)同步。只有在慢速節(jié)點與快速節(jié)點之間得到了相同的DAK密鑰以后,慢速節(jié)點才能夠重新開始DAK的生成過程。該DAK會在認證過程中充當認證協(xié)議的加解密密鑰。然后,這兩個節(jié)點會從相同的DAK中重新生成DAK.當一個移動終端第一次申請建立連接時,經(jīng)過AS認證的本地AP會將建立連接請求通知給AS.然后,在終端用戶和AS之間生成一個通信子進程,每個子進程都會在整個通信會話過程中代表其父進程來運行,這樣做可以防止由于同步或認證過程發(fā)生失敗所帶來的影響。因為所有用戶與AS是同步的,所以它們要具有相同的DAK,在雙方生成相同的隨機DAK.該DAK在初始認證過程會當作加解密密鑰來使用。當對用戶成功認證之后,本地AP會接收到所有的認證信息,其中包含有終端用戶的DAK.從該過程以后,AP就會充當AS的角色,將AS的功能移交AP的目的足為了減少在切換過程中所必需的時間消耗。當切換用戶時,AP會對終端用戶進行認證,新生成的DAK會被周期性地加以緩存,以保證在切換過程中終端用戶與接入點之間實現(xiàn)快速同步。

2、通過動態(tài)會話密鑰的安全通信會話

當AS接收到從一個AP到另外一個AP的會話建立請求時,AS會對兩個AP實施認證并生成一個初始DSKAPS,通過每個AP的DAK將信息以加密的形式發(fā)送給兩個AP。圖2中給出DSKAPS的生成模型,它被當成一個加密密鑰,目的是對AP之間的通信提供安全保護。當兩個節(jié)點( nodes)請求建立一個安全連接時,與源用戶相連的接入點會生成一個DSKnod。并將這個DSK通過DAK加密操作安全地發(fā)送到源用戶。然后,將相同的DSKnode。通過共享的DSKAPS發(fā)送給AP.ItB。最后,APdes用DAKdes對DSKnode進行解密,將解密結(jié)果發(fā)送給目的用戶。其中,第一個DSKnode用來實現(xiàn)DSK的初始化,隨后,這兩個通信用戶就可以通過重新生成相同序列的DSK來對數(shù)據(jù)進行加密,每個數(shù)據(jù)要用一個密鑰進行加密。當整個會話結(jié)束之后,DSK會被通信雙方拋棄。

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

3、動態(tài)加密解密過程

圖3給出了動態(tài)加密解密算法的處理流程。

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

圖中,D和K用來生成Ctmp,它們會按照變換表(PT)進行依次變換來生成系統(tǒng)密文C。為了對Ctmp進行緩沖,PT會按照相應的密鑰K一起生成,PT的字節(jié)會從1~m逐個掃描,并使用輸入的序列
號和相應的輸入值作為臨時密文兩個交換字節(jié)的編號。整個變換過程包括加密和解密兩個過程。當在1—m之間進行加密操作時,通過CtmP[PT[f]將Ctmp[i]進行重新排序,并得到最終的密文序列。解密過程以相反的變換表來實現(xiàn),解密過程的變換表是當前密鑰K的一個反向序列。對于1~m之間的任意i,執(zhí)行:

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

變換的結(jié)果足得到一個臨時密文Ctmp,然后將這個結(jié)果會與當前的密鑰K和數(shù)據(jù)D進行XOR操作。加密操作以后的發(fā)送者和解密操作的接收者通過使用發(fā)送和接收數(shù)據(jù)來執(zhí)行密鑰管理操作。

4、用戶與AP之間的認證過程

當安裝有(MAC2.IDAK)無線網(wǎng)卡的終端用戶向本地AP首次發(fā)送認證請求時,接入點會將這個認證請求發(fā)送給AS.并將其DAK發(fā)送給AP??梢缘弥@個AP已經(jīng)被AS認證過,并且每個AP都是
通過AS被鄰近的AP所認證。圖4詳細說明了終端用戶第一次認證的請求過程。其中,E(N)代表用終端用戶的DAK對N進行加密。

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

5、切換過程

當用戶與相連的APi通信信號變?nèi)跻院?,該用戶就會尋找具有更強信號的AP,如果這個過程正好發(fā)生在它與AP2剛剛斷開連接之后,那么終端用戶就會與AP2馬上建立連接6否則,用戶將向APi發(fā)送一個切換請求,其中還會包含有AP2的信息。圖5說明了整個切換過程。

動態(tài)加密技術在Ad-hoc網(wǎng)絡中的應用

通常情況下,AP1和AP2是相鄰的并且是以有線方式連接的。所以,它們是已經(jīng)被AS認證過的。遵照“被一個可信用戶信任的用戶仍然是可信的”理論。AP1會向AP2發(fā)送一個安全的切換要求,其中包含有用戶的認證信息。當這兩個AP已經(jīng)被相互認證,那么AP之間的通信就是安全的,這個安全性是以AS的DAK信息來保證的。然后,AP1會向用戶發(fā)送一個安全的斷開聯(lián)系消息,此時AP2并不立刻將該用戶的信息去除而是等待一個Δt時間。這樣能夠防止其再次切換所帶來的麻煩。

三、密鑰管理

本系統(tǒng)的密鑰管理過程可以在線方式和離線方式兩種方式來實現(xiàn)。當以在線方式工作時,共享相同密鑰的雙方在實施完數(shù)據(jù)加密后要重新生成密鑰。該過程通過對當前的數(shù)據(jù)與密鑰進行Hash運算得到新密鑰,該Hash函數(shù)的結(jié)果將作為下一次加密的新密鑰。離線模式的動態(tài)密鑰生成尾將上次發(fā)送或者接收到的數(shù)據(jù)與當前的密鑰值作為重新生成密鑰的種子。注意到:在線模式的同步操作是在發(fā)送和接收數(shù)據(jù)時實現(xiàn)的。為了在離線模式下實現(xiàn)系統(tǒng)同步,需要對每個密鑰保留一個計數(shù)器,當持有密鑰的雙方重新開始通信時,他們會檢查當前的計數(shù)值并將這兩個計數(shù)值進行統(tǒng)一化處理以實現(xiàn)密鑰重生成過程。該方案的密鑰管理與流密碼非常相似,但是該方案在數(shù)據(jù)中引入了更多的動態(tài)過程,隨機過程的實現(xiàn)是通過在加密過程中引入隨機數(shù),并在存在安全連接請求時避免使用相同的初始密鑰而以離線方式重新生成密鑰來實現(xiàn)。密鑰管理過程如下:

1)擴展密鑰是密鑰K自身長度的兩倍,K、D、FrpK要被分成m/2個域,并將這些域編號為l—m/2。K和D的每個域長度都足2個字節(jié),而FrpK是4個字節(jié)6在擴展域Ea:pK中的任意域中的連續(xù)4個字節(jié)都被編號為4r -3,4r-2,4r-l和4r,在K、D域r中的連續(xù)兩個字節(jié)被編號為2r-l和2r.在ErpK中對域的填充以如下方式實現(xiàn)。

2)在2m長的ExpK中任意選擇m個字節(jié)。

3)生成m個數(shù)字序列,每個數(shù)字都對應一個選擇數(shù)據(jù)的編號,并將其放在下一個新生成的密鑰中。為了實現(xiàn)同步要求,該操作在密鑰的雙方持有者中都要執(zhí)行。

四、性能比較

將本文提出的動態(tài)加密與認證方案與其它常用的無線加密軟件進行比較,試驗結(jié)果表明,該方案比現(xiàn)有的AES.3DES.WEP等加解密方案更為快速。表1給出了相應的試驗結(jié)果。

動態(tài)加密解密方法處理速度之所以快的原因就在于其加解密函數(shù)實現(xiàn)起來的簡便性。該算法已經(jīng)將加密函數(shù)的復雜性轉(zhuǎn)換為動態(tài)密鑰加密和對動態(tài)密鑰的管理上。另外,該方案對于密鑰截獲攻擊也具有非常好的抵御能力。在整個操作過程中,初始密鑰僅僅被加密一次,并可以對共享相同動態(tài)密鑰的一組終端實施連續(xù)認證。因為對無線通信過程中帶寬要求不斷增加,所以這種快速加密系統(tǒng)將是一種非常有效的選擇,另外這種快速認證機制對于移動通信環(huán)境也是非常適合的,它能夠減輕由于頻繁切換所帶來的安全性和速度之間的矛盾。

小知識之Ad hoc網(wǎng)絡

Ad hoc網(wǎng)絡是一種特殊的無線移動網(wǎng)絡。網(wǎng)絡中所有結(jié)點的地位平等,無需設置任何的中心控制結(jié)點。網(wǎng)絡中的結(jié)點不僅具有普通移動終端所需的功能,而且具有報文轉(zhuǎn)發(fā)能力。