《信息安全原理與實(shí)踐》(第3版)經(jīng)過(guò)全面修訂和更新,新增了關(guān)于網(wǎng)絡(luò)安全基礎(chǔ)知識(shí)的章節(jié),并擴(kuò)展介紹了跨站腳本(XSS)攻擊、Stuxnet和其他惡意軟件、SSH協(xié)議、安全軟件開(kāi)發(fā)和安全協(xié)議。書中的新示例說(shuō)明了RSA密碼體系、橢圓曲線加密、SHA-3,以及包括比特幣和區(qū)塊鏈在內(nèi)的散列函數(shù)的應(yīng)用。更新后的習(xí)題、表和圖有助于讀者學(xué)習(xí)經(jīng)典密碼體系、現(xiàn)代對(duì)稱加密、公鑰加密、密碼分析、簡(jiǎn)單認(rèn)證協(xié)議、入侵和惡意軟件檢測(cè)系統(tǒng)、量子計(jì)算等實(shí)用知識(shí)。這本頗受歡迎的教科書涉及的信息安全方法非常實(shí)用: l 涵蓋快速發(fā)展的信息安全領(lǐng)域的**內(nèi)容。 l 解釋會(huì)話密鑰、完全正向保密、時(shí)間戳、SSH、SSL、IPSec、Kerberos、WEP、GSM和其他認(rèn)證協(xié)議。 l 解決訪問(wèn)控制技術(shù),包括認(rèn)證和授權(quán)、ACL,以及多級(jí)安全和隔離項(xiàng)。 l 討論軟件安全問(wèn)題,從惡意軟件檢測(cè)到安全軟件開(kāi)發(fā)。 l 包括教師解決方案手冊(cè)、PowerPoint幻燈片、講座視頻和其他教學(xué)資源。
本書是一本系統(tǒng)指南,在前版基礎(chǔ)上進(jìn)行了最新修訂,將幫助你從容應(yīng)對(duì)當(dāng)今的信息安全挑戰(zhàn)。
《信息安全原理與實(shí)踐》是學(xué)生、教師和信息安全專業(yè)人員的用書。作者M(jìn)ark Stamp以清晰、易懂和嚴(yán)謹(jǐn)?shù)慕虒W(xué)方式講解了有關(guān)信息安全的4個(gè)關(guān)鍵組成部分:加密、訪問(wèn)控制、網(wǎng)絡(luò)安全和軟件。另外,本書列舉豐富的示例,這些示例闡明了復(fù)雜的主題,突出了重要的安全問(wèn)題,演示了保護(hù)數(shù)據(jù)機(jī)密性和完整性的有效方法和策略。
拜托,先生或女士,你不看看我的書嗎?我花了很多年才寫出來(lái)的,你不看一下嗎?
Lennon 和McCartney
我討厭黑盒。我撰寫本書的主要目的在于闡明如今信息安全書籍中流行的一些黑盒。另一方面,我不想用瑣碎的細(xì)節(jié)煩擾你如果這是你想要的,可以去讀RFC。因此,本書經(jīng)常會(huì)忽略那些我認(rèn)為與所要表達(dá)的觀點(diǎn)無(wú)關(guān)的細(xì)節(jié)。你可以判斷我是否在這兩個(gè)相互競(jìng)爭(zhēng)的目標(biāo)之間取得了適當(dāng)?shù)钠胶狻?br />我一直在努力持續(xù)跟進(jìn),以便涵蓋廣泛的主題。本書的目標(biāo)是深入討論每一項(xiàng)內(nèi)容,以便你能夠理解安全問(wèn)題,同時(shí)不會(huì)在細(xì)節(jié)上陷入太多的困境。我還試圖定期強(qiáng)調(diào)和重申要點(diǎn),這樣就不會(huì)錯(cuò)過(guò)關(guān)鍵信息。
撰寫本書的另一個(gè)目標(biāo)是以生動(dòng)有趣的方式呈現(xiàn)主題。如果有任何計(jì)算主題令人興奮和富有趣味,那就是信息安全。
我也試圖在本書中插入一點(diǎn)幽默。人們說(shuō)幽默源于痛苦,從笑話的質(zhì)量來(lái)看,可以說(shuō)我的生活絕對(duì)是有魔力的。無(wú)論如何,大多數(shù)糟糕的笑話都會(huì)在腳注中出現(xiàn),所以它們不會(huì)太分散你的注意力。
一些安全教科書提供了大量枯燥的理論。閱讀它們就像閱讀微積分教科書一樣令人興奮。其他書籍提供了一些看似隨機(jī)的、不相關(guān)的事實(shí),給人的印象是安全根本不是一個(gè)真正連貫的主題。還有一些書籍把這個(gè)主題描述成一堆高級(jí)的管理性陳詞濫調(diào)。最后,一些書側(cè)重于安全中人的因素。雖然所有這些方法都有它們的作用,但我的看法是,首先,安全工程師必須完全理解底層技術(shù)的固有優(yōu)勢(shì)和弱點(diǎn)。
信息安全是一個(gè)巨大的主題,與其他更成熟的領(lǐng)域不同,這類書應(yīng)該包括什么內(nèi)容,或者如何以最佳方式組織它,作者并不完全清楚。我選擇圍繞以下四個(gè)主題來(lái)組織本書:
?? 加密技術(shù)
?? 訪問(wèn)控制
?? 網(wǎng)絡(luò)安全
?? 軟件
在上述結(jié)構(gòu)中,這些主題富有彈性。例如,在訪問(wèn)控制主題下,包含了傳統(tǒng)的認(rèn)證和授權(quán)主題,以及CAPTCHA 之類的非傳統(tǒng)主題。軟件主題非常靈活,包括軟件開(kāi)發(fā)、惡意軟件和逆向工程等各種話題。
雖然本書關(guān)注的是實(shí)際問(wèn)題,但已盡力涵蓋了足夠多的基本原則,這樣就可以為從事該領(lǐng)域的進(jìn)一步研究做好準(zhǔn)備。此外,我已盡可能地將背景要求降到最低。特別是,數(shù)學(xué)形式主義被保持在最低限度(附錄包含幾個(gè)基本數(shù)學(xué)主題的回顧)。盡管存在這種自我強(qiáng)加的限制,但我相信這本書比大多數(shù)安全書籍包含了更多實(shí)質(zhì)性的加密技術(shù)。學(xué)習(xí)本書,所需的計(jì)算機(jī)科學(xué)背景也很少一門介紹性的計(jì)算機(jī)組織課程(或類似的經(jīng)驗(yàn))就足夠了。假設(shè)你有一些編程經(jīng)驗(yàn),那么匯編語(yǔ)言的基本知識(shí)在幾個(gè)章節(jié)中會(huì)有幫助,但不是強(qiáng)制性的。本書涵蓋了網(wǎng)絡(luò)基礎(chǔ)知識(shí),因此不需要具備之前在該領(lǐng)域的知識(shí)或經(jīng)驗(yàn)。
如果你是一名信息技術(shù)專業(yè)人員,正在努力學(xué)習(xí)更多關(guān)于安全的知識(shí),我建議你閱讀整本書。本書中大多數(shù)話題都是相互關(guān)聯(lián)的,跳過(guò)少數(shù)不相關(guān)的話題也不會(huì)節(jié)省太多時(shí)間。即使你是某個(gè)領(lǐng)域的專家,至少瀏覽一下我的介紹也是值得的,因?yàn)樵谶@個(gè)領(lǐng)域使用術(shù)語(yǔ)時(shí)經(jīng)常會(huì)出現(xiàn)不一致的情況,本書可能會(huì)提供一個(gè)不同于你在其他書中看到的視角。
如果你在教授一門安全課程,本書包含的內(nèi)容可能會(huì)比一學(xué)期的課程所能涵蓋的知識(shí)稍微多一點(diǎn)。我在本科安全課程上通常遵循的時(shí)間表如表1 所示。
表1 教學(xué)大綱建議
章節(jié) 時(shí)長(zhǎng) 建議范圍
1. 引言 1 全部
2. 經(jīng)典加密 3 全部
3. 對(duì)稱密碼 4 全部
4. 公鑰加密 4 全部
5. 加密散列函數(shù) 4 省略5.7 節(jié)中的攻擊細(xì)節(jié)
6. 認(rèn)證 4 全部
7. 授權(quán) 2 全部
8. 網(wǎng)絡(luò)安全基礎(chǔ) 3 省略8.5 節(jié)
9. 簡(jiǎn)單認(rèn)證協(xié)議 4 省略9.4 節(jié)
10. 現(xiàn)實(shí)世界的安全協(xié)議 4 省略WEP 或GSM
章節(jié) 時(shí)長(zhǎng) 建議范圍
11. 軟件缺陷與惡意軟件 4 全部
12. 軟件中的不安全因素 3 全部
總計(jì) 40
安全不是一項(xiàng)觀賞性的運(yùn)動(dòng)解答大量的作業(yè)習(xí)題是學(xué)習(xí)本書內(nèi)容的一個(gè)重要方面。許多主題在習(xí)題中進(jìn)一步充實(shí),有時(shí)會(huì)引入額外的主題。底線是你解決的問(wèn)題越多,你學(xué)到的知識(shí)就越多。
基于本書的安全課程是個(gè)人或團(tuán)體項(xiàng)目的理想選擇。教科書網(wǎng)站(http://www.cs.sjsu.edu/~stamp/infosec/)包括關(guān)于密碼分析的部分,這是加密項(xiàng)目的一個(gè)可能來(lái)源。此外,許多作業(yè)習(xí)題很適合課堂討論或課堂作業(yè),例如第10 章中的問(wèn)題16或第11 章中的問(wèn)題17。
在教科書網(wǎng)站上你可以找到PowerPoint 幻燈片、習(xí)題中提到的所有文件、勘誤表和許多其他有用的東西。如果第一次教授這門課,我會(huì)特別推薦PowerPoint幻燈片,這些幻燈片已經(jīng)過(guò)徹底的實(shí)戰(zhàn)檢驗(yàn),并經(jīng)過(guò)多次改進(jìn)。
附錄中提到的數(shù)學(xué)知識(shí)在本書中是如何應(yīng)用的呢?初等模運(yùn)算出現(xiàn)在第3 章和第5 章的幾節(jié)中,而數(shù)論結(jié)果需要在第4 章和第9 章的9.5 節(jié)中使用。我發(fā)現(xiàn)大多數(shù)學(xué)生都需要溫習(xí)模運(yùn)算基礎(chǔ)知識(shí)。只需要20~30 分鐘的課堂時(shí)間就可以涵蓋模運(yùn)算的內(nèi)容,在深入研究公鑰加密技術(shù)之前,花費(fèi)這些時(shí)間是非常值得的。
附錄中簡(jiǎn)要討論的置換在第3 章中最為突出,關(guān)于離散概率的材料需要在第6 章的密碼破解部分找到。
就像任何大型復(fù)雜的軟件項(xiàng)目都有缺陷一樣,可以形而上學(xué)地認(rèn)為本書也會(huì)有不足。我想知道你發(fā)現(xiàn)的任何問(wèn)題或大或小。我將努力在教科書網(wǎng)站上維護(hù)一份最新的勘誤表。此外,不要猶豫,請(qǐng)為這本書的未來(lái)版本提供任何建議。
第3 版的新增內(nèi)容
本書的幾部分被重新組織和擴(kuò)展,而其他部分(和兩個(gè)完整的章節(jié))被刪除。
網(wǎng)絡(luò)安全的主要部分涵蓋了更廣泛的主題,包括網(wǎng)絡(luò)簡(jiǎn)介,這使得基于本書的課程更獨(dú)立。根據(jù)本書的使用者反饋,在加密章節(jié)中新增了額外的例子,而協(xié)議章節(jié)已被修改和擴(kuò)展。第1 版和第2 版包含了一章關(guān)于現(xiàn)代密碼分析的內(nèi)容,這一章已從第3 版中刪除了,但仍然可以在教科書網(wǎng)站上找到,其他被刪除的主題也是如此。
所有的圖形都經(jīng)過(guò)了重新處理,變得更清晰、更好。當(dāng)然,第2 版中所有已知的錯(cuò)誤都被改正。作業(yè)習(xí)題也已進(jìn)行了更新。
信息安全是一個(gè)不斷發(fā)展的領(lǐng)域,自本書于2005 年首次出版以來(lái),已發(fā)生了一些重大變化。然而,第1 版的基本結(jié)構(gòu)大體上保持不變。我相信這些年來(lái)本書主題的組織和列表一直保持得很好。因此,對(duì)于第3 版,本書的結(jié)構(gòu)變化更多的是進(jìn)化而不是革命。
在此要說(shuō)明的是,本書的參考文獻(xiàn)和第12 章習(xí)題中提到的一些壓縮文件讀者可通過(guò)掃描封底的二維碼進(jìn)行下載。
Mark Stamp
Los Gatos, California
2021 年6 月
Mark Stamp博士在信息安全領(lǐng)域擁有超過(guò)25年的經(jīng)驗(yàn)。他曾在一家硅谷公司任職,在學(xué)術(shù)界擔(dān)任計(jì)算機(jī)科學(xué)教授,在政府部門擔(dān)任國(guó)家安全局的密碼學(xué)科學(xué)家,發(fā)表了120多篇與信息安全相關(guān)的學(xué)術(shù)研究文章并撰寫了3本書。
第1 章 引言 1
1.1 人物角色 1
1.2 Alice 的網(wǎng)上銀行 2
1.2.1 機(jī)密性、完整性和可用性 2
1.2.2 CIA 并不是全部 3
1.3 關(guān)于本書 4
1.3.1 加密技術(shù) 5
1.3.2 訪問(wèn)控制 5
1.3.3 網(wǎng)絡(luò)安全 6
1.3.4 軟件 6
1.4 人的問(wèn)題 7
1.5 原理和實(shí)踐 7
1.6 習(xí)題 8
第Ⅰ部分 加密
第2 章 經(jīng)典加密 14
2.1 引言 14
2.2 何謂加密 15
2.3 經(jīng)典密碼 17
2.3.1 簡(jiǎn)單代換密碼 17
2.3.2 簡(jiǎn)單代換密碼分析 19
2.3.3 安全的定義 20
2.3.4 雙換位密碼 21
2.3.5 一次性密碼 22
2.3.6 密碼本密碼 25
2.4 歷史上的經(jīng)典加密 27
2.4.1 1876 年大選的密碼 27
2.4.2 齊默爾曼電報(bào) 29
2.4.3 VENONA 計(jì)劃 30
2.5 現(xiàn)代密碼史 31
2.6 加密技術(shù)分類 34
2.7 密碼分析技術(shù)分類 35
2.8 小結(jié) 36
2.9 習(xí)題 37
第3 章 對(duì)稱密碼 42
3.1 引言 42
3.2 流密碼 43
3.2.1 A5/1 44
3.2.2 RC4 46
3.3 分組密碼 48
3.3.1 Feistel 密碼 48
3.3.2 DES 49
3.3.3 3DES 54
3.3.4 AES 56
3.3.5 TEA 58
3.3.6 分組密碼模式 60
3.4 完整性 64
3.5 量子計(jì)算機(jī)和對(duì)稱加密 65
3.6 小結(jié) 67
3.7 習(xí)題 68
第4 章 公鑰加密 73
4.1 引言 73
4.2 背包加密方案 75
4.3 RSA 79
4.3.1 教科書RSA 示例 80
4.3.2 反復(fù)平方 81
4.3.3 加速RSA 83
4.4 Diffie-Hellman 84
4.5 橢圓曲線加密 85
4.5.1 橢圓曲線數(shù)學(xué) 86
4.5.2 ECC Diffie Hellman 88
4.5.3 實(shí)際的橢圓曲線示例 89
4.6 公鑰符號(hào) 89
4.7 公鑰加密的作用 90
4.7.1 現(xiàn)實(shí)世界中的機(jī)密性 90
4.7.2 簽名和不可否認(rèn)性 91
4.7.3 機(jī)密性和不可否認(rèn)性 92
4.8 證書和PKI 94
4.9 量子計(jì)算機(jī)和公鑰 96
4.10 小結(jié) 97
4.11 習(xí)題 98
第5 章 加密散列函數(shù) 106
5.1 引言 107
5.2 什么是加密散列函數(shù) 107
5.3 生日問(wèn)題 109
5.4 生日攻擊 110
5.5 非加密散列 111
5.6 SHA-3 112
5.7 HMAC 115
5.8 加密散列應(yīng)用程序 117
5.8.1 在線競(jìng)價(jià) 117
5.8.2 區(qū)塊鏈 118
5.9 各種加密相關(guān)主題 125
5.9.1 秘密共享 125
5.9.2 隨機(jī)數(shù) 129
5.9.3 信息隱藏 131
5.10 小結(jié) 134
5.11 習(xí)題 135
第Ⅱ部分 訪問(wèn)控制
第6 章 認(rèn)證 146
6.1 引言 146
6.2 認(rèn)證方法 147
6.3 密碼 148
6.3.1 密鑰與密碼 149
6.3.2 選擇密碼 149
6.3.3 通過(guò)密碼攻擊系統(tǒng) 151
6.3.4 密碼驗(yàn)證 152
6.3.5 密碼破解的數(shù)學(xué)原理 153
6.3.6 其他密碼問(wèn)題 157
6.4 生物識(shí)別 158
6.4.1 錯(cuò)誤類型 160
6.4.2 生物識(shí)別技術(shù)示例 160
6.4.3 生物識(shí)別錯(cuò)誤率 165
6.4.4 生物識(shí)別結(jié)論 166
6.5 你擁有的東西 166
6.6 雙因子認(rèn)證 167
6.7 單點(diǎn)登錄和Web cookie 167
6.8 小結(jié) 168
6.9 習(xí)題 169
第7 章 授權(quán) 177
7.1 引言 177
7.2 授權(quán)簡(jiǎn)史 178
7.2.1 橙皮書 179
7.2.2 通用標(biāo)準(zhǔn) 181
7.3 訪問(wèn)控制矩陣 182
7.3.1 ACL 和能力 183
7.3.2 混淆代理 184
7.4 多級(jí)安全模型 185
7.4.1 Bell-LaPadula 187
7.4.2 Biba 模型 188
7.4.3 隔離項(xiàng) 189
7.5 隱秘信道 191
7.6 推理控制 193
7.7 CAPTCHA 194
7.8 小結(jié) 196
7.9 習(xí)題 197
第Ⅲ部分 網(wǎng)絡(luò)安全主題
第8 章 網(wǎng)絡(luò)安全基礎(chǔ) 202
8.1 引言 202
8.2 網(wǎng)絡(luò)基礎(chǔ) 203
8.2.1 協(xié)議棧 204
8.2.2 應(yīng)用層 205
8.2.3 傳輸層 207
8.2.4 網(wǎng)絡(luò)層 210
8.2.5 鏈路層 211
8.3 跨站腳本攻擊 213
8.4 防火墻 215
8.4.1 包過(guò)濾防火墻 216
8.4.2 基于狀態(tài)檢測(cè)的包過(guò)濾防火墻 218
8.4.3 應(yīng)用代理 218
8.4.4 縱深防御 219
8.5 入侵檢測(cè)系統(tǒng) 220
8.5.1 基于特征的入侵檢測(cè)系統(tǒng) 222
8.5.2 基于異常的入侵檢測(cè)系統(tǒng) 223
8.6 小結(jié) 227
8.7 習(xí)題 227
第9 章 簡(jiǎn)單認(rèn)證協(xié)議 233
9.1 引言 233
9.2 簡(jiǎn)單安全協(xié)議 235
9.3 認(rèn)證協(xié)議 237
9.3.1 利用對(duì)稱密鑰進(jìn)行認(rèn)證 240
9.3.2 利用公鑰進(jìn)行認(rèn)證 243
9.3.3 會(huì)話密鑰 244
9.3.4 完全正向保密 246
9.3.5 雙向認(rèn)證、會(huì)話密鑰以及PFS 248
9.3.6 時(shí)間戳 248
9.4 認(rèn)證與TCP 協(xié)議 250
9.5 零知識(shí)證明 253
9.6 協(xié)議分析技巧 257
9.7 小結(jié) 258
9.8 習(xí)題 259
第10 章 現(xiàn)實(shí)世界的安全協(xié)議 267
10.1 引言 267
10.2 SSH 268
10.3 SSL 270
10.3.1 SSL 和中間人 272
10.3.2 SSL 連接 273
10.3.3 SSL 與IPsec 274
10.4 IPsec 275
10.4.1 IKE 階段1 276
10.4.2 IKE 階段2 283
10.4.3 IPsec 和IP 數(shù)據(jù)報(bào) 284
10.4.4 傳輸和隧道模式 285
10.4.5 ESP 和AH 286
10.5 Kerberos 288
10.5.1 Kerberized 登錄 289
10.5.2 Kerberos 票據(jù) 290
10.5.3 Kerberos 的安全 291
10.6 WEP 292
10.6.1 WEP 認(rèn)證 293
10.6.2 WEP 加密 293
10.6.3 WEP 協(xié)議的不完整性 294
10.6.4 WEP 的其他問(wèn)題 295
10.6.5 WEP:底線 295
10.7 GSM 295
10.7.1 GSM 架構(gòu) 296
10.7.2 GSM 安全架構(gòu) 298
10.7.3 GSM 認(rèn)證協(xié)議 300
10.7.4 GSM 安全缺陷 300
10.7.5 GSM 結(jié)論 303
10.7.6 3GPP 303
10.8 小結(jié) 304
10.9 習(xí)題 304
第Ⅳ部分 軟件
第11 章 軟件缺陷與惡意軟件 314
11.1 引言 314
11.2 軟件缺陷 315
11.2.1 緩沖區(qū)溢出 318
11.2.2 不完全驗(yàn)證 328
11.2.3 競(jìng)爭(zhēng)條件 329
11.3 惡意軟件 330
11.3.1 惡意軟件示例 331
11.3.2 惡意軟件檢測(cè) 337
11.3.3 惡意軟件的未來(lái) 339
11.3.4 惡意軟件檢測(cè)的未來(lái) 340
11.4 基于軟件的各式攻擊 340
11.4.1 臘腸攻擊 341
11.4.2 線性攻擊 341
11.4.3 定時(shí)炸彈 343
11.4.4 信任軟件 344
11.5 小結(jié) 344
11.6 習(xí)題 345
第12 章 軟件中的不安全因素 353
12.1 引言 353
12.2 軟件逆向工程 354
12.2.1 Java 字節(jié)碼逆向工程 356
12.2.2 SRE 示例 358
12.2.3 防反匯編技術(shù) 362
12.2.4 反調(diào)試技術(shù) 363
12.2.5 軟件防篡改 364
12.3 軟件開(kāi)發(fā) 366
12.3.1 缺陷和測(cè)試 367
12.3.2 安全軟件的開(kāi)發(fā) 369
12.4 小結(jié) 369
12.5 習(xí)題 370
附錄 376