Web實(shí)時(shí)通信(WebRTC)是最快的流媒體技術(shù),但這種速度帶來了復(fù)雜性。自然,人們質(zhì)疑以超低延遲傳輸媒體的流媒體方法如何能夠充分保護(hù)媒體或其傳輸?shù)倪B接。但也有好消息。雖然WebRTC加密和安全性可能很復(fù)雜,但它很強(qiáng)大。在本文中,我們將討論WebRTC安全漏洞以及WebRTC如何解決它們。
WebRTC簡(jiǎn)介
WebRTC不僅僅是一個(gè)協(xié)議。它是流技術(shù)的集合,包括協(xié)議、標(biāo)準(zhǔn)和三個(gè)JavaScript API。其中包括用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。此連接協(xié)議與其對(duì)應(yīng)協(xié)議傳輸控制協(xié)議(TCP)形成鮮明對(duì)比,因?yàn)樗鼉?yōu)先考慮速度而不是可靠性。這與WebRTC的開源性質(zhì)相結(jié)合,往往會(huì)強(qiáng)化WebRTC是一種易受攻擊的技術(shù)的誤解,但這與事實(shí)相去甚遠(yuǎn)。
了解WebRTC通信
在我們深入研究WebRTC安全漏洞以及它如何解決這些漏洞之前,讓我們探討一下WebRTC如何創(chuàng)建和維護(hù)媒體傳輸?shù)倪B接。人們會(huì)經(jīng)常提到“WebRTC協(xié)議”,但正如我們上面提到的,WebRTC并不是嚴(yán)格意義上的協(xié)議。它是技術(shù)的集合,包括三個(gè)JavaScriptAPI,它們協(xié)同工作以建立和維護(hù)對(duì)等體和傳輸介質(zhì)之間的連接。
獲取用戶媒體
getUserMediaAPI幾乎完全符合它的聲音。它從他們的網(wǎng)絡(luò)攝像頭和麥克風(fēng)獲取用戶的媒體。曾幾何時(shí),這是使用Flash等第三方插件完成的,但是HTML5通過引入此API改變了游戲規(guī)則。WebRTC很高興地利用它作為其底層技術(shù)的一部分。
RTCPeerConnection
RTCPeerConnection是一個(gè)特定于WebRTC的API,它使用會(huì)話描述協(xié)議(SDP)在對(duì)等方之間建立連接。它還負(fù)責(zé)對(duì)媒體進(jìn)行編碼,并使用UDP 通過已建立的連接發(fā)送媒體。
RTCDataChannel
最后,還有RTCDataChannelAPI。此 API處理非音頻/視頻形式的數(shù)據(jù)。它負(fù)責(zé)通過RTCPeerConnection建立的連接傳輸文本和其他替代類型的數(shù)據(jù)。
從技術(shù)上講,這些以及您訪問WebRTC應(yīng)用程序的瀏覽器是成功流式傳輸所需的全部?jī)?nèi)容。但是,這通常不是可擴(kuò)展的解決方案。許多人最終將這種所謂的無服務(wù)器技術(shù)與一系列服務(wù)器一起使用,以促進(jìn)通信和可擴(kuò)展性。正如我們將在下一節(jié)中探討的那樣,這引入了一些額外的安全問題。
WebRTC安全漏洞和注意事項(xiàng)
WebRTC要求在協(xié)議級(jí)別進(jìn)行加密。在瀏覽器環(huán)境中運(yùn)行時(shí),它受到嚴(yán)格的隱私和安全控制,但是不使用瀏覽器的服務(wù)呢?雖然WebRTC主要是為瀏覽器到瀏覽器的通信而設(shè)計(jì)的,但它經(jīng)常使用各種基礎(chǔ)設(shè)施設(shè)備,這可能會(huì)使其安全性復(fù)雜化。下表總結(jié)了常見的WebRTC服務(wù)器類型及其高級(jí)安全隱患。
固有的互聯(lián)網(wǎng)安全問題
WebRTC信令服務(wù)器本質(zhì)上是Web應(yīng)用程序服務(wù)器,需要像任何應(yīng)用程序一樣進(jìn)行保護(hù)。用戶應(yīng)警惕他們連接到誰。幸運(yùn)的是,瀏覽器和應(yīng)用商店保護(hù)措施最大限度地減少了不良提供商-但不良用戶是另一個(gè)問題?!翱s放轟炸”是指獲取視頻會(huì)議會(huì)議信息以未經(jīng)授權(quán)加入會(huì)議,通常用于破壞性目的。WebRTC服務(wù)提供商可以通過為其用戶提供身份驗(yàn)證機(jī)制來防止這種情況,這些機(jī)制將訪問權(quán)限限制為授權(quán)用戶,并利用審核控制來快速刪除和阻止不良行為者。例如,Wowza具有控制WebRTC流訪問和持續(xù)時(shí)間的API。
媒體服務(wù)器風(fēng)險(xiǎn)
雖然有時(shí)需要STUN和TURN等其他服務(wù)器,但這些服務(wù)器永遠(yuǎn)無法訪問未加密的媒體,因此不會(huì)帶來太大的風(fēng)險(xiǎn)。其他服務(wù)器,尤其是支持多方視頻電話會(huì)議或?qū)崟r(shí)流媒體服務(wù)器的選擇性轉(zhuǎn)發(fā)單元(SFU)等媒體服務(wù)器,會(huì)帶來更困難的風(fēng)險(xiǎn)。這些服務(wù)器在使用新的加密密鑰重新傳輸媒體之前解密媒體。這種解密通常是無法避免的。如果媒體服務(wù)器需要操作媒體,則必須執(zhí)行解密才能訪問該媒體。例如,在實(shí)時(shí)流網(wǎng)絡(luò)中,媒體服務(wù)器需要解密媒體以對(duì)其進(jìn)行轉(zhuǎn)碼(調(diào)整大小、重構(gòu)和轉(zhuǎn)換格式),以供內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN) 使用。
如果這些媒體服務(wù)器遭到入侵,則用戶媒體流可能會(huì)面臨風(fēng)險(xiǎn)。媒體服務(wù)器運(yùn)營(yíng)商在部署其基礎(chǔ)結(jié)構(gòu)和管理授權(quán)用戶時(shí)遵循最佳安全實(shí)踐非常重要。因此,這些服務(wù)器應(yīng)避免意外緩存敏感的未加密數(shù)據(jù)。此外,他們應(yīng)該在內(nèi)部將媒體流與其他進(jìn)程隔離,以進(jìn)一步避免未經(jīng)授權(quán)的訪問。
安全性應(yīng)特定于應(yīng)用程序。例如,您可能需要錄制和存檔媒體以進(jìn)行有意分發(fā)。在這種情況肯定需要保存到磁盤并至少使其在某種程度上可用。安全措施應(yīng)規(guī)定如何以及由誰完成。他們還應(yīng)該確定誰可以訪問和播放媒體。
審核編輯 :李倩
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9165瀏覽量
85437 -
流媒體
+關(guān)注
關(guān)注
1文章
194瀏覽量
16660 -
WebRTC
+關(guān)注
關(guān)注
0文章
57瀏覽量
11250
原文標(biāo)題:Wowza:WebRTC加密和安全(上)
文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論