APP下载

基于安全机制的SQN同步的研究和实现

2010-11-05张甲胜

电子测试 2010年3期
关键词:鉴权序列号SIM卡

张甲胜

(重庆邮电大学通信与信息工程学院NGN实验室 重庆 400065)

0 引言

随着移动通信系统的发展,业务应用越来越丰富,对移动通信安全性的要求也越来越高,在UMTS系统中定义了五个方面的安全特性,即采用发送鉴权五元组代替2G的鉴权三元组。它覆盖了所有可能的信息变换的接口,并通过切实有用的机制弥补了GSM 系统中的安全隐患,增强了网络的安全性[1]。而SQN是鉴权五元组中的重要成分,确切的说,鉴权五元组对SQN的依赖性很强。因此,如果SQN(AUC)与SQN(UMTS)不同,就不能实现成功鉴权。而在之前的鉴权中并没有考虑到这种问题。因此,为了解决这一潜在问题并挺高无线通信网络完全的稳定性,本文设计了一种手动同步SQN的方法。

1 UMTS网络接入安全机制

无线通信本身的特点是,既容易让合法用户接入,也容易被潜在的非法用户窃听,因此,安全问题总是同移动通信网络密切相关。针对GSM存在的安全问题,3G系统主要进行了如下改进:

a) 实现了双向认证。不但提供基站对MS的认证,也提供了MS对基站的认证,可有效防止伪基站攻击。

b) 提供了接入链路信令数据的完整性保护。

c) 密钥长度增加为128 bit,改进了算法。

d) 3GPP接入链路数据加密延伸至无线网络控制器。

e) 3G的安全机制还具有可拓展性, 为将来引入新业务提供安全保护措施。

f) 3G用户提供安全可视性操作,用户可随时查看自己所用的安全模式及安全级别。

g) 在密钥长度、算法选定、鉴别机制和数据完整性检验等方面,3G的安全性能远远优于2G[2]。

1.1 UMTS的鉴权流程

在3G系统中,SGSN/VLR接收到来自MS的RES后,将RES与认证向量AV中的期望认证应答XRES进行比较,相同则认证成功,否则认证失败。

UMTS系统中的鉴权包括下面步骤,如图1所示。(1)生成鉴权五元组:MS向SGSN/VLR发出接入请求。从VLR/SGSN收到鉴权数据请求组后,HLR/AuC生成n鉴权向量,每个向量由下列5个元素组成:随机数字RAND,期望口向应XRES,密钥CK,完整性密钥lK和鉴权令牌AUTN。

图1 UMTS系统的鉴权流程

(2)将鉴权五元组发送到请求的VLR/SGSN。(3)从得到的多个五元组中选择一个,发送RAND(i)和AUTN(i)到用户。

(4)USIM卡检查AUTN (i)可否接受,例如AUTN(i)是由有效的鉴权令牌组成。

(5)MS接收到认证请求后,首先计算消息认证码XMAC,并与认证令牌AUTN中的消息认证码MAC比较,如果不同,则向SGSN/VLR发出拒绝认证消息,并放弃认证过程。同时MS验证接收到的序列号SQN是否在有效的范围内,若不在有效的范围内,MS则向SGSN/VLR发送同步失败消息,放弃认证过程。

(6)当以上验证通过以后,才产生响应RES(i),然后送回VLR/SGSN;由VLR/SGSN比较RES(i)和XRES(i)。USIM卡同时计算CK和IK,用于在空中接口加密和完整性保护。

1.2 鉴权和密钥管理

UMTS鉴权和密钥协定协议 (authentication and key agreement,AKA)用来保证与GSM 系统的最大兼容, 并且最易于从GSM向UMTS演进。GSM 与3G系统的认证过程由MS、SGSN、NLR和HLR/AUC三方共同完成。认证方为AUC (认证中心)和用户的SIM 卡。GSM 和3G系统的认证与密钥协商过程分别是基于MS和HLR/AUC之间的共享密钥Ki和K,认证过程均由SGSNNLR发起,相对于GSM 协议,增强了以下几方面:

HLR对用户的鉴权;

用户和VLR/SGSN之间Integrity Key(IK)协定;

用户和VLR/SGSN之间保证最新的CipherKey(CK)和IK;

使用UMTS系统进行用户鉴权时,主要进行以下两方面的处理:在HLR/Auc上计算鉴权五元组和在USIM 卡上进行鉴权处理。

1.3 HLR/Auc上的鉴权处理

HLR/AuC在收到鉴权申请信息后,将产生1个新的序列号SQN和随机数RAND。对于每个用户,HLR/AuC上存储着计数器SQNHE、用户相关的密钥K和运营商相关的AMF(altercation management field),AMF包含在每个鉴权向量的鉴权标志中。这就是计算五元组的输入数据。如图2所示。

图2 USIM中的鉴权处理原理

鉴权处理后的输出:f1~f5,是3G安全结构定义的认证与密钥协商算法。消息鉴权码MAC=fl K ,f1是消息鉴权功能。期望响应XRES=f2 (RAND),f2是可能截断的消息鉴权功能。加密密钥CK=f3 (RAND),f3是密钥生成功能。完整性密钥lK=f4 (RAND),f4是密钥生成功能。匿名密钥AK=f5 (RAND),f5是密钥生成功能。鉴权令牌由公式 生成。最后的五元组就是由RAND、XRES、CK、IK、AUTN共同构成的。

1.4 USlM卡的鉴权处理

当VLR/SGSN初始化鉴权和密钥后,从有序矢量数组中选取鉴权向量,收到RAND和AUTN后,USIM卡将按照如下的过程进行鉴权、新加密和完整性密钥的建立的处理,如图3所示。

USIM卡首先计算匿名密钥AK=f5 (RAND)然后检索出序列号 ;然后USIM计算 ,比较XMAC和包含在AUTN中的MAC。如果不同,用户发送user authentication reject到VLR/SGSN,然后中止此过程,与此同时VLR/SGSN会生成一个鉴权失败报告给HLR。

如果MAC确认成功, 比较USIM接受到的SQN是否在正确的范围。

如果序列号在正确的范围,USIM计算RES=f2(RAND), 然后在发送到SN中的user authentication response中包含这个参数。最后,USIM计算加密密钥CK=f3 (RAND)和完整性保护密钥IK=f4K(RAND)。收至 user authentication response后,SN将比较RES和从选择的鉴权五元组中期望的响应XRES。如果XRES等于RES,则用户鉴权通过。SN同时从所用的鉴权向量中选择合适的加密密钥CK和完整性保护密钥IK。USIM和VLR将保存原始的CK和IK直到下一个AKA成功完成。而若XRES不等于RES,VLR/SGSN会向HLR发送一个鉴权失败报告,此时VLR/SGSN则需要向用户初始化一个新的鉴权。

如果不在正确的范围,USIM卡发送synchronized on failure到VLR/SGSN, 包 含 可接受的序列号(经完整性保护)。然后SN发送synchronized on failure到HLR/AUC请求更新鉴权组。

通过对应的加密密钥CK,完整性保护密钥IK,实现了USIM和VLR/SGSN之间的鉴权。另外,通过核实AUTN中MAC,用户保证了VLR/SGSN发送的随机数RAND是由用户所在的HLR/AUC产生的,并相信HLR/AUC处理后产生的鉴权组。

2 SQN

由UMTS鉴权流程及其原理可见,在整个鉴权过程中,鉴权五元组中的SQN起到了很强的依赖性作用。

SQN是由AUC(Authentication Center)产生的,UMTS网络所特有的序列号;每个IMSI(International Mobile Subscriber Identification Number)对应一个SQN。从UMTS鉴权流程中可知,SQN是AUTN的一部分,而AUTN是鉴权五元组中重要的元素。由此可见,UMTS的鉴权处理对SQN的依赖性非常强。而一旦DB crash、restore或者迁移一部分用户到另一个DB,如果用户在这种情况下发起鉴权请求,就会出现如下情况:用户发起鉴权后,SQN(UMTS)中的SEQ中的Count值会自动加一,表示鉴权一次。而此时的DB处于异常状态,没有接收到用户的鉴权请求,因此,原本也应该加一的SQN(AUC)没有实现加一操作。下一次用户再发来鉴权请求的时候,由于SQN(UMTS)与SQN(AUC)不等,鉴权就会失败,合法用户无法接入网络,也就无法完成客户的需求[3]。因此,本文针对这一原理,设计了一种手动操作SQN的方法。

若想实现对SQN的操作,必须对SQN的结构先做了解。

2.1 SQN的结构

SQN 包括 SEQ(Sequence Number)和 IND(Index number)两个部分,共 48个 bits,SEQ 占 43bits,IND占5bits。

其中的IND又可分为两个部分:浅色部分(1bit)和深色部分(4bits)。

为了兼容先前2G的版本,浅色部分的参数是可选的(SQN默认为CS)。具体标识如下:

- CS- 电路交换域

- PS -包交换域

- IMS -IMSI应用软件部分

- BSF - 用于多媒体应用的鉴权

- AAA-认证、鉴权、计算服务

最后深色部分的4bits表示该SQN的索引。如图3所示。

图3 SQN结构图

2.2 SQN的具体工作方式

SQN是鉴权五元组中AUTN的一部分。每个用户都有6bytes的SQN HE。整个SQN有两个部分组成:SQN = SEQ + IND。SEQ是一个计数器,而IND是一个索引。在3G鉴权的过程中,SQN在AUC中产生的,并且要在UMTS中进行检验。

在UMTS卡中烧制的SQN与数据库中的SQN都初始化为0,用户每发起一次鉴权,UMTS卡中发起的鉴权五元组中的SQN都会自动加一,在AUC接到用户鉴权后,会对数据库中的SQN也加一,这样使得SQN(UMTS)=SQN(AUC),保证用户下次能够成功鉴权。

2.3 SQN同步方式

目前HLR中没有单独针对SQN同步的方法,而数据库同步只能同步数据库的内容,而不知道SQN是否变化,因此,为了稳定性考虑,必须设计一种对SQN进行同步的方法。

为此,本文设计单独对SQN进行手动同步的方法。为了方便对SQN手动的同步,设计了3种同步的方式:

以上低压设备的选型依据《工业与民用配电设计手册》,且均为目前市场上比较流通的型号。综上所述,低压电气设备选型如表5所示。

●同步单个SQN,change_one;

在执行change_one时,我们需要手动输入一个确定的IMSI号码。

●同步某个范围内的SQN,change_range;

该range为IMSI的范围,而不是SQN的范围。在执行change_range的时候,我们需要手动确定firstIMSI和lastIMSI两个数据,以确定具体范围。

●同步整个NRG中的SQN,Change_all。

在执行change_all操作时,我们要手动确定需要同步的NRG编号,即手动输入NRGId。

由于每个IMSI对应一个SQN,在次,为运营商提供输入的IMSI号码,由系统根据运营商提供的IMSI号码自动查找对应的SQN,操作完毕再存储到数据库中。

完成后,可以在界面手动控制,对SQN进行操作。具体HMI显示如图4所示。

由于change_range和change_all都需要一段时间才能完成,因此,在实现change_range和change_all的时候需要另起一个线程,在程序完成退出时将执行结果输入到系统log文件以便检查。

图4 SQN手动操作效果图

3 测试结果

该测试必须要在公司的软件框架平台进行测试。测试用例采用Cobra脚本,在Linux平台进行测试。为了方便运营商使用,可以采用用户界面(HMI)进行操作。采用HMI手动操作图如图4所示。

采用Cobar脚本测试,必须在NGHLR框架的Linux平台进行测试。

脚本如下设计:

(1)首先创建一定数量的IMSI,为了方便,本为采用的IMSI数量为20.

(2)然后对SQN进行操作,由于篇幅原因,本文只采用了修改RangeSQN的用例。

(3)对SQN进行操作,所需要的参数包括:typeOpe = INC,valSQN = 1,sqnIdUpd = CS,Last_IMSI = 208-01-1100000070。

(4)最后删除创建的IMSI,恢复数据库。测试结果如图5所示。

图5 对SQN实行INC操作结果输出

测试结果显示,该方法完全达到了预期的目的,可以对SQN进行操作,实现SQN的同步,保证合法用户鉴权成功。

该方法已经通过机架网络验证,并已经在最新版本的NGHLR中进行了应用。完全可以解决之前南京联通的用户投诉问题,使得无线通信的稳定性大大增强。

[1] SIM/USIM Internal and External Interworking Aspects- 3GPP TR 31.900 V7.1.0 (2006- 03).

[2] Authentication Overhead in Wireless Networks, Yan Zhang; 2008(5):1505-1509.

[3] Security principles and objectives - 3GPP TS 33.120 V4.0.0 (2001-03). A Generic Authentication System based on SIM, Wangensteen, A.; Lunde, L.; Jorstad, I.;van Thanh, D.; 2006(8):24.

[4] 李朔,李方伟,张蓉.利用密钥更新改进的3G认证协议[J].现代电信科技, 2006(6):35-36.

[5] 朱爱华,杨娜.2G与3G移动网络接入的安全性分析[J].邮电设计术 ,2007(1):45.

[6] 宋文欣,刘长明.UMTS鉴权原理及其与GSM鉴权兼容性 [J]. 现代显示 ,2008(9): 27-28.

[7] 严粤锋. CDMA移动通信中的用户鉴权算法分析及研究[J]. 湖南科技学院学报,2005(5):26.

[8] 张方舟,王东安,叶润国,徐浩,宋成.一种基于公钥技术的3G 安全体系结构及其实现[J]. 计算机技术与应用,2005(11): 37-37.

猜你喜欢

鉴权序列号SIM卡
一种离线电子钱包交易的双向容错控制方法
SIM卡防盗很关键 小喻教你如何给它“上保险”
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
recALL
移动网络用户频繁鉴权问题的优化方案探讨
基于小型核心网的LTE鉴权的一种新实现
PP助手教你辨别翻新iPhone5小白不再中招
基于SIM卡的移动互联网应用鉴权研究
电信增值业务运营中的认证鉴权控制方案研究