不可逆:
單向散列函數(shù):MD5憎夷,SHA等
散列值的長度固定型酥,計(jì)算速度快,具備單向性
可逆:
對稱加密:DES焦蘑,3DES盯拱,AES等
非對稱加密:RSA等
其它:
混合密碼系統(tǒng)
數(shù)字簽名
證書
常用加密:
MD5:生成128bit的散列值,目前不安全
SHA-1:生成160bit的散列值例嘱,目前不安全
SHA-2:SHA-256狡逢,SHA-384,SHA-512
DES:將64bit明文加密成64bit密文的對稱加密算法拼卵,秘鑰長度是58bit奢浑,目前不安全
3DES:使用DES加密-解密-加密(3把秘鑰)
AES:AES-128,AES-192腋腮,AES-256
RSA:非對稱加密雀彼,公鑰加密私鑰解密,私鑰加密公鑰解密即寡,速度慢
混合密碼系統(tǒng):網(wǎng)絡(luò)上的密碼通信所用的SSL徊哑、TLS都運(yùn)用了混合密碼系統(tǒng)
加密步驟:
1.消息發(fā)送者要擁有消息接收者的公鑰
2.生成會話秘鑰,作為對稱加密的秘鑰聪富,加密消息
3.用消息接收者的公鑰莺丑,加密會話秘鑰
4.將2,3生成的加密結(jié)果善涨,一并發(fā)給消息接收者
發(fā)送出去的內(nèi)容包括:
用會話秘鑰加密的消息(加密方法:對稱加密)
用公鑰加密的會話秘鑰(加密方法:非對稱加密)
解密步驟:
1.消息接收者用自己的私鑰解密出會話秘鑰
2.再用第一步解密出來的會話秘鑰窒盐,解密消息
數(shù)字簽名:防止有人篡改
1.消息發(fā)送者生成公鑰私鑰草则,把公鑰給接收者
2.消息發(fā)送者把消息通過單向散列函數(shù)生成散列加密消息
3.消息發(fā)送者用自己的私鑰對散列加密消息進(jìn)行加密,生成簽名
4.消息發(fā)送者把明文和用簽名發(fā)給接收者
5.接收者通過發(fā)送者的公鑰對簽名進(jìn)行解密蟹漓,得到散列加密信息
6.接收者用散列函數(shù)對明文進(jìn)行加密
7.把6的加密數(shù)據(jù)和5的加密數(shù)據(jù)進(jìn)行對比
證書:
公鑰證書:包含姓名炕横,郵箱等個(gè)人信息,以及此人的公鑰
并由認(rèn)證機(jī)構(gòu)CA施加數(shù)字簽名
HTTPS:超文本傳輸安全協(xié)議
HTTP默認(rèn)占用80斷口葡粒,HTTPS默認(rèn)占用443斷口
HTTPS在HTTP基礎(chǔ)上使用SSL/TLS來加密報(bào)文
TLS:傳輸層安全協(xié)議份殿,前身是SSL(安全套接層)
HTTPS的成文:
1.證書費(fèi)用,2.降低了訪問速度
有些企業(yè)的做法是:包含敏感數(shù)據(jù)的使用HTTPS嗽交,其它的用HTTP
HTTPS的通信過程
1.TCP的3次握手
2.TLS的連接
3.HTTP請求和響應(yīng)
TLS1.2連接的步驟卿嘲,交換秘鑰算法為ECDHE:
1.ClientHello,客戶端發(fā)送,包含TLS版本夫壁,支持的加密組件(秘鑰加密算法拾枣,對稱加密算法,摘要算法)盒让,隨機(jī)數(shù)
2.Server Hello,服務(wù)端發(fā)送梅肤,包含TLS版本,選擇的加密組件邑茄,隨機(jī)數(shù)
3.Certificate,服務(wù)器發(fā)送姨蝴,服務(wù)器的公鑰證書(CA認(rèn)證)
4.Server Key Exchange,服務(wù)端發(fā)送,用以實(shí)現(xiàn)ECDHE(秘鑰交換)算法的其中一個(gè)參數(shù)(Server params),為了防止偽造肺缕,Server Params經(jīng)過了服務(wù)器私鑰簽名
5.Server Hello Done,服務(wù)端發(fā)送左医,告知客戶端協(xié)商部分結(jié)束
客戶端驗(yàn)證公鑰簽名
6.Client Key Exchange,客戶端發(fā)送,用以實(shí)現(xiàn)ECDHE算法的另一個(gè)參數(shù)
客戶端同木,服務(wù)器都可以使用ECDHE算法
根據(jù)Server Params浮梢,Client Params計(jì)算出一個(gè)新的隨機(jī)秘鑰串Pre-master secret
然后結(jié)合Client Random,Server Random,Pre-master secret生成用以加密會話的會話秘鑰(主密鑰),還會分別派生出客戶端發(fā)送消息的秘鑰和服務(wù)器端發(fā)送消息的秘鑰
7.Change Cipher Spec,客戶端發(fā)送泉手,告訴服務(wù)器之后的通信會采用計(jì)算出的會話秘鑰進(jìn)行加密
8.Finished,客戶端發(fā)送黔寇,包含連接至今全部報(bào)文的整體校驗(yàn)值(摘要)偶器,加密之后發(fā)送給服務(wù)器
9.Change Cipher Spec,服務(wù)端發(fā)送
10.Fished
到此為止斩萌,客戶端服務(wù)器都驗(yàn)證加密解密沒問題,握手正式結(jié)束