張曉秋
(根河市融媒體中心,內(nèi)蒙古自治區(qū) 根河 022350)
一個完整的條件接收系統(tǒng)通常包括前端和后端兩個部分,其中前端條件接收系統(tǒng)主要實現(xiàn)對節(jié)目流加擾、CA 信息生成以及對節(jié)目資源和用戶的管理功能,它是條件接收系統(tǒng)實現(xiàn)的技術難點,也是各個 CA 廠商賴以生存的關鍵;沒有發(fā)端對節(jié)目流的加擾和對 CA 信息的加密管理,也就談不上什么條件接收。在條件接收系統(tǒng)涉及的眾多密碼學課題中,最基礎和重要的是用戶密鑰的管理,即如何安全地進行系統(tǒng)的密鑰更新,靈活地處理添加新用戶,用戶取消服務,用戶更改訂購服務等操作帶來的密鑰管理問題,是一個如何進行高效密鑰分配的問題。用戶的密鑰管理決定了一個條件系統(tǒng)的用戶容量,系統(tǒng)的靈活性和授權的及時性等系統(tǒng)性能。
一個完整的條件接收系統(tǒng)包括三個主要的功能:加擾/解擾功能、授權校驗功能和授權管理功能。加擾/解擾功能的目標就是通過把廣播信號(圖像,聲音,數(shù)據(jù)等)變?yōu)椴豢衫斫獾臇|西來防止自由接入這個節(jié)目中;授權校驗功能用來廣播接入節(jié)目需要的條件,最重要的部分是經(jīng)過加密的加擾/解擾密鑰,并含有允許授權用戶解擾節(jié)目的加密參數(shù)。這些數(shù)據(jù)嵌入數(shù)據(jù)流 ECM(Entitlement Control Message)中傳送;授權管理功能主要是將授權信息分發(fā)給接收機,保證系統(tǒng)對用戶群的動態(tài)授權管理。相應不同的電視節(jié)目接收付費方式有幾種授權方式,比如 PP、PPV、IPPV、per programme、per time,所有這些數(shù)據(jù)通過數(shù)據(jù)流 EMM 發(fā)送。
條件接收前端系統(tǒng)通常分為三層,分別是:1、加擾層,生成加擾節(jié)目流。此層通過加擾器對節(jié)目流進行加密以防止自由接入該節(jié)目,加密過程中以控制字(Control word,CW)為初始化密鑰,控制字由控制字發(fā)生器提供,為提高安全性,一方面控制字不斷發(fā)生變化,其有效周期通常 5~30 秒,另一方面不同節(jié)目或同一節(jié)目的視頻、音頻和數(shù)據(jù)流通常使用不同的控制字;2、節(jié)目授權控制層,生成節(jié)目授權控制消息(Entitlement Control Message,ECM),實現(xiàn)對控制字和節(jié)目接入?yún)?shù)的加密。ECM 生成器提交節(jié)目號給業(yè)務密鑰數(shù)據(jù)庫獲取該節(jié)目的業(yè)務密鑰(Service Key,SK)和接入條件(Access Conditions,AC),使用 SK 對 CW 和 AC 加密并對加密結果簽名,生成 ECM;3、用戶授權管理層,生成用戶授權管理消息,管理、更新和分發(fā)用戶授權消息給用戶接收機。EMM 信息體現(xiàn)出不同用戶的訂購付費節(jié)目的差異性。EMM 生成器首先從用戶管理數(shù)據(jù)庫系統(tǒng)獲取用戶獨有的個人分配密鑰和用戶授權信息,再利用 PDK 作為密鑰對 AP和 SK 加密,經(jīng)簽名生成 EMM。PDK 一般由 CA 系統(tǒng)設備自動產(chǎn)生并嚴格控制,在終端設備處該序列數(shù)一般由網(wǎng)絡運營商通過 CA 系統(tǒng)提供的專用設備燒入智能卡的 EPROM 中,不能再讀出。為了能提供不同級別、不同類型的各種服務,一套CA 系統(tǒng)往往為每個用戶分配好幾個 PDK,來滿足豐富的業(yè)務需求。
在系統(tǒng)的發(fā)送端,加擾器對輸入的透明節(jié)目傳輸流進行加擾,輸出加密的節(jié)目流,實現(xiàn)對節(jié)目流的保護;控制字發(fā)生器提供控制字(ControlWord,實質(zhì)為密鑰)給初始字發(fā)生器和ECM 發(fā)生器;初始字發(fā)生器以控制字為起始密鑰生成加擾過程中所需要的多個子密鑰;ECM 發(fā)生器先根據(jù)收到控制字信息,使用節(jié)目號為索引從授權密鑰數(shù)據(jù)庫中獲取某節(jié)目流的授權密鑰(AK)和接入條件(CP),然后將CW 和AK 發(fā)往加密器,加密器以AK 為密鑰加密CW,最后ECM 發(fā)生器生成ECM;與ECM 發(fā)生器相似,EMM 發(fā)生器使用用戶身份號為索引從分配密鑰數(shù)據(jù)庫中獲取某用戶的分配密鑰(DK)和授權信息(AP),然后將DK 和AP 發(fā)往加密器,加密器以DK 為密鑰加密CW,最后EMM 發(fā)生器生成EMM。
在付費數(shù)字電視系統(tǒng),通常大部分頻道都是加密的。不同的頻道由自己的加擾密鑰,即控制字 CW,而且為提高安全性,控制字按固定的時間間隔不斷地變化,變化的時間間隔,稱為控制字的生命周期。設計條件接收系統(tǒng)的加擾層,需要考慮幾個前提:首先,由于數(shù)字電視的音視頻數(shù)據(jù)量通常很大,為了保證解擾的實時性和降低接收終端解擾的成本,一般都采用運算速度快的加擾/解擾算法,從密碼學的角度考量,需要采用對稱的加密算法作為加擾算法,例如 DVB 就定義了通用加擾算法(CSA)作為統(tǒng)一的解擾算法,CSA 就是一種由流加擾和塊加擾兩個部分組成的對稱加密算法;第二,條件系統(tǒng)(CAS)按照一定的周期不斷變換控制字 CW(control word)來對每路 TS 流中視頻,音頻和數(shù)據(jù)包對應的 TS 包加擾,控制字的生命周期通常很短(一般為 5 秒~30 秒);第三,考慮用戶隨機開機收視,因此需要控制字高頻率地重復廣播,通常重復的頻率為 2~5 次/秒,因此,在節(jié)目加擾的層面,通過頻繁地改變控制字來增加破解的難度和系統(tǒng)實現(xiàn)上的漏洞。
在 CAS 的密鑰分層結構中,CW 是 CAS 的最頂層的密鑰,它們面向的是節(jié)目;而 PDK 是最底層的密鑰,它們面向的是具體的用戶,這是任何 CAS 的密鑰分層結構中所不可缺少的,也就是說兩級的密鑰分層結構是最簡單的 CAS 密鑰分層模型。對于用戶容量大的 CAS,為了更有效地管理這些密鑰,減少密鑰更新占用的帶寬和縮短用戶等待授權的時間,通常需要采用更多分級的密鑰分配體制。條件接收系統(tǒng)用戶管理的一個基本要求就是為用戶注冊提供友好和靈活的管理機制。
作為一種改進,一些條件接收系統(tǒng),如“Eurocrypt”,在 ITU Rec. 801的分層結構中增加一層用戶獨占密鑰 UK,UK 被用來安全傳輸 DK。UK 是每個用戶獨有的,在用戶訂購付費電視服務時分配給該用戶。同時,在“Eurocrypt”條件接收系統(tǒng)中,運營商按節(jié)目供應商對節(jié)目進行分組,同一組中的節(jié)目使用相同的 AK 和 DK。
1996 年,J.W.Lee 提出改進的四層密鑰管理機制:控制字 CW,直接授權密鑰 DEK,分配密鑰 DK 和主私有密鑰 MPK。其中 CW 和 DEK 的功能與 ITU Rec.801 的功能相同;而DK 包含一個私有密鑰 PK 和一個組密鑰 GK,PK 是每個用戶唯一的,而 GK 是每個節(jié)目組的組密鑰;主私有 MPK 用來加密用戶的授權信息。在這四層密鑰結構中,Lee 提出 DEK,DK 和 MPK 需要保存在類似智能卡這樣的安全性很高的存儲設備中,解密的過程中也是在智能卡中完成的,僅將解密得到的控制字返回給解擾模塊。在這種方案中,PK 和 MPK 其實在功能上有一些重復?;?Lee 的四層密鑰結構,Tu et al.對 DEK 層進行了修改,并引入接收組和收費組的概念,用一層接收組收費組密鑰矩陣的 RGK 替換了 DK 層,詳細的機制在下面有分析。
除了以上分層的密鑰分配機制之外,還有一些將密鑰生成和分配結合的方案,如Y.L. Huang[提出的面向用戶組和面向收費級別的方案,這些方案使用巧妙的密鑰生成機制,有效減少了用戶添加,刪除和更新服務帶來的密鑰更新傳輸量。但是這種靈活性將密鑰生成機制和密鑰分配結合在一起,因此密鑰的安全性依賴于密鑰生成的機制,所以在通常的按頻道付費的條件接收系統(tǒng)中,其應用受到限制。
下面我們對分層的密鑰分配機制進行一些分析:
二級密鑰分配機制是最簡單對用戶進行節(jié)目授權的方式,即使用 CW 對節(jié)目進行加擾,并采用每個用戶獨有的 PDK 直接對 CW 加密,然后將加密后的控制字發(fā)送給用戶,這樣就實現(xiàn)了對用戶的簡單尋址授權。這種密鑰分配機制現(xiàn)在在一些場合使用,比如在主干網(wǎng)上傳輸節(jié)目,往往會采用一種固定控制字的傳輸,比如在我國的廣播結構中,中央臺向地方臺在主干網(wǎng)上傳輸節(jié)目,就采用了這種方式。
但是,在擁有眾多用戶的更廣泛的應用中,二級密鑰分配機制無法適用。假設系統(tǒng)有 S 個 PPC 用戶,C 個頻道。為了實現(xiàn)對每個用戶的授權,系統(tǒng)必須在每個控制字 CW 的生命周期內(nèi)(5~30 秒),將 CW 及時發(fā)送到用戶端,因此,前端條件接收系統(tǒng)需要用每個用戶的PDK 對當前的每個頻道的 CW 加密,產(chǎn)生 CS× 條授權信息,加密的計算量相當?shù)木薮蟆3鲇诎踩目紤],CW 的按固定的時間間隔變化,在這里假設為 CW 的生命周期為T,則一秒鐘產(chǎn)生的授權信息達×TCS/ 條,同時這些授權信息必須在T 內(nèi)對所有的用戶尋址一遍。這需要很大的數(shù)據(jù)帶寬才能實現(xiàn),如果 CAS 的用戶和頻道數(shù)目較多,則這種機制完全不適用。
二級密鑰分配機制,僅僅利用 CW 和 PDK 這兩級密鑰對用戶進行授權,由于耗費大量的帶寬,同時降低了 PDK 的安全性,所以不適用于實際的條件接收系統(tǒng)中。為了克服兩級密鑰的缺點,CAS 通常都在 CW 和 PDK 之間加入一級密鑰SK(service key),形成的三級密鑰分配結構。每個頻道都對應一個 SK,同時 SK也是一個時間變量,SK 的更新周期取決于具體的密鑰分配機制,可以是一天、一周或者一個月,但在三層密鑰分配機制中,SK 的更新周期通常是一個月。條件接收前端系統(tǒng)利用 SK 對 CW 加密得到所謂的 ECM(entitlement control message)信息,然后利用用戶 PDK 對 SK 加密得到 EMM(entitlement manage message)信息。本質(zhì)上,引入刷新周期很長的 SK 層,用足夠的時間來完成所有用戶的業(yè)務密鑰授權;同時,因為 SK 是面向節(jié)目的,節(jié)目的數(shù)量相對是有限的,這樣就可以用使用較小的帶寬來傳遞授權信息。因此,對于用戶數(shù)量較小的條件接收系統(tǒng),可以使用三層密鑰分配體系。
在三級密鑰體系中,完成業(yè)務密鑰 SK 的更新需要用所有授權用戶的分配密鑰 PDKS 對業(yè)務密鑰進行加密,因此,設系統(tǒng)有 S 個授權用戶和T 套加密節(jié)目,因此為了完成業(yè)務密鑰更新,前端需要廣播 TS × 個加密后的數(shù)據(jù)包。三級密鑰分配機制比兩級密鑰分配機制節(jié)約了發(fā)布尋址授權所需要的帶寬,但隨著系統(tǒng)用戶數(shù)目的進一步增大(幾百萬甚至上千萬)以及節(jié)目數(shù)的增多(幾十套甚至上百套)直接使用三級密鑰機制,所產(chǎn)生的授權信息將急劇增加,最后系統(tǒng)將不堪重負。因此,需要在業(yè)務密鑰層和用戶分配密鑰層之間再引入一層。
由于業(yè)務密鑰層和分組密鑰層的密鑰更新周期都是一個 CTP,當添加新用戶、用戶退訂等業(yè)務發(fā)生時,前端 CAS 需要更新業(yè)務密鑰和用戶組密鑰,在用戶數(shù)大的 CAS,采用簡單的四級密鑰分配機制無法有效地處理頻繁發(fā)生的添加新用戶和刪除用戶的操作;同時,簡單四級密鑰機制中分組數(shù)目的多少,直接影響系統(tǒng)性能。
分級訪問控制問題最早由 Akl 等人提出,他們的方案是基于 RSA 加密系統(tǒng)的,它主要適用于那種數(shù)據(jù)敏感性和用戶優(yōu)先級共存的組織機構中。目前已有多種用于解決這類問題的密碼學解決方案。這些方案都是基于為每個安全組生成密鑰并滿足低級別的安全組的密鑰依賴于高級別的組密鑰。同時高級別的用戶有訪問低級別用戶能夠訪問的數(shù)據(jù)的權利,相反則不能。算法的核心是通過合理地選擇指數(shù)來生成各級密鑰從而保證父節(jié)點可以利用自己的私鑰以及一些公鑰計算出屬于它的子節(jié)點的私鑰,而逆向運算則不能實現(xiàn)。
針對條件接收系統(tǒng)的四級密鑰分配體系,Jiang 提出了基于分級訪問控制的密鑰分配算法,該算法是在對節(jié)目頻道進行分層分組的基礎上,沿用 Fu-Kuan Tu等提出的四級密鑰結構(即 CW、SK、RGK 和 PDK),改進了各級密鑰之間的嵌套關系,采用分級訪問控制技術來解決密鑰分配問題。