Re: 短信业务与基于智能卡的业务
3. 基于智能卡的业务
3.1智能卡(Smart Card)简介
以下仅对GSM所使用的SIM卡作简单介绍:
使用SIM(Subscriber Identity Module)卡的最初目的是,用一种安全、可靠的方式标识一个特定移动用户对网络的连接。为了达到这个目的在卡内存储了国际移动用户识别码(IMSI)和用户密钥,这两组号码对每个用户而言是唯一的。只要用户终端不关机,且在服务区内,SIM卡就一直保持着与网络的连接,正是因为有这种具有认证与定位功能的连接,使得用户终端可以在全世界不同运营商的网络间进行漫游。从移动运营商的角度来看更重要的是,SIM卡能跟踪与记录用户的网络使用情况和漫游行为,从而能够准确地进行计费。
SIM卡实质上是一个微处理机。多数SIM卡具有16K字节内存,CPU运行速度为每秒二分之一MIP(Million Instruction per Second 每秒百万条指令),由于SIM卡的运算能力和内存容量有限,其卡片操作系统(COS:Card Operation System)和应用程序必须使用最简洁的代码。目前128KB内存的SIM卡已面市,32KB和64KB内存的SIM卡已开始大量商用。
我们可以将SIM卡看成是世界上最普遍使用的微型计算机,和至今还没有得到充分利用的支持移动数据增值业务应用的开发平台。
3.2 SIM卡应用的提出
移动网络在技术与理念上不同于Internet,运营商在移动网络中投入了大量资金。一方面为了维护网络安全和正确收费他们严格的控制着SIM卡;另一方面为了吸引CP、SP加入到移动增值业务的产业链,他们又不得不在一定程度上开放SIM卡,因此他们逐渐为开发SIM卡的应用打开了大门。
如果任何人所开发的应用程序均可加载到SIM卡中,则它就变成了一个不可信任的计算机了。首先加载到SIM卡中的应用程序需符合标准,STK为SIM卡应用程序开发和在卡内运行提供了标准,但在一般情况下并不是凡是符合STK标准的SIM卡应用程序均可加载到SIM卡中运行,移动运行商为确保SIM卡的安全,由笫三方开发的应用程序须经运营商的测试、认可后才可加载到SIM卡中运行。
3.3 SIM卡应用开发工具箱(STK)技术
SIM卡应用开发工具箱(SAT或STK SIM Application Toolkit)亦称为SIM卡应用程序开发包是GSM第二阶段(GSM PhanseⅡ+)提供的一种扩展功能。引入STK功能后使得移动台除了可以提供GSM的各种业务与应用外,还可以提供SIM卡专门提供的业务与应用。
STK实质上是一种小型编程语言,它允许在SIM卡中运行自己的应用软件。支持STK的SIM卡不再是通常使用的16KB内存容量的SIM卡,而是基于JaVa或C语言编程具有32KB以上内存容量的SIM卡。由于内存容量的扩大,使得在SIM卡中可以存储相应的业务与应用信息。
SIM卡应用程序的编程方法,可分为微浏览器(USAT解析器)编程和可执行程序(applets)编程两大类。关于编程方法由于篇幅所限不作展开。
STK/UTK技术采用Client/Server方式实现,其客户端应用程序置于手机的智能卡内;服务器端应用程序置于网络侧的STK/UTK服务器内。手机通过短消息承载通道访问STK/UTK服务器,动态下载新的SIM卡应用程序或数据,更新老的应用程序或数据。
3.4 SIM卡应用程序开发包API:主动命令与事件下载
在SIM卡中引入STK技术之前,移动台与SIM卡之间的通信方式为:由移动台给SIM卡发送命令(称为APDU Application Packet Data Unit),SIM卡在执行完命令后,向移动台返回确认信息。由此可见移动台与SIM卡之间的关系为主/从关系,这种主/从关系不利于开发由SIM卡提供的业务与应用。
SIM卡开发包的应用程序接口(API)创建了SIM卡与移动台之间的交互规则,该交互规则用两种通信方式来表示,两种通信方式之区别在于谁首先发起会话。若由SIM卡首先发起会话,要求移动台做某件事情,该通信方式被称为主动命令(Proactive Commend)。若由移动台首先发起会话,将所发生的事件告诉SIM卡,该通信方式被称为事件下载(Event Download)。这两种通信方式共同组成SIM卡开发包的应用程序接口(API),SIM API亦可视为是SIM卡应用与外部(移动台、网络服务器等)的接口。
3.4.1 主动命令
主动命令是来自SIM卡应用程序开发包的命令,其目的是请求移动台为SIM卡应用做某件事情。截止2001年底在ETSI TS 102.113中规范了31条主动命令,
3.4.2 事件下载
在主动命令中SIM卡应用通过SET UP EVENT LIST命令向MS注册自己所关心的事件。当MS出现这些事件后,即向SIM卡发送事件下载信息(一种APDU)。目前已规范的SIM卡可用事件共19个。
利用STK API的主动命令和事件下载可以组成STK的多种基本功能。
3.5 STK的基本功能
STK基本功能列举如下:
(1) MS支持STK的功能下载,使SIM卡得知MS对STK的支持能力;
(2) 在MS中建立SIM卡应用安装菜单。在MS中有很多菜单,这些菜单由MS制造商提供,各具特色。而STK所提供的安装菜单存储在SIM卡中,与用户所使用的MS无关。
(3) 由用户操作,调出一组用标题与图标标识的菜单选项,由用户从中选择一项;
(4) SIM卡通过主动命令询问MS所处环境有关的信息,例如:当前移动台所处的基站小区、接收信号强度等网络信息。SIM卡借助这些信息来完成基于地理信息的应用,例如当用户查询用户所在地附近的医院时,需要同时有MS的定位信息发往网络服务器。
(5) SIM卡主动命令使SIM卡发起由MS执行的动作,例如:显示SIM卡送给MS的文本、发送短消息、发起一次话音呼叫等;
(6) SIM卡可以查看用户的某些呼叫,并进行阻塞或重新路由。例如某一企业的专用SIM卡可以只允许其短信上传到企业的服务器中或者长途呼叫只能接续企业的外地分公司或办事处。
(7) 向用户播放各种信号音或提示铃声;
3.6 基于STK/UTK技术的主要应用
STK技术的最大贡献在于:利用STK所提供的基本功能作为业务构件,可以开发出基于SIM卡的各种业务与应用。SIM卡生产厂家可以根据用户(一般指移动运营商)的要求,在SIM卡中预置程序,实现用户所需的一些订制功能。即它为SIM卡的增值业务提供了一个简单、易操作的开发平台。仅需移动运营商或SP/CP在SIM卡上进行开发,在网络服务器的配合下可以完成丰富多彩的各种业务与应用。