傳輸層安全協議 ( 英語 : Transport Layer Security ,縮寫為TLS),及其前身安全套接層 ( S ecure S ockets L ayer , SSL )是一種安全協議 ,目的是為網際網路通信,提供安全及數據完整性保障。 在網景公司( Netscape )推出首版Web 瀏覽器的同時提出SSL, IETF將SSL進行標準化,1999年公佈了TLS標準文件。 SSL包含記錄層(Record Layer)和傳輸層,記錄層協議確定了傳輸層數據的封裝格式。 傳輸層安全協議使用X.509認證,之後利用非對稱加密演算來對通訊方做身份認證,之後交換對稱金鑰作為會談金鑰(Session key)。 這個會談金鑰是用來將通訊兩方交換的資料做加密,保證兩個應用間通信的保密性和可靠性,使客戶與服務器應用之間的通信不被攻擊者竊聽。 SSL在服務器和客戶機兩端可同時被支持,目前已成為互聯網上保密通訊的工業標準。 現行的Web瀏覽器亦普遍將HTTP和SSL相結合,從而實現安全通信。

TLS協議允許C/S模型的應用程序跨網絡通訊,旨在防止竊聽和篡改的方式進行溝通。 TLS協議的優勢在於它是與應用層協議獨立無關的。 高層的應用層協議(例如: HTTP 、 FTP 、 Telnet等等)能透明的建立於TLS協議之上。 TLS協議在應用層協議通信之前就已經完成加密算法、通信密鑰的協商以及服務器認證工作。 在此之後應用層協議所傳送的數據都會被加密,從而保證通信的私密性。 TLS協議是可選的,所以如果需要使用就必須配置客戶端和服務器,有兩種主要方式實現這一目標:一個是使用統一的TLS協議端口號 (例如:用於HTTPS的端口443);另一個是客戶端請求服務器連接到TLS時使用特定的server4.htm' style='text-decoration:none;' >協議機制(例如:郵件、新聞協議和STARTTLS )。 一旦客戶端和服務器都同意使用TLS協議,他們通過使用一個握手過程協商出一個有狀態的連接以傳輸數據[1] 。 通過握手,客戶端和服務器協商各種參數用於建立安全連接: 當客戶端連接到支持TLS協議server3.htm' style='text-decoration:none;' >服務器要求建立安全連接並列出了受支持的密碼組合(加密密碼算法和加密哈希函數),握手開始。 服務器從該列表中決定加密和散列函數,並通知客戶端。 服務器發回其數字證書,此證書通常包含服務器的名稱、受信任的證書頒發機構(CA)和服務器的公鑰。 客戶端確認其頒發的證書的有效性。 為了生成會話密鑰用於安全連接,客戶端使用服務器的公鑰加密隨機生成的密鑰,並將其發送到服務器,只有服務器才能使用自己的私鑰解密。 利用隨機數,雙方生成用於加密和解密的對稱密鑰。 這就是TLS 協議的握手,握手完畢後的連接是安全的,直到連接(被)關閉。 如果上述任何一個步驟失敗,TLS 握手過程就會失敗,並且斷開所有的連接。

arrow
arrow
    全站熱搜

    qiqichoi 發表在 痞客邦 留言(0) 人氣()