知識分享 - 鋇錸網(wǎng)關功能介紹之使用SSLTLS 加密,保證MQTT通信安全
背景
為了使不同的設備或系統(tǒng)能夠相互通信,讓舊有系統(tǒng)和新的系統(tǒng)可以集成,通信更加靈活和可靠。以及將數(shù)據(jù)從不同的來源收集并傳輸?shù)讲煌哪康牡兀瑢崿F(xiàn)數(shù)據(jù)的集中管理和分發(fā)。
通信網(wǎng)關完美克服了這一難題,485或者網(wǎng)口的設備能通過以太網(wǎng)或者4G無線,上傳至智能物聯(lián)網(wǎng)云平臺。與計算平臺相比,通信網(wǎng)關性價比也更高。以太網(wǎng)等設備的通信問題得到解決,但另一個問題也隨之出現(xiàn):通信鏈路易受網(wǎng)絡攻擊的威脅,使升級保護網(wǎng)絡安全成為首要問題。
作為基于現(xiàn)代密碼學公鑰算法的安全協(xié)議,TLS/SSL能在工業(yè)通訊網(wǎng)絡上保證傳輸安全,鋇錸網(wǎng)關產品內置對TLS/SSL的支持,包括支持單/雙向認證、X.509證書、密鑰加密等多種安全認證。
本文將介紹HTTPS、TLS/SSL相關知識。快跟著小編一起學習吧~
1、什么是HTTPS?
超文本傳輸協(xié)議(HTTP)是設計用于在Web上傳輸內容的協(xié)議。HTTP是一種簡單協(xié)議,它利用可靠的傳輸控制協(xié)議 (TCP) 服務來執(zhí)行其內容傳輸功能。由于數(shù)據(jù)在傳輸過程中是明文傳輸,因此無法保證網(wǎng)絡通信在傳輸過程中不被篡改,安全性受到限制。
超文本傳輸安全協(xié)議 (HTTPS)是在HTTP協(xié)議基礎上實施TLS加密,以提高數(shù)據(jù)傳輸?shù)陌踩?。所有網(wǎng)站以及其他部分web服務都使用該協(xié)議。因此,任何使用HTTPS的網(wǎng)站都使用 TLS加密。不同版本的TLS協(xié)議內容約定不一樣,這也會給 HTTPS建立連接時需要握手協(xié)商的信息造成差異。
2、什么是SSL/TLS?
SSL/TLS協(xié)議SSL是指安全套接字層,是由網(wǎng)景公司在1990年推出的一種標準安全協(xié)議,簡而言之,它是一項標準技術,可確?;ヂ?lián)網(wǎng)連接安全,保護兩個系統(tǒng)之間發(fā)送的任何敏感數(shù)據(jù),防止網(wǎng)絡犯罪分子讀取和修改任何傳輸信息,包括個人資料,用于在網(wǎng)絡通信中建立Web瀏覽器和Web服務器之間的加密鏈接。
TLS(傳輸層安全)是IETF組織(工程任務組)在1999年將SSL3.0協(xié)議規(guī)范進行了標準化。由于SSL和TLS之間存在加密算法上的差異,因此不能互相操作,所以是兩個不同的協(xié)議,可以說,是更為安全的升級版 SSL。
兩者主要工作在應用層與傳輸層之間,可以與多種應用層協(xié)議配合。
為什么需要 SSL/TLS?
兩者創(chuàng)建的目的都是提高網(wǎng)絡中數(shù)據(jù)訪問的安全性,因為在 http 攜帶需要傳送的數(shù)據(jù),數(shù)據(jù)沒有任何的保護,是容易被黑客攔截下來的;使用了 SSL/TLS 之后,因為數(shù)據(jù)包經(jīng)過加密,即使被黑客截獲,由于黑客不知道密鑰,也無法獲取數(shù)據(jù)包中的信息。
3、SSL/TLS 帶來的安全優(yōu)勢
▲機密性:TLS通訊的每次會話都會由會話密鑰加密,會話密鑰通訊雙方協(xié)商產生。任何第三方都無法知曉通訊內容。即使一次會話的密鑰泄露,并不影響其他會話的安全性。
▲完整性:使用MAC算法來保證消息的完整性,加密通訊中的數(shù)據(jù)很難被篡改而不被發(fā)現(xiàn)。
▲真實性是指通信的對方是可信的,利用了PKI(Public Key Infrastructure即「公鑰基礎設施」來保證公鑰的真實性。
▲不可否認性,用TLS建立連接的時候,通訊雙方可以互相檢查對方的身份。在實踐中,很常見的一種身份檢查方式是檢查對方持有的X.509數(shù)字證書。這樣的數(shù)字證書通常是由一個授信機構頒發(fā)的,不可偽造。
4、SSL/TLS協(xié)議流程
SSL/TLS協(xié)議流程用一句話來概括:其用非對稱加密的手段來傳遞密鑰,然后用密鑰進行對稱加密來傳遞應用數(shù)據(jù);可以最大限度保證數(shù)據(jù)傳輸?shù)陌踩?,可以保證數(shù)據(jù)不被竊聽,不會導致數(shù)據(jù)安全問題。
具體來說,SSL/TLS在工作流程有以下幾步:
▲先進行一個握手階段:
1)客戶端發(fā)出請求:這一步客戶端會生成一個隨機數(shù)傳給服務器。
2)服務器回應:這一步服務器會返回給客戶端一個服務器數(shù)字證書(證書中包含用于加密的公鑰),另外服務器也會生成一個隨機數(shù)給客戶端。
3)客戶端回應:這一步客戶端首先會校驗數(shù)字證書的合法性,然后會再生成一個隨機數(shù),這個隨機數(shù)會使用第2步中的公鑰采用非對稱加密算法(例如RSA算法)進行加密后傳給服務器,密文只能通過服務器的私鑰來解密。
4)服務器最后回應:握手結束。
▲握手結束后,客戶端和服務器都有上面握手階段的三個隨機數(shù)??蛻舳撕头掌鞫纪ㄟ^這三個隨機生成一個密鑰,接下來所有的通信內容都使用這個密鑰通過對稱加密算法加密傳輸,服務器和客戶端才開始進行安全的通信。
5、SSL和TLS的關系與區(qū)別
TLS的主要目標是使SSL更安全,并使協(xié)議的規(guī)范更精確和完善。TLS在SSL v3.0的基礎上,提供了以下增加內容:
?。?/span>1)更安全的MAC算法
?。?/span>2)更嚴密的警報
(3)“灰色區(qū)域”規(guī)范的更明確的定義
還有人問過小編什么標準X.509證書,這次一同說吧。
X.509是密碼學里公鑰證書的格式標準。X.509證書已應用在包括TLS/SSL在內的眾多網(wǎng)絡協(xié)議里,同時它也用在很多非在線應用場景里,比如電子簽名服務。X.509證書里含有公鑰、身份信息(比如網(wǎng)絡主機名,組織的名稱或個體名稱等)和簽名信息(可以是證書簽發(fā)機構CA的簽名,也可以是自簽名)。我們所說的CA頒發(fā)的證書或者SSL/TLS證書指的都是符合X.509格式的證書。
最后想說
通過上面的介紹, 你對SSL/TLS是否多了一些了解呢?