空中下载服务器的通用性研究
2009-09-16
作者:范春晓1, 邹俊伟1, 王 骥
摘 要: 对移动增值服务中空中下载服务器的通用性进行了研究,并提出一种通用空中下载服务器的设计方案。
关键词: 空中下载技术 STK SIM卡 短消息 移动增值服务
1 空中下载技术与移动增值服务的关系
目前,实现移动增值服务(即移动应用和交易)的模型主要有2种:基于STK(SIM Tool Kits)技术的移动电子商务模型和基于WAP的移动商务模型。
基于STK技术的移动电子商务模型是目前国内移动银行和移动证券主要采用的方式。STK卡是带有SIM Tool Kit的SIM卡,卡内可以保存应用服务的菜单,如银行、证券等业务。每次用户通过SIM卡上的菜单对移动应用服务商(如证券公司)发出指令时,用户通过菜单激活卡内的STK功能模块。该模块将用户的数据加密后以短消息的形式发送出去,通过GSM移动通信网送至短消息中心(SMC)。短消息中心根据消息包的目的地址将其转发,在服务提供商处将消息解密,并送至后台进行处理,再将处理结果按原路送回手机。这种技术的应用曾一度解决了移动增值业务的实现困难,可在SIM卡中设计功能丰富、操作简便的菜单,使用户可以用可视化、交互式的手段享受运营商提供的增值业务。但是采用这种方式也有明显的不足:(1)用户在移动终端上拥有的服务是固定的,即卡与服务是一一对应的。STK卡的菜单一经写入就无法更改,如果用户或银行需要增加新的应用,或用户想更换服务提供商,则需要另换一张SIM卡。(2)访问渠道单一。目前,应用服务一般由用户从手机发起,这限制了应用范围,无法实现某些应用,如网上购物等。(3)采用对称密钥体制,无PKI机制。
空中下载技术(Over-the-Air Technology,OTA)是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。这种远程管理使SIM卡端信息具有动态改变的能力,即数据可以从服务器由空中(无线途径)下载到移动设备上。这样就可以在移动增值服务中将不同服务供应商提供的服务以菜单形式存储在STK SIM卡中。其管理在后台服务器中进行,一旦用户需求改变或增加了新的服务功能,可以按用户要求将所需数据空中下载到SIM卡中,使应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务(如信息点播、互动娱乐、位置服务以及银行交易等),并且还可以根据自己的意愿定制具体业务。OTA方式显然支持服务器端发起的服务。
中国移动在“移动梦网”计划中推出了“STK卡OTA下载梦网短信业务菜单实现方案”。该方案正是运用空中下载技术向手机用户提供个性化的菜单服务。
2 OTA卡菜单下载技术与STK SIM卡结构
OTA卡是指利用STK SIM卡进行OTA动态下载。OTA卡菜单下载业务是指用户可以根据自己的需要,随时增加或删除自己OTA卡上的移动梦网短信业务菜单,以此实现梦网服务的个性化和业务更新的实时性,同时使运营商能更方便、快捷、全面地展开各项梦网短信服务。
OTA卡菜单下载的实现借助于STK功能和短消息通道。支持空中下载的OTA卡提供可行的人机接口界面供用户发出下载申请。OTA应用下载服务器根据用户请求,以数据短消息的形式将相应的服务下载内容发给用户手机,并将下载数据透明地传递给用户OTA卡。OTA卡对下载内容进行组织存储,实现相应的STK卡菜单管理。
STK卡是利用文件结构来存储菜单和菜单指定的执行代码,改变相应的文件就能改变相应的菜单结构。这种改变是利用基本的SIM卡指令或其组合完成的。空中下载STK卡菜单是将基本的SIM卡指令或其组合打包成短消息,发送给移动终端,再由移动终端转给SIM卡处理。这里的技术难点在于不同的STK卡提供商使用不同的文件结构来存储STK菜单,因此OTA卡菜单下载的管理主要是对不同卡的SIM指令及OTA指令的分析、使用和组合。
3 空中下载通用性分析
实现OTA菜单下载的基础载体是文件结构各不相同的STK SIM卡。因此目前实现OTA菜单下载的实现方式有2种:(1)规定SIM卡文件结构,要求各卡商统一制定同结构卡。(2)在服务器端为各个不同结构的卡建立不同的OTA空中下载服务系统。
中国移动的“STK卡OTA下载梦网短信业务菜单实现方案”采用的是第一种方式。这种方式要求卡商必须修改卡的文件结构,需要较大投资;第二种方式使平台服务商疲于应付,要经常修改程序,并且程序的稳定性、可维护性受到影响。因此我们考虑设计一个通用的OTA空中下载服务器,利用参数设置指导SIM卡指令及OTA指令组合,通过一个通用系统服务于各种结构的STK SIM卡。
通用OTA空中下载系统的主要特点及设计目标就是能够对各种不同厂商的STK卡及采用浏览器方式的SIM卡进行统一管理,甚至能够对当前非常有发展潜力的JAVA卡进行统一的管理。统一管理不需要卡商修改卡的文件结构,当系统需要支持新的OTA卡时,也不必重写系统,提高了系统的可扩展性和代码重用性。这种通用性为OTA系统的设计者和运营商及用户都提供了极大的便利。
在实现对各种OTA卡进行统一的管理之前,先要了解OTA指令的构成。
每个OTA指令都是由1条或多条SIM卡指令组合而成。这些SIM卡指令由GSM11.11规范中规定的基本的文件选择指令和读写指令组成。GSM11.11规范中规定的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个字节,用于标识指令的类别,在GSM系统中,为“A0”;INS为指令代码,代表各种对SIM卡操作的指令;P1、P2、P3为参数,用于指明读取位置、口令长度和口令级别;DATA为输入的数据。
大部分OTA卡使用Linear fixed类型的文件结构来存储菜单并记录指向执行代码的指针,使用Transparent类型的文件结构来存储执行代码。但每个卡商的WIB卡或普通STK卡使用的文件ID、每个文件的具体定义以及操作方式都有所不同,如菜单的技术定义、执行代码指针的格式等。
用户的请求基本上可以分为8种。服务器每收到一种请求就启动相应的OTA指令生成方法,这些指令生成方法实际上就是将15条基本命令中的几条进行组合。这15条基本命令中最常被用来组合OTA命令的是SELECT、UPDATEBINARY和UPDATERECORD。根据用户不同的请求,每条基本命令的P1、P2、P3以及输入的数据(即DATA域)也不相同。正是命令与参数的不同组合满足了各种用户请求。
通过以上分析,可以为各个相同结构的卡建立卡指令模板,并为卡指令、OTA指令及应用建立映射关系。当出现新卡或新功能时,建立新模板与新映射关系即可驱动新的功能,从而达到服务的通用性。
4 通用下载服务器的设计与实现
本文设计开发的“通用OTA空中下载系统”是以中国移动通信STK卡OTA下载梦网短信业务菜单实现方案为基本需求,以通用性为特点进行设计的一种STK菜单OTA空中下载系统。该通用OTA空中下载系统结构示意图如图2所示。
系统基本由以下几个模块组成。
(1)通信模块:一端负责与移动运营商的短消息网关进行通信,另一端与OTA指令处理模块通信。
(2)OTA指令处理模块:负责处理及生成OTA指令,并与服务管理模块通信,以获得相关的用户、SIM卡及相关业务等数据,完成卡、用户、功能与指令的映射,生成最终发送的OTA指令。
(3)卡模板处理模块:组织、存储和管理各结构的卡指令及与各种用户需求功能的映射,将一批具有相同的文件结构、OTA相关算法及特殊实现的卡归为一类,并将其相同之处提取出来,形成卡模板。将批量的数据导入与个别数据更新相结合,对STK卡进行管理。STK卡信息管理分为卡模板管理和卡数据管理。本模块与OTA指令处理模块是实现OTA服务通用性的核心模块。
(4)业务生成模块:完成对提供给用户的业务管理,包括:应用类别管理、新建应用、更新应用、应用浏览,并且对用户需求及交易服务进行规范化、结构化和计量化处理。
(5)SIM卡管理模块、用户管理模块和配置管理模块分别对SIM卡、用户、服务器及服务供应商的特殊性进行实体数据与后台服务器数据的一致性管理。
该系统的服务器采用面向对象方法设计,用C++语言实现。以OTA指令处理生成模块为例,其主要功能是根据用户的请求来生成相应的OTA命令。程序中共定义了6种OTA指令生成方法,分别是MakeDelMenuCommand、MakeAddMenuCommand、MakeModListCommand、MakeAdnCommand、MakeNRCommand、MakeUMACommand。在类class CsimCardCommand中,将最基本的SIM卡指令生成模块单独提取出来,设计为一个CSimCardCommand类,它独立于OTA指令的生成部分。当用户提出某功能申请时,程序根据卡指令映射表得到SIM卡指令生成方法和这些指令所需要的一些固定的参数(P1、P2、Data等),并将其作为该类的构造函数,返回的是生成的基本的SIM卡指令,将这些指令字符串连接起来,就是OTA指令。这样做提高了代码的复用性、可读性和系统的稳定性。
卡指令映射表描述了与具体动作相对应的指令,每种相同结构的卡有相应映射。如果需要支持新的卡商的SIM卡,只需配置此卡商所对应的指令映射,由程序读取,即可完成。这样就实现了通用OTA空中下载系统的通用性,可支持各种WIB卡或普通STK卡。
参考文献
1 王骥.OTA服务器的实现与应用.北京邮电大学硕士学位论文,2003
2 刘杰,王春萌,范春晓.移动电子商务及WPKI技术.北京邮电大学学报,2002;(2)
3 WAP组织论坛著,候春萍译.WAP无线应用协议.北京:机械工业出版社,2000