張舒黎,石元兵,任旭斌,竇步紋,馬 超,周澤恒
(成都衛(wèi)士通信息產(chǎn)業(yè)股份有限公司,四川 成都 610041)
視頻會(huì)議系統(tǒng)是基于圖像和聲音交流的實(shí)時(shí)通信系統(tǒng),使得在地理上分散的用戶可以共聚同一會(huì)議空間,通過圖形、聲音等多種方式交流信息,增加參會(huì)人員對(duì)會(huì)議內(nèi)容的理解能力,極大地方便了協(xié)作成員之間真實(shí)、直觀的交流[1]。當(dāng)前,視頻會(huì)議逐步向著多網(wǎng)協(xié)作、高清化、開發(fā)化的方向發(fā)展,被廣泛應(yīng)用于各行各業(yè)。特別是在新冠抗疫期間,視頻會(huì)議對(duì)于遠(yuǎn)程醫(yī)療會(huì)診、政府遠(yuǎn)程指揮、企業(yè)復(fù)工復(fù)會(huì)等多方面具有重大意義。
在視頻會(huì)議的應(yīng)用中,會(huì)議內(nèi)容可能涉及國家機(jī)密、軍事情報(bào)、商業(yè)秘密及私人信息等敏感信息,一旦泄露,將面臨極大的安全風(fēng)險(xiǎn)。本文從典型視頻會(huì)議系統(tǒng)抽取密碼需求,結(jié)合商用密碼算法進(jìn)行研究,設(shè)計(jì)視頻會(huì)議加密方案,確保視頻會(huì)議信息數(shù)據(jù)安全,保障視頻會(huì)議持續(xù)發(fā)展與安全應(yīng)用。
視頻會(huì)議系統(tǒng)的典型組成如圖1 所示,可以將其大致分為終端側(cè)、平臺(tái)側(cè)兩部分,此外還包括線路、網(wǎng)絡(luò)等[2]。終端側(cè)主要是會(huì)議終端,包括專用的會(huì)議終端、以及移動(dòng)終端+APP、大屏顯示等其他形態(tài)的設(shè)備。平臺(tái)側(cè)包括會(huì)議管理、MCU 等后端服務(wù)器,用來實(shí)現(xiàn)會(huì)議控制、會(huì)議呼叫、混音、畫面編輯等功能。
在實(shí)際應(yīng)用中,視頻會(huì)議系統(tǒng)往往進(jìn)行級(jí)聯(lián)擴(kuò)展、云化部署,以滿足廣泛的視頻會(huì)議通信需求。
圖1 典型視頻會(huì)議組成
隨著視頻會(huì)議的持續(xù)發(fā)展和廣泛應(yīng)用,視頻會(huì)議的安全性日益凸顯,其加密需求顯得尤為迫切。很多的科研機(jī)構(gòu)、企業(yè)紛紛對(duì)加密視頻會(huì)議技術(shù)進(jìn)行研究,并推出相應(yīng)的解決方案和產(chǎn)品[3-4]。然而現(xiàn)有方案往往基于國際密碼算法,使用單一加密方式,防護(hù)效果并不突出。本文結(jié)合當(dāng)前視頻會(huì)議的發(fā)展趨勢(shì)以及實(shí)際的密碼使用情況,歸納出如下三方面的加密需求:
(1)端到端高效加密需求:隨著視頻、帶寬、編解碼等技術(shù)的成熟和發(fā)展,視頻會(huì)議呈現(xiàn)出高清化、規(guī)?;忍攸c(diǎn),相應(yīng)地,端到端保護(hù)、高效視頻加密、多路視頻并行加密等成為了新的需求。
(2)安全可擴(kuò)展需求:視頻會(huì)議場景各異,不同場景下,其具體的安全需求不盡相同,因此,需要制定差異化、可擴(kuò)展的加密方案以滿足不同的安全需求。
(3)密碼合規(guī)性需求:目前,很多的視頻會(huì)議系統(tǒng)往往采用國際密碼算法[5](如:AES、RSA、DES、SHA1、MD5 等)。然而,隨著“棱鏡門”事件的曝光以及王小云院士宣布攻破國際密碼算法等[6],國際密碼算法的安全性問題日益顯現(xiàn)。另一方面,我國推出安全自主可控的商用密碼算法[7]SM1、SM2、SM3、SM4、SM7、SM9、ZUC 等,已經(jīng)(或?qū)⒁┏蔀閲H標(biāo)準(zhǔn),被廣泛應(yīng)用于金融、能源、黨政等重要領(lǐng)域。對(duì)視頻會(huì)議進(jìn)行加密保護(hù)時(shí),應(yīng)當(dāng)結(jié)合國產(chǎn)商用密碼,構(gòu)建安全合規(guī)的密碼應(yīng)用體系。
在傳統(tǒng)視頻會(huì)議中,與會(huì)人員控制會(huì)議平臺(tái),向視頻會(huì)議終端發(fā)起會(huì)議,會(huì)議終端采集本地音視頻并發(fā)送到其他會(huì)議終端。加密視頻會(huì)議系統(tǒng)中,平臺(tái)在發(fā)起會(huì)議的同時(shí)向終端分發(fā)密鑰,參會(huì)終端對(duì)本地采集的音視頻進(jìn)行加密并傳輸給對(duì)端設(shè)備,當(dāng)接收到對(duì)端設(shè)備發(fā)送的音視頻密文后進(jìn)行解密和播放。其框架如圖2 所示。
圖2 加密視頻會(huì)議框架
在加密視頻會(huì)議系統(tǒng)中,視頻會(huì)議終端設(shè)置密碼設(shè)備,如USBKEY、TF 卡、密碼軟模塊等,使其具備數(shù)據(jù)加解密、密鑰及證書存儲(chǔ)等安全能力。平臺(tái)配置密碼機(jī)、密鑰管理系統(tǒng)、數(shù)字證書管理系統(tǒng),實(shí)現(xiàn)密碼運(yùn)算、密鑰生命周期管理、證書生命周期管理等功能。典型組成如圖3 所示。
系統(tǒng)采用SM2/3/4 商用密碼算法。SM2 算法用于簽名驗(yàn)簽、對(duì)稱密鑰加密保護(hù)等。SM3 算法用于完整性保護(hù)。SM4 算法用于對(duì)音視頻數(shù)據(jù)的加密保護(hù)。系統(tǒng)使用雙證書(加密證書、簽名證書),采用三層密鑰,密鑰體系如表1 所示。
加密視頻會(huì)議的密鑰流程如圖4 所示。密管向參會(huì)終端分發(fā)會(huì)議密鑰,所有參會(huì)終端共享同一個(gè)會(huì)議密鑰。作為視頻發(fā)送者的參會(huì)終端產(chǎn)生會(huì)話密鑰,通過會(huì)議密鑰加密保護(hù)的形式,將其發(fā)給視頻接收端。收、發(fā)雙端共享相同的會(huì)話密鑰,基于會(huì)話密鑰進(jìn)行端到端的加解密。
圖3 加密視頻會(huì)議系統(tǒng)典型組成
表1 密鑰體系
發(fā)送端和接收端處理音視頻的總體流程如圖5所示。由圖可見,方案采用了三層防護(hù):混淆加擾、選擇性加密、選擇性完整保護(hù)?;煜訑_的目的是讓碼流更加混亂,增大碼流分析破解的難度;選擇性加密提供不同等級(jí)的加密強(qiáng)度,保護(hù)音視頻數(shù)據(jù)的機(jī)密性;選擇性完整保護(hù)是按需對(duì)部分音視頻進(jìn)行完整性保護(hù),防止非法篡改和破壞。三層防護(hù)的設(shè)計(jì),極大地增強(qiáng)了系統(tǒng)的安全性。
發(fā)送端混淆加擾算法如圖6 所示。
混淆加擾的關(guān)鍵是亂碼本。亂碼本采用一會(huì)一本的機(jī)制。平臺(tái)在每次新建會(huì)議時(shí)生成亂碼本,安全分發(fā)給參會(huì)終端。亂碼本包括AudioRN(音頻幀亂碼)、IframeRNCoe(I 幀亂碼系數(shù))、PBframeRN(P/B 幀亂碼)、ParaRN(參數(shù)集亂碼)四部分內(nèi)容,相關(guān)的設(shè)計(jì)和使用準(zhǔn)則如下:
圖4 密鑰流程設(shè)計(jì)
圖5 端到端加密總體流程
圖6 發(fā)送端混淆加擾算法
AudioRN:為不低于單音頻幀最大長度的隨機(jī)數(shù)串。將AudioRN 截?cái)酁榕c音頻幀等長的數(shù)串,然后與音頻幀數(shù)據(jù)進(jìn)行異或運(yùn)算。
IframeRNCoe:包括1K 字節(jié)的隨機(jī)數(shù)串A、64字節(jié)的增量隨機(jī)數(shù)串B、遞增偏移量X。使用式(1)得到IframeRN,將IframeRN截?cái)酁榕cI 幀等長的數(shù)串,然后與I 幀數(shù)據(jù)進(jìn)行異或運(yùn)算。
PBframeRN:為64 字節(jié)的隨機(jī)數(shù)串。將P/B 幀的前32 字節(jié)與PBframeRN 的前32 字節(jié)異或,將P/B 幀的后32 字節(jié)與PBframeRN 的后32 字節(jié)異或;如果P/B 幀不足32 字節(jié),則將PBframeRN 截?cái)酁榕cP/B 幀等長的數(shù)串,然后與P/B 幀數(shù)據(jù)進(jìn)行異或運(yùn)算。
ParaRN:為64 字節(jié)的隨機(jī)數(shù)串。如果參數(shù)集長度小于64 字節(jié),將ParaRN 截?cái)酁榕c參數(shù)集等長的數(shù)串,然后與參數(shù)集進(jìn)行異或運(yùn)算;如果參數(shù)集長度大于64 字節(jié),只對(duì)參數(shù)集前64 字節(jié)進(jìn)行異或運(yùn)算。
由于I 幀數(shù)據(jù)量大,對(duì)IframeRNcoe 進(jìn)行擴(kuò)展,可以得到足夠長的亂碼IframeRN。其實(shí)現(xiàn)方式如下:
其中||表示數(shù)串拼接,⊕表示按位異或,<<表示循環(huán)左移。
發(fā)送端選擇性加密算法如圖7 所示。
圖7 發(fā)送端選擇性加密算法
在算法流程7 中,涉及三種安全等級(jí):I 級(jí)(一般)、II 級(jí)(較高)、III 級(jí)(高)。三種安全強(qiáng)度的定義如表2 所示。
表2 安全強(qiáng)度定義
不同強(qiáng)度下,不同類型的數(shù)據(jù)將采用全加密或者部分加密的方式。其中,部分加密過程如下:
設(shè)待處理數(shù)據(jù)為M,長度為L,設(shè)置分組參數(shù)T(T>4),將M分為T組數(shù)據(jù),前T-1 組數(shù)據(jù)長度均為,最后1 組數(shù)據(jù)長度為;
發(fā)送端選擇性完整保護(hù)算法如圖8 所示。
采用選擇性完整保護(hù)的方式對(duì)視頻I 幀數(shù)據(jù)進(jìn)行保護(hù)。在等級(jí)I 時(shí),不進(jìn)行處理;在等級(jí)II 時(shí),發(fā)送端對(duì)I 幀數(shù)據(jù)計(jì)算SM3_HMAC,將HMAC 值封裝進(jìn)I 幀數(shù)據(jù)的末尾;在等級(jí)III 時(shí),發(fā)送端計(jì)算I 幀及其前k(k>0)個(gè)連續(xù)幀的樹頂摘要值,將其值封裝進(jìn)I 幀數(shù)據(jù)的末尾。
樹頂摘要計(jì)算示意如圖9 所下。
接收端的流程為發(fā)送端的逆向流程,需要保證接收端與發(fā)送端共享同樣的策略和參數(shù)配置。具體實(shí)現(xiàn)形式可以通過平臺(tái)控制、收發(fā)雙方協(xié)商、事先預(yù)置等方式實(shí)現(xiàn)。
密碼算法強(qiáng)度高:常用的視頻會(huì)議加密系統(tǒng)往往采用AES、RSA、SHA1 等國際密碼算法,本系統(tǒng)采用由我國自主設(shè)計(jì)的SM2/3/4 商用密碼算法,安全強(qiáng)度不低于國際算法且自主可控,更適合部署于黨政、金融、能源等行業(yè)領(lǐng)域。
圖8 發(fā)送端選擇性完整保護(hù)算法
三重防護(hù)高安全:本系統(tǒng)輕耦合式地組合應(yīng)用混淆加擾、選擇性加密、選擇性完整保護(hù)三種安全技術(shù)。系統(tǒng)中的關(guān)鍵信息(如策略配置、亂碼本、密鑰信息、身份信息等)均以密文的形式在網(wǎng)絡(luò)中傳輸,以防止非法網(wǎng)絡(luò)截獲和破壞。某一安全技術(shù)敏感信息的泄露都不會(huì)直接影響其他技術(shù)的安全性,此種設(shè)計(jì)大大增加了系統(tǒng)的復(fù)雜度,提升了整體的安全性。
圖9 樹頂摘要算法
安全等級(jí)可擴(kuò)展:傳統(tǒng)的視頻會(huì)議加密系統(tǒng)往往只對(duì)音視頻進(jìn)行加密,未對(duì)安全等級(jí)進(jìn)行區(qū)分。本系統(tǒng)充分考慮音視頻數(shù)據(jù)的結(jié)構(gòu)特點(diǎn),對(duì)視頻數(shù)據(jù)I 幀、視頻數(shù)據(jù)P/B 幀、視頻參數(shù)集、音頻數(shù)據(jù)幀進(jìn)行區(qū)分,綜合運(yùn)用混淆加擾、選擇性加密、選擇性完整保護(hù)等多種安全技術(shù),提供不同等級(jí)的安全保護(hù)能力,以滿足廣泛的加密視頻會(huì)議場景需求。
本章節(jié)通過構(gòu)建模擬的應(yīng)用場景,分析加密技術(shù)對(duì)系統(tǒng)性能的影響情況。
場景1:高清視頻會(huì)議中,視頻碼率為2 Mbps,幀率24 fps,I/P 幀頻率比為1:10,I/P 幀大小比為5:1,無B 幀,音頻碼率為64 kbps,T=10,k=4。表3 展示了單個(gè)會(huì)議終端在處理單路碼流時(shí)的密碼運(yùn)算能力情況。能夠看出,隨著安全等級(jí)的增加,會(huì)議終端所需的密碼運(yùn)算速度持續(xù)增加,系統(tǒng)性能負(fù)載也越高。
場景2:基于場景1 的視頻會(huì)議,提供三種運(yùn)算能力的密碼設(shè)備。第1 種為低性能密碼設(shè)備(A-id),SM3/4 運(yùn)算速度不高于4Mbps,SM3 運(yùn)算次數(shù)不高于20 次每秒;第2 種為中等性能密碼設(shè)備(B-id),SM3/4 運(yùn)算速度不高于20Mbps,SM3運(yùn)算次數(shù)不高于200 次每秒;第3 種為高性能密碼設(shè)備(C-id),SM3/4 運(yùn)算速度不低于200Mbs,SM3 運(yùn)算次數(shù)不低于1000 次每秒。圖10 展示了在不同安全等級(jí)下,三類密碼設(shè)備支持加密視頻會(huì)議的最大接入數(shù)情況。由圖可見,當(dāng)安全等級(jí)一定時(shí),配置更高性能的密碼設(shè)備可以支持更多的終端進(jìn)行加密會(huì)議;當(dāng)密碼運(yùn)算能力一定時(shí),安全等級(jí)越高,實(shí)際可參會(huì)的終端數(shù)量越少。在實(shí)際部署時(shí),可以靈活地根據(jù)安全需求、參會(huì)數(shù)量等選擇適當(dāng)運(yùn)算能力的密碼設(shè)備。
表3 處理單路信號(hào)的密碼性能要求
本文對(duì)加密視頻會(huì)議進(jìn)行研究,分析現(xiàn)狀與密碼應(yīng)用需求,基于國家密碼局發(fā)布的商密算法對(duì)視頻會(huì)議進(jìn)行安全設(shè)計(jì),引入混淆加擾、選擇性加密、選擇性完整保護(hù)三重機(jī)制進(jìn)行層層防護(hù),實(shí)現(xiàn)視頻會(huì)議的加密保護(hù),最后對(duì)方案進(jìn)行分析和評(píng)估。本文設(shè)計(jì)的視頻會(huì)議加密方案具備高安全、可擴(kuò)展、靈活性等優(yōu)點(diǎn),具有較高的實(shí)用性。