本書系統(tǒng)地介紹了信息安全的基本原理和基本技術(shù)。全書共11章,包括信息安全的數(shù)學基礎(chǔ),對稱密碼技術(shù)、公鑰密碼技術(shù)、消息認證與數(shù)字簽名、身份認證與訪問控制、網(wǎng)絡(luò)安全協(xié)議、公鑰基礎(chǔ)設(shè)施、防火墻、入侵檢測和惡意代碼等內(nèi)容。本書體現(xiàn)以讀者為中心的思想。為了讓讀者充分理解每一章節(jié)內(nèi)容以及它們之間的聯(lián)系,每一章附有本章導讀,并用大量的實例幫助讀者理解重點知識和難點知識。本書可作為計算機、信息安全、通信等專業(yè)的本科生以及低年級的研究生的教材,也可作為從事與信息安全相關(guān)專業(yè)的教學、科研和工程技術(shù)人員的參考書。
本書能夠深入淺出地讓讀者看透信息安全基本原理和技術(shù),讀者能夠從教材的結(jié)構(gòu)明白信息安全的框架,每一章節(jié)能夠讓讀者了解信息安全需要解決什么問題,如何解決,為什么要這樣解決等。第3版在前兩版的基礎(chǔ)上潤色了部分內(nèi)容,使之更通俗易懂,并增加了國內(nèi)流行的加密標準。 本書提供所有習題答案、PPT課件和期末試卷庫。
郭亞軍,博士,教授,獲得信息安全方向的博士學位,博士后也從事信息安全方向的研究,具有豐富的信息安全課程的教學和研究經(jīng)驗,發(fā)表了40多篇信息安全方面的論文,主持了多項信息安全方向的項目,并獲得7項信息安全方向的國家發(fā)明專利授權(quán),20多項信息安全軟件著作權(quán)登記。從自己學習信息安全,到教學信息安全,作者能清楚教師和學生的需求。教材的其他作者也是一直從事信息安全的教學和科研工作。
目錄
第1章引言
1.1安全攻擊
1.2安全機制
1.3安全目標與安全需求
1.4安全服務(wù)模型
1.4.1支撐服務(wù)
1.4.2預防服務(wù)
1.4.3檢測與恢復服務(wù)
1.5安全目標、安全需求、安全服務(wù)和安全機制之間的關(guān)系
1.6網(wǎng)絡(luò)安全模型
1.7網(wǎng)絡(luò)安全協(xié)議
1.8關(guān)鍵術(shù)語
1.9習題1
第2章數(shù)學基礎(chǔ)
2.1數(shù)論
2.1.1因子
2.1.2素數(shù)
2.1.3同余與模運算
2.1.4費馬定理和歐拉定理
2.1.5素性測試
2.1.6中國剩余定理
2.1.7離散對數(shù)
2.1.8二次剩余
2.2代數(shù)基礎(chǔ)
2.2.1群和環(huán)
2.2.2域和有限域
2.3計算復雜性理論
2.3.1問題的復雜性
2.3.2算法的復雜性
2.4單向函數(shù)
2.5關(guān)鍵術(shù)語
2.6習題2
第3章對稱密碼技術(shù)
3.1基本概念
3.2對稱密碼模型
3.3密碼攻擊
3.3.1窮舉攻擊
3.3.2密碼攻擊類型
3.3.3密碼分析方法
3.4古典加密技術(shù)
3.4.1單表代換密碼
3.4.2多表代換密碼
3.4.3多字母代換密碼
3.4.4置換密碼
3.5數(shù)據(jù)加密標準
3.5.1DES加密過程
3.5.2DES子密鑰產(chǎn)生
3.5.3DES解密
3.5.4DES的強度
3.5.5三重DES
3.6高級加密標準
3.6.1AES的基本運算
3.6.2AES加密
3.6.3字節(jié)代換
3.6.4行移位
3.6.5列混淆
3.6.6輪密鑰加
3.6.7AES的密鑰擴展
3.6.8AES解密算法
3.6.9等價的解密變換
3.6.10AES的安全性
3.7中國商用對稱密碼算法——SM4
3.7.1SM4加密
3.7.2密鑰擴展算法
3.7.3SM4解密
3.7.4SM4的安全性
3.8RC6
3.8.1RC6的加密和解密
3.8.2密鑰擴展
3.8.3RC6的安全性和靈活性
3.9流密碼
3.9.1流密碼基本原理
3.9.2密鑰流產(chǎn)生器
3.9.3RC4算法
3.10分組密碼工作模式
3.10.1電子密碼本模式
3.10.2密碼分組鏈接模式
3.10.3密碼反饋模式
3.10.4輸出反饋模式
3.10.5計數(shù)器模式
3.11隨機數(shù)的產(chǎn)生
3.11.1真隨機數(shù)發(fā)生器
3.11.2偽隨機數(shù)發(fā)生器
3.12對稱密碼的密鑰分配
3.12.1密鑰分配基本方法
3.12.2密鑰的分層控制
3.12.3會話密鑰的有效期
3.12.4無中心的密鑰分配
3.13關(guān)鍵術(shù)語
3.14習題3
第4章公鑰密碼技術(shù)
4.1公鑰密碼體制
4.2公鑰密碼分析
4.3RSA密碼
4.3.1算法描述
4.3.2RSA算法的安全性
4.4ElGamal密碼
4.5橢圓曲線密碼
4.5.1橢圓曲線的定義
4.5.2橢圓曲線運算規(guī)則
4.5.3橢圓曲線密碼算法
4.5.4橢圓曲線密碼的性能
4.6SM2公鑰算法
4.7公鑰分配
4.8利用公鑰密碼分配對稱密鑰
4.9DiffieHellman密鑰交換
4.10關(guān)鍵術(shù)語
4.11習題4
第5章消息認證與數(shù)字簽名
5.1認證
5.2消息認證碼
5.2.1MAC的安全要求
5.2.2基于DES的消息認證碼
5.3Hash函數(shù)
5.3.1散列函數(shù)的安全要求
5.3.2SM3
5.3.3MD5
5.3.4SHA512
5.3.5HMAC
5.4數(shù)字簽名
5.4.1數(shù)字簽名的基本概念
5.4.2數(shù)字簽名方案
5.5關(guān)鍵術(shù)語
5.6習題5
第6章身份認證與訪問控制
6.1身份認證
6.1.1身份認證的基本方法
6.1.2常用身份認證機制
6.1.3OpenID和OAuth認證協(xié)議
6.2訪問控制概述
6.2.1訪問控制的基本概念
6.2.2訪問控制技術(shù)
6.2.3訪問控制原理
6.3自主訪問控制
6.4強制訪問控制
6.5基于角色的訪問控制
6.6關(guān)鍵術(shù)語
6.7習題6
第7章網(wǎng)絡(luò)安全協(xié)議
7.1認證協(xié)議
7.1.1基于對稱密碼的認證協(xié)議
7.1.2基于公鑰密碼的認證協(xié)議
7.1.3基于密碼學中的散列函數(shù)的認證
7.2Kerberos協(xié)議
7.2.1Kerberos協(xié)議概述
7.2.2Kerberos協(xié)議的工作過程
7.3SSL協(xié)議
7.3.1SSL協(xié)議概述
7.3.2SSL記錄協(xié)議
7.3.3SSL修改密文規(guī)約協(xié)議
7.3.4SSL告警協(xié)議
7.3.5SSL握手協(xié)議
7.3.6TLS協(xié)議
7.3.7SSL協(xié)議應(yīng)用
7.4IPSec協(xié)議
7.4.1IPSec安全體系結(jié)構(gòu)
7.4.2AH協(xié)議
7.4.3ESP協(xié)議
7.4.4IKE協(xié)議
7.5PGP
7.5.1鑒別
7.5.2機密性
7.5.3鑒別與機密性
7.5.4壓縮
7.5.5Email兼容性
7.5.6分段與重組
7.5.7PGP密鑰管理
7.6關(guān)鍵術(shù)語
7.7習題7
第8章公鑰基礎(chǔ)設(shè)施
8.1理論基礎(chǔ)
8.1.1網(wǎng)絡(luò)安全服務(wù)
8.1.2密碼技術(shù)
8.2PKI的組成
8.2.1認證機構(gòu)
8.2.2證書和證書庫
8.2.3證書撤銷
8.2.4密鑰備份和恢復
8.2.5PKI應(yīng)用接口
8.3PKI的功能
8.3.1證書的管理
8.3.2密鑰的管理
8.3.3交叉認證
8.3.4安全服務(wù)
8.4信任模型
8.4.1認證機構(gòu)的嚴格層次結(jié)構(gòu)模型
8.4.2分布式信任結(jié)構(gòu)模型
8.4.3Web模型
8.4.4以用戶為中心的信任模型
8.5PKI的相關(guān)標準
8.5.1X.209 ASN.1基本編碼規(guī)則
8.5.2X.500
8.5.3X.509
8.5.4PKCS系列標準
8.5.5輕量級目錄訪問協(xié)議
8.6PKI的應(yīng)用與發(fā)展
8.6.1PKI的應(yīng)用
8.6.2PKI的發(fā)展
8.7關(guān)鍵術(shù)語
8.8習題8
第9章防火墻
9.1防火墻概述
9.1.1防火墻的基本概念
9.1.2防火墻的作用及局限性
9.1.3防火墻的分類
9.2防火墻技術(shù)
9.2.1數(shù)據(jù)包過濾
9.2.2應(yīng)用級網(wǎng)關(guān)
9.2.3電路級網(wǎng)關(guān)
9.3防火墻的體系結(jié)構(gòu)
9.3.1雙宿主機防火墻
9.3.2屏蔽主機防火墻
9.3.3屏蔽子網(wǎng)防火墻
9.4關(guān)鍵術(shù)語
9.5習題9
第10章入侵檢測
10.1入侵檢測概述
10.1.1入侵檢測的基本概念
10.1.2入侵檢測系統(tǒng)基本模型
10.2入侵檢測系統(tǒng)分類
10.2.1基于主機的入侵檢測系統(tǒng)
10.2.2基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)
10.2.3分布式入侵檢測系統(tǒng)
10.3入侵檢測系統(tǒng)分析技術(shù)
10.3.1異常檢測技術(shù)
10.3.2誤用檢測技術(shù)
10.4入侵防御系統(tǒng)
10.4.1入侵防御系統(tǒng)的基本概念
10.4.2入侵防御系統(tǒng)的分類
10.4.3入侵防御系統(tǒng)的原理
10.4.4入侵防御系統(tǒng)的技術(shù)特征
10.4.5入侵防御系統(tǒng)的發(fā)展
10.5關(guān)鍵術(shù)語
10.6習題10
第11章惡意代碼
11.1計算機病毒
11.1.1計算機病毒的起源與發(fā)展
11.1.2計算機病毒的特征
11.1.3計算機病毒的分類
11.1.4計算機病毒的結(jié)構(gòu)和原理
11.2蠕蟲病毒
11.2.1蠕蟲病毒與一般計算機病毒的異同
11.2.2蠕蟲病毒的工作原理
11.2.3典型蠕蟲病毒介紹
11.2.4蠕蟲病毒的發(fā)展與防治
11.3特洛伊木馬
11.3.1木馬的特征
11.3.2木馬的工作原理
11.3.3木馬的分類
11.4惡意代碼的防治對策
11.4.1計算機病毒的防治
11.4.2其他惡意代碼的防治
11.5關(guān)鍵術(shù)語
11.6習題11
參考文獻
第3章對稱密碼技術(shù)
本章導讀
本章主要介紹對稱密碼技術(shù)及其相關(guān)的內(nèi)容,包括一些加密算法、密鑰的產(chǎn)生和密鑰的分配等。 對稱密碼是一種加密密鑰和解密密鑰相同的密碼體制。 對稱密碼分為分組密碼和流密碼。分組密碼每次操作(如加密和解密)是針對一個分組而言。流密碼則每次加密(或者解密)一位或者一個字節(jié)。 對密碼的攻擊方法有基于密碼算法性質(zhì)的密碼分析和窮舉搜索攻擊。 從發(fā)展階段來看,對稱密碼主要分為兩種: 20世紀70年代以前的對稱密碼(主要指計算機出現(xiàn)以前)和20世紀70年代以后的對稱密碼。 我們稱20世紀70年代以前的對稱密碼為古典加密技術(shù),主要使用代換或者置換技巧。20世紀70年代以后的對稱密碼則同時使用代換和置換技巧。 古典加密技術(shù)分為兩類: 一類是單字母代換密碼,它將明文的一個字符用相應(yīng)的一個密文字符代替。另一類是多字母代換密碼,它是對多于一個字母進行代換。單字母代換密碼又分為單表代換密碼和多表代換密碼。 DES是及時個加密標準,它與古典加密技術(shù)不一樣,DES同時使用了代換和置換兩種技巧。用56位密鑰加密64位明文。 AES是用來取代DES的高級加密標準,其結(jié)構(gòu)與DES不同,它是用128、192或者256位密鑰加密128位的分組。 SM4是我國官方公布的及時個商用密碼算法,它是一種分組對稱密碼算法,用128位密鑰加密128位的分組。 RC6是RSA公司提交給NIST的一個候選高級加密標準算法,其效率非常高。 RC4是被廣泛使用的一種同步流密碼。 在密碼學中的很多場合下都要使用隨機數(shù),安全的隨機數(shù)應(yīng)該滿足隨機性和不可預測性。 密鑰分配為通信的雙方發(fā)送會話密鑰。
密碼技術(shù)是信息系統(tǒng)最重要的安全機制。密碼技術(shù)主要分為對稱密碼技術(shù)(也稱單鑰或者傳統(tǒng)密碼技術(shù))和非對稱密碼技術(shù)(也稱雙鑰或者公鑰密碼技術(shù))。在對稱密碼技術(shù)中,加密密鑰和解密密鑰相同,或者一個密鑰可以從另一個密鑰導出。而非對稱密碼技術(shù)則使用兩個密鑰,加密密鑰和解密密鑰不相同。對稱密碼技術(shù)主要使用兩種技巧: 代換和置換。代換是將明文中的每個元素映射成另一個元素。置換是將明文中的元素重新排列。在20世紀70年代以前的加密技術(shù)都是對稱加密技術(shù),并且在這些加密技術(shù)中只使用了代換或者置換技巧。這個時期的加密技術(shù)也稱為古典加密技術(shù)。在20世紀70年代以后出現(xiàn)的對稱加密技術(shù)則同時使用了代換和置換兩種技巧。這兩個階段的加密技術(shù)還有一個典型區(qū)別: 古典加密技術(shù)一般將加密算法保密,而現(xiàn)代的對稱加密技術(shù)則公開加密算法,加密算法的安全性只取決于密鑰,不依賴于算法。非對稱密碼技術(shù)則產(chǎn)生于20世紀70年代。
3.1基 本 概 念
密碼學(Cryptology)是以研究秘密通信為目的,即對所要傳送的信息采取一種秘密保護,以防止第三者對信息進行竊取的一門學科。密碼學作為數(shù)學的一個分支,包括密碼編碼學(Cryptography)和密碼分析學(Cryptanalysis)兩部分。密碼編碼學是研究加密原理與方法,使消息保密的技術(shù)和科學,它的目的是掩蓋消息內(nèi)容。密碼分析學則是研究破解密文的原理與方法。密碼分析者(Cryptanalyst)是從事密碼分析的專業(yè)人員。采用加密的方法偽裝消息,使得未授權(quán)者不可理解被偽裝的消息。被偽裝的原始消息(Message)稱為明文(Plaintext)。將明文轉(zhuǎn)換為密文的過程稱為加密(Encryption),加了密的消息稱為密文(Ciphertext),
圖3.1加密解密過程
而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密(Decryption)。加密解密過程如圖3.1所示。將明文轉(zhuǎn)換為密文的算法稱為密碼(Cipher)。一個加密系統(tǒng)采用的基本工作方式叫做密碼體制(Cryptosystem)。實際上在密碼學中的“系統(tǒng)或體制(System)”、“方案(Scheme)”和“算法(Algorithm)”等術(shù)語本質(zhì)上是一回事,在本書中我們也將使用這些術(shù)語。加密和解密算法通常是在一組密鑰(Key)控制下進行的,分別稱為加密密鑰和解密密鑰。如果加密密鑰和解密密鑰相同,則密碼系統(tǒng)為對稱密碼系統(tǒng)。
3.2對稱密碼模型
對稱密碼也稱傳統(tǒng)密碼,它的特點是發(fā)送方和接收方共享一個密鑰。對稱密碼分為兩類: 分組密碼(Block Ciphers)和流密碼(Stream Ciphers)。分組密碼也稱為塊密碼,它是將信息分成一塊(組),每次操作(如加密和解密)是針對一組而言。流密碼也稱序列密碼,它每次加密(或者解密)一位或者一個字節(jié)。
一個對稱密碼系統(tǒng)(也稱密碼體制)由5個部分組成。用數(shù)學符號描述為S={M,C,K,E,D},如圖3.2所示。
圖3.2對稱密碼系統(tǒng)模型
(1) 明文空間M,表示全體明文的集合。(2) 密文空間C,表示全體密文的集合。(3) 密鑰空間K,表示全體密鑰的集合,包括加密密鑰和解密密鑰。(4) 加密算法E,表示由明文到密文的變換。(5) 解密算法D,表示由密文到明文的變換。
在發(fā)送方,對于明文空間的每個明文,加密算法在密鑰的作用下生成對應(yīng)的密文。接收方將接收的密文,用解密算法在解密密鑰的控制下變換成明文。我們可以看到加密算法有兩個輸入,一個是明文; 另一個是密鑰。加密算法的輸出是密文。解密算法本質(zhì)上是加密算法的逆運行,解密算法的輸入是密文和密鑰,輸出是明文。
對明文M用密鑰K,使用加密算法E進行加密,常常表示為Ek(M),同樣用密鑰K使用解密算法D對密文C進行解密,表示為Dk(C)。在對稱加密體制中,解密密鑰相同,有:
C=Ek(M)
M=Dk(C)=Dk(Ek(M))
從對稱密碼模型可以看到,發(fā)送方和接收方主要進行加密和解密運算,我們希望這個運算越容易越好,對于攻擊者而言,我們希望他們破譯密文的計算越難越好。因此一個好的密碼體制至少要滿足下面幾個條件。
(1) 已知明文M和加密密鑰K時,易于計算C=Ek(M)。(2) 加密算法必須足夠強大,使破譯者不能僅根據(jù)密文破譯消息,即在不知道解密密鑰K時,由密文C計算出明文M是不可行的。(3) 由于對稱密碼系統(tǒng)雙方使用相同的密鑰,因此還必須保障能夠安全地產(chǎn)生密鑰,并且能夠以安全的形式將密鑰分發(fā)給雙方。(4) 對稱密碼系統(tǒng)的安全只依賴于密鑰的保密,不依賴于加密和解密算法的保密。
3.3密 碼 攻 擊
分析一個密碼系統(tǒng)是否安全,一般是在假定攻擊者知道所使用的密碼系統(tǒng)情況下進行分析的。一般情況下,密碼分析者可以得到密文,知道明文的統(tǒng)計特性、加密體制、密鑰空間及其統(tǒng)計特性,但不知道加密截獲的密文所用的特定密鑰。這個假設(shè)稱為Kerckhoff假設(shè)。分析一個密碼系統(tǒng)的安全性一般是建立在這個假設(shè)的基礎(chǔ)上。當然,如果攻擊者不知道所使用的密碼體制,那么破譯是更難的。但是,不應(yīng)當把密碼系統(tǒng)的安全性建立在攻擊者不知道所使用的密碼體制這個前提之下。因此,在設(shè)計一個密碼系統(tǒng)時,其目的應(yīng)當是在Kerckhoff假設(shè)下達到一定的安全程度。攻擊對稱密碼體制有兩種方法: 密碼分析和窮舉攻擊(Brute Force Search)。密碼分析是依賴加密算法的性質(zhì)和明文的一般特征等,試圖破譯密文得到明文或試圖獲得密鑰的過程。窮舉攻擊則是試遍所有可能的密鑰對所獲密文進行解密,直至得到正確的明文; 或者用一個確定的密鑰對所有可能的明文進行加密,直到得到與所獲得的密文一致。
3.3.1窮舉攻擊 窮舉攻擊是最基本的,也是比較有效的一種攻擊方法。從理論上講,可以嘗試所有的密鑰。因此只要有足夠的資源,任何密碼體制都可以用窮舉攻擊將其攻破。幸運的是,攻擊者不可能有無窮的可用的資源。窮舉攻擊的代價與密鑰大小成正比。窮舉攻擊所花費的時間等于嘗試次數(shù)乘以一次解密(加密)所需的時間。顯然可以通過增大密鑰位數(shù)或加大解密(加密)算法的復雜性來對抗窮舉攻擊。當密鑰位數(shù)增大時,嘗試的次數(shù)必然增大。當解密(加密)算法的復雜性增大時,完成一次解密(加密)所需的時間增大。從而使窮舉攻擊在實際上不能實現(xiàn)。表3.1是窮盡密鑰空間所需的時間。從表3.1中我們可以發(fā)現(xiàn),當密鑰長度達到128位以上時,以目前的資源來說,窮舉攻擊將不會成功。
書質(zhì)量不錯
書質(zhì)量不錯
書質(zhì)量不錯
挺好的,挺好的
包裝完好,物流很快!