- 分組加密模式和序列加密模式。它們之間最大的區 別在于分組加密模式每次對一組數據進行加密運算處理,而序列加密模式則逐位對數據進 行加密運算處理。事實上,在實際設計應用的算法中,并沒有那么嚴格的區別,它們有可能是相互結合的。比如輸出反饋分組加密模式,就可以看作分組加密算法和序列加密模式 的結合。事實上,該序列加密模式的輸出函數由分組加密算法和一個位選擇器組成。
- 表列出了分組加密模式和序列加密模式的一些性能上的對比。 分組加密模式和序列加密模式各有優勢。
- 分組加密模式便于軟件實現,可以每次對一組數據進行處理,避免耗時特別大的位操作,也更能闡釋計算機目前常用的分組概念。序列加密模式更適于硬件操作,因為硬件很適合逐位進行計算操作,這對算法的硬件實現是 非常有利的。
傳輸數據加密
-
將傳輸數據的加密分為物理信道加密、鏈路加密、終端加密、會話加密及應用加密。
物理信道加密
- 物理信道加密方式的加密設備或程序放置在鏈路層和物理層之間,也就是說,所有經過物理設備的數據都將被加密保護,無論是數據還是上層的協議信息。這種數據保護方式 非常有利于使用硬件加密設備,因為一般的物理接口都是工業標準化的。但是,因為該方式對所有數據包括路由信息都進行了加密,所以該方式只適合使用在專有線路或者同類型 線路上,任何中間的路由在處理信息之前都必須先進行加密。
- 就安全性來說,這種數據保護方式是非常有效的,因為它對物理信道中傳輸的所有信 息都進行了加密,不但隱藏了數據,而且將所有可能的通信信息都保護起來,攻擊者不能 得到通信源和目的地址,也不能得到通信的時長和數據量。因為物理信道總是在傳輸一系 列的數據位,沒有終止的時候。
- 但是,物理信道加密的方式也存在問題。因為它是對所有數據進行加密,所以網絡節 點上的路由器都需要對所有數據進行解密和加密,工作量非常大。此外,因為是基于物理鏈接的加密,所以必須保證網絡上所有的節點都是可信和安全的,如果網絡上有任何一個 節點有安全問題,那么就會泄漏大量信息。但是,對于一個大的網絡來說,通常很難做到保證所有節點都安全可信
鏈路加密
- 鏈路加密方式的加密設備放置在鏈路層和網絡層 (IP)之間,它將通過IP傳輸的所有數據 (包括原始的IP頭部)都進行加密保護,然后添加新的IP頭發往設定的目標地 址 。 基 于 IPSec 隧 道 方 式 的 VPN 技 術 就 是 其 實 現 的 例 子 。 跟 物 理 信 道 加 密 方 式 不 一 樣 , 該方式運行于鏈路層協議之上,并將所有基于IP傳輸的數據發往特定的目標地址,這構 成了一個邏輯意義上的私有網絡,將公共網絡的數據和這個邏輯私有網絡的數據分離開來,不能互通,這就是所謂的虛擬專用網技術。
- 相對于物理信道加密方式,由于使用鏈路加密方式的數據一般在公共網絡中進行傳輸,所以給攻擊者透露了更多的通信信息,比如IP網關目的地址和源地址,通信的數據量等。但是因為通過兩個網關的數據可能是許多實際終端數據無序的綜合,所以攻擊者很 難獲取有用的信息,從而起到了很好的通信量保密作用。同時,鏈路加密方式也需要考慮 密鑰管理等問題。
- 基于鏈路加密方式的最熱門的應用就是VPN技術,該技術通過在公共網絡 (如 Internet) 中 構 建 一 個 虛 擬 的 專 用 網 絡 , 從 而 為 具 有 很 多 分 支 機 構 的 組 織 和 公 司 提 供 了 廉價的專用網絡替代解決方案。
終端加密
- 終端加密的加密設備放置在網絡層 (IP)和傳輸層 (TCP、UDP等傳輸協議)之間, 它對傳輸層的數據和協議進行了加密保護,然后發往指定的目標終端。目標終端接收到該 信息之后,同樣需要對IP層傳送上來的數據進行解密,然后再交給傳輸層相應的協議模 塊進行處理。跟鏈路加密方式不一樣,終端加密方式對IP首部不進行保護,所以適合于 端對端的通信,能夠保護兩個終端之間所有通過IP進行傳輸的數據。IPSec的傳輸方式 就是終端加密方式實現的例子之一。
- 終端加密的方式只對兩個終端之間傳輸的數據進行加密,很容易受到基于信息量分析 的安全攻擊。此外,同樣需要考慮密鑰分發等密鑰管理問題。
會話加密
- 會話加密的加密設備放置在傳輸層和應用協議 (如 HTTP,FTP等)之間,它對上層特定應用協議的數據進行加密保護,然后再交給傳輸層處理。SSL (SecureSocket Layer)協議就是會話加密方式實現的著名例子。事實上,會話加密存在很多靈活的形式,
- 比如可以只對基于TCP之上的數據進行加密保護,也可以只對基于UDP上的數據進行保護,甚至可以只對基于 TCP之上的 HTTP協議進行單獨的保護等。雖然理論上可以實現對所有基于特定傳輸協議 (如 TCP)之上的應用協議進行統一的保護,但是目前來說, 更多的是針對特定應用協議的保護,如針對 HTTP協議的保護。
- 會話加密通常是對兩個終端之間的一個會話鏈接進行加密保護,所以能夠給攻擊者透露很多通信量方面的信息,如通信的數據量、通話時長,等等,容易受到通信量分析攻 擊。此外,密鑰管理同樣是需要考慮的問題。
- 會話加密的優點是靈活性好,可移植性好,不需要更改系統底層的協議。設計、開發 及投入應用的周期相對比較短,并且能夠適應特別行業客戶的需要。比如有的用戶可能只對 HTTP 協 議 的 數 據 保 密 感 興 趣 , 那 么 它 就 完 全 沒 有 必 要 采 用 VPN 技 術 , 因 為 這 種 技 術可能還會妨礙他對其他協議的使用。
應用加密
- 應用加密的加密設備或程序是放置在應用網絡協議之上的,它對真正的信息數據進行 加密保護,而對應用協議信息不作任何保護,是一種最上層的數據加密保護方式。PGP (Pret ty Good Privacy) 程 序 是 該 加 密 模 式 實 現 的 例 子 之 一 , 該 程 序 對 要 通 過 電 子 郵 件 發 送的信息進行加密保護,然后再使用電子郵件的相應協議發送出去。
- 應用加密方式具有非常大的靈活性,如果愿意,可以在任何應用程序之中嵌入應用加密程序,從而實現對數據的保護。同樣,如果需要通過網絡進行傳輸,應用加密模式也面 臨密鑰管理的一系列問題。其通信量的泄漏跟會話加密方式基本相同。
存儲數據加密
- 加密算法還經常被用于加密存儲的數據,比如對文件、數據庫或驅動器進行加密。存 儲數據的加密跟通信數據的加密有很多不同點,比如密文的保存時間、密文的數據量及密 鑰的保存時間,等等。
- 單個文件的數據加密非常容易解決,進行統一的加密就可以了。如果文件過大,為了安全性,可以使用一個長密鑰的不同部分對文件的不同部分進行加密;也可以使用多個子密鑰對文件的不同部分進行加密,然后使用一個主密鑰加密這些子密鑰,這樣可以降低字典攻擊成功的危險。
- 對于數據庫這樣的存儲方式,雖然對整個數據庫進行統一的加密將是簡單的,但是會 帶來一系列問題。首先是對于大型數據庫,如果只需要讀取其中一條記錄的一個字段的數據,卻需要花大量的時間對整個數據庫進行解密,這是很不可行的。其次,對于數據庫字段的不同部分,可能有不同的權限控制,這樣使用相同的密鑰顯然是實現不了的。解決的 辦法是對不同的字段使用不同的密鑰進行加密,但是這樣很容易受到分組重放攻擊,此外,還需要設計產生不同密鑰的方法。
- 經常會涉及對驅動器加密的問題。針對驅動器的加密具有數據量大的特點,所以一般 使用主密鑰加密數據加密密鑰的密鑰管理方式。事實上,可以有兩種不同的驅動器數據加 密方式:驅動器級和文件級。文件級加密方式是針對每個文件分別進行加密,一般每個文件都使用不同的加密密鑰,所有這些加密密鑰都使用一個主密鑰進行保護。這樣在使用某 個文件時,需要對這個文件進行解密、使用,然后再加密。驅動器級的加密方式對整個邏 輯驅動器進行加密,但是涉及驅動器安裝、文件扇區管理及磁盤數據隨機存取等問題,所 以實現起來比較復雜。這種情況下,啟動驅動器前會要求用戶輸入一個口令,通過這個口 令產生一個主密鑰,然后用這個主密鑰解密真正的解密密鑰。
存儲數據的加密通常有以下特點
- 密文和密鑰存儲的時間長,需要安全可靠的方式保管密鑰。
- 因為針對存儲設備,要求快速進行數據的加密和解密,甚至需要采用硬件加密設備或者特殊算法。
- 對于數據庫這樣的加密應用,因為數據庫每個字段的長度可能比加密算法的數據塊長度小,所以會導致密文長度比明文長度大,這樣會導致需要更多的存儲空間。
- 密鑰管理更加復雜,因為不同的人可能需要存取不同的文件或者同一個數據庫的不同部分。因為加密的數據量太大,不能使用一個單獨的密鑰加密所有數據,否則密鑰很容易受到唯密文攻擊。
- 安全管理非常重要。你必須保證你加密的數據相對應的明文不會在別的地方被攻 擊者取得,否則很容易受到已知明文攻擊。還必須保證在閱讀解密后的內容之后徹底將解 密的內容銷毀,否則也容易受到攻擊。
硬件加密和軟件加密的對比
- 速度優勢。加密算法的運行很多不是普通計算機所能完成的,所以在計算機上運 行效率會非常低,而使用專門針對某種特定算法設計的硬件卻能大大加快計算速度。
- 安全性。對于軟件加密算法或者程序,可以通過程序跟蹤攻擊更改算法而卻能不 讓任何人發現。但是硬件加密設備進行了嚴密的封裝,包括防篡改、防電子輻射等設備, 使得硬件的安全性更有保障。
- 容易使用。硬件加密設備一般是做成了標準的硬件接口,不需要什么密碼知識就 能簡單地將設備連接到計算機或其他設備中進行使用。而如果使用軟件,則需要多得多的 知識。
雖然硬件加密有這么多優點,但是這些優點是針對用戶來說的。對于開發者來說,開發一個硬件加密設備所需要的成本可能會比開發一個軟件加密程序高得多,需要的時間也 長得多。這也是國內目前硬件加密設備比較少的重要原因。
軟件解密
- 軟件可以實現任何加密算法,其缺點是速度慢、開銷大和容易受到篡改;優點是靈活 性好、可移植性強及容易升級。軟件加密程序很容易得到,所以個人用戶可以輕松地使用 軟件加密保護自己的文件和數據。加密軟件開發的周期一般來說也比較短,不需要開發公 司投入大量的前期資金。這就是軟件加密在國內流行的重要原因。