網路安全:加密原理、算法與協定

網路安全:加密原理、算法與協定

本書適用於高年級本科生或研究生一或兩學期課程的教材。作為一本參考書,對計算機工程師、通信工程師和系統工程師都是很有用的。它還適用於自學。本書可以被學術和專業人士使用,還可以作為企業和研究機構的培訓使用。在本書的最後,有一個常用的縮寫語列表和參考書目。

基本信息

內容簡介

本書適用於高年級本科生或研究生一或兩學期課程的教材。作為一本參考書,對計算機工程師、通信工程師和系統工程師都是很有用的。它還適用於自學。本書可以被學術和專業人士使用,還可以作為企業和研究機構的培訓使用。在本書的最後,有一個常用的縮寫語列表和參考書目。

前言

網際網路是全球範圍的,但這種全球的互連網路是開放的、不安全的媒體。網際網路使計算和通信世界發生了革命性的變化,以開發和支持客戶和伺服器服務。網際網路的可用性及其能提供的強大的計算和通信能力,使得形成了一種新的商業模式。由於瀏覽器和全球資訊網技術的套用,允許用戶很容易地訪問連結到全球的信息,這更是得到了極大地促進這種商業模式。網際網路已被證實為當今信息貿易的基礎工具。

今天,網際網路是所有信息的基礎設施,是信息傳播的一種機制,是個人、政府機關、金融機構、學術團體和各種商業貿易之間進行協作和互動的媒介,而且沒有地理位置的限制。

不論由於是個人還是專業使用的需要,人們已經變得越來越依賴於網際網路了,如Email、檔案傳送、遠程登錄、Web頁面訪問或商業事務處理。隨著人們對網際網路的不斷認識和網際網路的普及,網際網路安全問題顯現出來了。在不安全的媒介上進行線上事務處理,很容易誘發網際網路犯罪活動。

網際網路訪問經常會產生一個安全缺陷。要保護用戶免受基於網際網路的攻擊,當出現安全問題時提供恰當的解決辦法,必須套用密碼技術。本書介紹的就是在網際網路安全中有關密碼操作、原理、算法和協定的核心內容。要消除由犯罪活動產生的各種威脅,必須依靠密碼技術。在培育、改進和提供網際網路安全中,認證、訊息完整性和加密是非常重要的。沒有這種認證過程,攻擊者可以模仿任何人,然後獲得對網路的訪問權。要求訊息完整性是因為數據在網際網路中傳輸時可能被修改。沒有經過加密,信息就可能變成真正的公開了。

本書通過嚴謹、徹底和定性的講述,深入地介紹了網際網路安全及其實現的理論與實踐知識。本書適用於高年級本科生和研究生、專業工程師和研究人員作為網際網路原理的入門教材。本書由11章組成,重點介紹了一些與網際網路有關的關鍵的安全性問題。下面是每章內容的概述。

第1章開始介紹了網際網路的簡要歷史,內容包括: (1) 網路技術基礎,如LAN(Ethernet、令牌環、FDDI),WAN(幀中繼、X.25、PPP)和ATM; (2) 連線設備,如電路交換和包交換、轉發器、網橋、路由器和網關; (3) OSI模型,它說明了其七層的功能; 最後(4) 五層的TCP/IP協定族,它提供了由物理標準、網路接口和互連網路組成的分層協定。

第2章介紹了TCP/IP協定族,內容包括: (1) TCP/IP網路層協定,如ICMP、與IP包格式有關的IPv4和IPv6,定址(包括ARP、RARP和CIDR)和路由; (2) 傳輸層協定,如TCP和UDP; (3) 用於全球資訊網的HTTP; (4) 用於檔案傳遞的FTP、TFTP和NFS協定; (5) 用於Email的SMTP、POP3、IMAP和MIME; (6) 用於網路管理的SNMP協定。

第3章介紹了現代一些重要的分組加密算法,這些算法是近年來開發的,重點介紹了使用最廣泛的加密技術,如數據加密標準(Data Encryption Standard, DES)國際數據加密算法(International Data Encryption Algorithm, IDEA),RC5和RC6加密算法,以及高級加密標準(Advanced Encryption Standard, AES)。AES指的是經FIPS認可的Rijndael算法(2001),它可以處理128位的數據分組,使用的密鑰長度為128、192和256位。DES不是新東西,但它已經經受了20多年的強度密碼分析。本章還全面分析了CBC模式的三重DESEDE、用於Email的Pretty Good Privacy (PGP),用於常規分組加密的檔案存儲實用工具IDEA,以及用於公鑰加密的RSA和用於哈希編碼的MD5。RC5和RC6都是大小可變、輪數可變、密鑰長度可變的參數化分組算法。它們在性能和安全級別上都有很大的靈活性。

第4章介紹了基於數字簽名的不同認證技術。通常,通信雙方需要驗證對方的身份。這樣做的一個實用方法是使用密碼認證協定,該協定套用了一個單向的哈希函式。本章介紹了幾種現代的哈希函式(例如DMDC、MD5和SHA1),用於計算訊息摘要或哈希代碼,為認證提供對稱方法。本章還擴展討論了網際網路標準HMAC,它是受保護數據的一種安全摘要。HMAC使用了不同的哈希算法,包括MD5和SHA1。傳輸層安全(Transport Layer Security, TLS)也使用了HMAC算法。

第5章在介紹了常規加密後,還介紹了幾種公鑰加密系統。本章重點介紹了用於公鑰加密、數字簽名和認證的技術。本章還詳細介紹了廣泛使用的DiffieHellman密鑰交換技術(1976)、RSA (RivestSchamirAdleman)算法(1978)、ElGamal算法(1985)、Schnorr算法 (1990)、數字簽名算法(DSA, 1991)和橢圓曲線加密系統(ECC, 1985)與橢圓曲線數字簽名算法 (ECDSA, 1999)。

第6章網際網路的公鑰基礎設施(publickey infrastructure, PKI)。PKI通過公鑰證書自動地管理公鑰。策略認可機構(Policy Approval Authority, PAA)是證書管理基礎設施的根。該機構對PKI整個級別上的所有項都是已知的,為所有用戶生成指導說明,CA和下級的策略制定機構必須遵守。策略認證機構(Policy Certificate Authorities, PCA)由該基礎設施中第二級的所有項組成。PCA必須發布安全策略、過程、合法性問題、費用以及其他認為有必要的內容。認證機構(Certification Authorities, CA)形成了PCA的下一級。PKI由很多的CA組成,CA不負責策略的制定。CA由用戶和它認證的RA組成。CA的基本功能是生成和管理公鑰證書,它把用戶的身份與用戶的公鑰捆綁在一起。註冊機構(Registration Authority, RA)是用戶與CA之間的接口。RA的基本功能是從CA的角度進行用戶的身份確認和認證。它還給終端用戶發放CA證書。X.500描述的是目錄服務。X.509使用X.500目錄描述了認證服務。X.509證書經歷了三個版本: 1998年的版本1,1993年的版本2和1996年的版本3。現在的X.509 v3是基於大量產品和網際網路標準而形成的。這三個版本將依次介紹。最後,證書註銷列表(Certificate Revocation Lists, CRL)用於列舉那些已註銷的未到期的證書。CRL可能是從例程管理註銷到私鑰生成條件等多種原因被重新激活。本章還介紹了網際網路PKI的證書路徑合法認證過程和PKI證書管理基礎設施的體系結構。

第7章介紹了網路層安全的IPsec協定。IPsec提供了在網際網路或公用WAN上的LAN和虛擬專用網(virtual private network, VPN)進行安全通信的能力。IPsec的使用使得商業活動可以極大地依賴網際網路。IPsec協定是由IETF開發的一組安全擴展,使用密碼算法和協定在IP層提供保密和認證服務。要保護IP數據包(datagram)的內容,有兩種主要的轉換類型: 認證頭(Authentication Header, AH)和封裝安全負載(Encapsulating Security Payload, ESP)。這些是提供無連線完整性、數據原始認證、保密性和反重放服務的協定。安全關聯(Security Association, SA)是IPsec的基礎。AH和ESP都使用了SA。SA是傳送方與接收方之間的一個簡單連線,為其中進行的數據流量提供安全服務。本章還介紹了OAKLEY密鑰確認協定和ISAKMP。

第8章討論了安全套接字層協定版本3(Secure Socket Layer version 3, SSLv3)和傳輸層安全協定版本1(Transport Layer Security version 1, TLSv1)。TLSv1協定本身是基於SSLv3協定的。很多與算法有關的數據結構和規則都非常類似,因此TLSv1和SSLv3之間的差別不大。TLSv1協定為網際網路上的通信雙方提供通信保密與數據完整。這兩種協定都允許客戶/伺服器應用程式以這樣一種方式進行通信: 防止偷聽、篡改或訊息偽造。SSL或TLS協定由兩層組成: 記錄協定與握手協定。記錄協定攜帶要傳遞的高層套用訊息,把數據分割成易管理的分組,還可以壓縮數據,套用MAC,進行加密,添加頭部,並把結果傳遞給TCP。被接收的數據經解密後給更高級的客戶。握手協定是在記錄層之上進行操作的,是SSL或TLS最重要的部分。握手協定由客戶與伺服器交換的訊息系列組成。該協定在伺服器與客戶之間提供了三種服務。握手協定允許客戶/伺服器達成一個協定版本,通過組成一個MAC來進行相互認證,在傳遞應用程式協定或接收數據的第一個位元組之前,協商一個加密算法和密鑰,用於保護以SSL記錄形式傳送的數據。受密鑰保護的哈希訊息認證碼(hashing message authentication code, HMAC)是一些受保護數據的安全摘要。沒有MAC秘密的知識,無法偽造HMAC。HMAC可以與多種不同的哈希算法一起使用: MD5和SHA1,這可以表示為HMACMD5 (secret, data)和SHA1 (secret, data)。SSLv3方案與TLS MAC方案有兩個不同: TSL使用的是定義在RFC 2104中的HMAC算法,TLS的主秘密計算也與SSLv3的不同。

第9章介紹了Email的安全性。由Philip Zimmermann發明的Pretty Good Privacy (PGP),在全球計算機社區的多種平台上,被廣泛地用在了個人和商業版本中。PGP組合使用了對稱密鑰和非對稱公鑰加密,為Email和數據檔案提供安全服務。PGP使用數字簽名、加密、壓縮(ZIP)和radix64轉換(ASCII Armor)為訊息和數據檔案提供數據完整性服務。隨著人們對Email和檔案存儲依賴的不斷加深,認證和保密服務變得越來越重要了。多用途網際網路郵件擴展(Multipurpose Internet Mail Extension, MIME)是RFC 822框架的擴展,它定義了使用Email傳送文本訊息的格式。MIME真正的目的是解決使用SMTP的某些問題和限制。S/MIME提高了MIME網際網路Email格式標準的安全,它基於來自RSA數據安全的技術。儘管PGP和S/MIME走的都是IETF標準之路,但看起來PGP為很多用戶保持了對個人Email安全性的選擇,而S/MIME是作為商業和企業使用的工業標準出現的。PGP和S/MIME方案都在本章進行了介紹。

第10章討論了防火牆主題。防火牆是一種用於防止內部系統免受網際網路安全威脅的有效方法。防火牆是一個安全的網關,它控制了在公用網際網路與專用內部網(或企業網)之間的訪問。防火牆是一種代理,它以某種方式監視網路流量,阻止它認為是不恰當或危險的流量。在現實中,網際網路訪問為單個用戶、政府機關和大多數組織帶來了好處。但這種訪問也產生了安全威脅。在雙向處理SMTP和HTTP連線中,防火牆起到了一個中間伺服器的作用。防火牆還要求使用訪問協商和諸如SOCKS之類的封裝協定,以獲得對網際網路和內部網的訪問。很多防火牆支持三重宿主,允許使用DMZ網路。要設計和配置防火牆,需要熟悉堡壘主機(bastion host)代理伺服器、SOCKS、節流點(choke point)、DMZ、日誌與警告、VPN等。防火牆可以劃分為三大類: 包過濾器、電路層網關和應用程式網關。本章將依次介紹每種防火牆。最後,本章將介紹遮擋式主機(screened host)防火牆以及如何實現防火牆策略。要實現一定級別的安全,可以考慮三種基本的防火牆設計: 單宿主堡壘主機(singlehomed bastion host)、雙宿主堡壘主機(dualhomed bastion host)和遮擋式子網防火牆。

第11章介紹了用於保護網際網路信用卡事務處理的SET協定。近年來電子商務的快速發展,為消費者、零售商和金融機構提供了巨大的機會。SET協定依靠密碼和X.509 v3數字證書來確保訊息保密、支付完整性和身份認證。使用SET協定,通過保證支付信息是安全的,只能被既定的接收者訪問,保護了消費者和經銷商。SET協定通過確保信息在任何時候都是經安全加密的,使用數字簽名驗證那些訪問支付信息的人的身份,防止傳輸信息在傳送時被修改。SET是唯一的網際網路事務處理協定,通過認證來提供安全性。訊息數據使用隨機對稱密鑰進行加密,而該隨機對稱密鑰又使用接收者的公鑰進行了加密。已加密訊息與數字信封一起傳送到接收者。接收者用私鑰把數字信封解密,然後使用對稱密鑰還原原始訊息。SET協定通過使用數字簽名和數字證書驗證信用卡持卡人與經銷商之間的金融關係,解決了網際網路購物的匿名問題。本章還全面地探討了如何確保網際網路的安全信用卡事務處理。

本書適用於高年級本科生或研究生一或兩學期課程的教材。作為一本參考書,對計算機工程師、通信工程師和系統工程師都是很有用的。它還適用於自學。本書可以被學術和專業人士使用,還可以作為企業和研究機構的培訓使用。在本書的最後,有一個常用的縮寫語列表和參考書目。

圖書目錄

第1章互連網路與分層模型

1.1網路技術

1.1.1區域網路

1.1.2廣域網

1.2連線設備

1.2.1交換機

1.2.2中繼器

1.2.3網橋

1.2.4路由器

1.2.5網關

1.3OSI模型

1.4TCP/IP模型

1.4.1網路訪問層

1.4.2網際層

1.4.3傳輸層

1.4.4套用層

第2章TCP/IP協定族與網際網路棧協定

2.1網路層協定

2.1.1網際層協定

2.1.2地址解析協定(ARP)

2.1.3反向地址解析協定(RARP)

2.1.4無類別域間路由(CIDR)

2.1.5IP版本6 (IPv6或IPng)

2.1.6網際網路控制信息協定(ICMP)

2.1.7網際網路組管理協定(IGMP)

2.2傳輸層協定

2.2.1傳輸控制協定(TCP)

2.2.2用戶數據報協定(UDP)

2.3全球資訊網

2.3.1超文本傳輸協定(HTTP)

2.3.2超文本置標語言(HTML)

2.3.3通用網關接口(CGI)

2.3.4Java語言

2.4檔案傳輸

2.4.1檔案傳輸協定(FTP)

2.4.2簡單檔案傳輸協定(TFTP)

2.4.3網路檔案系統(NFS)

2.5電子郵件

2.5.1簡單郵件傳輸協定(SMTP)

2.5.2POP3協定

2.5.3網際網路訊息訪問協定(IMAP)

2.5.4多用途網際郵件擴充協定(MIME)

2.6網路管理服務

2.6.1簡單網路管理協定(SNMP)

2.7IP位址轉換

2.7.1域名系統

2.8路由協定

2.8.1路由信息協定(RIP)

2.8.2開放式最短路徑優先(OSPF)

2.8.3邊界網關協定(BGP)

2.9遠程系統程式

2.9.1TELNET

2.9.2遠程登錄(Rlogin)

第3章對稱分組密碼

3.1數據加密標準(DES)

3.1.1算法描述

3.1.2密鑰表

3.1.3DES加密

3.1.4DES解密

3.1.5三重DES

3.1.6使用初始向量的DESCBC密碼算法

3.2國際數據加密算法(IDEA)

3.2.1子密鑰生成和分配

3.2.2IDEA加密

3.2.3IDEA解密

3.3RC5算法

3.3.1RC5描述

3.3.2密鑰擴展

3.3.3加密

3.3.4解密

3.4RC6算法

3.4.1RC6描述

3.4.2密鑰表

3.4.3加密

3.4.4解密

3.5AES (Rijndael)算法

3.5.1符號約定

3.5.2數學運算

3.5.3AES算法規範

第4章訊息摘要、散列函式與訊息認證碼

4.1DMDC算法

4.1.1密鑰表

4.1.2訊息摘要的計算

4.2高級DMDC算法

4.2.1密鑰表

4.2.2訊息摘要計算

4.3MD5訊息摘要算法

4.3.1添加填充位

4.3.2添加長度

4.3.3初始化MD緩衝區

4.3.4定義四個輔助函式

4.3.5用於第1、2、3、4輪的FF、GG、HH和II的變換

4.3.6四輪計算(64步)

4.4安全散列算法(SHA1)

4.4.1訊息填充

4.4.2初始化160位緩衝區

4.4.3使用的函式

4.4.4所用常量

4.4.5計算訊息摘要

4.5散列訊息認證碼(HMAC)

第5章非對稱公鑰密碼系統

5.1DiffieHellman指數密鑰交換

5.2RSA公鑰密碼體制

5.2.1RSA加密算法

5.2.2RSA簽名方案

5.3ElGamal公鑰加密系統

5.3.1ElGamal加密

5.3.2ElGamal簽名

5.3.3ElGamal認證模式

5.4Schnorr公鑰密碼體制

5.4.1Schnorr認證算法

5.4.2Schnorr簽名算法

5.5數字簽名算法

5.6橢圓曲線密碼系統

5.6.1橢圓曲線

5.6.2套用到ElGamal算法中的橢圓曲線密碼系統

5.6.3橢圓曲線數字簽名算法

5.6.4ECDSA簽名計算

第6章公鑰基礎設施

6.1用於標準的網際網路出版物

6.2數字簽名技術

6.3PKI實體的功能角色

6.3.1政策審批機構

6.3.2政策證書機構

6.3.3認證中心

6.3.4組織註冊機構

6.4PKI運行的關鍵元素

6.4.1分層樹形結構

6.4.2政策制定機構

6.4.3交叉證書

6.4.4X.500區分名稱

6.4.5保護密鑰生成和分發的安全

6.5X.509證書格式

6.5.1X.509 v1證書格式

6.5.2X.509 v2證書格式

6.5.3X.509 v3證書格式

6.6證書回收列表

6.6.1CRL欄位

6.6.2CRL擴展

6.6.3CRL登記項擴展

6.7證書路徑驗證

6.7.1基本路徑驗證

6.7.2擴展路徑驗證

第7章網路層安全

7.1IPsec協定

7.1.1IPsec協定文檔

7.1.2安全關聯

7.1.3散列訊息認證碼

7.2IP認證頭部

7.2.1AH格式

7.2.2AH的位置

7.3IP ESP

7.3.1ESP數據包格式

7.3.2ESP頭部的位置

7.3.3加密和認證算法

7.4用於IPsec的密鑰管理

7.4.1OAKLEY密鑰確定協定

7.4.2ISAKMP

第8章傳輸層安全: SSLv3與TLSv1

8.1SSL協定

8.1.1會話和連線狀態

8.1.2SSL記錄協定

8.1.3SSL更換密碼規範協定

8.1.4SSL報警協定

8.1.5SSL握手協定

8.2密碼計算

8.2.1計算主秘密

8.2.2將主秘密轉換為密碼參數

8.3TLS協定

8.3.1HMAC算法

8.3.2偽隨機數函式

8.3.3錯誤報警

8.3.4證書驗證訊息

8.3.5已完成訊息

8.3.6密碼計算(用於TLS)

第9章電子郵件安全: PGP與S/MIME

9.1PGP

9.1.1通過加密獲得機密性

9.1.2通過數字簽名的認證

9.1.3壓縮

9.1.4Radix64變換

9.1.5數據包頭部

9.1.6PGP數據包結構

9.1.7密鑰材料數據包

9.1.8PGP 5.x算法

9.2S/MIME

9.2.1MIME

9.2.2S/MIME

9.2.3S/MIME的增強安全服務

第10章可信系統上的網際網路防火牆

10.1防火牆的角色

10.2與防火牆相關的技術

10.2.1堡壘主機

10.2.2代理伺服器

10.2.3SOCKS

10.2.4阻塞點

10.2.5非軍事區(DMZ)

10.2.6日誌記錄與報警

10.2.7VPN

10.3防火牆類型

10.3.1包過濾

10.3.2電路層網關

10.3.3套用層網關

10.4防火牆設計

10.4.1禁止主機防火牆(單宿主堡壘主機)

10.4.2禁止主機防火牆(雙宿主堡壘主機)

10.4.3禁止子網防火牆

第11章用於電子商務交易的SET

11.1對SET的商務需求

11.2SET系統的參與者

11.3密碼操作原理

11.4雙簽名和簽名驗證

11.5認證與訊息完整性

11.6支付處理

11.6.1持卡人註冊

11.6.2特約商戶註冊

11.6.3購買請求

11.6.4支付授權

11.6.5支付清款

附錄縮略語

參考文獻

相關詞條

熱門詞條

聯絡我們