Secure Sockets Layer 安全套接層
不使用SSL/TLS,信息會以明文傳播泽铛,帶來了三個風(fēng)險壮韭。
1北发、竊聽風(fēng)險
2、篡改風(fēng)險
3喷屋、冒充風(fēng)險
SSL/TLS就是為了解決這三個問題琳拨,希望達(dá)到
所有信息都是加密傳播
具有檢驗(yàn)機(jī)制,一旦被篡改屯曹,通信雙方會被發(fā)現(xiàn)
配備身份證書狱庇,防止身份被冒充
目前使用的主流是TLS 1.0,接下來是SSL 3.0
基本運(yùn)行過程
基本思路:采用公鑰加密法恶耽,客戶端先向服務(wù)器端索要公鑰密任,然后公鑰加密信息,服務(wù)器收到密文后偷俭,用自己的私鑰解密浪讳。
1、如何保證公鑰不被篡改
將公鑰放在數(shù)字證書中涌萤,只要證書是可信的淹遵,公鑰就是可信的。
2负溪、公鑰加密計(jì)算量太大透揣,如何減少耗用時間?
每一次session川抡,客戶端和服務(wù)端都生成一個對話秘鑰(session key)辐真,用它來加密信息。由于對話秘鑰是對稱加密的崖堤,所以運(yùn)算速度非呈淘郏快。而服務(wù)器公鑰只用于加密“對話秘鑰本身”密幔,這樣就減少了加密運(yùn)算的消耗時間放坏。
(個人感覺非常巧妙。老玛。。)
所以SSL/TLS的基本運(yùn)行過程是這樣的:
1、客戶端向服務(wù)端索要并驗(yàn)證公鑰蜡豹。
2麸粮、雙方協(xié)商生成“對話秘鑰” session key
3、雙方采用session key進(jìn)行加密通信镜廉。
前兩步又稱為握手階段
過程比較復(fù)雜弄诲,包括SSL版本確認(rèn),隨機(jī)數(shù)娇唯、支持的加密方法齐遵、包含公鑰的數(shù)字證書等等