數(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介紹了條件描述子[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í)還要注意以下一些限制[2]:
(1)僅在PES層或TS層加擾,,不要兩層同時(shí)加擾,。
(2)加擾的PES包頭不允許超過184 B,。
?。?)攜帶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)域等。
?。?)在同一個(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ù))攻擊[3],。
選擇碼生成器可由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)了信息的加,、解擾,。
參考文獻(xiàn)
[1]ISO/IEC13818-1-1996,information technology-generic of moving picture anda-ssociated audio information part1:systems[S].
?。?]DVBDocument A007.Support for use of scrambling and conditional access within digitalbroadcasting system[S].DVB ProjectOffice.28th February,,1997.
[3]Bruce Schneier.應(yīng)用密碼學(xué),,協(xié)議,,算法與C源程序[M].吳世忠,祝世雄,,張文政,,等譯.北京:機(jī)械工業(yè)出版社,,2000.
[4]Final Draft ETSI EN 300 468 V1.5.1-2003.Digital Video Broadcasting(DVB).Specification for Service Information(SI)in DVB systems[S].