計算機網絡第8版課件-第7章 網絡安全_第1頁
計算機網絡第8版課件-第7章 網絡安全_第2頁
計算機網絡第8版課件-第7章 網絡安全_第3頁
計算機網絡第8版課件-第7章 網絡安全_第4頁
計算機網絡第8版課件-第7章 網絡安全_第5頁
已閱讀5頁,還剩115頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全第7章計算機網絡(第8版)7.1

網絡安全問題概述7.2

兩類密碼體制7.3

鑒別7.4

密鑰分配7.5

互聯網使用的安全協(xié)議7.6

系統(tǒng)安全:防火墻與入侵檢測7.7

一些未來的發(fā)展方向7.8

一些未來的發(fā)展方向7.1網絡安全問題概述7.1.1

計算機網絡面臨的安全性威脅7.1.2

安全的計算機網絡7.1.3

數據加密模型計算機網絡上的通信面臨以下兩大類威脅:被動攻擊和主動攻擊。截獲拒絕服務主動攻擊目的站源站源站源站源站目的站目的站目的站篡改惡意程序被動攻擊7.1.1計算機網絡面臨的安全性威脅兩大類威脅:被動攻擊和主動攻擊。指攻擊者從網絡上竊聽他人的通信內容。通常把這類攻擊稱為截獲。攻擊者只是觀察和分析某一個協(xié)議數據單元PDU,以便了解所交換的數據的某種性質,但不干擾信息流。這種被動攻擊又稱為流量分析(trafficanalysis)。被動攻擊主要有:篡改:故意篡改網絡上傳送的報文。這種攻擊方式有時也稱為更改報文流。惡意程序(rogueprogram):種類繁多,主要包括:計算機病毒、計算機蠕蟲、特洛伊木馬、邏輯炸彈、后門入侵、流氓軟件等。拒絕服務DoS(DenialofService):指攻擊者向互聯網上的某個服務器不停地發(fā)送大量分組,使該服務器無法提供正常服務,甚至完全癱瘓。主動攻擊若從互聯網上的成百上千的網站集中攻擊一個網站,則稱為分布式拒絕服務DDoS(DistributedDenialofService)。有時也把這種攻擊稱為網絡帶寬攻擊或連通性攻擊。分布式拒絕服務DDoS對于主動攻擊,可以采取適當措施加以檢測。對于被動攻擊,通常是檢測不出來的。計算機網絡通信安全的目標:防止分析出報文內容和流量分析。防止惡意程序。檢測更改報文流和拒絕服務。對付被動攻擊:加密技術。對付主動攻擊:加密技術+鑒別技術。計算機網絡通信安全的目標網絡的安全性是不可判定的。一個安全的計算機網絡應達到四個目標:保密性端點鑒別信息的完整性運行的安全性7.1.2安全的計算機網絡只有信息的發(fā)送方和接收方才能懂得所發(fā)送信息的內容。是網絡安全通信的最基本的內容,也是對付被動攻擊必須具備的功能。需要使用各種密碼技術。網絡的安全性是不可判定的。一個安全的計算機網絡應達到四個目標:保密性端點鑒別信息的完整性運行的安全性7.1.2安全的計算機網絡鑒別信息的發(fā)送方和接收方的真實身份。在對付主動攻擊中是非常重要的。網絡的安全性是不可判定的。一個安全的計算機網絡應達到四個目標:保密性端點鑒別信息的完整性運行的安全性7.1.2安全的計算機網絡信息的內容未被篡改過。在應對主動攻擊中是必不可少的。信息的完整性與端點鑒別往往是不可分割的。鑒別同時包含了端點鑒別和報文完整性。網絡的安全性是不可判定的。一個安全的計算機網絡應達到四個目標:保密性端點鑒別信息的完整性運行的安全性7.1.2安全的計算機網絡系統(tǒng)能正常運行并提供服務。訪問控制(accesscontrol)對計算機系統(tǒng)的安全性是非常重要的。必須對訪問網絡的權限加以控制,并規(guī)定每個用戶的訪問權限。用戶A向B發(fā)送明文X,通過加密算法E運算后,就得出密文Y。明文X

截獲密文Y明文X密文Y截取者篡改ABE

運算加密算法D運算解密算法互聯網加密密鑰KE解密密鑰KD密鑰源安全信道7.1.3數據加密模型加密和解密用的密鑰K

(key)是一串秘密的字符串(即比特串)。明文通過加密算法E

和加密密鑰K

變成密文Y:接收端利用解密算法D

運算和解密密鑰

K

解出明文X。解密算法是加密算法的逆運算。(7-1)Y

EK(X)(7-2)DK(Y)

DK(EK(X))

X加密密鑰和解密密鑰可以一樣,也可以不一樣。密鑰通常由密鑰中心提供。當密鑰需要向遠地傳送時,一定要通過另一個安全信道。密鑰密碼編碼學(cryptography):密碼體制的設計學。密碼分析學

(cryptanalysis):在未知密鑰的情況下從密文推演出明文或密鑰的技術。密碼編碼學與密碼分析學合起來即為密碼學

(cryptology)。一些重要概念如果不論截取者獲得了多少密文,但在密文中都沒有足夠的信息來唯一地確定出對應的明文,則這一密碼體制稱為無條件安全的,或稱為理論上是不可破的。如果密碼體制中的密碼不能被可使用的計算資源破譯,則這一密碼體制稱為在計算上是安全的。

一些重要概念7.2.1

對稱密鑰密碼體制7.2.2

公鑰密碼體制7.2兩類密碼體制7.2.1對稱密鑰密碼體制加密密鑰與解密密鑰都使用相同密鑰的密碼體制。明文X

密文Y加密密鑰K明文X密文YABE

運算加密算法D

運算解密算法互聯網解密密鑰K相同密鑰數據加密標準DESDES屬于對稱密鑰密碼體制,是一種分組密碼。在加密前,先對整個明文進行分組。每一個組長為64位。然后對每一個64位二進制數據進行加密處理,產生一組64位密文數據。最后將各組密文串接起來,即得出整個的密文。使用的密鑰為64位(實際密鑰長度為56位,有8位用于奇偶校驗)。僅取決于對密鑰的保密,其算法是公開的。嚴重問題:DES密鑰長度較短。現在已經設計出搜索DES密鑰的專用芯片。56位DES已不再認為是安全的了。DES的保密性使用兩個

56位的密鑰。把一個64位明文用一個密鑰加密,再用另一個密鑰解密,然后再使用第一個密鑰加密,即EDEK1K2K1明文密文加密DEDK1K2K1密文明文解密Y=DESK1(DES-1K2(DESK1(X)))(7-3)三重DES2002年成為美國政府加密標準?,F在是ISO/IEC18033-3標準。高級加密標準AES(AdvancedEncryptionStandard)是一種分組密碼,分組長度為128位。有三種加密標準,其密鑰分別為128位、192位和256位。加密步驟復雜,運算速度比3DES快得多,安全性也大大加強。高級加密標準AES7.2.2公鑰密碼體制又稱為公開密鑰密碼體制。使用不同的加密密鑰與解密密鑰。這種加密體制又稱為非對稱密鑰密碼體制。公鑰密碼體制產生的主要原因:對稱密鑰密碼體制的密鑰分配問題。對數字簽名的需求。典型:RSA

體制,一種基于數論中的大數分解問題的體制。公鑰密碼體制不同密鑰明文X

密文YB的公鑰PKB明文X密文YABE

運算加密算法D

運算解密算法解密B的私鑰SKB加密互聯網加密密鑰與解密密鑰加密密鑰PK(publickey,即公鑰):公開。解密密鑰SK(secretkey,即私鑰或秘鑰):需要保密。加密算法E

和解密算法D:公開。雖然私鑰SK是由公鑰PK

決定的,但卻不能根據PK計算出

SK。公鑰算法的特點(1)密鑰對產生器產生出接收者B的一對密鑰:

加密密鑰PKB

和解密密鑰SKB

。加密密鑰PKB

就是接收者B的公鑰,向公眾公開。解密密鑰SKB

就是接收者B的私鑰,對其他任何人都保密。(2)發(fā)送者A用B的公鑰

PKB

對明文X

加密(E

運算),然后發(fā)送給B。接收者B用自己的私鑰

SKB

解密(D

運算),即可恢復出明文:(7-4)(7-3)公鑰算法的特點(3)從已知的PKB

實際上不可能推導出SKB,即從PKB

到SKB

是“計算上不可能的”。(4)加密密鑰是公開的,但不能用來解密,即:(5)加密和解密運算可以對調,即加密和解密是互逆的:(7-5)(7-6)公開密鑰與對稱密鑰的區(qū)別使用對稱密鑰:在通信信道上可以進行一對一的雙向保密通信。這種保密通信僅限于持有此密鑰的雙方。使用公開密鑰:在通信信道上可以是多對一的單向保密通信。例如:很多顧客都向同一個網站發(fā)送各自的信用卡信息。注意公鑰加密算法的開銷較大,不會使傳統(tǒng)密碼體制被棄用。任何加密方法的安全性取決于密鑰的長度,以及攻破密文所需的計算量。7.3.1 報文鑒別7.3.2 實體鑒別7.3鑒別鑒別

(authentication)是網絡安全中一個很重要的問題。鑒別包括:7.3.1報文鑒別實體鑒別鑒別發(fā)信者,防止冒充者。實體:發(fā)信的人或進程。也常稱為端點鑒別。鑒別報文的完整性報文未被他人篡改過。報文鑒別通常包含:鑒別報文的發(fā)送者,鑒別報文的完整性。7.3.1報文鑒別鑒別與加密不同加密可以實現鑒別。但許多報文不需要加密,但需要鑒別。鑒別與授權不同授權(authorization)涉及的問題是:所進行的過程是否被允許(如是否可以對某文件進行讀或寫)。1.用數字簽名進行鑒別(原理)明文X

密文YA的公鑰PKA明文X密文YABD

運算加密算法E

運算解密算法互聯網核實簽名A的私鑰SKA簽名鑒別發(fā)送者:A用其私鑰SKA

對報文X

進行D

運算得到的密文。B為了核實簽名,用A的公鑰PKA

進行E

運算,還原出明文X。1.用數字簽名進行鑒別(原理)明文X

密文YA的公鑰PKA明文X密文YABD

運算加密算法E

運算解密算法互聯網核實簽名A的私鑰SKA簽名鑒別報文:由于無法得到并使用A的私鑰SKA

對報文X

進行D

運算,B對收到的報文進行核實簽名的E

運算將會得出不可讀的明文,可以發(fā)現報文已被篡改過。1.用數字簽名進行鑒別(原理)明文X

密文YA的公鑰PKA明文X密文YABD

運算加密算法E

運算解密算法互聯網核實簽名A的私鑰SKA簽名

1.用數字簽名進行鑒別(原理)明文X

密文YA的公鑰PKA明文X密文YABD

運算加密算法E

運算解密算法互聯網核實簽名A的私鑰SKA簽名數字簽名的三個功能:實體鑒別:證明來源。報文鑒別:防篡改,保證完整性。不可否認:防抵賴。關鍵:沒有其他人能夠持有A的私鑰SKA??杀WC機密性的數字簽名核實簽名解密加密簽名E

運算D

運算明文X明文X

ABA的私鑰SKA互聯網E

運算B的私鑰SKBD

運算加密與解密簽名與核實簽名B的公鑰PKBA的公鑰PKA密文先后進行兩次D

運算和兩次E

運算,運算量太大,花費非常多的CPU時間。目前普遍使用開銷小得多的對稱密鑰加密。要實現數字簽名必須使用公鑰密碼,但一定要設法減小公鑰密碼算法的開銷。

散列函數(又稱為雜湊函數,哈希函數)在計算機領域中廣泛使用。符合密碼學要求的散列函數又常稱為密碼散列函數(cryptographichashfunction)。密碼散列函數H(X)

應具有以下四個特點:結果的長度應較短和固定。應具有很好的抗碰撞性,避免不同的輸入產生相同的輸出。應是單向函數(one-wayfunction),不能逆向變換。其他特性:輸出的每一個比特都與輸入的每一個比特有關;僅改動輸入的一個比特,輸出也會相差極大;包括許多非線性運算等。2.密碼散列函數密碼散列函數是單向的單向散列變換逆向變換是不可能的輸出固定長度的散列值H(X)10010…1011任意長度的明文X這是要發(fā)送的不需要加密的明文,長度不限,……………………,…………….…………….MD5:MessageDigest5,報文摘要的第5個版本。SHA-1:SecureHashAlgorithm,安全散列算法。SHA-1比MD5更安全,但計算起來卻比MD5要慢些。1995年發(fā)布的新版本SHA-1[RFC3174]在安全性方面有了很大的改進。實用的單向密碼散列函數MD5算法MD5的設計者Rivest曾提出一個猜想:基本思想:用足夠復雜的方法,使報文摘要代碼中的每一位都與原來報文中的每一位有關。根據給定的MD5報文摘要代碼,要找出一個與原來報文有相同報文摘要的另一報文,其難度在計算上幾乎是不可能的。MD5算法計算步驟附加:把任意長的報文按模264

計算其余數(64位),追加在報文的后面。填充:在報文和余數之間填充1~512位,使得填充后的總長度是512的整數倍。填充的首位是1,后面都是0。報文1000…00余數報文長度帶填充位的長度,模512余448總長度,512的整數倍64位MD5算法計算步驟分組:把追加和填充后的報文分割為多個512位的數據塊,每個512位的報文數據再分成4個128位的數據塊。計算:將4個128位的數據塊依次送到不同的散列函數進行4輪計算。每一輪又都按32位的小數據塊進行復雜的運算。一直到最后計算出MD5報文摘要代碼(128位)。在2004年,中國學者王小云發(fā)表了轟動世界的密碼學論文,證明可以用系統(tǒng)的方法找出一對報文,這對報文具有相同的MD5報文,而這僅需15分鐘,或不到1小時。MD5的安全性就產生了動搖。隨后,又有許多學者開發(fā)了對MD5實際的攻擊。MD5最終被安全散列算法SHA標準所取代。安全散列算法SHA-1安全散列算法SHA(SecureHashAlgorithm):由美國標準與技術協(xié)會NIST提出的一個散列算法系列。和MD5相似,但其散列值的長度為160位。SHA-1也是先把輸入報文劃分為許多512位長的數據塊,然后經過復雜運算后得出散列值。但SHA-1后來也被證明其實際安全性并未達到設計要求,并且也曾被王小云教授的研究團隊攻破。谷歌也宣布了攻破SHA-1的消息。許多組織都已紛紛宣布停用SHA-1。安全散列算法SHA-1SHA-1已被SHA-2、SHA-3所替代。SHA-2的多種變型:SHA-224,SHA-256,SHA-384,SHA-512。SHA-3的多種變型:SHA3-224,SHA3-256,SHA3-384,SHA3-512。SHA-3采用了與SHA-2完全不同的散列函數。目前,密碼學家尚無法把一個任意已知的報文X,篡改為具有同樣MD5或SHA-1散列值的另一報文Y。3.用報文鑒別碼實現報文鑒別散列函數問題:可以防篡改,但不能防偽造,不能真正實現報文鑒別。H(X)H'(X)H比較發(fā)送XXH(X)H(X)HXH(X)H’(X)=H(X),是A發(fā)送過來的。H’(X)≠H(X),不是A發(fā)送過來的。發(fā)送MH(M)MH(M)HH(M)H'(M)H比較MH(M)H’(M)=H(M),是A發(fā)送過來的。A發(fā)送報文C

偽造報文解決方法:采用報文鑒別碼MAC。3.用報文鑒別碼實現報文鑒別把雙方共享的密鑰K

與報文X

進行拼接,然后進行散列運算。散列運算得出的結果為固定長度的H(X+K),稱為報文鑒別碼MAC(MessageAuthenticationCode)。用報文鑒別碼MAC鑒別報文A報文XMAC報文XMACB分離報文XMAC發(fā)送固定長度的報文鑒別碼H(X+K)H(X+K)互聯網固定長度的報文鑒別碼拼接擴展的報文拼接后進行散列運算MAC密鑰K拼接后進行散列運算不安全信道=?密鑰K比較這樣的報文鑒別碼稱為數字簽名或數字指紋。只要入侵者不掌握密鑰K,就無法偽造A發(fā)送的報文(因為無法偽造A的MAC)。鑒別過程并沒有執(zhí)行加密算法,消耗的計算資源少。HMAC與MAC不同明文MAC密鑰K計算MAC的算法明文HMAC密鑰K密碼散列算法明文密鑰K拼接MAC把密鑰K

作為計算MAC的參數。可以使用多種計算MAC的算法。HMAC(HashedMAC)把密鑰K

拼接在明文后面。使用密碼散列算法對其進行運算。得出的散列值就是HMAC使用已簽名的報文鑒別碼MAC對報文鑒別沒有對報文進行加密,而是對很短的散列H(X)

進行D

運算。入侵者沒有A的私鑰,因此不可能偽造出A發(fā)出的報文。問題:如何分發(fā)共享密鑰K?解決:采用公鑰系統(tǒng)。A報文XH(X)D運算MACA的私鑰報文XMACB固定長度散列報文XMAC發(fā)送H(X)已簽名的報文鑒別碼H(X)散列運算A的公鑰散列運算不安全的互聯網已簽名的報文鑒別碼E

運算拼接擴展的報文=?比較固定長度散列固定長度散列使用已簽名的報文鑒別碼MAC對報文鑒別沒有對報文進行加密,而是對很短的散列H(X)

進行D

運算。入侵者沒有A的私鑰,因此不可能偽造出A發(fā)出的報文。問題:如何分發(fā)共享密鑰K?解決:采用公鑰系統(tǒng)。A報文XH(X)D運算MACA的私鑰報文XMACB固定長度散列報文XMAC發(fā)送H(X)已簽名的非固定長度的報文鑒別碼H(X)散列運算A的公鑰散列運算不安全的互聯網已簽名的非固定長度的報文鑒別碼E

運算拼接擴展的報文=?比較固定長度散列固定長度散列所得到的擴展報文:不可偽造,不可否認。可簡稱為:“A用自己的私鑰進行簽名,B用A的公鑰進行鑒別”。7.4.2實體鑒別實體鑒別與報文鑒別不同。報文鑒別:對每一個收到的報文都要鑒別報文的發(fā)送者。實體鑒別:在系統(tǒng)接入的全部持續(xù)時間內,對和自己通信的對方實體只需驗證一次。最簡單的實體鑒別過程使用共享的對稱密鑰KAB

實現實體鑒別。ABA,口令KAB存在明顯漏洞:不能抵抗重放攻擊。重放攻擊(replayattack):入侵者C不需要破譯報文,而是直接把由A加密的報文發(fā)送給B,使B誤認為C就是A。B就會向偽裝成A的C發(fā)送許多本來應當發(fā)給A的報文。使用不重數進行鑒別不重數

(nonce):是一個不重復使用的大隨機數,即“一次一數”。由于不重數不能重復使用,所以C在進行重放攻擊時無法重復使用所截獲的不重數。ABA,RARBKABRARB,KAB時間使用公鑰體制進行不重數鑒別在使用公鑰密碼體制時,可以對不重數進行簽名鑒別。使用公鑰核實簽名。ABA,RARBSKARARB,SKB時間假冒攻擊C冒充是A,發(fā)送報文給B,說:“我是A”。B選擇一個不重數RB,發(fā)送給A,但被C截獲了。C用自己的私鑰SKC

冒充是A的私鑰,對RB

加密,并發(fā)送給B。B向A發(fā)送報文,要求對方把解密用的公鑰發(fā)送過來,但這報文也被C截獲了。C把自己的公鑰PKC

冒充是A的公鑰發(fā)送給B。B用收到的公鑰PKC

對收到的加密的RB

進行解密,其結果當然正確。于是B相信通信的對方是A,接著就向A發(fā)送許多敏感數據,但都被C截獲了。中間人攻擊可見,公鑰的分配以及認證公鑰的真實性是一個非常重要的問題。AB我是A中間人C我是ARBRBSKC請把公鑰發(fā)來PKCRBRBSKA請把公鑰發(fā)來PKADATAPKCDATAPKA時間7.4.1 對稱密鑰的分配7.4.2 公鑰的分配7.4密鑰分配安全性:完全基于密鑰的安全保護上。密鑰管理包括:密鑰的產生、分配、注入、驗證和使用。密鑰分配是密鑰管理中最大的問題。密鑰必須通過最安全的通路進行分配。網外分配方式:派非??煽康男攀箶y帶密鑰分配給互相通信的用戶。網內分配方式:密鑰自動分配。7.4密鑰分配7.4.1對稱密鑰的分配常用方式:設立密鑰分配中心KDC(KeyDistributionCenter)。KDC任務:給需要進行秘密通信的用戶臨時分配一個會話密鑰(僅使用一次)。用戶A和B都是KDC的登記用戶,并已經在KDC的服務器上安裝了各自和KDC進行通信的主密鑰(masterkey)KA

和KB。主密鑰可簡稱為密鑰。KDC對會話密鑰KAB

的分配A密鑰分配中心KDCA,B,KABKB……用戶專用主密鑰A,B,KABKABKBKA,時間A,BB用戶主密鑰

A

KAB

KB

票據(ticket)注意:在網絡上傳送密鑰時,都是經過加密的。解密用的密鑰都不在網上傳送。KDC對會話密鑰KAB

的分配為防止重放攻擊,KDC還可在報文中加入時間戳。會話密鑰KAB

是一次性的,因此保密性較高。KDC分配給用戶的密鑰KA

和KB,應定期更換,以減少攻擊者破譯密鑰的機會。目前最出名的是KerberosV5。既是鑒別協(xié)議,同時也是KDC,是互聯網建議標準。使用比DES更加安全的高級加密標準AES進行加密。使用兩個服務器:鑒別服務器AS(AuthenticationServer)票據授予服務器TGS(Ticket-GrantingServer)。只用于客戶與服務器之間的鑒別,不用于人對人的鑒別。對稱密鑰分配協(xié)議:KerberosABKerberosAKTGKAA,KSKS,

Kerberos工作原理ASTGSABKerberosAKTGKAA,KSKS,

Kerberos工作原理ASTGSA并不保存密鑰KA

。A需鍵入正確口令,利用適當的算法生成密鑰KA

。這個口令隨即被銷毀。ABKerberosATKAB,A,KABKBT+1KABA,KSTKS,B,KTGA,KABKB,B,KABKSKTGKAA,KSKS,

Kerberos工作原理ASTGSKerberos要求“松散的”同步Kerberos要求所有使用Kerberos的主機必須在時鐘上進行松散的同步。松散的同步:要求所有主機的時鐘誤差不能太大,例如,不能超過5分鐘的數量級。這個要求是為了防止重放攻擊。7.4.2公鑰的分配在公鑰密碼體制中,如果每個用戶都具有其他用戶的公鑰,就可實現安全通信。但不能隨意公布用戶的公鑰,因為:無法防止假冒和欺騙。使用者也無法確定公鑰的真正擁有者。方法:借助可信任的第三方機構。可信任的第三方機構。負責簽發(fā)數字證書。一般由政府出資建立。認證中心CA(CertificationAuthority)有時也簡稱為證書。是對公鑰與其對應的實體(人或機器)進行綁定的一個證明,因此它常稱為公鑰證書。每個證書中寫有公鑰及其擁有者的標識信息(例如:人名、地址、電子郵件地址或IP地址等)。更重要的是:證書中有CA

使用自己私鑰的數字簽名。把CA的數字簽名和未簽名的B的證書放在一起,就最后構成了已簽名的B的數字證書。證書被CA進行了數字簽名,是不可偽造的。數字證書(digitalcertificate)任何用戶都可從可信任的地方(如代表政府的報紙)獲得認證中心CA的公鑰,以驗證證書的真?zhèn)?。數字證書是公開的,不需要加密。數字證書(digitalcertificate)核實:A拿到B的數字證書后,使用數字證書上給出的CA的公鑰,對數字證書中CA的數字簽名進行E

運算,得出一個數值。再對B的數字證書(CA數字簽名除外的部分)進行散列運算,又得出一個數值。比較這兩個數值。若一致,則數字證書是真的。已簽名的B的數字證書的產生過程未簽名的B的數字證書證書擁有者:BB的公鑰證書簽發(fā)者:CACA的數字簽名散列運算H(X)

CA用私鑰進行D

運算固定長度散列證書擁有者:BB的公鑰證書簽發(fā)者:CACA的數字簽名已簽名的B的數字證書數字證書的格式必須標準化。ITU-T制定了X.509協(xié)議標準,描述證書的結構。IETF采用X.509V3作為互聯網的建議標準。X.509又稱為互聯網公鑰基礎結構PKI(PublicKeyInfrastructure)。版本號區(qū)分X.509不同版本序列號CA發(fā)放,唯一簽名算法簽署證書所使用的算法和參數發(fā)行者簽發(fā)者的唯一標識符有效期包括起始時間和終止時間主體名(或主題名)公鑰和數字證書擁有者的唯一標識符公鑰數字證書擁有者的公鑰和使用算法的標識符發(fā)行者ID任選,唯一,標識發(fā)行者主體ID任選,唯一,標識證書持有者擴展域擴充信息認證機構簽名用CA私鑰對證書簽名X.509數字證書X.509提出:把多級認證中心鏈接起來的,構成一個樹狀的認證系統(tǒng)。末端是用戶。最高一級的認證中心都稱為根認證中心

(RootCA),是公認可信的認證中心(或無條件信任的),且其公鑰是公開的。認證系統(tǒng)根CA中間CA1中間CA2CA1CA2CA3AEDBC(a)可以有不止一個根

CA。從根

CA向下的所有鏈接都稱為信任鏈。與信任鏈對應的是證書鏈。最頂層的根證書的數字簽名是自簽名的(即自己的私鑰給自己簽名)。證書鏈根證書驗證簽發(fā)者(b)中間CA2

簽名用戶名:EE的公鑰中間CA2

簽發(fā)根CA簽名中間CA2中間CA2的公鑰根CA簽發(fā)根CA簽名根CA根CA

的公鑰用戶E的證書中間CA2的證書驗證簽發(fā)者證書不是永久有效,它可以過期,也可以被吊銷。每一個CA應當有一個公布于眾的、用本CA的私鑰簽名的證書撤銷名單,并定期更新。有很多原因導致證書被吊銷,例如:用戶私鑰被盜或遺失。用戶不再被該CA認證。CA簽署用戶證書的私鑰被泄漏。證書撤銷與更新7.5互聯網使用的安全協(xié)議7.5.1

網絡層安全協(xié)議7.5.2

運輸層安全協(xié)議7.5.3

應用層安全協(xié)議7.6.1網絡層安全協(xié)議IP幾乎不具備任何安全性,不能保證:數據機密性數據完整性數據來源認證由于其在設計和實現上存在安全漏洞,使各種攻擊有機可乘。例如:攻擊者很容易構造一個包含虛假地址的IP數據報。IPsec提供了標準、健壯且包含廣泛的機制保證IP層安全。1.IPsec協(xié)議族概述IPsec:IPsecurity,IP安全。IPsec不是一個單一協(xié)議,而是能夠在IP層提供互聯網通信安全的協(xié)議族。IPsec是個框架:允許通信雙方選擇合適的算法和參數(例如,密鑰長度)。為保證互操作性,IPsec還包含了所有IPsec都必須實現的一套加密算法。IPsec由三部分組成IP安全數據報格式:兩個協(xié)議鑒別首部AH(AuthenticationHeader)協(xié)議封裝安全有效載荷ESP(EncapsulationSecurityPayload)協(xié)議加密算法:三個協(xié)議互聯網密鑰交換IKE(InternetKeyExchange)協(xié)議IPsec由三部分組成AH

協(xié)議提供源點鑒別和數據完整性,但不能保密。ESP

協(xié)議提供源點鑒別、數據完整性和保密。IPsec支持IPv4和IPv6。使用ESP或AH協(xié)議的IP數據報稱為IP安全數據報(或IPsec數據報)。AH協(xié)議的功能都已包含在ESP協(xié)議中。使用ESP協(xié)議就可以不使用AH協(xié)議。IP安全數據報有兩種工作方式添加的首部添加的尾部原始IP首部TCP/UDP報文段IP安全數據報原始IP數據報原始IP首部TCP/UDP報文段添加的首部添加的尾部原始IP首部TCP/UDP報文段IP安全數據報新IP首部原始IP數據報原始IP首部TCP/UDP報文段運輸方式(transportmode)隧道方式(tunnelmode)在整個運輸層報文段的前后分別添加若干控制信息,再加上IP首部。適合于主機到主機之間的安全傳送。需要使用IPsec的主機都運行IPsec協(xié)議。在原始的IP數據報的前后分別添加若干控制信息,再加上新的IP首部。需要在IPsec數據報所經過的所有路由器上都運行IPsec協(xié)議。隧道方式常用來實現虛擬專用網

VPN。IP安全數據報的IP首部是不加密的無論使用哪種方式,最后得出的IP安全數據報的IP首部都是不加密的。安全數據報:指數據報的數據部分是經過加密的,并能夠被鑒別的。通常把數據報的數據部分稱為數據報的有效載荷

(payload)。在發(fā)送IP安全數據報之前,在源實體和目的實體之間必須創(chuàng)建一條網絡層的邏輯連接。此邏輯連接叫做安全關聯SA(SecurityAssociation)。2.安全關聯IPsec把傳統(tǒng)互聯網無連接的網絡層轉換為具有邏輯連接的網絡層。安全關聯的特點安全關聯是從源點到終點的單向連接,它能夠提供安全服務。在安全關聯SA上傳送的就是IP安全數據報。如要進行雙向安全通信,則兩個方向都需要建立安全關聯。若n

個員工進行雙向安全通信,一共需要創(chuàng)建(2+2n)條安全關聯SA。路由器R1

到R2

的安全關聯SA假定公司總部的主機H1

要和分公司的主機H2

通過互聯網進行安全通信。公司總部與分公司之間的安全關聯SA是在路由器R1

和R2

之間建立的。公司總部互聯網R1H1R2H2分公司H3從H1

到H2從H1

到H2裝有IPsec裝有IPsecSA:R1→R2IP安全數據報從R1

到R2主機H1

到H3

之間的通信假定公司總部的主機H1

要和內部的主機H3

進行通信。由于都在公司內部,不需要加密,因此不需要建立安全關聯。公司總部互聯網R1H1R2H2分公司從H1

到H3H3路由器R1

到主機H2

的安全關聯SA若公司總部的主機H1

要和某外地業(yè)務員的主機H2

進行安全通信,需要在公司總部的路由器R1

和外地業(yè)務員的主機H2

建立安全關聯SA。公司總部互聯網SA:R1→H2R1IP安全數據報H1H2業(yè)務員從H1

到H2從R1

到H2安全關聯SA包括的狀態(tài)信息一個32位的連接標識符,稱為安全參數索引SPI(SecurityParameterIndex)。安全關聯SA的源點和終點的IP地址(例如路由器R1

和R2

的IP地址)。所使用的加密類型(例如,DES或AES)。加密使用的密鑰。完整性檢查的類型(例如,使用報文摘要MD5或SHA-1的報文鑒別碼MAC)。鑒別使用的密鑰。3.IP安全數據報的格式隧道方式下的IP安全數據報的格式協(xié)議=50IP安全數據報IP安全數據報的有效載荷發(fā)送在前

安全參數索引SPI

序號32位32位ESP的有效載荷4原始的IP數據報的有效載荷原始的IP首部

填充00…00填充長度下一個首部8位8位協(xié)議=4ESP尾部ESP首部報文鑒別碼MAC

加密的部分鑒別的部分新的IP首部注意:對于路由器R1

到R2

的安全關聯SA,在“原始的IP首部”中,用主機H1

和H2

的IP地址分別作為源地址和目的地址,而在IP安全數據報的“新的IP首部”中,用路由器R1

和R2

的IP地址分別作為源地址和目的地址。3.IP安全數據報的格式4.IPsec的其他構件安全關聯數據庫SAD(SecurityAssociationDatabase)存放SA。安全策略數據庫SPD(SecurityPolicyDatabase)指明什么樣的數據報需要進行IPsec處理?;ヂ摼W密鑰交換IKE(InternetKeyExchange)為IP安全數據報創(chuàng)建安全關聯SA?;ヂ摼W密鑰交換IKE非常復雜?;ヂ摼W的正式標準[RFC7296]。IKEv2以另外三個協(xié)議為基礎:Oakley:密鑰生成協(xié)議[RFC2412]。安全密鑰交換機制SKEME(SecureKeyExchangeMechanism):用于密鑰交換的協(xié)議。它利用公鑰加密來實現密鑰交換協(xié)議中的實體鑒別?;ヂ摼W安全關聯和密鑰管理協(xié)議ISAKMP(InternetSecureAssociationandKeyManagementMechanism):用于實現IKE中定義的密鑰交換,使IKE的交換能夠以標準化、格式化的報文創(chuàng)建安全關聯SA。7.6.2運輸層安全協(xié)議現在廣泛使用以下兩個協(xié)議:安全套接字層SSL(SecureSocketLayer)運輸層安全TLS(TransportLayerSecurity)

1.協(xié)議TLS的要點安全套接層SSL由Netscape于1994年開發(fā),廣泛應用于基于萬維網的各種網絡應用(但不限于萬維網應用)。SSL作用在端系統(tǒng)應用層的HTTP和運輸層之間,在TCP之上建立起一個安全通道,為通過TCP傳輸的應用層數據提供安全保障。1999年,IETF在SSL3.0基礎上設計了TLS1.0,為所有基于TCP的網絡應用提供安全數據傳輸服務。2018年8月,IETF發(fā)布了經歷了28個草案后才通過的最新版本TLS1.3[RFC8446,建議標準](不向后兼容)。2020年,舊版本TLS1.0/1.1均被廢棄。協(xié)議TLS的位置在發(fā)送方,TLS接收應用層的數據,對數據進行加密,然后把加密后的數據送往TCP套接字。在接收方,TSL從TCP套接字讀取數據,解密后把數據交給應用層?;ヂ摼WIP應用層(HTTP)網絡接口層TCPSSL/TLSIP應用層(HTTP)網絡接口層TCPSSL/TLSTLS與應用層協(xié)議獨立無關TLS提供了一個簡單的帶有套接字的應用程序接口API,與TCP的API相似。應用層使用TLS最多的就是HTTP。TLS可用于任何應用層協(xié)議。應用程序HTTP調用TLS對整個網頁進行加密時,網頁上會提示用戶,在網址欄原來顯示http的地方,現在變成了

https。s代表security,表明現在使用的是提供安全服務的HTTP協(xié)議(TCP的HTTPS端口號是443,而不是平時使用的端口號80)。協(xié)議TLS具有雙向鑒別的功能常用單向鑒別:客戶端(瀏覽器)需要鑒別服務器,確信即將訪問的網站服務器是安全和可信的。兩個前提:服務器需要有一個有效的CA證書來證明自己。CA證書是運輸層安全協(xié)議TLS的基石。瀏覽器應具有一些手段來證明服務器是安全和可信的。建立安全會話兩個階段:握手階段:使用握手協(xié)議會話階段:使用記錄協(xié)議TLS建立安全會話的工作原理A選定的加密算法B確認的加密算法B的數字證書用B的公鑰加密PKB(MS)數據傳輸(保密,完整性)協(xié)商加密算法生成會話密鑰協(xié)商加密算法tt客戶A服務器B雙方已建立了TCP連接用B的私鑰解密SKB(PKB(MS))=MS生成會話密鑰握手協(xié)議記錄協(xié)議PKB用CA的公鑰鑒別B的證書產生主密鑰MS握手階段:使用握手協(xié)議會話階段:使用記錄協(xié)議TLS的握手階段:驗證服務器,生成會話階段所需的共享密鑰協(xié)商加密算法。

瀏覽器A向服務器B發(fā)送瀏覽器的TLS版本號和一些可選的加密算法。B從中選定自己所支持的算法(如RSA),并告知A,同時把自己的CA數字證書發(fā)送給A。服務器鑒別。客戶A用數字證書中CA的公鑰對數字證書進行驗證鑒別。生成主密鑰??蛻鬉按照雙方確定的密鑰交換算法生成主密鑰MS(MasterSecret)??蛻鬉用B的公鑰PKB

對主密鑰MS加密,得出加密的主密鑰PKB(MS),發(fā)送給服務器B。服務器B用自己的私鑰把主密鑰解密出來:SKB(PKB(MS))=MS。這樣,客戶A和服務器B都有了為后面數據傳輸使用的共同的主密鑰MS。生成會話密鑰和。為了使雙方的通信更加安全,客戶A和服務器B最好使用不同的密鑰。主密鑰被分割成4個不同的密鑰。每一方都擁有這樣4個密鑰(注意:這些都是對稱密鑰):客戶A發(fā)送數據時使用的會話密鑰KA

客戶A發(fā)送數據時使用的MAC密鑰MA

服務器B發(fā)送數據時使用的會話密鑰KB

服務器B發(fā)送數據時使用的MAC密鑰MB

TLS的握手階段:驗證服務器,生成會話階段所需的共享密鑰把長的數據劃分為較小的數據塊,叫做記錄

(record)。對每一個記錄進行鑒別運算和加密運算。記錄協(xié)議對每一個記錄按發(fā)送順序賦予序號,第一個記錄作為0。發(fā)送下一個記錄時序號就加1,序號最大值不得超過264

–1,且不允許序號繞回。序號未寫在記錄之中,而是在進行散列運算時,把序號包含進去??蛻鬉向服務器B發(fā)送一個明文記錄時,對MAC密鑰MA

、記錄的當前序號和明文記錄進行散列運算,鑒別明文記錄的完整性(內容和順序均無誤)。使用會話密鑰KA

進行加解密。TLS的會話階段:保證傳送數據的機密性和完整性這種對記錄加密的方法稱為帶關聯數據的鑒別加密AEAD(AuthenticatedEncryptionwithAssociatedData)。TLS傳送的記錄格式類型版本長度明文記錄MAC對這部分用KA

加密類型字段:指明所傳送的記錄是握手階段的報文,還是應用程序傳送的報文,或最后要關閉

TLS連接的報文。長度字段:字節(jié)數,用于從

TCP報文中提取

TLS記錄。明文記錄MAC2.協(xié)議TLS必須包含的措施握手階段補充的措施:客戶A和服務器B相互發(fā)送不重數,防止重放攻擊。生成預主密鑰PMS(Pre-MasterSecret),為下一步生成主密鑰使用。生成主密鑰??蛻鬉和服務器B各自使用同樣的(已商定的)算法,使用預主密鑰PMS、客戶的不重數和服務器的不重數,生成主密鑰MS。客戶A向服務器B發(fā)送的全部握手階段報文的MAC。服務器B向客戶A發(fā)送的全部握手階段報文的MAC。2.協(xié)議TLS必須包含的措施關閉TLS連接:關閉TLS連接之前,A或B應當先發(fā)送關閉TLS的記錄,以防止截斷攻擊(truncationattack)。截斷攻擊:在A和B正在進行會話時,入侵者突然發(fā)送TCP的FIN報文段來關閉TCP連接。如果A或B沒有事先發(fā)送一個要關閉TLS的記錄,那么A或B見到TCP的FIN報文段時,就知道這是入侵者的截斷攻擊了。因為入侵者無法偽造關閉TLS的記錄。2.協(xié)議TLS必須包含的措施TLS1.3中使用了更加安全的橢圓曲線密碼ECC(EllipticCurveCryptography)與AES,運算速度比1.2版本有很大的提高。TLS1.3還添加了0-RTT

的功能。如果客戶之前連接過某服務器,TLS1.3通過儲存先前會話的秘密信息,不需要經過1-RTT的握手過程,僅需0-RTT即可開始會話階段,更加提高了TLS的效率。必須要防止可能發(fā)生的重放攻擊。7.5.3應用層安全協(xié)議僅討論應用層中有關電子郵件的安全協(xié)議。發(fā)送電子郵件是個即時行為,是單向報文的安全問題。發(fā)送方A和接收方B不會事先建立任何會話。接收方B讀取郵件后,可能會/不會回復郵件。電子郵件安全協(xié)議應當為每種加密操作定義相應的算法,以及密鑰管理、鑒別、完整性保護等方法。PGP(PrettyGoodPrivacy)PGP(PrettyGoodPrivacy)是一個完整的電子郵件安全軟件包,包括加密、鑒別、電子簽名和壓縮等技術。將現有的一些算法如MD5,RSA,以及IDEA等綜合在一起。提供電子郵件的安全性、發(fā)送方鑒別和報文完整性。并不是互聯網的正式標準。PGP很難被攻破。在目前,可以認為PGP是足夠安全的。發(fā)送方A的PGP處理過程一次性密鑰K一次性密鑰K用B的公鑰加密A用私鑰對明文郵件簽名發(fā)送A生成一次性密鑰K拼接用一次性密鑰K加密PKB明文郵件XSKAA的簽名K明文郵件XA的簽名SKAK明文郵件XA的簽名SKAPKB用A的私鑰SKA

對明文郵件X

進行簽名。把簽名拼接在明文郵件X

后面。

A利用隨機數生成一次性密鑰K(共享的對稱密鑰)。

用A生成的一次性密鑰K

對已簽名的郵件加密。

用B的公鑰PKB

對A生成的一次性密鑰K

進行加密。把已

溫馨提示

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

評論

0/150

提交評論