密碼學專題 加密模式的選擇|傳輸數據加密

  • 分組加密模式和序列加密模式。它們之間最大的區 別在于分組加密模式每次對一組數據進行加密運算處理,而序列加密模式則逐位對數據進 行加密運算處理。事實上,在實際設計應用的算法中,并沒有那么嚴格的區別,它們有可能是相互結合的。比如輸出反饋分組加密模式,就可以看作分組加密算法和序列加密模式 的結合。事實上,該序列加密模式的輸出函數由分組加密算法和一個位選擇器組成
  • 表列出了分組加密模式和序列加密模式的一些性能上的對比。 分組加密模式和序列加密模式各有優勢。

  • 分組加密模式便于軟件實現,可以每次對一組數據進行處理,避免耗時特別大的位操作,也更能闡釋計算機目前常用的分組概念。序列加密模式更適于硬件操作,因為硬件很適合逐位進行計算操作,這對算法的硬件實現是 非常有利的。

傳輸數據加密

  • 將傳輸數據的加密分為物理信道加密、鏈路加密、終端加密、會話加密及應用加密

物理信道加密

  • 物理信道加密方式的加密設備或程序放置在鏈路層和物理層之間,也就是說,所有經過物理設備的數據都將被加密保護,無論是數據還是上層的協議信息。這種數據保護方式 非常有利于使用硬件加密設備,因為一般的物理接口都是工業標準化的。但是,因為該方式對所有數據包括路由信息都進行了加密,所以該方式只適合使用在專有線路或者同類型 線路上,任何中間的路由在處理信息之前都必須先進行加密。
  • 就安全性來說,這種數據保護方式是非常有效的,因為它對物理信道中傳輸的所有信 息都進行了加密,不但隱藏了數據,而且將所有可能的通信信息都保護起來,攻擊者不能 得到通信源和目的地址,也不能得到通信的時長和數據量。因為物理信道總是在傳輸一系 列的數據位,沒有終止的時候。
  • 但是,物理信道加密的方式也存在問題。因為它是對所有數據進行加密,所以網絡節 點上的路由器都需要對所有數據進行解密和加密,工作量非常大。此外,因為是基于物理鏈接的加密,所以必須保證網絡上所有的節點都是可信和安全的,如果網絡上有任何一個 節點有安全問題,那么就會泄漏大量信息。但是,對于一個大的網絡來說,通常很難做到保證所有節點都安全可信

鏈路加密

  • 鏈路加密方式的加密設備放置在鏈路層和網絡層 (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) 程 序 是 該 加 密 模 式 實 現 的 例 子 之 一 , 該 程 序 對 要 通 過 電 子 郵 件 發 送的信息進行加密保護,然后再使用電子郵件的相應協議發送出去。
  • 應用加密方式具有非常大的靈活性,如果愿意,可以在任何應用程序之中嵌入應用加密程序,從而實現對數據的保護。同樣,如果需要通過網絡進行傳輸,應用加密模式也面 臨密鑰管理的一系列問題。其通信量的泄漏跟會話加密方式基本相同。

存儲數據加密

  • 加密算法還經常被用于加密存儲的數據,比如對文件、數據庫或驅動器進行加密。存 儲數據的加密跟通信數據的加密有很多不同點,比如密文的保存時間、密文的數據量及密 鑰的保存時間,等等。
  • 單個文件的數據加密非常容易解決,進行統一的加密就可以了。如果文件過大,為了安全性,可以使用一個長密鑰的不同部分對文件的不同部分進行加密;也可以使用多個子密鑰對文件的不同部分進行加密,然后使用一個主密鑰加密這些子密鑰,這樣可以降低字典攻擊成功的危險。
  • 對于數據庫這樣的存儲方式,雖然對整個數據庫進行統一的加密將是簡單的,但是會 帶來一系列問題。首先是對于大型數據庫,如果只需要讀取其中一條記錄的一個字段的數據,卻需要花大量的時間對整個數據庫進行解密,這是很不可行的。其次,對于數據庫字段的不同部分,可能有不同的權限控制,這樣使用相同的密鑰顯然是實現不了的。解決的 辦法是對不同的字段使用不同的密鑰進行加密,但是這樣很容易受到分組重放攻擊,此外,還需要設計產生不同密鑰的方法。
  • 經常會涉及對驅動器加密的問題。針對驅動器的加密具有數據量大的特點,所以一般 使用主密鑰加密數據加密密鑰的密鑰管理方式。事實上,可以有兩種不同的驅動器數據加 密方式:驅動器級和文件級。文件級加密方式是針對每個文件分別進行加密,一般每個文件都使用不同的加密密鑰,所有這些加密密鑰都使用一個主密鑰進行保護。這樣在使用某 個文件時,需要對這個文件進行解密、使用,然后再加密。驅動器級的加密方式對整個邏 輯驅動器進行加密,但是涉及驅動器安裝、文件扇區管理及磁盤數據隨機存取等問題,所 以實現起來比較復雜。這種情況下,啟動驅動器前會要求用戶輸入一個口令,通過這個口 令產生一個主密鑰,然后用這個主密鑰解密真正的解密密鑰。

存儲數據的加密通常有以下特點

  • 密文和密鑰存儲的時間長,需要安全可靠的方式保管密鑰。
  • 因為針對存儲設備,要求快速進行數據的加密和解密,甚至需要采用硬件加密設備或者特殊算法。
  • 對于數據庫這樣的加密應用,因為數據庫每個字段的長度可能比加密算法的數據塊長度小,所以會導致密文長度比明文長度大,這樣會導致需要更多的存儲空間。
  • 密鑰管理更加復雜,因為不同的人可能需要存取不同的文件或者同一個數據庫的不同部分。因為加密的數據量太大,不能使用一個單獨的密鑰加密所有數據,否則密鑰很容易受到唯密文攻擊。
  • 安全管理非常重要。你必須保證你加密的數據相對應的明文不會在別的地方被攻 擊者取得,否則很容易受到已知明文攻擊。還必須保證在閱讀解密后的內容之后徹底將解 密的內容銷毀,否則也容易受到攻擊。

硬件加密和軟件加密的對比

  • 速度優勢。加密算法的運行很多不是普通計算機所能完成的,所以在計算機上運 行效率會非常低,而使用專門針對某種特定算法設計的硬件卻能大大加快計算速度。
  • 安全性。對于軟件加密算法或者程序,可以通過程序跟蹤攻擊更改算法而卻能不 讓任何人發現。但是硬件加密設備進行了嚴密的封裝,包括防篡改、防電子輻射等設備, 使得硬件的安全性更有保障。
  • 容易使用。硬件加密設備一般是做成了標準的硬件接口,不需要什么密碼知識就 能簡單地將設備連接到計算機或其他設備中進行使用。而如果使用軟件,則需要多得多的 知識。

雖然硬件加密有這么多優點,但是這些優點是針對用戶來說的。對于開發者來說,開發一個硬件加密設備所需要的成本可能會比開發一個軟件加密程序高得多,需要的時間也 長得多。這也是國內目前硬件加密設備比較少的重要原因。

軟件解密

  • 軟件可以實現任何加密算法,其缺點是速度慢、開銷大和容易受到篡改;優點是靈活 性好、可移植性強及容易升級。軟件加密程序很容易得到,所以個人用戶可以輕松地使用 軟件加密保護自己的文件和數據。加密軟件開發的周期一般來說也比較短,不需要開發公 司投入大量的前期資金。這就是軟件加密在國內流行的重要原因。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446324.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446324.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446324.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信公眾號數據2019_2019年9月原創公眾號排行榜數據報告出爐

西瓜數據發布 2019 年 9 月原創公眾號排行榜,分別從西瓜指數、原創文章占比、周期內公眾號發文次數、發文篇數、總閱讀數、頭條平均閱讀數等方面展示公眾號數據。榜單說明1、涉及榜單本期月榜截取 ①財經、②教育、③娛樂、④科技、⑤體育、⑥游戲、⑦文化、⑧美食、…

java 求100天之后是周幾

題目 今天是周二,100天以后是周幾? 代碼 代碼1:減去天數,使循環從周一開始 //方法1:減去天數,使循環從周一開始int today2;//7天一個循環:3 4 5 6 7 1 2 3 4 5 6 7int after100;//(100-5)%…

密碼學專題 OpenSSL專題

OpenSSL總體架構 軟件包分為三個主要的功能部分:密碼算法庫 、 SSL協議庫及應用程序 MacOS,MS,OS/2及 VMS這幾個目錄,包含了在不同的 平臺編譯時的環境變量配置文件,在安裝編譯完成之后,這幾個目錄就沒有作…

java 華氏溫度轉換為攝氏溫度

題目 小明要到美國旅游,可是那里的溫度是以華氏度為單位記錄的。 它需要一個程序將華氏溫度(80度)轉換為攝氏度,并以華氏度和攝氏度為單位分別顯示該溫度。 公式:華氏溫度(攝氏溫度-32)/1.8 M…

hs控什么意思_凡爾賽文學 到底是什么?

點擊藍字關注我們XIE XIE NI DE XI HUAN|| 動漫 情頭 耽美 閨蜜 男女頭 句子控 壁紙 ||左句 凡爾賽文學野象:老是有人提知不知道凡爾賽文學,說實話我不太清楚網絡時下流行的梗,也沒有興趣參與,我還是比較喜歡歐洲古典文學和后現…

密碼學專題 openssl編譯和安裝

Configure 腳本文件 使得OpenSSL可以適應多種不同的系統平臺和多達幾十種不同的編譯器。Configure指令還可以使OpenSSL在編譯的時候具備組件的選擇功能,比如可以選擇支持或者不支持某種算法或者協議等,這使得OpenSSL具有很大的靈活性,比如在…

Python學習12 文件的讀寫

目標 文件的打開和關閉 mode缺省情況下表示只讀r 文件的路徑 前面加個r’,代表其中的轉義字符不起作用 文件的打開方式 案例:實現文件拷貝的功能 將某一文件夾下的某一文件 保存在當前文件 所在目錄。 import os #讀取文件1 path./file.txt fileopen(path,…

密碼學專題 openssl的基本概念

配置文件 配置文件是OpenSSL的一個基礎結構組件,OpenSSL使用一組稱為OpenSSLCONF的函數來讀取OpenSSL配置文件的信息。OpenSSL提供的主配置文件是opensl.cnf,它集成了OpenSSL所要使用的配置文件選項的大部分內容。此外,OpenSSL還提供了其他一…

該工程中的宏被禁止_建筑勞務分包都能承擔什么工程

來源:找法網建筑工程的承包單位,也就是總承包單位可以將部分建造工程分包給具有資質的施工單位,這是法律所允許的,但是禁止將建造工程進行轉包。一、建筑勞務分包都能承擔什么工程建筑勞務分包能承擔什么工程要看分包單位的資質&a…

python實驗練習-類的多繼承

題目 1、概述: 完成學生,組長,教師的設計與實現。 2、具體實現內容: 學生: 姓名, 年齡, 學號 吃飯, 睡覺, 學習 組長: 姓名, 年齡, 學…

matlab用辛普森公式求積分_積分近似計算之辛普森公式

對于積分區間[a, b],若則成立辛普森公式辛普森公式可看作是改良的梯形公式。梯形公式是以直線逼近實際曲線,而辛普森公式則以二次曲線(即拋物線)逼近。以二次曲線逼近實際曲線根據辛普森公式可得各積分小區間內的積分值如下式所示:其中于是&a…

密碼學專題 文件編碼格式

OpenSSL中雖然使用PEM作為基本的文件編碼格式,但是,由于不同的對象其封裝的標準格式不太一樣,所以經常會導致讀者產生迷惑。此外,OpenSSL也支持DER編碼和過時的Netscape編碼格式(NET)OpenSSL的編碼是基于ASN.1標準的,A…

python實驗練習-圖書管理系統(使用文件來實現)

題目 功能描述: 圖書管理系統項目功能描述: (1)創建txt文本文檔,包含如下: ① books.txt:保存有一些書籍名稱; ② users.txt:用于保存用戶相關的信息; ③ us…

echarts 折線圖 設置y軸最小刻度_【硬貨】vue全家桶+Echarts+百度地圖,搭建數據可視化系統...

作者丨夙言來源丨前端大牛愛好者(Web-2017)https://segmentfault.com/a/1190000018993981本文章篇幅略長,內容有點多,大佬可根據目錄選擇性查閱,新人可一步步來閱讀。1、 前言1.1 業務場景突然接到產品說要做一個數據監控的系統。有線圖、柱狀…

密碼學專題 文本數據庫

應用概述 文本數據庫是跟OpenSSL的CA應用程序緊密結合在一起的,它以文本的方式記錄CA已經簽發的證書的狀態和摘要信息。這些狀態信息可以用于跟證書庫相關的一些操作,比如使用ca指令生成CRL主要就是讀取這個文本數據庫的信息作為參考。文本數據庫就是普…

Python學習13 異常處理機制

概括 常見的異常 異常處理機制 可以多個異常放在元組里面 一旦產生異常,try后面的語句不會繼續執行,會做異常處理 異常使用場景1 close應該放在finally中 異常使用場景2 finally關鍵字 會執行except后面的,報錯

java 布隆過濾器_牛逼哄哄的布隆過濾器,到底有什么用?

Java技術棧www.javastack.cn打開網站看更多優質文章作者:CodeBear的園子www.cnblogs.com/CodeBear/p/10911177.html本文是站在小白的角度去討論布隆過濾器,如果你是科班出身,或者比較聰明,又或者真正想完全搞懂布隆過濾器的可以移…

密碼學專題 序列號文件

序列號文件是ca指令簽發證書的時候的依據文件之一,它從該文件讀取當前簽發的證書的序列號并將序列號文件中的序列號加1,這樣,就可以確保證書的序論號是遞增的,不會重復。序列號文件也是一個文本文件,里面僅僅簡單包含了…

Java web后端6 java Bean EL表達式

EL表達式和JSTL概述 java Bean規范 java中成員變量使用類Integer private Integer count; java Bean的創建 創建java Bean: BookTest.java package com.example.elandjstl.bean;public class BookTest {//java中成員變量使用類Integerprivate Integer count;private Boolean…

python根須系統斜杠_深入淺出Python中的os模塊

「Author:Runsen」當初學Python的時候,把一些標準庫和第三方開源庫學的七零八落,不成系統,正好趁這個機會來系統的整理一下,先從Python常用的標準庫os開始吧。osOS模塊簡單的來說它是一個Python的系統編程的操作模塊&a…