數(shù)字電視是近十幾年發(fā)展起來的高新技術(shù),其聲像質(zhì)量,抗干擾性及傳送節(jié)目的數(shù)目等方面有模擬電視無法比擬的優(yōu)點(diǎn)。數(shù)字電視的開播,使觀眾可以欣賞更多的優(yōu)質(zhì)節(jié)目;同時(shí),服務(wù)商則希望實(shí)現(xiàn)按觀看內(nèi)容進(jìn)行收費(fèi)的良性運(yùn)營。條件接收系統(tǒng)CAS主要的功能就是確保只有付費(fèi)用戶才能收看所選節(jié)目,徹底解決運(yùn)營商的收費(fèi)問題。可以說,CAS是運(yùn)營商發(fā)展新服務(wù)的關(guān)鍵。但是,我國目前開通的數(shù)字電視用的CAS大多是國外的軟硬件方案,隨著數(shù)字電視的普及,CAS的國產(chǎn)化就成為非常緊迫的要求。 1 數(shù)字電視條件接收系統(tǒng)(CAS)的工作原理 1.1 CAS的加擾和解擾 在采用MPEG-2的數(shù)字電視中,加擾過程就是用一個(gè)由控制字CW控制的偽隨機(jī)序列對(duì)PES流或TS流進(jìn)行擾動(dòng),使沒有被授權(quán)的用戶不能觀看節(jié)目。對(duì)于授權(quán)用戶,他們的接收機(jī)也有一個(gè)同樣的偽隨機(jī)序列產(chǎn)生器,如果接收到正確的CW,就可以生成解擾序列,解除信號(hào)的擾動(dòng),恢復(fù)出接收機(jī)可以播放的信號(hào)。 1.2 CAS的加密和解密 用戶解擾的關(guān)鍵就是得到正確的CW,而CW是隨著有用信號(hào)通過公用的信道傳輸。所以說,CAS的加密實(shí)際就是對(duì)CW的加密,以防止非授權(quán)用戶的侵入。結(jié)合圖1介紹CW的加解密機(jī)制。 CW一方面控制加擾器對(duì)數(shù)據(jù)流加擾;另一方面通過業(yè)務(wù)密鑰SK(Server Key)加密形成授權(quán)控制信息ECM送到接收端。為了信號(hào)的保密性,CW一般幾秒就要改變一次,并且SK也必須進(jìn)行加密保護(hù)。一般來說,對(duì)SK加密完全按照各個(gè)用戶的特征來進(jìn)行。由于每臺(tái)接收機(jī)可以編惟一的接收機(jī)號(hào),所以可通過此序號(hào)生成個(gè)人分配密鑰PDK(Personal DistributionKey)對(duì)SK加密,形成授權(quán)管理信息EMM。PDK由CA系統(tǒng)設(shè)備產(chǎn)生并嚴(yán)格控制,在接收端不能被用戶讀出。本文采用的方法是在接收端把PDK裝入FPGA芯片中,增加保密性。為了能提供不同級(jí)別、不同類型的服務(wù),一套CA系統(tǒng)往往為每個(gè)用戶分配好幾個(gè)PDK,來滿足豐富的業(yè)務(wù)需求。EMM是用戶管理信息和SK等通過PDK加密形成。用戶管理信息由服務(wù)商的用戶管理系統(tǒng)形成,包括用戶名稱、地址、智能卡號(hào)等。EMM平均每 8~10 s插入傳送流一次,以便新開機(jī)用戶解擾。解擾是加擾的逆過程,首先是用戶插入IC卡,輸入用戶密碼,如果密碼正確PDK就會(huì)對(duì)SK進(jìn)行解密;然后,由SK 對(duì)ECM解密出控制字CW。 2 條件接收系統(tǒng)的FPGA實(shí)現(xiàn) FPGA(Field Programmable Gate Array)有豐富的觸發(fā)器和I/O口可以滿足完成CAS功能,開發(fā)周期短,可以反復(fù)修改,特別適合需不斷完善電路的開發(fā)階段。 要實(shí)現(xiàn)CAS硬件設(shè)計(jì),首先要理解程序特殊信息PSI。PSI能從多節(jié)目的TS流中找出所需要的節(jié)目碼流和條件接收信息等。PSI必須以一定的頻率不斷發(fā)送,至少20次/s,以便新開的接收機(jī)能及時(shí)解釋傳送流的性質(zhì)。PSI由4個(gè)表組成,包括:程序關(guān)聯(lián)表(PAT)、程序映射表(PMT)、網(wǎng)絡(luò)信息表(NIT)以及條件訪問表(CAT)。其中CAT和PMT與條件接收有關(guān)。條件接收信息EMM和ECM的位置是通過CAT和PMT中的條件訪問描述子確定。表1介紹了條件描述子。 EMM信息包的位置是通過CAT表中的描述子確定。ECM信息包的位置確定稍微復(fù)雜一些。當(dāng)在PES流層加擾,出現(xiàn)在PES流中ECM信息被反映到TS 流的PMT中,ECM的條件描述子就出現(xiàn)在PMT中。當(dāng)在TS層加擾,ECM不出現(xiàn)在PES流中,如果條件信息通過復(fù)接加入TS流,ECM的條件描述子就出現(xiàn)在PMT中;如果條件信息沒有通過復(fù)接加入TS流,確定ECM的位置可以有2種方法:一種方法是復(fù)接時(shí)在PMT中預(yù)先加入ECM條件描述子,用他確定 TS流中ECM的位置,本文就是采用這種方法;另一種方法是也用CAT中的條件描述子確定ECM信息包的位置,通過CA_system_ID辨別ECM和EMM。 實(shí)現(xiàn)CAS時(shí)還要注意以下一些限制: (1)僅在PES層或TS層加擾,不要兩層同時(shí)加擾。 (2)加擾的PES包頭不允許超過184 B。 (3)攜帶PES包的TS包,除了含有PES包尾的可以有自適應(yīng)域外,其他的不可以含有自適應(yīng)域。 (4)PID等于MPEG-2規(guī)范的條件描述子CA_PID值的TS包,應(yīng)僅含有條件系統(tǒng)信息,不能攜帶其他信息。另一方面,條件信息不應(yīng)該出現(xiàn)在其他地方,例如自適應(yīng)域等。 (5)在同一個(gè)TS中,兩個(gè)CA提供商不應(yīng)該使用相同的CA_PID。 為了避免客戶端解擾設(shè)備太復(fù)雜,DVB(DigitalVideo Broadcasting)對(duì)在PES層加擾做了前3條限制;廣播數(shù)據(jù)跨越媒體邊界(例如從有線廣播到衛(wèi)星廣播)時(shí)需要新的CA信息替換原有的CA信息,為了靈活高效地進(jìn)行CA信息替換,DVB做了后2條限制。 解擾只是加擾的逆過程,并且相對(duì)簡單,所以下面只對(duì)條件接收系統(tǒng)加擾過程的FPGA實(shí)現(xiàn)進(jìn)行討論。 2.1 加擾器的實(shí)現(xiàn) 加擾器在條件接收中是一個(gè)關(guān)鍵部分,他關(guān)系到整個(gè)系統(tǒng)的保密程度,所以需要一個(gè)安全性較高的加擾器。圖2所示加擾器是在FPGA內(nèi)部實(shí)現(xiàn):他是以可預(yù)置線性反饋寄存器(LFSR)為基礎(chǔ),與數(shù)據(jù)選擇器共同形成。4個(gè)LFSR的階數(shù)要求互質(zhì),每個(gè)LFSR的反饋多項(xiàng)式要求是本原的,這樣產(chǎn)生的偽隨機(jī)序列具有最大周期。總線是控制碼發(fā)生器(一個(gè)偽隨機(jī)序列發(fā)生器)產(chǎn)生的選擇器控制碼,有8個(gè)抽頭并行輸出,每2位對(duì)應(yīng)一個(gè)選擇器的選擇端。每個(gè)選擇器的輸出是選出的4個(gè)LFSR反饋之一,作為與之相連的LFSR時(shí)鐘。這是Gollmann級(jí)連的改進(jìn)型,通過數(shù)據(jù)選擇消除了Gollmann級(jí)連易受鎖定攻擊的缺點(diǎn)。4個(gè)LSFR輸出的XOR(這是FPGA中的一個(gè)器件,當(dāng)輸入有奇數(shù)個(gè)1時(shí)輸出為1),除去LFSR的線性影響,通過數(shù)字選擇器選取這些XOR的輸出之一作為加擾序列的輸出。數(shù)字選擇器濾除了加擾器的代數(shù)特性避免相關(guān)(線性代數(shù))攻擊。 選擇碼生成器可由CW產(chǎn)生器代替,CW一部分作為選擇器的選擇碼,一部分寫入4個(gè)可預(yù)置的LFSR。這樣,加擾器寄存器不是很多,周期又較長,達(dá)到節(jié)約硬件且保密程度較高的目的。 2.2 條件接收發(fā)送端FPGA實(shí)現(xiàn) 用戶管理信息需要PC機(jī)處理和保存,既然他是必須的,就可以在PC機(jī)中做些其他的事情,以便降低硬件的復(fù)雜度,增強(qiáng)信息的保密性。服務(wù)密約SK和控制字CW發(fā)生器初始值可以在PC機(jī)中通過偽隨機(jī)序列生成程序生成。在PC機(jī)中生成SK和CW初值的優(yōu)點(diǎn)就是程序容易改動(dòng),偽隨機(jī)序列周期可以足夠長,保密性高。 在一些文獻(xiàn)中,ECM在PES層已經(jīng)加入,對(duì)于PES層加擾當(dāng)然很適合;但是對(duì)于TS層加擾,完成ECM包中含有的CW和寫入加擾器的CW一致性(實(shí)際就是加擾和解擾的同步)比較困難。采用ECM也在TS層加入,實(shí)現(xiàn)加解擾同步就容易得多。 TS流是連續(xù)不斷的實(shí)時(shí)信號(hào),條件信號(hào)并不可以任意加入其中。不過,TS流中存在大量的空包,可以通過空包替換的方法實(shí)現(xiàn)條件包的加入。空包替換器實(shí)際就是一個(gè)數(shù)據(jù)選擇器,在需要條件包的地方,讓條件包代替空包。 ECM包PID寄存器存放從PMT中讀取的ECM包的PID,以便形成ECM包時(shí)利用。ECM包和EMM包的形成是給EMM和ECM加上包頭、PID和Table_id等。ECM包的Table_id有兩個(gè),0x80和0x81,是為了方便接收端解擾,只有ECM包含新的CW時(shí),他才發(fā)生變化。如果Table_id 沒發(fā)生變化,接受端就可以不處理這個(gè)ECM包,還用以前的CW。EMM只有一個(gè)時(shí),可以把他放入CAT包;如果有多個(gè)時(shí),可單獨(dú)形成EMM包,通過CAT 包中的描述子確定他的PID。其實(shí),為了節(jié)約硬件,在加入TS流前條件包并不一定是一個(gè)完整的TS包,他包含必要的信息就行了。在代替空包時(shí),有用信息代替空包中的前一部分,和余下的空包中內(nèi)容共同構(gòu)成TS包。SK信息變化很慢,EMM包和CAT包只需滿足剛開機(jī)用戶能迅速找到SK就行。ECM包替代空包比CAT包或EMM包嚴(yán)格的多,因?yàn)镃W變化快,并且要使ECM包內(nèi)的CW和寫入加擾器的CW同步,以便保證正確解擾。 CW的加密采用DES(Data Encryption Standard)算法,DES速度快,加密強(qiáng)度較高,硬件容易實(shí)現(xiàn),適合CW變化較快的要求。SK的加密采用RSA算法,RSA 算法速度比DES慢的多,硬件實(shí)現(xiàn)只是DES速度的千分之一,但是加密強(qiáng)度大。SK的變化頻率低,使用時(shí)間長,安全性要求高,RSA正好滿足這些要求。 TS流的加擾,采用上述的加擾器,通過加擾控制,使之不對(duì)條件包、私有數(shù)據(jù)包、空包、TS包頭、PID等不可加擾的數(shù)據(jù)進(jìn)行加擾。 3 結(jié)語 本文介紹了條件接收系統(tǒng)的基本原理,并提出一種復(fù)接和條件接收相分離的實(shí)現(xiàn)方法。這種方法使條件接收系統(tǒng)不受復(fù)接的約束,實(shí)現(xiàn)起來比較靈活,便于調(diào)試。并且這種結(jié)構(gòu)不僅可以對(duì)單節(jié)目TS流加擾,也可以對(duì)多節(jié)目TS流進(jìn)行加擾。采用空包替換,在TS層加入ECM條件包,容易實(shí)現(xiàn)加解擾的同步。在實(shí)現(xiàn)條件接收的過程中,設(shè)計(jì)出安全性較高的加擾器成功應(yīng)用于系統(tǒng),實(shí)現(xiàn)了信息的加、解擾。 |