網絡安全:公眾世界中的秘密通信(原書第3版) Network Security: Private Communication in a Public World

[美]查理·考夫曼 拉迪亞·珀爾曼 邁克·斯派西納 雷·珀爾納 著 高志強 劉志騁 周迪 陳明媚 譯

  • 網絡安全:公眾世界中的秘密通信(原書第3版)-preview-1
  • 網絡安全:公眾世界中的秘密通信(原書第3版)-preview-2
  • 網絡安全:公眾世界中的秘密通信(原書第3版)-preview-3
網絡安全:公眾世界中的秘密通信(原書第3版)-preview-1

商品描述

本書內容包括網絡安全協議和密碼學基礎知識、密鑰和哈希算法(AES、DES、SHA-1、SHA-2、SHA-3)的設計考慮因素和技術、第一代公鑰算法(RSA, Diffie-Hellman, ECC)、量子電腦是如何工作的以及為什麽它們會威脅第一代公鑰算法、量子安全公鑰算法的構造,以及如何優化使它們實用、人的多因素認證、實時通信(SSL/TLS, SSH, IPsec)、網絡安全領域新的應用(電子貨幣,區塊鏈)、新的密碼技術(同態加密,安全多方計算)。本書的讀者群體廣泛,包括從那些設計和評估安全系統的人,到系統管理員和程序員誰想更好地理解這一重要領域。它也可以用作研究生或高等本科水平的教科書。

目錄大綱

目錄

 

 

 

第1章引言1

1.1觀點和產品聲明2

1.2本書路線圖2

1.3術語說明3

1.4符號標記5

1.5受密碼保護的會話5

1.6主動攻擊和被動攻擊5

1.7法律問題6

1.7.1專利6

1.7.2政府法規7

1.8網絡基礎知識7

1.8.1網絡層7

1.8.2TCP和UDP埠8

1.8.3域名系統9

1.8.4HTTP和URL9

1.8.5網絡cookie10

1.9人類的名稱標識10

1.10認證和授權11

1.10.1訪問控制列表

(ACL)11

1.10.2集中式管理/能力11

1.10.3組11

1.10.4跨組織的組和嵌

套的組12

1.10.5角色13

1.11惡意軟件: 病毒、蠕蟲、

木馬14

1.11.1惡意軟件從何

而來15

1.11.2病毒檢測器16

1.12安全網關16

1.12.1防火牆17

1.12.2應用級網關/代理18

1.12.3安全隧道19

1.12.4為什麽防火牆不起

作用19

1.13拒絕服務(DoS)攻擊20

1.14網絡地址轉換(NAT)21

1.15總結22第2章密碼學導論23

2.1引言23

2.1.1密碼學的基本原則23

2.1.2密鑰23

2.1.3計算復雜性24

2.1.4公佈,還是不公佈25

2.1.5早期的加密25

2.1.6一次性密碼本26

2.2私鑰密碼27

2.2.1基於不安全通道的

傳輸27

2.2.2不安全介質上的

安全存儲27

2.2.3認證27

2.2.4完整性檢驗28

2.3公鑰密碼29

2.3.1基於不安全通道的

傳輸30

2.3.2不安全介質上的

安全存儲30

2.3.3認證31

2.3.4數字簽名31

2.4哈希算法32

2.4.1口令哈希32

2.4.2消息完整性32

2.4.3消息指紋33

2.4.4高效數字簽名33

2.5破解加密方案33

2.5.1僅密文攻擊33

2.5.2已知明文攻擊34

2.5.3選擇明文攻擊35

2.5.4選擇密文攻擊35

2.5.5側通道攻擊36

2.6隨機數36

2.6.1收集熵37

2.6.2生成隨機種子37

2.6.3根據種子計算偽隨

機數流37

2.6.4定期重新生成種子38

2.6.5隨機數的類型38

2.6.6值得註意的錯誤39

2.7數論39

2.7.1有限域40

2.7.2冪41

2.7.3避免側通道攻擊41

2.7.4密碼學所使用元素

的類型42

2.7.5歐幾里得算法42

2.7.6中國剩餘定理43

2.8作業題44第3章私鑰密碼46

3.1引言46

3.2分組密碼的一般問題46

3.2.1分組大小、密鑰大小46

3.2.2完全通用映射46

3.2.3看似隨機47

3.3構建實用的分組密碼48

3.3.1每輪的密鑰48

3.3.2S盒和比特置換48

3.3.3Feistel加密49

3.4選擇常量50

3.5數據加密標準(DES)50

3.5.1DES概述51

3.5.2mangler函數51

3.5.3不想要的對稱性52

3.5.4DES的特別之處53

3.6多重加密DES53

3.6.1進行加密的次數54

3.6.2為什麽是EDE而不

是EEE56

3.7高級加密標準(AES)56

3.7.1高級加密標準的

起源56

3.7.2總覽57

3.7.3AES概述58

3.7.4密鑰擴展60

3.7.5反向輪次60

3.7.6AES的軟件實現60

3.8RC461

3.9作業題62第4章操作模式63

4.1引言63

4.2加密大消息63

4.2.1電子密碼本64

4.2.2密碼分組鏈接65

4.2.3計數器模式67

4.2.4XOR加密XOR68

4.2.5帶有密文竊取的

XEX70

4.3生成MAC71

4.3.1CBCMAC71

4.3.2CMAC72

4.3.3GMAC73

4.4共同確保隱私性和完整性74

4.4.1帶CBCMAC的計

數器74

4.4.2Galois/計數器模式75

4.5性能問題76

4.6作業題76第5章加密哈希78

5.1引言78

5.2生日問題80

5.3哈希函數簡史80

5.4哈希表的妙用82

5.4.1數字簽名82

5.4.2口令數據庫82

5.4.3較大數據塊的安全

摘要83

5.4.4哈希鏈83

5.4.5區塊鏈83

5.4.6難題83

5.4.7比特承諾84

5.4.8哈希樹84

5.4.9認證84

5.4.10用哈希計算MAC85

5.4.11HMAC86

5.4.12用密鑰和哈希算法

加密88

5.5用分組密碼創建哈希88

5.6哈希函數的構造89

5.6.1MD4、MD5、SHA1

和SHA2的構造89

5.6.2SHA3的構造91

5.7填充92

5.7.1MD4、MD5、SHA1和

SHA2256消息填充92

5.7.2SHA3填充規則94

5.8內部的加密算法94

5.8.1SHA1內部的加密

算法94

5.8.2SHA2內部的加密

算法95

5.9SHA3的f函數96

5.10作業題98第6章第一代公鑰算法100

6.1引言100

6.2模運算100

6.2.1模加法100

6.2.2模乘法101

6.2.3模冪運算102

6.2.4費馬定理和歐拉

定理103

6.3RSA103

6.3.1RSA算法103

6.3.2為什麽RSA有效104

6.3.3為什麽RSA安全104

6.3.4RSA操作的效率105

6.3.5神秘的RSA威脅110

6.3.6公鑰密碼標準112

6.4DiffieHellman114

6.4.1MITM(中間人)

攻擊115

6.4.2防禦MITM攻擊115

6.4.3安全素數和小亞群

攻擊116

6.4.4ElGamal簽名118

6.5數字簽名算法DSA119

6.5.1DSA算法119

6.5.2這樣為什麽安全120

6.5.3每個消息的秘密數120

6.6RSA和DiffieHellman的

安全性121

6.7橢圓曲線密碼122

6.7.1橢圓曲線Diffie

Hellman123

6.7.2橢圓曲線數字簽名

算法124

6.8作業題124第7章量子計算126

7.1什麽是量子電腦126

7.1.1結論預覽126

7.1.2什麽是經典電腦127

7.1.3量子比特和疊加態128

7.1.4作為向量和矩陣的

量子態和門130

7.1.5疊加和糾纏131

7.1.6線性132

7.1.7糾纏量子比特的

操作133

7.1.8幺正性133

7.1.9通過測量進行不可

逆操作134

7.1.10讓不可逆經典操作

可逆134

7.1.11通用門集合134

7.2Grover算法136

7.2.1幾何描述137

7.2.2如何翻轉狀態|k〉的

概率幅138

7.2.3如何以均值為軸翻轉

所有狀態的概率幅139

7.2.4並行化Grover

算法140

7.3Shor算法141

7.3.1為什麽指數模n是

周期函數141

7.3.2如何找到ax mod n的周

期以便分解整數n141

7.3.3Shor算法概述142

7.3.4引言——轉換為頻

率圖144

7.3.5轉換為頻率圖的

機制144

7.3.6計算周期146

7.3.7量子傅里葉變換147

7.4量子密鑰分發148

7.4.1為什麽有時稱為量

子加密149

7.4.2量子密鑰分發是否

重要149

7.5建造量子電腦有多難150

7.6量子糾錯151

7.7作業題153第8章後量子密碼155

8.1簽名和/或加密方案156

8.1.1NIST安全等級

標準156

8.1.2身份驗證156

8.1.3不誠實密文的防禦157

8.2基於哈希的簽名158

8.2.1最簡單的方案——單

比特簽名158

8.2.2任意大小消息的

簽名158

8.2.3大量消息的簽名159

8.2.4確定性樹生成161

8.2.5短哈希161

8.2.6哈希鏈162

8.2.7標準化方案163

8.3基於格的密碼165

8.3.1格問題165

8.3.2優化: 具有結構的

矩陣166

8.3.3格加密方案的NTRU

加密系列167

8.3.4基於格的簽名170

8.3.5帶誤差學習171

8.4基於編碼的方案174

8.4.1非加密糾錯碼175

8.4.2奇偶校驗矩陣178

8.4.3基於編碼的加密公鑰

方案178

8.5多變量密碼182

8.5.1求解線性方程組182

8.5.2二次多項式183

8.5.3多項式系統183

8.5.4多變量簽名系統183

8.6作業題185第9章人類身份認證188

9.1基於口令的身份認證189

9.1.1基於口令的挑戰

響應190

9.1.2驗證口令190

9.2基於地址的身份認證191

9.3生物特徵識別192

9.4加密身份認證協議192

9.5誰正在被認證193

9.6用口令作為密鑰193

9.7在線口令猜測193

9.8離線口令猜測196

9.9在多個地方使用相同口令196

9.10需要頻繁更改口令197

9.11誘騙用戶泄露口令197

9.12Lamport哈希198

9.13口令管理器199

9.14網絡cookie200

9.15身份提供商201

9.16身份認證令牌201

9.16.1斷開連接的令牌202

9.16.2公鑰令牌203

9.17強口令協議205

9.17.1精妙的細節206

9.17.2增強型強口令

協議207

9.17.3安全遠程口令

協議207

9.18憑證下載協議208

9.19作業題209第10章可信中間人211

10.1引言211

10.2功能比較211

10.3Kerberos212

10.3.1KDC向Bob介

紹Alice212

10.3.2Alice聯系Bob213

10.3.3票證授權票證214

10.3.4域間認證215

10.3.5使口令猜測攻擊

變得困難216

10.3.6雙TGT協議216

10.3.7授權信息217

10.3.8授權217

10.4PKI217

10.4.1一些術語218

10.4.2證書中的名稱218

10.5網站獲得域名和證書219

10.6PKI信任模型220

10.6.1壟斷模型220

10.6.2壟斷加註冊機構220

10.6.3授權CA221

10.6.4寡頭221

10.6.5無政府狀態模型222

10.6.6名稱約束222

10.6.7自上而下的名稱約

束模型223

10.6.8任意命名空間節點

的多個CA223

10.6.9自下而上的名稱

約束223

10.6.10PKIX證書中的

名稱約束225

10.7構建證書鏈226

10.8證書撤銷226

10.8.1證書撤銷列表227

10.8.2在線證書狀態

協議227

10.8.3好列表與壞列表228

10.9PKIX證書中的其他信息229

10.10過期證書問題229

10.11DNS安全擴展230

10.12作業題231第11章通信會話建立233

11.1Alice的單向身份認證233

11.1.1時間戳與挑戰235

11.1.2用公鑰的Alice

單向認證236

11.2相互認證238

11.2.1反射攻擊238

11.2.2相互認證的時

間戳239

11.3數據的完整性/加密240

11.3.1基於共享秘密憑證的

會話密鑰240

11.3.2基於公鑰憑證的

會話密鑰241

11.3.3基於一方公鑰的

會話密鑰242

11.4nonce類型242

11.5蓄意的MITM244

11.6檢測MITM244

11.7層是什麽245

11.8完美正向保密247

11.9防止偽造源地址248

11.9.1使Bob在TCP中

是無狀態的249

11.9.2使Bob在IPSec中

是無狀態的249

11.10端點標識符隱藏250

11.11現場夥伴保證251

11.12並行計算的安排252

11.13會話恢復/多重會話252

11.14可否認性254

11.15協商加密參數254

11.15.1套件與單點254

11.15.2降級攻擊255

11.16作業題255第12章IPSec協議258

12.1IPSec安全關聯258

12.1.1安全關聯數據庫259

12.1.2安全策略數據庫259

12.1.3IKESA和

子SA259

12.2因特網密鑰交換協議260

12.3創建子SA262

12.4AH和ESP262

12.4.1ESP完整性保護263

12.4.2為什麽要保護IP

報頭263

12.4.3隧道、傳輸方式264

12.4.4IPv4報頭265

12.4.5IPv6報頭266

12.5AH267

12.6ESP267

12.7編碼的比較269

12.8作業題269第13章SSL/TLS和SSH協議270

13.1使用TCP270

13.2StartTLS270

13.3TLS握手的功能271

13.4TLS 1.2及更早的基本

協議271

13.5TLS 1.3273

13.6會話恢復273

13.7TLS部署的PKI274

13.8安全Shell(SSH)275

13.8.1SSH認證276

13.8.2SSH埠轉發277

13.9作業題277第14章電子郵件安全278

14.1分發列表279

14.2存儲和轉發280

14.3將二進制文件偽裝成

文本281

14.4HTML格式的電子郵件282

14.5附件282

14.6垃圾郵件防禦283

14.7郵件中的惡意鏈接284

14.8數據丟失防護284

14.9知道Bob的郵件地址285

14.10自毀,不轉發,…285

14.11防止FROM字段的

欺騙285

14.12傳輸中加密286

14.13端到端簽名和加密郵件286

14.14服務器加密287

14.15消息完整性288

14.16不可否認性289

14.17合理否認289

14.18消息流機密性290

14.19匿名291

14.20作業題292第15章電子貨幣293

15.1eCash293

15.2離線eCash294

15.3比特幣296

15.3.1交易297

15.3.2比特幣地址297

15.3.3區塊鏈298

15.3.4賬本298

15.3.5挖礦299

15.3.6區塊鏈分叉300

15.3.7為什麽比特幣如

此耗能301

15.3.8完整性檢查: 工作量

證明與數字簽名301

15.3.9一些問題301

15.4電子貨幣錢包302

15.5作業題302第16章密碼學技巧304

16.1秘密共享304

16.2盲簽名305

16.3盲解密305

16.4零知識證明306

16.4.1圖同構ZKP306

16.4.2平方根知識的

證明307

16.4.3非交互式ZKP308

16.5群簽名309

16.5.1一些不太重要的

群簽名方案309

16.5.2環簽名310

16.5.3直接匿名證明312

16.5.4增強隱私ID312

16.6電路模型313

16.7安全多方計算313

16.8全同態加密314

16.8.1自舉315

16.8.2易於理解的方案316

16.9作業題317第17章約定俗成318

17.1錯誤理解318

17.2完美正向保密性319

17.3定期更改加密密鑰319

17.4沒有完整性保護就不要

進行加密320

17.5在一個安全會話上多路復

用流320

17.5.1拼接攻擊321

17.5.2服務類別321

17.5.3不同的密碼算法322

17.6使用不同的密鑰322

17.6.1握手的發起方和響

應方322

17.6.2加密和完整性322

17.6.3在安全會話的每個

方向323

17.7使用不同的公鑰323

17.7.1不同目的用不同

密鑰323

17.7.2用不同的密鑰進

行簽名和加密323

17.8建立會話密鑰324

17.8.1讓雙方貢獻主

密鑰324

17.8.2不要只讓一方決

定密鑰324

17.9在進行口令哈希時常量

中的哈希325

17.10使用HMAC而不是簡單

的密鑰哈希325

17.11密鑰推導326

17.12在協議中使用nonce326

17.13產生不可預測的隨機數327

17.14壓縮327

17.15最小設計與冗餘設計327

17.16過高估計密鑰尺寸328

17.17硬件隨機數生成器328

17.18在數據末尾加上校驗和329

17.19前向兼容性329

17.19.1選項329

17.19.2版本號330詞匯表332