tft每日頭條

 > 圖文

 > tls安全協議通道版本号

tls安全協議通道版本号

圖文 更新时间:2024-12-05 08:21:07
設備身份認證技術

物聯網系統安全離不開設備的身份認證和訪問授權,我們現在已經在使用不同協議層上的身份認證技術,比如鍊路層的802.1x,傳輸層的TLS,應用層的OAuth2.0等。

tls安全協議通道版本号(設備身份認證技術及TLS協議)1

802.1x協議是起源于802.11的訪問控制和認證協議,基于C/S機構,可以限制未經授權的設備通過接入端口訪問LAN/WLAN。在認證通過之前,802.1x隻允許EAPOL(基于局域網的擴展認證協議)數據通過設備連接的交換機端口;認證通過以後,業務數據方可通過以太網端口。

OAuth協議其實不是一個認證協議,而是一個授權協議。OAuth開放授權标準允許用戶授權第三方應用訪問他們存儲在另外的服務提供者上的部分信息,而不需要将用戶名和密碼提供給第三方應用。目前OAuth1.0協議已經不再使用,主要使用的是OAuth2.0協議。現在很多移動應用或網站上都是用微信授權登錄,這裡就是使用了OAuth2.0協議。

大部分物聯網協議,如MQTT、HTTP等都是基于TCP的,從安全考慮,物聯網系統通常都需要使用加密協議來進行數據傳輸,如MQTTS、HTTPS等。這些協議都是基于傳輸層安全協議TLS(Transport Layer Security)來實現的,因此TLS也是物聯網系統最主要的安全認證手段,其他認證手段可以作為補充。本文将重點介紹TLS協議。

傳輸層安全TLS

TLS協議前身是安全套接層(SSL: Secure Sockets Layer),SSL/TLS就是在TCP層上加了一層加密,這樣就保證上層信息傳輸的安全。HTTP 協議是明文傳輸,加上 SSL 層之後,就變成了HTTPS。

tls安全協議通道版本号(設備身份認證技術及TLS協議)2

SSL/TLS與HTTP/TCP的關系

SSL最初是由網景公司(Netscape)研發,後被IETF(互聯網工程任務組)标準化後寫入RFC(Request for Comment)中,改為TLS。我們現在用的都是TLS協議,但由于大家習慣了SSL這個稱呼,所以一般還稱為SSL。

TLS認證過程

TLS的認證過程依賴于握手完成。

tls安全協議通道版本号(設備身份認證技術及TLS協議)3

TLS握手

1.Client Hello

握手第一步是客戶端向服務端發送 Client Hello 消息。這個消息裡包含了一個客戶端生成的随機數 Random1、客戶端支持的加密套件(Support Ciphers)和 SSL Version 等信息。

2.Server Hello

第二步是服務端向客戶端發送 Server Hello 消息,這個消息會從 Client Hello 傳過來的 Support Ciphers 裡确定一份加密套件,這個套件決定了後續加密和生成摘要時具體使用哪些算法,另外還會生成一份随機數 Random2。至此客戶端和服務端都擁有了兩個随機數(Random1 Random2)。

3.Certificate

這一步是服務端将自己的證書下發給客戶端,讓客戶端驗證自己的身份,客戶端驗證通過後取出證書中的公鑰。

4.Server Hello Done

Server Hello Done 通知客戶端 Server Hello 過程結束。

5.Client Key Exchange

客戶端根據服務器傳來的公鑰生成了 PreMaster Key,這一步就是将這個 key 傳給服務端,服務端再用自己的私鑰解出這個 PreMaster Key 得到客戶端生成的 Random3。至此,客戶端和服務端都擁有 Random1 Random2 Random3,兩邊再根據同樣的算法就可以生成一份秘鑰,握手結束後的應用層數據都是使用這個秘鑰進行對稱加密。

之所以要使用三個随機數,是因為整個握手過程的數據都是明文傳輸的,用多個随機數種子來生成秘鑰不容易被暴力破解。

6.Change Cipher Spec(Client)

這一步是客戶端通知服務端後面再發送的消息都會使用前面協商出來的秘鑰加密了,是一條事件消息。

7.Client Finish

客戶端将前面的握手消息生成摘要再用協商好的秘鑰加密,這是客戶端發出的第一條加密消息。服務端接收後會用秘鑰解密,能解出來說明前面協商出來的秘鑰是一緻的。

8.Change Cipher Spec(Server)

這一步是服務端通知客戶端後面再發送的消息都會使用加密。

9.Server Finish

這一步服務端也會将握手過程的消息生成摘要再用秘鑰加密,這是服務端發出的第一條加密消息。客戶端接收後會用秘鑰解密,能解出來說明協商的秘鑰是一緻的。

到這裡,雙方已安全地協商出了同一份秘鑰,所有的應用層數據都會用這個秘鑰加密後再通過 TCP 進行可靠傳輸。

tls安全協議通道版本号(設備身份認證技術及TLS協議)4

TLS雙向認證

客戶端依賴于服務器的證書來完成對服務器的身份認證,基于安全性考慮,物聯網場景中可能還會要求客戶端向服務端上報證書,實現雙向認證(如上圖所示)。

我會持續更新關于物聯網、雲原生以及數字科技方面的文章,用簡單的語言描述複雜的技術,也會偶爾發表一下對IT産業的看法,歡迎大家關注,謝謝。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved