第十一章? 信息安全技術
11.1? 信息安全關鍵技術
11.1.1? 加密和解密
有意的計算機犯罪 和 無意的數據破壞
被動攻擊:非法地從傳輸信道上截取信息,或從存儲載體上 偷竊、復制 信息。
主動攻擊:對傳輸或存儲的數據進行 惡意的刪除、篡改 等。
密碼技術是防止數據攻擊的一種有效而經濟的方法。
信源、信宿、明文、密文。
傳輸消息的通道稱為信道,參數 稱為 密鑰,解密算法是加密算法的逆運算。
加密密鑰與解密密鑰相同,或者可以簡單相互推導 的密碼體質 稱為 對稱密碼體質。
不能(在有效時間內)相互推導的,稱為 非對稱密碼體質。
1、對稱密鑰密碼體質及典型算法
對稱算法(Symmetric Algorithm),有時又稱為 傳統密碼算法,也稱 單密鑰算法。
安全通信之前,商定一個密鑰,安全性依賴于密鑰,密鑰的保密性對通信至關重要。
優點:算法實現的 效率高、速度快。
缺點:密鑰的管理過于復雜。
1. DES 算法簡介
DES(Data Encryption Standard,數據加密標準)是IBM公司研制,美國國家標準局 1977年公布,作為 非機要部門 使用的數據加密標準。
DES 是一個分組加密算法,以64位為分組對數據加密。密鑰長度56位(因為每個第8位都用作奇偶校驗)。
2. IDEA 算法簡介
國際數據加密算法(International Data Encryption Algorithm,IDEA)前身是 推薦加密標準(Proposed Encryption Standard,PES)。
分組長度 64b,密鑰長度128b。
運算非常簡單,只是 異或,速度極快,窮舉破解不現實。
2、不對稱密碼加密算法
不對稱密碼體制又稱 雙密鑰和公鑰密碼體質,1976年 由 Diffie 和 Hellman 提出的。
私鑰 秘密保存。
不需要事先通過安全秘密管道交換密鑰。
RSA 的安全性依賴于大素數分解。公鑰和私鑰 都是兩個大素數(大于100個十進制 位)的函數。
據猜測,從一個 密鑰和密文 中,推斷出明文的難度 等同于 分解兩個大素數的 積。
具體操作時 考慮到 安全性 和 M信息量 較大等因素,一般是 先做 HASH 運算。
速度慢一直是 RSA 的缺陷,因此一般來說,RSA只用于少量數據加密。
11.1.2? 散列函數與數字簽名
1、MD5 散列算法
散列函數是一種公開的數學函數。散列函數運算的輸入信息叫做 報文,運算后所得的結果叫做 散列碼 或 消息摘要。
特點:
1. 給定 M,要找到另一消息 M,使 H(M)= H(M')很難。
2. 散列函數都是 單向的,反推 M 很難。
3. 對于任何一個報文,無法預知它的散列碼。
4. 散列碼具有固定的長度,不管原始報文長度如何。
常見的散列函數有:MD5、SHA、HMAC 等。
MD5(Message Digest 5)已成為國際標準,產生128位(16字節)長度的散列值(或稱 消息摘要)。
通過以下4個步驟:
1. 附加填充位,填充后數據長度 MOD 512 后 余 448。如果數據長度正好 MOD 512 余 448,增加 512 個填充位,填充個數也就是1~512。
填充位第一個為 1,其余全部是 0。
2.? 補足長度。
3.? 初始化 MD緩存器。
4個32位寄存器,A、B、C、D,初始化為:
A: 01 23 45 67
B: 89 AB CD EF
C: FE DC BA 98
D: 76 54 32 10
4.? 處理數據段。
2、數字簽名與數字水印
1.? 數字簽名可以解決 否認、偽造、篡改、冒充 等問題。
凡是需要對用戶身份進行判斷的情況 都可以使用數字簽名。
三個過程:系統的初始化過程、簽名產生過程、簽名驗證過程。
簽名者必須注意保護好私有密鑰,因為它是公開密鑰體系安全的重要基礎。
如果密鑰丟失,應該立即報告鑒定中心取消認證,鑒定中心必須能夠迅速確定用戶的身份及其密鑰的關系。
RSA、ElGamal、Fiat-Shamir、美國的數字簽名標準/算法(DSS/DSA)、橢圓曲線 等多種。
2.? 數字水印(Digital Watermarking)是實現版權保護的有效辦法,也是信息隱藏技術研究領域的重要分支。
通過在原始數據中嵌入秘密信息——水印(Watermark)來證實該數據段所有權。
水印可以是一段 文字、標識、序列號 等,通常是不可見或不可察的,與原始數據緊密結合并隱藏其中。
數字水印技術必須具有較強的 魯棒性、安全性、透明性。
數字水印主要應用領域:
版權保護,作品被盜版或出現版權糾紛時,所有者即可 從盜版作品或水印版作品中 獲取水印信號作為依據。
加指紋,將不同用戶端 ID 或 序列號 作為不同的水印(指紋)嵌入作品的合法備份中,一旦發現未授權的備份,就可以 確定它的來源。
標題與注釋。
篡改提示,可將原始圖像分成多個獨立塊,再將每個塊加入不同的水印,來確定作品的完整性,這類水印必須是脆弱的,并且檢測水印信號時,不需要原始數據。
使用控制,防復制。
空域算法、變換域算法、壓縮域算法、NEC算法、生理模型算法 等。
11.1.3? 密鑰分配中心與公鑰基礎設施
現代密碼系統中,算法本身的保密已經不重要了,只要密鑰能夠保密,即使加密算法公開,甚至加密設備丟失,也不會對加密系統的堅固性和正常使用產生多大影響。
如何高效地分配密鑰、安全地管理密鑰 對保證數據安全來說 至關重要。
1、密鑰分配中心
密鑰自動分配 是 密鑰分配中心(Key Distribution Center,KDC)技術。
2、數字證書和公開密鑰基礎設施
數字證書的內容一般包括:唯一標識證書所有者的名稱、唯一標識證書簽發者的名稱、證書所有者的公開密鑰、證書簽發者的數字簽名、證書的有效期、證書的序列號 等。
PKI(Public Key Infrastructure,公鑰基礎設施)的結構模型有三類實體:管理實體、端實體、證書庫。
管理實體是PKI的核心,是服務的提供者,端實體是PKI的用戶。
CA 和 RA 是兩種管理實體,CA 能夠 發布和撤銷 證書,維護證書的生命周期。RA負責處理用戶請求。
證書庫的存取對象為證書和CRL,其完整性由數字簽名來保證,因此不需要額外的安全機制。