资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Noahs Ark,3G平安体系结构,张方舟,2004年3月26日,GSM的平安体系结构,GSM的平安体系结构,GSM网络中用户身份的保密,用户有可能会在无线信道上发送IMSI,这样很容易被人为截取。为了减少IMSI在无线信道上的传输,GSM系统采用临时用户身份TMSI。在VLR处存储TMSI和IMSI之间的对应关系。这样一般来说,只有在用户开机或者VLR数据丧失的时候IMSI才被发送,平时仅在无线信道上发送移动用户相应的TMSI。,GSM系统中的用户鉴权,在GSM系统中,AuCAuthentication Center,用户鉴权中心为每个用户准备了“鉴权三元组RAND,XRES,Kc,存储在HLR中。当MSC/VLR需要鉴权三元组的时候,就向HLR提出要求并发出一个消息“MAP-SEND-AUTHENTICATION-INFO给HLR该消息包括用户的IMSI,HLR的答复一般包括五个鉴权三元组。任何一个鉴权三元组在使用以后,将被破坏,不会重复使用。,当移动台第一次到达一个新的MSCMoblie-Service Switching Center,移动业务交换中心时,MSC会向移动台发出一个随机号码RAND,发起一个鉴权认证过程MS移动到一个新的MSC时,发起的是TMSI 而不是IMSI,GSM的平安体系结构,GSM的平安体系结构,1AuC产生一个随机数RAND,通过AuC中的A3、A8算法产生认证鉴权向量组RAND,XRES,Kc。,2VLR/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 中。,GSM的平安体系结构,鉴权过程完成以后,MSC将鉴权三元组中的Kc传递给基站BTS。这样使得从移动台到基站之间的无线信道可以用加密的方式传递信息,从而防止了窃听。GSM系统中无线链路信息加解密过程如以下图所示,64bit的加密密钥Kc,再和当前帧号Fn22bit作为A5算法的输入,计算密钥流。对消息进行逐位异或加密,将密文从移动台传递到基站。基站接收到加密的信息,用相同的密钥流逐位异或来解密。,GSM的平安体系结构,GSM中平安要素的分布:GSM系统中,平安要素分布在不同的网络实体平台上。,阴影单元随网络政策变化是时间的函数,白色单元不随时间变化,GSM的平安体系结构,AuC鉴权认证中心存放每个用户的国际移动用户身份IMSIInternational 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是不在网络中传递的,从而增强了网络的平安性。,GSM的平安体系结构,GSM存在的平安问题:,一、GSM系统中的认证是单向的,只有网络对用户的认证,而没有用户对网络的认证。因此存在平安漏洞,非法的设备如基站可以伪装成的合法的网络成员,从而欺骗用户,窃取用户的信息。,二、GSM系统中的加密不是端到端的,只是在无线信道局部即MS和BTS之间进行加密。在固定网中没有加密,采用明文传输,这给攻击者提供了时机。,三、在移动台第一次注册和漫游时,IMSI可能以明文方式发送到VLR/MSC,如果攻击者窃听到IMSI,那么会出现 “克隆。,四、在移动通信中,移动台和网络间的大多数信令信息是非常敏感的,需要得到完整性保护。而在GSM网络中,没有考虑数据完整性保护的问题,如果数据在传输的过程中被篡改也难以发现。,五、随着计算机硬件技术进步带来的计算速度的不断提高,解密技术也不断开展。GSM中使用的加密密钥长度是64bit,在现在的解密技术下,已经可以在较短时间内被破解。,六、在GSM系统中,加密算法是不公开的,这些密码算法的平安性不能得到客观的评价,在实际中,也受到了很多攻击。,七、在GSM系统中,加密算法是固定不变的,没有更多的密钥算法可供选择,缺乏算法协商和加密密钥协商的过程。,3G的平安体系结构,GSM和3G的平安比较,3G的平安体系结构,3G的平安体系结构,3G的平安体系结构,3G的平安功能结构,3G的平安体系结构,平安措施分为5类:,一、增强用户身份保密EUIC:通过HE/AuC本地环境/认证中心对USIM用户业务识别模:块身份信息进行认证;,二、用户与效劳网间身份认证UIC;,三、认证与密钥分配AKA:用于USIM、VLR/SGSN访问位置存放器/效劳GPRS支持节点、HLR归属位置存放器间的双向认证及密钥分配;,四、数据加密DC:UE用户终端与RNC无线网络控制器间信息的加密;,五、数据完整性DI:用于对交互消息的完整性、时效性及源与目的地进行认证。,系统定义了11个平安算法:f0、f1*、f1f9,以实现其平安功能。f8、f9分别实现DC和DI标准算法。f6、f7用于实现EUIC。AKA由f0f5实现。,3G的平安体系结构,3,G,鉴权认证过程,3G的平安体系结构:认证鉴权过程祥解,一、认证中心AuC为每个用户生成基于序列号的认证向量组(RAND,XRES,CK,IK,AUTN),并且按照序列号排序。AuC产生认证向量组的流程如以下图所示:,f0是一个伪随机数生成函数,只存放于AuC中,用于生成随机数RAND。3G认证向量中有一个“认证令牌AUTN,包含了一个序列号,使得用户可以防止受到重传攻击。其中AK是用来在AUTN中隐藏序列号,因为序列号可能会暴露用户的身份和位置信息。,3G的平安体系结构:认证鉴权过程祥解,二、当认证中心收到VLR/SGSN的认证请求,发送N个认证向量组给VLR/SGSN。在VLR/SGSN中,每个用户的N个认证向量组,按照“先入先出FIFO的规那么发送给移动台,用于鉴权认证。,3G的平安体系结构:认证鉴权过程祥解,三、VLR/SGSN初始化一个认证过程,选择一个认证向量组,发送其中的RAND和AUTN给用户。用户收到后RAND|AUTN后,在USIM卡中进行以下操作。,3G的平安体系结构:认证鉴权过程祥解,l 首先计算AK并从AUTN中将序列号恢复出来SQN=(SQNAK)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),3G的平安体系结构:认证鉴权过程祥解,四、如果用户计算出SQN(序列号)不在USIM认为正确的范围内,将发起一次“重新认证,3G的平安体系结构:用户信息加密,在完成了用户鉴权认证以后,在移动台生成了加密密钥,CK,。,这样用户就可以以密文的方式在无线链路上传输用户信息和信令信息。发送方采用分组密码流对原始数据加密,采用了,f8,算法。接收方接收到密文,经过相同过程,恢复出明文。,COUNT,:,密钥序列号,,32,bit,BEARER,:,链路身份指示,,5,bit,DIRECTORY,:,上下行链路指示,,1,bit,,,消息从移动台到,RNC,,,取值为,0,;反之为,1,。,LENGTH,:,密码流长度指示,,16,bit,CK,:,加密密钥,,128,bit,3G的平安体系结构:用户信息完整性保护,在3G中,采用了消息认证来保护用户和网络间的信令消息没有被篡改。发送方将要传送的数据用完整性密钥IK经过f9算法产生的消息认证码MAC,附加在发出的消息后面。接受方接收到的消息,用同样的方法计算得到XMAC。接收方把收到的MAC和XMAC相比较,如果两者相等,就说明收到的消息是完整的,在传输过程中没有被修改。,COUNT-I:密钥序列号,32bit,MESSAGE:消息,DIRECTORY:上下行链路指示,1bit。消息从移动台到RNC,取值为0;反之为1。,FRESH:网络生成的一个随机数,32bit,IK:完整性密钥;128bit,MAC-I:消息认证码,3G的平安体系结构:增强的用户身份认证EUIC,EUIC的实现过程对IMSI的加密和解密算法,GK:用户入网时,与HE/AuC及群中的其他用户共享的群密钥。,SQN_UIC:USIM产生的序列号,每次均不同。,3G的平安体系结构:IMSI的组成,MSINMobile Station Identity Number:移动用户鉴权号码,是IMSI组成局部之一。,MCC:移动通信国家码,MNC:移动网络码,3G的平安体系结构:3G中的密钥协商机制,3G系统中,增加了密钥协商机制,在认证和密钥协商机制的执行过程中实现。加密算法协商和完整性算法协商都是通过用户和网络之间的平安协商机制实现的。,当移动台需要与效劳网络之间以加密方式通信时,以以下规那么做出判断:,1)如果移动台和效劳网络没有相同版本的UEA加密算法,但是网络规定要使用加密连接,那么拒绝连接。,2)如果移动台和效劳网络没有相同版本的UEA加密算法,但是网络允许使用不加密的连接,那么建立无加密的连接。,3)如果移动台和效劳网络有相同版本的UEA,由效劳网络选择其中一个可接受的算法版本,建立加密连接。,3G系统中预留了15种UEA的可选范围。,为了实现用户信息和信令信息的完整性保护,效劳网络与移动台之间以以下规那么进行算法协商:,1)如果移动台和效劳网络没有相同版本的UIA完整性算法,那么拒绝连接。,2)如果移动台和效劳网络有相同版本的UIA,由效劳网络选择一种可接受的算法版本,建立连接。,3G系统中预留了16种UIA的可选范围。,通过实现算法协商,增加了3G系统的灵活性,是不同的运营上之间只要支持一种相同的UEA/UIA,就可以跨网通信。,3G的平安体系结构:2G和3G共存网络的平安性准那么,USIM,用户,SIM,用户,3,G VLR,3,G,安全上下文,2,G,安全上下文,2,G VLR,2,G,安全上下文,2,G,安全上下文,2,G,和,3,G,共存网络的接入环境,2G和3G共存的情况下向用户提供的平安性,3G的平安体系结构
展开阅读全文