全球移动通信系统用户漫游到码分多址网络的鉴权方法 【技术领域】
本发明涉及移动通信系统的鉴权技术,特别涉及一种全球移动通信系统(GSM)用户漫游到码分多址(CDMA)网络的鉴权方法。
背景技术
在移动通信系统中,移动台要接入系统,首先要进行鉴权,通过鉴权的合法用户才能接入网络。
其中,GSM网络对GSM用户的鉴权,包括通用鉴权算法A3/A8以及对MS和网络唯一的参数身份密钥(Ki);当SIM卡生成时,将生成Ki并写在卡中;在HLR/AuC中对GSM用户开户时,需保存与SIM卡中保存相同的Ki;Ki不能通过空口传递。
网络侧通过以下步骤对MS进行鉴权:
1、HLR/AuC将生成随机数RAND,并根据Ki和RAND经过A3/A8算法计算出符号响应(SRES)和密钥C(Kc);
2、网络侧通过鉴权请求消息,将随机数RAND发送给MS;
3、MS收到RAND后,同样根据RAND和Ki经过A3/A8算法计算出SRES和Kc,并将SRES返回给网络侧,Kc不需要在空口传递;
SRES=A3(RAND,Ki);Kc=A8(RAND,Ki);
其中SRES为32位(bit),Kc为64位(bit),RAND为128位(bit),Ki为32位(bit)。
4、网络侧收到MS发送的SRES后,将其与自身计算的SRES进行比较,相同则MS为合法用户,否则非法。
另外,CDMA网络对CDMA用户鉴权的方法,包括一个通用的用户鉴权与语音加密算法(CAVE)以及对移动台(MS)和网络唯一的参数鉴权密钥(AKey);当R-UIM卡生成时,生成AKey并写在卡中;在HLR/AC中对CDMA用户开户时,需保存与R-UIM卡中保存相同的AKey;通过共享加密数据(SSD)更新流程,可根据AKey和鉴权随机数(RANDSSD)生成SSD,而SSD是CDMA鉴权最重要地参数之一,只能动态生成。AKey和SSD不能通过空口传递。
当用户第一次接入系统时,必须首先进行SSD更新,以保证HLR/AC与R-UIM卡中的SSD保持一致;否则,鉴权将无法成功;
在SSD更新成功之后,用户再次接入系统时,网络需对用户进行鉴权;由于HLR/AC与R-UIM卡中的鉴权参数完全一致,经过同样的算法,应能计算出相同的结果;否则,表明该用户为非法用户。
网络对用户的鉴权有两种方式:
一种是广播查询鉴权,该方式要求基站(BS)系统支持广播查询鉴权,其对MS进行鉴权的过程为:
1、网络侧通过控制/寻呼信道向本小区下所有MS周期性地广播RAND。
2、MS需要接入系统时,如位置登记、始呼、寻呼响应等,使用当前控制/寻呼信道上RAND计算鉴权结果(AUTHR),并在初始接入消息中发送给网络侧。
3、网络侧根据RAND计算出AUTHR,并与MS发送上来的AUTHR进行比较,相同则MS为合法用户,否则非法。
网络侧计算AUTHR的算法与MS计算AUTHR的算法相同,为:
AUTHR=CAVE(RAND,SSD_A,ESN,AUTHDATA);其中AUTHR为18位(bit),RAND为32位(bit),SSD_A为SSD前64位(bit),ESN为电子序列号,AUTHDATA为鉴权数据,接入类型不同时使用的数据也不同,如在呼叫时根据移动识别号码(MIN)与被叫号码计算,在位置登记或寻呼响应时则仅根据MIN计算。
另一种是独特查询鉴权方式,用该方式对MS进行鉴权的过程为:
1、网络侧生成独特查询随机数(RANDU),并用该RANDU计算出该用户的鉴权结果(AUTHU);并将向MS发送独特查询随机数(RANDU)。
2、MS收到RANDU后也根据RANDU计算AUTHU并返回给网络侧。
3、最后,网络侧将自身计算的AUTHU与MS发送的AUTHU进行比较,相同则MS为合法用户,否则非法。
这种鉴权方式可由MSC在控制信道或业务信道上发起;其算法如下:
AUTHU=CAVE(RANDU,SSD_A,ESN,MIN);其中AUTHU为18位(bit),RANDU为32位(bit),SSD_A为SSD前64位(bit),ESN为电子序列号,MIN为移动识别号码。
目前,通过网络侧增加一个互通和互操作功能实体(IIF)可以支持GSM注册用户使用CDMA网络中的业务以及CDMA注册用户使用GSM网络中的业务,IIF主要完成GSM网络和CDMA网络之间的互通和互操作功能;参见图1,图1为IIF与GSM网络和CDMA网络的连接结构示意图。
其中,CDMA的美国国家标准学会41系列协议(ANSI-41)核心网110中,CDMA鉴权中心(AC)111通过H接口与归属位置寄存器(HLR)113相连,短消息中心(MC)112通过N接口与HLR相连,MC112、HLR113、访问位置寄存器(VLR)114、移动交换中心(MSC)115分别通过Q接口、D接口、D接口、和E接口与IIF相连。
GSM移动应用部分(MAP)核心网130中,GSM短消息业务中心(SMS-SC)132与GSM短消息业务-互通MSC(SMS-IWMSC)131、GSM短消息业务-关口MSC(SMS-GMSC)133分别相连,GSM鉴权中心(AuC)135通过H接口与HLR134相连,SMS-IWMS131、CSMS-GMSC133、HLR134、VLR136、MSC137、服务GPRS支持节点(SGSN)138分别通过E接口、E接口、D接口、D接口、E接口、Gr接口与IIF相连。
IIF120处于GSM MAP核心网和ANSI-41核心网之间,执行ANSI-41信令和GSM MAP信令的转换。
当GSM注册用户使用双模终端漫游到CDMA网络,称GSM注册用户处于CDMA外地模式;此时,对于CDMA网络,IIF可看作该GSM注册用户的CDMA HLR;而对于GSM网络,IIF可看作为服务于这个GSM注册用户的GSM VLR。
处于CDMA外地模式的GSM用户需要被CDMA网络鉴权,鉴权成功后,GSM用户才被允许接入CDMA网络,获得使用网络资源的权利。对于允许GSM用户使用CDMA网络资源的业务,鉴权是最关键的设计之一。
上述的GSM网络鉴权方法和CDMA网络鉴权方法,在GSM网络通过IIF与CDMA网络连接时,都不能对漫游到CDMA网络的GSM用户进行鉴权。因此,出现了GSM用户漫游到CDMA网络的鉴权方法,该方法为:
由于IIF具备CDMA HLR功能,所以,需在IIF或AC上需注册GSM用户的CDMA鉴权签约数据A-Key,一般通过在GSM终端上插入标准CDMA R-UIM卡,或在终端使用能同时存储Ki和A-Key的新类型双模卡来实现。这样,CDMA外地模式下的GSM用户使用CDMA标准鉴权流程,包括SSD更新和鉴权;鉴权过程中不需要与归属网络GSM HLR参与交互。
参见图2,图2为现有技术GSM用户漫游到CDMA网络鉴权的流程示意图。GSM用户终端插入了CDMA R-UIM卡,该用户同时也是CDMA用户。在HLR/AC中对CDMA用户开户时,保存与R-UIM卡中保存相同的AKey;通过SSD更新流程,可根据AKey和RAND生成SSD。当用户第一次接入系统时,必须首先进行SSD更新,以保证HLR/AC与R-UIM卡中的SSD保持一致。这样,GSM用户漫游到CDMA网络时鉴权的基本流程包括以下步骤:
步骤201,MS根据SSD和RAND计算AUTHR;
步骤202,MS将AUTHR发送给CDMA网络的MSC/VLR;
步骤203,MSC/VLR向IIF发送鉴权请求(AUTHREQ)消息;
步骤204,IIF收到鉴权请求消息后,向CDMA网络的AC转发鉴权请求;
步骤205,CDMA网络的AC根据SSD、RAND计算AUTHR,并与IIF送上来的AUTHR进行比较;若不相同,则表明为非法用户,否则为合法用户;
步骤206,CDMA网络的AC向IIF返回包含鉴权结果的鉴权响应(authreq)消息;
步骤207,IIF将鉴权结果转发给CDMA网络的MSC/VLR;
步骤208,MSC/VLR根据鉴权结果进行处理,将合法用户接入,非法用户清除。
上述GSM用户漫游到CDMA网络的鉴权方法中,需要在GSM终端上发放新用户识别模块,一般通过在GSM终端上插入标准CDMA R-UIM卡,或在终端使用能同时存储Ki和A-Key的新类型双模卡来实现。因此,运营商需要再次发放用户识别模块给申请了漫游到CDMA网功能的GSM用户。这种使用户享受新业务的业务分发方式比较复杂,需要用户配合,不利于业务的推广。
【发明内容】
有鉴于此,本发明的目的在于提供一种全球移动通信系统(GSM)用户漫游到码分多址(CDMA)网络的鉴权方法,在开展GSM用户漫游到CDMA网络的新业务时,避免运营商向GSM用户发放新的用户识别模块,增强业务的可运营性。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种全球移动通信系统(GSM)用户漫游到码分多址(CDMA)网络的鉴权方法,该方法包括:
1)互通和互操作功能实体(IIF)保存需要漫游到CDMA网络的GSM用户移动台(MS)的身份密钥(Ki);
2)广播查询鉴权过程,包括以下步骤:
21)MS接收CDMA的基站控制器(BSC)广播的CDMA鉴权随机数(C-RAND),将该鉴权随机数(C-RAND)转换为GSM鉴权随机数(G-RAND),再根据G-RAND和MS中保存的Ki计算出符号响应(SRES)和密钥C(Kc);再将SRES转换为CDMA鉴权结果,发送给BSC;
22)BSC将鉴权随机数(C-RAND)和CDMA鉴权结果发送给CDMA的移动交换中心(MSC)/拜访位置寄存器(VLR);
23)MSC/VLR向IIF发送包含鉴权随机数(C-RAND)和CDMA鉴权结果的鉴权请求;
24)IIF将收到的鉴权随机数(C-RAND)转换为GSM鉴权随机数(G-RAND),再根据G-RAND和IIF中保存的该MS的Ki计算出SRES和Kc;再将SRES转换为CDMA鉴权结果,将转换出的CDMA鉴权结果和收到的CDMA鉴权结果进行比较,完成广播查询鉴权;
3)独特查询鉴权过程,包括以下步骤:
31)CDMA的MSC/VLR为没有带鉴权参数的GSM的MS向IIF发送鉴权请求;
32)IIF根据鉴权请求,生成鉴权随机数(C-RAND),并转换为GSM鉴权随机数(G-RAND),再根据G-RAND和IIF中保存的该MS的Ki计算出SRES和Kc;再将SRES转换为CDMA鉴权结果;
33)IIF向MSC/VLR返回包含鉴权随机数(C-RAND)和CDMA鉴权结果的鉴权响应;
34)MSC/VLR保存CDMA鉴权结果,并通过BSC向MS发送包含鉴权随机数(C-RAND)的独特查询鉴权请求;
35)MS将收到的鉴权随机数(C-RAND)转换为GSM鉴权随机数(G-RAND),再根据G-RAND和MS中保存的Ki计算出SRES和Kc;再将SRES转换为CDMA鉴权结果,并将鉴权结果随鉴权响应通过BSC返回给MSC/VLR;
36)MSC/VLR将收到的CDMA鉴权结果和步骤34)中保存的CDMA鉴权结果进行比较,完成独特查询鉴权。
其中,所述的步骤34)可以进一步包括:MSC/VLR收到IIF返回的鉴权响应后,先通过BSC指配业务信道,业务信道指配成功后,再发送独特查询鉴权请求。
所述的指配业务信道的方法可以为:MSC/VLR向BSC发送指配请求;BSC根据该指配请求指配业务信道;并向MSC/VLR返回指配响应。
步骤21)-步骤24)中所述的CDMA鉴权随机数可以为广播鉴权随机数;步骤32)-步骤36)中所述的CDMA鉴权随机数可以为独特查询鉴权随机数。
所述的将C-RAND转换为G-RAND的方法可以为:将C-RAND进行运算后填入G-RAND;或将C-RAND和国际移动用户识别码(IMSI)或/和电子序列号(ESN)进行运算后填入G-RAND。例如,该方法可以为:将C-RAND填入G-RAND的固定位置,将G-RAND剩余位置用预定数字或/和国际移动用户识别码(IMSI)填满;或将G-RAND的剩余位置用预定数字或/和电子序列号(ESN)填满。
所述的根据G-RAND和MS中保存的Ki计算出RES和Kc的方法,可以与所述的根据G-RAND和IIF中保存的该MS的Ki计算出SRES和Kc的方法相同,为:用G-RAND和Ki通过A3/A8算法计算出SRES和Kc。
所述的将SRES转换为CDMA鉴权结果的方法可以为:将在SRES的固定位置取出CDMA鉴权结果;或将SRES进行运算后,在固定位置取出CDMA鉴权结果;或将SRES和Kc或/和国际移动用户识别码(IMSI)或/和电子序列号(ESN)进行运算后,在固定位置取出CDMA鉴权结果。
由本发明的技术方案可见,本发明的这种全球移动通信系统(GSM)用户漫游到码分多址(CDMA)网络的鉴权方法在开展GSM用户漫游到CDMA网络的新业务时,使用原有GSM用户的SIM卡进行鉴权,避免了运营商向GSM用户发放新的用户识别模块,同时,不需要修改现有的GSM网络设备和CDMA网络设备,实现简便,增强了业务的可运营性。
【附图说明】
图1为IIF与GSM网络和CDMA网络的连接结构示意图;
图2为现有技术GSM用户漫游到CDMA网络鉴权的流程示意图;
图3为本发明第一较佳实施例的广播鉴权流程示意图;
图4为图3所示实施例中MS生成AUTHR的示意图;
图5为本发明第二较佳实施例的独特查询鉴权流程示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明是根据GSM网络鉴权参数与CDMA网络鉴权参数比较的结果,通过一定算法进行适配,将CDMA鉴权参数与GSM鉴权参数进行互相转换,进行鉴权。
参见表一,表一GSM网络鉴权参数与CDMA网络鉴权参数比较。 GSM CDMA 随机数标识 RAND RANDU长度 128位(bit) 32位(bit) 鉴权结果标识 SRES,注:Kc不需要传递 AUTHU长度 32位(bit) 18位(bit)
表一
由表一可见,若使用CDMA鉴权流程,无法完全承载GSM鉴权参数;因此,可考虑通过一定算法进行适配,通过算法Fa将CDMA的32bit的RAND或RANDU(简称C-RAND)转换为128bitRAND(简称G-RAND);并通过算法Fb将GSM的32bitSRES转换为CDMA的18bit的AUTHR或AUTHU(简称C-AUTH);对应关系表示如下:
G-RAND=Fa(C-RAND)
C-AUTH=Fb(SRES)
算法Fa和Fb还可以用户信息作为入参,如MIN、ESN、被叫号码中某几个字节(无被叫号码时可用全1表示),但不仅限于这几个参数;
其中,算法Fa可以将C-RAND进行运算后填入G-RAND;或将C-RAND和国际移动用户识别码(IMSI)或/和电子序列号(ESN)进行运算后填入G-RAND。
例如:将C-RAND填入G-RAND的固定位置,将G-RAND剩余位置用预定数字或/和国际移动用户识别码(IMSI)填满;或将G-RAND的剩余位置用预定数字或/和电子序列号(ESN)填满。
算法Fb可以将在SRES的固定位置取出CDMA鉴权结果;或将SRES进行运算后,在固定位置取出CDMA鉴权结果;或将SRES和Kc或/和国际移动用户识别码(IMSI)或/和电子序列号(ESN)进行运算后,在固定位置取出CDMA鉴权结果。
本发明中,IIF作为GSM注册用户在CDMA外地模式下的HLR/AC,其中保存Ki和鉴权算法A3/A8。在IIF中对需要漫游到CDMA网络的GSM用户开户时,将国际移动用户识别码(IMSI)和Ki的关系保存在IIF的数据库中。
本发明的鉴权方法包括:广播查询鉴权过程和独特查询鉴权过程。以下对两个鉴权过程分别举一个较佳实 施例进行详细说明。
第一较佳实施例为一个广播查询鉴权始呼流程。本实施例在鉴权流程上与普通CDMA广播鉴权流程没有差别,但在鉴权算法上采用GSM的鉴权算法,并新增了Fa和Fb两个函数。参见图3,图3为本发明第一较佳实施例的广播鉴权流程示意图;该流程包括以下步骤:
步骤301,BSC通过寻呼/控制信道广播广播鉴权随机数C-RAND。
步骤302,MS对于收到的C-RAND先通过算法Fa将C-RAND转换为G-RAND,并用G-RAND和MS保存的Ki通过MS的SIM卡中A3/A8算法计算出SRES和Kc,然后用算法Fb将SRES转换为鉴权结果AUTHR。
步骤303,MS向BSC发送包含AUTHR的始呼请求。
步骤304,BSC收到始呼请求后,向MSC/VLR发送业务请求(CM ServiceRequest),其中包含C-RAND和AUTHR。
步骤305,MSC/VLR收到业务请求后,向IIF发送鉴权请求AUTHREQ,其中包含C-RAND和AUTHR。
步骤306,IIF收到鉴权请求消息后,首先通过Fa算法将C-RAND转换为G-RAND,并用G-RAND和IIF中保存的该MS的Ki通过A3/A8算法计算出SRES和Kc,然后通过算法Fb将SRES转换为AUTHR,并比较计算出来的AUTHR与MSC/VLR在鉴权请求中送上来的AUTHR是否相等;若相等,则表明为合法用户,允许接入;否则,为非法用户,拒绝接入。
步骤307,IIF向MSC/VLR返回包含是否允许用户接入信息的鉴权响应(authreq)。
步骤308,MSC/VLR收到鉴权响应消息后,根据是否允许用户接入信息继续呼叫处理或清除呼叫。
其中,步骤302是MS生成AUTHR的过程;步骤306中包含了IIF生成AUTHR的过程。图4为图3所示实施例中MS生成AUTHR的示意图;其包含三个算法:先在MS中的移动设备(ME)中通过算法Fa将32位的C-RAND转换为128位的G-RAND、然后用该G-RAND和Ki通过SIM卡中的算法A3/A8计算出32位和Kc、最后在ME中通过算法Fb将32位的SRES转换为18位的AUTHR。IIF中生成AUTHR的算法与图4所示相同,只是所用的Ki和A3/A8算法是预先存储在IIF中的。
本实施例中Fa采用了一种较简单的算法:将C-RAND填入G-RAND前32位,G-RAND其他位可填写为全1。Fb的算法也比较简单:从32位的SRES中,取出前18位作为AUTHR。在实际应用中,算法Fa、Fb可以将MIN、ESN、被叫号码中某几个字节(无被叫号码时可用全1表示)作为入参,使用较复杂的算法进行转换。
本实施例为始呼流程,位置登记、寻呼响应的鉴权处理流程与此类似。
第二较佳实施例为一个独特查询鉴权始呼流程。本实施例在鉴权流程上与普通CDMA独特鉴权流程没有差别,但在鉴权算法上采用GSM的鉴权算法,并新增了Fa和Fb两个函数。参见图5,图5为本发明第二较佳实施例的独特鉴权流程示意图;该流程包括以下步骤:
步骤501,MS接入,且未带鉴权参数,MSC/VLR为该MS向IIF发送鉴权请求(AUTHREQ)。
步骤502,IIF收到鉴权请求消息后,发现无鉴权参数,则生成随机数RANDU(C-RAND),并通过Fa算法将C-RAND转换为G-RAND,用G-RAND和IIF中保存的该MS的Ki通过A3/A8算法计算出SRES和Kc;再通过Fb算法将SRES转换为CDMA鉴权结果(AUTHU)。
步骤503,IIF向MSC/VLR返回鉴权响应(authreq),其中包含RANDU、AUTHU,指示MSC/VLR发起独特查询鉴权;
步骤504,MSC/VLR收到鉴权响应消息后,发现包含RANDU和AUTHU,则保存AUTHU。
步骤505,MSC/VLR向BSC发送指配请求(Assignment Request)指配业务信道
步骤506,BSC收到指配请求后,指配业务信道,并返回指配响应(Assignment Response);
步骤507,业务信道指配成功之后,MSC/VLR向BSC发送独特查询鉴权请求(Authentication Request),其中包含RANDU。
步骤508,BSC将收到的独特查询鉴权请求(Authentication Request)发送给MS。
步骤509,MS收到独特查询鉴权请求消息后,获得随机数RANDU(C-RAND),并通过算法Fa将C-RAND转换为G-RAND,并通过SIM卡中A3/A8算法计算出SRES和Kc,然后通过算法Fb将SRES转换为AUTHU。
步骤510,MS向BSC返回独特鉴权响应,其中包含AUTHU。
步骤511,BSC将收到的包含AUTHU的独特查询鉴权响应返回给MSC/VLR。
步骤512,MSC/VLR收到独特查询鉴权请求响应后,获得AUTHU,并与在步骤504)保存的AUTHU进行比较,判断结果是否一致,若一致,则表明为合法用户;否则,为非法用户。
步骤513,MSC/VLR将判断结果通过鉴权状态报告(ASREPORT)上报给IIF。
步骤514,IIF收到鉴权状态报告后,根据判断结果决定是否允许用户接入,并将包含是否允许接入信息的鉴权状态报告响应(asreport)中返回给MSC/VLR。
步骤515,MSC/VLR收到鉴权状态报告响应消息后,根据是否允许接入信息继续接入处理或清除用户接入。
其中,步骤502是IIF生成AUTHU的过程;步骤509是MS生成AUTHU的过程。本实施例中,步骤509的MS生成AUTHU的过程,与图3中步骤302的MS生成AUTHR的过程相同;步骤502中IIF生成AUTHU的过程,与图3中步骤306的IIF生成AUTHR的过程相同;算法Fa和Fb也可以与第一较佳实施例相同。
本实施例为始呼流程,寻呼响应的鉴权处理流程与此相似。
上述两个实施例中,对于漫游到CDMA网络的GSM用户,IIF禁止进行SSD更新操作。
另外,本发明还可以有以下的实施方法:和上述两个实施例相同,首先,IIF中保存需要漫游到CDMA网络的GSM用户移动台(MS)的身份密钥(Ki),IIF也具备执行GSM A3/A8算法运算的能力。然后,在SSD更新流程中,利用Ki产生SSD。最后,在广播查询鉴权和独特查询鉴权流程中,GSM的MS象一个普通CDMA终端一样被CMSC或AuC鉴权。
其中,利用Ki产生SSD的方法与上述两个鉴权流程中,利用Ki产生AUTHR或AUTHU的方法相似。
利用Ki产生SSD的过程包括以下步骤:
1、IIF产生随机数RANDSSD,并通过Fa算法转换为G-RAND,用G-RAND和IIF中保存的进行SSD更新的GSM MS的Ki,通过A3/A8算法计算出SRES和Kc;再通过Fb算法将SRES转换为SSD。
2、IIF将RANDSSD通过CDMA的MSC/VLR发送给GSM的MS。
3、GSM的MS用通过算法Fa将RANDSSD转换为G-RAND,并通过SIM卡中A3/A8算法计算出SRES和Kc,然后通过算法Fb将SRES转换为SSD。
4、GSM的MS产生确认SSD更新信息通过CDMA的MSC/VLR发送给IIF。
这样,GSM的MS就可以象一个普通CDMA终端一样用SSD参数,被CMSC或AuC鉴权了。
由上述三个实施例可见,本发明的这种全球移动通信系统(GSM)用户漫游到码分多址(CDMA)网络的鉴权方法在开展GSM用户漫游到CDMA网络这个新业务时,不针对GSM外地模式用户增加新鉴权流程,不更换或修改GSM用户识别模块SIM,使用原有GSM用户的SIM卡进行鉴权,避免了运营商向GSM用户发放新的用户识别模块,同时,不需要修改现有的GSM网络设备和CDMA网络设备,实现简便,增强了业务的可运营性。