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