亢 碩,伍小成,李默嘉,徐 寧
(中國電子科技集團公司第三十研究所,四川 成都 610041)
近年來,隨著移動通信技術(shù)的飛速發(fā)展,利用音視頻系統(tǒng)將信息傳遞生動化,建立基于音視頻流媒體技術(shù)的、互動的溝通渠道,成為增進溝通交流、提高工作效率的有效手段。音視頻系統(tǒng)承載的信息類型和數(shù)量不斷擴充,所面臨的安全形勢也日益嚴峻。由于絕大多數(shù)實時視頻通信業(yè)務(wù)依賴公共互聯(lián)網(wǎng)進行數(shù)據(jù)傳輸,傳輸過程中可能面臨來自互聯(lián)網(wǎng)內(nèi)惡意用戶的各類非法攻擊,同時音視頻系統(tǒng)在信息結(jié)構(gòu)、控制模式和終端形態(tài)方面具有特殊性,除面臨通用信息系統(tǒng)的安全威脅外,還面臨非法接入、信令攻擊和數(shù)據(jù)篡改等主要安全威脅。其中視頻篡改是針對實時視頻通信業(yè)務(wù)可能采用的最具威脅的攻擊手段之一,攻擊者通過掌控視頻數(shù)據(jù)傳輸路徑的中間節(jié)點,按其意圖對流經(jīng)該節(jié)點的視頻數(shù)據(jù)進行非法篡改,采用逐幀替代等方式,偽造出與源端不一致的視頻流,發(fā)往目的端,達到通過篡改視頻數(shù)據(jù)欺騙接收端的效果。
現(xiàn)有技術(shù)中針對實時視頻篡改攻擊多采用利用基于哈希運算的消息認證碼(Hash-based Message Authentication Code,HMAC)的視頻數(shù)據(jù)完整性保護方法[1],即在源端發(fā)出的每幀視頻數(shù)據(jù)包末尾附加一個通過HMAC 算法計算出的校驗字段,接收端收到視頻數(shù)據(jù)包后,首先采用相同的算法對收到的視頻數(shù)據(jù)進行完整性校驗,與視頻數(shù)據(jù)包末尾附加的校驗字段進行比對,若一致則證明視頻數(shù)據(jù)在傳輸過程中未受到篡改,可以安全接收。但是在實際應(yīng)用過程中,現(xiàn)有技術(shù)在處理性能和安全性兩個方面存在不足。
本文針對實時視頻數(shù)據(jù)完整性保護問題展開研究,首先介紹實時視頻數(shù)據(jù)完整性保護的工作原理;其次分析當前主流超完整性保護機制面臨的問題;再次提出了完整性保護參數(shù)自適應(yīng)調(diào)整優(yōu)化機制,并對該機制進行試驗與評估;最后對全文進行總結(jié)。
現(xiàn)有完整性保護功能由發(fā)送端設(shè)備和接收端設(shè)備共同完成。通過在發(fā)送端為傳輸?shù)囊曨l信令數(shù)據(jù)添加HMAC 校驗字段并在接收端進行校驗的方式,及時識別出被篡改的視頻信令,確保視頻信令在遠距離無線傳輸過程中未受到非法的篡改攻擊,有效防范各類針對視頻信令的視頻會議系統(tǒng)綁架、劫持、誤導(dǎo)類攻擊行為[2]。在實際應(yīng)用過程中,現(xiàn)有技術(shù)存在以下兩個方面的不足。
一是基于HMAC 的完整性保護算法其基礎(chǔ)為公開的哈希(HASH)算法,本身就存在被攻破的可能性。同時,由于實際應(yīng)用時必須同步考慮通信性能平衡,因此通常會采用輸出長度較短的HASH 算法,從而導(dǎo)致碰撞概率提升,安全性進一步降低。此外,針對同一會話長時間使用同一種HASH 算法保護,更容易被潛在攻擊者定位算法特征,增大算法被攻破的風(fēng)險。一旦基于HASH 的HMAC 算法被攻破,則無法達到預(yù)計的視頻數(shù)據(jù)完整性保護效果。
二是HMAC 計算對硬件資源需求較高[3]。針對實時視頻流持續(xù)高強度的HMAC 計算在提升了視頻數(shù)據(jù)傳輸安全性的同時,也可能為各種嵌入式視頻終端帶來較大的性能和散熱壓力,特別是在設(shè)備入口流量大于高強度算法處理性能時,即使基于服務(wù)質(zhì)量(Quality of Service,QoS)實現(xiàn)視頻業(yè)務(wù)優(yōu)先,也會導(dǎo)致時延、時延抖動等指標急劇惡化,最終對視頻通信業(yè)務(wù)的安全、平滑運行帶來不利影響。
本文針對傳統(tǒng)HMAC 計算對硬件資源、處理性能需求較高,最終可能影響視頻通信業(yè)務(wù)實時性和平滑性的現(xiàn)狀,提出了一種基于保護參數(shù)自適應(yīng)調(diào)整的優(yōu)化機制。該機制針對同一條視頻會話流,使用不同運算強度的HASH 算法構(gòu)成HMAC 參數(shù)組合,即在對視頻幀數(shù)據(jù)進行HMAC 計算時,基于資源占用率、視頻處理時延、安全狀態(tài)等實時變化的因子,為同一會話內(nèi)的不同視頻幀數(shù)據(jù)自適應(yīng)地選擇不同運算強度的HMAC 參數(shù)[4]。當計算資源余量較大、視頻處理時延較小、安全風(fēng)險較大時,采用較高強度的HMAC 參數(shù),提供更高的安全性能;當計算資源余量較小、視頻處理時延較大、安全風(fēng)險較低時,采用較低強度的HMAC 參數(shù),提供更強的通信性能,從而盡可能地取得安全性能和計算性能之間的最優(yōu)平衡。優(yōu)化的實時視頻完整性保護機制主要由算法動態(tài)選擇、計算性能評估、業(yè)務(wù)時延評估和安全風(fēng)險評估4 個部分組成。
算法動態(tài)選擇先對計算性能、業(yè)務(wù)時延和安全風(fēng)險3 個維度進行綜合評分,然后按總分區(qū)間動態(tài)選擇適用于對當前視頻幀進行完整性保護的HMAC參數(shù),實現(xiàn)保護參數(shù)的動態(tài)跳變。算法動態(tài)選擇機制如下文所述。
選 取MD5、SHA256、SHA512、SHA3-256、SHA3-512 共5 種HASH 算法作為5 種強度遞增的HMAC 參數(shù)[5-8]。在發(fā)送端對每一幀視頻數(shù)據(jù)進行HMAC 處理前,對當前視頻幀關(guān)聯(lián)的計算資源余量、視頻處理時延和安全風(fēng)險3 個維度的數(shù)據(jù)進行實時評分,每個維度得分區(qū)間為1~100。最后計算3個維度的平均分,得分在區(qū)間1~20 時選擇MD5算法,得分在區(qū)間21~40 時選擇SHA256 算法,得分在區(qū)間41~60 時選擇SHA512 算法,得分在區(qū)間61~80 時選擇SHA3-256 算法,得分在區(qū)間81~100 時選擇SHA3-512 算法。具體的處理流程如圖1 所示。
圖1 參數(shù)動態(tài)自適應(yīng)的處理流程
計算性能評估通過對當前處理平臺的空閑計算資源進行評價和計算,使實時采用的HMAC 算法參數(shù)對計算資源的需求不超過當前的剩余資源總量,在確保安全性的前提下有效提升完整性保護的綜合算法性能。計算性能評估通過對計算資源余量維度進行評分的方式實現(xiàn)。計算資源余量維度得分的方法如下文所述。
計算資源余量維度得分采用與本會話近期統(tǒng)計運行時間相比較的方式評估,不同會話采用不同的評估參數(shù)。具體方法為,針對MD5、SHA256、SHA512、SHA3-256、SHA3-512 共5 種HASH 算法,分別預(yù)先測定5 個基準運算時間Tbase={Tbase1,Tbase2,Tbase3,Tbase4,Tbase5},每個視頻會話開始時,計算資源余量維度得分S1初始化為100,并為該會話單獨初始化5 種算法的近期統(tǒng)計運行時間Tn={T1,T2,T3,T4,T5}=Tbase,其中n表示5 種HASH 算法的序號。發(fā)送端每完成一次對視頻幀數(shù)據(jù)的HMAC計算,則記錄計算時間t,與本算法的近期統(tǒng)計運行時間進行比較,若t>TX,則最新的計算資源余量維度得分S1=S1-1;若t<TX,則最新的計算資源余量維度得分S1=S1+1。其中,X為本幀視頻數(shù)據(jù)采用的完整性保護HASH 算法序號,S1的取值限制在0~100 之內(nèi)。最后,使用t更新本會話的近期統(tǒng)計運行時間,使TX=0.99TX+0.01t,用于下一次計算。具體的計算流程如圖2 所示。
圖2 計算資源余量維度得分計算流程
業(yè)務(wù)時延評估通過對當前視頻會話流的實時處理時延進行統(tǒng)計計算,對時延敏感的實時視頻業(yè)務(wù)的通信質(zhì)量進行分析,確保更高強度的保護算法選擇不會導(dǎo)致視頻通信時延超過容忍閾值,實現(xiàn)通信時延與保護強度之間的動態(tài)平衡。業(yè)務(wù)時延評估通過對視頻處理時延維度進行評分的方式實現(xiàn)。視頻處理時延維度得分計算方法如下文所述。
針對信息量級不同的視頻I 幀、P 幀和B 幀,采用時延敏感度不同的評分策略。具體方法為,對于信息量較少的B 幀采用時延低敏感策略,當處理時延T=0~100 ms 時,視頻處理時延維度得分S2=1-T;當處理時延T>100 ms 時,視頻處理時延維度得分S2=0。對于信息量適中的P 幀采用時延中敏感策略,當處理時延T=0~50 ms 時,視頻處理時延維度得分S2=1-2T;當處理時延T>50 ms 時,視頻處理時延維度得分S2=0。對于信息量較高的I 幀采用時延高敏感策略,當處理時延T=0~33 ms 時,視頻處理時延維度得分S2=1-3T;當處理時延T>33 ms時,視頻處理時延維度得分S2=0。具體的計算流程如圖3 所示。
圖3 視頻處理時延維度得分計算流程
安全風(fēng)險評估通過對視頻端到端傳輸過程中受到的篡改攻擊進行統(tǒng)計和量化,實現(xiàn)對當前傳輸環(huán)境的安全性評價,使動態(tài)選擇的完整性保護算法能夠隨著傳輸環(huán)境的安全性水平進行動態(tài)變化,確保視頻傳輸?shù)陌踩吔绯渥恪⒖煽?。安全風(fēng)險評估通過對安全風(fēng)險維度進行評分的方式實現(xiàn)[9]。安全風(fēng)險維度得分計算方法如下文所述。
采用基于非等權(quán)指數(shù)變化的風(fēng)險評分快速逼近方式。具體方法為,設(shè)置風(fēng)險衰減指數(shù)A為較小的值1.01,風(fēng)險成長指數(shù)B為較大的值2,會話開始時,安全風(fēng)險維度得分S3初始化為100,表示高風(fēng)險環(huán)境。發(fā)送端每成功發(fā)送一個視頻幀數(shù)據(jù),觸發(fā)一次風(fēng)險衰減,新的安全風(fēng)險維度得分S3new=S3(1/A);接收端每檢測到一個被篡改的報文,則通知發(fā)送端,觸發(fā)一次風(fēng)險成長,新的安全風(fēng)險維度得分S3new=S3(B)。發(fā)送端發(fā)送的每個視頻幀數(shù)據(jù),采用當前最新的安全風(fēng)險維度得分S3計算HMAC 參數(shù)。安全風(fēng)險維度得分具體的計算流程如圖4 所示。
圖4 安全風(fēng)險維度得分計算流程
對于提出的參數(shù)自適應(yīng)調(diào)整優(yōu)化機制,通過仿真技術(shù)對其效果進行對比分析。
用兩塊飛騰FT2000/4 處理平臺分別模擬兩端的完整性保護設(shè)備,并分別啟用參數(shù)自適應(yīng)調(diào)整優(yōu)化機制[10]。通過網(wǎng)絡(luò)測試儀以配置的速度向被測設(shè)備注入模擬視頻業(yè)務(wù)流,并在兩端間串接一臺模擬篡改設(shè)備,在不同時間節(jié)點按配置的比例篡改報文。
網(wǎng)絡(luò)測試儀模擬注入的視頻吞吐量和模擬篡改設(shè)備隨時間設(shè)定的篡改行為規(guī)劃如下:
(1)t0時刻:初始時刻,模擬的視頻業(yè)務(wù)吞吐量初始化為60 Mbit/s,模擬的視頻篡改比例初始化為0%。
(2)t1時刻:處理器占用率變化觀察時刻,模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(3)t2時刻:處理器占用率變化觀察時刻,模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(4)t3時刻:處理器占用率變化觀察時刻,模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(5)t4時刻:處理器占用率變化觀察時刻,模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(6)t5時刻:預(yù)設(shè)的視頻數(shù)據(jù)吞吐量變化時刻,模擬的視頻業(yè)務(wù)吞吐量提升至160 Mbit/s,模擬的視頻篡改比例保持為0%。
(7)t6時刻:預(yù)設(shè)的視頻篡改風(fēng)險提升時刻,模擬的視頻業(yè)務(wù)吞吐量保持為160 Mbit/s,模擬的視頻篡改比例提升至3%。
(8)t7時刻:視頻處理吞吐量變化觀察時刻,模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(9)t8時刻:模擬的視頻業(yè)務(wù)吞吐量和模擬的視頻篡改比例等外部環(huán)境無變化。
(10)t9時刻:預(yù)設(shè)的視頻篡改風(fēng)險降低時刻,模擬的視頻業(yè)務(wù)吞吐量保持為160 Mbit/s,模擬的視頻篡改比例降低至0.5%。
測試結(jié)果如圖5 和圖6 所示。
圖5 吞吐量對比關(guān)系
圖6 處理器占用率對比關(guān)系
起始t0時刻,模擬篡改設(shè)備關(guān)閉篡改功能,網(wǎng)絡(luò)測試儀發(fā)包速度配置為60 Mbit/s,優(yōu)化前和優(yōu)化后兩種機制均基于SHA3-512 算法進行完整性保護,處理性能都是60 Mbit/s 零丟包,CPU 占用率都是70%左右。在當前的初始化環(huán)境設(shè)置下,傳統(tǒng)處理機制和本文提出的處理機制都能夠滿足視頻完整性保護的性能要求。
t1時刻,優(yōu)化后機制檢測到?jīng)]有報文被篡改,安全風(fēng)險較低,保護算法動態(tài)調(diào)整為SHA3-256 算法,CPU 占用率降低到58%左右。同理,在t2時刻調(diào)整為SHA512 算法,CPU 占用率降低到44%左右。t3時刻調(diào)整為SHA256 算法,CPU 占用率降低到34%左右。t4時刻調(diào)整為MD5 算法,CPU 占用率降低到22%左右。在外部環(huán)境不變的條件下,設(shè)備持續(xù)基于MD5 算法進行完整性保護,處理性能穩(wěn)定在60 Mbit/s 零丟包,CPU 占用率為22%。在該過程中,傳統(tǒng)處理機制能夠滿足視頻完整性保護的需求,但在處理器占用率上與本文提出的處理機制間存在較明顯的差距。本文提出的機制處理器占用率最低,僅占傳統(tǒng)處理機制的31%。
t5時刻配置網(wǎng)絡(luò)測試儀發(fā)包速度配置為160 Mbit/s,優(yōu)化后的設(shè)備基于MD5 可以達到160 Mbit/s 性能零丟包,優(yōu)化前的設(shè)備基于SHA3-512 只能達到72 Mbit/s。在該過程中,傳統(tǒng)處理機制與本文提出的處理機制在視頻處理性能上被拉開了比較明顯的差距。本文提出的機制數(shù)據(jù)吞吐量最高達到了傳統(tǒng)處理機制的219%。
t6時刻配置模擬篡改設(shè)備按照3%比例進行報文篡改,被測設(shè)備檢測到大量報文被篡改,網(wǎng)絡(luò)風(fēng)險高,將保護算法動態(tài)調(diào)整為SHA3-512 算法,從t7時刻起處理性能降低到72 Mbit/s 左右。在該過程中,本文提出的處理機制體現(xiàn)出了對外部安全風(fēng)險及時的反應(yīng)速度。
t8時刻被測設(shè)備由于丟包較多,檢測到視頻幀數(shù)據(jù)的HMAC 計算時間t大于平均處理延時,但是檢測到網(wǎng)絡(luò)風(fēng)險高,保護算法維持SHA3-512 算法,處理性能降低到72 Mbit/s。在該外部安全形勢極端惡劣的特殊場景中,傳統(tǒng)處理機制和本文提出的處理機制處理性能相當。
t9時刻,配置模擬篡改設(shè)備按照0.5%比例進行報文篡改,被測設(shè)備檢測到網(wǎng)絡(luò)風(fēng)險減低,保護算法動態(tài)調(diào)整為SHA256 算法,處理性能提升到120 Mbit/s。在該過程中,隨著外部安全風(fēng)險下降,本文提出的處理機制與傳統(tǒng)處理機制間重新拉開了較大的性能差距,本文提出的機制數(shù)據(jù)吞吐量達到了傳統(tǒng)處理機制的172%。
測試結(jié)果表明,針對同一條視頻會話流進行HMAC 計算時,自適應(yīng)地選擇不同運算強度的HMAC 參數(shù),能夠取得安全性能和計算性能之間的最優(yōu)平衡。
本文針對同一條視頻會話流,使用基于資源占用率、視頻處理時延、安全狀態(tài)等因子實時自適應(yīng)變化的HMAC 參數(shù)。對比優(yōu)化前恒定的HMAC 參數(shù),一方面實時跳變的HMAC 參數(shù)使?jié)撛诠粽吒y以掌握其規(guī)律,增加了完整性保護算法被攻破的難度;另一方面兼顧通信狀態(tài)的HMAC 參數(shù)選擇可實現(xiàn)安全性能與通信性能之間的有機動態(tài)平衡:當計算資源余量較大、視頻處理時延較小、安全風(fēng)險較大時,采用較高強度的HMAC 參數(shù),提供更高的安全性能;當計算資源余量較小、視頻處理時延較大、安全風(fēng)險較低時,采用較低強度的HMAC 參數(shù),提供更強的通信性能。