新聞中心
阿里云的CDN和視頻云產品在直播安全場景下有廣泛的應用,阿里巴巴集團的淘寶、優(yōu)酷等業(yè)務的直播正是基于這些產品底層能力,構建了強大的直播安全體系。這個基于阿里巴巴集團自身業(yè)務實踐打磨出來的架構設計,也被眾多上云客戶所采用。本篇文章,阿里云產品架構師小流將與大家分享這些架構實踐背后的一些思考,希望對在尋找穩(wěn)定、高效、經濟的直播安全體系的開發(fā)者有所幫助。

創(chuàng)新互聯(lián)建站長期為上1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為閩清企業(yè)提供專業(yè)的成都網站設計、成都網站建設,閩清網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
分享主要分三塊:首先,對系統(tǒng)架構做一個整體介紹,先了解系統(tǒng)架構的全貌。然后,把架構中的核心內容拆解出來,進行詳細的解讀。最后,探討這個架構的優(yōu)勢。
整體系統(tǒng)架構
2020年11月4日,國家網信辦正式發(fā)布《互聯(lián)網直播服務管理規(guī)定》,對互聯(lián)網直播服務提供者、互聯(lián)網直播發(fā)布者和用戶的相關行為作出規(guī)范,對一些不合法的直播行為做出了約束。新規(guī)要求:互聯(lián)網直播服務,要“先審后發(fā)、即時阻斷”。該規(guī)定自2020年12月1日起施行。下圖的架構設計,囊括了直播內容的產生、存儲和消費的整個生命周期,每個階段都有相應的措施,通過“防、控、封、堵”等多種方式,來確保直播安全。
第1塊橙色部分是內容生產安全模塊。這個模塊主要是對內容生產者進行身份驗證,以確保內容生產者的合法性,盡可能從源頭上規(guī)避非法發(fā)布者產生非法內容。是直播安全的第一道防線。第2塊是審核及管控模塊,對應架構圖中的黃色部分。這個模塊是整個直播安全體系的核心,這個模塊主要對內容生產后進行檢查審核,并對非法內容的播放進行管控。第3塊是播放安全模塊,對應架構圖中淺藍色部分。這個模塊主要是對觀眾身份進行驗證,以確保直播內容不被別人所用,保障內容的安全性,同時,有效解決盜鏈問題,確保資產安全,避免資損。上面3個模塊是傳統(tǒng)直播安全體系必備的模塊,主要解決內容的安全問題,契合了《互聯(lián)網直播服務管理規(guī)定》中先審后發(fā)、即時阻斷的要求。我們在實際的業(yè)務運維中發(fā)現(xiàn),直播基礎架構與直播的質量和穩(wěn)定性息息相關,基礎架構的安全也至關重要。因此,我們把架構安全也納入直播安全體系里面來。圖中金色部分是架構安全模塊,在這里面有一些特殊的設計,我們后面會講到。
各個模塊詳細解讀
一、內容生產安全
我們知道,直播是一種實時性、互動性顯著的互聯(lián)網傳播內容的形式。不同于傳統(tǒng)的文字、圖片、視頻等傳播形式,直播緊密的將用戶與直播內容交互在一起,用戶本身也是內容生產的一份子。因此,很有必要對生產內容的用戶進行嚴格管控,進行有效的身份驗證。要對身份進行驗證,最有效的手段就是進行鑒權。鑒權有多種方式。通常是通過時間戳管控有效期,通過加密算法驗證身份合法性。傳統(tǒng)方案的做法是:用戶與平臺協(xié)商一個密鑰,將用戶推流的url、時間戳、密鑰等信息構成一個字符串,按照約定的算法將字符串轉化成相應的鑒權信息;相關信息發(fā)送到CDN節(jié)點后,由CDN進行比對;如果時間戳在約定范圍內,且鑒權值正確,則正常服務;反之,則拒絕。這種方案,需要把密鑰部署到CDN。這樣,除了平臺內部以外,多了一個鑒權key泄露的風險。所以,在我們設計的方案里,我們推薦對內容安全有要求的用戶,使用遠程鑒權。
我們看上邊這個架構圖。遠程鑒權的方案里,用戶在下發(fā)推流地址時,將按照加密規(guī)則生成的url下發(fā)到推流端。推流端請求到CDN節(jié)點,CDN節(jié)點在收到推流請求時,根據約定,通過http等方式將相關的鑒權信息,比如:url參數、UA、ClientIp等等,透傳給用戶自有的遠程鑒權服務器。鑒權服務根據透傳的信息,驗證合法性,并響應鑒權結果給到CDN節(jié)點。CDN節(jié)點,根據回調的結果,進行處理。
當然,遠程鑒權可以與傳統(tǒng)的本地鑒權組合使用,先在本地做一層判斷,再進行遠程鑒權。這種做法,可有效解決推流key泄露導致的盜推,同時避免大量非法推流請求透傳至遠程鑒權服務器,將服務器打爆。
二、審核及管控安全
近些年來,由于視頻業(yè)務爆發(fā),對視頻監(jiān)管及審核提出了更高的要求,視頻直播的識別及審核規(guī)格要升級。審核規(guī)格的升級,往往意味著技術難度和成本的增加。如何在滿足業(yè)務需求的情況下,選擇成本最優(yōu)的智能審核方案,是每個直播平臺面對的難題。一般情況,要做嚴格的審核,采用1s一張的非關鍵幀的截圖,是一個比較穩(wěn)妥的做法。但非關鍵幀的截圖,對截圖服務的機器開銷會比較大,即客戶的使用成本會比較高。如果是大平臺,流的數量非常大,全量走非關鍵幀截圖,成本開銷會非常大。因此,考慮采用差異化的截圖策略,在成本和收益上,做到一個平衡,以期通過技術手段,在避免成本的浪費的同時,最大程度上做到識別不遺漏。比如:核心大主播,這類主播數量少,但重要性高,容易被人關注及攻擊,走非關鍵幀截圖;敏感高危類目走非關鍵幀截圖;游戲直播和賽事直播走關鍵幀截圖。這里說的非關鍵幀截圖,是指強制1s一張截圖;關鍵幀截圖,是根據用戶推流的gop,每個gop截一張。
我們來看整體的架構設計:平臺主播推流到阿里云CDN;阿里云CDN,在收流后,回調客戶截圖決策服務;客戶截圖決策服務,基于歷史主播評分、主播分類(比如高危、疑似、普通等)決策流的截圖策略,并確定截圖周期頻率,下發(fā)到阿里云截圖服務;阿里云截圖服務,根據決策回調,對流進行截圖;對于客戶截圖決策服務無法決策的流,阿里云截圖服務會根據流的屬性分析來自動決策(比如:在流剛入系統(tǒng)時,進行安全的非關鍵幀截圖,后續(xù)解析發(fā)現(xiàn)視頻流的關鍵幀,符合關鍵幀截圖條件時,切換到關鍵幀截圖)。客戶審核服務實時拉取阿里云截圖并審核,然后根據審核結果,實時進行處理。如果是高危的,調用阿里云流封禁接口,實時封禁主播推流,同時更新截圖決策服務,標注主播違規(guī)標識,便于后續(xù)的截圖決策。疑似的,更新截圖決策服務,標注主播疑似違規(guī)標識,調整截圖策略;普通的,則不做處理。
截圖審核目前也有很多基于AI的智能審核能力,可以大量節(jié)省人工審核的成本。阿里云也有相應的產品,可以做集成。
除了截圖審核外,通過標準的錄制服務,錄制直播內容,并進行存儲,結合截圖審核,可以進行人工的二次審核及審核確認,審核結果,可以同步到決策服務,進行策略的干預和更新。
三、播放安全
內容生產安全和內容審核管控是從內容的產生和管理角度去解決安全問題,這兩個是直播內容安全的基礎。但是在一些一旦犯錯就會產生巨大影響的場景下,需要有更嚴格的管控措施。這就要求我們在播放側,也需要有一些安全措施來加以保障。比如一些敏感內容或者大型活動的直播,這類內容的關注度超高,一旦內容審核有所遺漏,哪怕只是一幀畫面,也會產生巨大的輿論影響,造成播出事故。對于這種場景,推薦使用阿里云直播產品延遲播放的能力,給審核以足夠的時間進行逐幀確認,確保播出安全。延遲播放在日常一些需要確保時效性的場景下是不適用的,因而延遲播放的能力需要能細化到對直播流粒度的管理。當然,有一些業(yè)務場景,比如部分用戶需要實時,而部分用戶需要延遲,也可以采用延遲播放來滿足。
播放安全還需要具備通過技術手段避免資損產生的能力。資損有兩類,一類是盜鏈,即非法用戶通過非法途徑播放內容。盜鏈往往會造成直播內容泄密,導致正常業(yè)務受到影響,使得平臺花費大量資源制造的內容產生的價值大打折扣。更可惡的是,盜鏈產生的流量費用,往往還需要平臺承擔。對于盜鏈,主要的管控措施,就是進行鑒權?;A的鑒權,比如ua、referer、時間戳、md5等能解決掉一部分盜鏈問題,但是盜鏈和防盜鏈跟安全的攻防一樣,有來有往,需要不斷的更新或者升級防盜鏈能力,才能有效的遏制盜鏈。因此,我們比較推薦采用遠程鑒權的方式來做防盜鏈。拉流的遠程鑒權和推流的遠程鑒權類似,這里就不再展開了。無論是基礎鑒權還是遠程鑒權,都是在拉流接入時候驗證身份,并不能做到萬無一失。DRM是另一種更高階的防盜鏈技術,這種技術主要是對視頻幀逐幀加密,在播放端再解密。DRM的防盜鏈效果更好,但需要有比較強的視頻處理的技術能力。
另一類資損,是對不在播的內容做了錯誤的資源位推薦,影響用戶體驗,造成推薦資源的浪費。這類問題,主要是對熱門主播的直播狀態(tài)管理不準確造成的。我們推薦的做法是將直播的業(yè)務下播和真正的CDN下播結合起來,通過CDN的關播回調,來確認是否直播下播,對于CDN已下播,但直播間未關閉的,則關閉直播間的相關邏輯。其做法是,當用戶的直播管控中心收到業(yè)務關播信息,則查詢CDN的關播信息,若CDN顯示流還在線,則調用阿里云封禁服務,進行斷流。另外,直播管控中心定時從CDN同步流在線狀態(tài),對于流已不在線,但業(yè)務關播仍顯示在線的,超出預定時間的,則關閉直播間相關邏輯。為了確認流狀態(tài)更新的安全,避免接口泄露,被有心人利用,我們也建議回調做鑒權,只有通過鑒權的回調,才能采信,接受更新。
四、架構安全
上面三塊內容,從全鏈路上都保證了直播內容的安全,但在日常運維中,還有穩(wěn)定性的要求。只有在穩(wěn)定有質量保證的直播平臺上構建的直播內容安全措施,才是有意義的。同時,在有些場景下,比如大型活動,超高的關注度,流量洪峰的沖擊,對穩(wěn)定性有更高的要求。沒有一個有效的架構來支撐,一旦有點風吹草動,往往會造成活動事故。我們把這類場景衍生出來的需求,納入到架構安全里面來。架構安全,本質是要保證日常運營和大型活動的推播穩(wěn)定,尤其是在大型活動時,能夠承受住流量洪峰,在故障時,有快速調整和恢復的能力。
在技術上,主要依賴全鏈路災備來實現(xiàn)。首先是傳輸鏈路容災:CDN直播的推拉流是多層架構,CDN內部傳輸具備故障自動切換的能力,當檢測到某條傳輸鏈路有問題時,自動切換到另外的鏈路上,生效時間秒級。其次是多中心容災,阿里云的架構里,直播中心是所有處理直播視頻的樞紐,一旦中心出現(xiàn)問題,整個直播將受到巨大的影響。阿里云的直播中心本身是高可用架構,基本上可以滿足日常的穩(wěn)定性要求。在高可用架構的基礎上,采用多中心融災的方案,解決單一直播中心故障造成大面積直播中斷的問題。需要說明的是,多中心容災的成本較大,建議在大型活動等特殊場景下再啟用。
除了上述傳輸層面的全鏈路容災,我們還推薦采用主備合流的方式,來確保架構安全。其做法是,將傳輸融災向下延伸至推流端,推流方從不同區(qū)域或運營商推多路流至CDN,CDN在直播中心進行合流,選擇其中一路對外分發(fā),當該路流出現(xiàn)異常時,可秒級切換至另一路流,這樣可以做到用戶切換無感知。
架構的優(yōu)勢
上面詳細介紹了整體的系統(tǒng)架構,那么為什么要用這樣的架構?這樣的架構有什么優(yōu)勢呢?我們來看:
首先,從前面的介紹可以看到,整個架構的每一層,都有強大的鑒權能力。我們推薦的遠程鑒權,優(yōu)點尤其明顯,因為key是直播業(yè)務方自己保管的,不需要給第三方商業(yè)CDN部署,鑒權算法也不需要同步給第三方,減少了暴露的風險。遠程鑒權可以根據業(yè)務情況及時調整,有更好的靈活性。也可以針對推流和播放,實現(xiàn)不同的策略,比如:推流用同步鑒權,保證核心內容安全;播放用異步鑒權,保證數據安全的同時,不影響播放秒開;重點流,鑒權服務可以自助設置特殊策略,多重保障。另外,阿里云直播CDN產品,具有業(yè)界領先的邊緣編程能力,基于該能力,可以快速實現(xiàn)鑒權的自定義。
其次,我們推薦的審核管控架構,是經濟且高效的方案。通過這個架構,可以做到成本與收益的平衡。管控力度可以到具體的流,非常的精細化。當出現(xiàn)異常時,可以秒級對直播信號進行阻斷,風險控制可以說是非常及時、立竿見影。截圖審核、錄制審核和延遲播放等多種審核管控機制,逐層的篩選和控制,讓非法內容無處藏身。
最后,我們提供的整個直播基礎架構,具備全鏈路的災備能力,容災能力強。阿里云邊緣云具備國內領先的CDN能力,經受了多年雙11、世界杯等大型活動的洗禮,在應對大流量突發(fā)上有豐富的經驗。完善的內部監(jiān)控,可以在故障發(fā)生前提前排除隱患,秒級生效的故障切換能力,可以做到觀眾無感?;A架構穩(wěn)定了,在流量洪峰來臨時,更多是彈性資源的快速補充,阿里云的資源儲備在業(yè)界是數一數二的,快速的資源建設能力,可以從容應對任何的流量洪峰。
分享題目:互聯(lián)網泛娛樂直播安全的解決之道
新聞來源:http://www.5511xx.com/article/dpiicoc.html


咨詢
建站咨詢
