對稱加密,公鑰加密,報文鑑別,https,

加密方面有兩種加密體制:對稱密鑰密碼體制,公鑰密碼體制

公鑰加密定義

公鑰密碼體制分爲私鑰SK(secure key)和公鑰(public key),私鑰加密的可以用公鑰解密,用公鑰加密的可用私鑰解密,一般私鑰服務器自己擁有,公鑰發給其他人客戶端。這樣客戶端將信息用公鑰加密後,發給服務器,就算被黑客截取到了,由於沒有私鑰,依然不知道信息。

公鑰加密作用

  1. 用於客戶端將對稱加密算法安全地傳給服務器
    上面做法存在一個問題,就是如果服務器想發信息給客戶端,服務器就得將信息用私鑰加密,然後傳給客戶端,如果這個時候被黑客截取到,由於公鑰大家都是有的, 黑客就可以破解裏面信息了。所以,公鑰密碼體制一般不用於加密整個過程,一般用法是:
    客戶端將對稱密鑰密碼中的密鑰和算法用公鑰加密,傳給服務器,告訴服務器,我們以後就用這個對稱密碼來通信,然後之後通信就用這個對稱密碼。
  2. 用作數字簽名,安全派發公鑰。
    還有一個問題沒解決?服務器把公鑰發給客戶端,客戶端怎麼知道這個公鑰就是服務器的,這個就需要數字簽名了。
    數字簽名,服務器將明文用MK5報文摘要算法運算得到報文摘要,這個報文摘要用私鑰加密後得到X,將X和明文一起發給客戶端,客戶端先用公鑰解密得到報文摘要X,然後再對明文進行MD5運算,如果,得到的結果也是X,那麼可以證明,剛剛那條明文是服務器發的,因爲只有他有私鑰。
    這裏寫圖片描述

    這個想法可用於公鑰檢驗,不過需要一個公正的第三方CA,首先服務器將自己生成的公鑰,ip地址發給CA,CA收到服務器的公鑰,ip地址信息後,就將其作爲一個明文,進行MD5運算得到X,X和明文稱爲數字證書,然後服務器就把這個數字證書發給客戶端,客戶端收到這個後,就用CA的公鑰解密X,然後對明文進行MD5運算,如果得到的結果一樣,則說明,該證書有效,明文的公鑰是服務器的,之後,就可以用這個公鑰和服務器進行通信。
    這裏寫圖片描述

https和http的區別

https 即http over ssl。即在http與tcp之間套多了一層ssl層,該層用於一開始的https握手,以及後續通信的對稱加密,解密。
具體過程如下:
這裏寫圖片描述
從該過程爲握手過程,在這個過程中,服務器先把數字證書發給客戶端,客戶端檢驗之後,獲得服務器的公鑰,然後隨機生成一段字符串,然後將該字符串用公鑰加密發給服務器,服務器獲得這個字符串後,用和客戶端一致的算法生成對稱密鑰,之後通信就靠這個對稱密鑰。
https比http效率低,原因爲,每次通信時ssl層都得進行加密,而對端得進行解密過程,消耗cpu.

發佈了19 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章