【安全與加密】數字簽名與CA

安全與加密

對稱加密算法

img

在對稱加密中,我們需要維護一個 密鑰 ( secret key )。數據加密者根據加密算法用 密鑰明文 進行加密,得到不可讀懂的 密文 。數據解密者根據加密算法,用同樣的 密鑰 對密文進行解密,得到原來的明文。

如上圖,在加密和解密的過程中,我們用到了同一個的 密鑰 ,這樣就是 對稱加密算法 中對稱一詞的由來。那麼,對稱加密算法都有哪些呢?各自有什麼特點呢?

  • AES ,高級加密標準,新一代加密算法標準,速度快,安全級別高;
  • DES ,數據加密標準,速度較快,適用於加密大量數據,但安全性較弱;
  • Blowfish ,使用變長密鑰,運行速度很快,非專利算法,沒有使用限制;
  • etc
安全級別 ( Security Level ) 工作因素 ( Work Factor ) 算法 ( Algorithm )
薄弱 ( Weak ) $ O(2^{40}) $ DES
傳統 ( Legacy ) $ O(2^{64}) $ RC4
基準 ( Baseline ) $ O(2^{80}) $ 3DES
標準 ( Standard ) $ O(2^{128}) $ AES-128
較高 ( High ) $ O(2^{192}) $ AES-192
超高 ( Ultra ) $ O(2^{256}) $ AES-256

根據安全性,對稱加密算法應該優先選擇 AES ,位數儘可能大,例如 AES-256

由於所有參與者共享密鑰,只要一人造成泄露便萬劫不復,這是對稱加密最大的弱點。因此,對稱加密密鑰分發、保管必須嚴格控制,以免泄露。

非對稱加密算法

img

爲解決對稱加密共享密鑰引發的問題,計算機科學家發明了一種更神奇的加密方式。這種加密方式需要兩個密鑰,一個是 公鑰 ( public key )、一個是 私鑰 ( private key )。私鑰由自己保管,不能泄露;公鑰分發給任何需要與自己通訊的參與者,無須保密。

數據加密者根據加密算法,用公鑰對明文進行加密,得到不可讀懂的密文。數據解密者根據加密算法,用私鑰對密文進行解密,得到原來的明文。

由於加密環節和解密環節所用的密鑰不同,因此這種加密方式也稱爲 非對稱加密 ( asymmetric encryption )。由於公鑰可以對外公開,也就不用刻意保護了。

此外,如果數據用私鑰進行加密,那麼只有用公鑰才能解密。由於公鑰是公開的,這種機制一般不用於加密數據,而用於對數據進行 簽名

單向散列(哈希)

# md5sum -c file

[root@localhost bak]#cat md5.log 
8030797db7e4fc4f71c18658bfd662f5  /bak/fstab
[root@localhost bak]#md5sum -c md5.log 
/bak/fstab: OK
[root@localhost bak]#vim fstab 
[root@localhost bak]#md5sum -c md5.log 
/bak/fstab: FAILED
md5sum: WARNING: 1 computed checksum did NOT match


數字簽名過程

中間人攻擊

在這裏插入圖片描述

CA和證書

證書獲取

證書類型

證書授權機構的證書

服務器

用戶證書

獲取證書方式

使用證書授權機構

自簽名證書

安全協議

SSL:Secure Socket Layer

TLS:Transport Layer Security

常用:TLS 1.2

功能:機密性、認證、完整性、重放保護

兩階段協議:

握手階段:

應用階段:

HTTPS工作過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章