Can you summarize the following document?
        
  TLS協定採用主從式架構模型,用於在兩個應用程式間透過網路建立起安全的連線,防止在交換資料時受到竊聽及篡改。  TLS協議的優勢是與高層的應用層協議(如HTTP、FTP、Telnet等)無耦合。應用層協議能透明地執行在TLS協議之上,由TLS協議進行建立加密通道需要的協商和認證。應用層協議傳送的資料在通過TLS協議時都會被加密,從而保證通訊的私密性。  TLS協議是可選的,必須配置客戶端和伺服器才能使用。主要有兩種方式實現這一目標:一個是使用統一的TLS協議通訊埠(例如:用於HTTPS的埠443);另一個是客戶端請求伺服器連線到TLS時使用特定的協議機制(例如:電子郵件常用的STARTTLS)。一旦客戶端和伺服器都同意使用TLS協議,他們通過使用一個握手過程協商出一個有狀態的連線以傳輸資料。通過握手,客戶端和伺服器協商各種引數用於建立安全連線:

  

  早期的研究工作,為方便改造原有網路應用程式,在1993年已經有了相似的Berkeley套接字安全傳輸層API方法。

  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。微軟同樣發出了安全通告。

  IETF將SSL標準化,即 RFC 2246,並將其稱為TLS(英語:Transport Layer Security)。

  TLS 1.1在 RFC 4346 中定義,於2006年4月發表,它是TLS 1.0的更新。在此版本中的差異包括:  微軟、Google、蘋果、Mozilla四家瀏覽器業者將在2020年終止支援TLS 1.0及1.1版。

  TLS 1.2在 RFC 5246 中定義,於2008年8月發表。它基於更早的TLS 1.1規範。主要區別包括:

  TLS 1.3在 RFC 8446 中定義,於2018年8月發表。它與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所保護的加密資訊之前,他們必須安全地交換或協定加密金鑰和加密資料時要使用的密碼。用於金鑰交換的方法包括:使用RSA演算法生成公鑰和私鑰(在TLS 握手協議中被稱為TLS_RSA)、Diffie-Hellman(在TLS握手協議中被稱為TLS_DH)、臨時Diffie-Hellman(在TLS握手協議中被稱為TLS_DHE)、橢圓曲線迪菲-赫爾曼(在TLS握手協議中被稱為TLS_ECDH)、臨時橢圓曲線Diffie-Hellman(在TLS握手協議中被稱為TLS_ECDHE)、匿名Diffie-Hellman(在TLS握手協議中被稱為TLS_DH_anon)和預共享金鑰(在TLS握手協議中被稱為TLS_PSK)。  TLS_DH_anon和TLS_ECDH_anon的金鑰協商協議不能驗證伺服器或使用者,因為易受中間人攻擊因此很少使用。只有TLS_DHE和TLS_ECDHE提供前向保密能力。  在交換過程中使用的公鑰/私鑰加密金鑰的長度和在交換協議過程中使用的公鑰證書也各不相同,因而提供的強健性的安全。2013年7月,Google宣佈向其使用者提供的TLS加密將不再使用1024位公鑰並切換到至少2048位,以提高安全性。

  訊息鑑別碼(MAC)用於對資料完整性進行認證。HMAC用於CBC模式的塊密碼。AEAD例如GCM模式和CCM模式使用AEAD內建的訊息鑑別碼,不使用HMAC。另外,在TLS握手過程中需要使用基於HMAC的偽隨機函式(PRF),或HKDF。

  TLS在網際網路上為HTTP等應用程式提供身份驗證、加密、完整性,其基礎是公鑰基礎設施。這是因為公鑰基礎設施普遍商業運營。TLS協議的設計在某種程度上能夠使主從架構應用程式通訊預防竊聽、干擾和訊息偽造。  TLS包含幾個基本階段:  在第一階段,客戶端與伺服器協商所用密碼演算法。當前廣泛實現的演算法選擇如下:
傳輸層安全性協定(,縮寫:英語:TLS)及其前身安全套接層(,縮寫:英語:SSL)是一種安全協議,目的是為因特網通訊提供安全及資料完整性保障。網景公司(英語:Netscape)在1994年推出首版網頁瀏覽器-網景領航員時,推出HTTPS協定,以SSL進行加密,這是SSL的起源。IETF將SSL進行標準化,1999年公佈TLS 1.0標準檔案(RFC 2246)。隨後又公佈TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。在瀏覽器、電子郵件、即時通訊、VoIP、網路傳真等應用程式中,廣泛使用這個協定。許多網站,如Google、Facebook、Wikipedia等也以這個協定來建立安全連線,傳送資料。目前已成為網際網路上保密通訊的工業標準。