5G 新通話
5G 新通話作為運營商的一種全新通話概念的探索,雖名為通話,實則遠不止于此,更是一種實時的沉浸式互動體驗。針對 5G 新通話,3GPP 在 R16 階段完成了 5G 網絡 IMS Data Channel 實時交互通道的相關技術標準,并于 2020 年 3 月將其寫入并發布了 TS26.114 V16.5.0 版本,實現了 5G VoNR 業務能力的增強。IMS Data Channel(簡稱 DC 通道)以 VoLTE/VoNR 高清音視頻通話為基礎,與 WebRTC 技術相結合,進一步拓展提供了數據通道,使得語音和視頻通話能夠與擴展的數據通道同步,進而在高清視頻通話中達成屏幕共享、疊加 AR ,甚至是實現聽覺、視覺、觸覺、動覺等同步的全沉浸式體驗。IMS Data Channel 基于 UDP 提供具有高實時性的單流或多流數據交互通道,能夠靈活支持多種數據通道,充分兼顧各種應用對于底層通道的多樣化需求。
5G 新通話能夠豐富人們的日常交流方式,讓生活變得更加多姿多彩,然而隨之而來的數據安全問題也愈發重要。目前,5G 新通話中 DC 通道的數據是借助 UDP 進行封裝和傳輸的,為保障數據的安全性,引入了 DTLS 協議為數據傳輸保駕護航。
DTLS簡介
DTLS(Datagram Transport Layer Security)即數據包傳輸層安全性協議。當前眾多數據包傳輸的應用程序(如實時視頻會議、internet電話和在線游戲等)都是時延敏感的,大都采用了不可靠的UDP數據報文傳輸方式。大家都知道,基于 TCP 的應用能夠運用已有的 TLS 協議來確保安全,然而 TLS 無法保障在 UDP 上傳輸的數據的安全性。正因如此,Datagram TLS 應時而生,它在現存的 TLS 協議架構基礎上進行了擴展,使其能夠支持 UDP 協議,成為了 TLS 的一個支持 UDP 數據包傳輸的版本,其中 DTLS 1.0 是基于 TLS 1.1 版本,DTLS 1.2 則是基于 TLS 1.2 版本。
DTLS 協議與 TLS 協議有所不同,DTLS 協議在傳輸層對數據進行加密和認證,而 TLS 協議是在傳輸層之上對數據進行加密和認證。所以,DTLS 協議不但能夠提供與 TLS 協議相同的安全保護,同時還能夠保留 UDP 協議的優點,更適合應用于對時延敏感的程序。
DTLS協議與TLS協議類似,通常包含以下三個階段:
握手階段:客戶端和服務器之間進行握手,協商加密算法和密鑰等。
數據傳輸階段:客戶端和服務器之間進行數據傳輸,DTLS協議對數據進行加密和認證。
斷開連接階段:客戶端和服務器之間斷開連接,并清除相關的狀態信息。
DTLS在5G 新通話中的位置
DC通道協商完成之后(通過SIP交互進行DC通道的協商),需要先進行DTLS建鏈,之后在此基礎上進行數據傳輸,DTLS建鏈位置參見下面示例:
1.終端發起協商bootsrap DC流程時的DTLS建鏈位置
2.終端-終端之間的application DC建立流程時的DTLS建鏈位置
DTLS交互流程
與TCP三次握手類似,DTLS也是通過握手的方式建立鏈接,握手交互流程示例見下(遵循RFC 6347定義的DTLS 1.2協議):
流程描述:
客戶端發送ClientHello報文,發起握手和密鑰協商,報文主要包含:隨機數(后續用于生成共享密鑰)、密碼算法族、壓縮算法族。
按照RFC 6347交換Cookie:服務端生成Cookie,打包在HelloVerifyRequest報文中發送給客戶端。
客戶端收到Cookie后,將Cookie打包在ClientHello報文中并再次發送給服務端。
服務端校驗Cookie,確認有效后向客戶端發送ServerHello報文,報文主要包含:隨機數、選擇的加密方式、選擇的壓縮方式。
服務端用Certificate報文向客戶端發送服務端證書(證書可以采用自簽名證書,證書格式基于X.509標準,需要遵循RFC 5280,客戶端根據SDP中的fingerprint信息來校驗服務器證書)。
服務端用ServerKeyExchange報文向客戶端發送服務端的密鑰協商信息。
服務端用CertificateRequest報文向客戶端請求客戶端證書。
服務端向客戶端發送ServerHelloDone報文,指示服務端的Hello和相關報文交互結束。
客戶端用Certificate報文向服務端發送客戶端證書(證書可以采用自簽名證書,證書格式基于X.509標準,需要遵循RFC 5280,服務端采用SDP中fingerprint信息來校驗客戶端證書)。
客戶端采用信令消息SDP中的fingerprint信息來校驗服務端證書,校驗通過后用ServerKeyExchange報文向服務端發送主密鑰。
當服務端發送的ServerKeyExchang報文驗證無誤時,客戶端向服務端發送CertificateVerify報文響應。
客戶端向服務端發送ChangeCipherSpec報文,表明后續將要使用當前加密參數。
客戶端向服務端發送加密的Finished報文,用于驗證雙方協商的對稱加密算法、客戶端密鑰。
服務端向客戶端發送ChangeCipherSpec報文,表明將要使用當前加密參數。
服務端向客戶端發送加密的Finished報文,用于驗證雙方協商的對稱加密算法、客戶端密鑰,至此握手完成。
以上便是DTLS協議及主要流程介紹,其中握手流程中同一方向的數據可以放在一起發送,如步驟4~8中的握手數據可以一起發送給客戶端,握手完成之后就進入應用數據傳輸階段,在客戶端和服務器之間進行數據傳輸時,DTLS協議一致維護鏈接并會對數據進行加密和認證,直至會話結束再斷開鏈接。
-
通信
+關注
關注
18文章
6041瀏覽量
136124 -
網絡
+關注
關注
14文章
7579瀏覽量
88927 -
傳輸層
+關注
關注
0文章
30瀏覽量
10913 -
5G
+關注
關注
1355文章
48475瀏覽量
564723
原文標題:5G新通話的安全衛士——DTLS協議
文章出處:【微信號:ztedoc,微信公眾號:中興文檔】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論