最近在研究android读取SIM联系人的东东,结果越看越深。怎奈自己才疏学浅,还是想巩固下基础吧!
关于USIM卡和SIM卡,在android系统读取卡信息时加以区分,这里有必要对这些知识加以梳理。
【摘要】文章介绍了GSM和WCDMA系统中不同制式的终端和不同类型用户标识模块(SIM、USIM、ISIM)之间的兼容关系。主要讨论了WCDMA和GSM系统之间实现国际漫游的两种不同操作模式,分析了不同模式下具体的呼叫信令流程和不同的加密方式。
【关键词】2G/3G互操作 WCDMA GSM 国际漫游 鉴权加密
我们知道GSM和WCDMA都是基于GSM-MAP核心网,GSM网络可以平滑演进到WCDMA系统。目前欧洲、亚洲、非洲有很多国家已经建立WCDMA系统。所谓的WCDMA和GSM之间的国际漫游是指GSM(或者WCDMA)用户漫游到国外的WCDMA(GSM)网络,利用拜访地WCDMA(GSM)网络来为其提供业务服务。
由于各个国家发展的情况存在一定的差异,例如有的国家只存在GSM网络(比如中国),而有的国家则只建设了WCDMA网络(例如日本),而没有GSM网络。为此3GPP TS 22.100规范指出,WCDMA终端应该可以支持通过GSM的SIM卡来访问WCDMA网络。当然此时WCDMA网络只能为用户所提供象GSM系统所能提供的那些业务(WCDMA的特有业务,例如视频、高速数据通信无法提供)。用户是否可以通过GSM的SIM卡来访问WCDMA网络由该WCDMA网络运营商控制。同时3GPP TS 22.101规范指出UMTS(Universal Mobile Telecommunications System)系统应该允许WCDMA用户通过GSM终端来访问GSM网。
下面我们就这个问题来分析一下要在这两个系统之间实现国际漫游需要什么条件以及一些关键流程。
我们知道在3GPP终端设计中一个重要的环节就是通用集成电路卡(UICC,Universal Integrated Circuit Card)的设计。UICC卡是一种可移动智能卡,它用于存储用户信息、鉴权密钥、电话簿、短消息等信息。
在GSM和3GPP规范中,用户想正常的使用各种业务都必须依靠终端中的UICC卡。如果终端中没有UICC卡,那么用户只能使用紧急呼叫业务(例如110、119)。
用户只需要将UICC卡从一部终端取出并插入到另一部终端中便可以轻松的将用户的签约信息(包括电话簿)从一部终端转移到另一部终端中。
UICC是定义了物理特性的智能卡的总称,UICC和终端的接口都是标准的。
UICC可以包括多种逻辑应用,例如用户标识模块(SIM,Subscriber Identity Module)、通用用户标识模块(USIM,Universal Subscriber Identity Module)、IP多媒体业务标识模块(ISIM,IP Multimedia Service Identity Module)。当然UICC还可以包括其它应用(电子钱包等)。
SIM卡是GSM网络中移动终端所使用的智能卡,它用于存储各种参数和相关用户信息,例如用户签约信息、鉴权密钥、用户的优选信息、以及短信息。应当注意的是尽管我们经常会把UICC和SIM这两个术语互换,其实UICC是指物理卡,而SIM是指UICC卡上存储GSM用户签约信息的一个应用。SIM广泛应用于GSM系统中。
SIM中包括下列信息:
◆国际移动用户标识(IMSI,International Mobile Subscriber Identity):用户身份标识,用于接入鉴权。
◆移动用户ISDN号码(MSISDN,Mobile Subscriber ISDN Number):移动用户的手机号码。
◆密钥Ki、加密算法A3、A8:用于鉴权。
◆移动国家码(MCC,Mobile Country Code)、归属PLMN的移动网络码(MNC,Mobile Network Code):网络标识。
SIM应用在GSM的早期阶段就已经进行了标准化。在3GPP中继续继承了这些规范
(参阅3GPP TS 11.11和3GPP TS 51.011)。
USIM(参阅3GPP TS 31.102)是UICC卡上的另外一种应用。USIM提供了不同于SIM的另外一组参数,它包括用户签约信息、鉴权信息、付费方式、用户短消息等。USIM用于通用移动通信系统(UMTS,Universal Mobile Telecommunication System)网络中,即WCDMA网络中。当终端(包括电路交换功能和分组交换功能)要使用WCDMA业务时,必须使用USIM。很明显,SIM和USIM可以共存于同一张UICC卡中。除了其它信息外,USIM包括下列信息:
◆国际移动用户标识(IMSI,International Mobile Subscriber Identity):IMSI是分配给每个用户的唯一标识,该标识对用户来说是不可见的,而对网络来说是可见的。IMSI作为用户标识用于鉴权目的。在IP多媒体子系统(IMS,IP Multimedia Subsystem)中其私有用户标识等价于IMSI。
◆移动用户ISDN号码(MSISDN,Mobile Subscriber ISDN Number):在该域中存储了分配给用户的一个或者多个电话号码。在IMS中其公共用户标识等价于MSISDN。
◆加密密钥(CK,Cipher Key)和完整性密钥(IK,Integrity Key):这些密钥用于空中接口中数据的加密和完整性保护。USIM单独存储在电路域和分组域使用的密钥。
◆短消息(SMS,Short Message Service):USIM可以存储短消息以及相关的数据,例如发送者、接收者、状态等。
◆短消息参数:该域用于存储与SMS业务有关的配置数据,例如SMS中心地址、支持的协议等等。
◆多媒体消息业务(MMS,Multimedia Message Service)用户连接性参数:该域用于存储与MMS业务相关的配置数据,例如MMS服务器地址、MMS网关地址。
◆MMS用户优选信息:该域用于存储与MMS业务有关的用户优选信息,例如发送报告标志、优先级、到期信息等。
USIM卡和SIM卡相比有如下特点:
◆相对于SIM卡的单向鉴权(网络鉴权用户),USIM卡鉴权机制采用双向鉴权(除了网络鉴权用户外,用户也鉴权网络),有很高的安全性。
◆于SIM卡电话薄相比,USIM卡电话薄中每个联系人可以对应多个号码或者昵称。
◆相对SIM卡机卡接口速率,USIM卡机卡接口速率大大提高(230kbps)。
◆相对SIM卡对逻辑应用的支持,USIM可以同时支持4个并发逻辑应用。
在UICC中还可以实现ISIM应用(参阅3GPP TS 31.103)。ISIM仅用于3GPP IMS系统中。它包括了在IMS系统中用于用户标识、用户鉴权和终端配置的有关参数。ISIM可以跟单独与SIM或USIM共存于一张UICC卡上,当然也可以同时与SIM和USIM共存于一张UICC卡上。
在ISIM中包括的主要参数有:
◆私有用户标识(Private User Identity):在ISIM中只能有一个私有用户标
◆公共用户标识(Public User Identity):在ISIM中可以存储一个或者多个公共用户标识的SIP(Session Initiation Protocol) URI。
◆归属网络域URI:ISIM中存储了包括归属网络域名的SIP URI,用于在注册过程中找到其归属网络的地址。在ISIM中只能存储一个归属网络域名URI。
◆长期加密(Long Term Secret):用于鉴权目的,用于计算终端和网络之间使用的完整性密钥和加密密钥。IMS终端利用完整性密钥来保护IMS终端和代理呼叫会话控制功能(P-CSCF,Proxy-Call Session Control Function)之间SIP信令的完整性。如果信令需要保密,那么IMS终端将利用加密密钥来对IMS终端和P-CSCF之间的SIP信令进行加密和解密。
除了ISIM外,使用USIM也可以访问3GPP IMS网络,但是需要对终端的软件进行适当的修改。由于SIM应用的安全等级较低,所以3GPP IMS系统不允许通过SIM来访问。
目前UICC卡一般同时包括USIM和SIM两个模块,此时称为复合USIM卡(它可以兼容GSM终端和WCDMA终端),如果UICC中只包括USIM模块,那么称为纯USIM卡。
WCDMA终端在机卡接口上具备后向兼容性,兼容USIM卡(复合USIM卡和纯USIM卡)和GSM的SIM卡。
GSM终端兼容GSM的SIM卡和WCDMA的复合USIM卡,不兼容纯USIM卡。
WCDMA双模终端无论插入SIM卡或者USIM卡(复合USIM卡或者纯USIM卡)都可以接入GSM无线网络或者WCDMA无线网络。
GSM终端插入SIM卡或复合USIM卡只能接入GSM无线网络。
SIM卡可以应用于GSM、WCDMA、TD-SCDMA系统中。
USIM卡可以应用于GSM、WCDMA、TD-SCDMA系统中。
如果用户想使用IMS业务,那么在UICC卡中必须同时包括USIM和ISIM,如果只有USIM的话,可以通过修改终端中的软件来实现对IMS的访问(Release 5),在将来的标准中不排除在UICC卡中只需要ISIM即可访问IMS。
TD-SCDMA的USIM卡在非TD-SCDMA手机上的使用问题,我们经过测试,在其它3G手机上,如WCDMA的机型,USIM卡可以作为一张普通的SIM卡使用,进行GSM网络的通话和信息功能,而在非2G手机上,则显示“SIM卡”注册失败。可见USIM卡本身就是一张TD-SCDMA和GSM 的双模卡(在USIM卡卡身上亦有说明),但是只能使用在3G手机如K850i、E51或有“3G版本”存在的行货手机如N73、N95上。
WCDMA是从GSM系统演进而来,它们使用相同的核心网,但是其空中接口部分却有巨大差别,图2是WCDMA R4网络结构图,从图中可以看出GERAN和UTRAN公用同样的核心网。
表1列举了WCDMA和GSM在空中接口上一些最主要的差别:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
从表中可以看出WCDMA采用码分多址方式,用户和信道都是通过不同的码子来区分,也就是说不同的用户可以在相同的频率、相同的时隙中同时进行通信。GSM系统采用时分多址方式,用户和信道是通过不同的时隙来区分,也就是说在某一时刻,一个时隙只能分配给一个用户使用。
在WCDMA中分别用到了信道化码和扰码,其信道化码采用正交可变扩频因子(OVSF,Orthogonal Variable Spreading Factor)来实现,OVSF具有很好的互相关性,即不同码子之间是完全正交的。而其扰码则通过伪随机序列来实现,伪随机序列具有良好的自相关性,即同步时会有很大的峰值。
在WCDMA中其扩频码片速率是3.84Mbps,所以经过调制后其信号带宽为5MHz。WCDMA是码分多址(CDMA,Code Division Multiple Access)频分双工(FDD,Frequency Division Duplex)系统,所以上下行总共占用10MHz带宽。这也是WCDMA称为宽带CDMA的原因。对GSM来说,信息经过信道编码后的最终速率为270.8Kbps,经过高斯最小移频键控(GMSK,Gaussian Minimum Shift Keying)后其信号带宽为200KHz,GSM是时分多址(TDMA,Time Division Multiple Access)频分双工系统,所以上下行总共占用400KHz的带宽。
WCDMA系统采用了二进制移相键控(BPSK,Binary Phase Shift Keying)和四进制移相键控(QPSK,Quadrature Phase Shift Keying),对于BPSK来说就是将每个比特(0或者1)映射成相位0或者π,而QPSK则将两个比特分别映射成相位0、π/4、π/2、3π/4。此时调制信号的频率保持不变。
GSM系统采用的是GMSK调制方式,GMSK属于连续相位调制,是在MSK调制之前加入高斯滤波器,其目的是使调制信号的主瓣滚降的更快。该调制信号的频率是变化的。
分集(Diversity)是为了提高通信系统的可靠性。在WCDMA系统中,利用CDMA固有的抗多径衰落能力,将从不同方向反射过来的多径信号通过RAKE接收机进行最大比合并(MRC,Maximal Ratio Combining),从而将本来对通信可靠性有害(多径信号会造成多径衰落,即频率选择性衰落)的多径信号变成对通信有益的信号。
在GSM系统中采用了慢跳频技术,通俗点说就是将信息分别在不同的频率上进行传输,这样便可以克服由于某一频率一直处于深衰落对信号的影响。
语音编码和信道编码一直是信息论中研究的重点,语音编码就是在可以听懂的基础上编出尽可能低的比特速率。而信道编码是通过增加冗余比特从而保证信息传输的可靠性。
WCDMA系统中的语音编码器采用的是自适应多速率(AMR,Adaptive Multi-Rate)编码技术。WCDMA系统中的信道编码包括卷积码和Turbo(1993年提出)码,Turbo码由于具有较大的交织深度(导致传输延时增加)和超强纠错能力,所以通常用在数据通信环境下。
GSM的语音编码器采用的是规则脉冲激励长期预测线性预测编码(RPE-LTP-LPC,Regular Pulse Excited-Long Term Prediction-Linear Predictive Coding)技术。GSM中的信道编码采用的是卷积码。
通过上面的叙述,可以得出很简单的结论,即当终端处于某种蜂窝网络的覆盖范围内时,终端要想正常工作,其前提条件就是终端必须跟基站必须是同一制式。也就是说当终端处于WCDMA基站覆盖时,该终端必须是WCDMA终端(WCDMA/GSM双模终端当然没有问题);当处于GSM基站覆盖时,该终端必须是GSM终端(WCDMA/GSM双模终端显然没有问题)。
目前WCDMA和GSM之间实现国际漫游的方式主要有两种:
一是在国内办理租机租卡呼转漫游业务;
二是自备双模终端到国外实现GSM和WCDAM之间的自动漫游。
下面我们将分别以中国和日本之间的GSM、WCDMA国际漫游为例进行分析。
当中国GSM用户要漫游到日本时,由于日本是WCDMA网络,所以用户在国内开通了租机租卡呼转漫游业务,在营业厅租用的手机是日本的WCDMA手机,同时将用户的GSM手机号呼转到租用的手机上,这种呼转属于无条件呼转。
假设用户A要去日本,办理了租机租卡呼转漫游业务,其号码呼转到了终端B上,当国内用户C呼叫用户A。
(1) MSC接收到被叫用户号码A后,通过7号信令网向A的HLR发送send_routing_info消息。
(2)在HLR中可以看到用户A已经呼转到了终端B上,此时HLR通过send_routing_info消息将B号码返回给MSC。
(3) MSC分析得知该号码是国际号码后通过向TSMC发送IAM消息,并通过ISC、国际话务中转商送达日本TMSC。
(4) 日本TMSC收到IAM消息后,通过7号信令向终端B的HLR发送send_routing_info消息。
(5)终端B的HLR已知目前为终端B提供服务的MSC,随后向该MSC发送provide_roaming_num消息获取终端B的MSRN。
(6) MSC将终端B的MSRN通过provide_roaming_num_ack消息返回给HLR。
(7) 随后终端B的HLR通过send_routing_num_ack消息将B的MSRN发送给TMSC。
(8) 获知了终端B的MSRN后,TMSC便通过IAM消息进行随后的话务接续。
同理可得当日本WCDMA用户漫游到中国GSM网络时,也可以在其国内办理该业务。
GSM用户通过WCDMA终端访问日本WCDMA网络的简单鉴权、加密过程:
中国用户到达日本开机后,首先发起位置更新过程,日本WCDMA MSC收到中国用户的位置更新请求后,便通过国际7号信令网和中国7号信令网向用户的HLR发起位置更新请求。随后HLR通过鉴权请求消息向日本WCDMA MSC发送Triplets(Kc,RAND,SRES)。此时的鉴权过程跟GSM系统的鉴权一样,即MSC将Kc和RAND下发给终端后,终端利用RAND、Ki通过A3算法得到SERS,并将该SERS返回给MSC,MSC将比较HLR送来的SERS跟终端送来的是否一致。若一致则鉴权通过,HLR会向日本WCDMA MSC/VLR插入中国用户的相关数据,同时将这些信息从旧MSC/VLR中删除。若不一致,则用户被拒绝。
其实在鉴权完毕后紧接着应该进行空中接口加密过程,不过我们国内没有采用。在GSM系统中空中接口的加密是通过Kc和A5算法来完成的,然而当用户漫游到日本后,如上图,对于WCDMA终端和WCDMA MSC都会按照相应的转换函数将收到的Kc转换成CK、IK,从而实现加密和完整性保护,可以看出其传输的安全性提高了。
日本的WCDMA用户漫游到中国后只需更换一部GSM终端就可以了,无需换USIM复合卡。如果用户使用的是WCDMA/GSM双模终端则可以实现自动漫游。我们简单的看看该场景中的鉴权和加密过程。
当日本用户漫游到中国开机后,首先进行位置更新过程,中国GSM MSC收到日本用户的位置更新请求后,便通过7号信令网向用户的HLR发起位置更新请求。注意此时日本的HLR是WCDMA HLR,其存储的是鉴权五元组(Quintets)(RAND,CK,IK,XRES,AUTN),它必须将其转换为三元组(Triplets),即通过CK、IK计算出Kc,通过XRES计算出SERS。随后HLR通过鉴权请求消息向中国MSC发送Triplets(Kc,RAND,SRES)。MSC收到Triplets后通过GSM BSS将RAND发送给GSM终端,终端利用该RAND可以计算出CK、IK和RES,随后终端利用不同的转换函数分别将CK、IK转换成KC,将RES转换成SRES。然后终端将SERS返回给MSC,MSC将从HLR中收到的SRES和从终端收到的SRES进行比较,若一致,则鉴权通过,HLR将用户相关信息插入到GSM MSC/VLR中,并从旧的VLR中删除用户相关信息。完成位置更新过程。若比较结果不一致,则拒绝用户。虽然我国GSM系统空中接口没有进行加密,其实在规范中鉴权完毕后由加密过程,即终端和GSM BSS之间通过Kc进行加密操作。
通过上面的分析我们可以看出由于WCDMA和GSM有着相同的核心网,所以只要运营商相互开通WCDMA和GSM之间的业务,用户只需要更换原来的终端就可以实现自动漫游,不同的是在空中接口加密过程中需要对鉴权组中的参数进行相应的转换以适合空中接口的需要。
注:
@WCDMA 是英文Wideband Code Division Multiple Access(宽带码分多址)的英文简称,是一种第三代无线通讯技术。W-CDMAWideband CDMA 是一种由3GPP具体制定的,基于GSM MAP核心网,UTRAN(UMTS陆地无线接入网)为无线接口的第三代移动通信系统。
@UICC,通用集成电路卡是定义了物理特性的智能卡的总称。作为3G用户终端的一个重要的、可移动的组成部分,UICC主要用于存储用户信息、鉴权密钥、短消、付费方式等信息。UICC引入了多应用平台的概念,实现了多个逻辑应用同时运行的多通道机制。在UICC中可以包括多种逻辑模块,如用户标识模块(Subscriber Identity Module,SIM)、通用用户标识模块(Universal Subscriber Identity Module,USIM)、IP多媒体业务标识模块(IP Multi Media Service Identity Module,ISIM),以及其他如电子签名认证、电子钱包等非电信应用模块。UICC中的逻辑模块可以单独存在,也可以多个同时存在。不同的3G用户终端可以根据无线接入网络的类型,来选择使用相应的逻辑模块。
@TDMA:Time Division Multiple Access 时分多址 。时分多址是把时间分割成周期性的帧(Frame)每一个帧再分割成若干个时隙向基站发送信号,在满足定时和同步的条件下,基站可以分别在各时隙中接收到各移动终端的信号而不混扰。同时,基站发向多个移动终端的信号都按顺序安排在予定的时隙中传输,各移动终端只要在指定的时隙内接收,就能在合路的信号中把发给它的信号区分并接收下来。TDMA是一种为实现共享传输介质(一般是无线电领域)或者网络的通信技术。它允许多个用户在不同的时间片(时隙)来使用相同的频率。 用户迅速的传输,一个接一个,每个用户使用他们自己的时间片。这允许多用户共享同样的传输媒体(例如:无线电频率)。
@CDMA (Code Division Multiple Access) 又称码分多址,是在无线通讯上使用的技术,CDMA允许所有使用者同时使用全部频带(1.2288Mhz),且把其他使用者发出讯号视为杂讯,完全不必考虑到讯号碰撞 (collision) 问题。CDMA中所提供语音编码技术,通话品质比目前GSM好,且可把用户对话时周围环境噪音降低,使通话更清晰。就安全性能而言,CDMA不但有良好的认证体制,更因其传输特性,用码来区分用户,防止被人盗听的能力大大增强。