Presentation is loading. Please wait.

Presentation is loading. Please wait.

3G安全体系结构 张方舟 2004年3月26日.

Similar presentations


Presentation on theme: "3G安全体系结构 张方舟 2004年3月26日."— Presentation transcript:

1 3G安全体系结构 张方舟 2004年3月26日

2 GSM的安全体系结构

3 GSM的安全体系结构 GSM网络中用户身份的保密
用户有可能会在无线信道上发送IMSI,这样很容易被人为截取。为了减少IMSI在无线信道上的传输,GSM系统采用临时用户身份TMSI。在VLR处存储TMSI和IMSI之间的对应关系。这样一般来说,只有在用户开机或者VLR数据丢失的时候IMSI才被发送,平时仅在无线信道上发送移动用户相应的TMSI。 GSM系统中的用户鉴权 在GSM系统中,AuC(Authentication Center,用户鉴权中心)为每个用户准备了“鉴权三元组”(RAND,XRES,Kc),存储在HLR中。当MSC/VLR需要鉴权三元组的时候,就向HLR提出要求并发出一个消息“MAP-SEND-AUTHENTICATION-INFO”给HLR(该消息包括用户的IMSI),HLR的回答一般包括五个鉴权三元组。任何一个鉴权三元组在使用以后,将被破坏,不会重复使用。 当移动台第一次到达一个新的MSC(Moblie-Service Switching Center,移动业务交换中心)时,MSC会向移动台发出一个随机号码RAND,发起一个鉴权认证过程(MS移动到一个新的MSC时,发起的是TMSI 而不是IMSI)

4 GSM的安全体系结构

5 GSM的安全体系结构 (1)AuC产生一个随机数RAND,通过(AuC中的)A3、A8算法产生认证(鉴权)向量组(RAND,XRES,Kc)。 (2)VLR/MSC收到鉴权三元组以后存储起来。当移动台注册到该VLR时,VLR/MSC选择一个认证向量,并将其中的随机数RAND发送给移动台。 (3)移动台收到RAND以后,利用存储在SIM卡中的A3、A8算法,计算出SRES和Kc(计算流程如图3所示)。移动台将SRES发送给VLR/MSC,如果SRES等于VLR/MSC发送给用户的RAND所在的鉴权三元组中的XRES,移动台就完成了向VLR/MSC验证自己身份的过程。 由以上分析可看出,在GSM 系统中, Kc 从来不通过空中接口传送,存储在MS 和AuC 内的Kc 都是由Ki 和一个随机数通过A8算法运算得出的。密钥Ki 以加密形式存储在SIM 卡和AuC 中。

6 GSM的安全体系结构 鉴权过程完成以后,MSC将鉴权三元组中的Kc传递给基站BTS。这样使得从移动台到基站之间的无线信道可以用加密的方式传递信息,从而防止了窃听。( GSM系统中无线链路信息加解密过程如下图所示) 64bit的加密密钥Kc,再和当前帧号Fn(22bit)作为A5算法的输入,计算密钥流。对消息进行逐位异或加密,将密文从移动台传递到基站。基站接收到加密的信息,用相同的密钥流逐位异或来解密。

7 GSM的安全体系结构 GSM中安全要素的分布:GSM系统中,安全要素分布在不同的网络实体平台上。
 阴影单元随网络政策变化是时间的函数,白色单元不随时间变化

8 GSM的安全体系结构 AuC(鉴权认证中心)存放每个用户的国际移动用户身份IMSI(International Mobile Subscriber Identity),用于用户开机登陆网络或者在临时移动用户身份TMSI不能使用时验证或搜索用户;存放用户的密钥Ki(在用户使用IMSI接续的时候,Ki被授予给用户);为完成鉴权过程,AuC要负责生成随机值RAND;AuC中还存放了鉴权算法A3以及数据加密密钥生成算法A8。 VLR/MSC为每个IMSI存放若干鉴权三元组。为了避免IMSI被截取,需要最大限度地减少在无线信道上传送。因此在VLR中记录TMSI与IMSI的的对应关系,仅在无线信道上发送移动用户的TMSI。 BTS中存储编码算法A5和密钥Kc,用于解密接收到的密文形式的用户数据和信令数据(包括解密)。 移动台将鉴权算法A3和数据加密密钥生成算法A8、用户密钥Ki以及用户身份IMSI (TMSI)存储在SIM卡中。SIM卡是一种防篡改的设备,增强了算法和密钥的安全性。编码算法A5和由A8计算出的加密密钥Kc存储在手机中。 由此可以看出A3、A8、A5、Ki、Kc是不在网络中传递的,从而增强了网络的安全性。

9 GSM的安全体系结构 GSM存在的安全问题:
二、GSM系统中的加密不是端到端的,只是在无线信道部分即MS和BTS之间进行加密。在固定网中没有加密,采用明文传输,这给攻击者提供了机会。 三、在移动台第一次注册和漫游时,IMSI可能以明文方式发送到VLR/MSC,如果攻击者窃听到IMSI,则会出现手机“克隆”。 四、在移动通信中,移动台和网络间的大多数信令信息是非常敏感的,需要得到完整性保护。而在GSM网络中,没有考虑数据完整性保护的问题,如果数据在传输的过程中被篡改也难以发现。 五、随着计算机硬件技术进步带来的计算速度的不断提高,解密技术也不断发展。GSM中使用的加密密钥长度是64bit,在现在的解密技术下,已经可以在较短时间内被破解。 六、在GSM系统中,加密算法是不公开的,这些密码算法的安全性不能得到客观的评价,在实际中,也受到了很多攻击。 七、在GSM系统中,加密算法是固定不变的,没有更多的密钥算法可供选择,缺乏算法协商和加密密钥协商的过程。

10 3G的安全体系结构 GSM和3G的安全比较

11 3G的安全体系结构 3G的安全体系结构

12 3G的安全体系结构 3G的安全功能结构

13 3G的安全体系结构 安全措施分为5类: 一、增强用户身份保密(EUIC):通过HE/AuC(本地环境/认证中心)对USIM(用户业务识别模:块)身份信息进行认证; 二、用户与服务网间身份认证(UIC); 三、认证与密钥分配(AKA):用于USIM、VLR/SGSN(访问位置寄存器/服务GPRS支持节点)、HLR(归属位置寄存器)间的双向认证及密钥分配; 四、数据加密(DC):UE(用户终端)与RNC(无线网络控制器)间信息的加密; 五、数据完整性(DI):用于对交互消息的完整性、时效性及源与目的地进行认证。   系统定义了11个安全算法:f0、f1*、f1~f9,以实现其安全功能。f8、f9分别实现DC和DI标准算法。f6、f7用于实现EUIC。AKA由f0~f5实现。

14 3G的安全体系结构   3G鉴权认证过程

15 3G的安全体系结构:认证鉴权过程祥解 一、认证中心AuC为每个用户生成基于序列号的认证向量组(RAND,XRES,CK,IK,AUTN),并且按照序列号排序。AuC产生认证向量组的流程如下图所示: f0是一个伪随机数生成函数,只存放于AuC中,用于生成随机数RAND。3G认证向量中有一个“认证令牌”AUTN,包含了一个序列号,使得用户可以避免受到重传攻击。其中AK是用来在AUTN中隐藏序列号,因为序列号可能会暴露用户的身份和位置信息。

16 3G的安全体系结构:认证鉴权过程祥解  二、 当认证中心收到VLR/SGSN的认证请求,发送N个认证向量组给VLR/SGSN。在VLR/SGSN中,每个用户的N个认证向量组,按照“先入先出”(FIFO)的规则发送给移动台,用于鉴权认证。

17 3G的安全体系结构:认证鉴权过程祥解 三、VLR/SGSN初始化一个认证过程,选择一个认证向量组,发送其中的RAND和AUTN给用户。用户收到后RAND||AUTN后,在USIM卡中进行下列操作。

18 3G的安全体系结构:认证鉴权过程祥解 l 首先计算AK并从AUTN中将序列号恢复出来SQN=(SQN⊕AK)⊕AK;
l         USIM计算出XMAC,将它与AUTN中的MAC值进行比较。 如果不同,用户发送一个“用户认证拒绝”信息给VLR/SGSN,放弃该认证过程。在这种情况下,VLR/SGSN向HLR发起一个“认证失败报告”过程,然后由VLR/SGSN决定是否重新向用户发起一个认证过程。 l         用户比较收到的SQN是否在正确范围内(为了保证通信的同步,同时防止重传攻击,SQN应该是目前使用的最大的一个序列号,由于可能发生延迟等情况,定义了一个较小的“窗口”,只要SQN收到的在该范围内,就认为是同步的。) l         如果SQN在正确范围内,USIM计算出RES,发送给VLR/SGSN,比较RES是否等于XRES。如果相等,网络就认证了用户的身份。 l         最后,用户计算出加密密钥CK=f3(RAND,K),完整性密钥IK=f4(RAND,K)

19 3G的安全体系结构:认证鉴权过程祥解 四、 如果用户计算出SQN(序列号)不在USIM认为正确的范围内,将发起一次“重新认证”

20 3G的安全体系结构:用户信息加密 在完成了用户鉴权认证以后,在移动台生成了加密密钥CK。这样用户就可以以密文的方式在无线链路上传输用户信息和信令信息。发送方采用分组密码流对原始数据加密,采用了f8算法。接收方接收到密文,经过相同过程,恢复出明文。   COUNT:密钥序列号,32bit   BEARER:链路身份指示,5bit   DIRECTORY:上下行链路指示,1bit,消息从移动台到RNC,取值为0;反之为1。   LENGTH:密码流长度指示,16bit   CK:加密密钥,128bit

21 3G的安全体系结构:用户信息完整性保护 在3G中,采用了消息认证来保护用户和网络间的信令消息没有被篡改。发送方将要传送的数据用完整性密钥IK经过f9算法产生的消息认证码MAC,附加在发出的消息后面。接受方接收到的消息,用同样的方法计算得到XMAC。接收方把收到的MAC和XMAC相比较,如果两者相等,就说明收到的消息是完整的,在传输过程中没有被修改。 COUNT-I:密钥序列号,32bit MESSAGE:消息 DIRECTORY:上下行链路指示,1bit。消息从移动台到RNC,取值为0;反之为1。 FRESH:网络生成的一个随机数,32bit IK:完整性密钥;128bit MAC-I:消息认证码

22 3G的安全体系结构:增强的用户身份认证(EUIC)
 EUIC的实现过程(对IMSI的加密和解密算法)   GK:用户入网时,与HE/AuC及群中的其他用户共享的群密钥。   SQN_UIC:USIM产生的序列号,每次均不同。

23 3G的安全体系结构: IMSI的组成   MSIN(Mobile Station Identity Number):移动用户鉴权号码,是IMSI组成部分之一。  MCC:移动通信国家码 MNC:移动网络码

24 3G的安全体系结构: 3G中的密钥协商机制 3G系统中,增加了密钥协商机制,在认证和密钥协商机制的执行过程中实现。加密算法协商和完整性算法协商都是通过用户和网络之间的安全协商机制实现的。 当移动台需要与服务网络之间以加密方式通信时,以下列规则做出判断: 1)      如果移动台和服务网络没有相同版本的UEA(加密算法),但是网络规定要使用加密连接,则拒绝连接。 2)      如果移动台和服务网络没有相同版本的UEA(加密算法),但是网络允许使用不加密的连接,则建立无加密的连接。 3)      如果移动台和服务网络有相同版本的UEA,由服务网络选择其中一个可接受的算法版本,建立加密连接。 3G系统中预留了15种UEA的可选范围。 为了实现用户信息和信令信息的完整性保护,服务网络与移动台之间以下列规则进行算法协商: 1)      如果移动台和服务网络没有相同版本的UIA(完整性算法),则拒绝连接。 2)      如果移动台和服务网络有相同版本的UIA,由服务网络选择一种可接受的算法版本,建立连接。 3G系统中预留了16种UIA的可选范围。 通过实现算法协商,增加了3G系统的灵活性,是不同的运营上之间只要支持一种相同的UEA/UIA,就可以跨网通信。

25 3G的安全体系结构: 2G和3G共存网络的安全性准则
USIM用户 SIM用户 3G VLR 3G安全上下文 2G安全上下文 2G VLR 2G和3G共存的情况下向用户提供的安全性

26 3G的安全体系结构: 2G和3G网络共存时的用户鉴权
用户使用USIM卡接入到2G和3G共存的网络中:   (1) 通过UTRAN(WCDMA系统是IMT-2000家族的一员,它由CN(核心网)、UTRAN(UMTS陆地无线接入网)和UE(用户装置)组成。UTRAN 和UE采用WCDMA无线接入技术。) 接入时,使用UMTS(Universal Mobile Telecommunications System 的缩写,中文译为通用移动电信系统 )鉴权;   (2) 当使用3G移动台和3G MSC/VLR 或SGSN通过GSM BSS 接入时使用UMTS 鉴权机制。其中GSM密钥从UMTS CK和IK计算获得;   (3) 如果使用2G移动台或2G MSC/VLR 或SGSN 通过GSM BSS 接入,使用GSM 鉴权机制。其中用户响应SRES 和GSM密钥从UMTS SRES、CK和IK得到。

27 3G的安全体系结构: 2G和3G网络共存时的用户鉴权
在2G和3G共存网络中,用户也可以使用SIM卡接入到网络中。由于GSM SIM 用户只支持GSM系统安全特性,所以鉴权过程必然是GSM 系统的。   注意:在SIM卡用户接入到UTRAN,与VLR/SGSN进行鉴权认证的过程以后,3G VLR/SGSN 将利用CK和IK为用户提供安全保护,但由于此时用户安全特性的核心仍是GSM密钥Kc ,所以用户并不具备3G的安全特性。

28 3G的安全体系结构: 2G和3G网络共存时的用户鉴权
c1 : RAND[GSM] = RAND c2 : SRES[GSM] = XRES*1 xor XRES*2 xor XRES*3 xor XRES*4 GSM中RES是32bit,所以将3G中的XRES分成每段为32bit的四部分。 XRES* = XRES*1 || XRES*2 || XRES*3 || XRES*4 如果XRES为128bit,XRES=XRES* 如果XRES不足128bit,就用0补足,即XRES*=XRES||0..0。 c3 : Kc[GSM] = CK1 xor CK2 xor IK1 xor IK2 Kc是64bit,CK和IK是128bit,所以将CK、IK分为两半:CK=CK1||CK2,IK=IK1||IK2 c4 :CK [USIM] = 0…0||Kc 即Kc占据CK的低64bit,高64bit为0。 c5 :IK [USIM] = Kc||Kc

29 3G的安全体系结构: 3G认证鉴权中可能存在的问题
A. 3G认证方案实现了VLR对MS以及MS对HLR的认证,但不要求MS对VLR进行认证[2][10]。因此攻击者X可利用截获的合法IMSI进行如下的攻击:①MS→X:IMSI;②X→VLR:IMSI;③VLR→HLR:IMSI;④HLR→VLR:AV=RAND‖XRES‖CK‖IK‖AUTN;⑤VLR→X:RAND‖AUTN;⑥X→MS:RAND‖AUTN;⑦MS→X:RES;⑧X→VLR:RES。这样,X就可以假冒该MS入网。但由于CK与IK未在无线接口中传输,攻击者无法获得这些密钥而进行正常的通信。但是3G认证方案没有考虑到网络端的认证与保密通信。若攻击者X对VLR与HLR之间的信息进行窃听,就可能获得HLR传给VLR的认证向量AV从而获得CK与IK。此后攻击者X再假冒该MS入网,即可实现正常的保密通信,而合法用户传送的信息也就失去了保密性。 B. 由于用户在不同的PLMN(Public Land Mobile Network )之间漫游,这些不同PLMN甚至可以是在不同的国家,为了对用户进行鉴权认证,本地网络(HE/HLR)会把用户的鉴权五元组发送到漫游的网络的VLR/SGSN,在这个过程中,用户鉴权向量组,穿过不同的网络,很容易受到攻击。 C. 在用户开机注册到网络的时候,或者网络无法从TMSI恢复出IMSI的时候(比如VLR/SGSN的数据库错误),用户将向网络以明文形式发送IMSI,这是非常不安全的做法,很容易遭到中间人攻击的。 D. 加秘密钥和加密算法在3G中,不再是固定的(比如GSM中的A5加密算法是固定的)。但是必须要有一种安全的方法让用户和网络之间对加秘密钥和加密算法进行协商。

30 谢谢


Download ppt "3G安全体系结构 张方舟 2004年3月26日."

Similar presentations


Ads by Google