何秋陽,孫 雷
(1.南京郵電大學(xué) 通信與信息學(xué)院,江蘇 南京 210003;2.中興通訊南京研發(fā)中心,江蘇 南京 210012)
隨著移動數(shù)據(jù)業(yè)務(wù)的普及、手機(jī)性能的提高以及數(shù)字電視技術(shù)和網(wǎng)絡(luò)的迅速發(fā)展,手機(jī)電視已成為無線應(yīng)用的新熱點(diǎn)。目前,中國廣電、中國移動都有自己的手機(jī)電視系統(tǒng),其中廣電(中廣傳播)的CMMB已經(jīng)在全國300多個城市開通[1],中國移動的TD-MBMS系統(tǒng)也基本成熟。但是,從運(yùn)營模式上看,廣電、移動單獨(dú)推行手機(jī)電視存在著種種問題。廣電擁有廣播電視轉(zhuǎn)播的權(quán)利,但沒有自己的雙向通信網(wǎng)絡(luò),在用戶認(rèn)證、用戶鑒權(quán)、用戶計費(fèi)等問題上存在著先天性不足,而中國移動擁有龐大的手機(jī)用戶和覆蓋全國的雙向通信網(wǎng)絡(luò),但沒有廣播電視的播出權(quán)。因此,廣電部門和移動運(yùn)營商合作的模式是較有前途的手機(jī)電視發(fā)展模式。
目前,中廣傳播和中國移動合作的手機(jī)電視系統(tǒng)TD-CMMB正在實(shí)施中。利益仍然是兩家運(yùn)營商合作中最關(guān)心的部分,而作為利潤分成的基礎(chǔ)——節(jié)目流的加密和入網(wǎng)用戶的認(rèn)證、授權(quán)、計費(fèi)等部分顯然成為系統(tǒng)的核心,也是整個系統(tǒng)中較復(fù)雜的部分。筆者就針對TDCMMB的加密系統(tǒng)和用戶認(rèn)證授權(quán)系統(tǒng)進(jìn)行探討。
TD-CMMB系統(tǒng)核心分為兩個部分,包括廣電側(cè)移動多媒體業(yè)務(wù)系統(tǒng)和中國移動側(cè)手機(jī)電視/移動多媒體廣播業(yè)務(wù)管理系統(tǒng),如圖1所示。

廣電側(cè)移動多媒體業(yè)務(wù)系統(tǒng)主要完成音視頻編碼、數(shù)據(jù)廣播業(yè)務(wù)生成、業(yè)務(wù)加密、業(yè)務(wù)指南生成、移動多媒體廣播信號的復(fù)用、發(fā)射以及廣電側(cè)用戶訂購關(guān)系管理、用戶密鑰管理、用戶認(rèn)證鑒權(quán)和計費(fèi)等。中國移動側(cè)手機(jī)電視/移動多媒體廣播業(yè)務(wù)管理系統(tǒng)主要完成業(yè)務(wù)指南的分發(fā)、用戶訂購關(guān)系管理、用戶密鑰管理、用戶的認(rèn)證鑒權(quán)和計費(fèi)等功能。這兩部分通過定義好的結(jié)構(gòu)進(jìn)行通信。
手機(jī)電視/移動多媒體廣播業(yè)務(wù)的認(rèn)證授權(quán)是通過對節(jié)目流進(jìn)行加密,然后向用戶發(fā)送解密密鑰的方式實(shí)現(xiàn)。為保證密鑰在傳輸過程中的安全,在網(wǎng)絡(luò)中傳送的密鑰都是被加密的。密鑰管理采用4層體系結(jié)構(gòu)(見圖2)。

圖2 密鑰管理體系
第1層:認(rèn)證管理和用戶初始化注冊。用戶進(jìn)行GBA認(rèn)證,獲得共享密鑰,生成認(rèn)證密鑰(MRK)和用戶密鑰(MUK)。
第2層:業(yè)務(wù)密鑰管理。網(wǎng)絡(luò)根據(jù)用戶訂購關(guān)系將業(yè)務(wù)密鑰通過加密方式傳送給用戶。
第3層:節(jié)目流密鑰管理。網(wǎng)絡(luò)將加密后的節(jié)目流密鑰在廣播網(wǎng)絡(luò)上廣播。
第4層:節(jié)目流管理。網(wǎng)絡(luò)使用節(jié)目流密鑰對節(jié)目流進(jìn)行加密,終端使用解密后的節(jié)目流密鑰進(jìn)行解密。
密鑰在各網(wǎng)元中生成、管理以及在網(wǎng)絡(luò)中的傳輸如圖3所示。

圖3 密鑰的生成與管理
中國移動手機(jī)電視/移動多媒體廣播業(yè)務(wù)平臺根據(jù)用戶IMSI(或IMPI)對用戶進(jìn)行認(rèn)證,在卡中和BSF模塊中分別生成相同的共享密鑰Ks,根據(jù)用戶的Ks再生成用戶密鑰[2]。
CMMB密鑰管理設(shè)備為每個頻道生成一個業(yè)務(wù)密鑰。當(dāng)用戶訂購業(yè)務(wù)后,用戶向中國移動NAF設(shè)備請求業(yè)務(wù)密鑰,NAF接到請求后,向廣電用戶管理系統(tǒng)請求業(yè)務(wù)密鑰。CMMB密鑰管理設(shè)備使用廣電用戶密鑰對業(yè)務(wù)密鑰加密后,發(fā)送給NAF。NAF使用用戶密鑰對該密鑰再次加密后,組裝成業(yè)務(wù)密鑰消息發(fā)送給用戶終端。終端獲得加密的業(yè)務(wù)密鑰后將其發(fā)送給卡。卡分別使用中國移動用戶密鑰和廣電用戶密鑰解密后,將業(yè)務(wù)密鑰存儲在卡中。
當(dāng)終端播放節(jié)目時,將從廣播網(wǎng)絡(luò)中獲取的加密的節(jié)目流密鑰發(fā)送給卡,卡使用業(yè)務(wù)密鑰解密,然后將節(jié)目流密鑰返回給終端,終端使用節(jié)目流密鑰解密節(jié)目流,從而在播放器中播放節(jié)目。
所有業(yè)務(wù)均采用加密方式傳輸。
廣電用戶密鑰為128位對稱密鑰,由廣電用戶密鑰管理設(shè)備生成和保存,并在用戶的SIM/USIM卡中安全保存。廣電用戶密鑰對每個用戶唯一。
廣電業(yè)務(wù)密鑰管理設(shè)備在接收到NAF的業(yè)務(wù)密鑰請求時,使用廣電用戶密鑰加密業(yè)務(wù)密鑰,加密算法為AES_ECB_128算法。用戶SIM/USIM卡處理業(yè)務(wù)密鑰消息時,使用廣電用戶密鑰解密業(yè)務(wù)密鑰時采用AES_ECB_128算法解密。
從密鑰管理體系中可以看到,手機(jī)電視終端要接入TD-CMMB系統(tǒng),首先要進(jìn)行終端密鑰會話協(xié)商進(jìn)行網(wǎng)絡(luò)認(rèn)證,這個認(rèn)證過程也是比較復(fù)雜的。終端通過GBA初始化流程進(jìn)行終端認(rèn)證(見圖4)。GBA認(rèn)證初始化流程[3]為:
1)終端向卡請求IMSI,卡向終端返回IMSI。
2)終端向 WAP網(wǎng)關(guān)發(fā)送 Bootstrapping_Initiation.REQ[4]消息。當(dāng)用戶從3G網(wǎng)絡(luò)接入時,則接入就近的3G WAP網(wǎng)關(guān);當(dāng)用戶從2G網(wǎng)絡(luò)接入時,則接入就近的2G WAP 網(wǎng)關(guān)[5]。
3)用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)向拜訪地NAF發(fā)送Bootstrapping_Initiation.REQ消息。
4)拜訪地NAF從Bootstrapping_Initiation.REQ消息中提取出用戶的IMSI,把用戶IMSI轉(zhuǎn)換為IMPI,并查詢用戶歸屬地BSF的地址。

圖4 GBA初始化流程
5)拜訪地NAF向用戶接入的WAP網(wǎng)關(guān)發(fā)送Bootstrapping_Initiation.RES消息,攜帶用戶的IMPI和用戶歸屬BSF的地址。
6)用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)向終端返回Bootstrapping_Initiation.RES消息。
7)終端向接入地用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)發(fā)送Bootstrapping_Register.REQ[6]消息,消息目標(biāo)地址為歸屬地BSF,消息中包含用戶IMPI。
8)用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)向用戶歸屬地BSF發(fā)送Bootstrapping_Register.REQ消息。
9)用戶歸屬BSF將用戶IMPI映射為IMSI。
10)用戶歸屬BSF向歸屬HLR/AuC發(fā)送Authentication Data Request消息,請求鑒權(quán)元組 (Authentication Vector,AV)[4,6]。
11)HLR/AuC根據(jù)IMSI查找用戶鑒權(quán)密鑰(Ki或K),進(jìn)行一次AV運(yùn)算,并向BSF發(fā)送Authentication Data Response消息,返回運(yùn)算獲得的AV。當(dāng)用戶為SIM卡用戶時,HLR/AuC 執(zhí)行三元 AV運(yùn)算,生成(RAND,SRES,Kc);當(dāng)用戶為USIM卡用戶,HLR/AuC執(zhí)行五元AV,生成(RAND,AUTN,XRES,CK,IK)。
12)歸屬BSF使用AV,向用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)返回Bootstrapping_Register.RES消息。如果是三元AV,則消息中包含RAND;如果是五元AV,則消息中包含RAND和AUTN。
13)用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)向終端返回Bootstrapping_Register.RES消息。
14)終端向卡發(fā)送Authentication Command命令,其中攜帶RAND或(RAND,AUTN)。
15)卡運(yùn)算獲得AV[3]。如用戶卡為SIM卡,則執(zhí)行三元AV運(yùn)算,生成SRES,然后再生成RES,RES=KDF(key,“3gpp-gba-res”,SRES),卡將 RES 返回給終端;如用戶卡為USIM卡,則執(zhí)行五元AV運(yùn)算,首先驗(yàn)證AUTN*的有效性,若有效則繼續(xù)運(yùn)算(RES,CK,IK), 將 RES返回給終端,若無效則觸發(fā)SQN重同步過程。
16)卡將結(jié)果返回給終端。
17) 終端向用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)發(fā)送Bootstrapping_Authorization.REQ 消息,消息目標(biāo)地址為用戶歸屬地BSF。消息中包含使用SRES/RES計算的digest的信息。
18)用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)向用戶歸屬地BSF發(fā)送Bootstrapping_Authorization.REQ消息。
19)歸屬BSF進(jìn)行鑒權(quán)。對于三元組,判斷終端發(fā)送的RES與BSF生成的RES是否相等;對于五元組,判斷終端發(fā)送的RES與BSF保存的XRES是否相等。若相等,則鑒權(quán)成功,生成Ks和B-TID[3]。
對于 SIM 卡,Ks=KDF (key, Ks-input,“3gpp-gbaks”, SRES),其中 key=Kc||Kc||RAND,Ks-input是 BSF 生成的一個128位隨機(jī)數(shù);對于USIM卡,Ks=CK||IK。
若SRES與RES不相等或RES與XRES不相等,則鑒權(quán)失敗。
20)歸屬BSF向用戶發(fā)起業(yè)務(wù)時接入的WAP網(wǎng)關(guān)返回Bootstrapping_Authorization.RES消息。鑒權(quán)成功消息中包含B-TID和Ks的生命周期。
21)WAP網(wǎng)關(guān)向終端返回Bootstrapping_Authorization.RES消息。
22)終端向卡中寫入B-TID和Ks的生命周期、RAND。
23) 卡生成Ks[3]。 對于 SIM 卡,Ks=KDF(key, Ks-input, “3gpp-gba-ks”,SRES),其中 key=Kc||Kc||RAND,Ksinput是BSF生成的一個128位隨機(jī)數(shù);對于USIM卡,Ks=CK||IK。
筆者詳細(xì)介紹了TD-CMMB手機(jī)電視系統(tǒng)中用戶認(rèn)證授權(quán)的體系結(jié)構(gòu)及認(rèn)證過程。正是該體系的復(fù)雜性和嚴(yán)密性,保證了用戶及系統(tǒng)的安全。隨著TD-CMMB系統(tǒng)的不斷完善,用戶認(rèn)證授權(quán)體系也將不斷完善。
[1] 張民,張德偉,張霞.基于TD-SCDMA的CMMB交互系統(tǒng)研究與設(shè)計[J].電視技術(shù),2010,34(3):9-10.
[2] 3GPP TS 33.246,3G security;security of multimedia broadcast/multicast service (MBMS)[S].2007.
[3] 3GPP TS 33.220,Generic bootstrapping architecture(release 6)[S].2004.
[4] RFC2617-HTTP authentication:basic and digest access authentication[EB/OL].[2010-02-02].http://www.packetizer.com/rfc/rfc2617/.
[5] 中國移動.中國移動通信互聯(lián)網(wǎng)短信網(wǎng)關(guān)接口協(xié)議[EB/OL].[2010-02-03].http://www.pohoo.com/download/CMPP2.0%20.doc.
[6] RFC3310-hypertext transfer protocol (HTTP) digest authentication using authentication and key agreement (AKA)[EB/OL].[2010-02-04].http://www.packetizer.com/rfc/rfc3310/.