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