LInux上的加解密工具:OpenSSL,GPG(pgp協(xié)議)
- 加密算法和協(xié)議:
- 對稱加密:加密和解密使用同一個密鑰;(一對多的情況下不建議使用)
DES:DataEncryption Standard(54位,已被攻破)
3DES:升級版
AES:高級加密標(biāo)準(zhǔn)(128bits,192,258,384,512)
Blowfish , Twofish , IDEA , RC6 , CAST5
特性:
a. 加解密使用同一個密鑰;
b. 將原始數(shù)據(jù)分割成固定大小的塊,逐個進行加密;
缺陷:
a. 通信方增多時,密鑰過多;
b. 密鑰分發(fā) - 公鑰加密:密鑰是成對出現(xiàn)的
公鑰:公開給所有人;
私鑰:自己留存,必須保存其私密性;(可用對稱加密再次加密私鑰文件)
特點:公鑰加密私鑰解,私鑰加密公鑰解;
常用領(lǐng)域:
身份認證(數(shù)字簽名):主要讓接收方確認發(fā)送方的身份
密鑰交換:發(fā)送方用對方的公鑰加密一個對稱密鑰,并發(fā)送給對方
數(shù)據(jù)加密(一般不使用,由于私鑰太長導(dǎo)致效率過低)
算法:RSA,DSA,ELGamal - 單向加密:只能加密,不能解密,提取數(shù)據(jù)指紋
特性:定長輸出,雪崩效應(yīng)
算法:
md5:128bits
sha1:160bits
sha(224|256|384|512)
功能:完整性驗證
- 對稱加密:加密和解密使用同一個密鑰;(一對多的情況下不建議使用)
https的過程+詳解
http://blog.jobbole.com/110354/ 推導(dǎo)過程
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html 詳解
搬運一張原理圖
-
https 過程圖解
交換圖解
一句話的總結(jié)
HTTPS要使客戶端與服務(wù)器端的通信過程得到安全保證,必須使用的對稱加密算法,但是協(xié)商對稱加密算法的過程,需要使用非對稱加密算法來保證安全,然而直接使用非對稱加密的過程本身也不安全,會有中間人篡改公鑰的可能性,所以客戶端與服務(wù)器不直接使用公鑰,而是使用數(shù)字證書簽發(fā)機構(gòu)頒發(fā)的證書來保證非對稱加密過程本身的安全。這樣通過這些機制協(xié)商出一個對稱加密算法,就此雙方使用該算法進行加密解密。從而解決了客戶端與服務(wù)器端之間的通信安全問題。
更詳細:http://www.lxweimin.com/p/b0979f0b04fa
簽署證書步驟:
http://blog.51cto.com/1inux/1638154
http://blog.51cto.com/zebralinux/1540851