任 飛, 劉賢洪
(四川長(zhǎng)虹電器股份有限公司, 四川 綿陽(yáng) 621000)
中國(guó)的數(shù)字電視業(yè)務(wù)經(jīng)歷了整體轉(zhuǎn)換、網(wǎng)絡(luò)整合、增值發(fā)展幾個(gè)階段,因各網(wǎng)絡(luò)技術(shù)標(biāo)準(zhǔn)差異性較大,僅數(shù)字電視條件接收系統(tǒng)(Conditional Access System,CAS)就多達(dá)20多種。為了讓電視機(jī)直接接駁不同廣播網(wǎng)的數(shù)字電視業(yè)務(wù),適應(yīng)于不同地區(qū)廣電網(wǎng)絡(luò)的條件接收系統(tǒng),業(yè)界提出了數(shù)字電視機(jī)卡分離技術(shù)。即在數(shù)字電視接收終端上定義一個(gè)通用物理接口及相應(yīng)通訊協(xié)議,對(duì)適于不同廣電網(wǎng)絡(luò)的條件接收系統(tǒng)則基于這個(gè)通用接口進(jìn)行模塊化定制,從而將適于大規(guī)模生產(chǎn)的電視接收系統(tǒng)與不同網(wǎng)絡(luò)的私有管理系統(tǒng)分離開來(lái)。我國(guó)于2006—2007年相繼出臺(tái)了DTV-CI[1](Digital-TV Common Interface)和UTI[2](Universal Transport Interface)兩種機(jī)卡分離行業(yè)技術(shù)標(biāo)準(zhǔn)。
圖1 DTV-CI機(jī)卡分離結(jié)構(gòu)示意圖
條件接收系統(tǒng)(CAS)用于對(duì)數(shù)字電視用戶進(jìn)行節(jié)目授權(quán)和管理,對(duì)數(shù)字電視廣播運(yùn)營(yíng)商至關(guān)重要。為適應(yīng)不同廣電網(wǎng)絡(luò)運(yùn)營(yíng)商的條件接收系統(tǒng),采用標(biāo)準(zhǔn)的機(jī)卡分離技術(shù)已成為數(shù)字電視一體機(jī)的重要發(fā)展趨勢(shì)[3]。在DTV-CI標(biāo)準(zhǔn)中,把裝載CA處理內(nèi)容的模塊簡(jiǎn)稱為條件接收模塊(Conditional Access Module,CAM),圖1為DTV-CI機(jī)卡分離結(jié)構(gòu)示意圖[3]。
為了防止CAS的破解,確保數(shù)字電視收費(fèi)運(yùn)營(yíng)的安全,對(duì)CA控制字防共享研究一直是數(shù)字電視廣播收費(fèi)運(yùn)營(yíng)領(lǐng)域CAS防破解技術(shù)的研究熱點(diǎn)。目前,業(yè)界CAS的防破解技術(shù)包括三個(gè)研究方向[4]:
(1)防止算法破解:主要是改變?cè)缙谀欠N僅改變了節(jié)目PID的簡(jiǎn)單算法,采用高強(qiáng)度加密算法,加大算法破解難度。
(2)防止IC卡破解:智能卡的破解和復(fù)制是智能卡CAS誕生之后一直面臨的安全威脅[4],新一代智能卡設(shè)置了反黑客功能,能用模糊邏輯區(qū)別正常信號(hào)與試探信號(hào),發(fā)覺(jué)被攻擊能自動(dòng)進(jìn)入自鎖,只有原廠才能開鎖重新啟用,從而大大增強(qiáng)了破譯難度。
(3)防止CA系統(tǒng)的破解:在這個(gè)研究方向上,主要圍繞兩個(gè)重點(diǎn)進(jìn)行研究。第一,防止通過(guò)CA前端軟件反編譯獲得所有的加密算法以及密鑰,目前防止除了運(yùn)營(yíng)商以外的第三方接觸前端軟件,基本可以避免;第二,防止CA控制字(CW)終端共享[4-5],在條件接收終端模塊(CAM)與智能(IC)卡之間,大部分條件接收廠商采用明文通信,終端模塊很方便截取明文控制字。如果將截取的明文控制字與其他設(shè)備共享,條件接收系統(tǒng)將無(wú)法滿足運(yùn)營(yíng)商對(duì)節(jié)目運(yùn)營(yíng)授權(quán)管理的需要。因此,防控制字共享成為CAS安全的研究重點(diǎn)和熱點(diǎn)。
現(xiàn)存的條件接收系統(tǒng)控制字(CW)保護(hù)技術(shù),根據(jù)其IC卡與CAM卡之間加密傳輸?shù)拿荑€協(xié)商方法可概括為三種:基于對(duì)稱密鑰的固定密鑰方式[6]的控制字保護(hù)技術(shù)、基于對(duì)稱密鑰的動(dòng)態(tài)密鑰方式的控制字保護(hù)技術(shù)、基于非對(duì)稱密鑰的動(dòng)態(tài)密鑰方式[6-7]的控制字保護(hù)技術(shù)。由于現(xiàn)存的三種控制字保護(hù)技術(shù)都存一定的問(wèn)題,要么防共享安全性能不夠,要么對(duì)IC卡性能要求高、成本上升,不利于市場(chǎng)推廣。本文提出一種基于IC卡和CAM卡的身份碼加密的密鑰協(xié)商機(jī)制,在不增加IC卡性能要求和成本的情況下,達(dá)到一定強(qiáng)度的控制字保護(hù)的安全效果,預(yù)防控制字共享導(dǎo)致節(jié)目流非法授權(quán)的安全風(fēng)險(xiǎn)。
目前數(shù)字電視條件接收系統(tǒng)所使用的普通IC卡,一般都內(nèi)置了多種對(duì)稱加密算法,已經(jīng)具備加密與解密的系統(tǒng)能力,可以利用現(xiàn)有系統(tǒng)條件設(shè)計(jì)一種有效的密鑰協(xié)商機(jī)制來(lái)實(shí)現(xiàn)CW加密傳輸,滿足IC卡與CAM卡之間安全通信的要求,有效防止通過(guò)CW共享進(jìn)行節(jié)目流非法授權(quán)運(yùn)營(yíng)的安全風(fēng)險(xiǎn)。以下是CAS中基于身份碼的密鑰協(xié)商算法。
(1)CA廠商為每臺(tái)設(shè)備各分配兩個(gè)指數(shù)向量α=(α1,α2,…,αn),β=(β1,β2,…,βn),其中αi∈Zp為公開參數(shù),βi∈Zp為秘密參數(shù);要求對(duì)于任意的兩個(gè)設(shè)備U和V,均有
(1)
這樣參與通信的雙方U和V各有自己的指數(shù)向量αU、βU和αV、βV。
(2)函數(shù)f(K,R)可以是Hash函數(shù)、加密函數(shù)、不可逆函數(shù)或它們的組合。
(3)函數(shù)C=E(P,K)是加密算法,在密鑰K的控制下將明文P加密為密文C。
1.2.1 密鑰協(xié)商階段
(1)U產(chǎn)生一個(gè)隨機(jī)數(shù)R1,并將R1和αU傳送給V;
(2)V接收到R1和αU后,將αV傳送給U;
(3)U計(jì)算KV,U和K:
(2)
K=f(KV,U,R1);
(3)
(4)V計(jì)算KU,V和K:
(4)
K=f(KU,V,R1)。
(5)
在式(3)和式(4)中的f(K,R)是雙方預(yù)先約定的函數(shù),此函數(shù)可以是散列函數(shù)、加密函數(shù)或者其他的不可逆函數(shù),以及它們的組合。
1.2.2 密鑰確認(rèn)階段
(5)U產(chǎn)生一個(gè)新的隨機(jī)數(shù)RU,并將RU傳送給V后,計(jì)算CU,V:
CU,V=E(RU,K);
(6)
(6)V也產(chǎn)生一個(gè)隨機(jī)數(shù)RV,并將RV傳送給U后,計(jì)算CV,U:
CV,U=E(RV,K);
(7)
(7)U使用自己計(jì)算出的K作為加密密鑰,對(duì)RV進(jìn)行加密得到CU,并將CU傳送給V,這里
CU=E(RV,K);
(8)
(8)V使用自己計(jì)算出的K作為加密密鑰,對(duì)RU進(jìn)行加密得到CV,并將CV傳送給U,這里
CV=E(RU,K);
(9)
(9)U接收V傳來(lái)的CV后,比較CV和CU,V,如相同則判定對(duì)方已經(jīng)產(chǎn)生了與自己相同的密鑰;
(10)V接收U傳來(lái)的CU后,比較CU和CV,U,如相同則判定對(duì)方已經(jīng)產(chǎn)生了與自己相同的密鑰;
(11)全部過(guò)程通過(guò)后,則雙方將K作為共同密鑰進(jìn)行后續(xù)通信,從而完成密鑰協(xié)商。
本文的算法復(fù)雜度分析,都界定在模數(shù)為p的有限域。本算法主要涉及有限域模加、模乘、模除運(yùn)算,因此算法復(fù)雜度主要依賴于這些運(yùn)算的精密有效組合。CAS中基于身份碼的密鑰協(xié)商算法的主要計(jì)算集中在以下幾個(gè)部分。
密鑰K生成階段,對(duì)用戶U和V而言,需要進(jìn)行兩層級(jí)有限域運(yùn)算:分別需要計(jì)算第一層級(jí)是模乘與模加的組合:即一次Zp域上的矩陣α=(α1,α2,…,αn)與βT=(β1,β2,…,βn)T的乘法;第二層級(jí)是特定的一次f函數(shù)。進(jìn)一步在密鑰確認(rèn)階段,涉及的需要進(jìn)行一次運(yùn)算為一次有限域模加運(yùn)算。
矩陣運(yùn)算需要n2次模乘和n2次模加,在實(shí)際使用中可以簡(jiǎn)化為n2次乘法、n2次加法和n次取模運(yùn)算。具體實(shí)現(xiàn)中,模數(shù)p在計(jì)算機(jī)實(shí)現(xiàn)中可表示為L(zhǎng)=「#p/32?個(gè)32比特字,這里的#p表示p的比特長(zhǎng)度,兩個(gè)不大于p的整數(shù)做乘法需要L2次32比特,因此矩陣乘的運(yùn)算量為(n2+n)×L2。
進(jìn)一步,f函數(shù)的計(jì)算復(fù)雜度則主要依賴于所使用的算法,比如加密算法AES[8-9]、SM4[10]或者雜湊函數(shù)SHA[11]、SM3[12-13]等,也可以根據(jù)實(shí)際使用,使用輕量級(jí)密碼算法[14],如TWINE[15]等。
同上述推導(dǎo),密鑰確認(rèn)階段的運(yùn)算量為n×L2,因此本文所提出算法的復(fù)雜度為(n2+2n)×L2。
安全性方面,攻擊者無(wú)法從公開的公鑰α=(α1,α2,…,αn)獲得解密密鑰β=(β1,β2,…,βn),從而無(wú)法獲得明文控制字。因此可以有效地防止CAM卡對(duì)控制字的共享。
本算法充分利用了對(duì)稱加密體制加密速度快、運(yùn)行時(shí)占用資源少及快速密鑰協(xié)商的優(yōu)點(diǎn),因此本文方案具有更高的計(jì)算效率。
密碼領(lǐng)域成熟的密碼算法無(wú)一不是建立在公開數(shù)學(xué)難題的基礎(chǔ)上,本文提出的基于身份碼加密的控制字保護(hù)算法,契合業(yè)界的密碼算法研發(fā)趨勢(shì),其安全性是建立在數(shù)學(xué)大數(shù)有限域同余運(yùn)算求解的困難性上的,具備深厚的理論基礎(chǔ)。
本文提出的控制字保護(hù)算法與現(xiàn)存的三種控制字防共享密鑰協(xié)商方案的對(duì)比優(yōu)勢(shì):
(1)與傳統(tǒng)的基于對(duì)稱密鑰的固定密鑰方式對(duì)比。傳統(tǒng)的固定密鑰加密方式,CA廠商在IC卡和CAM卡中預(yù)置固定密鑰,IC卡在向終端CAM傳輸控制字之前用預(yù)置密鑰對(duì)CW進(jìn)行加密,CAM獲得控制字密文后利用預(yù)置的密鑰進(jìn)行解密,進(jìn)而獲得原始控制字[6]。由于這種方式對(duì)IC卡資源沒(méi)有特別的需求,可以在現(xiàn)有IC卡條件下進(jìn)行軟件升級(jí)即可,可以快速普及和應(yīng)用,但是同一CA廠商、同一批次的CAM卡與IC卡因預(yù)置了相同的密鑰,可以在使用相同的CAM終端之間共享密文控制字,獲得節(jié)目流的授權(quán),因此,固定密鑰方案仍可進(jìn)行控制字共享,只是降低了共享范圍。本文提出的密鑰協(xié)商算法具有傳統(tǒng)固定密鑰方式的優(yōu)勢(shì),可以基于現(xiàn)有IC卡資源進(jìn)行軟件升級(jí)實(shí)現(xiàn),同時(shí)避免了同一CA廠商、同一批次的CAM卡和IC卡控制字共享的問(wèn)題。
(2)與傳統(tǒng)的基于對(duì)稱密鑰的動(dòng)態(tài)密鑰方式對(duì)比。傳統(tǒng)對(duì)稱密鑰動(dòng)態(tài)解密方案,在IC卡與CAM卡中預(yù)置相同密鑰,通信雙方通過(guò)交換偽隨機(jī)數(shù),并用相同的方法生成通信密鑰[6],不同的IC卡與CAM卡之間,以及相同的IC卡與CAM卡在不同的時(shí)刻,對(duì)控制字加密的密鑰都不相同,在較大程度上防范了通過(guò)控制字共享非法獲取節(jié)目流授權(quán)的安全風(fēng)險(xiǎn)。這種方式,可以只需要在現(xiàn)存的IC卡條件下進(jìn)行軟件升級(jí)實(shí)現(xiàn),在一定程度提升防止控制字共享的能力,但是,可以通過(guò)對(duì)IC卡與CAM卡通信之前的握手?jǐn)?shù)據(jù)的抓取和分析,實(shí)現(xiàn)控制字共享。本文提出的密鑰協(xié)商算法,一樣具備在現(xiàn)有IC卡條件下通過(guò)軟件升級(jí)實(shí)現(xiàn)的優(yōu)勢(shì),同時(shí),極大程度提升了防止控制字共享的能力。
(3)與基于非對(duì)稱密鑰的動(dòng)態(tài)密鑰方式對(duì)比。非對(duì)稱密鑰的動(dòng)態(tài)密鑰方式,IC卡與CAM卡之間采用目前公鑰體制中常用的RSA、ECC等非對(duì)稱密鑰體制進(jìn)行密鑰協(xié)商,確保每次生成不同的密鑰,實(shí)現(xiàn)一次一密;利用協(xié)商生成的密鑰進(jìn)行加密通信[6,13],可以從根本上解決二者之間通信的安全問(wèn)題。但是,由于RSA、ECC算法復(fù)雜度的大幅提升,對(duì)系統(tǒng)的運(yùn)算資源和存儲(chǔ)資源的需要也大幅提高,而時(shí)下數(shù)字電視CAS中大量使用低成本IC卡,其CPU資源和存儲(chǔ)資源很難滿足系統(tǒng)需求,需要更換為配置和性能更高的IC卡,不僅大幅提高成本,同時(shí)增加工程實(shí)施難度。本文提出的密鑰協(xié)商方案,與非對(duì)稱密鑰方案相比,不僅具有同等的安全等級(jí),頁(yè)且不用改變當(dāng)前IC卡系統(tǒng)配置,具有更大的市場(chǎng)價(jià)值。
采用DTV-CI標(biāo)準(zhǔn)的機(jī)卡分離電視,配置1張CAM卡和1張數(shù)字電視IC卡,在實(shí)驗(yàn)中給CAM卡和IC卡分配不同的向量對(duì)。為簡(jiǎn)單起見,設(shè)在GF(28)有限域中進(jìn)行計(jì)算,假設(shè)設(shè)備U為CAM卡,設(shè)備V為IC卡:
(1)為設(shè)備U分配的向量對(duì)α1=(23,56,0,0),私鑰為β1=(255,7,143,115)。
(2)為設(shè)備V分配向量對(duì)α2=(45,0,76,0),私鑰為β2=(201,1,249,21);設(shè)備U或設(shè)備V的向量對(duì)也可以為α3=(0,34,0,9),私鑰為β3=(247,223,143,65)。
(3)取f為SHA-1函數(shù)。
如果設(shè)備U要和設(shè)備V進(jìn)行通信,則按照以下過(guò)程進(jìn)行:
(1)U產(chǎn)生一個(gè)隨機(jī)數(shù)R1,并將R1和αU一起發(fā)給V,其αU=α1=(23,56,0,0);
(2)V接收到R1和αU后,將αV傳給U,其αV=α2=(45,0,76,0);
(3)U按以下方法計(jì)算KV,U和K:
modp=(23,56,0,0)×(201,1,249,21)Tmodp=71,
K=f(KV,U,R1);
(4)V按以下方法計(jì)算KU,V和K:
modp=(45,0,76,0)×(255,7,143,115)Tmodp=71,
K=f(KU,V,R1)。
從上述分析看出,KV,U=KU,V=71,并且后續(xù)一定能產(chǎn)生相同的K值,其協(xié)商過(guò)程比較簡(jiǎn)單,不再贅述。
本文提出的算法已經(jīng)在長(zhǎng)虹自研的數(shù)字電視條件接收系統(tǒng)中成功應(yīng)用,并且實(shí)現(xiàn)了省級(jí)地面波數(shù)字電視項(xiàng)目中得到了產(chǎn)品化示范,其運(yùn)算效率、安全強(qiáng)度經(jīng)過(guò)豐富的市場(chǎng)檢驗(yàn)。
本文提岀的IC卡與CAM卡之間基于身份碼加密的密鑰協(xié)商方案,充分利用了現(xiàn)今廣泛使用的CAS中的IC卡系統(tǒng)資源能力,算法簡(jiǎn)潔、高效、安全、可靠,可以在不增加額外開銷的情況下,有效預(yù)防通過(guò)CW共享進(jìn)行數(shù)字電視節(jié)目流非法授權(quán)的安全風(fēng)險(xiǎn),已經(jīng)在一些典型應(yīng)用中得到驗(yàn)證。
本文提出的密鑰協(xié)商算法,除了應(yīng)用數(shù)字電視條件接收系統(tǒng)的控制字保護(hù)領(lǐng)域外,還可以用于任意一種兩個(gè)設(shè)備連接時(shí)的加密通信密鑰協(xié)商,有著廣闊的應(yīng)用前景。
[ 參 考 文 獻(xiàn) ]
[1] 全國(guó)音頻、視頻及媒體系統(tǒng)與設(shè)備標(biāo)準(zhǔn)化技術(shù)委員會(huì).SJ/T 11336—2006數(shù)字電視接收機(jī)條件接收接口規(guī)范 第1-1部分:DTV-CI技術(shù)規(guī)范[S].2006.
[2] 全國(guó)音頻、視頻及媒體系統(tǒng)與設(shè)備標(biāo)準(zhǔn)化技術(shù)委員會(huì).SJ/T 11376—2007數(shù)字電視接收設(shè)備條件接受接口規(guī)范 第2-1部分:通用傳送接口(UTI)技術(shù)規(guī)范[S].2007.
[3] 周師亮.機(jī)卡分離技術(shù)發(fā)展進(jìn)程[J].有線電視技術(shù),2008(7):54-56.
[4] 陳翔.數(shù)字電視條件接收系統(tǒng)的安全性分析[J].電視技術(shù),2010,34(2):43-45.
[5] 曲連民,管恒鈔.數(shù)字電視條件接收系統(tǒng)的安全性分析[J].數(shù)字技術(shù)與應(yīng)用,2011(3):160-161.
[6] 呂品.數(shù)字電視條件接收系統(tǒng)的破解與反破解技術(shù)[J].衛(wèi)星電視與寬帶多媒體,2006(2):42-43
[7] 劉衛(wèi)忠.數(shù)字視頻廣播內(nèi)容安全保護(hù)關(guān)鍵技術(shù)研究[D].武漢:華中科技大學(xué),2012.
[8] Federal Information Processing Standard.Advanced Encryption Standard (AES),November 2001[EB/OL].(2015-09-06)[2018-01-02].http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf.
[9] 羅影,劉冬梅,康紅娟.NIST新分組密碼工作模式及快速實(shí)現(xiàn)研究[J].通信技術(shù),2014,7(9):1066-1070.
[10] 呂述望,蘇波展,王鵬,等.SM4分組密碼算法綜述[J].信息安全研究,2016,2(11):995-1007.
[11] CHANG S J,PERLNER R,BURR W E,et al.Third-Round Report of the SHA-3 Cryptographic Hash Algorithm Competition[R].NIST Interagency/Internal Report (NISTIR)-7896,2012.
[12] 王小云,于紅波.SM3密碼雜湊算法[J].信息安全研究,2016,2(11):983-994.
[13] 楊先偉,康紅娟.SM3雜湊算法的軟件快速實(shí)現(xiàn)研究[J].智能系統(tǒng)學(xué)報(bào),2015,10(6):1-7.
[14] PRENEEL B,TAKAGI T.Cryptographic Hardware and Embedded Systems[C]//International Workshop,Nara,Japan,September 28-October 1,2011.Proceedings,volume 6917 of LNCS.Berlin:Springer,2011.
[15] KOBAYASHI E,SUZAKI T,MINEMATSU K,et al.TWINE:A Lightweight Block Cipher for Multiple Platforms[C]//Selected Areas in Cryptography,volume 7707 of LNCS.Berlin:Springer,2012:339-354.