知識庫文章 - 網站伺服器虛擬主機知識文章 | |||
傳輸層安全性協定(英語:Transport Layer Security,縮寫作 TLS),及其前身安全通訊協定(Secure Sockets Layer,縮寫作 SSL)是一種安全協定,目的是為網際網路通訊提供安全及資料完整性保障。網景公司(Netscape)在1994年推出首版網頁瀏覽器,網景領航員時,推出HTTPS協定,以SSL進行加密,這是SSL的起源。IETF將SSL進行標準化,1999年公布第一版TLS標準檔案。隨後又公布RFC 5246 (2008年8月)與 RFC 6176 (2011年3月)。在瀏覽器、電子郵件、即時通訊、VoIP、網路傳真等應用程式中,廣泛支援這個協定。主要的網站,如Google、Facebook等也以這個協定來建立安全連線,傳送資料。目前已成為網際網路上保密通訊的工業標準。 SSL包含記錄層(Record Layer)和傳輸層,記錄層協定確定傳輸層資料的封裝格式。傳輸層安全協定使用X.509認證,之後利用非對稱加密演算來對通訊方做身分認證,之後交換對稱金鑰作為會談金鑰(Session key)。這個會談金鑰是用來將通訊兩方交換的資料做加密,保證兩個應用間通訊的保密性和可靠性,使客戶與伺服器應用之間的通訊不被攻擊者竊聽。 概論 TLS協定採用主從式架構模型,用於在兩個應用程式間透過網路建立起安全的連線,防止在交換資料時受到竊聽及篡改。 TLS協定的優勢是與高層的應用層協定(如HTTP、FTP、Telnet等)無耦合。應用層協定能透明地執行在TLS協定之上,由TLS協定進行建立加密通道需要的協商和認證。應用層協定傳送的資料在通過TLS協定時都會被加密,從而保證通訊的私密性。 TLS協定是可選的,必須組態用戶端和伺服器才能使用。主要有兩種方式實現這一目標:一個是使用統一的TLS協定通訊埠(例如:用於HTTPS的埠443);另一個是用戶端請求伺服器連接到TLS時使用特定的協定機制(例如:郵件、新聞協定和STARTTLS)。一旦用戶端和伺服器都同意使用TLS協定,他們通過使用一個交握過程協商出一個有狀態的連接以傳輸資料。通過交握,用戶端和伺服器協商各種參數用於建立安全連接:
發展歷史 安全網路編程 早期的研究工作,為方便改造原有網路應用程式,在1993年已經有了相似的Berkeley通訊端安全傳輸層API方法。 SSL 1.0、2.0和3.0 SSL(Secure Sockets Layer)是網景公司(Netscape)設計的主要用於Web的安全傳輸協定,這種協定在Web上獲得了廣泛的應用。基礎演算法由作為網景公司的首席科學家塔希爾·蓋莫爾(Taher Elgamal)編寫,所以他被人稱為「SSL之父」。 2014年10月,Google發布在SSL 3.0中發現設計缺陷,建議禁用此一協定。攻擊者可以向TLS發送虛假錯誤提示,然後將安全連接強行降級到過時且不安全的SSL 3.0,然後就可以利用其中的設計漏洞竊取敏感資訊。Google在自己公司相關產品中陸續禁止回溯相容,強制使用TLS協定。Mozilla也在11月25日發布的Firefox 34中徹底禁用了SSL 3.0。微軟同樣發出了安全通告。
TLS 1.0 IETF將SSL標準化,即 RFC 2246 ,並將其稱為TLS(Transport Layer Security)。從技術上講,TLS 1.0與SSL 3.0的差異非常微小。但正如RFC所述"the differences between this protocol and SSL 3.0 are not dramatic, but they are significant enough to preclude interoperability between TLS 1.0 and SSL 3.0"(本協定和SSL 3.0之間的差異並不是顯著,卻足以排除TLS 1.0和SSL 3.0之間的互操作性)。TLS 1.0包括可以降級到SSL 3.0的實現,這削弱了連接的安全性。 TLS 1.1 TLS 1.1在 RFC 4346 中定義,於2006年4月發表,它是TLS 1.0的更新。在此版本中的差異包括:
TLS 1.2 TLS 1.2在 RFC 5246 中定義,於2008年8月發表。它基於更早的TLS 1.1規範。主要區別包括:
TLS 1.3 TLS 1.3在 RFC 8446 中定義,於2018年8月發表。它基於更早的TLS 1.2規範,與TLS 1.2的主要區別包括:
網路安全服務(NSS)是由Mozilla開發並由其網路瀏覽器Firefox使用的加密庫,自2017年2月起便預設啟用TLS 1.3。隨後TLS 1.3被加入到2017年3月發布的Firefox 52.0中,但它由於某些用戶的相容性問題,預設情況下禁用。直到Firefox 60.0才正式預設啟用。 Google Chrome曾在2017年短時間將TLS 1.3設為預設,然而由於類似Blue Coat Systems等不相容元件而被取消。 wolfSSL在2017年5月發布的3.11.1版本中啟用了TLS 1.3。作為第一款支援TLS 1.3部署,wolfSSL 3.11.1 支援 TLS 1.3 Draft 18( 現已支援到Draft 28),同時官方也發布了一系列關於TLS 1.2和TLS 1.3效能差距的部落格。 閱讀原文出處,如有侵權請告知,會盡速將文章下架。
|
專業服務
傳輸層安全性協定TLS/SSL - 維基百科,自由的百科全書 |