信息安全原理與實(shí)踐-第二版10-真實(shí)世界中的安全協(xié)議課件_第1頁(yè)
信息安全原理與實(shí)踐-第二版10-真實(shí)世界中的安全協(xié)議課件_第2頁(yè)
信息安全原理與實(shí)踐-第二版10-真實(shí)世界中的安全協(xié)議課件_第3頁(yè)
信息安全原理與實(shí)踐-第二版10-真實(shí)世界中的安全協(xié)議課件_第4頁(yè)
信息安全原理與實(shí)踐-第二版10-真實(shí)世界中的安全協(xié)議課件_第5頁(yè)
已閱讀5頁(yè),還剩109頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1信息安全原理與實(shí)踐InformationSecurity:PrinciplesandPractice,2ndEdition[美]MarkStamp 著張戈 譯1信息安全原理與實(shí)踐InformationSecurity第10章真實(shí)世界中的安全協(xié)議2第10章真實(shí)世界中的安全協(xié)議210.1引言幾個(gè)廣泛應(yīng)用的真實(shí)世界中的安全協(xié)議SSH協(xié)議SSL協(xié)議IPSec協(xié)議Kerberos協(xié)議WEPGSM

310.1引言幾個(gè)廣泛應(yīng)用的真實(shí)世界中的安全協(xié)議310.2

SSHSecureShell,簡(jiǎn)稱為SSH,該協(xié)議創(chuàng)建了一個(gè)安全的通道,基于該通道,可以安全的方式執(zhí)行原本不安全的命令。例如UNIX系統(tǒng)中用于實(shí)現(xiàn)遠(yuǎn)程登錄的命令rloginSSH協(xié)議的認(rèn)證過(guò)程可以基于公鑰、數(shù)字證書或口令字。約定使用的術(shù)語(yǔ):

certificateA=Alice'scertificate(Alice的證書) certificateB=Bob'scertificate(Bob的證書) CP=cryptoproposed(加密方案的提議) CS=cryptoselected(加密方案的選定) H=h(Alice,Bob,CP,CS,RA,RB,gamodp,gbmodp,gabmodp) SB=[H]Bob K=gabmodp SA=[H,Alice,certificateA]Aliceh是加密哈希函數(shù)410.2SSHSecureShell,簡(jiǎn)稱為SSH,該協(xié)簡(jiǎn)化的SSH協(xié)議5數(shù)字簽名可以用來(lái)提供雙向交互認(rèn)證。因?yàn)閚once值RA是Alice發(fā)送給Bob的challenge,而SB是Bob的響應(yīng)。也就是說(shuō),nonce值RA提供了重放保護(hù),只有Bob能夠給出正確的響應(yīng),與此類似的交互過(guò)程可以證明Alice在最后一條消息中會(huì)被認(rèn)證。簡(jiǎn)化的SSH協(xié)議5數(shù)字簽名可以用來(lái)提供雙向交互認(rèn)證。10.3

SSL“套接字層”實(shí)際上處于IP協(xié)議棧中的應(yīng)用層和傳輸層之間。在實(shí)踐中,SSL協(xié)議最常應(yīng)用的場(chǎng)景是Web瀏覽,在這種情況下,應(yīng)用層的協(xié)議是HTTP,傳輸層的協(xié)議是TCP。例子:在上購(gòu)買一本書610.3SSL“套接字層”實(shí)際上處于IP協(xié)議棧中的應(yīng)用層和一個(gè)簡(jiǎn)單的SSL協(xié)議7其中的問(wèn)題就是,Bob的身份并沒有明白無(wú)誤地被認(rèn)證!對(duì)于Alice來(lái)說(shuō),唯一能夠確認(rèn)自己正在與Bob進(jìn)行交流的方式可能就是,對(duì)接收到的加密數(shù)據(jù)進(jìn)行驗(yàn)證,看其是否被正確加密了。一個(gè)簡(jiǎn)單的SSL協(xié)議7其中的問(wèn)題就是,Bob的身份并沒有明白基本SSL協(xié)議的一個(gè)比較完整的視圖約定術(shù)語(yǔ):S=thepre-mastersecret(預(yù)備主密碼)K=h(S,RA,RB)msgs=shorthandfor"allpreviousmessages"(表示“前面所有的消息”)CLNT=literalstring(文本串)SRVR=literalstring(文本串)8基本SSL協(xié)議的一個(gè)比較完整的視圖8實(shí)際應(yīng)用中會(huì)根據(jù)哈希值h(S,RA,RB)生成不止一個(gè)密鑰。事實(shí)上,根據(jù)這個(gè)哈希計(jì)算可以生成以下6個(gè)量:兩個(gè)加密密鑰,其中一個(gè)用于加密從客戶端發(fā)送給服務(wù)器的消息,另一個(gè)用于加密從服務(wù)器發(fā)送給客戶端的消息。兩個(gè)數(shù)據(jù)完整性密鑰,與前面加密密鑰的使用方式相同。兩個(gè)初始化向量(IV),其中一個(gè)用于客戶端,另一個(gè)用于服務(wù)器。簡(jiǎn)而言之,在協(xié)議中不同的數(shù)據(jù)傳送方向使用不同的密鑰。這有助于防止某些特定類型的攻擊。9實(shí)際應(yīng)用中會(huì)根據(jù)哈希值h(S,RA,RB)生成不止一個(gè)密10.3.1SSL協(xié)議和中間人攻擊SSL協(xié)議中是什么機(jī)制可以防止中間人攻擊呢?

1010.3.1SSL協(xié)議和中間人攻擊SSL協(xié)議中是什么機(jī)制可10.3.2

SSL連接SSL協(xié)議最初是由Netscape開發(fā),主要用于Web瀏覽場(chǎng)景。應(yīng)用層協(xié)議是HTTP,通常使用的HTTP協(xié)議有兩個(gè)版本,分別是HTTP1.0和HTTP1.1。由于公開密鑰運(yùn)算操作的原因,要為這些HTTP連接中的每一個(gè)都建立新的SSL會(huì)話將是不小的負(fù)擔(dān)。所以SSL協(xié)議的設(shè)計(jì)者們內(nèi)置了一種效率更高的協(xié)議:只要有一個(gè)SSL會(huì)話已然存在,再打開一個(gè)新的SSL連接就可以使用這個(gè)高效的協(xié)議。SSL連接協(xié)議的詳情:1110.3.2SSL連接SSL協(xié)議最初10.3.3

SSL和IPSecIPSec即InternetProtocolSecurity,它的設(shè)計(jì)目標(biāo)與SSL類似,就是提供網(wǎng)絡(luò)通信的安全保護(hù)。12SSLIPSec復(fù)雜度簡(jiǎn)單相對(duì)復(fù)雜IP協(xié)議棧的層數(shù)嵌套字層網(wǎng)絡(luò)層層次駐留在用戶空間位于操作系統(tǒng)運(yùn)行空間加密保護(hù)支持支持?jǐn)?shù)據(jù)完整性保護(hù)支持支持身份認(rèn)證支持支持10.3.3SSL和IPSecIPSec即Internet10.4

IPSecSSL協(xié)議和IPSec協(xié)議邏輯上的基本差異1310.4IPSecSSL協(xié)議和IPSec協(xié)議邏輯上的基本差I(lǐng)PSec協(xié)議的兩個(gè)主要組成部分Internet密鑰交換協(xié)議,或簡(jiǎn)稱為IKE(InternetKeyExchange),該協(xié)議提供了雙向交互認(rèn)證和會(huì)話密鑰。IKE協(xié)議包含兩個(gè)階段,這兩個(gè)階段分別相當(dāng)于SSL協(xié)議的會(huì)話建立過(guò)程和連接建立過(guò)程。封裝安全有效載荷和認(rèn)證頭,或簡(jiǎn)稱為ESP(EncapsulatingSecurityPayload)和AH(AuthenticationHeader),這兩者一起構(gòu)成了IPSec協(xié)議的第二部分。ESP提供IP數(shù)據(jù)包的加密和完整性保護(hù),而AH則只提供完整性保護(hù)。IKE是一種獨(dú)立的協(xié)議,可以脫離ESP/AH部分而獨(dú)立運(yùn)行。但是,既然在現(xiàn)實(shí)世界當(dāng)中IKE協(xié)議似乎只應(yīng)用于IPSec協(xié)議的場(chǎng)景中,所以我們就簡(jiǎn)單地將二者合在一起,統(tǒng)一稱之為IPSec。14IPSec協(xié)議的兩個(gè)主要組成部分14IKE協(xié)議包含了兩個(gè)階段階段一,建立所謂的IKE安全關(guān)聯(lián),也可以簡(jiǎn)稱為IKE-SA。階段二,建立IPSec安全關(guān)聯(lián),或被簡(jiǎn)稱為IPSec-SA。階段一相當(dāng)于SSL協(xié)議中的會(huì)話建立,而階段二則可以比作SSL協(xié)議中的連接建立。在IKE協(xié)議中,必須在完成了階段一和階段二之后,才能夠執(zhí)行ESP/AH。在IKE協(xié)議的階段一中,有4個(gè)不同的密鑰選項(xiàng):公開密鑰加密(原始版本)公開密鑰加密(改進(jìn)版本)數(shù)字簽名對(duì)稱密鑰上述每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式(mainmode)和一個(gè)積極模式(aggressivemode)。結(jié)果就是IKE協(xié)議的階段一總共有8個(gè)不同的版本。

15IKE協(xié)議15接下來(lái)將要對(duì)階段一的8個(gè)變體中的6個(gè)進(jìn)行討論,分別是:數(shù)字簽名(主模式和積極模式)、對(duì)稱密鑰(主模式和積極模式)公開密鑰加密(主模式和積極模式)。每一個(gè)階段一的變體都利用短時(shí)Diffie-Hellman密鑰交換方案來(lái)建立會(huì)話密鑰。這種方案的好處就是能夠提供完全正向保密(PerfectForwordSecrecy,PFS)。對(duì)于我們要討論的每一個(gè)變體,統(tǒng)一使用下面的Diffie-Hellman表示方法。令a為Alice的(短時(shí))Diffie-Hellman協(xié)商過(guò)程指數(shù),令b為Bob的(短時(shí))Diffie-Hellman協(xié)商過(guò)程指數(shù)。令g為生成器,p為素?cái)?shù)。p和g都是公開的。16接下來(lái)將要對(duì)階段一的8個(gè)變體中的6個(gè)進(jìn)行討論,分別是:1610.4.1IKE階段一:數(shù)字簽名方式

數(shù)字簽名版本的主模式1710.4.1IKE階段一:數(shù)字簽名方式數(shù)字簽名版本的主模每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式和一個(gè)積極模式。主模式的設(shè)計(jì)用于提供匿名特性,而積極模式則并非如此。數(shù)字簽名密鑰選項(xiàng)情況下的積極模式版本(請(qǐng)注意,其中并沒有試圖去隱藏Alice或Bob的身份,因此大幅地簡(jiǎn)化了該協(xié)議的交互過(guò)程。)介于數(shù)字簽名主模式和積極模式之間的一個(gè)微妙差別是:在主模式中,有可能將g和p的值作為“cryptoproposed(加密方案提議)”和“cryptoaccepted(加密方案選擇)”消息的一部分進(jìn)行協(xié)商。但是,在積極模式中卻不是這樣,因?yàn)镈iffie-Hellman值gamodp在第一條消息中就已經(jīng)發(fā)送了。18每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式和一個(gè)積極模式。主模式的設(shè)計(jì)用于10.4.2

IKE階段一:對(duì)稱密鑰方式

對(duì)稱密鑰選項(xiàng)方式的主模式這種主模式下存在所謂的Catch-22問(wèn)題可能存在的問(wèn)題:首先,Alice必須有一個(gè)靜態(tài)IP地址——如果Alice的IP地址變化了,這個(gè)模式就會(huì)失效。這個(gè)協(xié)議太復(fù)雜,其中使用了6條消息,也可能就是為了隱匿通信者的身份。但是,該協(xié)議并沒有成功地隱匿通信參與者的身份,除非你將靜態(tài)IP地址也視為機(jī)密信息。

1910.4.2IKE階段一:對(duì)稱密鑰方式對(duì)稱密鑰選項(xiàng)方式的10.4.3

IKE階段一:公開密鑰加密方式

公開密鑰加密選項(xiàng)版本,包括主模式和積極模式在公鑰加密版本的主模式下,Alice必須事先知道Bob的公鑰,反過(guò)來(lái)對(duì)Bob也是一樣。假設(shè)是Alice和Bob彼此都能夠訪問(wèn)對(duì)方的數(shù)字證書,而不需要再通過(guò)網(wǎng)絡(luò)進(jìn)行傳遞。公開密鑰加密選項(xiàng)下的主模式協(xié)議詳解:

20公開密鑰加密選項(xiàng)下的積極模式允許Alice和Bob保持匿名身份。

10.4.3IKE階段一:公開密鑰加密方式公開密鑰加密選存在的安全問(wèn)題

假設(shè)Trudy生成了Diffie-Hellman的指數(shù)a和b,以及隨機(jī)的nonce值RA和RB。然后,Trudy就可以計(jì)算協(xié)議里所有其他的量,即gabmodp、K、SKEYID、proofA和proofB。之所以Trudy能夠做到這一點(diǎn),就是因?yàn)锳lice和Bob的公鑰都是公開的。21存在的安全問(wèn)題21為什么Trudy要不厭其煩地生成所有這些數(shù)值呢?

一旦Trudy完成了這一切,她就能夠創(chuàng)建完整的會(huì)話過(guò)程,使其看起來(lái)就像是Alice和Bob之間一次有效的IPSec交易。令人震驚的是,這樣偽造的一次會(huì)話過(guò)程讓任何旁觀者看起來(lái)都是有效的,包括Alice和Bob本人也無(wú)法否認(rèn)!

22可以否認(rèn)性

為什么Trudy要不厭其煩地生成所有這些數(shù)值呢?22可以否10.4.4

IPSeccookieIPSec協(xié)議中的這些cookie與Web網(wǎng)站的cookie毫無(wú)關(guān)系。在Web上,cookie是用于跨越多個(gè)HTTP會(huì)話的狀態(tài)維護(hù)。而IPSec協(xié)議中cookie的目標(biāo)是令拒絕服務(wù)(DenialofService,DoS)攻擊更加困難。TCPSYNflooding攻擊

每一個(gè)TCPSYN請(qǐng)求都將引發(fā)服務(wù)器執(zhí)行少量的計(jì)算任務(wù)(比如創(chuàng)建SEQ號(hào))并保持若干狀態(tài)。正是這個(gè)狀態(tài)的保持恰恰給攻擊者提供了可乘之機(jī)。如果攻擊者使用數(shù)量龐大的SYN數(shù)據(jù)包對(duì)一臺(tái)服務(wù)器進(jìn)行狂轟濫炸,并且根本就不去繼續(xù)完成這些建立中的半開連接,那么服務(wù)器最終將會(huì)耗盡自己的資源,無(wú)法再去處理合法的SYN請(qǐng)求,于是就會(huì)導(dǎo)致拒絕服務(wù)。IPSec的cookie對(duì)于DoS攻擊防護(hù)并沒有提供實(shí)質(zhì)性的幫助。

2310.4.4IPSeccookieIPSec協(xié)議中的這些10.4.5

IKE階段一小結(jié)無(wú)論使用8個(gè)不同協(xié)議版本中的哪一個(gè),IKE階段一的成功完成將實(shí)現(xiàn)雙向交互身份認(rèn)證,并建立起共享的會(huì)話密鑰,這就是所謂的IKE安全關(guān)聯(lián)(IKE-SA)。在任何一種公開密鑰加密選項(xiàng)模式下,IKE協(xié)議階段一的運(yùn)算都是代價(jià)高昂的,而且主模式還都需要6條消息。IKE協(xié)議的階段二開銷相對(duì)低廉,用于建立所謂的IPSec安全關(guān)聯(lián),或簡(jiǎn)稱為IPSec-SA。2410.4.5IKE階段一小結(jié)無(wú)論使用8個(gè)不同協(xié)議版本中的哪10.4.6

IKE階段二階段二必須在IKE協(xié)議的階段一完成后才能進(jìn)行。此時(shí),共享的會(huì)話密鑰,IPSec的cookie、IC、RC以及IKE-SA都已經(jīng)建立完成,并且這些信息對(duì)于Alice和Bob已均為已知。IKE階段二的協(xié)商過(guò)程加密方案提議包括ESP或AH。在此階段,Alice和Bob決定是否使用ESP或AH。SA是在階段一建立的IKE-SA的標(biāo)識(shí)符。編號(hào)為1、2和3的哈希運(yùn)算依賴于從階段一得到的SKEYID、RA,RB以及IKESA。密鑰的生成源于等式KEYMAT=h(SKEYID,RA,RB,junk),其中“junk”對(duì)所有人(包括攻擊者)均可知。值SKEYID依賴于階段一的密鑰方案??梢岳枚虝r(shí)Diffie-Hellman密鑰交換實(shí)現(xiàn)PFS(完全正向保密)特性,此為可選項(xiàng)。2510.4.6IKE階段二階段二必須在IKE協(xié)議的階段一完成IKE階段二每一次階段二生成的密鑰與階段一的密鑰不同,并且彼此也不相同。IKE協(xié)議的階段一完成之后,我們已經(jīng)建立了一個(gè)IKE-SA。接下來(lái)IKE協(xié)議的階段二完成之后,我們就建立了一個(gè)IPSec-SA。階段二之后,Alice和Bob都已經(jīng)完成了身份認(rèn)證,并且他們也有了一個(gè)共享的會(huì)話密鑰,用于當(dāng)前連接的數(shù)據(jù)加密。26IKE階段二2610.4.7

IPSec和IP數(shù)據(jù)報(bào)IP數(shù)據(jù)報(bào)包含IP數(shù)據(jù)包頭和數(shù)據(jù)體兩部分。如果選項(xiàng)字段為空,那么IP數(shù)據(jù)包頭就包含20個(gè)字節(jié)。為了IPSec的目的,有兩個(gè)關(guān)鍵點(diǎn):一個(gè)關(guān)鍵點(diǎn)就是路由器必須查看位于IP數(shù)據(jù)包頭中的目的地址,以便能夠?qū)?shù)據(jù)包進(jìn)行路由轉(zhuǎn)發(fā)。因?yàn)槁酚善鳠o(wú)法訪問(wèn)會(huì)話密鑰,所以不能對(duì)IP數(shù)據(jù)包頭進(jìn)行加密。

第二個(gè)關(guān)鍵點(diǎn)就是IP數(shù)據(jù)包頭中的某些字段要隨著數(shù)據(jù)包的轉(zhuǎn)發(fā)而改變。IPSec使用ESP或AH來(lái)保護(hù)IP數(shù)據(jù)報(bào)。依選擇不同,ESP頭或AH頭將被包含在具備IPSec保護(hù)的數(shù)據(jù)報(bào)中。這個(gè)頭信息會(huì)告訴接收方,這不是標(biāo)準(zhǔn)的IP數(shù)據(jù)報(bào),而要按ESP數(shù)據(jù)包或AH數(shù)據(jù)包的方式對(duì)其進(jìn)行處理2710.4.7IPSec和IP數(shù)據(jù)報(bào)IP數(shù)據(jù)報(bào)包含IP數(shù)據(jù)包10.4.8

運(yùn)輸和隧道方式無(wú)論是使用ESP保護(hù)還是使用AH保護(hù),IPSec協(xié)議都可以獨(dú)立地采用運(yùn)輸方式或隧道方式。在運(yùn)輸方式中,原始的IP數(shù)據(jù)包頭保持不變。運(yùn)輸方式的設(shè)計(jì)目標(biāo)是用于“主機(jī)到主機(jī)”的通信。2810.4.8運(yùn)輸和隧道方式無(wú)論是使用ESP保護(hù)還是使用AH在隧道方式中,整個(gè)原始的IP包都被封裝在一個(gè)新的IP數(shù)據(jù)包當(dāng)中。優(yōu)點(diǎn):原始的IP數(shù)據(jù)包頭對(duì)于攻擊者來(lái)說(shuō)不再可見——因?yàn)槲覀兗俣〝?shù)據(jù)包已經(jīng)被完整加密。如果Alice和Bob兩人之間是直接進(jìn)行溝通,那么新的IP數(shù)據(jù)包頭將會(huì)與被封裝的IP數(shù)據(jù)包頭相同,所以隱藏原始的IP數(shù)據(jù)包頭信息就顯得沒有什么意義。隧道方式的設(shè)計(jì)目標(biāo)是用于保護(hù)防火墻到防火墻之間的通信。

29在隧道方式中,整個(gè)原始的IP包都被封裝在一個(gè)新的IP數(shù)據(jù)包當(dāng)10.4.9

ESP和AH一旦決定采用運(yùn)輸方式或隧道方式,接下來(lái)就必須考慮想要實(shí)際施加在IP數(shù)據(jù)報(bào)上的保護(hù)類型。在IPSec協(xié)議中,可以利用的選項(xiàng)只有AH和ESP這兩個(gè)。AH(AuthenticationHeader)只能提供數(shù)據(jù)完整性保護(hù),并不支持加密。AH認(rèn)證頭的完整性保護(hù)可以用來(lái)保護(hù)的信息包括除了IP數(shù)據(jù)包頭之外的所有信息,另外,IP數(shù)據(jù)包頭信息中的某些字段也可以獲得認(rèn)證頭的保護(hù)。在ESP(EncapsulatingSecurityPayload)模式中,數(shù)據(jù)完整性和數(shù)據(jù)機(jī)密性都要求獲得保護(hù)。ESP的機(jī)密性保護(hù)和完整性保護(hù)可以施加于除IP數(shù)據(jù)包頭之外的所有信息上。ESP模式中的一種必須支持的加密方案就是NULL加密(即不加密的方案)。在ESP模式中,如果NULL加密被作為加密方案選中,那么就不會(huì)應(yīng)用任何加密,但數(shù)據(jù)還是會(huì)獲得完整性保護(hù)。這種情況看起來(lái)就疑似AH的用法了。既然如此,那還要AH模式干什么用呢?3010.4.9ESP和AH一旦決定采用運(yùn)輸方式或隧道方式,接AH模式獨(dú)立存在的三個(gè)原因

AH模式能夠比“ESP/NULL”組合模式提供稍微多一些的數(shù)據(jù)完整性保護(hù)。在使用ESP模式的情況下,只要選擇了一種非NULL的加密方案,自IP數(shù)據(jù)包頭之后的所有數(shù)據(jù)都將被加密?!叭绻鸄H模式惹惱了微軟,那么就留下它吧,因?yàn)槲覀兒尬④浌緞龠^(guò)恨AH模式”!31AH模式獨(dú)立存在的三個(gè)原因3110.5

Kerberos在希臘神話中,Kerberos是一條有著三個(gè)頭的狗,守衛(wèi)著地獄之入口。在信息安全領(lǐng)域里,Kerberos是一種通用的認(rèn)證協(xié)議,利用了對(duì)稱密鑰加密技術(shù)和時(shí)間戳技術(shù)。Kerberos的設(shè)計(jì)面向的是比較小規(guī)模的應(yīng)用場(chǎng)景,主要是類似局域網(wǎng)(LocalAreaNetwork,LAN)或是公司的內(nèi)部網(wǎng)絡(luò)等環(huán)境。在Kerberos方案中,可信任的第三方(TTP)是關(guān)鍵性的安全組件,被稱為密鑰分發(fā)中心或者簡(jiǎn)稱為KDC。它扮演中間人的角色,確保任何一對(duì)用戶彼此之間都能夠安全地通信,進(jìn)而實(shí)現(xiàn)協(xié)議的可擴(kuò)展性。無(wú)狀態(tài)的KDC是Kerberos方案中主要的安全特性之一。Kerberos協(xié)議用于身份認(rèn)證并建立會(huì)話密鑰,會(huì)話密鑰可以用于隨后數(shù)據(jù)通信中的機(jī)密性和完整性保護(hù)。在Kerboros認(rèn)證框架中,KDC負(fù)責(zé)簽發(fā)各種類型的票據(jù)(ticket)。每一個(gè)TGT票據(jù)都包含會(huì)話密鑰、票據(jù)簽發(fā)的目標(biāo)用戶的ID以及有效期。3210.5Kerberos在希臘神話中,Kerberos是一10.5.1Kerberos化的登錄Kerberos化登錄過(guò)程的圖解密鑰KA的計(jì)算方法由公式KA=h(Alice'spassword)表示。由KDC創(chuàng)建會(huì)話密鑰SA。Alice的計(jì)算機(jī)利用KA獲得SA和Alice的TGT票據(jù);然后,Alice的計(jì)算機(jī)就會(huì)丟棄KA。TGT=E(“Alice”,SA;KKDC)。33優(yōu)點(diǎn):所有安全相關(guān)的處理過(guò)程(在口令輸入之后)對(duì)于Alice都是透明的;缺點(diǎn):整個(gè)框架的有效性完全依賴于KDC的安全性。10.5.1Kerberos化的登錄Kerberos化登錄10.5.2

Kerberos中的票據(jù)一旦Alice的計(jì)算機(jī)接收到TGT票據(jù)之后,就可以使用這個(gè)TGT票據(jù)來(lái)發(fā)起隨后的網(wǎng)絡(luò)資源訪問(wèn)請(qǐng)求(REQUEST)。Alice接收“需要提交給Bob的票據(jù)”的圖解說(shuō)明約定:3410.5.2Kerberos中的票據(jù)一旦Alice的計(jì)算機(jī)一旦Alice獲得“需要提交給Bob的票據(jù)”,她隨后就可以與Bob進(jìn)行安全通信,如圖10-21。其中“需要提交給Bob的票據(jù)”與上面一樣,而認(rèn)證碼為:Bob要使用他自己的密鑰KB來(lái)解密“需要提交給Bob的票據(jù)”,從而得到KAB,然后再使用這個(gè)KAB來(lái)驗(yàn)證時(shí)間戳的有效性。密鑰KAB還要用于保護(hù)后續(xù)Alice和Bob之間通話的機(jī)密性和數(shù)據(jù)完整性。既然時(shí)間戳用于防止重放攻擊,Kerberos認(rèn)證框架中就要設(shè)法最小化必須發(fā)送的消息數(shù)目。在Kerberos認(rèn)證框架中,這個(gè)時(shí)鐘偏差在默認(rèn)情況下的設(shè)置是5分鐘。35一旦Alice獲得“需要提交給Bob的票據(jù)”,她隨后就可以與10.5.3

Kerberos的安全性當(dāng)Alice登錄時(shí),KDC發(fā)送E(SA,TGT;KA)給Alice,其中TGT=E(“Alice”,SA;KKDC)。既然TGT票據(jù)是使用密鑰KKDC加密的,那么為什么還要使用密鑰KA對(duì)TGT票據(jù)進(jìn)行再次加密呢?這是Kerberos認(rèn)證框架設(shè)計(jì)中的一個(gè)小瑕疵,因?yàn)檫@個(gè)操作增加了額外的工作量,但是并沒有提供更多的安全性。如果密鑰KKDC被攻陷,那么整個(gè)系統(tǒng)的安全性必將蕩然無(wú)存。Kerberos認(rèn)證框架很容易就實(shí)現(xiàn)了基于對(duì)稱密鑰的匿名性。Kerberos認(rèn)證框架利用KDC記錄下在時(shí)鐘偏差區(qū)間之內(nèi)接收到的所有時(shí)間戳認(rèn)證碼中出現(xiàn)的時(shí)間戳來(lái)防止重放攻擊。無(wú)需維護(hù)狀態(tài)又是Kerberos認(rèn)證框架的非常重要的特性之一。3610.5.3Kerberos的安全性當(dāng)Alice登錄時(shí),K10.6

WEP有線等效保密(WiredEquivalentPrivacy)協(xié)議,簡(jiǎn)稱為WEP協(xié)議,是安全協(xié)議。設(shè)計(jì)目標(biāo)是要使無(wú)線局域網(wǎng)(WirelessLocalAreaNetwork,WLAN)和有線局域網(wǎng)(LAN)具有一樣的安全性。無(wú)論以什么標(biāo)準(zhǔn)來(lái)衡量,WEP都是具有嚴(yán)重缺陷的協(xié)議。在802.11系列標(biāo)準(zhǔn)中規(guī)定了一個(gè)數(shù)據(jù)鏈路層安全協(xié)議,被稱為WEP(WiredEquivalentPrivacy),這個(gè)協(xié)議的設(shè)計(jì)目標(biāo)是要使無(wú)線局域網(wǎng)的安全性與有線局域網(wǎng)同樣的好。因?yàn)樵谀J(rèn)情況下,有線局域網(wǎng)根本就沒有安全性可言,所以這個(gè)目標(biāo)很容易實(shí)現(xiàn),而WEP做到了。3710.6WEP有線等效保密(WiredEquivalen10.6.1WEP協(xié)議的認(rèn)證在WEP協(xié)議中,無(wú)線接入點(diǎn)與所有的用戶共享單獨(dú)的對(duì)稱密鑰。雖然在多個(gè)用戶之間共享密鑰的做法不是理想選擇,但是這種方式肯定是會(huì)簡(jiǎn)化接入點(diǎn)的操作。無(wú)論如何,實(shí)際的WEP協(xié)議的認(rèn)證過(guò)程就是簡(jiǎn)單的“challenge-response”機(jī)制,如圖所示。其中Bob是訪問(wèn)接入點(diǎn),Alice是用戶,而K就是共享的對(duì)稱密鑰。3810.6.1WEP協(xié)議的認(rèn)證在WEP協(xié)議中,無(wú)線接入點(diǎn)與所10.6.2

WEP協(xié)議的加密一旦Alice通過(guò)認(rèn)證,數(shù)據(jù)包就會(huì)被加密,使用的加密方案是RC4流密碼加密方案。每一個(gè)數(shù)據(jù)包都要使用密鑰KIV=(IV,K)進(jìn)行加密,其中IV是3字節(jié)的初始化向量,以明文形式與數(shù)據(jù)包一起發(fā)送,而K就是在認(rèn)證過(guò)程中使用的密鑰。由于密鑰K極少發(fā)生變化,那么加密密鑰KIV=(IV,K)就會(huì)經(jīng)常出現(xiàn)重復(fù)的情況,而且,密鑰KIV一旦重復(fù)出現(xiàn),Trudy就將會(huì)知道。同一初始化向量IV的更多次重復(fù)就會(huì)令Trudy的攻擊行動(dòng)愈發(fā)簡(jiǎn)單。雖然RC4算法在正確使用的情況下被視為一種強(qiáng)壯的加密方案,但是仍然存在一種實(shí)際的攻擊,這種攻擊可以用于從WEP協(xié)議的密文中恢復(fù)出RC4的密鑰。3910.6.2WEP協(xié)議的加密一旦Alice通過(guò)認(rèn)證,數(shù)據(jù)包10.6.3

WEP協(xié)議的不完整性WEP協(xié)議存在著無(wú)數(shù)的安全問(wèn)題,但是其中最為臭名昭著的問(wèn)題之一就是該協(xié)議使用循環(huán)冗余校驗(yàn)(CyclicRedundancyCheck,CRC)來(lái)進(jìn)行“完整性”保護(hù)。使用流密碼加密方案對(duì)數(shù)據(jù)進(jìn)行加密這一事實(shí),使得WEP協(xié)議的加密是線性的,進(jìn)而使得數(shù)據(jù)完整性問(wèn)題進(jìn)一步惡化。WEP協(xié)議的“完整性檢測(cè)”無(wú)法提供任何密碼學(xué)意義上的數(shù)據(jù)完整性保護(hù)。

4010.6.3WEP協(xié)議的不完整性WEP協(xié)議存在著無(wú)數(shù)的安全10.6.4

WEP協(xié)議的其他問(wèn)題場(chǎng)景一:如果Trudy能夠通過(guò)無(wú)線連接發(fā)送一條消息,并且截獲對(duì)應(yīng)的密文,那么她就可以知道明文和相應(yīng)的密文,這樣就使得她可以立刻著手恢復(fù)密鑰流。

場(chǎng)景二:在默認(rèn)情況下,WEP的無(wú)線接入點(diǎn)會(huì)廣播其SSID(ServiceSetIdentifier,服務(wù)集標(biāo)識(shí)),這個(gè)SSID就是無(wú)線接入點(diǎn)的ID。但是,在向無(wú)線接入點(diǎn)發(fā)起通信連接時(shí),用戶是以明文方式發(fā)送SSID的,這樣Trudy就只需要截獲這樣的數(shù)據(jù)包,就能夠發(fā)現(xiàn)SSID“口令”。4110.6.4WEP協(xié)議的其他問(wèn)題場(chǎng)景一:4110.6.5

實(shí)踐中的WEP協(xié)議盡管WEP協(xié)議本身存在著不少諸如此類的安全問(wèn)題,但在某些環(huán)境中,還是有可能在實(shí)踐中令WEP協(xié)議達(dá)到一種適度的安全性。相對(duì)于WEP協(xié)議,有一些更加安全的替代方案。舉個(gè)例子,WPA(Wi-FiProtectedAccess)協(xié)議就要強(qiáng)壯得多,但是這個(gè)協(xié)議的設(shè)計(jì)目標(biāo)是要能夠兼容與WEP協(xié)議同樣的硬件,所以不可避免地會(huì)做出一些安全上的折中。雖然已知對(duì)WPA協(xié)議出現(xiàn)了少量的攻擊,但是站在實(shí)際應(yīng)用的角度,這個(gè)協(xié)議看起來(lái)還算比較安全。還有一個(gè)被稱為WPA2的協(xié)議,原則上這個(gè)協(xié)議要比WPA更加強(qiáng)壯一些,但是需要更加強(qiáng)大的硬件支持。

4210.6.5實(shí)踐中的WEP協(xié)議盡管WEP協(xié)議本身存在著不少10.7GSMGSM蜂窩電話網(wǎng)絡(luò)即GlobalSystemofMobilecommunication,也就是所謂的全球移動(dòng)通信系統(tǒng),通常被視為第二代移動(dòng)通信技術(shù)。對(duì)于早期的手機(jī)來(lái)說(shuō),最大的安全問(wèn)題就是容易被克隆。恰逢混亂不堪之時(shí),無(wú)線通信領(lǐng)域迎來(lái)了GSM。在1982年時(shí),GSM是法語(yǔ)GroupeSpecialeMobile的簡(jiǎn)寫,代表一種電路交換系統(tǒng)。但是到了1986年,GSM又被重新定義,終于被正式命名為GlobalSystemforMobileCommunications(全球移動(dòng)通信系統(tǒng))。GSM的創(chuàng)立標(biāo)志著第二代蜂窩電話技術(shù)的正式開端。近年來(lái),第三代蜂窩電話已經(jīng)變得很普遍了。第三代合作伙伴計(jì)劃(The3rdGenerationPartnershipProject),或者簡(jiǎn)稱為3GPP,是3G無(wú)線通信技術(shù)背后的工作組織。4310.7GSMGSM蜂窩電話網(wǎng)絡(luò)即GlobalSyste10.7.1

GSM體系結(jié)構(gòu)GSM網(wǎng)絡(luò)的通用體系架構(gòu)的圖解:mobile是指手機(jī),有時(shí)也稱為移動(dòng)終端或移動(dòng)臺(tái),簡(jiǎn)稱為MS。airinterface是指從手機(jī)到基站之間無(wú)線傳輸通信的接口,簡(jiǎn)稱為AI。visitednetwork包括多個(gè)基站以及一個(gè)基站控制器?;究刂破靼缪萘诉B接器的作用,將在其控制之下的基站與GSM網(wǎng)絡(luò)的其余部分連接起來(lái)。基站控制器包含了訪問(wèn)位置寄存器(VisitorLocationRegistry,VLR)。訪問(wèn)位置寄存器用于保存網(wǎng)絡(luò)中所有當(dāng)前處于活動(dòng)狀態(tài)的手機(jī)用戶的相關(guān)信息。公用交換電話網(wǎng)是指?jìng)鹘y(tǒng)的(非蜂窩)電話網(wǎng)絡(luò)系統(tǒng)。HomeNetwork(歸屬地網(wǎng)絡(luò))是指手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))注冊(cè)的網(wǎng)絡(luò)。每一個(gè)手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))都與唯一的HomeNetwork相關(guān)聯(lián)。4410.7.1GSM體系結(jié)構(gòu)GSM網(wǎng)絡(luò)的通用體系架構(gòu)的圖解:手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))每一臺(tái)GSM手機(jī)都包含用戶身份識(shí)別模塊(SIM),這是可防篡改的智能卡。SIM卡中包含國(guó)際移動(dòng)用戶識(shí)別碼(IMSI)。SIM卡中還包含128位的密鑰,該密鑰只有手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))及其歸屬地網(wǎng)絡(luò)知道。訪問(wèn)網(wǎng)絡(luò):指手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))當(dāng)前所附著的網(wǎng)絡(luò)?;荆褐阜涓C網(wǎng)絡(luò)系統(tǒng)中的蜂窩小區(qū)基站控制器:負(fù)責(zé)管理一組蜂窩小區(qū)的集合。訪問(wèn)位置寄存器:存有當(dāng)前訪問(wèn)基站控制器所轄區(qū)域網(wǎng)絡(luò)的所有手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))的相關(guān)信息。歸屬地網(wǎng)絡(luò):保存了一臺(tái)給定手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))的關(guān)鍵信息,也就是IMSI和密鑰Ki。HLR(歸屬位置寄存器):保持了其中所注冊(cè)的每一部手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))最近的位置跟蹤記錄。AuC(鑒權(quán)中心):保存有每一部手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))的IMSI和密鑰Ki。45手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))4510.7.2

GSM安全架構(gòu)GSM網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)者們展現(xiàn)出的主要安全目標(biāo)如下:要使GSM網(wǎng)絡(luò)和常規(guī)的電話網(wǎng)絡(luò)(PSTN網(wǎng)絡(luò))一樣安全。要防止手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))克隆。GSM網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo)不是防范主動(dòng)攻擊。GSM網(wǎng)絡(luò)試圖解決三種安全問(wèn)題:匿名性、身份認(rèn)證以及機(jī)密性。在GSM系統(tǒng)中,匿名性要求能夠防止被截聽的通信流量被用于識(shí)別通話者的身份。身份認(rèn)證對(duì)于電話公司來(lái)說(shuō)則是最重要的特性,因?yàn)檎_的身份認(rèn)證對(duì)于合理計(jì)費(fèi)來(lái)說(shuō)是必需的?;诳罩薪涌诘耐ㄔ挋C(jī)密性對(duì)用戶來(lái)說(shuō)就很重要,同樣,這種重要性到了一定的程度,機(jī)密性就會(huì)變得對(duì)電話公司也很重要了。

4610.7.2GSM安全架構(gòu)GSM網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)者們展現(xiàn)出的1.匿名性GSM體系提供了一種非常有限的匿名形式。在發(fā)起通話之初,IMSI會(huì)以明文方式通過(guò)空中接口發(fā)送出去。然后,網(wǎng)絡(luò)就將隨機(jī)的臨時(shí)移動(dòng)用戶識(shí)別碼(TMSI)分配給通話發(fā)起者,隨后TMSI就可以作為用戶的身份標(biāo)識(shí)使用。另外,TMSI會(huì)頻繁變化。最后的實(shí)際效果就是,如果攻擊者捕獲了一次通話初始部分的消息,通話發(fā)起者的匿名性將會(huì)不保。但是,如果攻擊者錯(cuò)過(guò)了通話初始部分的消息,那么從實(shí)際效果上看,通話發(fā)起者的匿名性就得到了相當(dāng)好的保護(hù)。雖然這并不算是一種強(qiáng)有力的匿名性保護(hù)手段,但是在現(xiàn)實(shí)世界的環(huán)境中可能也足夠了,畢竟對(duì)于攻擊者來(lái)說(shuō),要想從浩瀚龐雜的通信流量中過(guò)濾出特定的IMSI信息絕非易事。471.匿名性472.身份認(rèn)證確保用戶向基站成功認(rèn)證非常必要,這樣才能夠保證電話公司從它們提供的服務(wù)中獲得相應(yīng)的報(bào)酬。在GSM網(wǎng)絡(luò)中,通話發(fā)起者要向基站認(rèn)證自身,但是并沒有提供雙向相互認(rèn)證。GSM體系中的身份認(rèn)證采用簡(jiǎn)單的challenge-response機(jī)制?;窘邮盏酵ㄔ挵l(fā)起者的IMSI之后,就將其傳送給通話發(fā)起者的歸屬地網(wǎng)絡(luò)。歸屬地網(wǎng)絡(luò)知道通話發(fā)起者的IMSI和密鑰Ki。歸屬地網(wǎng)絡(luò)會(huì)生成隨機(jī)的challenge值,這里稱之為RAND,同時(shí)還要計(jì)算出期望的response,表示為XRES=A3(RAND,Ki),其中的A3是哈希函數(shù)。然后,再將這樣一對(duì)值(RAND,XRES)從歸屬地網(wǎng)絡(luò)發(fā)送給基站,接著基站將challenge值RAND發(fā)送給手機(jī)(移動(dòng)終端或移動(dòng)臺(tái))。手機(jī)發(fā)回的response值表示為SRES,這個(gè)SRES值由手機(jī)根據(jù)公式SRES=A3(RAND,Ki)計(jì)算得到。為了完成身份認(rèn)證,手機(jī)將SRES值發(fā)送給基站,由基站來(lái)驗(yàn)證是否SRES=XRES。482.身份認(rèn)證483.機(jī)密性GSM體系中使用流密碼加密方案來(lái)對(duì)數(shù)據(jù)進(jìn)行加密。之所以選擇流密碼加密方案,主要是因?yàn)榉涓C電話網(wǎng)絡(luò)環(huán)境中相對(duì)比較高的差錯(cuò)率,典型的情況是每1000位里大約有1位差錯(cuò)。GSM體系中的加密密鑰一般寫作Kc。當(dāng)歸屬地網(wǎng)絡(luò)接收到從基站控制器發(fā)送過(guò)來(lái)的IMSI時(shí),歸屬地網(wǎng)絡(luò)會(huì)執(zhí)行計(jì)算Kc=A8(RAND,Ki),其中的A8是另外一個(gè)哈希函數(shù)。然后Kc將會(huì)和另一對(duì)值RAND及XRES一起被發(fā)送,也就是說(shuō),從歸屬地網(wǎng)絡(luò)將三元組(RAND,XRES,Kc)發(fā)送給基站。一旦基站接收到三元組(RAND,XRES,Kc)之后,就啟用前面描述的認(rèn)證協(xié)議。如果認(rèn)證成功,手機(jī)將會(huì)計(jì)算得到Kc=A8(RAND,Ki)。而基站已經(jīng)知道了Kc,所以手機(jī)和基站之間就有了共享的對(duì)稱密鑰,該密鑰就用于接下來(lái)的通話加密。如前所述,數(shù)據(jù)加密使用的是A5/1流密碼加密方案。493.機(jī)密性4910.7.3

GSM認(rèn)證協(xié)議

GSM協(xié)議中手機(jī)與基站之間認(rèn)證與加密的圖解將RAND值與Ki結(jié)合在一起執(zhí)行哈希運(yùn)算,從而生成加密密鑰Kc。另外,RAND值與Ki結(jié)合還執(zhí)行了哈希運(yùn)算以生成SRES值,而這個(gè)SRES值是被動(dòng)攻擊者能夠看到的。所以,SRES值與Kc必須是不相關(guān)的——否則就會(huì)存在針對(duì)Kc的捷徑攻擊。如果使用了安全的加密哈希函數(shù),那么這些哈希值就會(huì)是不相關(guān)的。根據(jù)已知的RAND值和SRES值對(duì),想要推導(dǎo)出Ki,要求必須是不可能的,因?yàn)檫@樣的一對(duì)值對(duì)于被動(dòng)攻擊者來(lái)說(shuō)是可以獲得的。這就相當(dāng)于已知明文攻擊,只不過(guò)將加密方案替換成了哈希函數(shù)。根據(jù)選擇的RAND值和SRES值對(duì),想要推導(dǎo)出Ki,要求必須是不可能的,這就相當(dāng)于面向哈希函數(shù)的選擇明文攻擊。雖然這種攻擊看起來(lái)不太可能發(fā)生,不過(guò)一旦攻擊者持有SIM卡,他們就能夠選擇RAND值并監(jiān)聽相應(yīng)的SRES值。5010.7.3GSM認(rèn)證協(xié)議GSM協(xié)議中手機(jī)與基站之間認(rèn)證10.7.4

GSM安全缺陷接下來(lái)要討論GSM體系中的安全缺陷——有加密系統(tǒng)的缺陷,也有協(xié)議方面的缺陷。1.加密缺陷在GSM體系中有若干個(gè)加密相關(guān)的缺陷。哈希運(yùn)算A3和A8都是基于稱為COMP128的哈希函數(shù)。哈希函數(shù)COMP128是作為秘密設(shè)計(jì)被開發(fā)出來(lái)的,僅這一點(diǎn)就違背了Kerckhoffs原則。果不其然,COMP128后來(lái)被發(fā)現(xiàn)強(qiáng)度不高——通過(guò)150000個(gè)選擇的“明文”就能夠?qū)⑵淦平?。這實(shí)際上就意味著能夠接觸到SIM卡的攻擊者,可以在2到10個(gè)小時(shí)之間確定出密鑰Ki,具體情況則依賴于卡的運(yùn)算速度。實(shí)際上,有兩種不同形式的A5加密算法,分別被稱為A5/1和A5/2。這兩個(gè)加密算法都是在違背Kerckhoffs原則的情況下開發(fā)出來(lái)的,而且這兩個(gè)算法都不強(qiáng)。5110.7.4GSM安全缺陷接下來(lái)要討論GSM體系中的安全缺2.無(wú)效假設(shè)GSM協(xié)議中存在嚴(yán)重的設(shè)計(jì)缺陷。GSM手機(jī)通話是在手機(jī)和基站之間被加密,但是從基站到基站控制器之間卻不實(shí)施加密。最終就是,GSM體系中安全的重點(diǎn)就只在于保護(hù)空中接口上的手機(jī)通話,也就是在手機(jī)和基站之間的通信保護(hù)。GSM體系架構(gòu)的設(shè)計(jì)者們假定通話一旦到達(dá)基站,就會(huì)通過(guò)PSTN網(wǎng)絡(luò)被路由到基站控制器?;谶@種假設(shè),當(dāng)通話從基站發(fā)往基站控制器的過(guò)程中,GSM安全協(xié)議并不提供保護(hù)。但是,有許多的GSM系統(tǒng)實(shí)際上在基站及基站控制器之間是通過(guò)微波鏈路傳輸通話的。因?yàn)槲⒉ㄊ且环N無(wú)線媒介,所以對(duì)于攻擊者來(lái)說(shuō),就有可能(但是也并不容易)竊聽到這類鏈接之上承載的無(wú)保護(hù)的通話內(nèi)容,從而就會(huì)致使空中接口的加密完全失效。522.無(wú)效假設(shè)523.SIM卡攻擊對(duì)于各代的SIM卡,如今已經(jīng)發(fā)展出了若干種不同的攻擊方式。在光故障感應(yīng)攻擊中,攻擊者通過(guò)使用普通的閃光燈就能夠強(qiáng)制SIM卡泄露密鑰Ki。在配分攻擊的情況下,通過(guò)利用對(duì)時(shí)間和功耗的分析就能夠恢復(fù)出Ki,其中明文選擇適當(dāng)?shù)脑挘钌偕踔林恍枰褂?個(gè)選擇明文即可。結(jié)果就是,持有SIM卡的攻擊者要想恢復(fù)出Ki,只需要秒級(jí)的時(shí)長(zhǎng)即可。4.偽造基站與GSM協(xié)議相關(guān)的另一嚴(yán)重缺陷是偽造的假冒基站帶來(lái)的威脅。首先,身份認(rèn)證不是雙向相互認(rèn)證。第二個(gè)缺陷是,空中接口上的加密操作并非是自動(dòng)執(zhí)行的。533.SIM卡攻擊53在圖10-26中所示的攻擊里,偽造的假冒基站發(fā)送隨機(jī)值給手機(jī),而手機(jī)就會(huì)將這個(gè)隨機(jī)值當(dāng)作RAND值。于是手機(jī)將發(fā)回相對(duì)應(yīng)的SRES值作為回應(yīng),這個(gè)SRES值會(huì)被假冒基站拋棄。假冒基站然后告訴手機(jī)不必對(duì)通話內(nèi)容進(jìn)行加密。這個(gè)過(guò)程中,無(wú)論是通話發(fā)起者,還是通話接收方,對(duì)此都一無(wú)所知,接著假冒基站就呼叫目標(biāo)接收方,并將上述來(lái)自通話發(fā)起者的通話轉(zhuǎn)發(fā)給目標(biāo)接收方,反過(guò)來(lái)也是如法炮制。這樣一來(lái),偽造的假冒基站就可以竊聽整個(gè)的通話內(nèi)容了。請(qǐng)注意,在這種偽造的假冒基站攻擊中,假冒基站將會(huì)為通話埋單,而不會(huì)給通話方計(jì)費(fèi)。在這種攻擊中,假冒基站可以發(fā)送自身選擇的任意RAND值,并能夠接收到相應(yīng)的SRES值。于是,假冒基站就能夠在不持有SIM卡的情況下,發(fā)起針對(duì)SIM卡的選擇明文攻擊。

54GSM協(xié)議的另一主要缺陷就是不能夠提供重放防護(hù)。被截獲的三元組(RAND,XRES,Kc)可以不斷地被重放。結(jié)果就是,被截獲的三元組為攻擊者提供了無(wú)限期有效的密鑰Kc。在圖10-26中所示的攻擊里,偽造的假冒基站發(fā)送隨機(jī)值給手機(jī)10.7.5

GSM安全小結(jié)根據(jù)我們對(duì)GSM體系安全缺陷的這些討論,仿佛GSM看起來(lái)就是巨大的安全敗筆。盡管如此,GSM無(wú)疑還是取得了商業(yè)上的成功,這自然會(huì)引發(fā)有關(guān)“優(yōu)秀的安全之于商業(yè)上的重要性”之類的若干問(wèn)題。對(duì)于GSM體系的安全來(lái)說(shuō),真正的問(wèn)題則是最初的設(shè)計(jì)目標(biāo)太過(guò)于局限了。在GSM體系里主要的安全缺失包括弱的加密方案、SIM卡問(wèn)題、偽造假冒基站攻擊以及完全沒有對(duì)重放的防護(hù)等。在PSTN網(wǎng)絡(luò)中,主要的安全缺陷是搭線竊聽,雖然也還有些其他的威脅,諸如對(duì)無(wú)繩電話的攻擊等??傮w上看,GSM系統(tǒng)有理由被視為一種適度安全的成功。5510.7.5GSM安全小結(jié)根據(jù)我們對(duì)GSM體系安全缺陷的這10.7.6

3GPP第三代蜂窩電話(手機(jī))的安全性設(shè)計(jì)是由3GPP牽頭和推動(dòng)的。這個(gè)組織清晰明確地將其著眼點(diǎn)設(shè)定得比GSM的設(shè)計(jì)者們更高。也許有點(diǎn)兒出人意料,3GPP的安全模型建立在GSM體系的基礎(chǔ)之上。但是,3GPP的開發(fā)者們小心翼翼地修補(bǔ)了所有已知的GSM安全弱點(diǎn)。手機(jī)的歷史,從第一代模擬系統(tǒng),到第二代的GSM系統(tǒng),再到如今的3GPP系統(tǒng),這個(gè)過(guò)程也非常好地說(shuō)明了安全領(lǐng)域里時(shí)常會(huì)發(fā)生的演化過(guò)程。每當(dāng)攻擊者發(fā)展出來(lái)新的攻擊手段時(shí),防御者就以新的保護(hù)措施予以防范,對(duì)此攻擊者就會(huì)再發(fā)起新一輪探查弱點(diǎn)的努力。雖然3GPP明確地承諾了要比GSM系統(tǒng)所能交付的安全性更多,但是各種攻擊行為最終還是有可能會(huì)浮出水面。簡(jiǎn)而言之,安全領(lǐng)域的軍備競(jìng)賽還將繼續(xù)。

5610.7.63GPP第三代蜂窩電話(手機(jī))的安全性設(shè)計(jì)是由10.8

小結(jié)本章內(nèi)容回顧SSH協(xié)議SSL協(xié)議IPSec協(xié)議及存在的安全問(wèn)題Kerberos身份認(rèn)證協(xié)議兩個(gè)無(wú)線網(wǎng)絡(luò)協(xié)議:WEP和GSM5710.8小結(jié)本章內(nèi)容回顧5758信息安全原理與實(shí)踐InformationSecurity:PrinciplesandPractice,2ndEdition[美]MarkStamp 著張戈 譯1信息安全原理與實(shí)踐InformationSecurity第10章真實(shí)世界中的安全協(xié)議59第10章真實(shí)世界中的安全協(xié)議210.1引言幾個(gè)廣泛應(yīng)用的真實(shí)世界中的安全協(xié)議SSH協(xié)議SSL協(xié)議IPSec協(xié)議Kerberos協(xié)議WEPGSM

6010.1引言幾個(gè)廣泛應(yīng)用的真實(shí)世界中的安全協(xié)議310.2

SSHSecureShell,簡(jiǎn)稱為SSH,該協(xié)議創(chuàng)建了一個(gè)安全的通道,基于該通道,可以安全的方式執(zhí)行原本不安全的命令。例如UNIX系統(tǒng)中用于實(shí)現(xiàn)遠(yuǎn)程登錄的命令rloginSSH協(xié)議的認(rèn)證過(guò)程可以基于公鑰、數(shù)字證書或口令字。約定使用的術(shù)語(yǔ):

certificateA=Alice'scertificate(Alice的證書) certificateB=Bob'scertificate(Bob的證書) CP=cryptoproposed(加密方案的提議) CS=cryptoselected(加密方案的選定) H=h(Alice,Bob,CP,CS,RA,RB,gamodp,gbmodp,gabmodp) SB=[H]Bob K=gabmodp SA=[H,Alice,certificateA]Aliceh是加密哈希函數(shù)6110.2SSHSecureShell,簡(jiǎn)稱為SSH,該協(xié)簡(jiǎn)化的SSH協(xié)議62數(shù)字簽名可以用來(lái)提供雙向交互認(rèn)證。因?yàn)閚once值RA是Alice發(fā)送給Bob的challenge,而SB是Bob的響應(yīng)。也就是說(shuō),nonce值RA提供了重放保護(hù),只有Bob能夠給出正確的響應(yīng),與此類似的交互過(guò)程可以證明Alice在最后一條消息中會(huì)被認(rèn)證。簡(jiǎn)化的SSH協(xié)議5數(shù)字簽名可以用來(lái)提供雙向交互認(rèn)證。10.3

SSL“套接字層”實(shí)際上處于IP協(xié)議棧中的應(yīng)用層和傳輸層之間。在實(shí)踐中,SSL協(xié)議最常應(yīng)用的場(chǎng)景是Web瀏覽,在這種情況下,應(yīng)用層的協(xié)議是HTTP,傳輸層的協(xié)議是TCP。例子:在上購(gòu)買一本書6310.3SSL“套接字層”實(shí)際上處于IP協(xié)議棧中的應(yīng)用層和一個(gè)簡(jiǎn)單的SSL協(xié)議64其中的問(wèn)題就是,Bob的身份并沒有明白無(wú)誤地被認(rèn)證!對(duì)于Alice來(lái)說(shuō),唯一能夠確認(rèn)自己正在與Bob進(jìn)行交流的方式可能就是,對(duì)接收到的加密數(shù)據(jù)進(jìn)行驗(yàn)證,看其是否被正確加密了。一個(gè)簡(jiǎn)單的SSL協(xié)議7其中的問(wèn)題就是,Bob的身份并沒有明白基本SSL協(xié)議的一個(gè)比較完整的視圖約定術(shù)語(yǔ):S=thepre-mastersecret(預(yù)備主密碼)K=h(S,RA,RB)msgs=shorthandfor"allpreviousmessages"(表示“前面所有的消息”)CLNT=literalstring(文本串)SRVR=literalstring(文本串)65基本SSL協(xié)議的一個(gè)比較完整的視圖8實(shí)際應(yīng)用中會(huì)根據(jù)哈希值h(S,RA,RB)生成不止一個(gè)密鑰。事實(shí)上,根據(jù)這個(gè)哈希計(jì)算可以生成以下6個(gè)量:兩個(gè)加密密鑰,其中一個(gè)用于加密從客戶端發(fā)送給服務(wù)器的消息,另一個(gè)用于加密從服務(wù)器發(fā)送給客戶端的消息。兩個(gè)數(shù)據(jù)完整性密鑰,與前面加密密鑰的使用方式相同。兩個(gè)初始化向量(IV),其中一個(gè)用于客戶端,另一個(gè)用于服務(wù)器。簡(jiǎn)而言之,在協(xié)議中不同的數(shù)據(jù)傳送方向使用不同的密鑰。這有助于防止某些特定類型的攻擊。66實(shí)際應(yīng)用中會(huì)根據(jù)哈希值h(S,RA,RB)生成不止一個(gè)密10.3.1SSL協(xié)議和中間人攻擊SSL協(xié)議中是什么機(jī)制可以防止中間人攻擊呢?

6710.3.1SSL協(xié)議和中間人攻擊SSL協(xié)議中是什么機(jī)制可10.3.2

SSL連接SSL協(xié)議最初是由Netscape開發(fā),主要用于Web瀏覽場(chǎng)景。應(yīng)用層協(xié)議是HTTP,通常使用的HTTP協(xié)議有兩個(gè)版本,分別是HTTP1.0和HTTP1.1。由于公開密鑰運(yùn)算操作的原因,要為這些HTTP連接中的每一個(gè)都建立新的SSL會(huì)話將是不小的負(fù)擔(dān)。所以SSL協(xié)議的設(shè)計(jì)者們內(nèi)置了一種效率更高的協(xié)議:只要有一個(gè)SSL會(huì)話已然存在,再打開一個(gè)新的SSL連接就可以使用這個(gè)高效的協(xié)議。SSL連接協(xié)議的詳情:6810.3.2SSL連接SSL協(xié)議最初10.3.3

SSL和IPSecIPSec即InternetProtocolSecurity,它的設(shè)計(jì)目標(biāo)與SSL類似,就是提供網(wǎng)絡(luò)通信的安全保護(hù)。69SSLIPSec復(fù)雜度簡(jiǎn)單相對(duì)復(fù)雜IP協(xié)議棧的層數(shù)嵌套字層網(wǎng)絡(luò)層層次駐留在用戶空間位于操作系統(tǒng)運(yùn)行空間加密保護(hù)支持支持?jǐn)?shù)據(jù)完整性保護(hù)支持支持身份認(rèn)證支持支持10.3.3SSL和IPSecIPSec即Internet10.4

IPSecSSL協(xié)議和IPSec協(xié)議邏輯上的基本差異7010.4IPSecSSL協(xié)議和IPSec協(xié)議邏輯上的基本差I(lǐng)PSec協(xié)議的兩個(gè)主要組成部分Internet密鑰交換協(xié)議,或簡(jiǎn)稱為IKE(InternetKeyExchange),該協(xié)議提供了雙向交互認(rèn)證和會(huì)話密鑰。IKE協(xié)議包含兩個(gè)階段,這兩個(gè)階段分別相當(dāng)于SSL協(xié)議的會(huì)話建立過(guò)程和連接建立過(guò)程。封裝安全有效載荷和認(rèn)證頭,或簡(jiǎn)稱為ESP(EncapsulatingSecurityPayload)和AH(AuthenticationHeader),這兩者一起構(gòu)成了IPSec協(xié)議的第二部分。ESP提供IP數(shù)據(jù)包的加密和完整性保護(hù),而AH則只提供完整性保護(hù)。IKE是一種獨(dú)立的協(xié)議,可以脫離ESP/AH部分而獨(dú)立運(yùn)行。但是,既然在現(xiàn)實(shí)世界當(dāng)中IKE協(xié)議似乎只應(yīng)用于IPSec協(xié)議的場(chǎng)景中,所以我們就簡(jiǎn)單地將二者合在一起,統(tǒng)一稱之為IPSec。71IPSec協(xié)議的兩個(gè)主要組成部分14IKE協(xié)議包含了兩個(gè)階段階段一,建立所謂的IKE安全關(guān)聯(lián),也可以簡(jiǎn)稱為IKE-SA。階段二,建立IPSec安全關(guān)聯(lián),或被簡(jiǎn)稱為IPSec-SA。階段一相當(dāng)于SSL協(xié)議中的會(huì)話建立,而階段二則可以比作SSL協(xié)議中的連接建立。在IKE協(xié)議中,必須在完成了階段一和階段二之后,才能夠執(zhí)行ESP/AH。在IKE協(xié)議的階段一中,有4個(gè)不同的密鑰選項(xiàng):公開密鑰加密(原始版本)公開密鑰加密(改進(jìn)版本)數(shù)字簽名對(duì)稱密鑰上述每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式(mainmode)和一個(gè)積極模式(aggressivemode)。結(jié)果就是IKE協(xié)議的階段一總共有8個(gè)不同的版本。

72IKE協(xié)議15接下來(lái)將要對(duì)階段一的8個(gè)變體中的6個(gè)進(jìn)行討論,分別是:數(shù)字簽名(主模式和積極模式)、對(duì)稱密鑰(主模式和積極模式)公開密鑰加密(主模式和積極模式)。每一個(gè)階段一的變體都利用短時(shí)Diffie-Hellman密鑰交換方案來(lái)建立會(huì)話密鑰。這種方案的好處就是能夠提供完全正向保密(PerfectForwordSecrecy,PFS)。對(duì)于我們要討論的每一個(gè)變體,統(tǒng)一使用下面的Diffie-Hellman表示方法。令a為Alice的(短時(shí))Diffie-Hellman協(xié)商過(guò)程指數(shù),令b為Bob的(短時(shí))Diffie-Hellman協(xié)商過(guò)程指數(shù)。令g為生成器,p為素?cái)?shù)。p和g都是公開的。73接下來(lái)將要對(duì)階段一的8個(gè)變體中的6個(gè)進(jìn)行討論,分別是:1610.4.1IKE階段一:數(shù)字簽名方式

數(shù)字簽名版本的主模式7410.4.1IKE階段一:數(shù)字簽名方式數(shù)字簽名版本的主模每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式和一個(gè)積極模式。主模式的設(shè)計(jì)用于提供匿名特性,而積極模式則并非如此。數(shù)字簽名密鑰選項(xiàng)情況下的積極模式版本(請(qǐng)注意,其中并沒有試圖去隱藏Alice或Bob的身份,因此大幅地簡(jiǎn)化了該協(xié)議的交互過(guò)程。)介于數(shù)字簽名主模式和積極模式之間的一個(gè)微妙差別是:在主模式中,有可能將g和p的值作為“cryptoproposed(加密方案提議)”和“cryptoaccepted(加密方案選擇)”消息的一部分進(jìn)行協(xié)商。但是,在積極模式中卻不是這樣,因?yàn)镈iffie-Hellman值gamodp在第一條消息中就已經(jīng)發(fā)送了。75每一個(gè)密鑰選項(xiàng)都有一個(gè)主模式和一個(gè)積極模式。主模式的設(shè)計(jì)用于10.4.2

IKE階段一:對(duì)稱密鑰方式

對(duì)稱密鑰選項(xiàng)方式的主模式這種主模式下存在所謂的Catch-22問(wèn)題可能存在的問(wèn)題:首先,Alice必須有一個(gè)靜態(tài)IP地址——如果Alice的IP地址變化了,這個(gè)模式就會(huì)失效。這個(gè)協(xié)議太復(fù)雜,其中使用了6條消息,也可能就是為了隱匿通信者的身份。但是,該協(xié)議并沒有成功地隱匿通信參與者的身份,除非你將靜態(tài)IP地址也視為機(jī)密信息。

7610.4.2IKE階段一:對(duì)稱密鑰方式對(duì)稱密鑰選項(xiàng)方式的10.4.3

IKE階段一:公開密鑰加密方式

公開密鑰加密選項(xiàng)版本,包括主模式和積極模式在公鑰加密版本的主模式下,Alice必須事先知道Bob的公鑰,反過(guò)來(lái)對(duì)Bob也是一樣。假設(shè)是Alice和Bob彼此都能夠訪問(wèn)對(duì)方的數(shù)字證書,而不需要再通過(guò)網(wǎng)絡(luò)進(jìn)行傳遞。公開密鑰加密選項(xiàng)下的主模式協(xié)議詳解:

77公開密鑰加密選項(xiàng)下的積極模式允許Alice和Bob保持匿名身份。

10.4.3IKE階段一:公開密鑰加密方式公開密鑰加密選存在的安全問(wèn)題

假設(shè)Trudy生成了Diffie-Hellman的指數(shù)a和b,以及隨機(jī)的nonce值RA和RB。然后,Trudy就可以計(jì)算協(xié)議里所有其他的量,即gabmodp、K、SKEYID、proofA和proofB。之所以Trudy能夠做到這一點(diǎn),就是因?yàn)锳lice和Bob的公鑰都是公開的。78存在的安全問(wèn)題21為什么Trudy要不厭其煩地生成所有這些數(shù)值呢?

一旦Trudy完成了這一切,她就能夠創(chuàng)建完整的會(huì)話過(guò)程,使其看起來(lái)就像是Alice和Bob之間一次有效的IPSec交易。令人震驚的是,這樣偽造的一次會(huì)話過(guò)程讓任何旁觀者看起來(lái)都是有效的,包括Alice和Bob本人也無(wú)法否認(rèn)!

79可以否認(rèn)性

為什么Trudy要不厭其煩地生成所有這些數(shù)值呢?22可以否10.4.4

IPSeccookieIPSec協(xié)議中的這些cookie與Web網(wǎng)站的cookie毫無(wú)關(guān)系。在Web上,cookie是用于跨越多個(gè)HTTP會(huì)話的狀態(tài)維護(hù)。而IPSec協(xié)議中cookie的目標(biāo)是令拒絕服務(wù)(DenialofService,DoS)攻擊更加困難。TCPSYNflooding攻擊

每一個(gè)TCPSYN請(qǐng)求都將引發(fā)服務(wù)器執(zhí)行少量的計(jì)算任務(wù)(比如創(chuàng)建SEQ號(hào))并保持若干狀態(tài)。正是這個(gè)狀態(tài)的保持恰恰給攻擊者提供了可乘之機(jī)。如果攻擊者使用數(shù)量龐大的SYN數(shù)據(jù)包對(duì)一臺(tái)服務(wù)器進(jìn)行狂轟濫炸,并且根本就不去繼續(xù)完成這些建立中的半開連接,那么服務(wù)器最終將會(huì)耗盡自己的資源,無(wú)法再去處理合法的SYN請(qǐng)求,于是就會(huì)導(dǎo)致拒絕服務(wù)。IPSec的cookie對(duì)于DoS攻擊防護(hù)并沒有提供實(shí)質(zhì)性的幫助。

8010.4.4IPSeccookieIPSec協(xié)議中的這些10.4.5

IKE階段一小結(jié)無(wú)論使用8個(gè)不同協(xié)議版本中的哪一個(gè),IKE階段一的成功完成將實(shí)現(xiàn)雙向交互身份認(rèn)證,并建立起共享的會(huì)話密鑰,這就是所謂的IKE安全關(guān)聯(lián)(IKE-SA)。在任何一種公開密鑰加密選項(xiàng)模式下,IKE協(xié)議階段一的運(yùn)算都是代價(jià)高昂的,而且主模式還都需要6條消息。IKE協(xié)議的階段二開銷相對(duì)低廉,用于建立所謂的IPSec安全關(guān)聯(lián),或簡(jiǎn)稱為IPSec-SA。8110.4.5IKE階段一小結(jié)無(wú)論使用8個(gè)不同協(xié)議版本中的哪10.4.6

IKE階段二階段二必須在IKE協(xié)議的階段一完成后才能進(jìn)行。此時(shí),共享的會(huì)話密鑰,IPSec的cookie、IC、RC以及IKE-SA都已經(jīng)建立完成,并且這些信息對(duì)于Alice和Bob已均為已知。IKE階段二的協(xié)商過(guò)程加密方案提議包括ESP或AH。在此階段,Alice和Bob決定是否使用ESP或AH。SA是在階段一建立的IKE-SA的標(biāo)識(shí)符。編號(hào)為1、2和3的哈希運(yùn)算依賴于從階段一得到的SKEYID、RA,RB以及IKESA。密鑰的生成源于等式KEYMAT=h(SKEYID,RA,RB,junk),其中“junk”對(duì)所有人(包括攻擊者)均可知。值SKEYID依賴于階段一的密鑰方案??梢岳枚虝r(shí)Diffie-Hellman密鑰交換實(shí)現(xiàn)PFS(完全正向保密)特性,此為可選項(xiàng)。8210.4.6IKE階段二階段二必須在IKE協(xié)議的階段一完成IKE階段二每一次階段二生成的密鑰與階段一的密鑰不同,并且彼此也不相同。IKE協(xié)議的階段一完成之后,我們已經(jīng)建立了一個(gè)IKE-SA。接下來(lái)IKE協(xié)議的階段二完成之后,我們就建立了一個(gè)IPSec-SA。階段二之后,Alice和Bob都已經(jīng)完成了身份認(rèn)證,并且他們也有了一個(gè)共享的會(huì)話密鑰,用于當(dāng)前連接的數(shù)據(jù)加密。83IKE階段二2610.4.7

IPSec和IP數(shù)據(jù)報(bào)IP數(shù)據(jù)報(bào)包含IP數(shù)據(jù)包頭和數(shù)據(jù)體兩部分。如果選項(xiàng)字段為空,那么IP數(shù)據(jù)包頭就包含20個(gè)字節(jié)。為了IPSec的目的,有兩個(gè)關(guān)鍵點(diǎn):一個(gè)關(guān)鍵點(diǎn)就是路由器必須查看位于IP數(shù)據(jù)包頭中的目的地址,以便能夠?qū)?shù)據(jù)包進(jìn)行路由轉(zhuǎn)發(fā)。因?yàn)槁酚善鳠o(wú)法訪問(wèn)會(huì)話密鑰,所以不能對(duì)IP數(shù)據(jù)包頭進(jìn)行加密。

第二個(gè)關(guān)鍵點(diǎn)就是IP數(shù)據(jù)包頭中的某些字段要隨著數(shù)據(jù)包的轉(zhuǎn)發(fā)而改變。IPSec使用ESP或AH來(lái)保護(hù)IP數(shù)據(jù)報(bào)。依選擇不同,ESP頭或AH頭將被包含在具備IPSec保護(hù)的數(shù)據(jù)報(bào)中。這個(gè)頭信息會(huì)告訴接收方,這不是標(biāo)準(zhǔn)的IP數(shù)據(jù)報(bào),而要按ESP數(shù)據(jù)包或AH數(shù)據(jù)包的方式對(duì)其進(jìn)行處理8410.4.7IPSec和IP數(shù)據(jù)報(bào)IP數(shù)據(jù)報(bào)包含IP數(shù)據(jù)包10.4.8

運(yùn)輸和隧道方式無(wú)論是使用ESP保護(hù)還是使用AH保護(hù),IPSec協(xié)議都可以獨(dú)立地采用運(yùn)輸方式或隧道方式。在運(yùn)輸方式中,原始的IP數(shù)據(jù)包頭保持不變。運(yùn)輸方式的設(shè)計(jì)目標(biāo)是用于“主機(jī)到主機(jī)”的通信。8510.4.8運(yùn)輸和隧道方式無(wú)論是使用ESP保護(hù)還是使用AH在隧道方式中,整個(gè)原始的IP包都被封裝在一個(gè)新的IP數(shù)據(jù)包當(dāng)中。優(yōu)點(diǎn):原始的IP數(shù)據(jù)包頭對(duì)于攻擊者來(lái)說(shuō)不再可見——因?yàn)槲覀兗俣〝?shù)據(jù)包已經(jīng)被完整加密。如果Alice和Bob兩人之間是直接進(jìn)行溝通,那么新的IP數(shù)據(jù)包頭將會(huì)與被封裝的IP數(shù)據(jù)包頭相同,所以隱藏原始的IP數(shù)據(jù)包頭信息就顯得沒有什么意義。隧道方式的設(shè)計(jì)目標(biāo)是用于保護(hù)防火墻到防火墻之間的通信。

86在隧道方式中,整個(gè)原始的IP包都被封裝在一個(gè)新的IP數(shù)據(jù)包當(dāng)10.4.9

ESP和AH一旦決定采用運(yùn)輸方式或隧道方式,接下來(lái)就必須考慮想要實(shí)際施加在IP數(shù)據(jù)報(bào)上的保護(hù)類型。在IPSec協(xié)議中,可以利用的選項(xiàng)只有AH和ESP這兩個(gè)。AH(AuthenticationHeader)只能提供數(shù)據(jù)完整性保護(hù),并不支持加密。AH認(rèn)證頭的完整性保護(hù)可以用來(lái)保護(hù)的信息包括除了IP數(shù)據(jù)包頭之外的所有信息,另外,IP數(shù)據(jù)包頭信息中的某些字段也可以獲得認(rèn)證頭的保護(hù)。在ESP(EncapsulatingSecurityPayload)模式中,數(shù)據(jù)完整性和數(shù)據(jù)機(jī)密性都要求獲得保護(hù)。ESP的機(jī)密性保護(hù)和完整性保護(hù)可以施加于除IP數(shù)據(jù)包頭之外的所有信息上。ESP模式中的一種必須支持的加密方案就是NULL加密(即不加密的方案)。在ESP模式中,如果NULL加密被作為加密方案選中,那么就不會(huì)應(yīng)用任何加密,但數(shù)據(jù)還是會(huì)獲得完整性保護(hù)。這種情況看起來(lái)就疑似AH的用法了。既然如此,那還要AH模式干什么用呢?8710.4.9ESP和AH一旦決定采用運(yùn)輸方式或隧道方式,接AH模式獨(dú)立存在的三個(gè)原因

AH模式能夠比“ESP/NULL”組合模式提供稍微多一些的數(shù)據(jù)完整性保護(hù)。在使用ESP模式的情況下,只要選擇了一種非NULL的加密方案,自IP數(shù)據(jù)包頭之后的所有數(shù)據(jù)都將被加密?!叭绻鸄H模式惹惱了微軟,那么就留下它吧,因?yàn)槲覀兒尬④浌緞龠^(guò)恨AH模式”!88AH模式獨(dú)立存在的三個(gè)原因3110.5

Kerberos在希臘神話中,Kerberos是一條有著三個(gè)頭的狗,守衛(wèi)著地獄之入口。在信息安全領(lǐng)域里,Kerberos是一種通用的認(rèn)證協(xié)議,利用了對(duì)稱密鑰加密技術(shù)和時(shí)間戳技術(shù)。Kerberos的設(shè)計(jì)面向的是比較小規(guī)模的應(yīng)用場(chǎng)景,主要是類似局域網(wǎng)(LocalAreaNetwork,LAN)或是公司的內(nèi)部網(wǎng)絡(luò)等環(huán)境。在Kerberos方案中,可信任的第三方(TTP)是關(guān)鍵性的安全組件,被稱為密鑰分發(fā)中心或者簡(jiǎn)稱為KDC。它扮演中間人的角色,確保任何一對(duì)用戶彼此之間都能夠安全地通信,進(jìn)而實(shí)現(xiàn)協(xié)議的可擴(kuò)展性。無(wú)狀態(tài)的KDC是Kerberos方案中主要的安全特性之一。Kerberos協(xié)議用于身份認(rèn)證并建立會(huì)話密鑰,會(huì)話密鑰可以用于隨后數(shù)據(jù)通信中的機(jī)密性和完整性保護(hù)。在Kerboros認(rèn)證框架中,KDC負(fù)責(zé)簽發(fā)各種類型的票據(jù)(ticket)。每一個(gè)TGT票據(jù)都包含會(huì)話密鑰、票據(jù)簽發(fā)的目標(biāo)用戶的ID以及有效期。8910.5Kerberos在希臘神話中,Kerberos是一10.5.1Kerberos化的登錄Kerberos化登錄過(guò)程的圖解密鑰KA的計(jì)算方法由公式KA=h(Alice'spassword)表示。由KDC創(chuàng)建會(huì)話密鑰SA。Alice的計(jì)算機(jī)利用KA獲得SA和Alice的TGT票據(jù);然后,Alice的計(jì)算機(jī)就會(huì)丟棄KA。TGT=E(“Alice”,SA;KKDC)。90優(yōu)點(diǎn):所有安全相關(guān)的處理過(guò)程(在口令輸入之后)對(duì)于Alice都是透明的;缺點(diǎn):整個(gè)框架的有效性完全依賴于KDC的安全性。10.5.1Kerberos化的登錄Kerberos化登錄10.5.2

Kerberos中的票據(jù)一旦Alice的計(jì)算機(jī)接收到TGT票據(jù)之后,就可以使用這個(gè)TGT票據(jù)來(lái)發(fā)起隨后的網(wǎng)絡(luò)資源訪問(wèn)請(qǐng)求(REQUEST)。Alice接收“需要提交給Bob的票據(jù)”的圖解說(shuō)明約定:9110.5.2Kerberos中的票據(jù)一旦Alice的計(jì)算機(jī)一旦Alice獲得“需要提交給Bob的票據(jù)”,她隨后就可以與Bob進(jìn)行安全通信,如圖10-21。其中“需要提交給Bob的票據(jù)”與上面一樣,而認(rèn)證碼為:Bob要使用他自己的密鑰KB來(lái)解密“需要提交給Bob的票據(jù)”,從而得到KAB,然后再使用這個(gè)KAB來(lái)驗(yàn)證時(shí)間戳的有效性。密鑰KAB還要用于保護(hù)后續(xù)Alice和Bob之間通話的機(jī)密性和數(shù)據(jù)完整性。既然時(shí)間戳用于防止重放攻擊,Kerberos認(rèn)證框架中就要設(shè)法最小化必須發(fā)送的消息數(shù)目。在Kerberos認(rèn)證框架中,這個(gè)時(shí)鐘偏差在默認(rèn)情況下的設(shè)置是5分鐘。92一旦Alice獲得“需要提交給Bob的票據(jù)”,她隨后就可以與10.5.3

Kerberos的安全性當(dāng)Alice登錄時(shí),KDC發(fā)送E(SA,TGT;KA)給Alice,其中TGT=E(“Alice”,SA;KKDC)。既然TGT票據(jù)是使用密鑰KKDC加密的,那么為什么還要使用密鑰KA對(duì)TGT票據(jù)進(jìn)行再次加密呢?這是Kerberos認(rèn)證框架設(shè)計(jì)中的一個(gè)小瑕疵,因?yàn)檫@個(gè)操作增加了額外的工作量,但是并沒有提供更多的安全性。如果密鑰KKDC被攻陷,那么整個(gè)系統(tǒng)的安全性必將蕩然無(wú)存。Kerberos認(rèn)證框架很容易就實(shí)現(xiàn)了基于對(duì)稱密鑰的匿名性。Kerberos認(rèn)證框架利用KDC記錄下在時(shí)鐘偏差區(qū)間之內(nèi)接收到的所有時(shí)間戳認(rèn)證碼中出現(xiàn)的時(shí)間戳來(lái)防止重放攻擊。無(wú)需維護(hù)狀態(tài)又是Kerberos認(rèn)證框架的非常重要的特性之一。9310.5.3Kerberos的安全性當(dāng)Alice登錄時(shí),K10.6

WEP有線等效保密(WiredEquivalentPrivacy)協(xié)議,簡(jiǎn)稱為WEP協(xié)議,是安全協(xié)議。設(shè)計(jì)目標(biāo)是要使無(wú)線局域網(wǎng)(WirelessLocalAreaNetwork,WLAN)和有線局域網(wǎng)(LAN)具有一樣的安全性。無(wú)論以什么標(biāo)準(zhǔn)來(lái)衡量,WEP都是具有嚴(yán)重缺陷的協(xié)議。在802.11系列標(biāo)準(zhǔn)中規(guī)定了一個(gè)數(shù)據(jù)鏈路層安全協(xié)議,被稱為WEP(WiredEquivalentPrivacy),這個(gè)協(xié)議的設(shè)計(jì)目標(biāo)是要使無(wú)線局域網(wǎng)的安全性與有線局域網(wǎng)同樣的好。因?yàn)樵谀J(rèn)情況下,有線局域網(wǎng)根本就沒有安全性可言,所以這個(gè)目標(biāo)很容易實(shí)現(xiàn),而WEP做到了。9410.6WEP有線等效保密(WiredEquivalen10.6.1WEP協(xié)議的認(rèn)證在WEP協(xié)議中,無(wú)線接入點(diǎn)與所有的用戶共享單獨(dú)的對(duì)稱密鑰。雖然在多個(gè)用戶之間共享密鑰的做法不是理想選擇,但是這種方式肯定是會(huì)簡(jiǎn)化接入點(diǎn)的操作。無(wú)論如何,實(shí)際的WEP協(xié)議的認(rèn)證過(guò)程就是簡(jiǎn)單的“challenge-response”機(jī)制,如圖所示。其中Bob是訪問(wèn)接入點(diǎn),Alice是用戶,而K就是共享的對(duì)稱密鑰。9510.6.1WEP協(xié)議的認(rèn)證在WEP協(xié)議中,無(wú)線接入點(diǎn)與所10.6.2

WEP協(xié)議的加密一旦Alice通過(guò)認(rèn)證,數(shù)據(jù)包就會(huì)被加密,使用的加密方案是RC4流密碼加密方案。每一個(gè)數(shù)據(jù)包都要使用密鑰KIV=(IV,K)進(jìn)行加密,其中IV是3字節(jié)的初始化向量,以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論