摘? 要: 詳細(xì)論述了CA條件接受系統(tǒng)的原理以及關(guān)鍵技術(shù),,并針對實(shí)際情況給出了在數(shù)字電視系統(tǒng)中條件接收的實(shí)現(xiàn)方法。
關(guān)鍵詞: 條件接收? 數(shù)字電視? 控制字? 程序映射表(PMT)? 條件訪問表(CAT) 授權(quán)控制信息(ECM)? 授權(quán)管理信息(EMM)
?
隨著數(shù)字視頻廣播(DVB)的發(fā)展,,觀眾會(huì)面對越來越多的數(shù)字電視節(jié)目的選擇,。而廣播業(yè)者由于投資成本的增加,,則要求對用戶收取一定的收視費(fèi)用,。條件接受系統(tǒng)(Conditional Access System)就是為了滿足對某些廣播服務(wù)實(shí)施接入控制的系統(tǒng),。它的主要功能就是確保只有支付了或者即將支付費(fèi)用的用戶才能收看所選擇的電視節(jié)目,。
1 CA系統(tǒng)的關(guān)鍵技術(shù)
在條件接受系統(tǒng)中,,有兩項(xiàng)最為關(guān)鍵的技術(shù):一是傳輸加擾和解擾(Scrambling ,, Descrambling)的方法。加解擾技術(shù)被用來在發(fā)送端CA系統(tǒng)的控制下改變或控制被傳送的服務(wù)(節(jié)目)的某些特征,,使未被授權(quán)的用戶無法獲取該服務(wù)提供的利益;二是控制解擾,在發(fā)送端提供一個(gè)加密信息,,使被授權(quán)的用戶端解擾器能以此來對數(shù)據(jù)解密,。該信息受CA系統(tǒng)控制,并以加密形式配置在傳輸流信息中以防止非授權(quán)用戶直接利用該信息進(jìn)行解擾,。不同的CA系統(tǒng)管理和傳送該信息的方法有很大不同,。
加擾的通常做法是在發(fā)送端使用加擾序列對視頻,、音頻或者數(shù)據(jù)碼流進(jìn)行擾動(dòng),將數(shù)據(jù)打亂,。加擾序列由偽隨機(jī)序列發(fā)生器產(chǎn)生,,在初始條件已知的情況下,可以推測出偽隨機(jī)序列發(fā)生器產(chǎn)生的加擾序列,。偽隨機(jī)序列發(fā)生器的初始條件受控于控制字(Control Word),。在接收端也有一個(gè)同樣的偽隨機(jī)序列發(fā)生器,如果將控制字CW發(fā)送給這個(gè)偽隨機(jī)序列發(fā)生器,,那么就可以獲得解擾序列,,然后再用解擾序列恢復(fù)原始信號。所以說,,節(jié)目有條件接收的核心是控制字CW的傳輸,。為了實(shí)現(xiàn)保密,必須將控制字進(jìn)行加密處理后傳輸,。接收端在得到授權(quán)后,,才能應(yīng)用解密程序重新生成這個(gè)控制字。
2 控制字CW的加密機(jī)制
因?yàn)镃W是隨加擾信息一起通過公用網(wǎng)傳輸,,任何人都可以讀取研究它,,一旦CW被讀取破解,那么整個(gè)系統(tǒng)就癱瘓了,,所以對CW本身要用一個(gè)加密密鑰通過加密算法對它進(jìn)行加密保護(hù),。在具體運(yùn)用中,,這個(gè)密鑰可以按照網(wǎng)絡(luò)經(jīng)營商要求經(jīng)常加以改變,,通常由服務(wù)商提供,用來控制其提供的服務(wù),,所以把它稱為業(yè)務(wù)密鑰(Service Key),。SK的使用一般與用戶付費(fèi)條件有關(guān)。
CW雖已由SK加密,,但這個(gè)密鑰如果仍可以讓任何人讀取,,那就意味著特定服務(wù)的定購者和非定購者將享有同等權(quán)利,網(wǎng)絡(luò)運(yùn)營商還是難以控制到特定的用戶,,安全性仍然存在問題,,必須對SK進(jìn)行再加密保護(hù)。這個(gè)加密過程完全按照各個(gè)用戶的特征來進(jìn)行,,因?yàn)檫@個(gè)數(shù)列(密鑰)是由個(gè)人特征確定的,,常常稱為個(gè)人分配密鑰(PDK)。PDK一般由CA系統(tǒng)設(shè)備自動(dòng)產(chǎn)生并嚴(yán)格控制,,在終端設(shè)備處該序列數(shù)一般由網(wǎng)絡(luò)運(yùn)營商通過CA系統(tǒng)提供的專用設(shè)備燒入解擾器的PROM中,,不能再讀出,。為了能提供不同級別、不同類型的服務(wù),,一套CA系統(tǒng)往往為每個(gè)用戶分配好幾個(gè)PDK,,來滿足豐富的業(yè)務(wù)需求。
在已實(shí)際運(yùn)營的多套CA系統(tǒng)(主要在歐美)中,,運(yùn)營商對終端用戶的加密授權(quán)方式有很多種,,如人工授權(quán)、磁卡授權(quán),、IC卡授權(quán),、智能卡授權(quán)(用IC構(gòu)成有分析判斷能力的卡)、中心集中尋址授權(quán)(由控制中心直接尋址授權(quán),,不用插卡授權(quán)),、智能卡和中心授權(quán)共用的授權(quán)方式等。智能卡授權(quán)方式是目前機(jī)頂盒市場的主流,,也被我國廣電總局確定為我國入網(wǎng)設(shè)備的標(biāo)準(zhǔn)配件,。
在所設(shè)計(jì)的CA條件接收系統(tǒng)中,也使用這種智能卡(Smart Card)的授權(quán)方式,。(注:智能卡的結(jié)構(gòu)包括協(xié)處理器,、ROM和EEPROM。)
3 MPEG-2數(shù)字電視系統(tǒng)中條件接收的實(shí)現(xiàn)
在采用MPEG-2標(biāo)準(zhǔn)的數(shù)字電視系統(tǒng)中,,與節(jié)目流有條件接收系統(tǒng)相關(guān)的兩個(gè)數(shù)據(jù)流是:授權(quán)控制信息(Entitle Control Message)和授權(quán)管理信息(Entitle Manage Message),。由SK加密處理后的CW在ECM中傳送,ECM中還包括節(jié)目來源,、時(shí)間,、內(nèi)容分類和節(jié)目價(jià)格等信息。對CW加密的SK在EMM中傳送,,SK在傳送前要經(jīng)過用戶個(gè)人分配密鑰(Personal Distribute Key)的加密處理,,EMM中還包含地址、用戶授權(quán)信息,。
在傳送流(Transport Stream)中,,程序特殊信息(PSI)被分為四類:程序關(guān)聯(lián)表(PAT),程序映射表(PMT),,網(wǎng)絡(luò)信息表(NIT)以及條件訪問表(CAT),。其中,PMT和CAT與條件接受密切相關(guān),。
為了更好地說明問題,,首先介紹一下條件訪問描述子(CA descriptor),如表1所示。如果任一原始流被加密,,含有此原始流的程序中必須有CA描述子,。如果任何寬系統(tǒng)條件訪問管理信息(如EMM)和原始特殊流信息(如ECM)存在于傳送流中,在相應(yīng)的映射分段中必須有CA描述子,。
?
?
當(dāng)CA描述子出現(xiàn)在PMT表中時(shí),,CA_PID指向含有和ECM信息相關(guān)的程序分組。當(dāng)CA描述子出現(xiàn)在CAT表中時(shí),,CA_PID指向含有和EMM信息相關(guān)的程序分組,。PMT和CAT表的語法結(jié)構(gòu)如表2、表3所示,。
?
?
?
由此可以清楚地知道,,解碼器的解密機(jī)制是:當(dāng)智能卡插入機(jī)頂盒(Set-Top Box)時(shí),解碼器將從中讀取CA_System_ID,,并找到在CAT表(PID號為0X01)內(nèi)的 CA描述子中,,對應(yīng)該CA_System_ID的CA_PID(即EMM碼流的PID)號。EMM碼流中包含了經(jīng)過用戶個(gè)人分配密鑰PDK加密處理的用戶密鑰SK,。個(gè)人分配密鑰PDK固化在智能卡中,,并以加密形式存儲(chǔ),用戶需提供口令方能解密使用,。而后,,智能卡將解密出業(yè)務(wù)密鑰SK。
完成以上步驟后,,解碼器再找到在PMT表中的CA描述子,,并找出對應(yīng)的ECM碼流的PID號。ECM碼流中包含了由業(yè)務(wù)密鑰SK加密處理后的控制字CW信息,。用得到的業(yè)務(wù)密鑰SK對ECM解密就可以得到控制字CW,。將控制字填入解碼芯片的相應(yīng)寄存器中,就可以對碼流數(shù)據(jù)進(jìn)行解擾,,恢復(fù)出原始信號,。
4 ECM以及EMM
為了更詳細(xì)地說明問題,,給出ECM以及EMM碼流的語法結(jié)構(gòu),,如表4。其中,,Table_id的分配情況如表5,。
5 加擾
MPEG-2數(shù)據(jù)碼流的加擾可以分為兩層:一是PES層的加擾,一是TS層的加擾,。由于設(shè)計(jì)的條件接收系統(tǒng)的前端是在TS節(jié)目流復(fù)用器上實(shí)現(xiàn)的,,所以選擇TS層的加擾。TS層的加擾只針對TS數(shù)據(jù)碼流的有效負(fù)載(payload),而TS碼流中的PSI信息,,包括PAT,、PMT、NIT,、CAT以及私有分段(包括ECM,、EMM)都不應(yīng)該被加擾。當(dāng)然,,TS流的頭字段(包括調(diào)整字段)也不應(yīng)該被加擾,。經(jīng)過加擾后的TS碼流應(yīng)該在頭字段中定義加密控制值。
6 加密算法的選用
(1)控制字的加密:對于控制字的加密,,需要一定強(qiáng)度,、處理迅速的加密算法,主要采用秘密密鑰加密體制中的一些加密算法,,如:DES算法或者IDEA算法,。
(2)業(yè)務(wù)密鑰的加密:業(yè)務(wù)密鑰的改變頻率要遠(yuǎn)小于控制字,因此對其加密的算法處理速度可以較慢,,但由于一個(gè)業(yè)務(wù)密鑰要使用較長時(shí)間,,其安全性要求更高,需選用一些高強(qiáng)度的加密算法,。公開密鑰體制的加密算法在此可得到較好的應(yīng)用,,因?yàn)楣_密鑰體制加密算法雖然處理速度一般較秘密密鑰體制慢,但大都具有較高的加密強(qiáng)度,,可以滿足業(yè)務(wù)密鑰對安全性的更高要求,。另外,采用公開密鑰體制加密,,經(jīng)營者不必傳輸用戶的私有密鑰,,只需知道用戶的公開密鑰就可對業(yè)務(wù)密鑰進(jìn)行加密,用戶使用自己的私有密鑰即可解密,。這樣可以在用戶端產(chǎn)生一對密鑰,,只要將公鑰傳給發(fā)送端經(jīng)核實(shí)可用后即可,而解密的關(guān)鍵私有密鑰不需進(jìn)行一次傳輸,,可以提高系統(tǒng)的安全性,。在公鑰體制下還可實(shí)現(xiàn)數(shù)字簽名、數(shù)字證書等功能,,對于系統(tǒng)的業(yè)務(wù)拓寬,、業(yè)務(wù)范圍,提供在線支付等功能也非常有利,。
目前主要的公鑰加密算法主要有RSA公鑰加密算法,,背包公鑰密碼系統(tǒng),,勒賓(Rabin)密碼,麥克黎斯(Mceliece)公鑰密碼,,橢圓曲線公鑰密碼等,,其中RSA公鑰加密算法應(yīng)用較廣。