計算機網(wǎng)絡(luò)第5版課件_第1頁
計算機網(wǎng)絡(luò)第5版課件_第2頁
計算機網(wǎng)絡(luò)第5版課件_第3頁
計算機網(wǎng)絡(luò)第5版課件_第4頁
計算機網(wǎng)絡(luò)第5版課件_第5頁
已閱讀5頁,還剩141頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機網(wǎng)絡(luò)(第5版)第7章網(wǎng)絡(luò)安全計算機網(wǎng)絡(luò)(第5版)第7章網(wǎng)絡(luò)安全1第7章網(wǎng)絡(luò)安全

7.1網(wǎng)絡(luò)安全問題概述7.1.1計算機網(wǎng)絡(luò)面臨的安全性威脅7.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容7.1.3一般的數(shù)據(jù)加密模型7.2兩類密碼體制7.2.1對稱密鑰密碼體制7.2.2公鑰密碼體制第7章網(wǎng)絡(luò)安全7.1網(wǎng)絡(luò)安全問題概述2第7章網(wǎng)絡(luò)安全(續(xù))7.3數(shù)字簽名7.4鑒別7.4.1報文鑒別7.4.2實體鑒別7.5密鑰分配7.5.1對稱密鑰的分配7.5,2公鑰的分配第7章網(wǎng)絡(luò)安全(續(xù))7.3數(shù)字簽名3第7章網(wǎng)絡(luò)安全(續(xù))7.6因特網(wǎng)使用的安全協(xié)議7.6.1網(wǎng)絡(luò)層安全協(xié)議7.6.2運輸層安全協(xié)議7.6.3應(yīng)用層的安全協(xié)議破7.7鏈路加密與端到端加密7.7.1鏈路加密7.7.2端到端加密7.8防火墻第7章網(wǎng)絡(luò)安全(續(xù))7.6因特網(wǎng)使用的安全協(xié)議47.1網(wǎng)絡(luò)安全問題概述

7.1.1計算機網(wǎng)絡(luò)面臨的安全性威脅

計算機網(wǎng)絡(luò)上的通信面臨以下的四種威脅:(1)截獲——從網(wǎng)絡(luò)上竊聽他人的通信內(nèi)容。(2)中斷——有意中斷他人在網(wǎng)絡(luò)上的通信。(3)篡改——故意篡改網(wǎng)絡(luò)上傳送的報文。(4)偽造——偽造信息在網(wǎng)絡(luò)上傳送。截獲信息的攻擊稱為被動攻擊,而更改信息和拒絕用戶使用資源的攻擊稱為主動攻擊。7.1網(wǎng)絡(luò)安全問題概述

7.1.1計算機網(wǎng)絡(luò)面臨5對網(wǎng)絡(luò)的被動攻擊和主動攻擊截獲篡改偽造中斷被動攻擊主動攻擊目的站源站源站源站源站目的站目的站目的站對網(wǎng)絡(luò)的被動攻擊和主動攻擊截獲篡改偽造中斷被動攻擊主動6被動攻擊在被動攻擊中,攻擊者只是觀察和分析某一個協(xié)議數(shù)據(jù)單元PDU而不干擾信息流。攻擊者通過觀察PDU的長度和傳輸?shù)念l度,了解所交換的數(shù)據(jù)的某種性質(zhì),這種被動攻擊又稱為流量分析(trafficanalysis)。被動攻擊在被動攻擊中,攻擊者只是觀察和分析某一個協(xié)議數(shù)據(jù)單元7主動攻擊主動攻擊是指攻擊者對某個連接中通過的PDU進行各種處理。更改報文流:包括對通過連接的PDU的真實性、完整性和有序性的攻擊。拒絕報文服務(wù):指攻擊者向因特網(wǎng)上的服務(wù)器不停地發(fā)送大量的分組,使因特網(wǎng)或服務(wù)器無法提供正常的服務(wù)。也稱為拒絕服務(wù)DoS或網(wǎng)絡(luò)帶寬攻擊或連通性攻擊。偽造連接初始化:攻擊者重放以前被記錄的合法連接初始化序列,或者偽造身份而企圖建立連接。主動攻擊主動攻擊是指攻擊者對某個連接中通過的PDU8(1)防止析出報文內(nèi)容;(2)防止通信量分析;(3)檢測更改報文流;(4)檢測拒絕報文服務(wù);(5)檢測偽造初始化連接。計算機網(wǎng)絡(luò)通信安全的目標(1)防止析出報文內(nèi)容;計算機網(wǎng)絡(luò)通信安全的目標9防止攻擊的策略對于被動攻擊可以采用各種加密技術(shù)。對于主動攻擊,則需將加密技術(shù)和適當?shù)蔫b別技術(shù)相結(jié)合。還有一種特殊的主動攻擊就是惡意程序。防止攻擊的策略對于被動攻擊可以采用各種加密技術(shù)。10計算機病毒——會“傳染”其他程序的程序,“傳染”是通過修改其他程序來把自身或其變種復制進去完成的。計算機蠕蟲——通過網(wǎng)絡(luò)的通信功能將自身從一個結(jié)點發(fā)送到另一個結(jié)點并啟動運行的程序。特洛伊木馬——一種程序,它執(zhí)行的功能超出所聲稱的功能。邏輯炸彈——一種當運行環(huán)境滿足某種特定條件時執(zhí)行其他特殊功能的程序。惡意程序(rogueprogram)計算機病毒——會“傳染”其他程序的程序,“傳染”是通過修改其117.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容保密性安全協(xié)議的設(shè)計訪問控制或存取控制或接入控制7.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容保密性12明文X

截獲密文Y7.1.3一般的數(shù)據(jù)加密模型加密密鑰K明文X密文Y截取者篡改ABE運算加密算法D運算解密算法因特網(wǎng)解密密鑰K明文X截獲密文Y7.1.3一般的數(shù)據(jù)加密模型加13一些重要概念密碼編碼學(cryptography)是密碼體制的設(shè)計學,而密碼分析學(cryptanalysis)則是在未知密鑰的情況下從密文推演出明文或密鑰的技術(shù)。密碼編碼學與密碼分析學合起來即為密碼學(cryptology)。如果不論截取者獲得了多少密文,但在密文中都沒有足夠的信息來唯一地確定出對應(yīng)的明文,則這一密碼體制稱為無條件安全的,或稱為理論上是不可破的。如果密碼體制中的密碼不能被可使用的計算資源破譯,則這一密碼體制稱為在計算上是安全的。一些重要概念密碼編碼學(cryptography)是密碼體147.2兩類密碼體制

7.2.1對稱密鑰密碼體制

所謂常規(guī)密鑰密碼體制,即加密密鑰與解密密鑰是相同的密碼體制。這種加密系統(tǒng)又稱為對稱密鑰系統(tǒng)。7.2兩類密碼體制

7.2.1對稱密鑰密碼體制所15數(shù)據(jù)加密標準DES數(shù)據(jù)加密標準DES屬于常規(guī)密鑰密碼體制,是一種分組密碼。在加密前,先對整個明文進行分組。每一組長為64位二進制數(shù)據(jù)。然后對每一個64位二進制數(shù)據(jù)進行加密處理,產(chǎn)生一組64位密文數(shù)據(jù)。最后將各組密文串接起來,即得出整個的密文。使用的密鑰為64位(實際密鑰長度為56位,有8位用于奇偶校驗)。數(shù)據(jù)加密標準DES數(shù)據(jù)加密標準DES屬于常規(guī)密鑰密碼體16DES

的保密性DES

的保密性僅取決于對密鑰的保密,而算法是公開的。盡管人們在破譯DES方面取得了許多進展,但至今仍未能找到比窮舉搜索密鑰更有效的方法。DES是世界上第一個公認的實用密碼算法標準,它曾對密碼學的發(fā)展做出了重大貢獻。目前較為嚴重的問題是DES的密鑰的長度?,F(xiàn)在已經(jīng)設(shè)計出來搜索DES密鑰的專用芯片。國際數(shù)據(jù)加密算法IDEA使用128bit密鑰,更不容易被攻破。

DES的保密性DES的保密性僅取決于對密鑰的保密,而算法177.2.2公鑰密碼體制公鑰密碼體制使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。公鑰密碼體制的產(chǎn)生主要是因為兩個方面的原因,一是由于常規(guī)密鑰密碼體制的密鑰分配問題,另一是由于對數(shù)字簽名的需求?,F(xiàn)有最著名的公鑰密碼體制是RSA體制,它基于數(shù)論中大數(shù)分解問題的體制,由美國三位科學家Rivest,Shamir和Adleman于1976年提出并在1978年正式發(fā)表的。7.2.2公鑰密碼體制公鑰密碼體制使用不同的加密密鑰與解18加密密鑰與解密密鑰在公鑰密碼體制中,加密密鑰(即公鑰)PK是公開信息,而解密密鑰(即私鑰或秘鑰)SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然秘鑰SK是由公鑰PK決定的,但卻不能根據(jù)PK計算出SK。加密密鑰與解密密鑰在公鑰密碼體制中,加密密鑰(即公鑰)P19應(yīng)當注意任何加密方法的安全性取決于密鑰的長度,以及攻破密文所需的計算量。在這方面,公鑰密碼體制并不具有比傳統(tǒng)加密體制更加優(yōu)越之處。由于目前公鑰加密算法的開銷較大,在可見的將來還看不出來要放棄傳統(tǒng)的加密方法。公鑰還需要密鑰分配協(xié)議,具體的分配過程并不比采用傳統(tǒng)加密方法時更簡單。應(yīng)當注意任何加密方法的安全性取決于密鑰的長度,以及攻破密文20公鑰算法的特點發(fā)送者A用B的公鑰PKB對明文X加密(E運算)后,在接收者B用自己的私鑰SKB解密(D運算),即可恢復出明文:(7-4)解密密鑰是接收者專用的秘鑰,對其他人都保密。加密密鑰是公開的,但不能用它來解密,即

(7-5)公鑰算法的特點發(fā)送者A用B的公鑰PKB對明文21公鑰算法的特點(續(xù))加密和解密的運算可以對調(diào),即

在計算機上可容易地產(chǎn)生成對的PK和SK。從已知的PK實際上不可能推導出SK,即從PK到SK是“計算上不可能的”。加密和解密算法都是公開的。(7-6)公鑰算法的特點(續(xù))加密和解密的運算可以對調(diào),即(7-6)22公鑰密碼體制密文Y

E運算加密算法D運算解密算法加密解密明文X明文X

ABB的私鑰SKB密文Y

因特網(wǎng)B的公鑰PKB公鑰密碼體制密文YE運算D運算加密解密明文X明文237.3數(shù)字簽名數(shù)字簽名必須保證以下三點:(1)報文鑒別——接收者能夠核實發(fā)送者對報文的簽名;(2)報文的完整性——發(fā)送者事后不能抵賴對報文的簽名;(3)不可否認——接收者不能偽造對報文的簽名?,F(xiàn)在已有多種實現(xiàn)各種數(shù)字簽名的方法。但采用公鑰算法更容易實現(xiàn)。7.3數(shù)字簽名數(shù)字簽名必須保證以下三點:24密文數(shù)字簽名的實現(xiàn)D運算明文X明文X

ABA的私鑰SKA因特網(wǎng)簽名核實簽名E運算密文A的公鑰PKA密文數(shù)字簽名的實現(xiàn)D明文X明文XABA的私鑰S25數(shù)字簽名的實現(xiàn)因為除A外沒有別人能具有A的私鑰,所以除A外沒有別人能產(chǎn)生這個密文。因此B相信報文X是A簽名發(fā)送的。若A要抵賴曾發(fā)送報文給B,B可將明文和對應(yīng)的密文出示給第三者。第三者很容易用A的公鑰去證實A確實發(fā)送X給B。反之,若B將X偽造成X‘,則B不能在第三者前出示對應(yīng)的密文。這樣就證明了B偽造了報文。數(shù)字簽名的實現(xiàn)因為除A外沒有別人能具有A的私鑰,所以26具有保密性的數(shù)字簽名核實簽名解密加密簽名E運算D運算明文X明文X

ABA的私鑰SKA因特網(wǎng)E運算B的私鑰SKBD運算加密與解密簽名與核實簽名B的公鑰PKBA的公鑰PKA密文具有保密性的數(shù)字簽名核實簽名解密加密簽名E運算D277.4鑒別在信息的安全領(lǐng)域中,對付被動攻擊的重要措施是加密,而對付主動攻擊中的篡改和偽造則要用鑒別(authentication)

。報文鑒別使得通信的接收方能夠驗證所收到的報文(發(fā)送者和報文內(nèi)容、發(fā)送時間、序列等)的真?zhèn)巍J褂眉用芫涂蛇_到報文鑒別的目的。但在網(wǎng)絡(luò)的應(yīng)用中,許多報文并不需要加密。應(yīng)當使接收者能用很簡單的方法鑒別報文的真?zhèn)巍?.4鑒別在信息的安全領(lǐng)域中,對付被動攻擊的重要措施是加28鑒別與授權(quán)不同鑒別與授權(quán)(authorization)是不同的概念。授權(quán)涉及到的問題是:所進行的過程是否被允許(如是否可以對某文件進行讀或?qū)懀hb別與授權(quán)不同鑒別與授權(quán)(authorization)是不同297.4.1報文鑒別許多報文并不需要加密但卻需要數(shù)字簽名,以便讓報文的接收者能夠鑒別報文的真?zhèn)巍H欢鴮荛L的報文進行數(shù)字簽名會使計算機增加很大的負擔(需要進行很長時間的運算。當我們傳送不需要加密的報文時,應(yīng)當使接收者能用很簡單的方法鑒別報文的真?zhèn)巍?.4.1報文鑒別許多報文并不需要加密但卻需要數(shù)字簽名30報文摘要MD

(MessageDigest)A將報文X經(jīng)過報文摘要算法運算后得出很短的報文摘要H。然后然后用自己的私鑰對H進行D運算,即進行數(shù)字簽名。得出已簽名的報文摘要D(H)后,并將其追加在報文X后面發(fā)送給B。

B收到報文后首先把已簽名的D(H)和報文X分離。然后再做兩件事。用A的公鑰對D(H)進行E運算,得出報文摘要H。對報文X進行報文摘要運算,看是否能夠得出同樣的報文摘要H。如一樣,就能以極高的概率斷定收到的報文是A產(chǎn)生的。否則就不是。報文摘要MD

(MessageDigest)A將報文31報文摘要的優(yōu)點僅對短得多的定長報文摘要H進行數(shù)字簽名要比對整個長報文進行數(shù)字簽名要簡單得多,所耗費的計算資源也小得多。但對鑒別報文X來說,效果是一樣的。也就是說,報文X和已簽名的報文摘要D(H)合在一起是不可偽造的,是可檢驗的和不可否認的。報文摘要的優(yōu)點僅對短得多的定長報文摘要H進行數(shù)字簽名要比32報文摘要算法報文摘要算法就是一種散列函數(shù)。這種散列函數(shù)也叫做密碼編碼的檢驗和。報文摘要算法是防止報文被人惡意篡改。報文摘要算法是精心選擇的一種單向函數(shù)??梢院苋菀椎赜嬎愠鲆粋€長報文X的報文摘要H,但要想從報文摘要H反過來找到原始的報文X,則實際上是不可能的。若想找到任意兩個報文,使得它們具有相同的報文摘要,那么實際上也是不可能的。報文摘要算法報文摘要算法就是一種散列函數(shù)。這種散列函數(shù)也叫做33報文摘要算法MD5把任意長的報文按模264計算其余數(shù)(64bit),追加在報文的后面。在報文和余數(shù)之間填充1~512bit的數(shù)據(jù)塊,使的填充后的總長度是512的整數(shù)倍。填充的首位是1,后面都是0。把追加和填充后的報文分割成一個個512bit的數(shù)據(jù)塊,每個512bit的報文數(shù)據(jù)再分成4個128bit的數(shù)據(jù)塊依次送到不同的散列函數(shù)進行4輪計算。每一輪又都按32bit的小數(shù)據(jù)塊進行復雜的運算。一直到最后計算出128bit的MD5報文摘要代碼。報文摘要算法MD5把任意長的報文按模264計算其余數(shù)(634報文摘要算法MD5MD5算法可以對任意長的報文進行運算,最后得出128bit的報文摘要代碼。MD5報文摘要代碼中的每一位都與原來報文中的每一位有關(guān)。安全散列算法SHA和MD5相似,但碼長為160位,比MD5更安全,但慢一些。報文摘要算法MD5MD5算法可以對任意長的報文進行運算,最后35報文摘要的實現(xiàn)A比較簽名核實簽名報文XHD運算D(H)A的私鑰報文XD(H)B報文摘要報文XD(H)發(fā)送E運算H簽名的報文摘要H報文摘要運算A的公鑰報文摘要運算報文摘要報文摘要因特網(wǎng)報文摘要的實現(xiàn)A比較簽名核實簽名報文XHD運算D(367.4.2實體鑒別實體鑒別和報文鑒別不同。報文鑒別是對每一個收到的報文都要鑒別報文的發(fā)送者,而實體鑒別是在系統(tǒng)接入的全部持續(xù)時間內(nèi)對和自己通信的對方實體只需驗證一次。7.4.2實體鑒別實體鑒別和報文鑒別不同。37最簡單的實體鑒別過程A發(fā)送給B的報文的被加密,使用的是對稱密鑰KAB。B收到此報文后,用共享對稱密鑰KAB進行解密,因而鑒別了實體A的身份。ABA,口令KAB最簡單的實體鑒別過程A發(fā)送給B的報文的被加密,使用的38明顯的漏洞入侵者C可以從網(wǎng)絡(luò)上截獲A發(fā)給B的報文。C并不需要破譯這個報文(因為這可能花很多時間)而可以直接把這個由A加密的報文發(fā)送給B,使B誤認為C就是A。然后B就向偽裝是A的C發(fā)送應(yīng)發(fā)給A的報文。這就叫做重放攻擊(replayattack)。C甚至還可以截獲A的IP地址,然后把A的IP地址冒充為自己的IP地址(這叫做IP欺騙),使B更加容易受騙。明顯的漏洞入侵者C可以從網(wǎng)絡(luò)上截獲A發(fā)給B的報文39使用不重數(shù)為了對付重放攻擊,可以使用不重數(shù)(nonce)。不重數(shù)就是一個不重復使用的大隨機數(shù),即“一次一數(shù)”。在鑒別過程中不重數(shù)可以使B能夠把重復的鑒別請求和新的鑒別請求區(qū)分開。使用不重數(shù)為了對付重放攻擊,可以使用不重數(shù)(nonce)。不40使用不重數(shù)進行鑒別ABA,RARBKABRARBKAB,時間使用不重數(shù)進行鑒別ABA,RARBKABRARBKAB,41使用不重數(shù)進行鑒別A首先用明文發(fā)送自己的身份A和一個不重數(shù)RA給B。B響應(yīng)A的查問,用共享的密鑰KAB對RA加密后發(fā)給A,同時也給出自己的不重數(shù)RB。最后A再響應(yīng)B的查問,用共享的密鑰KAB對RB加密后發(fā)回給B。使用不重數(shù)進行鑒別A首先用明文發(fā)送自己的身份A和一個不重數(shù)R42中間人攻擊AB我是A中間人C我是ARBRBSKC請把公鑰發(fā)來PKCRBRBSKA請把公鑰發(fā)來PKADATAPKCDATAPKA時間中間人攻擊AB我是A中間人C我是ARBRBSKC請把43中間人攻擊說明A向B發(fā)送“我是A”的報文,并給出了自己的身份。此報文被“中間人”C截獲,C把此報文原封不動地轉(zhuǎn)發(fā)給B。B選擇一個不重數(shù)RB發(fā)送給A,但同樣被C截獲后也照樣轉(zhuǎn)發(fā)給A。中間人C用自己的私鑰SKC對RB加密后發(fā)回給B,使B誤以為是A發(fā)來的。A收到RB后也用自己的私鑰SKA對RB加密后發(fā)回給B,中途被C截獲并丟棄。B向A索取其公鑰,此報文被C截獲后轉(zhuǎn)發(fā)給A。C把自己的公鑰PKC冒充是A的發(fā)送給B,而C也截獲到A發(fā)送給B的公鑰PKA。B用收到的公鑰PKC(以為是A的)對數(shù)據(jù)加密發(fā)送給A。C截獲后用自己的私鑰SKC解密,復制一份留下,再用A的公鑰PKA對數(shù)據(jù)加密后發(fā)送給A。A收到數(shù)據(jù)后,用自己的私鑰SKA解密,以為和B進行了保密通信。其實,B發(fā)送給A的加密數(shù)據(jù)已被中間人C截獲并解密了一份。但A和B卻都不知道。中間人攻擊說明A向B發(fā)送“我是A”的報文,并給出了自447.5密鑰分配密鑰管理包括:密鑰的產(chǎn)生、分配、注入、驗證和使用。本節(jié)只討論密鑰的分配。密鑰分配是密鑰管理中最大的問題。密鑰必須通過最安全的通路進行分配。目前常用的密鑰分配方式是設(shè)立密鑰分配中心KDC(KeyDistribution),通過KDC來分配密鑰。7.5密鑰分配密鑰管理包括:密鑰的產(chǎn)生、分配、注入、457.5.1對稱密鑰的分配目前常用的密鑰分配方式是設(shè)立密鑰分配中心KDC(KeyDistributionCenter)。KDC是大家都信任的機構(gòu),其任務(wù)就是給需要進行秘密通信的用戶臨時分配一個會話密鑰(僅使用一次)。用戶A和B都是KDC的登記用戶,并已經(jīng)在KDC的服務(wù)器上安裝了各自和KDC進行通信的主密鑰(masterkey)KA和KB?!爸髅荑€”可簡稱為“密鑰”。7.5.1對稱密鑰的分配目前常用的密鑰分配方式是設(shè)立密鑰46對稱密鑰的分配AB密鑰分配中心KDCA,B,KABKB……用戶專用主密鑰用戶主密鑰A

KAB

KB

A,B,KABKABKBKA,時間A,B對稱密鑰的分配AB密鑰A,B,KABKB……用戶專用主47對稱密鑰的分配在網(wǎng)絡(luò)上傳送密鑰時,都是經(jīng)過加密的。解密用的密鑰都不在網(wǎng)絡(luò)上傳送。會話密鑰KAB都是用隨機數(shù)產(chǎn)生的“一次一密”,是一次性的。KDC分配給用戶的密鑰KA和KB都應(yīng)定期的更換。KDC還可以加入時間戳,以防止報文的截獲者利用以前已記錄下來的報文進行重放攻擊。目前最出名的密鑰分配協(xié)議是KerberosV5。對稱密鑰的分配在網(wǎng)絡(luò)上傳送密鑰時,都是經(jīng)過加密的。解密用的密48KerberosV5KerberosV5是麻省理工學院MIT開發(fā)的。KerberosV5既是鑒別協(xié)議,也是KDC。KerberosV5使用比DES更安全的先進的加密標準AES(AdvancedEncryptionStandard)進行加密。Kerberos使用兩個服務(wù)器:鑒別服務(wù)器AS(AuthenticationServer)、票據(jù)授予服務(wù)器TGS(Ticket-GrantingServer)。Kerberos只用于客戶與服務(wù)器之間的鑒別,而不用于人對人的鑒別。在下圖中,A是請求服務(wù)的客戶,B是服務(wù)器。KerberosV5KerberosV5是麻省理工學院M49ABKerberosAASTGSTKAB,A,KABKBT+1KABA,KSTKS,B,KTGA,KABKB,B,KABKSKTGKAA,KSKS,ABKerberosAASTGSTKAB,A,KAB50KerberosA用明文向鑒別服務(wù)器AS表明自己的身份。AS就是KDC,掌握各實體登記的身份和相應(yīng)的口令。AS對A的身份進行驗證,只有驗證結(jié)果正確,才允許A和票據(jù)授予服務(wù)器TGS進行聯(lián)系。AS向A發(fā)送用A的對稱密鑰KA加密的報文,這個報文包含A和TGS通信的會話密鑰KS以及AS要發(fā)送給TGS的票據(jù)(用TGS的對稱密鑰KTG加密)。A并未保存密鑰KA,當這個報文到達A時,A就鍵入其口令。若口令正確,則該口令和適當?shù)乃惴ㄒ黄鹁湍苌擅荑€KA。這個口令隨即被銷毀。密鑰KA用來對AS發(fā)送過來的報文進行解密,提取出會話密鑰KS和要轉(zhuǎn)發(fā)給TGS的票據(jù)。KerberosA用明文向鑒別服務(wù)器AS表明自己的身份。AS51KerberosA向TGS發(fā)送三個項目:轉(zhuǎn)發(fā)AS發(fā)來的票據(jù)。服務(wù)器B的名字。這表明A請求B的服務(wù)。注意,A向TGS證明自己的身份并非通過鍵入口令(因為入侵者能從網(wǎng)上截獲明文口令),而是通過轉(zhuǎn)發(fā)AS發(fā)出的票據(jù)(因為只有A才能取出)。票據(jù)是加密的,入侵者偽造不了。用KS加密的時間戳T,它用來防止入侵者的重放攻擊。KerberosA向TGS發(fā)送三個項目:52KerberosTGS發(fā)送兩個票據(jù),每一個都包含A和B通信的會話密鑰KAB。給A的票據(jù)用KS加密;給B的票據(jù)用B的密鑰KB加密?,F(xiàn)在入侵者不能提取KAB,因為不知道KS和KB。入侵者也不能重放步驟3,因為入侵者不能把時間戳更換為一個新的(因為不知道KS)。如果入侵者在時間戳到期之前,非常迅速的發(fā)送步驟3的報文,那么對TGS發(fā)送過來的兩個票據(jù)仍然不能解密。A向B轉(zhuǎn)發(fā)TGS發(fā)來的票據(jù),同時發(fā)送用KAB加密的時間戳T。B把時間戳T加1來證實收到了票據(jù)。B向A發(fā)送的報文用密鑰KAB加密。KerberosTGS發(fā)送兩個票據(jù),每一個都包含A和B通信的53Kerberos以后A和B就使用KAB進行通信。Kerberos要求所有使用Kerberos的主機及必須在時鐘上進行“松散的”同步,這是為了防止重放攻擊。所謂的“松散的”同步是要求所有主機的時鐘誤差不能太大。Kerberos以后A和B就使用KAB進行通信。547.5.2公鑰的分配需要有一個值得信賴的機構(gòu)——即認證中心CA(CertificationAuthority),將公鑰與其對應(yīng)的實體(人或機器)進行綁定(binding)。認證中心一般由政府出資建立。每個實體都有CA發(fā)來的證書(certificate),里面有公鑰及其擁有者的標識信息。此證書被CA進行了數(shù)字簽名。任何用戶都可從可信的地方獲得認證中心CA的公鑰,此公鑰用來驗證某個公鑰是否為某個實體所擁有。有的大公司也提供認證中心服務(wù)。為了使CA具有統(tǒng)一的格式,ITU-T指定了X.509協(xié)議標準,用來描述證書的結(jié)構(gòu)。在X.509中規(guī)定要使用ASN.1。IETF接受了X.509,并在RFC3280中給出了因特網(wǎng)X.509公鑰基礎(chǔ)結(jié)構(gòu)PKI。7.5.2公鑰的分配需要有一個值得信賴的機構(gòu)——即認證中557.6因特網(wǎng)使用的安全協(xié)議

7.6.1網(wǎng)絡(luò)層安全協(xié)議

IPsec與安全關(guān)聯(lián)SA1998.11公布了因特網(wǎng)網(wǎng)絡(luò)安全的系列RFC2401~2411。其中最重要的就是描述IP安全體系結(jié)構(gòu)的RFC2401和提供IPsec協(xié)議族描述的RFC2411。網(wǎng)絡(luò)層保密是指所有在IP數(shù)據(jù)報中的數(shù)據(jù)都是加密的。網(wǎng)絡(luò)層還提供源點鑒別,即當目的站收到IP數(shù)據(jù)報時,能確信這是從該數(shù)據(jù)報的源IP地址的主機發(fā)來的。7.6因特網(wǎng)使用的安全協(xié)議

7.6.1網(wǎng)絡(luò)層安全協(xié)56IPsec中最主要的兩個部分鑒別首部AH(AuthenticationHeader):AH鑒別源點和檢查數(shù)據(jù)完整性,但不能保密。封裝安全有效載荷ESP(EncapsulationSecurityPayload):ESP比AH復雜得多,它鑒別源點、檢查數(shù)據(jù)完整性和提供保密。IPsec中最主要的兩個部分鑒別首部AH(Authe57安全關(guān)聯(lián)SA

(SecurityAssociation)

在使用AH或ESP之前,先要從源主機到目的主機建立一條網(wǎng)絡(luò)層的邏輯連接。此邏輯連接叫做安全關(guān)聯(lián)SA。這樣,IPsec

就把傳統(tǒng)的因特網(wǎng)無連接的網(wǎng)絡(luò)層轉(zhuǎn)換為具有邏輯連接的層。安全關(guān)聯(lián)SA

(SecurityAssociation)58安全關(guān)聯(lián)的特點安全關(guān)聯(lián)是一個單向連接。它由一個三元組唯一地確定,包括:(1)安全協(xié)議(使用AH或ESP)的標識符(2)此單向連接的源IP地址(3)一個32位的連接標識符,稱為安全參數(shù)索引SPI(SecurityParameterIndex)對于一個給定的安全關(guān)聯(lián)SA,每一個IPsec數(shù)據(jù)報都有一個存放SPI的字段。通過此SA的所有數(shù)據(jù)報都使用同樣的SPI值。安全關(guān)聯(lián)的特點安全關(guān)聯(lián)是一個單向連接。它由一個三元組唯一地確592.鑒別首部協(xié)議AH在使用鑒別首部協(xié)議AH時,把AH首部插在原數(shù)據(jù)報數(shù)據(jù)部分的前面,同時把IP首部中的協(xié)議字段置為51。在傳輸過程中,中間的路由器都不查看AH首部。當數(shù)據(jù)報到達終點時,目的主機才處理AH字段,以鑒別源點和檢查數(shù)據(jù)報的完整性。IP首部AH首部TCP/UDP報文段協(xié)議=512.鑒別首部協(xié)議AH在使用鑒別首部協(xié)議AH時,把60AH首部下一個首部(8位)。標志緊接著本首部的下一個首部的類型(如TCP或UDP)。有效載荷長度(8位),即鑒別數(shù)據(jù)字段的長度,以32位字為單位。安全參數(shù)索引SPI(32位)。標志安全關(guān)聯(lián)。序號(32位)。鑒別數(shù)據(jù)字段的長度,以32位字為單位。保留(16位)。為今后用。鑒別數(shù)據(jù)(可變)。為32位字的整數(shù)倍,它包含了經(jīng)數(shù)字簽名的報文摘要。因此可用來鑒別源主機和檢查IP數(shù)據(jù)報的完整性。AH首部下一個首部(8位)。標志緊接著本首部的下一個首613.封裝安全有效載荷ESP使用ESP時,IP數(shù)據(jù)報首部的協(xié)議字段置為50。當IP首部檢查到協(xié)議字段是50時,就知道在IP首部后面緊接著的是ESP首部,同時在原IP數(shù)據(jù)報后面增加了兩個字段,即ESP尾部和ESP數(shù)據(jù)。在ESP首部中有標識一個安全關(guān)聯(lián)的安全參數(shù)索引SPI(32位),和序號(32位)。3.封裝安全有效載荷ESP使用ESP時,IP數(shù)據(jù)623.封裝安全有效載荷ESP(續(xù))在ESP尾部中有下一個首部(8位,作用和AH首部的一樣)。ESP尾部和原來數(shù)據(jù)報的數(shù)據(jù)部分一起進行加密,因此攻擊者無法得知所使用的運輸層協(xié)議。ESP鑒別和AH中的鑒別數(shù)據(jù)是一樣的。因此,用ESP封裝的數(shù)據(jù)報既有鑒別源站和檢查數(shù)據(jù)報完整性的功能,又能提供保密。3.封裝安全有效載荷ESP(續(xù))在ESP尾部中有下63在IP數(shù)據(jù)報中的

ESP的各字段IP首部ESP首部TCP/UDP報文段使用ESP的IP數(shù)據(jù)報原數(shù)據(jù)報的數(shù)據(jù)部分ESP尾部ESP鑒別加密的部分鑒別的部分協(xié)議=50在IP數(shù)據(jù)報中的

ESP的各字段IP首部ESP首647.6.2運輸層安全協(xié)議

1.安全套接層SSL

SSL是安全套接層(SecureSocketLayer)協(xié)議,可對萬維網(wǎng)客戶與服務(wù)器之間傳送的數(shù)據(jù)進行加密和鑒別。SSL在雙方的聯(lián)絡(luò)階段協(xié)商將使用的加密算法和密鑰,以及客戶與服務(wù)器之間的鑒別。在聯(lián)絡(luò)階段完成之后,所有傳送的數(shù)據(jù)都使用在聯(lián)絡(luò)階段商定的會話密鑰。SSL不僅限于萬維網(wǎng)應(yīng)用,還用于IMAP郵件存取的鑒別和數(shù)據(jù)加密。而且也是運輸層安全協(xié)議TLS(TransportLayerSecurity)的基礎(chǔ)。7.6.2運輸層安全協(xié)議

1.安全套接層SSLSS65SSL的位置TCP應(yīng)用層SSL運輸層HTTPIMAPSSL功能標準套接字在發(fā)送方,SSL接收應(yīng)用層的數(shù)據(jù)(如HTTP或IMAP報文),對數(shù)據(jù)進行加密,然后把加了密的數(shù)據(jù)送往TCP套接字。在接收方,SSL從TCP套接字讀取數(shù)據(jù),解密后把數(shù)據(jù)交給應(yīng)用層。SSL的位置TCP應(yīng)用層SSL運輸層HTTPIMA66SSL提供以下三個功能SSL

服務(wù)器鑒別:允許用戶證實服務(wù)器的身份。具有SSL功能的瀏覽器維持一個表,上面有一些可信賴的認證中心CA(CertificateAuthority)和它們的公鑰。加密的SSL會話:客戶和服務(wù)器交互的所有數(shù)據(jù)都在發(fā)送方加密,在接收方解密。SSL還提供一種檢測信息是否被攻擊者篡改的機制。SSL客戶鑒別:允許服務(wù)器證實客戶的身份。SSL提供以下三個功能SSL服務(wù)器鑒別:允許用戶證實服672.安全電子交易SET

(SecureElectronicTransaction)安全電子交易SET是專為在因特網(wǎng)上進行安全支付卡交易的協(xié)議。SET的主要特點是:(1)SET是專為與支付有關(guān)的報文進行加密的。而SSL可以為任何數(shù)據(jù)加密。(2)SET協(xié)議涉及到三方,即顧客、商家和商業(yè)銀行。所有在這三方之間交互的敏感信息都被加密。(3)SET要求這三方都有證書。在SET交易中,商家看不見顧客傳送給商業(yè)銀行的信用卡號碼。2.安全電子交易SET

(SecureElectr687.6.3應(yīng)用層的安全協(xié)議

1.PGP(PrettyGoodPrivacy)

PGP是一個完整的電子郵件安全軟件包,包括加密、鑒別、電子簽名和壓縮等技術(shù),提供了電子郵件的安全性、發(fā)送方鑒別和報文完整性。PGP并沒有使用什么新的概念,它只是將現(xiàn)有的一些算法如MD5,RSA,以及IDEA等綜合在一起而已。雖然PGP已被廣泛使用,但PGP并不是因特網(wǎng)的正式標準。

7.6.3應(yīng)用層的安全協(xié)議

1.PGP(Pret69PGP的工作過程假定A向B發(fā)送電子郵件明文X。若使用PGP進行加密,則A有三個密鑰:自己的私鑰、B的公鑰和自己生成的一次性密鑰。B有兩個密鑰:自己的私鑰和A的公鑰。PGP的工作過程假定A向B發(fā)送電子郵件明文X。若使用PGP進70A的工作對明文X進行MD5報文摘要運算,得出報文摘要H。用自己的私鑰對H進行數(shù)字簽名,得出簽名的報文摘要D(H),把它拼接在明文的后面,得到報文(X+D(H))。使用自己生成的一次性密鑰對報文(X+D(H))進行加密。使用B的公鑰對一次性密鑰進行加密。把加了密的一次性密鑰和報文發(fā)給B。A的工作對明文X進行MD5報文摘要運算,得出報文摘要H。用自71B的工作把被加密的一次性密鑰和報文分離開。用自己的私鑰解出A的一次性密鑰。用解出的一次性密鑰解密報文(X+D(H)),然后分離出明文X和D(H)。用A的公鑰對D(H)進行核實,得出報文摘要H。對X進行報文摘要算法,得出報文摘要,看是否和H一樣。如一樣,則電子郵件的發(fā)送方鑒別就通過了,報文的完整性也得到了肯定。B的工作把被加密的一次性密鑰和報文分離開。722.PEM

(PrivacyEnhancedMail)

PEM是因特網(wǎng)的郵件加密建議標準,由四個RFC文檔來描述:(1)RFC1421:報文加密與鑒別過程(2)RFC1422:基于證書的密鑰管理(3)RFC1423:PEM的算法、工作方式和標識符(4)RFC1424:密鑰證書和相關(guān)的服務(wù)2.PEM

(PrivacyEnhancedMail73PEM的主要特點PEM的功能和PGP的差不多,都是對基于RFC822的電子郵件進行加密和鑒別。PEM有比PGP更加完善的密鑰管理機制。由認證中心發(fā)布證書,上面有用戶姓名、公鑰以及密鑰的使用期限。每個證書有一個唯一的序號。證書還包括用認證中心秘鑰簽了名的MD5散列函數(shù)。PEM的主要特點PEM的功能和PGP的差不多,都是對747.7鏈路加密與端到端加密

7.7.1鏈路加密

在采用鏈路加密的網(wǎng)絡(luò)中,每條通信鏈路上的加密是獨立實現(xiàn)的。通常對每條鏈路使用不同的加密密鑰。

D1E2明文X結(jié)點1D2E3明文X結(jié)點2Dn明文X用戶BE1明文X用戶A

E1(X)鏈路1

E2(X)鏈路2

En(X)鏈路n

E3(X)密文密文密文密文相鄰結(jié)點之間具有相同的密鑰,因而密鑰管理易于實現(xiàn)。鏈路加密對用戶來說是透明的,因為加密的功能是由通信子網(wǎng)提供的。7.7鏈路加密與端到端加密

7.7.1鏈路加密在采用75鏈路加密報頭和數(shù)據(jù)都被加密,這掩蓋了源點和終點。由于報文是以明文形式在各結(jié)點內(nèi)加密的,所以結(jié)點本身必須是安全的。所有的中間結(jié)點(包括可能經(jīng)過的路由器)未必都是安全的。因此必須采取有效措施。鏈路加密的最大缺點是在中間結(jié)點暴露了信息的內(nèi)容。另外鏈路加密也不適用于廣播網(wǎng)絡(luò),因為廣播網(wǎng)絡(luò)的通信子網(wǎng)沒有明確的鏈路存在。在網(wǎng)絡(luò)互連的情況下,僅采用鏈路加密是不能實現(xiàn)通信安全的。鏈路加密報頭和數(shù)據(jù)都被加密,這掩蓋了源點和終點。767.7.2端到端加密端到端加密是在源結(jié)點和目的結(jié)點中對傳送的PDU進行加密和解密,報文的安全性不會因中間結(jié)點的不可靠而受到影響。

結(jié)點1結(jié)點2DK明文X結(jié)點nEK明文X結(jié)點0

EK(X)鏈路1

EK(X)鏈路2

EK(X)鏈路n端到端鏈路傳送的都是密文在端到端加密的情況下,PDU的控制信息部分(如源結(jié)點地址、目的結(jié)點地址、路由信息等)不能被加密,否則中間結(jié)點就不能正確選擇路由。7.7.2端到端加密端到端加密是在源結(jié)點和目的結(jié)點中對777.8防火墻(firewall)防火墻是由軟件、硬件構(gòu)成的系統(tǒng),是一種特殊編程的路由器,用來在兩個網(wǎng)絡(luò)之間實施接入控制策略。接入控制策略是由使用防火墻的單位自行制訂的,為的是可以最適合本單位的需要。防火墻內(nèi)的網(wǎng)絡(luò)稱為“可信賴的網(wǎng)絡(luò)”(trustednetwork),而將外部的因特網(wǎng)稱為“不可信賴的網(wǎng)絡(luò)”(untrustednetwork)。防火墻可用來解決內(nèi)聯(lián)網(wǎng)和外聯(lián)網(wǎng)的安全問題。7.8防火墻(firewall)防火墻是由軟件、硬件構(gòu)成78防火墻在互連網(wǎng)絡(luò)中的位置G內(nèi)聯(lián)網(wǎng)可信賴的網(wǎng)絡(luò)不可信賴的網(wǎng)絡(luò)分組過濾路由器

R分組過濾路由器

R應(yīng)用網(wǎng)關(guān)外局域網(wǎng)內(nèi)局域網(wǎng)防火墻因特網(wǎng)防火墻在互連網(wǎng)絡(luò)中的位置G內(nèi)聯(lián)網(wǎng)可信賴的網(wǎng)絡(luò)不可信賴的網(wǎng)絡(luò)79防火墻的功能防火墻的功能有兩個:阻止和允許?!白柚埂本褪亲柚鼓撤N類型的通信量通過防火墻(從外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò),或反過來)。“允許”的功能與“阻止”恰好相反。防火墻必須能夠識別通信量的各種類型。不過在大多數(shù)情況下防火墻的主要功能是“阻止”。防火墻的功能防火墻的功能有兩個:阻止和允許。80防火墻技術(shù)一般分為兩類(1)網(wǎng)絡(luò)級防火墻——用來防止整個網(wǎng)絡(luò)出現(xiàn)外來非法的入侵。屬于這類的有分組過濾和授權(quán)服務(wù)器。前者檢查所有流入本網(wǎng)絡(luò)的信息,然后拒絕不符合事先制訂好的一套準則的數(shù)據(jù),而后者則是檢查用戶的登錄是否合法。(2)應(yīng)用級防火墻——從應(yīng)用程序來進行接入控制。通常使用應(yīng)用網(wǎng)關(guān)或代理服務(wù)器來區(qū)分各種應(yīng)用。例如,可以只允許通過訪問萬維網(wǎng)的應(yīng)用,而阻止FTP應(yīng)用的通過。防火墻技術(shù)一般分為兩類(1)網(wǎng)絡(luò)級防火墻——用來防止整個817-01,7-02,7-05,7-06,7-07,7-10,7-12,7-14,7-17,7-19,7-20,7-217-01,7-02,7-05,7-06,7-07,82計算機網(wǎng)絡(luò)(第5版)第7章網(wǎng)絡(luò)安全計算機網(wǎng)絡(luò)(第5版)第7章網(wǎng)絡(luò)安全83第7章網(wǎng)絡(luò)安全

7.1網(wǎng)絡(luò)安全問題概述7.1.1計算機網(wǎng)絡(luò)面臨的安全性威脅7.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容7.1.3一般的數(shù)據(jù)加密模型7.2兩類密碼體制7.2.1對稱密鑰密碼體制7.2.2公鑰密碼體制第7章網(wǎng)絡(luò)安全7.1網(wǎng)絡(luò)安全問題概述84第7章網(wǎng)絡(luò)安全(續(xù))7.3數(shù)字簽名7.4鑒別7.4.1報文鑒別7.4.2實體鑒別7.5密鑰分配7.5.1對稱密鑰的分配7.5,2公鑰的分配第7章網(wǎng)絡(luò)安全(續(xù))7.3數(shù)字簽名85第7章網(wǎng)絡(luò)安全(續(xù))7.6因特網(wǎng)使用的安全協(xié)議7.6.1網(wǎng)絡(luò)層安全協(xié)議7.6.2運輸層安全協(xié)議7.6.3應(yīng)用層的安全協(xié)議破7.7鏈路加密與端到端加密7.7.1鏈路加密7.7.2端到端加密7.8防火墻第7章網(wǎng)絡(luò)安全(續(xù))7.6因特網(wǎng)使用的安全協(xié)議867.1網(wǎng)絡(luò)安全問題概述

7.1.1計算機網(wǎng)絡(luò)面臨的安全性威脅

計算機網(wǎng)絡(luò)上的通信面臨以下的四種威脅:(1)截獲——從網(wǎng)絡(luò)上竊聽他人的通信內(nèi)容。(2)中斷——有意中斷他人在網(wǎng)絡(luò)上的通信。(3)篡改——故意篡改網(wǎng)絡(luò)上傳送的報文。(4)偽造——偽造信息在網(wǎng)絡(luò)上傳送。截獲信息的攻擊稱為被動攻擊,而更改信息和拒絕用戶使用資源的攻擊稱為主動攻擊。7.1網(wǎng)絡(luò)安全問題概述

7.1.1計算機網(wǎng)絡(luò)面臨87對網(wǎng)絡(luò)的被動攻擊和主動攻擊截獲篡改偽造中斷被動攻擊主動攻擊目的站源站源站源站源站目的站目的站目的站對網(wǎng)絡(luò)的被動攻擊和主動攻擊截獲篡改偽造中斷被動攻擊主動88被動攻擊在被動攻擊中,攻擊者只是觀察和分析某一個協(xié)議數(shù)據(jù)單元PDU而不干擾信息流。攻擊者通過觀察PDU的長度和傳輸?shù)念l度,了解所交換的數(shù)據(jù)的某種性質(zhì),這種被動攻擊又稱為流量分析(trafficanalysis)。被動攻擊在被動攻擊中,攻擊者只是觀察和分析某一個協(xié)議數(shù)據(jù)單元89主動攻擊主動攻擊是指攻擊者對某個連接中通過的PDU進行各種處理。更改報文流:包括對通過連接的PDU的真實性、完整性和有序性的攻擊。拒絕報文服務(wù):指攻擊者向因特網(wǎng)上的服務(wù)器不停地發(fā)送大量的分組,使因特網(wǎng)或服務(wù)器無法提供正常的服務(wù)。也稱為拒絕服務(wù)DoS或網(wǎng)絡(luò)帶寬攻擊或連通性攻擊。偽造連接初始化:攻擊者重放以前被記錄的合法連接初始化序列,或者偽造身份而企圖建立連接。主動攻擊主動攻擊是指攻擊者對某個連接中通過的PDU90(1)防止析出報文內(nèi)容;(2)防止通信量分析;(3)檢測更改報文流;(4)檢測拒絕報文服務(wù);(5)檢測偽造初始化連接。計算機網(wǎng)絡(luò)通信安全的目標(1)防止析出報文內(nèi)容;計算機網(wǎng)絡(luò)通信安全的目標91防止攻擊的策略對于被動攻擊可以采用各種加密技術(shù)。對于主動攻擊,則需將加密技術(shù)和適當?shù)蔫b別技術(shù)相結(jié)合。還有一種特殊的主動攻擊就是惡意程序。防止攻擊的策略對于被動攻擊可以采用各種加密技術(shù)。92計算機病毒——會“傳染”其他程序的程序,“傳染”是通過修改其他程序來把自身或其變種復制進去完成的。計算機蠕蟲——通過網(wǎng)絡(luò)的通信功能將自身從一個結(jié)點發(fā)送到另一個結(jié)點并啟動運行的程序。特洛伊木馬——一種程序,它執(zhí)行的功能超出所聲稱的功能。邏輯炸彈——一種當運行環(huán)境滿足某種特定條件時執(zhí)行其他特殊功能的程序。惡意程序(rogueprogram)計算機病毒——會“傳染”其他程序的程序,“傳染”是通過修改其937.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容保密性安全協(xié)議的設(shè)計訪問控制或存取控制或接入控制7.1.2計算機網(wǎng)絡(luò)安全的內(nèi)容保密性94明文X

截獲密文Y7.1.3一般的數(shù)據(jù)加密模型加密密鑰K明文X密文Y截取者篡改ABE運算加密算法D運算解密算法因特網(wǎng)解密密鑰K明文X截獲密文Y7.1.3一般的數(shù)據(jù)加密模型加95一些重要概念密碼編碼學(cryptography)是密碼體制的設(shè)計學,而密碼分析學(cryptanalysis)則是在未知密鑰的情況下從密文推演出明文或密鑰的技術(shù)。密碼編碼學與密碼分析學合起來即為密碼學(cryptology)。如果不論截取者獲得了多少密文,但在密文中都沒有足夠的信息來唯一地確定出對應(yīng)的明文,則這一密碼體制稱為無條件安全的,或稱為理論上是不可破的。如果密碼體制中的密碼不能被可使用的計算資源破譯,則這一密碼體制稱為在計算上是安全的。一些重要概念密碼編碼學(cryptography)是密碼體967.2兩類密碼體制

7.2.1對稱密鑰密碼體制

所謂常規(guī)密鑰密碼體制,即加密密鑰與解密密鑰是相同的密碼體制。這種加密系統(tǒng)又稱為對稱密鑰系統(tǒng)。7.2兩類密碼體制

7.2.1對稱密鑰密碼體制所97數(shù)據(jù)加密標準DES數(shù)據(jù)加密標準DES屬于常規(guī)密鑰密碼體制,是一種分組密碼。在加密前,先對整個明文進行分組。每一組長為64位二進制數(shù)據(jù)。然后對每一個64位二進制數(shù)據(jù)進行加密處理,產(chǎn)生一組64位密文數(shù)據(jù)。最后將各組密文串接起來,即得出整個的密文。使用的密鑰為64位(實際密鑰長度為56位,有8位用于奇偶校驗)。數(shù)據(jù)加密標準DES數(shù)據(jù)加密標準DES屬于常規(guī)密鑰密碼體98DES

的保密性DES

的保密性僅取決于對密鑰的保密,而算法是公開的。盡管人們在破譯DES方面取得了許多進展,但至今仍未能找到比窮舉搜索密鑰更有效的方法。DES是世界上第一個公認的實用密碼算法標準,它曾對密碼學的發(fā)展做出了重大貢獻。目前較為嚴重的問題是DES的密鑰的長度。現(xiàn)在已經(jīng)設(shè)計出來搜索DES密鑰的專用芯片。國際數(shù)據(jù)加密算法IDEA使用128bit密鑰,更不容易被攻破。

DES的保密性DES的保密性僅取決于對密鑰的保密,而算法997.2.2公鑰密碼體制公鑰密碼體制使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。公鑰密碼體制的產(chǎn)生主要是因為兩個方面的原因,一是由于常規(guī)密鑰密碼體制的密鑰分配問題,另一是由于對數(shù)字簽名的需求。現(xiàn)有最著名的公鑰密碼體制是RSA體制,它基于數(shù)論中大數(shù)分解問題的體制,由美國三位科學家Rivest,Shamir和Adleman于1976年提出并在1978年正式發(fā)表的。7.2.2公鑰密碼體制公鑰密碼體制使用不同的加密密鑰與解100加密密鑰與解密密鑰在公鑰密碼體制中,加密密鑰(即公鑰)PK是公開信息,而解密密鑰(即私鑰或秘鑰)SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然秘鑰SK是由公鑰PK決定的,但卻不能根據(jù)PK計算出SK。加密密鑰與解密密鑰在公鑰密碼體制中,加密密鑰(即公鑰)P101應(yīng)當注意任何加密方法的安全性取決于密鑰的長度,以及攻破密文所需的計算量。在這方面,公鑰密碼體制并不具有比傳統(tǒng)加密體制更加優(yōu)越之處。由于目前公鑰加密算法的開銷較大,在可見的將來還看不出來要放棄傳統(tǒng)的加密方法。公鑰還需要密鑰分配協(xié)議,具體的分配過程并不比采用傳統(tǒng)加密方法時更簡單。應(yīng)當注意任何加密方法的安全性取決于密鑰的長度,以及攻破密文102公鑰算法的特點發(fā)送者A用B的公鑰PKB對明文X加密(E運算)后,在接收者B用自己的私鑰SKB解密(D運算),即可恢復出明文:(7-4)解密密鑰是接收者專用的秘鑰,對其他人都保密。加密密鑰是公開的,但不能用它來解密,即

(7-5)公鑰算法的特點發(fā)送者A用B的公鑰PKB對明文103公鑰算法的特點(續(xù))加密和解密的運算可以對調(diào),即

在計算機上可容易地產(chǎn)生成對的PK和SK。從已知的PK實際上不可能推導出SK,即從PK到SK是“計算上不可能的”。加密和解密算法都是公開的。(7-6)公鑰算法的特點(續(xù))加密和解密的運算可以對調(diào),即(7-6)104公鑰密碼體制密文Y

E運算加密算法D運算解密算法加密解密明文X明文X

ABB的私鑰SKB密文Y

因特網(wǎng)B的公鑰PKB公鑰密碼體制密文YE運算D運算加密解密明文X明文1057.3數(shù)字簽名數(shù)字簽名必須保證以下三點:(1)報文鑒別——接收者能夠核實發(fā)送者對報文的簽名;(2)報文的完整性——發(fā)送者事后不能抵賴對報文的簽名;(3)不可否認——接收者不能偽造對報文的簽名。現(xiàn)在已有多種實現(xiàn)各種數(shù)字簽名的方法。但采用公鑰算法更容易實現(xiàn)。7.3數(shù)字簽名數(shù)字簽名必須保證以下三點:106密文數(shù)字簽名的實現(xiàn)D運算明文X明文X

ABA的私鑰SKA因特網(wǎng)簽名核實簽名E運算密文A的公鑰PKA密文數(shù)字簽名的實現(xiàn)D明文X明文XABA的私鑰S107數(shù)字簽名的實現(xiàn)因為除A外沒有別人能具有A的私鑰,所以除A外沒有別人能產(chǎn)生這個密文。因此B相信報文X是A簽名發(fā)送的。若A要抵賴曾發(fā)送報文給B,B可將明文和對應(yīng)的密文出示給第三者。第三者很容易用A的公鑰去證實A確實發(fā)送X給B。反之,若B將X偽造成X‘,則B不能在第三者前出示對應(yīng)的密文。這樣就證明了B偽造了報文。數(shù)字簽名的實現(xiàn)因為除A外沒有別人能具有A的私鑰,所以108具有保密性的數(shù)字簽名核實簽名解密加密簽名E運算D運算明文X明文X

ABA的私鑰SKA因特網(wǎng)E運算B的私鑰SKBD運算加密與解密簽名與核實簽名B的公鑰PKBA的公鑰PKA密文具有保密性的數(shù)字簽名核實簽名解密加密簽名E運算D1097.4鑒別在信息的安全領(lǐng)域中,對付被動攻擊的重要措施是加密,而對付主動攻擊中的篡改和偽造則要用鑒別(authentication)

。報文鑒別使得通信的接收方能夠驗證所收到的報文(發(fā)送者和報文內(nèi)容、發(fā)送時間、序列等)的真?zhèn)?。使用加密就可達到報文鑒別的目的。但在網(wǎng)絡(luò)的應(yīng)用中,許多報文并不需要加密。應(yīng)當使接收者能用很簡單的方法鑒別報文的真?zhèn)巍?.4鑒別在信息的安全領(lǐng)域中,對付被動攻擊的重要措施是加110鑒別與授權(quán)不同鑒別與授權(quán)(authorization)是不同的概念。授權(quán)涉及到的問題是:所進行的過程是否被允許(如是否可以對某文件進行讀或?qū)懀hb別與授權(quán)不同鑒別與授權(quán)(authorization)是不同1117.4.1報文鑒別許多報文并不需要加密但卻需要數(shù)字簽名,以便讓報文的接收者能夠鑒別報文的真?zhèn)?。然而對很長的報文進行數(shù)字簽名會使計算機增加很大的負擔(需要進行很長時間的運算。當我們傳送不需要加密的報文時,應(yīng)當使接收者能用很簡單的方法鑒別報文的真?zhèn)巍?.4.1報文鑒別許多報文并不需要加密但卻需要數(shù)字簽名112報文摘要MD

(MessageDigest)A將報文X經(jīng)過報文摘要算法運算后得出很短的報文摘要H。然后然后用自己的私鑰對H進行D運算,即進行數(shù)字簽名。得出已簽名的報文摘要D(H)后,并將其追加在報文X后面發(fā)送給B。

B收到報文后首先把已簽名的D(H)和報文X分離。然后再做兩件事。用A的公鑰對D(H)進行E運算,得出報文摘要H。對報文X進行報文摘要運算,看是否能夠得出同樣的報文摘要H。如一樣,就能以極高的概率斷定收到的報文是A產(chǎn)生的。否則就不是。報文摘要MD

(MessageDigest)A將報文113報文摘要的優(yōu)點僅對短得多的定長報文摘要H進行數(shù)字簽名要比對整個長報文進行數(shù)字簽名要簡單得多,所耗費的計算資源也小得多。但對鑒別報文X來說,效果是一樣的。也就是說,報文X和已簽名的報文摘要D(H)合在一起是不可偽造的,是可檢驗的和不可否認的。報文摘要的優(yōu)點僅對短得多的定長報文摘要H進行數(shù)字簽名要比114報文摘要算法報文摘要算法就是一種散列函數(shù)。這種散列函數(shù)也叫做密碼編碼的檢驗和。報文摘要算法是防止報文被人惡意篡改。報文摘要算法是精心選擇的一種單向函數(shù)??梢院苋菀椎赜嬎愠鲆粋€長報文X的報文摘要H,但要想從報文摘要H反過來找到原始的報文X,則實際上是不可能的。若想找到任意兩個報文,使得它們具有相同的報文摘要,那么實際上也是不可能的。報文摘要算法報文摘要算法就是一種散列函數(shù)。這種散列函數(shù)也叫做115報文摘要算法MD5把任意長的報文按模264計算其余數(shù)(64bit),追加在報文的后面。在報文和余數(shù)之間填充1~512bit的數(shù)據(jù)塊,使的填充后的總長度是512的整數(shù)倍。填充的首位是1,后面都是0。把追加和填充后的報文分割成一個個512bit的數(shù)據(jù)塊,每個512bit的報文數(shù)據(jù)再分成4個128bit的數(shù)據(jù)塊依次送到不同的散列函數(shù)進行4輪計算。每一輪又都按32bit的小數(shù)據(jù)塊進行復雜的運算。一直到最后計算出128bit的MD5報文摘要代碼。報文摘要算法MD5把任意長的報文按模264計算其余數(shù)(6116報文摘要算法MD5MD5算法可以對任意長的報文進行運算,最后得出128bit的報文摘要代碼。MD5報文摘要代碼中的每一位都與原來報文中的每一位有關(guān)。安全散列算法SHA和MD5相似,但碼長為160位,比MD5更安全,但慢一些。報文摘要算法MD5MD5算法可以對任意長的報文進行運算,最后117報文摘要的實現(xiàn)A比較簽名核實簽名報文XHD運算D(H)A的私鑰報文XD(H)B報文摘要報文XD(H)發(fā)送E運算H簽名的報文摘要H報文摘要運算A的公鑰報文摘要運算報文摘要報文摘要因特網(wǎng)報文摘要的實現(xiàn)A比較簽名核實簽名報文XHD運算D(1187.4.2實體鑒別實體鑒別和報文鑒別不同。報文鑒別是對每一個收到的報文都要鑒別報文的發(fā)送者,而實體鑒別是在系統(tǒng)接入的全部持續(xù)時間內(nèi)對和自己通信的對方實體只需驗證一次。7.4.2實體鑒別實體鑒別和報文鑒別不同。119最簡單的實體鑒別過程A發(fā)送給B的報文的被加密,使用的是對稱密鑰KAB。B收到此報文后,用共享對稱密鑰KAB進行解密,因而鑒別了實體A的身份。ABA,口令KAB最簡單的實體鑒別過程A發(fā)送給B的報文的被加密,使用的120明顯的漏洞入侵者C可以從網(wǎng)絡(luò)上截獲A發(fā)給B的報文。C并不需要破譯這個報文(因為這可能花很多時間)而可以直接把這個由A加密的報文發(fā)送給B,使B誤認為C就是A。然后B就向偽裝是A的C發(fā)送應(yīng)發(fā)給A的報文。這就叫做重放攻擊(replayattack)。C甚至還可以截獲A的IP地址,然后把A的IP地址冒充為自己的IP地址(這叫做IP欺騙),使B更加容易受騙。明顯的漏洞入侵者C可以從網(wǎng)絡(luò)上截獲A發(fā)給B的報文121使用不重數(shù)為了對付重放攻擊,可以使用不重數(shù)(nonce)。不重數(shù)就是一個不重復使用的大隨機數(shù),即“一次一數(shù)”。在鑒別過程中不重數(shù)可以使B能夠把重復的鑒別請求和新的鑒別請求區(qū)分開。使用不重數(shù)為了對付重放攻擊,可以使用不重數(shù)(nonce)。不122使用不重數(shù)進行鑒別ABA,RARBKABRARBKAB,時間使用不重數(shù)進行鑒別ABA,RARBKABRARBKAB,123使用不重數(shù)進行鑒別A首先用明文發(fā)送自己的身份A和一個不重數(shù)RA給B。B響應(yīng)A的查問,用共享的密鑰KAB對RA加密后發(fā)給A,同時也給出自己的不重數(shù)RB。最后A再響應(yīng)B的查問,用共享的密鑰KAB對RB加密后發(fā)回給B。使用不重數(shù)進行鑒別A首先用明文發(fā)送自己的身份A和一個不重數(shù)R124中間人攻擊AB我是A中間人C我是ARBRBSKC請把公鑰發(fā)來PKCRBRBSKA請把公鑰發(fā)來PKADATAPKCDATAPKA時間中間人攻擊AB我是A中間人C我是ARBRBSKC請把125中間人攻擊說明A向B發(fā)送“我是A”的報文,并給出了自己的身份。此報文被“中間人”C截獲,C把此報文原封不動地轉(zhuǎn)發(fā)給B。B選擇一個不重數(shù)RB發(fā)送給A,但同樣被C截獲后也照樣轉(zhuǎn)發(fā)給A。中間人C用自己的私鑰SKC對RB加密后發(fā)回給B,使B誤以為是A發(fā)來的。A收到RB后也用自己的私鑰SKA對RB加密后發(fā)回給B,中途被C截獲并丟棄。B向A索取其公鑰,此報文被C截獲后轉(zhuǎn)發(fā)給A。C把自己的公鑰PKC冒充是A的發(fā)送給B,而C也截獲到A發(fā)送給B的公鑰PKA。B用收到的公鑰PKC(以為是A的)對數(shù)據(jù)加密發(fā)送給A。C截獲后用自己的私鑰SKC解密,復制一份留下,再用A的公鑰PKA對數(shù)據(jù)加密后發(fā)送給A。A收到數(shù)據(jù)后,用自己的私鑰SKA解密,以為和B進行了保密通信。其實,B發(fā)送給A的加密數(shù)據(jù)已被中間人C截獲并解密了一份。但A和B卻都不知道。中間人攻擊說明A向B發(fā)送“我是A”的報文,并給出了自1267.5密鑰分配密鑰管理包括:密鑰的產(chǎn)生、分配、注入、驗證和使用。本節(jié)只討論密鑰的分配。密鑰分配是密鑰管理中最大的問題。密鑰必須通過最安全的通路進行分配。目前常用的密鑰分配方式是設(shè)立密鑰分配中心KDC(KeyDistribution),通過KDC來分配密鑰。7.5密鑰分配密鑰管理包括:密鑰的產(chǎn)生、分配、注入、1277.5.1對稱密鑰的分配目前常用的密鑰分配方式是設(shè)立密鑰分配中心KDC(KeyDistributionCenter)。KDC是大家都信任的機構(gòu),其任務(wù)就是給需要進行秘密通信的用戶臨時分配一個會話密鑰(僅使用一次)。用戶A和B都是KDC的登記用戶,并已經(jīng)在KDC的服務(wù)器上安裝了各自和KDC進行通信的主密鑰(masterkey)KA和KB。“主密鑰”可簡稱為“密鑰”。7.5.1對稱密鑰的分配目前常用的密鑰分配方式是設(shè)立密鑰128對稱密鑰的分配AB密鑰分配中心KDCA,B,KABKB……用戶專用主密鑰用戶主密鑰A

KAB

KB

A,B,KABKABKBKA,時間A,B對稱密鑰的分配AB密鑰A,B,KABKB……用戶專用主129對稱密鑰的分配在網(wǎng)絡(luò)上傳送密鑰時,都是經(jīng)過加密的。解密用的密鑰都不在網(wǎng)絡(luò)上傳送。會話密鑰KAB都是用隨機數(shù)產(chǎn)生的“一次一密”,是一次性的。KDC分配給用戶的密鑰KA和KB都應(yīng)定期的更換。KDC還可以加入時間戳,以防止報文的截獲者利用以前已記錄下來的報文進行重放攻擊。目前最出名的密鑰分配協(xié)議是KerberosV5。對稱密鑰的分配在網(wǎng)絡(luò)上傳送密鑰時,都是經(jīng)過加密的。解密用的密130KerberosV5KerberosV5是麻省理工學院MIT開發(fā)的。KerberosV5既是鑒別協(xié)議,也是KDC。KerberosV5使用比DES更安全的先進的加密標準AES(AdvancedEncryptionStandard)進行加密。Kerberos使用兩個服務(wù)器:鑒別服務(wù)器AS(AuthenticationServer)、票據(jù)授予服務(wù)器TGS(Ticket-GrantingServer)。Kerberos只用于客戶與服務(wù)器之間的鑒別,而不用于人對人的鑒別。在下圖中,A是請求服務(wù)的客戶,B是服務(wù)器。KerberosV5KerberosV5是麻省理工學院M131ABKerberosAASTGSTKAB,A,KABKBT+1KABA,KSTKS,B,KTGA,KABKB,B,KABKSKTGKAA,KSKS,ABKerberosAASTGSTKAB,A,KAB132KerberosA用明文向鑒別服務(wù)器AS表明自己的身份。AS就是KDC,掌握各實體登記的身份和相應(yīng)的口令。AS對A的身份進行驗證,只有驗證結(jié)果正確,才允許A和票據(jù)授予服務(wù)器TGS進行聯(lián)系。AS向A發(fā)送用A的對稱密鑰KA加密的報文,這個報文包含A和TGS通信的會話密鑰KS以及AS要發(fā)送給TGS的票據(jù)(用TGS的對稱密鑰KTG加密)。A并未保存密鑰KA,當這個報文到達A時,A就鍵入其口令。若口令正確,則該口令和適當?shù)乃惴ㄒ黄鹁湍苌擅荑€KA。這個口令隨即被銷毀。密鑰KA用來對AS發(fā)送過來的報文進行解密,提取出會話密鑰KS和要轉(zhuǎn)發(fā)給TGS的票據(jù)。KerberosA用明文向鑒別服務(wù)器AS表明自己的身份。AS133KerberosA向TGS發(fā)送三個項目:轉(zhuǎn)發(fā)AS發(fā)來的票據(jù)。服務(wù)器B的名字。這表明A請求B的服務(wù)。注意,A向TGS證明自己的身份并非通過鍵入口令(因為入侵者能從網(wǎng)上截獲明文口令),而是通過轉(zhuǎn)發(fā)AS發(fā)出的票據(jù)(因為只有A才能取出)。票據(jù)是加密的,入侵者偽造不了。用KS加密的時間戳T,它用來防止入侵者的重放攻擊。KerberosA向TGS發(fā)送三個項目:134KerberosTGS發(fā)送兩個票據(jù),每一個都包含A和B通信的會話密鑰KAB。給A的票據(jù)用KS加密;給B的票據(jù)用B的密鑰KB加密。現(xiàn)在入侵者不能提取KAB,因為不知道KS和KB。入侵者也不能重放步驟3,因為入侵者不能把時間戳更換為一個新的(因為不知道KS)。如果入侵者在時間戳到期之前,非常迅速的發(fā)送步驟3的報文,那么對TGS發(fā)送過來的兩個票據(jù)仍然不能解密。A向B轉(zhuǎn)發(fā)TGS發(fā)來的票據(jù),同時發(fā)送用KAB加密的時間戳T。B把時間戳T加1來證實收到了票據(jù)。B向A發(fā)送的報文用密鑰KAB加密。KerberosTGS發(fā)送兩個票據(jù),每一個都包含A和B通信的135Kerberos以后A和B就使用KAB進行通信。Kerberos要求所有使用Kerberos的主機及必須在時鐘上進行“松散的”同步,這是為了防止重放攻擊。所謂的“松散的”同步是要求所有主機的時鐘誤差不能太大。Kerberos以后A和B就使用KAB進行通信。1367.5.2公鑰的分配需要有一個值得信賴的機構(gòu)——即認證中心CA(CertificationAuthority),將公鑰與其對應(yīng)的實體(人或機器)進行綁定(binding)。認證中心一般由政府出資建立。每個實體都有CA發(fā)來的證書(certificate),里面有公鑰及其擁有者的標識信息。此證書被CA進行了數(shù)字簽名。任何用戶都可從可信的地方獲得認證中心CA的公鑰,此公鑰用來驗證某個公鑰是否為某個實體所擁有。有的大公司也提供認證中心服務(wù)。為了使CA具有統(tǒng)一的格式,ITU-T指定了X.509協(xié)議標準,用來描述證書的結(jié)構(gòu)。在X.509中規(guī)定要使用ASN.1。IETF接受了X.509,并在RFC3280中給出了因特網(wǎng)X.509公鑰基礎(chǔ)結(jié)構(gòu)PKI。7.5.2公鑰的分配需要有一個值得信賴的機構(gòu)——即認證中1377.6因特網(wǎng)使用的

溫馨提示

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

評論

0/150

提交評論