摘? 要: 對(duì)移動(dòng)增值服務(wù)中空中下載服務(wù)器的通用性進(jìn)行了研究,并提出一種通用空中下載服務(wù)器的設(shè)計(jì)方案,。
關(guān)鍵詞: 空中下載技術(shù)? STK SIM卡? 短消息? 移動(dòng)增值服務(wù)
?
1?空中下載技術(shù)與移動(dòng)增值服務(wù)的關(guān)系
目前,實(shí)現(xiàn)移動(dòng)增值服務(wù)(即移動(dòng)應(yīng)用和交易)的模型主要有2種:基于STK(SIM Tool Kits)技術(shù)的移動(dòng)電子商務(wù)模型和基于WAP的移動(dòng)商務(wù)模型,。
基于STK技術(shù)的移動(dòng)電子商務(wù)模型是目前國(guó)內(nèi)移動(dòng)銀行和移動(dòng)證券主要采用的方式。STK卡是帶有SIM Tool Kit的SIM卡,卡內(nèi)可以保存應(yīng)用服務(wù)的菜單,如銀行,、證券等業(yè)務(wù),。每次用戶(hù)通過(guò)SIM卡上的菜單對(duì)移動(dòng)應(yīng)用服務(wù)商(如證券公司)發(fā)出指令時(shí),用戶(hù)通過(guò)菜單激活卡內(nèi)的STK功能模塊。該模塊將用戶(hù)的數(shù)據(jù)加密后以短消息的形式發(fā)送出去,通過(guò)GSM移動(dòng)通信網(wǎng)送至短消息中心(SMC),。短消息中心根據(jù)消息包的目的地址將其轉(zhuǎn)發(fā),在服務(wù)提供商處將消息解密,并送至后臺(tái)進(jìn)行處理,再將處理結(jié)果按原路送回手機(jī),。這種技術(shù)的應(yīng)用曾一度解決了移動(dòng)增值業(yè)務(wù)的實(shí)現(xiàn)困難,可在SIM卡中設(shè)計(jì)功能豐富、操作簡(jiǎn)便的菜單,使用戶(hù)可以用可視化,、交互式的手段享受運(yùn)營(yíng)商提供的增值業(yè)務(wù),。但是采用這種方式也有明顯的不足:(1)用戶(hù)在移動(dòng)終端上擁有的服務(wù)是固定的,即卡與服務(wù)是一一對(duì)應(yīng)的,。STK卡的菜單一經(jīng)寫(xiě)入就無(wú)法更改,如果用戶(hù)或銀行需要增加新的應(yīng)用,或用戶(hù)想更換服務(wù)提供商,則需要另?yè)Q一張SIM卡。(2)訪問(wèn)渠道單一,。目前,應(yīng)用服務(wù)一般由用戶(hù)從手機(jī)發(fā)起,這限制了應(yīng)用范圍,無(wú)法實(shí)現(xiàn)某些應(yīng)用,如網(wǎng)上購(gòu)物等,。(3)采用對(duì)稱(chēng)密鑰體制,無(wú)PKI機(jī)制。
空中下載技術(shù)(Over-the-Air Technology,OTA)是通過(guò)移動(dòng)通信(GSM或CDMA)的空中接口對(duì)SIM卡數(shù)據(jù)及應(yīng)用進(jìn)行遠(yuǎn)程管理的技術(shù),。這種遠(yuǎn)程管理使SIM卡端信息具有動(dòng)態(tài)改變的能力,即數(shù)據(jù)可以從服務(wù)器由空中(無(wú)線途徑)下載到移動(dòng)設(shè)備上,。這樣就可以在移動(dòng)增值服務(wù)中將不同服務(wù)供應(yīng)商提供的服務(wù)以菜單形式存儲(chǔ)在STK SIM卡中。其管理在后臺(tái)服務(wù)器中進(jìn)行,一旦用戶(hù)需求改變或增加了新的服務(wù)功能,可以按用戶(hù)要求將所需數(shù)據(jù)空中下載到SIM卡中,使應(yīng)用及內(nèi)容服務(wù)商可以不受平臺(tái)的局限,不斷開(kāi)發(fā)出更具個(gè)性化的貼近用戶(hù)需求的服務(wù)(如信息點(diǎn)播,、互動(dòng)娛樂(lè),、位置服務(wù)以及銀行交易等),并且還可以根據(jù)自己的意愿定制具體業(yè)務(wù)。OTA方式顯然支持服務(wù)器端發(fā)起的服務(wù),。
中國(guó)移動(dòng)在“移動(dòng)夢(mèng)網(wǎng)”計(jì)劃中推出了“STK卡OTA下載夢(mèng)網(wǎng)短信業(yè)務(wù)菜單實(shí)現(xiàn)方案”,。該方案正是運(yùn)用空中下載技術(shù)向手機(jī)用戶(hù)提供個(gè)性化的菜單服務(wù)。
2?OTA卡菜單下載技術(shù)與STK SIM卡結(jié)構(gòu)
OTA卡是指利用STK SIM卡進(jìn)行OTA動(dòng)態(tài)下載,。OTA卡菜單下載業(yè)務(wù)是指用戶(hù)可以根據(jù)自己的需要,隨時(shí)增加或刪除自己OTA卡上的移動(dòng)夢(mèng)網(wǎng)短信業(yè)務(wù)菜單,以此實(shí)現(xiàn)夢(mèng)網(wǎng)服務(wù)的個(gè)性化和業(yè)務(wù)更新的實(shí)時(shí)性,同時(shí)使運(yùn)營(yíng)商能更方便,、快捷、全面地展開(kāi)各項(xiàng)夢(mèng)網(wǎng)短信服務(wù),。
OTA卡菜單下載的實(shí)現(xiàn)借助于STK功能和短消息通道,。支持空中下載的OTA卡提供可行的人機(jī)接口界面供用戶(hù)發(fā)出下載申請(qǐng)。OTA應(yīng)用下載服務(wù)器根據(jù)用戶(hù)請(qǐng)求,以數(shù)據(jù)短消息的形式將相應(yīng)的服務(wù)下載內(nèi)容發(fā)給用戶(hù)手機(jī),并將下載數(shù)據(jù)透明地傳遞給用戶(hù)OTA卡,。OTA卡對(duì)下載內(nèi)容進(jìn)行組織存儲(chǔ),實(shí)現(xiàn)相應(yīng)的STK卡菜單管理,。
STK卡是利用文件結(jié)構(gòu)來(lái)存儲(chǔ)菜單和菜單指定的執(zhí)行代碼,改變相應(yīng)的文件就能改變相應(yīng)的菜單結(jié)構(gòu)。這種改變是利用基本的SIM卡指令或其組合完成的,??罩邢螺dSTK卡菜單是將基本的SIM卡指令或其組合打包成短消息,發(fā)送給移動(dòng)終端,再由移動(dòng)終端轉(zhuǎn)給SIM卡處理。這里的技術(shù)難點(diǎn)在于不同的STK卡提供商使用不同的文件結(jié)構(gòu)來(lái)存儲(chǔ)STK菜單,因此OTA卡菜單下載的管理主要是對(duì)不同卡的SIM指令及OTA指令的分析,、使用和組合,。
3?空中下載通用性分析
實(shí)現(xiàn)OTA菜單下載的基礎(chǔ)載體是文件結(jié)構(gòu)各不相同的STK SIM卡。因此目前實(shí)現(xiàn)OTA菜單下載的實(shí)現(xiàn)方式有2種:(1)規(guī)定SIM卡文件結(jié)構(gòu),要求各卡商統(tǒng)一制定同結(jié)構(gòu)卡,。(2)在服務(wù)器端為各個(gè)不同結(jié)構(gòu)的卡建立不同的OTA空中下載服務(wù)系統(tǒng),。
中國(guó)移動(dòng)的“STK卡OTA下載夢(mèng)網(wǎng)短信業(yè)務(wù)菜單實(shí)現(xiàn)方案”采用的是第一種方式。這種方式要求卡商必須修改卡的文件結(jié)構(gòu),需要較大投資;第二種方式使平臺(tái)服務(wù)商疲于應(yīng)付,要經(jīng)常修改程序,并且程序的穩(wěn)定性,、可維護(hù)性受到影響,。因此我們考慮設(shè)計(jì)一個(gè)通用的OTA空中下載服務(wù)器,利用參數(shù)設(shè)置指導(dǎo)SIM卡指令及OTA指令組合,通過(guò)一個(gè)通用系統(tǒng)服務(wù)于各種結(jié)構(gòu)的STK SIM卡。
通用OTA空中下載系統(tǒng)的主要特點(diǎn)及設(shè)計(jì)目標(biāo)就是能夠?qū)Ω鞣N不同廠商的STK卡及采用瀏覽器方式的SIM卡進(jìn)行統(tǒng)一管理,甚至能夠?qū)Ξ?dāng)前非常有發(fā)展?jié)摿Φ腏AVA卡進(jìn)行統(tǒng)一的管理,。統(tǒng)一管理不需要卡商修改卡的文件結(jié)構(gòu),當(dāng)系統(tǒng)需要支持新的OTA卡時(shí),也不必重寫(xiě)系統(tǒng),提高了系統(tǒng)的可擴(kuò)展性和代碼重用性,。這種通用性為OTA系統(tǒng)的設(shè)計(jì)者和運(yùn)營(yíng)商及用戶(hù)都提供了極大的便利。
在實(shí)現(xiàn)對(duì)各種OTA卡進(jìn)行統(tǒng)一的管理之前,先要了解OTA指令的構(gòu)成,。
????每個(gè)OTA指令都是由1條或多條SIM卡指令組合而成,。這些SIM卡指令由GSM11.11規(guī)范中規(guī)定的基本的文件選擇指令和讀寫(xiě)指令組成,。GSM11.11規(guī)范中規(guī)定的SIM卡的指令共有21種,但目前用到的只有15種,即SELECT、UPDATEBINARY,、UPDATERECORD,、UPDATERECORD_ADN、SEEK,、INCREASE,、VERIFYCHV、DISABLECHV,、UNBLOCKCHV,、INVALIDATE、ENABLECHV,、REHABILITATE,、READBINARY、READRECORD,、GETRESPONSE,。每個(gè)OTA命令都是由這15條指令中的某幾條組合而成。這15條基本命令的格式如圖1所示,。
?
?
圖中,CLA占1個(gè)字節(jié),用于標(biāo)識(shí)指令的類(lèi)別,在GSM系統(tǒng)中,為“A0”;INS為指令代碼,代表各種對(duì)SIM卡操作的指令;P1,、P2、P3為參數(shù),用于指明讀取位置,、口令長(zhǎng)度和口令級(jí)別;DATA為輸入的數(shù)據(jù)。
大部分OTA卡使用Linear fixed類(lèi)型的文件結(jié)構(gòu)來(lái)存儲(chǔ)菜單并記錄指向執(zhí)行代碼的指針,使用Transparent類(lèi)型的文件結(jié)構(gòu)來(lái)存儲(chǔ)執(zhí)行代碼,。但每個(gè)卡商的WIB卡或普通STK卡使用的文件ID,、每個(gè)文件的具體定義以及操作方式都有所不同,如菜單的技術(shù)定義、執(zhí)行代碼指針的格式等,。
用戶(hù)的請(qǐng)求基本上可以分為8種,。服務(wù)器每收到一種請(qǐng)求就啟動(dòng)相應(yīng)的OTA指令生成方法,這些指令生成方法實(shí)際上就是將15條基本命令中的幾條進(jìn)行組合。這15條基本命令中最常被用來(lái)組合OTA命令的是SELECT,、UPDATEBINARY和UPDATERECORD,。根據(jù)用戶(hù)不同的請(qǐng)求,每條基本命令的P1,、P2,、P3以及輸入的數(shù)據(jù)(即DATA域)也不相同。正是命令與參數(shù)的不同組合滿(mǎn)足了各種用戶(hù)請(qǐng)求,。
通過(guò)以上分析,可以為各個(gè)相同結(jié)構(gòu)的卡建立卡指令模板,并為卡指令,、OTA指令及應(yīng)用建立映射關(guān)系。當(dāng)出現(xiàn)新卡或新功能時(shí),建立新模板與新映射關(guān)系即可驅(qū)動(dòng)新的功能,從而達(dá)到服務(wù)的通用性,。
4?通用下載服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
本文設(shè)計(jì)開(kāi)發(fā)的“通用OTA空中下載系統(tǒng)”是以中國(guó)移動(dòng)通信STK卡OTA下載夢(mèng)網(wǎng)短信業(yè)務(wù)菜單實(shí)現(xiàn)方案為基本需求,以通用性為特點(diǎn)進(jìn)行設(shè)計(jì)的一種STK菜單OTA空中下載系統(tǒng),。該通用OTA空中下載系統(tǒng)結(jié)構(gòu)示意圖如圖2所示,。
?
?
系統(tǒng)基本由以下幾個(gè)模塊組成。
(1)通信模塊:一端負(fù)責(zé)與移動(dòng)運(yùn)營(yíng)商的短消息網(wǎng)關(guān)進(jìn)行通信,另一端與OTA指令處理模塊通信,。
(2)OTA指令處理模塊:負(fù)責(zé)處理及生成OTA指令,并與服務(wù)管理模塊通信,以獲得相關(guān)的用戶(hù),、SIM卡及相關(guān)業(yè)務(wù)等數(shù)據(jù),完成卡、用戶(hù),、功能與指令的映射,生成最終發(fā)送的OTA指令,。
(3)卡模板處理模塊:組織、存儲(chǔ)和管理各結(jié)構(gòu)的卡指令及與各種用戶(hù)需求功能的映射,將一批具有相同的文件結(jié)構(gòu),、OTA相關(guān)算法及特殊實(shí)現(xiàn)的卡歸為一類(lèi),并將其相同之處提取出來(lái),形成卡模板,。將批量的數(shù)據(jù)導(dǎo)入與個(gè)別數(shù)據(jù)更新相結(jié)合,對(duì)STK卡進(jìn)行管理。STK卡信息管理分為卡模板管理和卡數(shù)據(jù)管理,。本模塊與OTA指令處理模塊是實(shí)現(xiàn)OTA服務(wù)通用性的核心模塊,。
(4)業(yè)務(wù)生成模塊:完成對(duì)提供給用戶(hù)的業(yè)務(wù)管理,包括:應(yīng)用類(lèi)別管理、新建應(yīng)用,、更新應(yīng)用,、應(yīng)用瀏覽,并且對(duì)用戶(hù)需求及交易服務(wù)進(jìn)行規(guī)范化、結(jié)構(gòu)化和計(jì)量化處理,。
(5)SIM卡管理模塊,、用戶(hù)管理模塊和配置管理模塊分別對(duì)SIM卡、用戶(hù),、服務(wù)器及服務(wù)供應(yīng)商的特殊性進(jìn)行實(shí)體數(shù)據(jù)與后臺(tái)服務(wù)器數(shù)據(jù)的一致性管理,。
該系統(tǒng)的服務(wù)器采用面向?qū)ο蠓椒ㄔO(shè)計(jì),用C++語(yǔ)言實(shí)現(xiàn)。以O(shè)TA指令處理生成模塊為例,其主要功能是根據(jù)用戶(hù)的請(qǐng)求來(lái)生成相應(yīng)的OTA命令,。程序中共定義了6種OTA指令生成方法,分別是MakeDelMenuCommand,、MakeAddMenuCommand、MakeModListCommand,、MakeAdnCommand,、MakeNRCommand、MakeUMACommand,。在類(lèi)class CsimCardCommand中,將最基本的SIM卡指令生成模塊單獨(dú)提取出來(lái),設(shè)計(jì)為一個(gè)CSimCardCommand類(lèi),它獨(dú)立于OTA指令的生成部分,。當(dāng)用戶(hù)提出某功能申請(qǐng)時(shí),程序根據(jù)卡指令映射表得到SIM卡指令生成方法和這些指令所需要的一些固定的參數(shù)(P1、P2,、Data等),并將其作為該類(lèi)的構(gòu)造函數(shù),返回的是生成的基本的SIM卡指令,將這些指令字符串連接起來(lái),就是OTA指令,。這樣做提高了代碼的復(fù)用性、可讀性和系統(tǒng)的穩(wěn)定性,。
卡指令映射表描述了與具體動(dòng)作相對(duì)應(yīng)的指令,每種相同結(jié)構(gòu)的卡有相應(yīng)映射,。如果需要支持新的卡商的SIM卡,只需配置此卡商所對(duì)應(yīng)的指令映射,由程序讀取,即可完成。這樣就實(shí)現(xiàn)了通用OTA空中下載系統(tǒng)的通用性,可支持各種WIB卡或普通STK卡,。
?
參考文獻(xiàn)
1? 王驥.OTA服務(wù)器的實(shí)現(xiàn)與應(yīng)用.北京郵電大學(xué)碩士學(xué)位論文,2003
2? 劉杰,王春萌,范春曉.移動(dòng)電子商務(wù)及WPKI技術(shù).北京郵電大學(xué)學(xué)報(bào),2002;(2)
3? WAP組織論壇著,候春萍譯.WAP無(wú)線應(yīng)用協(xié)議.北京:機(jī)械工業(yè)出版社,2000