何秋陽,孫 雷
(1.南京郵電大學 通信與信息學院,江蘇 南京 210003;2.中興通訊南京研發(fā)中心,江蘇 南京 210012)
隨著移動數(shù)據(jù)業(yè)務的普及、手機性能的提高以及數(shù)字電視技術和網(wǎng)絡的迅速發(fā)展,手機電視已成為無線應用的新熱點。目前,中國廣電、中國移動都有自己的手機電視系統(tǒng),其中廣電(中廣傳播)的CMMB已經(jīng)在全國300多個城市開通[1],中國移動的TD-MBMS系統(tǒng)也基本成熟。但是,從運營模式上看,廣電、移動單獨推行手機電視存在著種種問題。廣電擁有廣播電視轉(zhuǎn)播的權利,但沒有自己的雙向通信網(wǎng)絡,在用戶認證、用戶鑒權、用戶計費等問題上存在著先天性不足,而中國移動擁有龐大的手機用戶和覆蓋全國的雙向通信網(wǎng)絡,但沒有廣播電視的播出權。因此,廣電部門和移動運營商合作的模式是較有前途的手機電視發(fā)展模式。
目前,中廣傳播和中國移動合作的手機電視系統(tǒng)TD-CMMB正在實施中。利益仍然是兩家運營商合作中最關心的部分,而作為利潤分成的基礎——節(jié)目流的加密和入網(wǎng)用戶的認證、授權、計費等部分顯然成為系統(tǒng)的核心,也是整個系統(tǒng)中較復雜的部分。筆者就針對TDCMMB的加密系統(tǒng)和用戶認證授權系統(tǒng)進行探討。
TD-CMMB系統(tǒng)核心分為兩個部分,包括廣電側(cè)移動多媒體業(yè)務系統(tǒng)和中國移動側(cè)手機電視/移動多媒體廣播業(yè)務管理系統(tǒng),如圖1所示。
廣電側(cè)移動多媒體業(yè)務系統(tǒng)主要完成音視頻編碼、數(shù)據(jù)廣播業(yè)務生成、業(yè)務加密、業(yè)務指南生成、移動多媒體廣播信號的復用、發(fā)射以及廣電側(cè)用戶訂購關系管理、用戶密鑰管理、用戶認證鑒權和計費等。中國移動側(cè)手機電視/移動多媒體廣播業(yè)務管理系統(tǒng)主要完成業(yè)務指南的分發(fā)、用戶訂購關系管理、用戶密鑰管理、用戶的認證鑒權和計費等功能。這兩部分通過定義好的結構進行通信。
手機電視/移動多媒體廣播業(yè)務的認證授權是通過對節(jié)目流進行加密,然后向用戶發(fā)送解密密鑰的方式實現(xiàn)。為保證密鑰在傳輸過程中的安全,在網(wǎng)絡中傳送的密鑰都是被加密的。密鑰管理采用4層體系結構(見圖2)。
圖2 密鑰管理體系
第1層:認證管理和用戶初始化注冊。用戶進行GBA認證,獲得共享密鑰,生成認證密鑰(MRK)和用戶密鑰(MUK)。
第2層:業(yè)務密鑰管理。網(wǎng)絡根據(jù)用戶訂購關系將業(yè)務密鑰通過加密方式傳送給用戶。
第3層:節(jié)目流密鑰管理。網(wǎng)絡將加密后的節(jié)目流密鑰在廣播網(wǎng)絡上廣播。
第4層:節(jié)目流管理。網(wǎng)絡使用節(jié)目流密鑰對節(jié)目流進行加密,終端使用解密后的節(jié)目流密鑰進行解密。
密鑰在各網(wǎng)元中生成、管理以及在網(wǎng)絡中的傳輸如圖3所示。
圖3 密鑰的生成與管理
中國移動手機電視/移動多媒體廣播業(yè)務平臺根據(jù)用戶IMSI(或IMPI)對用戶進行認證,在卡中和BSF模塊中分別生成相同的共享密鑰Ks,根據(jù)用戶的Ks再生成用戶密鑰[2]。
CMMB密鑰管理設備為每個頻道生成一個業(yè)務密鑰。當用戶訂購業(yè)務后,用戶向中國移動NAF設備請求業(yè)務密鑰,NAF接到請求后,向廣電用戶管理系統(tǒng)請求業(yè)務密鑰。CMMB密鑰管理設備使用廣電用戶密鑰對業(yè)務密鑰加密后,發(fā)送給NAF。NAF使用用戶密鑰對該密鑰再次加密后,組裝成業(yè)務密鑰消息發(fā)送給用戶終端。終端獲得加密的業(yè)務密鑰后將其發(fā)送給卡??ǚ謩e使用中國移動用戶密鑰和廣電用戶密鑰解密后,將業(yè)務密鑰存儲在卡中。
當終端播放節(jié)目時,將從廣播網(wǎng)絡中獲取的加密的節(jié)目流密鑰發(fā)送給卡,卡使用業(yè)務密鑰解密,然后將節(jié)目流密鑰返回給終端,終端使用節(jié)目流密鑰解密節(jié)目流,從而在播放器中播放節(jié)目。
所有業(yè)務均采用加密方式傳輸。
廣電用戶密鑰為128位對稱密鑰,由廣電用戶密鑰管理設備生成和保存,并在用戶的SIM/USIM卡中安全保存。廣電用戶密鑰對每個用戶唯一。
廣電業(yè)務密鑰管理設備在接收到NAF的業(yè)務密鑰請求時,使用廣電用戶密鑰加密業(yè)務密鑰,加密算法為AES_ECB_128算法。用戶SIM/USIM卡處理業(yè)務密鑰消息時,使用廣電用戶密鑰解密業(yè)務密鑰時采用AES_ECB_128算法解密。
從密鑰管理體系中可以看到,手機電視終端要接入TD-CMMB系統(tǒng),首先要進行終端密鑰會話協(xié)商進行網(wǎng)絡認證,這個認證過程也是比較復雜的。終端通過GBA初始化流程進行終端認證(見圖4)。GBA認證初始化流程[3]為:
1)終端向卡請求IMSI,卡向終端返回IMSI。
2)終端向 WAP網(wǎng)關發(fā)送 Bootstrapping_Initiation.REQ[4]消息。當用戶從3G網(wǎng)絡接入時,則接入就近的3G WAP網(wǎng)關;當用戶從2G網(wǎng)絡接入時,則接入就近的2G WAP 網(wǎng)關[5]。
3)用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關向拜訪地NAF發(fā)送Bootstrapping_Initiation.REQ消息。
4)拜訪地NAF從Bootstrapping_Initiation.REQ消息中提取出用戶的IMSI,把用戶IMSI轉(zhuǎn)換為IMPI,并查詢用戶歸屬地BSF的地址。
圖4 GBA初始化流程
5)拜訪地NAF向用戶接入的WAP網(wǎng)關發(fā)送Bootstrapping_Initiation.RES消息,攜帶用戶的IMPI和用戶歸屬BSF的地址。
6)用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關向終端返回Bootstrapping_Initiation.RES消息。
7)終端向接入地用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關發(fā)送Bootstrapping_Register.REQ[6]消息,消息目標地址為歸屬地BSF,消息中包含用戶IMPI。
8)用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關向用戶歸屬地BSF發(fā)送Bootstrapping_Register.REQ消息。
9)用戶歸屬BSF將用戶IMPI映射為IMSI。
10)用戶歸屬BSF向歸屬HLR/AuC發(fā)送Authentication Data Request消息,請求鑒權元組 (Authentication Vector,AV)[4,6]。
11)HLR/AuC根據(jù)IMSI查找用戶鑒權密鑰(Ki或K),進行一次AV運算,并向BSF發(fā)送Authentication Data Response消息,返回運算獲得的AV。當用戶為SIM卡用戶時,HLR/AuC 執(zhí)行三元 AV運算,生成(RAND,SRES,Kc);當用戶為USIM卡用戶,HLR/AuC執(zhí)行五元AV,生成(RAND,AUTN,XRES,CK,IK)。
12)歸屬BSF使用AV,向用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關返回Bootstrapping_Register.RES消息。如果是三元AV,則消息中包含RAND;如果是五元AV,則消息中包含RAND和AUTN。
13)用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關向終端返回Bootstrapping_Register.RES消息。
14)終端向卡發(fā)送Authentication Command命令,其中攜帶RAND或(RAND,AUTN)。
15)卡運算獲得AV[3]。如用戶卡為SIM卡,則執(zhí)行三元AV運算,生成SRES,然后再生成RES,RES=KDF(key,“3gpp-gba-res”,SRES),卡將 RES 返回給終端;如用戶卡為USIM卡,則執(zhí)行五元AV運算,首先驗證AUTN*的有效性,若有效則繼續(xù)運算(RES,CK,IK), 將 RES返回給終端,若無效則觸發(fā)SQN重同步過程。
16)卡將結果返回給終端。
17) 終端向用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關發(fā)送Bootstrapping_Authorization.REQ 消息,消息目標地址為用戶歸屬地BSF。消息中包含使用SRES/RES計算的digest的信息。
18)用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關向用戶歸屬地BSF發(fā)送Bootstrapping_Authorization.REQ消息。
19)歸屬BSF進行鑒權。對于三元組,判斷終端發(fā)送的RES與BSF生成的RES是否相等;對于五元組,判斷終端發(fā)送的RES與BSF保存的XRES是否相等。若相等,則鑒權成功,生成Ks和B-TID[3]。
對于 SIM 卡,Ks=KDF (key, Ks-input,“3gpp-gbaks”, SRES),其中 key=Kc||Kc||RAND,Ks-input是 BSF 生成的一個128位隨機數(shù);對于USIM卡,Ks=CK||IK。
若SRES與RES不相等或RES與XRES不相等,則鑒權失敗。
20)歸屬BSF向用戶發(fā)起業(yè)務時接入的WAP網(wǎng)關返回Bootstrapping_Authorization.RES消息。鑒權成功消息中包含B-TID和Ks的生命周期。
21)WAP網(wǎng)關向終端返回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位隨機數(shù);對于USIM卡,Ks=CK||IK。
筆者詳細介紹了TD-CMMB手機電視系統(tǒng)中用戶認證授權的體系結構及認證過程。正是該體系的復雜性和嚴密性,保證了用戶及系統(tǒng)的安全。隨著TD-CMMB系統(tǒng)的不斷完善,用戶認證授權體系也將不斷完善。
[1] 張民,張德偉,張霞.基于TD-SCDMA的CMMB交互系統(tǒng)研究與設計[J].電視技術,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)關接口協(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/.