1. 程式人生 > >tls 1.0 RFC文件 自譯

tls 1.0 RFC文件 自譯

水平有限,歡迎指正!

1、介紹

  tls協議的主要目的是給兩個交流中的應用提供私密性和資料完整性。本協議由兩層組成:tls記錄協議和tls握手協議。在最底層,覆蓋在某個可靠傳輸協議上的,是tls記錄協議。tls協議提供連線安全性,該安全性有兩個基本的屬性:

  1)連線是私有的。對稱加密演算法用來資料加密(例如:DES、RC4、等)。每一條連線和以祕鑰協商為基礎的另一個協議(tls握手協議)生成了獨一無二的對稱加密祕鑰。tls記錄協議也可以在無加密的情況下使用。

  2)連線是可靠的。訊息傳輸使用keyed MAC 驗證資料完整性。安全雜湊函式(例如:SHA、MD5、等)用來MAC計算。tls記錄協議可以在無MAC的情況下操作,但是通常只被使用在這種模式,另一個協議使用記錄協議作為一個傳輸機,來協商安全引數。

  tls記錄協議用來各種高層協議的封裝。tls握手協議就是這樣一個被封裝的協議,允許客戶端可伺服器在應用層協議傳輸或接收到資料的第一個位元組之前,進行互相認證、協商加密演算法、和祕鑰。tls握手協議提供連線安全性,該安全性有三個基本屬性:

  1)雙方的身份可以使用非對稱,或公鑰,加密演算法(例如:RSA、DSS、等)進行認證。這個認證是可選的,但是通常需要只要一方的認證。

  2)共享祕鑰的協商是安全的:協商的祕鑰是無法被竊聽的,並且任何已認證的連線的祕鑰是無法被獲得的,即使是在鏈路中間的攻擊者。

  3)協商是可靠的:沒有攻擊者可以在沒被偵測到的情況下修改協商通訊。

  tls協議的一個優勢是,tls與應用層協議是獨立開來的。高層協議可以在tls協議之上進行傳輸。然而,tls標準沒有闡述協議怎樣使用tls來增加安全性;怎麼開始tls握手和怎麼理解認證證書交換的決定,留個執行在tls之上的協議的設計和開發者。