中國網(wǎng)通集團研究院 趙曉光
摘 要:本文簡要介紹了典型VOD系統(tǒng),同時主要在VOD系統(tǒng)安全性要求方面進行了闡述,最后結(jié)合VOD系統(tǒng)的特點,參考用于Web安全性應(yīng)用的SSL/STL協(xié)議,提出了一個簡化的、專門用于VOD系統(tǒng)的一個安全協(xié)議。
關(guān)鍵字:VOD 安全協(xié)議 密鑰 RSA 數(shù)字簽名 認證
一、引言
隨著計算機多媒體技術(shù)、通信的分組交換技術(shù)、數(shù)字與光纖傳輸技術(shù)的日益成熟,視頻點播(VOD:Video On Demand)系統(tǒng)也發(fā)展起來。在VOD系統(tǒng)使用日益廣泛的今天,建立一個安全的VOD系統(tǒng)也是非常迫切的要求。VOD系統(tǒng)通過安全協(xié)議交換控制信息,能夠保證連接的安全性。因為多媒體數(shù)據(jù)量很大,所以,對所有的多媒體數(shù)據(jù)進行加密傳輸是不現(xiàn)實的,而且即使加解密速度達到了要求,服務(wù)器也不可能、也完全沒有必要承受如此大的計算量。所以,解決的辦法是對客戶和服務(wù)器之間的控制信息進行加密,而不對多媒體數(shù)據(jù)流進行加密。因為控制信息加密了,完全能夠保證整個系統(tǒng)的安全性。
隨著社會經(jīng)濟的發(fā)展和技術(shù)進步,人們對數(shù)據(jù)、圖像業(yè)務(wù),特別是多媒體業(yè)務(wù)方面的需求也與日俱增,開拓新型的寬帶業(yè)務(wù)成為信息業(yè)的重要目標(biāo)。視頻點播業(yè)務(wù)是寬帶業(yè)務(wù)中的最有代表性的典型應(yīng)用。通過VOD系統(tǒng),用戶可以自由地從遠端視頻節(jié)目庫中選擇需要觀看的電視節(jié)目,就像使用家中的錄像機一樣。
視頻點播技術(shù)是在計算機多媒體技術(shù)、通信的分組交換技術(shù)、數(shù)字與光纖傳輸技術(shù)日益成熟的條件下發(fā)展起來的。計算機技術(shù)的進步,尤其是Web技術(shù)的發(fā)展,改變了信息基礎(chǔ)設(shè)施的結(jié)構(gòu),包括信息的生成、存儲、傳送和表現(xiàn)形式等方面。目前,文本、圖像以及窄帶視頻信號已經(jīng)數(shù)字化,并通過網(wǎng)絡(luò)存儲、傳送和再現(xiàn);但是,這些傳統(tǒng)手段不能充分滿足當(dāng)今社會對高質(zhì)量、連續(xù)多媒體(如高保真音頻和電視質(zhì)量視頻)的應(yīng)用要求。VOD系統(tǒng)覆蓋廣泛的領(lǐng)域,如影視點播、卡拉OK、遠程教學(xué)、公司培訓(xùn)、廣告亭、智能小區(qū)等。同時,將這樣的媒體引入信息基礎(chǔ)建設(shè)對計算機開發(fā)帶來了新的挑戰(zhàn),因為它們自身的固有屬性,包括對流量數(shù)據(jù)存儲和連續(xù)播放的要求。它們要求大容量存儲設(shè)備,要求寬帶網(wǎng)絡(luò)環(huán)境,最主要的是必須保證實時傳輸。傳統(tǒng)的技術(shù)不能滿足嚴(yán)格的實時性和大容量要求,其技術(shù)瓶頸特別反映在網(wǎng)絡(luò)帶寬、文件系統(tǒng)和存儲設(shè)備I/O性能這3個方面。為此,許多解決方案應(yīng)運而生,其中一些方案使用專用硬件平臺或超級計算機作為多媒體服務(wù)器。然而,依賴硬件解決方案不僅代價昂貴,而且會給今后的擴展、升級和維護帶來問題。另一些方案則以低帶寬連接為目標(biāo),用于傳送低質(zhì)量、小屏幕的視頻內(nèi)容,例如,我們通過拔號上網(wǎng)收看的一些“節(jié)目”,這些方法只能局限于某些應(yīng)用,無法保證高質(zhì)量視頻點播的要求。
隨著人們對信息需求的不斷深化,多媒體信息服務(wù),特別是對視頻和音頻信息的點播服務(wù)引起了人們的極大興趣;而存儲技術(shù)、通信技術(shù)和視頻壓縮技術(shù)的高速發(fā)展,使得通過高速網(wǎng)絡(luò)進行視頻點播服務(wù)成為可能。VOD的實質(zhì)是信息使用者根據(jù)自己的需要主動獲得多媒體信息,它與信息發(fā)布和廣播的區(qū)別在于主動性和交互性。這種信息服務(wù)方式符合人們對信息資源更深層次的需要,它改變了廣播式的被動灌輸方式。
VOD服務(wù)有許多種吸引人的應(yīng)用,例如點播電影、卡拉OK、可視雜志、計算機輔助教學(xué)或培訓(xùn)等。但是視頻業(yè)務(wù)的數(shù)據(jù)量是非常大的,要實時傳輸需要巨大的帶寬,如640×480點陣、64K彩色(16bit)、25幀/秒的電視數(shù)據(jù)要求的傳輸帶寬是122.88Mbit/s,以前的PSTN(共同交換電話網(wǎng))和N-ISDN(窄帶綜合業(yè)務(wù)數(shù)字網(wǎng))等是以電路交換為基礎(chǔ)的窄帶網(wǎng)絡(luò)。PSTN只能提供14.4kbit/s或28.8kbit/s的數(shù)據(jù)速率;N-ISDN的BRI(基本速率接口)是2B+D、PRI(主速率接口)為30B+D,其中B為64kbit/s。在這種低速網(wǎng)絡(luò)中是無法實現(xiàn)實時視頻業(yè)務(wù)傳輸?shù)。近年來,隨著MPEG-1和MPEG-2等高壓縮比的壓縮方法的出現(xiàn)和以ATM為基本傳輸方式的B-ISDN通信技術(shù)和高速以太網(wǎng)的發(fā)展,視頻服務(wù)及其技術(shù)逐漸成為人們研究的熱門課題。
二、典型的VOD系統(tǒng)
一個典型的VOD系統(tǒng)結(jié)構(gòu)示意圖參見《中國多媒體視訊》第七期。該系統(tǒng)包括:
。1)服務(wù)器媒體服務(wù)模塊:提供多媒體和服務(wù)信息。
(2)服務(wù)器應(yīng)用服務(wù)模塊:接受用戶請求,下載各種用戶終端應(yīng)用,完成與用戶終端的交互工作。
。3)網(wǎng)絡(luò)傳輸設(shè)備:網(wǎng)絡(luò)可以是采用局域網(wǎng)方式,甚至是廣域網(wǎng)方式。
。4)服務(wù)器管理模塊:負責(zé)整個系統(tǒng)的運行,記錄有關(guān)信息。
。5)用戶終端:可以用個人計算機、專用機頂盒來實現(xiàn)。對性能較高的個人計算機完全可以通過裝載軟件來實現(xiàn),對于性能較低的個人計算機可以通過解壓卡來完成解碼。使用專用的機頂盒可以配合電視來收看。
。6)基于Web的管理系統(tǒng):管理員可以在任何位置、通過任何終端經(jīng)認證后即可對系統(tǒng)進行管理。
(7)節(jié)目制作系統(tǒng):一般情況下用戶可以直接將VCD節(jié)目加載到視頻服務(wù)器中,如果需要將錄像帶、LD等存儲介質(zhì)中的模擬視頻節(jié)目加載到視頻庫中,則需要通過節(jié)目制作系統(tǒng)來完成。
三、VOD系統(tǒng)的安全協(xié)議
用戶在使用VOD系統(tǒng)的時候,需要和服務(wù)器交換各種各樣的信息,這些信息中有很多是需要嚴(yán)格保密的,比如用戶輸入的用戶名和密碼等等。VOD的運行商就需要這些信息來記錄用戶的使用情況,并根據(jù)這些情況進行收費。而用戶也必須能夠確信使用的是正確的服務(wù)器,而不是假冒的。這樣用戶才能夠放心地輸入自己的用戶名和密碼等信息。所有這些,都必須建立在一個安全的連接基礎(chǔ)上,如果沒有這個安全的連接,建立起來的VOD系統(tǒng)是完全不可靠的。
我們知道目前正在使用的TCP/IP是沒有考慮到安全性的,所以,如果建立這樣的一個沒有安全性的VOD系統(tǒng),就很可能出現(xiàn)假冒的用戶,而且真正的用戶的密碼也是很容易被監(jiān)聽的。這樣的VOD系統(tǒng)是不能夠?qū)嶋H使用的,所以要建立一個實用的VOD系統(tǒng),必須要考慮到安全性,使用戶能夠放心地使用,并且不能抵賴其使用。
下面,為了實現(xiàn)一個安全協(xié)議,在參考Web安全性中使用的SSL/STL協(xié)議的基礎(chǔ)上,設(shè)計了一個簡化的、專門用于VOD系統(tǒng)的一個協(xié)議,當(dāng)然,這個協(xié)議也可以用于多媒體傳輸?shù)钠渌恍┓矫,比如視頻會議(Video Conference)等。協(xié)議的流程圖參見《中國多媒體視訊》第七期。協(xié)議的設(shè)計使得服務(wù)器和客戶能夠互相鑒別對方的身份、協(xié)商加密和MAC算法以及用來保護發(fā)送的數(shù)據(jù)的加密密鑰。也就是為兩個通信個體之間提供保密性和完整性(身份認證),并且要實現(xiàn)互操作性、可擴展性、相對效率要高。
協(xié)議由一系列在客戶和服務(wù)器之間交換的報文組成。圖中顯示了在客戶與服務(wù)器間建立邏輯連接所需要的初始交換,流程為:
。1)交換Hello消息,對于算法、交換隨機值等協(xié)商一致;
(2)交換必要的密碼參數(shù),以便雙方得到統(tǒng)一的前主密鑰;
。3)交換證書和相應(yīng)的密碼信息,以便進行身份認證;
。4)產(chǎn)生主密鑰;
。5)檢驗雙方是否已經(jīng)獲得同樣的安全參數(shù)。
這個交換可以看成是具有4個階段。
1.建立起安全能力屬性
這個階段用于客戶端和服務(wù)器端開始邏輯連接并且建立和這個連接關(guān)聯(lián)的安全能力?蛻舭l(fā)起這個交換,發(fā)送具有下述參數(shù)的client_hello報文。
。1)版本:客戶能夠使用的最高的協(xié)議版本,加入這個字段的目的是為了以后便于擴展協(xié)議。
。2)隨機數(shù):客戶生成的隨機數(shù),由32位時間戳和安全隨機數(shù)生成器生成的28字節(jié)隨機序列。這些值是為了在密鑰交換之間用來防止重放攻擊的。
(3)密文族:客戶所支持的密碼算法列表(CipherSuite),按照優(yōu)先級遞減的次序排列。列表的每個元素(每個密文族)定義了密鑰的交換算法和加密說明。
。4)壓縮方法:客戶支持的壓縮方法列表。
在發(fā)送了client_hello報文后,客戶等待與client_hello報文具有同樣參數(shù)的服務(wù)器的server_hello報文。服務(wù)器發(fā)送server_hello消息參數(shù)有如下的約定。
。1)版本字段包含客戶建議的最低版本以及服務(wù)器支持的最高版本
。2)隨機數(shù)字段由服務(wù)器生成,獨立于客戶的隨機數(shù)字段。
。3)密文字段包含服務(wù)器從客戶建議的密碼算法中挑出的一套加密方法。
。4)壓縮字段包含服務(wù)器從客戶建議的壓縮方法中挑出的一個壓縮方法。
密文族參數(shù)的第一個元素是密鑰交換算法(即用于常規(guī)加密與MAC加密密鑰的交換方法)。下面是一些支持的密鑰交換方法。
。1)RSA:使用接收者的RSA公開密鑰對密鑰進行加密。接收者的密鑰的公開密鑰證書必須提供。
。2)Diffie-Hellman密鑰交換:可以是固定的Diffie-Hellman密鑰交換和短暫的Diffie-Hellman密鑰交換或者是匿名的Diffie-Hellman密鑰交換。
如果要完善系統(tǒng),可以支持更多的密鑰交換算法,這樣,安全性能顯著提高。這里為了討論方便,就采用國際上已經(jīng)廣泛采用的RSA公鑰系統(tǒng)。
密鑰交換方法定義之后是加密方法,我們知道,使用公鑰加密是不現(xiàn)實的,因為計算量大,速度慢,所以我們一般采用的是公鑰來交換密鑰,真正的加密使用的加密算法還是分組加密算法,可以使用的算法很多,可以是RC系列、DES、IDEA、AES等等。這里,需要指出的是,協(xié)議的實現(xiàn)要支持盡可能多的加密算法,讓客戶和服務(wù)器有更多的選擇,這樣,安全性才能得到很好的保證。
2.服務(wù)器認證和密鑰交換
服務(wù)器需要被鑒別,這樣用戶才知道是連接的正確的服務(wù)器,這需要服務(wù)器發(fā)送自己的證書給用戶,這里使用國際標(biāo)準(zhǔn)的X.509證書(關(guān)于X.509的資料請查相關(guān)的國標(biāo),這里限于篇幅就不詳細介紹了),這樣消息就包含一個X.509證書。上面我們采用的是RSA公鑰系統(tǒng)進行討論的,所以服務(wù)器不需要發(fā)送server_key_exchange消息,但是如果以其他的方式,就可能需要發(fā)送server_key_exchange消息了。然后,服務(wù)器發(fā)送certificate_request消息,指出公開密鑰算法和使用方法。最后,服務(wù)器發(fā)送server_hello_done,然后等待客戶應(yīng)答。這個報文沒有任何參數(shù)。
3.客戶認證和密鑰交換
客戶收到服務(wù)器的server_done消息后,根據(jù)需要檢查服務(wù)器提供的證書,并判斷server_hello的參數(shù)是否可以接受,如果都沒有問題的話,發(fā)送以下一個或多個消息給服務(wù)器。
。1)如果服務(wù)器請求了客戶端證書的話,則客戶首先發(fā)送一個certificate消息,若客戶沒有證書,則發(fā)送一個no_certificate警告。這個步驟一般是需要的,因為服務(wù)器要知道是合法的用戶在點播VOD系統(tǒng),并且作為客戶使用了VOD系統(tǒng)的不可抵賴的依據(jù)。
。2)然后客戶發(fā)送client_key_exchange消息,消息的內(nèi)容取決于密鑰交換的類型,這里,我們只討論RSA公鑰系統(tǒng),客戶生成48字節(jié)的預(yù)先主密碼,并且使用服務(wù)器證書的公鑰對其進行加密。
。3)最后,客戶發(fā)送一個certificate_verify消息,其中包含一個簽名,對從第一條消息以來的所有握手消息的HMAC值(用master_secret)進行簽名。這樣做的目的是對客戶提供明確的驗證。這樣,如果有人想假冒某個合法用戶進行VOD點播的話,他不可能發(fā)出這個消息,也就不能假冒成功。