天天看點

智造講堂:典型安全協定

作者:智造苑

引自:《智能制造的資訊安全》(作者:李晖、朱輝、張躍宇、趙興文)

VPN(virual private network)即虛拟專網,是指将實體上分布式的網絡通過公用網絡(通常指Internet)連接配接而構成邏輯上的虛拟子網。它利用認證、通路控制、保密性、資料完整性等技術在公用網絡上建構專用網絡,在分布式智能制造網絡中,VPN是保證通信安全最常用的技術。在安全Web服務、安全郵件服務中,通過使用傳輸層安全協定(transport layer security,TLS)協定保證Http協定和郵件協定中傳輸資料的安全。是以本文将重點介紹TLS協定和VPN使用的IPSec協定。

「 1. TLS 」

1)TLS協定簡介

TLS(transport layer security)傳輸層安全協定多用于web服務的安全,由早期的安全套接字層(secure socket layer,SSL)協定演化而來,最初由Netscape公司開發,後IETF将SSL更名為TLS。該協定主要用于HTTPS協定中,HTTPS協定是使用者線上申報、注冊及交易時常用協定,其由Web浏覽協定HTTP及TLS協定組成。

TLS協定允許使用數字簽名及證書,是以TLS能提供強大認證功能。在建立TLS連接配接過程中,用戶端與伺服器之間要進行多次的資訊互動。與許多C/S方式一樣,用戶端與伺服器端通過“Hello”資訊開始連接配接,雙方驗證對方的證書後啟動密鑰交換協定。密鑰交換協定主要任務為:①産生主密鑰;②由主密鑰産生兩個會話密鑰,伺服器到用戶端及用戶端到伺服器的密鑰;③由主密鑰參數産生兩個消息認證碼密鑰。

2)TLS協定工作原理

完整的TLS協定體系結構如圖1所示。可以看出,TLS握手協定、TLS密鑰交換協定和TLS報警協定均為應用層協定,而TLS記錄協定屬于第3層協定。

智造講堂:典型安全協定

圖1 TLS協定體系結構

(1)TLS握手協定。握手協定建立在可靠傳輸協定之上,負責協商用戶端及伺服器之間會話的加密參數。當一個TLS用戶端和伺服器第一次通信時,它們首先選擇一緻的協定版本,協商加密算法及認證方式,并利用公鑰算法協商共享密鑰。TLS協定的連接配接建立的握手協定過程如圖2所示。

智造講堂:典型安全協定

圖2 TLS協定連接配接建立過程

具體協定流程如下:

  • TLS用戶端連接配接至TLS伺服器,并要求驗證伺服器身份。
  • TLS伺服器發送其數字證書至用戶端,用戶端驗證其身份。這個過程可以包括整個證書鍊,該證書鍊可以追溯到根證書頒發機構。通過檢查證書的有效日期并驗證數字證書中所包含的可信CA的數字簽名來确認TLS伺服器公鑰的真實性。
  • 伺服器向用戶端請求證書驗證用戶端身份。但由于缺乏PKI系統的支撐,大多數TLS伺服器不進行用戶端驗證。
  • 協商用于消息加密的加密算法和用于完整性檢驗的Hash算法,通常由用戶端提供它所支援的所有算法清單,然後由伺服器端選擇最合适的密碼算法。
  • 用戶端生成一個随機數,并使用伺服器證書中的公鑰進行加密,并将密文發送給TLS伺服器。
  • TLS發送另一随機數作為回應。
  • 對以上兩個随機數進行Hash運算,進而生成會話密鑰。

其中,最後三步用于協商會話密鑰。

(2)TLS記錄協定。TLS記錄協定用于在實際資料傳輸開始前通信雙方進行身份認證、協商加密算法及加密密鑰等功能。發送方将應用消息分割為可管理的資料塊,然後與密鑰一起進行Hash運算,生成一個消息認證碼MAC,最後将組合結果進行加密并傳輸。接收方接收資料并解密,校驗MAC,并對分段消息進行重新組合,提供給上層應用。TLS記錄協定流程如圖3所示。

智造講堂:典型安全協定

圖3 TLS記錄協定

(3)TLS告警協定。TLS告警協定用于提示何時TLS協定發生了錯誤,或者兩個主機之間的會話中止時間确定。隻有在TLS協定失效時警報協定才會被激活。

3)TLS協定的發展

(1)TLS 1.2的改進。TLS協定提出至今經曆了多次版本更新,低版本的TSL(如TLS 1.0)存在許多嚴重漏洞,如無法抵抗降級攻擊、中間人攻擊等,其使用的加密算法Export加密算法目前已被摒棄。行業内從2008年TLS 1.2提出正式進入新版本過渡期,其引入SHA-256 Hash算法代替SHA-1,能夠有效增強資料完整性。TLS 1.2與TLS 1.0 步驟及原理基本一緻,TLS 1.2為目前網絡相容性最強的版本,其與TLS低版本主要有以下改進:

  • 密鑰協商驗證操作中,對Finished封包(即表示密鑰協商正确)的計算由MD5及SHA-1組合的方式更新為單次SHA-256,有效提高效率及安全性。
  • TLS 1.2在證書驗證操作及伺服器密鑰交換環節中的封包增加2bytes說明其簽名算法的類型,可以相容多項公鑰簽名及Hash算法。
  • TLS 1.2相較 TLS 1.0版本,資料加密的方式也有所提升。在密碼分組連結模式(cipher block chaining ,CBC)下對資料加密前填充的随機數可不進行加解密操作,優化傳輸及計算效率。但TLS 1.2因相容老舊的CBC模式,也出現漏洞導緻了中間人攻擊的成功。

(2)TLS 1.3。TLS 1.3版本2018年送出為正式标準,本次更新包含了在安全、性能和隐私方面的重大改進。TLS1.3在總體步驟上與前版本保持一緻,但在握手階段修改協定内容,有效提高了連接配接效率,相比于TLS 1.2減少一半的握手時間,對于移動端網站通路能減少近100ms的延遲。TLS 1.3握手協定如圖4所示下,其中包括一次伺服器與用戶端來回互動(1-RTT)。

智造講堂:典型安全協定

圖4 TLS 1.3握手協定

  • 用戶端發出通路請求,該段為明文發送。其中包含了用戶端支援的協定版本、會話ID、密碼套件、壓縮算法、以及擴充消息(密鑰共享要求、預共享密鑰、預共享密鑰模式)。該步驟主要目的為密鑰交換、選擇TLS協定版本和加密算法并且協商算法所需參數。
  • TLS伺服器端進行密鑰交換及認證,發送標明的加密算法、證書。使用證書對應的私鑰對握手消息簽名,将結果發送給用戶端。根據用戶端提供的參數生成臨時公鑰,并計算出用于加密HTTP消息的共享密鑰。服務端生成的臨時公鑰通過KeyShare消息發送給用戶端。該步驟主要目的為建立其他握手協定的參數,例如确定應用層協定。
  • 用戶端進行證書驗證,發送其證書、驗證結果、Finshed封包至伺服器端,此步驟主要目的為對用戶端進行認證并完成密鑰确認。
  • 用戶端與伺服器使用協商好的共享密鑰對應用資料進行加密傳輸。

TLS 1.3握手協定不再支援靜态RSA密鑰交換,需要使用具有前向安全性的DH密鑰協商協定,但僅需一次互動即可完成握手。

此外,TLS 1.3與前版本比較有以下差異:

  • 引入了PSK(共享密鑰)協商機制并支援在握手中的應用資料傳輸及零往返時間(0-RTT),減少互動輪數,高效建立連接配接。但零往返時間将導緻有過互動記錄的用戶端及伺服器記住彼此,忽略安全檢查,使用之前的密鑰開展即時通信,可能帶來安全隐患。
  • 摒棄了3-DES、RC4及AES-CBC等加密方案,廢棄了SHA1、MD5等Hash算法,提高連接配接安全性。
  • ServerHello後的握手消息均進行加密傳輸,減少空口傳輸可見明文。
  • 禁止加密封包的壓縮及收發雙方的重協商,防止降級攻擊,攻擊者無法通過使用舊版本協定攻擊已知漏洞。
  • 摒棄DSA證書的使用。

以上更新有效提高了TLS協定的安全性及連接配接效率,目前Chrome和Firefox等主流浏覽器已支援TLS 1.3協定。

「 2. IPSEC 」

1)IPSec協定簡介

IPSec協定在IPv6的制定過程中産生,用于提供IP層的安全。鑒于IPv4的應用仍然很廣泛,IPSec也支援IPv4。IPSec協定由AH協定和ESP協定提供了兩種工作模式,如圖5所示。這AH協定和ESP協定可以組合使用也可以單獨使用。IPSec的功能和模式如表1所示。

智造講堂:典型安全協定

圖5 IPSec協定的構成

AH、ESP或AH+ESP既可以在隧道模式中使用,又可以在傳輸模式中使用。隧道模式在IP子網之間建立一個安全通道,允許每個子網中的所有主機使用者通路對方子網中的所有服務和主機。傳輸模式在兩個主機之間以端對端的方法提供安全通道,并且在整個通信路徑的建立和資料的傳遞過程中采用了身份認證、資料保密性和資料完整性等安全保護措施。

表1 IPSec的功能和模式

功能/模式 認證首部(AH) 封裝安全負荷(ESP) ESP+AH
通路控制
認證 ×
消息完整性 ×
重放保護
保密性 ×

2)IPSec協定工作原理

IPSec通過查詢安全政策資料庫(security policy database,SPD)決定如何對接收到的IP資料包進行處理。IPSec對資料包的處理包括進行加密和認證,以保證在公用網絡上傳輸資料的機密性、認證性和完整性。

IPSec無論是對資料包進行加密還是認證,均有兩種工作模式:傳輸模式和隧道模式。

(1)傳輸模式。采用傳輸模式時,IPSec隻對IP資料包的淨荷進行加密或認證。此時,封裝資料包繼續使用原IP頭部,隻對IP頭部的部分域進行修改,而IPSec協定頭部插入到原IP頭部和傳輸層頭部之間。IPSec傳輸模式如圖4-16所示。

智造講堂:典型安全協定

(a)

智造講堂:典型安全協定

(b)

圖6 傳輸模式封裝示意圖

(a)ESP封裝;(b)AH封裝

(2)隧道模式。采用隧道模式時,IPSec對整個IP資料包進行加密或認證。此時需要産生一個新的IP頭,IPSec頭被放在新産生的IP頭和原IP資料包之間,進而組成一個新的IP頭。IPSec隧道模式如圖4-17所示。

智造講堂:典型安全協定

(a)

智造講堂:典型安全協定

(b)

圖7 隧道模式封裝示意圖

(a)ESP封裝;(b)AH封裝

「 3. TLS及IPSEC的對比 」

遠端客戶采用TLS協定的VPN通路内部網中的一些基于Web的應用,而IPSec在為企業進階使用者提供遠端通路及為企業提供LAN-to-LAN隧道連接配接方面具有絕對的優勢。普遍的共識是典型TLS VPN适合普通員工遠端通路基于Web的應用,IPSec VPN及TLS VPN用于智能制造資訊網絡中不同的領域,不可互相取代。

TLS VPN及IPSec VPN的性能比較見表2。

表2 TLS VPN與IPSec VPN比較

功能/性能 TLS VPN IPSec VPN
身份驗證

單向身份驗證

雙向身份驗證

數字證書

雙向身份驗證

數字證書

加密

強加密

基于Web浏覽器

強加密

依靠IPSEC網關

全程安全性

端到端安全

從用戶端到資源端全程加密

網絡邊緣到用戶端

僅對從客戶到VPN網關之間通道加密

可通路性 适用于任何時間、任何地點通路 限制于已經定義好受控使用者範圍内通路
費用/花銷 低(無需附加用戶端軟體) 高(需要管理用戶端軟體)

繼續閱讀