CA證書伺服器(1)資料加密技術

科技小能手發表於2017-11-15

我個人一直認為,在整個網路技術體系最頂端的位置,必定是屬於網路安全技術。要想真正搞通網路安全,那非得從硬體到軟體、從裝置到系統、從理論到實踐……,無所不會,無所不能,非真正技術超一流的大牛所不能為。網路安全是一個複雜的體系,即便只是參加如軟考網工之類的考試,網路安全方面的相關知識也是大多數考生最頭疼的內容。

我個人離技術大牛還差得很遠,下面只能結合即將講到的證書伺服器,對網路安全技術的一些基礎知識做下介紹,也希望對準備參加網工考試的朋友能有所幫助。

網路安全技術雖然非常複雜,但是單就資料通訊傳輸這個方面而言,歸納起來,無法也就是為了解決以下三個方面的問題:
  • 資料的機密性。即如何令我們傳送的資料,即使被其他無關人員截獲,他們也無法獲知資料的含義。
  • 資料的一致性。即保證資料在傳送過程中沒有被篡改,接收方收到的資料與傳送方傳送的資料完全一致。
  • 資料的有效性。指資料不能被否認,一方面我們需要確認收到的資料是由某個確定的使用者發出的,另一方面傳送方不能對自己發出的資料進行抵賴。
對於這三個問題,分別有相應的解決方法:
  • 資料機密性,通過對資料進行加密實現。
  • 資料一致性,通過訊息摘要演算法實現。
  • 資料有效性,通過數字簽名實現。
以上三點可說是網路通訊方面安全技術的總綱,那些名目繁多的協議和演算法無非是為了實現這三個解決方法而採用的不同手段而已。以下的博文也就將從這三個方面分別展開,在這篇博文裡主要談一下資料加密。
 
資料加密是為了實現資料的機密性,這也是網路安全技術中最基礎和最重要的一個部分。這裡面有一些基本概念要先搞明白:
  • 明文,加密之前的資料。
  • 密文,加密之後的資料。
  • 演算法,把資料從明文轉換成密文的方法。
  • 金鑰,在加密演算法中所使用的函式。
為了更好地理解這些概念,下面用一種非常古老的加密演算法——“凱撒加密”作為範例進行說明。
凱撒加密的演算法很簡單:將明文中的所有字母后移k位,就得到了密文,而k就是金鑰。具體如下圖所示。

 

在這個例子中,加密和解密都是使用相同的金鑰,像這類加密演算法就稱為對稱式加密,也稱為共享金鑰加密。任何人只要知道了金鑰,就可以將資料解密。
 
當然,凱撒加密演算法非常簡單,即使不知道金鑰,也很容易將之暴力破解。在實際應用中使用較多的對稱式加密演算法是DES。
DES,Data Encryption Standard資料加密標準,是由IBM公司研製的一種加密演算法。它的基本原理是採用分組加密,將需要加密的資料分成64KB大小的分組,然後再將每個分組等分為32KB大小的兩部分,然後用一個56位數的金鑰對每部分進行加密,最後再將經過加密後的兩部分資料組合成一個分組,此稱之為“1輪”運算。然後將分組再拆分,再加密,再組合,此稱之為“2輪”運算,前後共需經過16輪運算,才可得到最終的加密後的資料。
雖然DES演算法非常複雜,但隨著計算機運算速度的不斷髮展,DES加密已經能夠被暴力破解,所以後來IBM又推出了升級版本——3DES,它要執行3次常規的DES加密,而且金鑰長度也增加了1倍,擴充套件到了112位。
 
除了DES和3DES之外,對稱式加密演算法還有AES、IDEA、RC系列等,這些對稱加密演算法的優點是加密效率比較高,適合對大資料塊的加密。但它們也都存在一個致命的缺點——金鑰管理困難,金鑰一旦被洩露,再複雜的加密演算法也無濟於事。
 
那麼究竟該如何有效地去管理和分配金鑰呢?大家可以做一道軟考網規考試的試題:
 
很多通訊使用對稱金鑰加密方法,其中共享金鑰的分發過程是保證安全的重要環節之一,可用於在使用者甲和乙之間分發共享金鑰的方案是             。

A.甲選取金鑰並通過郵件方式告訴乙

B.甲選取金鑰並通過電話告訴乙

C.甲選取金鑰後通過雙方事先已有的共享金鑰加密後通過網路傳送給乙

D.第三方選取金鑰後通過網路傳送給甲、乙
 
這道題目中的4個選項哪個算是比較靠譜呢?在實際應用中是採用的這種方案嗎?且聽下文分解。

本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1186150


相關文章