SSL包含記錄層(Record Layer)和傳輸層,記錄層協議肯定了傳輸層數據的封裝格式。傳輸層安全協議使用X.509認證,以後利用非對稱加密演算來對通信方作身份認證,以後交換對稱密鑰做爲會談密鑰(Session key)。這個會談密鑰是用來將通信兩方交換的數據作加密,保證兩個應用間通訊的保密性和可靠性,使客戶與服務器應用之間的通訊不被攻擊者竊聽。算法
TLS協議容許C/S模型的應用程序跨網絡通信,旨在防止竊聽和篡改的方式進行溝通。 TLS協議的優點在於它是與應用層協議獨立無關的。高層的應用層協議(例如:HTTP、FTP、Telnet等等)能透明的建立於TLS協議之上。TLS協議在應用層協議通訊以前就已經完成加密算法、通訊密鑰的協商以及服務器認證工做。在此以後應用層協議所傳送的數據都會被加密,從而保證通訊的私密性。安全
TLS協議是可選的,因此若是須要使用就必須配置客戶端和服務器,有兩種主要方式實現這一目標:一個是使用統一的TLS協議通信端口(例如:用於HTTPS的端口443);另外一個是客戶端請求服務器鏈接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。一旦客戶端和服務器都贊成使用TLS協議,他們經過使用一個握手過程協商出一個有狀態的鏈接以傳輸數據[1]。經過握手,客戶端和服務器協商各類參數用於建立安全鏈接:服務器
當客戶端鏈接到支持TLS協議的服務器要求建立安全鏈接並列出了受支持的密碼組合(加密密碼算法和加密哈希函數),握手開始。網絡
服務器從該列表中決定加密和散列函數,並通知客戶端。函數
服務器發回其數字證書,此證書一般包含服務器的名稱、受信任的證書頒發機構(CA)和服務器的公鑰。加密
客戶端確認其頒發的證書的有效性。spa
爲了生成會話密鑰用於安全鏈接,客戶端使用服務器的公鑰加密隨機生成的密鑰,並將其發送到服務器,只有服務器才能使用本身的私鑰解密。orm
利用隨機數,雙方生成用於加密和解密的對稱密鑰。這就是TLS協議的握手,握手完畢後的鏈接是安全的,直到鏈接(被)關閉。若是上述任何一個步驟失敗,TLS握手過程就會失敗,而且斷開全部的鏈接。ip