

摘要:在數(shù)字電視傳輸系統(tǒng)中,為了保障授權(quán)用戶收看加密電視節(jié)目,采用了復(fù)雜的條件接收系統(tǒng)。條件接收系統(tǒng)通過多層加密機(jī)制,實(shí)現(xiàn)對密鑰的分配與管理,文章介紹了信息數(shù)據(jù)加/解擾和加/解密、用戶尋址、智能卡授權(quán)、節(jié)目管理等多項(xiàng)技術(shù)措施,詳細(xì)描述了對公鑰加密的RSA算法。
關(guān)鍵詞:條件接收系統(tǒng)(CA);控制字(CW);業(yè)務(wù)密鑰(SK);非對稱加密算法(RSA)
doi:10.3969/J.ISSN.1672-7274.2023.07.017
中圖分類號(hào):TN 94 " " " " " " " 文獻(xiàn)標(biāo)志碼:A " " " " " " " 文章編碼:1672-7274(2023)07-00-04
Composition of Conditional Access System
LI Ting, LI Yuzhong
(Shandong Radio and Television Station, Jinan 250014, China)
Abstract: In digital television transmission systems, complex conditional access systems are used to ensure that authorized users can watch encrypted television programs. The conditional access system implements the distribution and management of keys through a multi-layer encryption mechanism. This article introduces various technical measures such as encryption/descrambling and encryption/decryption of information data, user addressing, smart card authorization, and program management, and describes in detail the RSA algorithm for public key encryption.
Key words: conditional access system(CA); control word (CW); service key (SK); asymmetric encryption algorithm (RSA)
0 " 引言
出于安全保密、版權(quán)保護(hù)和商業(yè)利益的需要,有些數(shù)據(jù)的傳輸實(shí)施了加密操作。在廣電系統(tǒng),加密操作又稱條件接收,只允許被授權(quán)的用戶收看經(jīng)過加密處理的數(shù)字電視節(jié)目。但總有人企圖偷窺密鑰或破解加密算法,所以加密與破解一直在進(jìn)行著攻防戰(zhàn),從實(shí)用的角度來講,只要不被偷窺者知曉密鑰或算法,或者偷窺者雖掌握了算法但密鑰被破解前已經(jīng)更新,加密就是成功的。成熟的加密算法在商界得到廣泛使用,也就是說加密算法是大家都知道的,此時(shí)對密鑰的保護(hù)和及時(shí)更新就顯得格外重要。
1 " 條件接收系統(tǒng)結(jié)構(gòu)
眾所周知,數(shù)字電視系統(tǒng)的發(fā)送端使用偽隨機(jī)序列進(jìn)行能量擴(kuò)散加擾,在接收端使用具有相同初始狀態(tài)的相同序列進(jìn)行解擾,如果接收端和發(fā)送端存在序列或狀態(tài)的差異,就無法恢復(fù)正常碼流。這就是說,在數(shù)字廣電節(jié)目傳輸中,使用偽隨機(jī)序列當(dāng)作密鑰來對碼流進(jìn)行加密應(yīng)該是個(gè)好辦法。未加密的碼流稱為“清流”,加密后的碼流稱為“密流”。要想成功加密有兩個(gè)辦法,一是使用不被第三者所知的偽隨機(jī)序列,二是以較快的速率更換偽隨機(jī)序列。工程上都使用了第二種辦法,且把這些偽隨機(jī)序列稱為“控制字”(Control Word,CW),每個(gè)控制字是隨機(jī)調(diào)用的且調(diào)用的時(shí)間較短,只有大約幾分鐘,在這樣短的加擾周期里,偷窺者很難分析出控制字并完成有意義的解擾操作。
條件接收是一個(gè)復(fù)雜的系統(tǒng),包括信息數(shù)據(jù)加/解擾和加/解密、用戶尋址、智能卡授權(quán)、節(jié)目管理、收費(fèi)管理等多項(xiàng)措施。條件接收系統(tǒng)的大體結(jié)構(gòu)如圖1所示[1]。
2 " 條件接收系統(tǒng)工作原理
2.1 用偽隨機(jī)序列作加密密鑰
控制字CW調(diào)用后被封裝到ECM(授權(quán)控制信息)包中,與EMM(授權(quán)管理信息)包一起復(fù)用到傳輸碼流中。相關(guān)信息的速率與管理用戶的多少有關(guān)。假如單個(gè)用戶的EMM信息需80字節(jié),若是管理100萬個(gè)用戶,總的數(shù)據(jù)量大約是640 Mbit。要保證用戶隨時(shí)可以被授權(quán),EMM需要循環(huán)播發(fā),如果3分鐘循環(huán)一次,其傳輸速率大約是3.6 Mbps,這個(gè)速率不能太低,否則用戶開機(jī)后等待授權(quán)的時(shí)間會(huì)太長。
條件接收系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)得像個(gè)洋蔥,實(shí)行分層保護(hù),有多層密鑰,如圖2所示。
最上層是對節(jié)目數(shù)據(jù)流進(jìn)行加密的偽隨機(jī)序列即控制字CW,這稱得上是核心密鑰了。
2.2 對控制字的加密
對控制字進(jìn)行保護(hù)的是業(yè)務(wù)密鑰(Service Key,SK),也就是說要用業(yè)務(wù)密鑰對控制字來加密。業(yè)務(wù)密鑰的含義是“我授權(quán)你收看什么業(yè)務(wù)(節(jié)目),就給你發(fā)相關(guān)的業(yè)務(wù)密鑰。”比如,對普通節(jié)目用第一組業(yè)務(wù)密鑰,專業(yè)節(jié)目用第二組業(yè)務(wù)密鑰,點(diǎn)播節(jié)目用第三組業(yè)務(wù)密鑰,這就實(shí)現(xiàn)了對不同業(yè)務(wù)內(nèi)容的管理。如果某用戶只購買了普通節(jié)目,供應(yīng)商就只向他提供用第一組業(yè)務(wù)密鑰加密的控制字。業(yè)務(wù)密鑰對控制字的加密采取了某種對稱的加密算法,對稱的意思是說加密和解密使用了相同的算法并使用相同的密鑰,如圖3所示。對稱算法的優(yōu)點(diǎn)是加密和解密的速度都比較快。
2.3 對業(yè)務(wù)密鑰的加密
業(yè)務(wù)密鑰在發(fā)送端對控制字進(jìn)行加密,它自己也要被加密,通過ECM數(shù)據(jù)包傳送,如果用戶未被授權(quán)或是未收到相應(yīng)的業(yè)務(wù)密鑰,就無法解出相應(yīng)的控制字。
對業(yè)務(wù)密鑰進(jìn)行保護(hù)的方式稱為公鑰加密,采用某種非對稱算法,這是真正體現(xiàn)個(gè)性化的專屬保密方式。公鑰加密的密鑰是成對的,發(fā)送端的密鑰稱“公鑰”,接收端的密鑰稱“私鑰”,儲(chǔ)存在卡片中,如果用戶的某個(gè)業(yè)務(wù)被授權(quán),服務(wù)提供商就用“公鑰”將加密后的相關(guān)業(yè)務(wù)密鑰發(fā)過來,用戶用“私鑰”解密業(yè)務(wù)密鑰,再用業(yè)務(wù)密鑰解密控制字,用控制字解擾節(jié)目流。
條件接收系統(tǒng)采用分組加密方式而不是流式加密方式,是為了適應(yīng)數(shù)字電視傳輸中TS流所具有的固定包長結(jié)構(gòu),可以方便地對TS流中除包頭和自適應(yīng)區(qū)等部位之外的凈荷進(jìn)行加密。ECM和EMM信息的復(fù)用與傳送同樣要符合DVB的規(guī)定,賦予PID編號(hào),打成TS包傳送[2]。
“公鑰”加密是一種不對稱加密方式,如RSA加密算法。RSA算法涉及兩個(gè)很大的素?cái)?shù)的乘積,其不容易破解的依據(jù)是大數(shù)的分解非常困難,即使將這個(gè)大數(shù)公之于眾,第三者也很難分解出其中的因子。據(jù)說人類目前借助計(jì)算機(jī)分解的最大整數(shù)有232個(gè)十進(jìn)制位,相當(dāng)于768個(gè)二進(jìn)制位。而RSA采用的兩個(gè)素?cái)?shù)的乘積達(dá)1 024個(gè)二進(jìn)制位,依目前分解大數(shù)的能力,還無法完成因子分解。RSA的加密原理如下[3]。
設(shè)p和q為兩個(gè)很大的素?cái)?shù),它們的乘積為n,n的歐拉函數(shù)為
Φ(n)=(p-1)×(q-1) " " " " " " " " " " " " " " (1)
e為2至Φ(n)-1之間任選的與Φ(n)互質(zhì)的一個(gè)數(shù),稱為加密指數(shù),即公鑰,解同余方程
(e×d)(mod(Φ(n))=1 " " " " " " " " " " " " (2)
得到解密指數(shù)d,即私鑰。
如果x是明文,加密運(yùn)算為
y=xe(mod(n)) " " " " " " " " " " " " " " " " " " " " "(3)
得到密文y,解密運(yùn)算則為
x=yd(mod(n)) " " " " " " " " " " " " " " " " " " " " "(4)
從而恢復(fù)了x。
舉個(gè)簡單的例子,取p=3、q=19,則n=51,Φ(39)=(3-1)×(19-1)=36。
在2至35之間與36互質(zhì)的e及其對應(yīng)的d如表1所示,共有10組,也就是說可管理10個(gè)用戶。
當(dāng)使用e=23作為公鑰,d=11作為私鑰時(shí),如果明文為x=4,則加密后的密文為y=423(mod36)=16,解密后x=1611(mod36)=4,這就恢復(fù)了原來的明文。
當(dāng)使用e=13作為公鑰,d=25作為私鑰時(shí),如果明文為x=5,則加密后的密文為y=513(mod36)=5,解密后x=525(mod36)=5。
如果用解密指數(shù)d=25去解加密指數(shù)e=23時(shí)得到的密文16,則得到x=1625(mod36)=16≠4,出現(xiàn)了錯(cuò)誤。
所以,加密指數(shù)(公鑰)和解密指數(shù)(私鑰)必須配對使用,這就起到了對用戶授權(quán)管理的作用。
“公鑰”還有個(gè)含義是“可以公開的密鑰”,它有時(shí)可以直接用作用戶地址,所以沒啥可保密的,但“私鑰”是絕對不可以泄露的。當(dāng)兩個(gè)素?cái)?shù)很大時(shí),可以輕松地選擇百萬對加/解密指數(shù)。當(dāng)數(shù)字很大時(shí),指數(shù)運(yùn)算相當(dāng)復(fù)雜,好在現(xiàn)在有成熟的降冪除模求余算法,可以較快地解密出業(yè)務(wù)密鑰。
2.4 控制字的切換
不難理解,為了順暢地完成加密,控制字的傳送必須壓茬進(jìn)行,當(dāng)前一個(gè)控制字參與擾碼操作時(shí),后一個(gè)控制字就需要送到接收端并進(jìn)行解密。在TS流包頭中,緊鄰PID碼之后,有兩個(gè)加擾比特XY,共有四種組合:00,未加擾;01,預(yù)留它用;10,偶密鑰;11,奇密鑰。其中“偶”與“奇”只是借用一下稱呼而已,并非真的奇數(shù)、偶數(shù)。加擾比特其實(shí)起到節(jié)拍發(fā)生器的作用,控制著控制字的切換。如圖4所示。
當(dāng)碼流中斷又恢復(fù)后,信源解碼的恢復(fù)與加擾周期的時(shí)間長度有關(guān)。比如加擾周期為10秒,當(dāng)碼流恢復(fù)時(shí),若正好趕上控制字解密出來,在下一個(gè)加擾周期到來時(shí),控制字就可以發(fā)揮作用,使解擾和解碼順利進(jìn)行,這可能只需幾秒鐘時(shí)間;若控制字未被解出,就要等待一個(gè)完整的加擾周期(10秒鐘),再加上信源解碼的時(shí)延,總共要等待至少十幾秒鐘的時(shí)間。
2.5 接收機(jī)的解擾
如果CAT表中指明有加擾操作(圖5中的XY≠00),接收機(jī)就會(huì)啟動(dòng)解擾操作,尋找EMM和ECM信息,過濾出控制字,對被加擾的TS流解擾,進(jìn)而解復(fù)用并進(jìn)行信源解碼,或是將解擾后的TS傳輸?shù)狡渌胤健H绻麄魉偷氖乔辶鳎珻AT表中指明無加擾(XY=00),碼流會(huì)直接去解復(fù)用并進(jìn)行信源解碼,所以清流的解碼是非常快的。
2.6 對私鑰的保護(hù)
私鑰是寫入卡片,在解密業(yè)務(wù)密鑰時(shí)需要提取私鑰信息,提取過程中有可能被第三者(甚至是接收機(jī)生產(chǎn)商)截獲。所以,接收機(jī)生產(chǎn)商和加密開發(fā)商協(xié)商出了一個(gè)“最終解決方案”,在接收機(jī)上設(shè)置協(xié)議統(tǒng)一的公共接口(CI),提供電源和TS流輸入輸出接口等功能,各個(gè)加密開發(fā)商按照自己研發(fā)的保密方式設(shè)計(jì)“卡套”,這就意味著,不同開發(fā)商的“卡套”是不通用的,可以“八仙過海,各顯其能”。“卡套”是一個(gè)功能強(qiáng)大的外部模塊,它可以進(jìn)行所需的獨(dú)立操作(包括解密運(yùn)算、對被加擾的TS流進(jìn)行解擾等)而不占用接收機(jī)資源。由于“卡套”的私密性和自閉性,在調(diào)用私鑰時(shí),“卡套”所采取的獨(dú)特保護(hù)手段能夠保證私鑰不被泄露。
使用“卡套”還擴(kuò)展了接收機(jī)的通用性。要想換用其他加密方式,更換相應(yīng)的“卡套”就可以了。早期的接收機(jī)都是為某種加密方式專門定制的,直接插入用戶卡片,沒有通用性。所以早期的接收機(jī)也稱“小卡機(jī)”,現(xiàn)在使用了卡套的接收機(jī)則稱“大卡機(jī)”。
3 " 結(jié)束語
總體來說,條件接收系統(tǒng)是一種數(shù)字電視加密技術(shù),它由智能卡、加密器、解密器、控制中心和信號(hào)傳輸線路等多個(gè)組成部分構(gòu)成,其工作原理包括通過加密、解密和身份驗(yàn)證等多重安全保護(hù)措施,保障數(shù)字電視節(jié)目內(nèi)容的安全傳輸和訪問權(quán)限控制,可以有效地防止數(shù)字電視節(jié)目內(nèi)容的盜播和非法訪問,保障數(shù)字媒體產(chǎn)業(yè)的健康發(fā)展。
參考文獻(xiàn)
[1] 劉大會(huì).?dāng)?shù)字電視實(shí)用技術(shù)(第2版)[M].北京:北京郵電大學(xué)出版社,2010.
[2] 盧官明,數(shù)字電視原理(第3版)[M].北京:機(jī)械工業(yè)出版社,2016.
[3] 劉尊全,劉氏高強(qiáng)度公開加密算法設(shè)計(jì)原理與裝置[M].北京:清華大學(xué)出版社,2008.