本書詳細介紹了信息安全領(lǐng)域的基礎(chǔ)理論和常見解決方案。本書共12章,第1~6章以密碼學(xué)基本原理為主線,聚焦信息安全的核心概念和范式,介紹了古典密碼、現(xiàn)代分組密碼、公鑰密碼、報文鑒別與哈希函數(shù)、流密碼、國密對稱密碼;第7~12章介紹了信息安全領(lǐng)域的經(jīng)典解決方案和前沿內(nèi)容,包括公鑰基礎(chǔ)設(shè)施、身份認證、Web安全、區(qū)塊鏈、防火墻與入侵檢測系統(tǒng)、數(shù)字水印。本書從教材使用的角度考慮,概念清晰、結(jié)構(gòu)合理、通俗易懂、深入淺出,方便教師在教學(xué)過程中的實施。從學(xué)生的角度考慮,力求學(xué)生能夠領(lǐng)會信息安全領(lǐng)域經(jīng)典科學(xué)問題的提煉和思考過程。同時,本書涵蓋信息安全領(lǐng)域的部分新研究成果,學(xué)習(xí)本書學(xué)生能夠了解本學(xué)科的發(fā)展趨勢和方向。本書可作為高等學(xué)校網(wǎng)絡(luò)空間安全、計算機方向相關(guān)專業(yè)本科生和研究生的教材,也可作為軟件工程師、通信和網(wǎng)絡(luò)工程師等從業(yè)人員的參考教材。
李景濤,任教于復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院。從事信息安全、物聯(lián)網(wǎng)、密碼學(xué)與區(qū)塊鏈、網(wǎng)絡(luò)安全等領(lǐng)域的理論研究和應(yīng)用開發(fā)。在國內(nèi)外權(quán)威期刊和國際會議上發(fā)表學(xué)術(shù)論文20余篇。近年來承擔(dān)并完成多項國家自然科學(xué)基金、地方與企業(yè)合作項目的研究和開發(fā)工作,還擔(dān)任多個國內(nèi)外重要學(xué)術(shù)期刊(如IEEE TIFS、通信學(xué)報等)和國際會議的審稿人。2018 年被選為復(fù)旦大學(xué)"我心中的好老師”!队嬎銠C網(wǎng)絡(luò)》為上海市教委本科重點課程,《密碼學(xué)基礎(chǔ)》為復(fù)旦大學(xué)精品課程。獲得上海市教學(xué)成果二等獎1次,復(fù)旦大學(xué)教學(xué)成果一等獎、二等獎各二次。
第1章 古典密碼 1
1.1 古典密碼方案 1
1.1.1 羊皮傳書 2
1.1.2 藏頭詩、藏尾詩 2
1.1.3 愷撒密碼 2
1.2 對稱密碼模型 2
1.2.1 對稱密碼模型的概念 3
1.2.2 古典密碼方案討論 3
1.2.3 對稱密碼模型再討論 4
1.3 密碼分類 5
1.3.1 替代密碼、置換密碼和乘積
密碼 5
1.3.2 對稱密碼和公鑰密碼 6
1.3.3 分組密碼和流密碼 6
1.4 如何設(shè)計好的密碼算法 6
1.4.1 單表替代密碼 6
1.4.2 Playfair密碼 8
1.4.3 Vigenere密碼 9
1.4.4 自動生成密鑰密碼 13
1.4.5 Vigenere密碼的安全性 13
1.5 對稱密碼的標桿 13
1.6 簡單的置換密碼 14
1.6.1 Rail Fence密碼 14
1.6.2 行置換密碼 14
1.7 轉(zhuǎn)子機 14
1.8 隱寫術(shù) 15
1.8.1 偽裝式保密通信 15
1.8.2 數(shù)字水印 16
習(xí)題 16
第2章 現(xiàn)代分組密碼 17
2.1 分組密碼的一般原理 17
2.1.1 理想的分組密碼 17
2.1.2 SPN 18
2.1.3 Feistel密碼 23
2.2 DES算法 24
2.2.1 DES算法的歷史 24
2.2.2 DES算法的結(jié)構(gòu) 25
2.2.3 DES算法的安全分析 31
2.3 AES算法——Rijndael 32
2.3.1 Rijndael的數(shù)學(xué)基礎(chǔ)和設(shè)計
思想 33
2.3.2 算法說明 36
習(xí)題 43
第3章 公鑰密碼 44
3.1 對稱密碼的密鑰交換問題 44
3.2 公鑰密碼模型的提出 45
3.2.1 公鑰密碼模型 45
3.2.2 密碼學(xué)的兩種密碼 46
3.2.3 公鑰密碼的歷史 46
3.3 設(shè)計公鑰密碼的基本要求 46
3.4 數(shù)字簽名 47
3.5 RSA算法 48
3.5.1 數(shù)論知識 48
3.5.2 算法原理 49
3.5.3 RSA密鑰生成 50
3.5.4 RSA算法的加密和解密
過程 51
3.5.5 模指數(shù)算法 51
3.5.6 RSA算法的可逆性證明 52
3.5.7 RSA算法的安全性 53
3.5.8 對RSA算法的其他攻擊 55
3.6 公鑰密碼的特征總結(jié) 57
3.6.1 公鑰密碼的原理總結(jié) 57
3.6.2 公鑰密碼算法的基礎(chǔ) 57
3.6.3 單向函數(shù) 58
3.7 DH算法 59
3.7.1 DH算法的數(shù)學(xué)基礎(chǔ) 59
3.7.2 DH算法的具體內(nèi)容 60
3.8 橢圓曲線密碼算法 61
3.8.1 橢圓曲線 61
3.8.2 有限域上的橢圓曲線 62
3.8.3 橢圓曲線上的點數(shù) 64
3.8.4 明文嵌入橢圓曲線 64
3.8.5 橢圓曲線上的密碼算法 65
3.9 SM2算法 67
3.9.1 基本參數(shù) 67
3.9.2 密鑰產(chǎn)生 68
3.9.3 加密算法 68
3.9.4 解密算法 69
習(xí)題 70
第4章 報文鑒別與哈希函數(shù) 72
4.1 安全服務(wù)與安全需求 72
4.1.1 保密性 72
4.1.2 完整性 72
4.1.3 可用性 73
4.1.4 可認證 73
4.1.5 抗抵賴 73
4.1.6 總結(jié) 74
4.2 報文鑒別的安全需求 74
4.2.1 報文鑒別安全需求的三重
含義 74
4.2.2 實現(xiàn)報文鑒別的方案 75
4.3 報文加密 75
4.3.1 對稱密碼加密報文實現(xiàn)報文
鑒別 75
4.3.2 公鑰密碼加密報文實現(xiàn)報
文鑒別 76
4.3.3 公鑰密碼加密報文方案的
總結(jié) 78
4.4 報文鑒別碼 78
4.4.1 報文加密的缺點 78
4.4.2 報文鑒別碼的定義 78
4.4.3 報文鑒別碼的用法 78
4.4.4 報文鑒別碼的性質(zhì) 80
4.4.5 構(gòu)造報文鑒別碼算法 80
4.5 哈希函數(shù) 81
4.5.1 哈希函數(shù)的定義和性質(zhì) 81
4.5.2 哈希函數(shù)的應(yīng)用 82
4.5.3 經(jīng)典的哈希算法 85
4.5.4 SHA-512 85
4.6 生日攻擊 87
4.7 HMAC 89
4.7.1 HMAC的設(shè)計目標 90
4.7.2 算法描述 90
4.7.3 HMAC的安全性 92
4.8 SM3算法 93
4.8.1 SM3算法的描述 93
4.8.2 SM3算法的安全性 95
習(xí)題 96
第5章 流密碼 98
5.1 簡單流密碼 98
5.1.1 同步流密碼與LFSR 99
5.1.2 異步流密碼 100
5.2 對流密碼的攻擊 101
5.2.1 已知明文攻擊 101
5.2.2 攻擊方法實例 102
5.3 隨機比特序列生成 104
5.3.1 隨機數(shù)生成的原則 104
5.3.2 TRNG、PRNG和PRF 104
5.3.3 對PRNG的隨機性測試 105
5.3.4 設(shè)計PRNG 107
5.3.5 專門的PRNG 107
5.3.6 基于分組密碼的PRNG 110
5.4 RC4算法 114
5.4.1 初始化S 115
5.4.2 產(chǎn)生密鑰流 115
5.4.3 RC4算法的強度 117
習(xí)題 117
第6章 國密對稱密碼 118
6.1 國密算法的概況 118
6.1.1 對稱密碼算法 118
6.1.2 非對稱密碼算法 119
6.1.3 哈希算法 120
6.2 SM4算法 120
6.2.1 算法參數(shù) 120
6.2.2 基本密碼構(gòu)件 121
6.2.3 加密算法和解密算法的
描述 123
6.3 ZUC算法 125
6.3.1 算法中的符號及含義 125
6.3.2 算法結(jié)構(gòu) 126
6.3.3 算法運行 130
6.3.4 基于ZUC的保密性
算法128-EEA3 131
習(xí)題 133
第7章 公鑰基礎(chǔ)設(shè)施 134
7.1 公鑰密碼回顧 134
7.1.1 公鑰密碼提供的安全服務(wù) 134
7.1.2 公鑰的用途 135
7.2 PKI的動機 135
7.2.1 公鑰應(yīng)用面臨的主要問題 135
7.2.2 單CA模型 136
7.3 數(shù)字證書的格式 138
7.3.1 X.509證書 138
7.3.2 證書實例 139
7.3.3 證書注銷機制 140
7.4 PKI的組成 141
7.4.1 組件之間的關(guān)系 141
7.4.2 核心組件 143
7.5 PKI中的信任關(guān)系 144
7.5.1 層次結(jié)構(gòu)信任模型 145
7.5.2 交叉認證 147
7.5.3 其他信任模型與橋CA 149
7.6 PKI的應(yīng)用 151
7.6.1 PKI相關(guān)標準 151
7.6.2 PKI安全服務(wù)與應(yīng)用 152
習(xí)題 153
第8章 身份認證 155
8.1 身份認證的基本概念 155
8.2 基于口令的身份認證 156
8.2.1 基于口令的身份認證的一般
過程 156
8.2.2 字典攻擊與UNIX口令 157
8.2.3 動態(tài)口令 159
8.3 口令猜測攻擊 160
8.3.1 口令猜測攻擊的類型 161
8.3.2 基于規(guī)則的方法 162
8.3.3 基于統(tǒng)計學(xué)模型的方法 162
8.3.4 基于深度學(xué)習(xí)的方法 163
8.4 質(zhì)詢與應(yīng)答認證技術(shù) 166
8.4.1 對稱密鑰實現(xiàn)質(zhì)詢與應(yīng)答認證
技術(shù) 166
8.4.2 公鑰實現(xiàn)質(zhì)詢與應(yīng)答認證
技術(shù) 169
8.5 Needham-Schroeder協(xié)議 169
8.5.1 Needham-Schroeder協(xié)議解決的
問題 170
8.5.2 Needham-Schroeder協(xié)議的
細節(jié) 171
8.6 Kerberos協(xié)議 173
8.6.1 Kerberos協(xié)議解決的問題 174
8.6.2 Kerberos協(xié)議的引入?yún)f(xié)議 176
8.6.3 Kerberos協(xié)議的完整對話 179
習(xí)題 181
第9章 Web安全 183
9.1 Web和電子商務(wù)安全問題
分析 183
9.1.1 Web系統(tǒng)的脆弱性 183
9.1.2 HTTP的安全性分析 183
9.1.3 在網(wǎng)絡(luò)基礎(chǔ)設(shè)施中提供安全
服務(wù) 185
9.2 SSL協(xié)議和TLS協(xié)議 185
9.2.1 SSL協(xié)議總述 186
9.2.2 SSL記錄協(xié)議 187
9.2.3 SSLv3.0到TLSv1.2的握手
協(xié)議 189
9.2.4 TLSv1.3的握手協(xié)議 193
9.2.5 低延時握手設(shè)計思想 198
9.2.6 SSL協(xié)議和TLS協(xié)議版本
總結(jié) 200
9.3 IPSec協(xié)議 202
9.3.1 安全聯(lián)盟 202
9.3.2 工作模式 203
9.3.3 AH協(xié)議 204
9.3.4 ESP協(xié)議 206
9.3.5 IKE協(xié)議 207
9.4 SET協(xié)議的雙重數(shù)字簽名 208
9.4.1 SET協(xié)議介紹 208
9.4.2 雙重數(shù)字簽名 209
9.4.3 在線交易的案例 210
習(xí)題 213
第10章 區(qū)塊鏈 214
10.1 分布式賬本的安全需求 214
10.2 完整性需求 215
10.2.1 哈希指針 216
10.2.2 Merkle樹 217
10.3 共識協(xié)議解決的基本問題 218
10.3.1 出塊節(jié)點選舉與主鏈
共識 219
10.3.2 公開鏈與許可鏈 220
10.4 出塊節(jié)點選舉 221
10.4.1 工作量證明機制 221
10.4.2 權(quán)益證明機制 223
10.5 主鏈共識 224
10.5.1 比特幣共識案例分析 224
10.5.2 概率性共識 227
10.5.3 確定性共識 231
10.6 身份標識與交易簽名 233
10.6.1 交易的記錄與驗證 233
10.6.2 匿名性與安全需求總結(jié) 235
習(xí)題 236
第11章 防火墻與入侵檢測系統(tǒng) 237
11.1 防火墻基本介紹 237
11.1.1 內(nèi)網(wǎng)與外網(wǎng) 237
11.1.2 防火墻的發(fā)展歷程 238
11.2 防火墻類型 239
11.2.1 包過濾防火墻 240
11.2.2 電路級網(wǎng)關(guān)防火墻 243
11.2.3 應(yīng)用層網(wǎng)關(guān)防火墻 244
11.2.4 狀態(tài)檢測防火墻 246
11.3 防火墻的部署 247
11.4 入侵檢測 249
11.4.1 入侵檢測的概述 249
11.4.2 IDS與防火墻的比較 250
11.5 入侵檢測的方法與案例 251
11.5.1 端口掃描攻擊的原理 252
11.5.2 端口掃描檢測的目標與
困難 252
11.5.3 端口掃描的一般防御 253
11.5.4 端口掃描的常見檢測
算法 253
11.5.5 閾值隨機游走算法 254
習(xí)題 256
第12章 數(shù)字水印 257
12.1 數(shù)字水印的概述 257
12.1.1 數(shù)字水印的定義 257
12.1.2 數(shù)字水印的應(yīng)用 257
12.1.3 數(shù)字水印的框架 258
12.2 圖像介質(zhì)水印的分類 258
12.3 基于空域的水印算法 259
12.3.1 加性噪聲水印算法 259
12.3.2 LSB算法 260
12.3.3 Patchwork算法 261
12.4 基于頻域的水印算法 262
12.4.1 基于DCT的水印算法 262
12.4.2 基于DFT的水印算法 263
12.4.3 基于DWT的水印算法 266
12.5 其他圖像介質(zhì)水印算法 268
12.5.1 基于SVD的水印算法 268
12.5.2 基于分形的水印算法 268
習(xí)題 269