第六章 加密技術應用 6-1 建立信任關係 6-2 對稱金鑰加密技術 6-3 不對稱金鑰加密技術 6-4 雜湊加密技術 6-5 加密工具程式 6-6 專有不對稱金鑰加密技術
6-1 建立信任關係 兩個主機間的信任關係是指這兩個主機可以做以下兩件事情:第一,它們能夠驗證彼此的身份;第二,彼此間傳輸資料時能夠加密資料。 建立信任關係要求兩台或兩台以上的主機之間彼此交換金鑰。當一台主機把金鑰給另一台時,這台主機可以加密資訊,這樣只有遠端的那台主機可以將資訊解密。
6-1-1 金鑰的分配方式 1.手動分配 用手動分配時,首先要與接收者交換公開金鑰,然後,把給接收者公開金鑰的訊息進行編碼。 2.自動分配 經由一系列被稱做握手(handshakes)的資料交換方式,以一種合理的安全的方式來交換資訊。
6-1-2加密技術術語 第5章中介紹過對稱和不對稱金鑰的加密技術。在繼續介紹信任關係這個主題前,有必要描述一下這些加密技術類型中使用的術語。輪(round)是指加密過程的離散部分。演算法(algorithm)一般將資訊提交給幾輪處理。輪的數目越高越好。 在加密技術中,平行化(paralle-lization)是使用多行程(process)、多處理器或多機器對同一個加密演算法進行解譯。
6-1-3 區塊密碼和串流密碼 區塊密碼演算法以離散的塊狀形式加密資料,這是一種比較流行的模式,因為在資料被加密之前校驗資料的完整性比較容易。 串流密碼模式是指一位元接一位元地即時加密資料。這個方法比使用區塊模式更快,特別是用在位數比較小的資料上。
6-2 對稱金鑰加密技術 加密演算法使用的金鑰加密演算法可分為兩種,一種為對稱式金鑰加密法,另一為非對稱式金鑰加密法。 對稱式金鑰加密法所使用之加密及解密之金鑰,為相同一把金鑰,意指使用相同一組密碼來加解密。使用對稱式金鑰加密的好處在於其加解密速度快。
6-2-1 對稱金鑰加密技術原理
6-2-2 對稱金鑰演算法 1.資料加密標準(DES) 2.三重DES 3.RSA的對稱金鑰演算法 4. RC2、RC4、RC5和RC6 5.國際資料加密演算法(IDEA) 6.Blowfish和Twofish 7.Skipjack 8.MARS 9.Rijndael和Serpent 10.其他對稱金鑰演算法
6-2-3 高級加密標準(AES) 多數安全專家認為DES和三重DES不再能滿足安全需要。1997年1月,NIST開始確定接替DES演算法的程式,決定所選的對稱金鑰演算法被稱做高級加密標準(Advanced Encryption Standard)。
6-3 不對稱金鑰加密技術 金鑰對中一個金鑰是公開的,而另一個是保密的。你決定向外發佈的那一半被稱做公開金鑰,另一半保密的是私密金鑰。最初分發哪一半都可以,一旦金鑰對中的一個金鑰已經被分發,則這個金鑰就要保持公有。私密金鑰也必須總保持私有,一致性是關鍵。
6-4 雜湊加密技術 雜湊加密技術(也稱單向加密技術)是將任何長度的文件和資訊轉換為雜亂的、128位元的代碼,這段代碼被稱為雜湊值。 訊息中微小的改變會導致一個不同的雜湊值,這樣可以幫助你發現檔案中所做的改變。 為確保資料是源於發送者,想對資料進行簽名的人現在只能加密雜湊值。這種簽名的形式提供了安全機制、身份驗證和資料的完整性。
6-4-1 雜湊加密和簽章 使用公開金鑰加密的過程通常較慢,因此密碼專家發明了一種方法,可以由欲發送的訊息產生一個長度很短、且獨一無二的「記號」,稱為「訊息摘要」,將它用你的私密金鑰加密,即可做為你的電子簽章(digital signature)。有些方法可以很快地產生訊息摘要,其中廣受歡迎的一種方法就是雜湊加密技術。
6-4-2 MD2、MD4和MD5 MD2、MD4和MD5雜湊演算法屬於單向雜湊函數」(one-way hash function)。這些函數接收任意長度的位元組,並產生一個唯一的定長(通常為128位元)指印。這個過程是單向的,因為不可能再由簽名反向產生訊息,並且指印是唯一的,沒有任何兩個訊息具有相同的雜湊值。
6-4-3 安全雜湊演算法 安全雜湊演算法(SHA-l)是由NIST和NSA開發的,並在美國政府中使用。 SHA在結構上與MD4和MD5類似。雖然它比MD5的速度慢25%,但它更安全。 SHA產生的訊息摘要比MD函數產生的要長25%,與MD5相比,它對抗攻擊的能力更強、更安全。
6-4-4 使用MD5sum的雜湊演算法 MD5可以應用在Windows 2000和Linux系統中,也經常與各種加密工具程式一起使用,例如設計用來加密硬碟。 Linux的MD5sum工具程式建立一個固定長度的個人檔案校驗和。被校驗的檔案可以是任意長度,但MD5產生的校驗和的結果總是固定在128位元。這個校驗和非常有用,因為它檢查檔案是否被修改過。
6-5 加密工具程式 大多數現代動態加密技術使用對稱金鑰、不對稱金鑰和雜湊加密的組合技術。這種組合技術是利用每種加密演算法的優勢,同時把它們的缺點最小化。
6-5-1 加密技術和電子郵件 電子郵件是最明顯地使用加密技術的應用程式,特別是現在的商業用戶都依賴它。用於加密電子郵件的流行方法包括PGP/MIME和S/MIME。 儘管加密技術標準不同,但基本原則是一致的。許多加密程式使用各式各樣的對稱金鑰、不對稱金鑰和單向演算法,並且改變加密資料的順序,但整個過程是一樣的。
6-5-2 PGP 和 GPG PGP和GPG是目前最常用於電子郵件和文字檔案的高科技加密程式。因為利用了對稱金鑰、不對稱金鑰技術和雜湊加密的優點,所以它們都是比較成功的加密程式。 PGP最先是由Phil Zimmerman開發的,然後賣給了網路聯合會。現在,網路聯合會已經停止繼續開發PGP了。不過,可以存取PGP網站的首頁 www.pgp.com 。
6-5-3 在Win2000/XP中安裝PGP 刪除PGP會使系統無法作業,特別是刪除PGP會引起系統軟體無法識別網路卡。務必在自己的磁碟上安裝和卸載PGP。 瞭解更多PGP的資訊,請存取www.pgpi.org 網站的PGP文件。
6-5-4 使用於Windows 2000/XP的PGP輸出和簽名公開金鑰
6-5-5 使用Windows 2000/XP的PGP交換加密的訊息 在這個練習中,你將使用PGP和Outlook Express發送加密的電子郵件。
6-5-6 使用Red Hat Linux的GPG產生一個金鑰對 在這個練習中,你將使用GPG來操作公開金鑰密碼技術。此應用套裝程式含在Red Hat Linux中。
6-5-7 在Linux系統中交換和簽名公開金鑰 在這個練習中,你將與一位朋友交換公開金鑰,然後對它們簽名。
6-5-8 使用GPG加密和解密檔案 在這個練習中,你將使用GPG和朋友的公開金鑰加密一個檔案。
6-5-9 建立簽名檔案 在這個練習中,你將建立一個簽名檔案,然後給你的朋友。
6-6 專有不對稱金鑰加密技術 真正的電子郵件伺服器而不是用戶端程式,能夠加密和解密訊息。這種專有加密系統的優點是:因為加密技術被完全整合到郵件伺服器,所以,用戶只需單擊一個按鈕就能加密和解密。這種解決方案是很有效的,因為用戶不用再產生金鑰或按步驟解密訊息。這種方法可以節省時間。 專有不對稱金鑰加密方法的缺點是它只能與同一個廠商的伺服器相容。
6-6-1 加密磁碟機 除了可以加密電子郵件以外,還可以加密檔案和硬碟的整個分割區,為檔案建立檢驗和建立隱藏的、加密的磁碟機。 Windows 2000的加密檔案系統(EFS)是本機作業系統的一個解決方案。它可以加密檔案和資料夾。
6-6-2 安全HTTP和安全通訊層 安全超文字傳輸協定(Secure HTTP)和安全通訊層(SSL)都允許自動加密資料。它們經常使用在Web、電子郵件和網路新聞傳輸協定(NNTP)伺服器中幫助確保安全的傳輸和通信。
S-HTTP 安全HTTP(S-HTTP)使用不對稱的過程確保線上傳輸的安全,但是這種連接一旦建立,它就使用對稱金鑰。大多數流覽器都支援這個協定,包括Netscape Navigator和Microsoft Internet Explorer。
SSL 安全通訊層(SSL)協定允許用戶設定自己的應用程式用於通過公共網路私下交換資料。SSL幫助阻止偷聽、篡改和偽造訊息等行為。 由於很多其他的應用程式用於安全工業,所以主要的Web瀏覽器和許多電子郵件用戶端程式都支援SSL。
6-6-3 一般SSL用戶端錯誤 1.認證授權機構沒有被識別 2.憑證名稱對這台伺服器無效 3.憑證已經過期 4.數位憑證的其他用戶