51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 5968|回复: 5
打印 上一主题 下一主题

GPRS网络的鉴权流程 [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2012-6-13 21:08:22 |只看该作者 |倒序浏览
一键分享 一键分享

一旦MS需要和网络侧有报文的交互,在获取访问之前需要对MS进行身份认证。

举一个例子,鉴权有可能在下述场景中执行:

- 路由区更新流程;

- GPRS附着或去附着流程;

- GPRS报文传递。

鉴权流程的目的是对试图访问网络的用户身份进行确认,以保证对方使用的正确的SIM卡并带有有效的Ki。鉴权密钥Ki不通过空中接口传递,只存储在MS的SIM和鉴权中心(以下简称AUC,该节点通常和HLR是合并设置的)。鉴权流程是由SGSN发起和控制的。

在MS可以和网络侧交换数据之前,SGSN就将发起针对MS的鉴权流程。首先,SGSN将发送包含用户IMSI的消息给AUC去请求用于鉴权的三参数组。根据SGSN提供的用户IMSI,AUC可以找到相关联的Ki并且能够据此计算出必要的密钥并返回给SGSN。这个鉴权三参数组包括RAND、SRES和Kc,含义如下:

- RAND:是一个随机数,用于确保鉴权三参数组的唯一性。

- SRES(signed response):可以被认为是该MS的数字签名。

- Kc:是一个加密密钥,用于加密MS和SGSN之间传送的数据。 SRES是通过A3算法产生的,而加密密钥则是通过A8算法生成。这两种算法A3和A8都有相同的输入:Ki和RAND。这两个输入,Ki总是相同的并存储在AUC中,但RAND总是不相同的。

为了鉴权用户,SGSN给MS发送RAND。MS的SIM卡里也支持相同的A3和A8算法,并且也存储了相同的Ki。因此,MS也可以根据收到的RAND、Ki以及算法来计算出SRES和Kc,由于所使用的相关参数和AUC完全相同,则MS侧生成的SRES和Kc也应该和AUC侧生成的SRES和Kc完全相同。MS接下来将生成的SRES返回给SGSN,SGSN将MS生成的SRES和AUC生成的SRES进行对比,如果两者完全相同,则鉴权成功。SGSN将返回给MS一个鉴权成功的确认,否则SGSN将给MS返回一个消息指示鉴权失败。

过程如图所示:

下面三张图分别给出了某实例中SGSN从HLR/AUC获取的鉴权三参数组,SGSN给MS发送的鉴权及加密请求消息以及MS给SGSN发送的鉴权及加密响应消息。

图1 AUC返回的鉴权三参数组

图2 发给MS的鉴权及加密请求消息

图3 MS回的鉴权及加密响应

关于GPRS鉴权过程曾经有两个顾虑,有人认为,所有的这些消息在空中接口传递的时候都是未加密的(因为加密流程是在鉴权流程完成之后进行的),因此有可能RAND和SRES会被黑客在空中接口窃取,并且如果该黑客还能够破解A3算法,则有可能通过以上条件反向获取到用户的Ki,达到仿冒用户身份的目的。但实际上,算法的设计保证了很难从数据结果SRES反向得出输入Ki(128位),这可能需要大量的时间或巨型计算机才能完成。

另一个顾虑就是有人担心如果鉴权流程中,HLR/AUC针对SGSN的请求每次只返回一组鉴权三参数组,将会导致过量的信令消息在HLR/AUC和SGSN之间传递,加重信令网络的负担。但实际上HLR/AUC通常会被配置成一次发送多组鉴权参数给SGSN。SGSN可以将未使用完的鉴权保存在本地,供MS后续的信令流程使用。如图1所示,HLR/AUC在一个消息中给SGSN返回了两组鉴权三数据组(即SGSN可以使用两次,用于MS不同的信令流程)。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 1

沙发
发表于 2012-7-23 22:56:37 |只看该作者
爱总  我想问下市面上那种手机写号是不是写的 ki  和 emsi  还有手机号啊 ! 也就是SIM存储的信息 ?

点评

爱卫生  没接触过,但个人理解应该是。但肯定没有手机号。手机号是不存储在SIM卡中的,只存放在HLR中。写的是IMSI。  发表于 2012-9-14 15:23:50

使用道具 举报

VIP会员

红色疋杀地藏

Rank: 8

板凳
发表于 2012-9-14 14:54:46 |只看该作者
信令抓包上面的sres前后不对应,是不是那个只是个例子,没有对应关系。

使用道具 举报

Rank: 9Rank: 9

懒

地板
发表于 2012-9-14 15:26:32 |只看该作者
browzor 发表于 2012-9-14 14:54
信令抓包上面的sres前后不对应,是不是那个只是个例子,没有对应关系。

是的。只是个例子。证据就是SGSN发给手机的鉴权请求的RAND值和HLR下发的鉴权参数组中的RAND值都不一样,既然RAND都不一样,那计算结果SRES肯定也不一样。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

5#
发表于 2013-4-25 17:00:54 |只看该作者

爱老师,我想请教下,假如一个MS附着到一个新的SGSN的时候,如果identification 流程中未向 old SGSN获取到
IMSI,而进而发起的Identity 流程中返回的又是IMEI而不是IMSI,这个时候没有获取到IMSI那SGSN是如何向HLR去鉴权参数呢?

使用道具 举报

Rank: 9Rank: 9

6#
发表于 2013-4-25 22:05:32 |只看该作者
鱼儿 发表于 2013-4-25 17:00
爱老师,我想请教下,假如一个MS附着到一个新的SGSN的时候,如果identification 流程中未向 old SGSN获取 ...

不会有这种情况出现的。不用担心。Identity 流程一定会得到用户的IMSI。

也就是说如果Old SGSN没有给New SGSN用户的IMSI,那New SGSN一定会通过Identity流程去拿用户的IMSI。手机的SIM卡里有自己的IMSI,所以一定会通过Identity流程告诉new SGSN,从而完成后续的鉴权流程。这个在规范里有明确的说明(TS23.060)。如下:

If the MS is unknown in both the old and new SGSN, the SGSN sends an Identity Request (Identity Type = IMSI) to the MS. The MS responds with Identity Response (IMSI).

鉴权一定要用IMSI,别的不可以。

51学通信(www.51xuetongxin.com):致力打造最好的通信技术在线学习平台 。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-9 20:10 , Processed in 0.054131 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部