51学通信技术论坛

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

[常见问题] LTE/EPC初始附着流程YY在线交流中的一些遗留技术问题解答 [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2014-4-8 22:06:57 |只看该作者 |倒序浏览
一键分享 一键分享

2014年4月8日,YY在线技术交流分享了EPC初始附着流程。当时遗留了一些问题。现汇总如下并基于自己的一些理解做出解答,不一定完全正确,供参考,欢迎拍砖:

1 S6a接口的用户关联是不是能用session-id AVP来关联?

答:照道理应该是的。查阅rfc 3588的说明如下:“The request contains a Session-Id AVP, which is used  in subsequent messages (e.g., subsequent authorization, accounting,   etc) relating to the user's session.  The Session-Id AVP is a means  for the client and servers to correlate a Diameter message with a   user session.”也就是时候,只要diameter的会话创建好,是可以通过session-id avp关联的。除非这个session被拆除。session的拆除有两种方法:

1)显式的拆除,通过发送session termination request发起会话拆除,需重新分配session-id。

2)隐含的拆除。即没有任何信令交互。

查找TS29.272关于s6a接口diamter规范,发现s6a接口用的是隐含的拆除。原文如下:

Between the MME and the HSS and between the SGSN and the HSS and between the MME and the EIR, Diameter sessions shall be implicitly terminated. An implicitly terminated session is one for which the server does not maintain state information. The client shall not send any re-authorization or session termination requests to the server.
The Diameter base protocol includes the Auth-Session-State AVP as the mechanism for the implementation of implicitly terminated sessions.

The client (server) shall include in its requests (responses) the Auth-Session-State AVP set to the value NO_STATE_MAINTAINED (1), as described in IETF RFC 3588 [4]. As a consequence, the server shall not maintain any state information about this session and the client shall not send any session termination request. Neither the Authorization-Lifetime AVP nor the Session-Timeout AVP shall be present in requests or responses.”

也就是说S6a接口的会话是通过Auth-Session-State AVP 来控制的,如果client端该AVP置为1,server端将启动隐含的拆除。所以s6a接口没有捕捉到session termination request消息。



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

Rank: 9Rank: 9

懒

沙发
发表于 2014-4-8 23:08:16 |只看该作者

2 S1接口如何解密?是否抓取到了S6a接口的密钥就可以解密?

查阅了相关文档,个人理解是这样的。先做个总结。

终端用户和网络侧安全相关的事件主要有3个。1是鉴权,2是加密,3是完整性保护。其中1鉴权是必选的。2和3是可选的。

这里首先要说的就是用户的根密钥K,K是USIM卡的根密钥,可用于鉴权,并可用于生成IK和CK,用于加密和完整性保护。是128位的长度。而GSM的用户根密钥才用的是Ki,只有64位长度,根据Ki同样可以计算出Kc用于加密和完整性保护。LTE采用的是USIM卡的根密钥K,128位。所以理论上2G用户过渡到4G是需要换SIM卡的,即换成标准的USIM卡。如果实在不想换卡,则需要采用4G的定制终端,采用伪4元组鉴权加密方案实现。参考百度文库这篇文章:http://wenku.baidu.com/link?url=CNhB2_-wygGCgHYJPtpV4yEzG8Y_DRnBX1LGwbhNDfUiTPtw80x0_bV0NRBCzhhXEULCtqTpYT_ffwWR-o00NLZ3KTzR9C_AgepUQ63-rZe。T​D​-​L​T​E​号​码​和​卡​方​案​浅​析。

需要说明的是,根密钥K是运营商共享的,只保存在USIM卡和AUC中,并不在网络当中传递,所以要抓包抓到K是不可能的。

先说鉴权:

1 鉴权:鉴权实际上是比对网络侧的计算结果XRES和UE的计算结果RES。其中XRES由AUC生成,附着时下发给MME。RES由UE生成,计算所需的RAND由MME下发。

         XRES=用户的根密钥K+RAND随机数+F2函数生成。其结果保存在AUC上,并在附着过程中下发给MME。

         RES=用户的根密钥K+RAND随机数+F2函数生成。

两者比对,鉴权通过。

(LTE的鉴权向量四元组包括RAND、XRES、Kasme和AUTN。其中发给终端的是RAND、AUTN和3位标识KSIasme。)

(由于计算RES的根密钥K不在网络中传递,所以要仿制Usim卡冒充鉴权比较难。

再说加密和完整性保护。

2 加密:

LTE中用于NAS信令加密的密钥称之为Knasenc,用于用户面加密的密钥是Kupenc。

UE侧:根据根密钥K--->CK--->Kasme--->Knasenc。用于NAS信令加密

          根据根密钥K--->CK--->Kasme--->Kenb---->Kupend。用于用户数据的加密。

网络侧:

MME:根据根密钥K---CK--->Kasme----Knaenc。用于NAS信令加密。(通过NAS SMC security mode control)过程协商完成。

eNodeB侧:根据根密钥K---CK---Kasme----KeNB---Kupend用于用户面数据的加密。

其中Kenb是在UE从ECM-IDLE进入ECM-Connected时由UE和MME各自根据上行的NAS信令COUNT和KASME计算得到的。MME将计算得到的KeNB在S1AP Initial Context Setup Request消息中传送给eNB。

NAS加密所需要的所有输入和过程是:

    Knasenc+NAS信令序列号+SRB ID+方向+长度+算法(EEA1/EEA2/EEA3)+SMC流程协商好的密钥块(KeyStream Block)+明文NAS消息===加密后的密文。

NAS信令解密的过程则相反。

   所以,S1接口的解密必要条件是,能够破解EEA1/EEA2/EEA3算法,并且能够得到密钥Knasenc。由于Knasenc通过Kasme生成。所以理论上是可以解密的。但还要能够破解算法。

论坛又一篇帖子在讨论这个,供参考。http://www.gprshome.com/thread-4608-1-1.html

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

使用道具 举报

Rank: 9Rank: 9

懒

板凳
发表于 2014-4-9 12:43:28 |只看该作者
爱卫生 发表于 2014-4-8 23:08
2 S1接口如何解密?是否抓取到了S6a接口的密钥就可以解密?查阅了相关文档,个人理解是这样的。先做个总结。 ...

3 LTE的USIM卡和3G的USIM卡有何不同?

总体来说,LTE的USIM卡和3G的USIM卡是兼容的。都是采用128位长度的根密钥。所以3G过渡到4G的时候,不需要换卡换号。但如问题2所提到的,LTE的USIM卡和GSM SIM卡不兼容。所以通常要换卡。如果不换卡,可能就需要问题2所提到的伪4元组鉴权方式实现。虽然在3G里采用的鉴权向量5元组,而LTE是鉴权向量4元组。但实际上存储在USIM卡里的信息是一样的。都是IMSI和根密钥K。所以,从用户USIM卡的角度来看,没什么不同。

附图一张,USIM的构成:


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

使用道具 举报

Rank: 4Rank: 4Rank: 4Rank: 4

地板
发表于 2014-4-11 23:09:42 |只看该作者
爱卫生 发表于 2014-4-9 12:43
3 LTE的USIM卡和3G的USIM卡有何不同?总体来说,LTE的USIM卡和3G的USIM卡是兼容的。都是采用128位长度的根 ...

所以3G过渡到4G的时候,需要换卡换号。这里是不是说错了,应该是“不需要换卡换号”吧。
但如问题2所提到的,LTE的USIM卡和GSM SIM卡不兼容。所以通常要换号。这里也应该是“通常要换卡”吧,我上个月就是只换了卡没有换号。

点评

爱卫生  非常感谢。纠正错误。已经更新了。卡里存放的才是密钥。不用换卡。  发表于 2014-4-19 23:26:35
小温

使用道具 举报

Rank: 3Rank: 3Rank: 3

乐于助人

5#
发表于 2014-4-13 12:19:38 |只看该作者
爱卫生 发表于 2014-4-9 12:43
3 LTE的USIM卡和3G的USIM卡有何不同?总体来说,LTE的USIM卡和3G的USIM卡是兼容的。都是采用128位长度的根 ...

当3G换4G时,可以做到不换ISDN号码。
现在电信的做法是,在一张USIM卡,同时存在3G和4G的两个IMSI号,这两个imsi号同时对应到一个ISDN号。
当终端开机时,会同时读取两种imsi信息;如果无线存在4G环境,则接入4G;不存在4G的话,则接入3G;
这需要终端有这种能力。

上面是我从事ehrpd调测时所遇到的,需要用户更换终端,同时运营商重写卡。估计移动和联通暂时还没有提供该业务。

点评

爱卫生  谢谢分享。  发表于 2014-4-19 23:26:42
白天不懂夜的黑!

使用道具 举报

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

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

GMT+8, 2024-4-20 02:49 , Processed in 0.029502 second(s), 15 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部