




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機網絡的安全本章目錄第10章 計算機網絡的安全 110.1 網絡安全問題概述 110.1.1 計算機網絡面臨的安全性威脅 110.1.2 計算機網絡安全的內容 210.1.3 一般的數據加密模型 310.2 常規密鑰密碼體制 410.2.1 替代密碼與置換密碼 410.2.2 數據加密標準DES 510.3 公開密鑰密碼體制 710.3.1 公開密鑰密碼體制的特點 710.3.2 RSA公開密鑰密碼體制 810.3.3 數字簽名 810.4 報文鑒別 910.5 密鑰分配 1010.6 鏈路加密與端到端加密 1110.6.1 鏈路加密 1110.6.2 端到端加密 1110.7 防火墻 11網絡安全問題概述計算機網絡面臨的安全性威脅計算機網絡上的通信面臨以下的4種威脅。截獲(interception)攻擊者從網絡上竊聽他人的通信內容。中斷(interruption)攻擊者有意中斷他人在網絡上的通信。篡改(modification)攻擊者故意篡改網絡上傳送的報文。偽造(fabrication)攻擊者偽造信息在網絡上傳送。上述四種威脅可劃分為兩大類,即被動攻擊和主動攻擊(如圖10-1所示)。在上述情況中,截獲信息的攻擊稱為被動攻擊,而更改信息和拒絕用戶使用資源的攻擊稱為主動攻擊。在被動攻擊中,攻擊者只是觀察和分析某一個協議數據單元PDU(這里使用PDU這一名詞是考慮到攻擊可能涉及數據的不同的層次)而不干擾信息流。即使這些數據對攻擊者來說是不易理解的,他也可以通過觀察PDU的協議控制信息部分,了解正在通信的協議實體的地址和身份,研究PDU的長度和傳輸的頻度,以便了解所交換的數據的性質。這種被動攻擊又稱為通信量分析(trafficanalysis)。主動攻擊是指攻擊者對某個連接中通過的PDU進行各種處理。如有選擇地更改、刪除、延遲這些PDU(當然也包括記錄和復制它們)。還可在稍后的時間將以前記錄下的PDU插入這個連接(即重放攻擊)。甚至還可以將合成的或偽造的PDU送入一個連接中去。所有主動攻擊都是上述各種方法的某種組合。但從類型上看,主動攻擊又可進一步劃分為以下3種:更改報文流,包括對通過連接的PDU的真實性、完整性和有序性的攻擊。拒絕報文服務,指攻擊者或者刪除通過某一連接的所有PDU,或者將雙方或單方的所有PDU加以延遲,從而使被攻擊網站的服務器一直處于“忙”的狀態,因而拒絕向發出請求的合法客戶提供服務。這種攻擊方式被稱為拒絕服務DoS(DenialofService),或分布式拒絕服務DDoS(DistributedDenialofService)。偽造連接初始化,攻擊者重放以前已被記錄的合法連接初始化序列,或者偽造身份而企圖建立連接。對于主動攻擊,可以采取適當措施加以檢測。但對于被動攻擊,通常卻是檢測不出來的。根據這些特點,可得出計算機網絡通信安全的五個目標:防止析出報文內容;防止信息量分析;檢測更改報文流;檢測拒絕報文服務;檢測偽造初始化連接。對付被動攻擊可采用各種加密技術,而對付主動攻擊,則需要將加密技術與適當的鑒別技術相結合。還有一種特殊的主動攻擊就是惡意程序(rogueprogram)的攻擊。惡意程序種類繁多,對網絡安全威脅較大的主要有以下幾種:計算機病毒(computervirus),一種會“傳染”其他程序的程序,“傳染”是通過修改其他程序來把自身或其變種復制進去完成的。計算機蠕蟲(computerworm),一種通過網絡的通信功能將自身從一個結點發送到另一個結點并啟動運行的程序。特洛伊木馬(Trojanhorse),一種程序,它執行的功能超出所聲稱的功能。如一個編譯程序除了執行編譯任務以外,還把用戶的源程序偷偷地復制下來,則這種編譯程序就是一種特洛伊木馬。計算機病毒有時也以特洛伊木馬的形式出現。邏輯炸彈(logicbomb),一種當運行環境滿足某種特定條件時執行其他特殊功能的程序。如一個編輯程序,平時運行得很好,但當系統時間為13日又為星期五時,它刪去系統中所有的文件,這種程序就是一種邏輯炸彈。計算機網絡安全的內容保密性為用戶提供安全可靠的保密通信是計算機網絡安全最為重要的內容。盡管計算機網絡安全不僅僅局限于保密性,但不能提供保密性的網絡肯定是不安全的。網絡的保密性機制除了為用戶提供保密通信以外,也是許多其他安全機制的基礎。例如,接入控制中登錄口令的設計、安全通信協議的設計以及數字簽名的設計等,都離不開密碼機制。安全協議的設計人們一直希望能設計出安全的計算機網絡,但不幸的是,網絡的安全性是不可判定的[DENN82]。目前在安全協議的設計方面,主要是針對具體的攻擊(如假冒)設計安全的通信協議。但如何保證所設計出的協議是安全的?協議安全性的保證通常有兩種方法:一種是用形式化方法來證明協議的安全性。另一種是用經驗來分析協議的安全性。接入控制接入控制(accesscontrol)也叫做訪問控制或存取控制。指對接入網絡的權限加以控制,并規定每個用戶的接入權限。由于網絡是個非常復雜的系統,所以其接入控制機制比操作系統的訪問控制機制更復雜(盡管網絡的接入控制機制是建立在操作系統的訪問控制機制之上的),尤其在高安全性級別的多級安全性(multilevelsecurity)情況下更是如此。所有上述計算機網絡安全的內容都與密碼技術緊密相關。一般的數據加密模型一般的數據加密模型如圖10-2所示。在發送端,明文X用加密算法E和加密密鑰K1得到密文Y,這個過程可以簡記為:。在接收端,密文Y通過解密算法D和解密密鑰K2重新得到明文X,這個過程可以簡記為:。或。密文在傳送過程中可能出現截取者,截取者又稱為攻擊者或入侵者。如果K1=K2,則稱為對稱加密,反之,則稱為非對稱加密。密鑰通常是由一個密鑰源提供。當密鑰需要向遠地傳送時,也需要通過一個安全信道來進行。這稱為密鑰的分發。密碼編碼學(cryptography)是密碼體制的設計學,而密碼分析學(cryptanalysis)則是未知密鑰的情況下從密文推演出明文或密鑰的技術。這兩者合起來即為密碼學(cryptology)。對一個密碼體制而言,如果不論截取者獲得了多少密文,但在密文中都沒有足夠的信息來唯一地確定出對應的明文,則該密碼體制稱為無條件安全,或稱為理論上是不可破譯的。如果一個密碼體制中的密碼在給定的計算資源下是不可破譯的,則稱該密碼體制在計算上是安全的。在20世紀70年代后期,美國的數據加密標準DES(DataEncryptionStandard)和公開密鑰密碼體制(publickeycrypto-system)的出現,成為近代密碼學發展史上的兩個重要里程碑。常規密鑰密碼體制替代密碼與置換密碼在早期的常規密鑰密碼體制中,有兩種常用的密碼,即替代密碼和置換密碼。替代密碼(substitutioncipher)的原理可用一個例子來說明。如表10-1所示。表10-1 字母a、b、c、等與D、E、F、等相對應abcdefghijklmnopqrstuywxyzDEFGHIJKLMNOPQRSTUVWXYZABC注: 設明文為:hello,則對應的密文為:KHOOR。 解密時反查上表即可。也可往左數3個字符。置換密碼(transpositioncipher)則是按照某一規則重新排列消息中的比特或字符的順序。例子如下文所示。密鑰 C I P H E R順序 1 4 5 3 2 6明文 a t t a c k b e g i n s a t f o u r注: 順序與密鑰等價,但不如密鑰便于記憶。 明文旋渦狀的意思是“四時開始進攻” 密文為:abatettgfaiocnuksr。 密鑰與順序的關系見下表:abcdefghijklm1234nopqrstuywxyz56從得到密文序列的結構來劃分,則有序列密碼和分組密碼兩種不同的密碼體制。序列密碼體制是將明文X看成是連續的比特流(或字符流)X=,并且用密鑰序列K=中的第個元素對明文中的進行加密,即=…序列密碼又稱為密鑰流密碼。目前常使用偽隨機序列作為密鑰序列。圖10-3是其原理框圖。在發送方加密時,偽隨機序列的種子對密鑰序列產生器進行初始化。,和均為1位(或均為1個字符),并按照模2進行運算,得出:= (10-1)在接收方,對的解密算法是:=== (10-2)另一種密碼體制與序列密碼不同。它將明文劃分成固定的n比特的數據組,然后以組為單位,在密鑰的控制下進行一系列的線性或非線性的變化而得到密文。這就是分組密碼(blockcipher)。圖10-4為分組密碼體制的框圖。分組密碼一次變換一組數據。分組密碼算法的一個重要特點就是:當給定一個密鑰后,若明文分組相同,那么所變換出密文分組也相同。數據加密標準DES數據加密標準DES屬于常規密鑰密碼體制。它由IBM公司研制出,于1977年被美國定為聯邦信息標準后,在國際上引起了極大的重視。ISO曾將DES作為數據加密標準。加密算法如圖10-5所示。解密過程和加密過程相似,但生成16個密鑰的順序正好相反。上述的DES的一個明顯的缺點是它實際上就是一種單字符替代,而這種字符的長度是64位。也就是說,對于DES算法,相同的明文就產生相同的密文。這對DES的安全性來說是不利的。為了提高DES的安全性,可采用加密分組鏈接的方法,如圖10-6所示。(注,此種說法不太準確,因為鏈接后并沒有能增加多少算法的計算復雜性。)圖10-6(a)是加密過程。圖10-6(b)是解密過程。DES的保密性僅取決于對密鑰的保密,而算法是公開的。盡管人們在破譯DES方面取得了許多進展[BIHA90],但至今仍未能找到比窮舉搜索密鑰更有效的方法。DES的安全性問題主要是密鑰比較短(即56位太短),為了增加密鑰長度,可以有多種方法,但不一定增加了密鑰長度,安全性就能相應地增加。一種叫做三重DES(TripleDES)是Tuchman提出的,并在1985年成為美國的一個商用加密標準[RFC2420]。三重DES使用兩個密鑰,執行三次DES算法,如圖10-7所示。在DES之后出現了國際數據加密算法IDEA(InternationalDataEncryptionAlgorithm)[LAI90]。IDEA使用128位密鑰,因而更加不容易被攻破。計算結果表明,當密鑰長度為128位時,若每微秒可搜索1百萬次,則用窮舉法破譯IDEA密碼需要花費年。公開密鑰密碼體制公開密鑰密碼體制的特點公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰進行加解密的密碼體制,即對加解密的一般公式而言,其中滿足,要求由已知加密密鑰推導出解密密鑰在計算上是不可行。公開密鑰密碼體制的產生主要是因為兩個方面的原因,一是由于常規密鑰密碼體制的密鑰分配(distribution)問題,另一是由于對數字簽名的需求。在公開密鑰密碼體制中,加密密鑰(即公開密鑰,或記為)PK是公開的,而解密密鑰(即秘密密鑰,或記為)SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然秘密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。公開密鑰算法的特點如下所述。發送者用加密密鑰PK對明文X加密后,在接收端,接收者用解密密鑰SK解密,即可恢復出明文,或寫為: (10-3) 加密密鑰是公鑰,而解密密鑰是接收方專用的私鑰,對其他人都保密。此外,加密和解密的運算可以對調,即。加密密鑰是公開的,但不能用它來解密,即 (10-4)在計算機上可以容易地產生成對的PK和SK。從已知的PK實際上不可能推導出SK,即從PK到SK是“計算上不可能的”。加密和解密算法都是公開的。上述過程如圖10-8所示。RSA公開密鑰密碼體制RSA公開密鑰密碼體制所根據的原理是:根據數論,計算兩個大素數的乘積比較簡單,而將它們的乘積分解為素因子則極其困難。加密算法若用整數X表示明文,用整數Y表示密文(X和Y均小于),則加密和解密運算為:加密:Y= (10-5)解密:X= (10-6)密鑰的產生現在討論RSA公開密鑰密碼體制中每個參數是如何選擇和計算的。①計算。用戶秘密地選擇兩個大素數和,計算出。稱為RSA算法的模數。明文必須能夠用小于的數來表示。實際上是幾百位長的數。②計算。用戶再計算出的歐拉函數,定義為不超過并與互素的數的個數。= (10-7)③選擇。用戶從[0,1]中選擇一個與互素的數作為公開的加密指數。④計算。用戶計算出滿足下式的 =1 (10-8)作為解密指數。⑤得出所需要的公開密鑰和秘密密鑰:公開密鑰(即加密密鑰)PK={,}秘密密鑰(即解密密鑰)SK={,}數字簽名數字簽名必須保證以下三點:接收方能夠核實發送者對報文的簽名;發送方事后不能抵賴對報文的簽名;接收方不能偽造對報文的簽名。數字簽名的方法發送者A用其私鑰即解密密鑰SKA和解密算法對報文X進行運算,將結果傳送給接收者B。B用已知的A的公鑰即加密密鑰PKA對報文進行計算,得出。因為除A外沒有別人能具有A的解密密鑰SKA,所以除A外沒有別人能產生密文。這樣,B就相信報文X是A簽名發送的,如圖10-9所示。注意,報文X是明文并沒有加密,即直接對明文作解密運算。這樣做的原因不是為了加密而是為了數字簽名。為了確證報文是否真的來自A。(注意明文與密文的相對性。)如果A要抵賴曾發送報文給B,則B可以把X及出示給具有權威的第三方。第三方很容易用PKA去證實A確實發送X給B。反之,如果B把X偽造成X′,則B不能在第三方前出示。這樣就證明了B偽造了報文。上述過程僅報文進行了簽名。對報文X本身卻未保密。因為截到并知道發送方身份的任何人,通過查閱手冊即可獲得發送方的公鑰PKA,因而也能得知報文X的內容。若采用圖10-10所示的方法,則可同時實現秘密通信和數字簽名。圖中SKA和SKB分別為A和B的私鑰,而PKA和PKB分別為A和B的公鑰。報文鑒別在信息的安全領域中,對付被動攻擊的重要措施是加密,而對付主動攻擊中的篡改和偽造則要用報文鑒別(messageauthentication)的方法。報文鑒別就是一種過程,它使得通信的接收方能夠驗證所收到的報文(發送者和報文內容、發送時間、序列等)的真偽。近年來,廣泛使用報文摘要MD(MessageDigest)來進行報文鑒別。發送方將可變長度的報文經過報文摘要算法運算后得出固定長度的報文摘要然后對進行加密,得出,并將其附加在報文后面發送出動。接收文把解密還原為,再把收到的報文進行摘要運算,看得出的是否為此。如不一樣,則可斷定收到的報文不是發送方產生的。對鑒別報文來說,報文摘要方法也是可檢驗的和不可抵賴的,因為和合在一起是不可偽造的。要做到不可偽造,報文摘要算法必須滿足以下兩個條件:任給一個報文摘要值x,若想找到一個報文y使得H(y)=x,則在計算上是不可行的。若想找到任意兩個報文x和y,使得H(x)=H(y),則在計算上是不可行的。RFC1321提出的報文摘要算法MD5已獲得了廣泛的應用。MD5的算法大致的過程如下:先將任意長的報文按模計算其余數(64位),追加在報文的后面。這就是說,最后得出的MD代碼已包含了報文長度的信息。在報文和余數之間填充1~512位的數據塊,使得填充后的總長度是512的整數倍。填充比特的首位是1,后面都是0。將追加和填充后的報文分割為一個個512位的數據塊,512位的報文數據分成4個128位的數據塊依次送到不同的散列函數進行4輪計算。每一輪又都按32位的小數據塊進行復雜的運算。一直到最后計算出MD5報文摘要代碼。另一種標準叫做安全散列算法SHA(SecureHashAlgorithm),和MD5相似,但碼長為160位。它也是用512位長的數據塊經過復雜運算得出的。SHA比MD5更安全,但計算起來也比MD5要慢些。密鑰分配由于密碼算法是公開的,網絡的安全性就完全基于密鑰的安全保護上。因此在密碼學中出現了一個重要的分支——密鑰管理。密鑰管理包括:密鑰的產生、分配、注入、驗證和使用。隨著用戶的增多和通信量的增大,密鑰更換頻繁(密鑰必須定期更換才能做到可靠),派信使的辦法將不再適用。這時應采用網內分配方式,即對密鑰自動分配。目前,常用的密鑰分配方式是設立密鑰分配中心KDC(KeyDistribution),通過KDC來分配密鑰。圖10-11為一種對常規密鑰進行分配的方法。假定用戶A和B都是KDC的登記用戶,他們分別擁有與KDC通信的主密鑰KA和KB。密鑰分配分為三個步驟:首先,用戶A向KDC發送自己私有的主密鑰KA加密的報文說明想和用戶B通信。KDC用隨機數產生一個“一次一密”密鑰供A和B這次的信通使用,然后向A發送回答報文,這個回答報文用A的主密鑰KA加密,報文中有密鑰和請A轉給B的報文,但報文是用B的私有主密鑰KB加密的,因此A無法知道報文的內容。當B收到A轉來的報文并使用自己的私有主密鑰KB解密后,就知道A要和他通信,同時也知道和A通信時所使用的密鑰。此后,A和B就可使用這個一次一密的密鑰進行本次通信了。KDC還可以在報文中加入時間戳,以防止攻擊者利用以前記錄下的報文進行重放攻擊。鏈路加密與端到端加密鏈路加密在采用鏈路加密的網絡中,每條通信鏈路上的加密是獨立實現的。通常對每條鏈路使用不同的加密密鑰。鏈路加密的最大缺點是在中間結點暴露了信息的內容。端到端加密端到端加密是在源結點和目的結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 312植樹節活動策劃方案
- 魯濱孫漂流記心得體會
- 音響設備租賃合同書
- 醫療設備維護及更新合作協議
- 2024年度河北省二級建造師之二建建筑工程實務過關檢測試卷B卷附答案
- 2024年度河北省二級建造師之二建市政工程實務能力檢測試卷B卷附答案
- 門頭房屋租賃合同
- 中英禮貌用語差異解析教案:大學跨文化交流課程
- 《摩擦力及其應用:九年級物理教學教案》
- 《勾股定理》在初中數學中的應用與拓展教案
- 智障個別化教育計劃案例(3篇)
- 血小板膜蛋白功能研究-洞察分析
- 高級財務會計-合并財務報表知到智慧樹章節測試課后答案2024年秋山東大學(威海)
- 部編版四年級語文下冊第六單元教學計劃(含課標分析、教材分析、單元教學目標、教學策略、學情分析等)
- 用火用電用氣安全管理制度
- 《腦出血護理》課件
- 習慣性違章行為培訓課件
- 北京師范大學珠海分?!秾W校心理學》2021-2022學年第一學期期末試卷
- (TCSEB 0011-2020)《露天爆破工程技術設計規范》
- 2025年煤礦井下作業安全員理論全國考試題庫(含答案)
- 《化工新材料生產技術》課件-知識點2 聚碳酸酯生產工藝流程
評論
0/150
提交評論