亢 碩,伍小成,李默嘉,徐 寧
(中國電子科技集團公司第三十研究所,四川 成都 610041)
近年來,隨著移動通信技術的飛速發展,利用音視頻系統將信息傳遞生動化,建立基于音視頻流媒體技術的、互動的溝通渠道,成為增進溝通交流、提高工作效率的有效手段。音視頻系統承載的信息類型和數量不斷擴充,所面臨的安全形勢也日益嚴峻。由于絕大多數實時視頻通信業務依賴公共互聯網進行數據傳輸,傳輸過程中可能面臨來自互聯網內惡意用戶的各類非法攻擊,同時音視頻系統在信息結構、控制模式和終端形態方面具有特殊性,除面臨通用信息系統的安全威脅外,還面臨非法接入、信令攻擊和數據篡改等主要安全威脅。其中視頻篡改是針對實時視頻通信業務可能采用的最具威脅的攻擊手段之一,攻擊者通過掌控視頻數據傳輸路徑的中間節點,按其意圖對流經該節點的視頻數據進行非法篡改,采用逐幀替代等方式,偽造出與源端不一致的視頻流,發往目的端,達到通過篡改視頻數據欺騙接收端的效果。
現有技術中針對實時視頻篡改攻擊多采用利用基于哈希運算的消息認證碼(Hash-based Message Authentication Code,HMAC)的視頻數據完整性保護方法[1],即在源端發出的每幀視頻數據包末尾附加一個通過HMAC 算法計算出的校驗字段,接收端收到視頻數據包后,首先采用相同的算法對收到的視頻數據進行完整性校驗,與視頻數據包末尾附加的校驗字段進行比對,若一致則證明視頻數據在傳輸過程中未受到篡改,可以安全接收。但是在實際應用過程中,現有技術在處理性能和安全性兩個方面存在不足。
本文針對實時視頻數據完整性保護問題展開研究,首先介紹實時視頻數據完整性保護的工作原理;其次分析當前主流超完整性保護機制面臨的問題;再次提出了完整性保護參數自適應調整優化機制,并對該機制進行試驗與評估;最后對全文進行總結。
現有完整性保護功能由發送端設備和接收端設備共同完成。通過在發送端為傳輸的視頻信令數據添加HMAC 校驗字段并在接收端進行校驗的方式,及時識別出被篡改的視頻信令,確保視頻信令在遠距離無線傳輸過程中未受到非法的篡改攻擊,有效防范各類針對視頻信令的視頻會議系統綁架、劫持、誤導類攻擊行為[2]。在實際應用過程中,現有技術存在以下兩個方面的不足。
一是基于HMAC 的完整性保護算法其基礎為公開的哈希(HASH)算法,本身就存在被攻破的可能性。同時,由于實際應用時必須同步考慮通信性能平衡,因此通常會采用輸出長度較短的HASH 算法,從而導致碰撞概率提升,安全性進一步降低。此外,針對同一會話長時間使用同一種HASH 算法保護,更容易被潛在攻擊者定位算法特征,增大算法被攻破的風險。一旦基于HASH 的HMAC 算法被攻破,則無法達到預計的視頻數據完整性保護效果。
二是HMAC 計算對硬件資源需求較高[3]。針對實時視頻流持續高強度的HMAC 計算在提升了視頻數據傳輸安全性的同時,也可能為各種嵌入式視頻終端帶來較大的性能和散熱壓力,特別是在設備入口流量大于高強度算法處理性能時,即使基于服務質量(Quality of Service,QoS)實現視頻業務優先,也會導致時延、時延抖動等指標急劇惡化,最終對視頻通信業務的安全、平滑運行帶來不利影響。
本文針對傳統HMAC 計算對硬件資源、處理性能需求較高,最終可能影響視頻通信業務實時性和平滑性的現狀,提出了一種基于保護參數自適應調整的優化機制。該機制針對同一條視頻會話流,使用不同運算強度的HASH 算法構成HMAC 參數組合,即在對視頻幀數據進行HMAC 計算時,基于資源占用率、視頻處理時延、安全狀態等實時變化的因子,為同一會話內的不同視頻幀數據自適應地選擇不同運算強度的HMAC 參數[4]。當計算資源余量較大、視頻處理時延較小、安全風險較大時,采用較高強度的HMAC 參數,提供更高的安全性能;當計算資源余量較小、視頻處理時延較大、安全風險較低時,采用較低強度的HMAC 參數,提供更強的通信性能,從而盡可能地取得安全性能和計算性能之間的最優平衡。優化的實時視頻完整性保護機制主要由算法動態選擇、計算性能評估、業務時延評估和安全風險評估4 個部分組成。
算法動態選擇先對計算性能、業務時延和安全風險3 個維度進行綜合評分,然后按總分區間動態選擇適用于對當前視頻幀進行完整性保護的HMAC參數,實現保護參數的動態跳變。算法動態選擇機制如下文所述。
選 取MD5、SHA256、SHA512、SHA3-256、SHA3-512 共5 種HASH 算法作為5 種強度遞增的HMAC 參數[5-8]。在發送端對每一幀視頻數據進行HMAC 處理前,對當前視頻幀關聯的計算資源余量、視頻處理時延和安全風險3 個維度的數據進行實時評分,每個維度得分區間為1~100。最后計算3個維度的平均分,得分在區間1~20 時選擇MD5算法,得分在區間21~40 時選擇SHA256 算法,得分在區間41~60 時選擇SHA512 算法,得分在區間61~80 時選擇SHA3-256 算法,得分在區間81~100 時選擇SHA3-512 算法。具體的處理流程如圖1 所示。

圖1 參數動態自適應的處理流程
計算性能評估通過對當前處理平臺的空閑計算資源進行評價和計算,使實時采用的HMAC 算法參數對計算資源的需求不超過當前的剩余資源總量,在確保安全性的前提下有效提升完整性保護的綜合算法性能。計算性能評估通過對計算資源余量維度進行評分的方式實現。計算資源余量維度得分的方法如下文所述。
計算資源余量維度得分采用與本會話近期統計運行時間相比較的方式評估,不同會話采用不同的評估參數。具體方法為,針對MD5、SHA256、SHA512、SHA3-256、SHA3-512 共5 種HASH 算法,分別預先測定5 個基準運算時間Tbase={Tbase1,Tbase2,Tbase3,Tbase4,Tbase5},每個視頻會話開始時,計算資源余量維度得分S1初始化為100,并為該會話單獨初始化5 種算法的近期統計運行時間Tn={T1,T2,T3,T4,T5}=Tbase,其中n表示5 種HASH 算法的序號。發送端每完成一次對視頻幀數據的HMAC計算,則記錄計算時間t,與本算法的近期統計運行時間進行比較,若t>TX,則最新的計算資源余量維度得分S1=S1-1;若t<TX,則最新的計算資源余量維度得分S1=S1+1。其中,X為本幀視頻數據采用的完整性保護HASH 算法序號,S1的取值限制在0~100 之內。最后,使用t更新本會話的近期統計運行時間,使TX=0.99TX+0.01t,用于下一次計算。具體的計算流程如圖2 所示。

圖2 計算資源余量維度得分計算流程
業務時延評估通過對當前視頻會話流的實時處理時延進行統計計算,對時延敏感的實時視頻業務的通信質量進行分析,確保更高強度的保護算法選擇不會導致視頻通信時延超過容忍閾值,實現通信時延與保護強度之間的動態平衡。業務時延評估通過對視頻處理時延維度進行評分的方式實現。視頻處理時延維度得分計算方法如下文所述。
針對信息量級不同的視頻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 視頻處理時延維度得分計算流程
安全風險評估通過對視頻端到端傳輸過程中受到的篡改攻擊進行統計和量化,實現對當前傳輸環境的安全性評價,使動態選擇的完整性保護算法能夠隨著傳輸環境的安全性水平進行動態變化,確保視頻傳輸的安全邊界充足、可控。安全風險評估通過對安全風險維度進行評分的方式實現[9]。安全風險維度得分計算方法如下文所述。
采用基于非等權指數變化的風險評分快速逼近方式。具體方法為,設置風險衰減指數A為較小的值1.01,風險成長指數B為較大的值2,會話開始時,安全風險維度得分S3初始化為100,表示高風險環境。發送端每成功發送一個視頻幀數據,觸發一次風險衰減,新的安全風險維度得分S3new=S3(1/A);接收端每檢測到一個被篡改的報文,則通知發送端,觸發一次風險成長,新的安全風險維度得分S3new=S3(B)。發送端發送的每個視頻幀數據,采用當前最新的安全風險維度得分S3計算HMAC 參數。安全風險維度得分具體的計算流程如圖4 所示。

圖4 安全風險維度得分計算流程
對于提出的參數自適應調整優化機制,通過仿真技術對其效果進行對比分析。
用兩塊飛騰FT2000/4 處理平臺分別模擬兩端的完整性保護設備,并分別啟用參數自適應調整優化機制[10]。通過網絡測試儀以配置的速度向被測設備注入模擬視頻業務流,并在兩端間串接一臺模擬篡改設備,在不同時間節點按配置的比例篡改報文。
網絡測試儀模擬注入的視頻吞吐量和模擬篡改設備隨時間設定的篡改行為規劃如下:
(1)t0時刻:初始時刻,模擬的視頻業務吞吐量初始化為60 Mbit/s,模擬的視頻篡改比例初始化為0%。
(2)t1時刻:處理器占用率變化觀察時刻,模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(3)t2時刻:處理器占用率變化觀察時刻,模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(4)t3時刻:處理器占用率變化觀察時刻,模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(5)t4時刻:處理器占用率變化觀察時刻,模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(6)t5時刻:預設的視頻數據吞吐量變化時刻,模擬的視頻業務吞吐量提升至160 Mbit/s,模擬的視頻篡改比例保持為0%。
(7)t6時刻:預設的視頻篡改風險提升時刻,模擬的視頻業務吞吐量保持為160 Mbit/s,模擬的視頻篡改比例提升至3%。
(8)t7時刻:視頻處理吞吐量變化觀察時刻,模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(9)t8時刻:模擬的視頻業務吞吐量和模擬的視頻篡改比例等外部環境無變化。
(10)t9時刻:預設的視頻篡改風險降低時刻,模擬的視頻業務吞吐量保持為160 Mbit/s,模擬的視頻篡改比例降低至0.5%。
測試結果如圖5 和圖6 所示。

圖5 吞吐量對比關系

圖6 處理器占用率對比關系
起始t0時刻,模擬篡改設備關閉篡改功能,網絡測試儀發包速度配置為60 Mbit/s,優化前和優化后兩種機制均基于SHA3-512 算法進行完整性保護,處理性能都是60 Mbit/s 零丟包,CPU 占用率都是70%左右。在當前的初始化環境設置下,傳統處理機制和本文提出的處理機制都能夠滿足視頻完整性保護的性能要求。
t1時刻,優化后機制檢測到沒有報文被篡改,安全風險較低,保護算法動態調整為SHA3-256 算法,CPU 占用率降低到58%左右。同理,在t2時刻調整為SHA512 算法,CPU 占用率降低到44%左右。t3時刻調整為SHA256 算法,CPU 占用率降低到34%左右。t4時刻調整為MD5 算法,CPU 占用率降低到22%左右。在外部環境不變的條件下,設備持續基于MD5 算法進行完整性保護,處理性能穩定在60 Mbit/s 零丟包,CPU 占用率為22%。在該過程中,傳統處理機制能夠滿足視頻完整性保護的需求,但在處理器占用率上與本文提出的處理機制間存在較明顯的差距。本文提出的機制處理器占用率最低,僅占傳統處理機制的31%。
t5時刻配置網絡測試儀發包速度配置為160 Mbit/s,優化后的設備基于MD5 可以達到160 Mbit/s 性能零丟包,優化前的設備基于SHA3-512 只能達到72 Mbit/s。在該過程中,傳統處理機制與本文提出的處理機制在視頻處理性能上被拉開了比較明顯的差距。本文提出的機制數據吞吐量最高達到了傳統處理機制的219%。
t6時刻配置模擬篡改設備按照3%比例進行報文篡改,被測設備檢測到大量報文被篡改,網絡風險高,將保護算法動態調整為SHA3-512 算法,從t7時刻起處理性能降低到72 Mbit/s 左右。在該過程中,本文提出的處理機制體現出了對外部安全風險及時的反應速度。
t8時刻被測設備由于丟包較多,檢測到視頻幀數據的HMAC 計算時間t大于平均處理延時,但是檢測到網絡風險高,保護算法維持SHA3-512 算法,處理性能降低到72 Mbit/s。在該外部安全形勢極端惡劣的特殊場景中,傳統處理機制和本文提出的處理機制處理性能相當。
t9時刻,配置模擬篡改設備按照0.5%比例進行報文篡改,被測設備檢測到網絡風險減低,保護算法動態調整為SHA256 算法,處理性能提升到120 Mbit/s。在該過程中,隨著外部安全風險下降,本文提出的處理機制與傳統處理機制間重新拉開了較大的性能差距,本文提出的機制數據吞吐量達到了傳統處理機制的172%。
測試結果表明,針對同一條視頻會話流進行HMAC 計算時,自適應地選擇不同運算強度的HMAC 參數,能夠取得安全性能和計算性能之間的最優平衡。
本文針對同一條視頻會話流,使用基于資源占用率、視頻處理時延、安全狀態等因子實時自適應變化的HMAC 參數。對比優化前恒定的HMAC 參數,一方面實時跳變的HMAC 參數使潛在攻擊者更難以掌握其規律,增加了完整性保護算法被攻破的難度;另一方面兼顧通信狀態的HMAC 參數選擇可實現安全性能與通信性能之間的有機動態平衡:當計算資源余量較大、視頻處理時延較小、安全風險較大時,采用較高強度的HMAC 參數,提供更高的安全性能;當計算資源余量較小、視頻處理時延較大、安全風險較低時,采用較低強度的HMAC 參數,提供更強的通信性能。