天道酬勤

博观而约取,厚积而薄发!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CDMA写码与鉴权(转载)

Posted on 2010-04-29 15:51  Happy Coding  阅读(508)  评论(0编辑  收藏  举报

HLR是HOME LOCATION REGISTER的缩写,负责管理CDMA终端用户的开户数据;AC是AUTHENTICATION CENTRE的缩写,负责存储着终端用户鉴权秘钥及算法,以防止无权用户接入系统,保证通过无线接口的终端用户通信的安全。
在HLR/AC中与CDMA终端用户有关的数据包括IMSI、MDN、ESN、A_KEY等:
(1)        IMSI:International Mobile Subscriber Identity的缩写,是移动用户全球唯一的识别:
a. 由15位十进制数字组成,采取E.212编码:
IMSI=MCC(3位)+MNC(2位)+MSIN(10位),其中MCC为国家代码,MNC为运营商代码,MSIN为Mobile Subscriber Identification,移动用户识别码;
b.由运营商负责分配。
(2)        ESN:Electronic Serial Number的缩写:
a. 由32比特组成;
b. 是唯一标识CDMA终端的序列号,由终端设备制造商负责分配并写入终端,一般在终端机身及包装上都有标识。
(3)        MDN:Mobile Directory Number:,移动用户号码簿号码
a. 由十进制数组成,采用E.164编码;
b. 由运营商负责分配给终端用户使用。
(4)        A_KEY:Authentication KEY,鉴权密钥
a. 支持10进制和16进制两种格式。A_KEY是一个20位的十进制数,最大值为18446744073709551615或16位的16进制数FFFF FFFF FFFF FFFF,HLR/AC中存放的一般为16进制的16位数;用于校验及加密目的,某些CDMA终端要求A_KEY一定要输入26位的十进制数,其中后6位由前20位和手机的ESN根据CAVE算法算出。
b. 当需要鉴权时才需要设置A_KEY,A_KEY具体值由运营商确定并负责写入终端,但如需要,也可以由终端设备制造商根据运营商的要求事先在工厂写入;
NETWORK SUBSYSTEM:基站子系统,网络子系统(NSS)主要包含有CDMA系统的交换功能和用于用户数据与移动性管理、安全性管理所需的数据库功能,它对CDMA移动用户之间通信和CDMA移动用户与其它通信网用户之间通信起着管理作用。NSS子系统与终端用户有关的数据有NID、SID等;
(1)        NID与SID
a. NID:系统设别码、SID:网络识别码,在CDMA网中,移动台根据一对识别码(SID,NID)判决是否发生了漫游。
b. 系统识别码(SID)包含15比特, 一般每个移动本地网分配一个SID号码,由运营商负责分配;
c. 网络识别码(NID)由16比特组成,NID一般在本地网范围内进行管理,由运营商负责分配;
3、        BSS
BASE STAION SUBSYSTEM:基站子系统,它通过无线接口直接与移动终端相接,完成无线资源管理、无线接续等功能,BSS子系统与终端用户有关的数据主要CHANNEL:
(1)CHANNEL:
a. 频点号,指网络运用的频点  如:283、201
b. 由运营商负责分配;
c.终端设备制造商在发货前一般会把频点预置进手机;
4、        无线终端(MS/TERMINAL)
在CDMA终端上需要设置的数据有ESN、A_KEY、IMSI、HOME SID、NID、CHANNAL等。参数说明见上。

CDMA手机的序列号称为ESN(俗称电子串号),由手机生产厂商写入每一台手机,并且每台手机各不相同,它由8位十六进制字符组成。ESN定义是这样的:ESN是唯一能识别一个移动台设备的32比特的号码,每个双模移动台分配一个唯一的电子序号,由厂家编号和设备序号构成。它能够在无线系统中唯一地识别移动台,就跟身份证一样。对应于一个ESN,可以分配一个唯一的手机号码。ESN在CDMA中的主要作用用来识别移动设备的。所谓一个ESN分配一个手机号码,那是针对机卡一体的手机而方,而在韩国、日本和美国都是使用机卡一体的CDMA手机。
       中国联通于1999年首先提出了在CDMA系统中引入智能IC卡的概念,即所谓的机卡分离技术。通过机卡分离技术,将与用户相关的信息、鉴权算法及与安全相关的信息保留在智能卡上,这个卡叫做R-UIM(Removable User Identity Module),也叫做UIM卡。
为了使UIM卡真正做到可以不依赖于一部特定的手机,可随意插入任何手机上使用,因此给每个UIM卡定义了一个ID号,即UIM-ID,其长度为32bit,与移动台的ESN长度一致。在机卡分离的手机中使用UIM-ID,代替原来的ESN进行相关操作,将可以避免因为机卡分离而引起空中接口的修改。尤其重要的是,在UIM规范制订的过程中,充分利用了SIM卡发展到今天已经具有的物理特性、电气特性和逻辑特性。因此在一定程度上可以说UIM卡和SIM卡是一样的,可以看成是SIM卡中增加与CDMA操作有关的参数、命令、鉴权算法而成,当然对于只支持CDMA一种系统操作的UIM卡,可以不包含与GSM相关的内容(联通的UIM卡就是这样的类型)。
        因而UIM卡在CDMA系统中所起的作用与GSM系统中的SIM卡所起的作用极其相似,是一种安全机制。用户的签约数据、网络参数、鉴权算法以及鉴权过程中使用的密钥都保存在UIM卡中,使用户可以安全、方便地使用CDMA网络提供的各种服务,可以避免由于个别用户盗用号码而带来的经济损失。
        另外CDMA手机还通过国际移动台标志符(IMSI)来进行识别。IMSI最多由15个数字字符组成。中国现使用15位的IMSI,由MCC(移动业务国家代码,中国是460)、MNC(移动网码CDMA是01)、MSIN(移动台识别码,又称为MIN码,由10位数字组成,由运营商分配)组成。目前联通是通过IMSI和手机号建立对应关系的,即IMSI和手机号是一一对应的。
       前面说了那么多伪专业术语。各位一定读得头昏眼花,现在我们不妨把这些理论引入手机上做一个说明。在我们熟悉的GSM系统中为保证通信的保密性和安全性,在系统内部,每个用户均有三个号码,即移动用户号码(MSISDN)、用户识别号(IMSI)、设备识别码(IMEI)。实际上在CDMA手机中也是这样的,比如三星X199手机按MENU再按6按*号键输入密码000000即可进入服务模式,在这里你可以看到ESN(其实就是UIM-ID,它会随着UIM卡的改变而改变),然后还能看到10位数字的MIN码(该码前两位无为09,为北美IFAST组织分配给中国联通的运营商识别码,最后四位通常为UIM卡最后四位的号码)。而且在该模式里你也能看到自己的手机号码。这个服务模式里显示的其实就是UIM卡里用户的一些数据,该数据会随着UIM卡的改变而改变。而且与GSM的SIM卡一样,网络也仅对用户号码进行检测而不具体识别手机型号。
终端放号流程简介
1、        准备阶段:
step 1:终端设备制造商将终端发到运营商处,发货数据包含SN、ESN等数据,如运营商要求,终端出厂时会预置A_KEY数据与频点数据
step 2:运营商根据发货数据,为该批手机分配IMSI、A_KEY、MDN等数据;
step 3:运营商负责在HLR中倒入数据:IMSI、MDN、ESN、A_KEY等;
step 4:运营商根据导入HLR的数据,建立ESN、IMSI、MDN的对应关系;
step 5:终端发放到营业厅或分销商处,等待销售给最终用户,同时需要提供A_KEY、ESN、IMSI、SID、NID、CHANNEL等数据;
step 6:运营商给营业厅或分销商提供可以放号的MDN资源;
2、        开户阶段:
step 1:最终用户到营业厅或分销商处购买终端;
step 2:分销商或营业厅的营业员要求用户选取MDN及补充业务;
step 3:营业员根据终端的ESN索引到IMSI,然后将ESN、IMSI及用户选定的MDN、补充业务等信息传送到运营商处,运营商在HLR系统输入上述数据,建立起MDN与IMSI的对应关系。
step 4:营业员再根据ESN将A_KEY、IMSI、HOME SID、NID、CHANNAL等数据写入到终端中。step 3与step 4可以同时进行。为加强保密工作,A_KEY一般在准备阶段由运营商或终端设备制造商负责预先写入。
step 5:数据写入成功后,营业厅拨打电话进行测试,无误则可以交给最终用户使用。
网络参数的基本交互过程如下 :

1)手机在开机或者拨打电话时,把IMSI和ESN上报给MSC.

2)MSC以IMSI为索引检测数据库,发现没有相关记录,MSC发送登记请求到HLR,试图获取相关信息。


3)HLR以IMSI为索引,进行数据查询,如果数据有效,就把查到的MDN,用户签约信息等下发给MSC,否则,直接拒绝。


4)MSC获得了MDN和其他一些签约信息,就可以进行相关的业务处理,这个MDN可以作为主叫号码显示给被叫用户,或者填写在话单中。


5)在用户做被叫时,GMSC将通过被叫的MDN到HLR中去查询当前用户在哪个MSC下.当前为用户服务的MSC最终会以IMSI作为标识下发寻呼消息(paging),从而找到用户。