本書系統介紹了密碼編碼學與網絡安全的基本原理和應用技術。全書的內容分為以下七個部分: 對稱密碼部分討論了對稱加密的算法和設計原則; 公鑰密碼部分討論了公鑰密碼的算法和設計原則; 密碼學中的數據完整性算法部分討論了密碼學Hash函數、 消息認證碼和數字簽名; 相互信任部分討論了密鑰管理和用戶認證技術; 網絡安全與Internet安全部分討論了應用密碼算法和安全協議為網絡和Internet提供安全; 系統安全部分討論了保護計算機系統免受各種安全威脅的技術; 法律與道德問題部分討論了與計算機和網絡安全相關的法律與道德問題。本書的第七版與第六版相比, 書的章節組織基本不變, 但增加了許多新內容。如增加了云安全、 新Hash函數標準SHA-3、 真*數產生器、 移動設備安全等新內容。而且許多章節的論述方法也做了調整, 使之更貼近技術實際, 使讀者更易理解。
本書系統介紹了密碼編碼學與網絡安全的基本原理和應用技術,是網絡空間安全領域的基礎教科學。
譯 者 序
隨著信息科學技術的高速發展和廣泛應用,社會實現了信息化,人類社會進入信息時代。人們生活和工作在由物理世界,人類社會和網絡空間組成的三元世界中。網絡空間是信息時代人們賴以生存的信息環境,是所有信息系統的集合。
哪里有信息,那里就存在信息安全問題,信息安全是信息的影子。信息論的基本觀點告訴我們:系統是載體,信息是內涵。網絡空間是人類和信息的生存環境,因此網絡空間安全是人類和信息對網絡空間的基本要求。網絡空間是所有信息系統的集合,是復雜的巨系統。因此,網絡空間存在更加突出的信息安全問題。網絡空間安全的核心內涵仍是信息安全,沒有信息安全就沒有網絡空間安全。
當前,一方面是信息技術與產業的空前繁榮,另一方面是危害信息安全的事件不斷發生。敵對勢力的破壞、黑客攻擊、利用計算機犯罪、網上有害內容泛濫、隱私泄露等,對信息安全構成了極大威脅。信息安全的形勢是十分嚴峻的。因此,信息安全成為世人關注的社會問題,并成為信息科學技術領域中的研究熱點。
我國已經成為信息產業大國,但仍不是信息產業強國。實現信息化和確保信息安全是建設中國特色社會主義強國的兩個重要方面。兩者相輔相成,缺一不可。沒有信息化,就沒有國家現代化;沒有信息安全,就沒有國家安全。顯然,只有同時實現信息化并確保信息安全,才能建成中國特色社會主義強國。
把我國建設成信息技術和產業強國,人才是關鍵。人才培養,教育是關鍵。目前,我國許多大專院校都開設了信息安全專業或開設了信息安全課程,迫切需要一本合適的教科書。為此,電子工業出版社組織我們于2015年翻譯出版了《密碼編碼學與網絡安全(第六版)》這本優秀的教科書。這本書翻譯出版后得到廣大讀者的厚愛,許多著名大學都采用它作為教材,為我國信息安全人才培養和傳播信息安全知識發揮了重要作用。
2017年原書作者又出版了該書的第七版。與第六版相比,第七版大體上保持了相同的章節,但修正了許多內容并增加了一些新的內容。最主要的變化包括以下幾個方面:
① 安全設計基本原則:第一章新增了一個小節,討論美國國家信息保障/網絡空間防御專業認證計劃(由美國國家安全局和國土安全部聯合舉辦)所列出的一些安全設計原則。
② 攻擊面和攻擊樹:第一章新增了這兩個概念,有助于安全威脅的評估和歸類。
③ 數論知識:將第六版中所提到的數論知識統一寫成一個獨立的第2章。
④ 有限域:對有限域章節進行了修改和擴展。
⑤ 保留格式加密:第7章新增了一節來討論這種新的加密模式。
⑥ 真隨機數生成器的校正和性能測試:現在第8章包含了這些重要的研究方向。
⑦ 用戶認證模型:第15章給出了一般用戶認證模型的新描述方法。
⑧ 云安全:第16章有關云安全的內容做了更新和擴展。
⑨ 傳輸層安全(TLS):第17章的傳輸層安全相關內容進行了更新,并且增加了新TLS版本1.3的討論。
⑩ 郵件安全:完全重寫了第19章。
其中,新增了以下內容:
? 對郵件的威脅及一種全面保證郵件安全的方法。
? 保障SMTP機密性的新方法STARTTLS。
? DNSSEC在保證郵件安全中所起的作用。
? 基于DNS的命名實體認證(DANE)以及使用這種方法加強SMTP和S/MIME中證書的安全性。
? 發送方策略框架(SPF)。SPF是一種用于認證電子郵件發件人的標準方法。
? 允許發件人自己定義郵件的處理辦法DMARC。
其中,修改了以下內容:
? 有關域名密鑰識別郵件(DKIM)標準的討論。
? 將S/MIME更新至最新的3.2版本。
為了使廣大讀者能夠讀到新版書,電子工業出版社又組織我們翻譯出版了《密碼編碼學與網絡安全(第七版)》。
《密碼編碼學與網絡安全》一書的作者William Stallings先后獲得了Notre Dame電氣工程學士學位和MIT計算機科學博士學位。他累計編寫出版了48本計算機網絡和計算機體系結構領域的書籍,在計算機網絡和計算機體系結構的學術交流和教育方面作出了卓越的貢獻!睹艽a編碼學與網絡安全》就是其中最成功的一本書籍。William Stallings的著作不僅學術造詣很高,而且十分實用,先后13次獲得美國教材和著作家協會(Textbook and Academic Authors Assiciation)頒發的優秀計算機科學教材獎。
本書系統地介紹了密碼學與網絡安全的基本原理和應用技術。全書主要包含以下八個部分。第一部分:概論。主要介紹計算機與網絡安全概念和數論知識。第二部分:對稱密碼。主要介紹古典密碼、數據加密標準(DES)、有限域知識、高級加密標準(AES)、分組密碼工作模式、偽隨機數和流密碼。第三部分:非對稱密碼。介紹了公鑰密碼原理、RSA密碼、ElGamal密碼和橢圓曲線密碼。第四部分:數據完整性算法。介紹了密碼學Hash函數、消息認證碼和數字簽名。第五部分:相互信任,介紹了密鑰管理和用戶認證。第六部分:網絡和Internet安全。討論了網絡訪問控制和云安全、傳輸層安全、無線網絡安全、電子郵件安全和IP安全等內容。第七部分:系統安全。討論了惡意軟件、非法入侵、防火墻技術。第八部分:法律和道德,討論了與計算機和網絡安全相關的法律和道德問題。
為了使中文版讀者能夠讀到原書的完整內容,我們特別翻譯了原書的在線內容(第七部分:系統安全、第八部分:法律和道德、附錄C-Y)。從而給中文讀者提供一本完整的中文《密碼編碼學與網絡安全(第七版)》。
《密碼編碼學與網絡安全(第七版)》一書內容豐富,講述深入淺出,便于理解,尤其適合于課堂教學和自學,是一本難得的好書。本書可作為研究生和高年級本科生的教材,也可供從事信息安全、計算機、通信、電子工程等領域的科技人員參考。
本書的第一部分和附錄由李莉翻譯。第二部分章由唐明翻譯。第三部分和前言由王后珍翻譯。第四部分由王張宜翻譯。第五部分由陳晶翻譯。第六部分由杜瑞穎翻譯。第七和第八部分由彭國軍翻譯。
全書由張煥國統稿和校審。
研究生劉金會、劉鰲、汪鵬程、陳施旅、羅華、郭崎、文皓冬、熊璐、胡岸琪、于慧、陳震杭參與了翻譯和譯稿整理工作。
由于譯者的專業知識和外語水平有限,書中錯誤在所難免,敬請讀者指正,譯者在此先致感謝之意。
譯者于武漢大學珞珈山
2017年6月
William Stallings:美國圣母大學電子工程學士,麻省理工學院計算機科學博士,《密碼術》期刊編委。美國多家高科技公司執行總監,政府機構、計算機軟/硬件供應商顧問;曾為各種計算機和操作系統設計并實現TCP/IP和OSI協議套件;創建并維護了計算機科學專業學生資源網站ComputerScienceStudent.com。出版圖書17種,內容涉及計算機安全、計算機網絡和計算機系統結構等;在《IEEE進展》《ACM計算評論》和《密碼術》等雜志上發表文章多篇;先后12次獲美國年度最佳計算機科學教科書獎和學術作者協會獎。
王后珍,武漢大學計算機學院教授,博士生導師,長期從事計算機安全、計算機網絡和計算機系統結構等的研究與教學,發表文章多篇,出版圖書多部。
目 錄
第一部分 概 覽
第1章 計算機與網絡安全概念2
1.1 計算機安全的概念3
1.2 OSI安全架構5
1.3 安全攻擊6
1.4 安全服務7
1.5 安全機制9
1.6 基本安全設計準則10
1.7 攻擊面與攻擊樹12
1.8 網絡安全模型15
1.9 標準16
1.10 關鍵術語、思考題和習題17
第2章 數論基礎19
2.1 整除性和帶余除法19
2.2 歐幾里得算法21
2.3 模運算23
2.4 素數30
2.5 費馬定理和歐拉定理31
2.6 素性測試34
2.7 中國剩余定理36
2.8 離散對數38
2.9 關鍵術語、思考題和習題42
附錄2A mod的含義45
第二部分 對 稱 密 碼
第3章 傳統加密技術48
3.1 對稱密碼模型48
3.2 代替技術52
3.3 置換技術63
3.4 轉輪機64
3.5 隱寫術65
3.6 關鍵術語,思考題和習題66
第4章 分組密碼和數據加密標準71
4.1 傳統分組密碼結構71
4.2 數據加密標準78
4.3 DES的一個例子80
4.4 DES的強度81
4.5 分組密碼的設計原理83
4.6 關鍵術語、思考題、習題84
第5章 有限域87
5.1 群87
5.2 環89
5.3 域89
5.4 有限域GF(p)90
5.5 多項式運算93
5.6 有限域GF(2n)98
5.7 關鍵術語、思考題和習題105
第6章 高級加密標準108
6.1 有限域算術108
6.2 AES的結構109
6.3 AES的變換函數114
6.4 AES的密鑰擴展122
6.5 一個AES例子124
6.6 AES的實現128
6.7 關鍵術語、思考題和習題131
附錄6A 系數在GF(28)中的多項式133
第7章 分組加密的工作模式136
7.1 多重加密與三重DES136
7.2 電碼本模式140
7.3 密文分組鏈接模式141
7.4 密文反饋模式143
7.5 輸出反饋模式145
7.6 計數器模式146
7.7 用于面向分組的存儲設備的XTS-AES模式149
7.8 格式保持加密153
7.9 關鍵術語,思考題和習題164
第8章 偽隨機數的產生和流密碼168
8.1 隨機數產生的原則169
8.2 偽隨機數發生器172
8.3 使用分組密碼的偽隨機數產生174
8.4 流密碼179
8.5 RC4算法180
8.6 真隨機數發生器182
8.7 關鍵術語,思考題和習題188
第三部分 公鑰密碼
第9章 公鑰密碼學與RSA192
9.1 公鑰密碼體制的基本原理193
9.2 RSA算法199
9.3 關鍵術語、思考題和習題209
第10章 密鑰管理和其他公鑰密碼體制214
10.1 Diffie-Hellman密鑰交換214
10.2 EIGamal密碼體制217
10.3 橢圓曲線算術220
10.4 橢圓曲線密碼學226
10.5 基于非對稱密碼的偽隨機數生成器228
10.6 關鍵術語、思考題和習題230
第四部分 密碼學中的數據 完整性算法
第11章 密碼學Hash函數234
11.1 密碼學Hash函數的應用235
11.2 兩個簡單的Hash函數238
11.3 需求和安全性240
11.4 基于分組密碼鏈接的Hash函數244
11.5 安全Hash算法245
11.6 SHA-3252
11.7 關鍵術語、思考題和習題260
第12章 消息認證碼264
12.1 對消息認證的要求264
12.2 消息認證函數265
12.3 對消息認證碼的要求270
12.4 MAC的安全性271
12.5 基于HASH函數的MAC:HMAC272
12.6 基于分組密碼的MAC:DAA和CMAC275
12.7 認證加密:CCM和GCM277
12.8 密鑰封裝282
12.9 使用Hash函數和MAC的偽隨機數發生器286
12.10 關鍵術語、思考題和習題288
第13章 數字簽名290
13.1 數字簽名290
13.2 ELGAMAL數字簽名方案293
13.3 SCHNORR數字簽名方案294
13.4 數字簽名標準295
13.5 橢圓曲線數字簽名算法297
13.6 RSA-PSS數字簽名算法300
13.7 術語、思考題和習題303
第五部分 相互信任306
第14章 密鑰管理和分發307
14.1 基于對稱加密的對稱密鑰分發307
14.2 基于非對稱加密的對稱密鑰分發313
14.3 公鑰分發316
14.4 X.509證書319
14.5 公鑰基礎設施324
14.6 關鍵術語、思考題和習題326
第15章 用戶認證330
15.1 遠程用戶認證原理330
15.2 基于對稱加密的遠程用戶認證333
15.3 KERBEROS335
15.4 基于非對稱加密的遠程用戶認證347
15.5 聯合身份管理349
15.6 個人身份驗證353
15.7 關鍵術語、思考題和習題357
第六部分 網絡與INTERNET安全
第16章 網絡訪問控制和云安全361
16.1 網絡訪問控制361
16.2 可擴展認證協議363
16.3 IEEE 802.1X基于端口的網絡訪問控制365
16.4 云計算368
16.5 云安全所面臨的威脅和對策371
16.6 云中的數據保護372
16.7 云安全即服務375
16.8 云計算安全問題應對377
16.9 關鍵術語、思考題和習題377
第17章 傳輸層安全379
17.1 WEB安全性思考379
17.2 傳輸層安全380
17.3 HTTPS392
17.4 SSH393
17.5 關鍵術語、思考題和習題401
第18章 無線網絡安全403
18.1 無線安全403
18.2 移動設備安全405
18.3 IEEE 802.11無線網絡概述408
18.4 IEEE 802.11I無線局域網安全412
18.5 關鍵術語,思考題和習題422
第19章 電子郵件安全424
19.1 因特網郵件結構424
19.2 郵件格式427
19.3 電子郵件威脅及綜合安全432
19.4 S/MIME434
19.5 PGP442
19.6 DNSSEC442
19.7 基于DNS的命名實體身份認證445
19.8 發送方策略框架447
19.9 DKIM449
19.10 基于域的消息認證、報告和一致性協議452
19.11 關鍵術語,思考題和習題456
第20章 IP安全性458
20.1 IP安全性概述458
20.2 IP安全性策略462
20.3 封裝安全性有效載荷465
20.4 結合安全性關聯470
20.5 因特網密鑰交換471
20.6 密碼學套件477
20.7 關鍵術語、思考題和習題478
附錄A 用于密碼學和網絡安全教學的項目480
附錄B SAGE示例485
參考文獻518