SSL(Secure Sockets Layer)安全套接字協議。
TLS(Transport Layer Security)傳輸層安全。
二者是為網絡通信提供安全和數據完整性的一種安全協議。TLS與SSL在傳輸層與應用層之間對網絡的連接進行加密。
七層模型
| 層 | 作用 |
| 應用層 | 應用層是網絡體系中最高的一層,也是唯一面向用戶的一層,為用戶提供常用的應用程序,每個網絡的應用都對應著不同的協議。 |
| 表示層 | 數據編碼和轉化,以確保以一個系統應用層發送的信息,可以被另一個系統應用層識別 |
| 會話層 | 建立、管理、終止會話。對應主機進程,指本地主機與遠程主機正在進行的會話,SSL/TLS就是在這一層進行的。 |
| 傳輸層 | 建立、維護和管理端到端的連接,控制數據傳輸方式。 |
| 網絡層 | 進行邏輯地址尋址,實現不同的網絡之間的路徑選擇。數據傳輸線路選擇,IP地址及路由選擇 |
| 數據鏈路層 | 以太網所在的層,進行物理尋址 |
| 物理層 | 物理層確保原始的數據可在各種物理媒介上傳輸,主要是物理劫持傳輸媒介(網線或者無線) |
從上表可看出,SSL/TLS是在傳輸層和應用層之間,我們在使用TCP通信時Socket 該怎么用還怎么用,只是在應用層與TCP之間經過了加密。SSL/TLS不只是用在https,只要是基于網絡傳輸加密的都可以用,比如MQTT通信協議。
TLS與SSL的差異很多,簡單可以認為TLS是SSL的升級版本,歷史版本如下:
SSL1.0 最早的版本,并沒有發布。
SSL2.0 發布了,但有嚴重BUG。
SSL3.0 發布了,并得到大規模應用。
TLS1.0 發布了,是SSL的升級,相當于SSL3.1
TLS1.1 發布了,相當于SSL3.2
TLS1.2 發布了,相當于SSL3.3
在mebedtls庫中TLS的版本號宏定義也能驗證上述的定義,比如TLS1.2其主版本號是3,子版本號也是3,其實對應的就是SSL3.3。
SSL/TLS加密是通過CA證書中的公鑰和服務器的私鑰來實現的.所謂公鑰就是公開的密鑰,給client來使用的,如果只有公鑰,那顯然是不安全的,只要訪問服務器,都可以拿到公鑰,所以與公鑰對應的還有私鑰,相當于一個密碼本 被撕開了兩半,一半作為公鑰給客戶端,另一半則作為私鑰,存放在服務器中,經過公鑰加密后的消息,只能通過私鑰才能解密.

首頁 > 資源中心 > FAQ
