用户卡的发展变革(一)

摘要:全球手机用户总数接近30亿,用户卡在其中扮演着举足轻重的角色。作为一类特殊的智能卡,用户卡现已集中了智能卡领域的多项先进技术,推动着技术和标准化的发展,丰富着移动用户的生活。随着多应用、非接触智能卡技术日趋成熟及用户卡性能的大幅提升,用户卡除了承载传统的电信应用外,还可以承载其它的非电信应用。本文介绍了用户卡的发展历程,探讨了用户卡技术的重要研究领域,并提出了完整的用户卡生命周期管理概念。

1  引言

据权威机构统计,2007年中国手机用户数量达到5.4亿,全球手机用户总数接近30亿,手机的迅速普及在很大程度上得益于用户卡技术的发展。在现代移动通信网络中,用户卡与手机共同构成了为客户提供通信业务和信息服务的用户终端。其中,用户卡除了保障用户通信安全外,还为用户提供数据存储和各类增值服务。

用户卡是一类特殊的智能卡,存有认证客户身份所需的所有信息。用户卡具备智能卡的几个基本特征:1)参与自动电子交易;2)提高系统安全性;3)不易伪造或复制;4)安全存储数据;5)支持一定的加密算法和安全功能。

在GSM环境中,用户卡通常只包含单一的电信应用——SIM(Subscriber Identity Module,用户识别模块)应用,因此简称为SIM卡。如今的用户卡不再只包含传统的电信业务,随着多应用、非接触智能卡技术的日趋成熟及用户卡性能的大幅提升,用户卡正逐渐改变着用户的使用习惯,极大程度上拓展了移动运营商的业务范畴。

用户卡之所以能迅速平稳地普及,一定程度上得益于标准化工作顺利出色的进展。目前同用户卡相关的标准化组织包括:1)ISO 7816 WG4、USB Forum、JavaCard Forum;2)ETSI SCP;3)3GPP、3GPP2、OMA等。

一张小小的用户卡,正在发挥着前所未有的作用,在不久的将来,用户卡将进入用户生活的方方面面,为用户提供方便、快捷、安全的各类应用服务。

2  移动通信应用

2.1 GSM网络

在GSM网络环境下,用户卡保存:1)移动运营商规定的网络应用参数(如语言选择、位置信息);2)用户识别信息(如Ki、IMSI);3)用户个人数据(如ADN、SMS、PIN、PUK)。用户鉴权登录GSM网络的过程参见图1。

图1 用户卡在GSM网络中的鉴权过程

1999年,ETSI引入了STK[1](SIM Tool Kit,SIM开发包),应用驻留在用户卡上,通过标准接口调用手机提供的服务。

中国移动在用户卡发行中已经大量采用了STK技术,为用户卡提供了建立菜单、显示(输入)信息、发送短信、建立呼叫等能力。中国移动可以凭借STK功能在卡片中建立完善的菜单结构,让用户方便、快捷地获得服务,如查询天气、航班、股票信息等,也可以在应用中直接呼叫客服中心。用户使用STK应用时,可以在STK菜单的指引下逐级进行操作。由于这些STK应用是建立在用户卡上的,完全受中国移动控制,中国移动可以根据市场需求为用户提供更多的服务,从而增加语音通话之外的更多营业收入。

遗憾的是,STK应用的用户界面不够友好,提供的功能也相对有限。SCWS(Smart Card Web Server)技术使得用户卡更像是一个通用的计算机平台,用户可以借助手机内置的浏览器通过HTTP协议访问用户卡中的内容,势必会大幅提升用户感受。

2.2 UMTS网络

UMTS环境下的用户卡支持多应用,称为UICC卡(Universal Integrated Circuit Card,通用集成电路卡),其中用于3G网络鉴权的应用称为USIM应用,因此也简称为USIM卡。

为了实现GSM网络向UMTS网络的平滑过渡,在设计鉴权算法时仍然采用“挑战/应答”的方式。不同之处在于,网络向用户发送的“挑战数据”中包含一个鉴权令牌AUTN,用户可以根据收到的AUTN对网络进行鉴权,从而弥补了GSM网络单向鉴权的不足。另外,UMTS引入了运营商可控的密钥OP(Operator Parameter),并对用户卡和网络侧鉴权算法的强度进行了提升。

2.3 LTE网络

从用户卡的支持类型上,LTE采用USIM卡作为用户卡接入,出于安全考虑,SIM卡不可接入LTE网络。

从用户卡鉴权机制上,LTE的鉴权过程和UMTS中的鉴权过程类似,继承了UMTS中五元组鉴权机制的优点(实现了用户卡对网络的认证),并派生出较多层次的密钥(参见图2),分别实现各层的保密性和完整性保护,提高了通信中的安全性。

图2 LTE环境下的密钥层次关系

从底层网络的支持上,LTE的新特性也给USIM卡提出了更多新的需求——需要存储更多的数据,如对H(e)NB白列表的支持、新的全球唯一临时标识GUTI的支持、上次访问和注册过的TAI的支持等。

从对上层应用的支持上,由于带宽和移动性的提高,更多的应用会应用于LTE环境中。因此,LTE对USIM卡的需求也不仅仅局限于鉴权功能上,同时也包括对多应用的支持,以便为上层业务提供更多的平台服务。

3  多应用卡平台及操作系统

3.1 多应用用户卡面临的机遇与挑战

目前用户卡主要承载传统的电信应用,但随着多应用智能卡技术的日趋成熟,用户卡还可承载其它的非电信应用,例如:公交应用、金融应用、社保应用、医疗应用等。通过普及多应用卡,既能方便普通客户的生活,也能大力拓展中国移动的业务范畴。

但是,随着用户卡承载应用的增多,对用户卡管理的难度也随之增大。目前,通常借助读卡器对用户卡上的应用进行管理,在将用户卡发放给客户之前,根据客户的需要,在用户卡中内置与客户需要开通应用相关的数据,并对这些数据进行初始化。当需要激活一个新的应用,或对已有业务进行暂停、取消暂停或终止操作时,需要将用户卡插入只有代理商持有的读卡器中,才能对其进行相关应用的管理。

由此可见,当客户领取用户卡后,网络侧无法对用户卡上的应用进行动态的管理,也不能对用户卡上的应用状态进行实时监控,这可能引起对用户卡上应用失控的问题。另外,当用户需要激活、暂停、取消暂停或终止相关应用时,需要去相关代理点进行相关业务的办理,这也给用户的操作带来很大的不便。Java卡技术、CMS2AC框架和各类多应用操作系统的出现,正在逐步改善多应用用户卡的使用环境。

3.2 Java卡技术

3.2.1 发展历史

1996年,Schlumberger公司向世人展示了第一个具备Java字节码解释器功能的COS(Chip Operating System,芯片操作系统)。虽然该版本COS只提供有限的方法和功能,但却揭开了Java卡快速发展的序幕。同期,Visa公司同Integrity Arts公司开始协作开发一款开放式COS。

不久,Sun公司收购了Integrity Arts公司,并起草了JavaCard API v1.0规范。Gemplus和Schlumberger公司联合其它的智能卡公司共同成立了JavaCard Forum(http://www.javacardforum.org),并于1997年底发布了JavaCard API v2.0规范。JavaCard API规范后续又经历了几个版本的修订,2008年3月,JavaCard API v3.0规范正式发布。

3.2.2 Java卡

Java是一种解释性语言,目标是“一次写成,随处运行”(Write Once,use anywhere)。Java卡受到自身能力的限制,对Java语言进行了裁剪,只实现了全部功能的一个子集。Java卡架构参见图3。

3 Java卡架构

Java卡程序以Java Applet形式出现,Applet调用卡上的Java类库(通常保存在ROM中)。用户自定义的类库通常加载到E2PROM中。Java卡虚拟机运行在各类硬件环境上,了解运行Java字节码所需的所有资源信息,屏蔽了不同硬件平台的差异。

Java卡的诞生使虚拟机技术得以应用到用户卡中,从而打破了传统用户卡封闭开发的模式。Java卡支持在同一张用户卡上放置几个不同的应用程序,而且各个程序间相互独立,以“防火墙”相隔离。另外,在发卡前、发卡时和发卡后都可以安全、动态地下载应用程序,包括修改、删除和增加。

3.3 CMS2AC

CMS2AC是中国/通用移动安全、多空间/应用卡(China/Common Mobile Secure multi-Space & Application Card)规范的简称,CMS2AC的提出,同时解决了业务需求(其它行业应用同传统电信应用的融合)和技术需求(提供应用隔离和安全下载服务)。

3.3.1 卡片架构

如图4所示,CMS2AC卡架构包括:运行时环境、可信任框架、安全域、API和应用。

3.3.2 生命周期模型

CMS2AC中用户卡的生命周期分为5个状态(各状态的变迁情况参见图5):

1)OP_READY:表明运行时环境已经准备就绪,发卡方安全域作为当前选定应用可以接收、执行和响应APDU命令。

2)INITIALIZED:管理卡生产的状态,从OP_READY状态到INITIALIZED状态的变迁过程不可逆。


图4 CMS2AC卡片架构

3)SECURED:作用于发卡后,可以执行同发卡后卡行为相关的发卡方安全策略,例如应用加载、安装和激活。从INITIALIZED状态到SECURED状态的变迁过程不可逆。

4)CARD_LOCKED:允许发卡方禁用安全域和应用的功能。从SECURED状态到CARD_LOCKED状态的变迁过程可逆。

5)TERMINATED:标明卡片及卡生命周期的结束。从其它状态到TERMINATED状态的变迁过程均是不可逆的。当卡片处于TERMINATED状态时,所有的APDU指令都将路由到发卡方安全域,发卡方安全域只对GET DATA命令作出响应。


图5 卡片生命周期各状态间的变迁关系

3.3.3 卡管理器

作为卡片的集中管理组件,卡管理器承担多项职责,卡管理器可以视为CMS2AC环境或发卡方安全域。

3.3.4 安全域

发卡方、应用提供方和控制机构均可在卡上定义各自的安全域,分别对应主安全域(ISD,Issuer Security Domain)、辅助安全域(SSD,Supplementary Security Domain)和控制机构安全域。其中,控制机构安全域对卡上加载的所有应用代码强制执行安全策略。

各类安全域均支持安全服务,如密钥管理、加密、解密、生成数字签名和验证安全域所有者。安全域属于特殊的应用,因此具有应用属性,如应用AID、应用权限和生命周期状态(ISD继承卡片的生命周期状态)。每个安全域需要实现一个安全信道协议(参见3.3.5节),定义安全域所有者和卡片通信时的安全策略。

安全域为应用提供访问安全域服务的接口,定义好的外部APDU接口确保所有安全域的表现一致,因此可以通过同一个卡外管理系统来统一管理所有的安全域。当发卡方、应用提供方和控制机构这些卡外实体要求使用独立密钥时,需要为其建立单独的安全域。

3.3.5 安全通信协议

CMS2AC提供下述与报文相关的安全服务:

1)实体鉴权:卡片或卡外实体通过密码交换的方式向其它实体提供自身的鉴权;

2)完整性及鉴权:接收实体(卡片或卡外实体)确保来自发送实体(卡外实体或卡片)的数据的确来自一个鉴权实体,而且数据的顺序和内容没有被改动;

3)机密性:从发送实体(卡外实体或卡片)发往接收实体(卡片或卡外实体)的数据不会被非授权实体看到。

3.4 Multos

Multos由Mondex International公司最先发起,是一种支持EMV、身份证与其它多种应用的COS。目前,Multos是一个开放标准,由Multos联盟(成员涉及的领域包括:智能卡生产、芯片制造、支付卡方案设计、芯片数据准备、卡片管理、个人化系统及智能卡解决方案)负责维护和开发。

Multos的设计目标包括:1)提供高安全级别平台;2)提供平台无关的编程语言和应用架构;3)卡上各应用以安全可控的方式共享卡片内存和数据;4)卡片发行后可以下载新的应用,同时阻止非授权应用的下载。Multos卡的架构参见图6。

图6 Multos卡架构

3.5 其它技术

IBM公司在20世纪90年代初开发了一款多应用卡(MFC,Multi-Function Card),后续又不断增加其安全特性和新功能。IBM MFC最突出的特点在于:在卡片发行后,仍然可以利用脚本协议更新或下载E2PROM中的应用程序。IBM公司1999年后不再提供智能卡,并将MFC技术授权给几家卡供应商。

Wolfgang Salge和ZeitControl Cardsystems公司于1996年首次提出BasicCard的概念。允许开发者利用ZeitControl Basic语言开发应用并下载到BasicCard上。卡片的ROM区域保存有Basic解释器,可以方便程序的执行。BasicCard利用了Basic语言的易学性,并对APDU指令进行封装。

位于西班牙的SERMEPA公司于1994年开发了“TIBC”操作系统,用于运行Visa Cash电子钱包产品。TIBC现在更名为Advantis,用于支持EMV和CEPS电子钱包。

操作系统巨人微软公司在1999年正式宣布进军智能卡领域,推出了WfSC(Windows for Smart Cards,智能卡视窗系统)。但是,WfSC并没有达到预期的效果。于是,微软在2004年再次推出了全新的.NET卡平台,该平台两个突出的特点是:1)灵活的客户端-服务器关系;2)认证。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值