1、湖南文理学院课程设计报告课程名称: GSM 的安全体系 专业班级: 通信 10102 班 学号 39 学生姓名: 潘洋 指导教师: 杜云峰 完成时间: 2013 年 12 月 10 日 报告成绩: 湖南文理学院制评阅意见:评阅教师 日期 2013.10.10 0GSM 的安全体系目 录第一章 GSM 的安全体系结构 .21.1 GSM 网络中用户身份的保密 .21.2 GSM 系统中的用户鉴权 .21.3 GSM 中安全要素的分布 .4第二章 GSM 存在的安全问题 .52.1 GSM 系统中的认证是单向的 .52.2 GSM 系统中的加密不是端到端的 .5第三章 GSM 系统中端到端的安全实
2、现 .53.1 GSM 系统中端到端的安全实现概述 .53.2 GSM 端到端安全实现 .63.3 端到端安全名词释义 .63.4 GSM 端到端安全通信前提 .73.5 GSM 端到端安全通信流程 .73.6 GSM 系统中端到端的安全实现的优点 .83.7 GSM 系统中端到端的安全的潜在威胁 .8第四章 心得体会 .94.1 心得体会 .9参考文献 .101第一章 GSM 的安全体系结构1.1 GSM 网络中用户身份的保密 用户有可能会在无线信道上发送 IMSI,这样很容易被人为截取。为了减少 IMSI 在无线信道上的传输,GSM 系统采用临时用户身份 TMSI。在 VLR 处存储 TM
3、SI 和 IMSI 之间的对应关系。这样一般来说,只有在用户开机或者 VLR 数据丢失的时候 IMSI 才被发送,平时仅在无线信道上发送移动用户相应的 TMSI。1.2 GSM 系统中的用户鉴权在 GSM 系统中,AuC(Authentication Center,用户鉴权中心)为每个用户准备了“鉴权三元组” (RAND,XRES,Kc) ,存储在 HLR 中。当 MSC/VLR 需要鉴权三元组的时候,就向 HLR 提出要求并发出一个消息“MAP-SEND-AUTHENTICATION-INFO”给 HLR(该消息包括用户的 IMSI) ,HLR 的回答一般包括五个鉴权三元组。任何一个鉴权三元
4、组在使用以后,将被破坏,不会重复使用。当移动台第一次到达一个新的 MSC(Moblie-Service Switching Center,移动业务交换中心)时,MSC 会向移动台发出一个随机号码 RAND,发起一个鉴权认证过程(MS 移动到一个新的 MSC 时,发起的是 TMSI 而不是 IMSI)MS VLR/SGN HE/LRGenrate uthenticationvctors AV(1.)Store authentication vectorsSelct authentication vector AV(i)Authentication dat requstAuthentication
5、 dat responseAV(1.)User authentication requstRAND(i) |AUTN(i)User authentication responseRES(i)Compare RES(i) and XRES(i)Verify AUTN(i)Compute RESiCompute CK(i) and IK(i) Selct CK(i) and IK(i) Authentication adky stblishmetDistribution fauthenticativctors from HEt SN2(1)AuC 产生一个随机数 RAND,通过(AuC 中的)A3
6、、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 从来不
7、通过空中接口传送,存储在 MS 和 AuC 内的 Kc 都是由 Ki 和一个随机数通过 A8 算法运算得出的。密钥 Ki 以加密形式存储在 SIM 卡和 AuC 中。鉴权过程完成以后,MSC 将鉴权三元组中的 Kc 传递给基站 BTS。这样使得从移动台到基站之间的无线信道可以用加密的方式传递信息,从而防止了窃听。 ( GSM 系统中无线链路信息加解密过程如下图所示)A3RAND(128bit)Ki(128bit) XRES(32bit) A8RAND(128bit)Ki(128bit) Kc(64bit)A5MS BTSKc(64bit)A5Fn(2bit) Fn(2bit)Kc(64bit)
8、14bitkeystream 14bitkeystream明 文 明 文密 文无 线 信 道364bit 的加密密钥 Kc,再和当前帧号 Fn(22bit)作为 A5 算法的输入,计算密钥流。对消息进行逐位异或加密,将密文从移动台传递到基站。基站接收到加密的信息,用相同的密钥流逐位异或来解密。1.3 GSM 中安全要素的分布GSM 系统中,安全要素分布在不同的网络实体平台上。阴影单元随网络政策变化是时间的函数,白色单元不随时间变化AuC(鉴权认证中心)存放每个用户的国际移动用户身份 IMSI(International Mobile Subscriber Identity) ,用于用户开机登陆
9、网络或者在临时移动用户身份 TMSI 不能使用时验证或搜索用户;存放用户的密钥 Ki(在用户使用 IMSI 接续的时候,Ki 被授予给用户) ;为完成鉴权过程,AuC 要负责生成随机值 RAND;AuC 中还存放了鉴权算法 A3 以及数据加密密钥生成算法 A8。VLR/MSC 为每个 IMSI 存放若干鉴权三元组。为了避免 IMSI 被截取,需要最大限度地减少在无线信道上传送。因此在 VLR 中记录 TMSI 与 IMSI 的的对应关系,仅在无线信道上发送移动用户的 TMSI。BTS 中存储编码算法 A5 和密钥 Kc,用于解密接收到的密文形式的用户数据和信令数据(包括解密) 。MSSIM B
10、TS VLR HLR/AUCKcA5Kc TMSIKcRANDXRESIMSIKiA3A8IMSIA8A3KiKcTMSIA5 IMSIRAND4移动台将鉴权算法 A3 和数据加密密钥生成算法 A8、用户密钥 Ki 以及用户身份 IMSI (TMSI)存储在 SIM 卡中。SIM 卡是一种防篡改的设备,增强了算法和密钥的安全性。编码算法 A5 和由 A8 计算出的加密密钥 Kc 存储在手机中。由此可以看出 A3、A8、A5、Ki、Kc 是不在网络中传递的,从而增强了网络的安全性。第二章 GSM 存在的安全问题2.1 GSM 系统中的认证是单向的只有网络对用户的认证,而没有用户对网络的认证。因此
11、存在安全漏洞,非法的设备(如基站)可以伪装成的合法的网络成员,从而欺骗用户,窃取用户的信息。2.2 GSM 系统中的加密不是端到端的只是在无线信道部分即 MS 和 BTS 之间进行加密。在固定网中没有加密,采用明文传输,这给攻击者提供了机会。在移动台第一次注册和漫游时,IMSI 可能以明文方式发送到 VLR/MSC,如果攻击者窃听到 IMSI,则会出现手机“克隆” 。在移动通信中,移动台和网络间的大多数信令信息是非常敏感的,需要得到完整性保护。而在 GSM 网络中,没有考虑数据完整性保护的问题,如果数据在传输的过程中被篡改 也难以发现。随着计算机硬件技术进步带来的计算速度的不断提高,解密技术也
12、不断发展。GSM 中使用的加密密钥长度是 64bit,在现在的解密技术下,已经可以在较短时间内被破解。在 GSM 系统中,加密算法是不公开的,这些密码算法的安全性不能得到客观的评价,在实际中,也受到了很多攻击。在 GSM 系统中,加密算法是固定不变的,没有更多的密钥算法可供选择,缺乏算法协商和加密密钥协商的过程。第三章 GSM系统中端到端的安全实现3.1 GSM 系统中端到端的安全实现概述安全是目前移动通信领域中一个主要关注的问题。相比较于模拟移动通信系统,GSM 5给出了更高等级的安全加密方案:通过对用户的认证,以防止未授权用户的进入;通过对无线信道的加密,防止非法用户的监听;通过对用户身份
13、的保护,防止用户位置信息的泄漏。显示了在 GSM 系统中可用的安全特征。但是 GSM 的安全规范仍然存在着安全隐患:第一,这个加密仅仅发生在空中接口,在一个 BTS 到另一个 BTS 的信道上易受到窃听。第二,用户不能够知晓加密是否被利用或是怎样被利用。GSM 服务提供者决定了加密是否被利用。在一些情况下,当地政府决定了无线链路是否需要加密。所有这些情况,将导致用户不能够控制端到端通信的安全性。第三,按照 GSM 规范实施的加密方案只提供较低等级的安全保证。总而言之,在现有 GSM 通信系统中,仅仅在移动台和 BTS 之间的通信处于安全模式,这意味着在每个 BTS 上,通信的内容都可以明文的形
14、式出现。 2这表明现有的 GSM 安全方案不能够提供端到端的安全通信。保证用户通信安全的唯一可能是,GSM 系统使用一种端到端的加密策略。仅仅发送方和接收方能够解密通信的内容。对网络服务提供者而言,端到端的安全策略应该是透明的。这篇文章提出的端到端安全策略,便是利用独立于网络服务提供者之外的安全机构,产生端到端用户安全通信的密钥,并对网络服务提供者保持透明,从而为用户提供安全的端到端连接。3.2 GSM 端到端安全实现在 GSM 移动通信系统中,如图 2 所示,通过增加一个独立于网络服务提供者之外的安全控制中心,来实现用户之间端到端的安全通信。 -3.3 端到端安全名词释义安全控制中心(SCC
15、):用户端到端的安全通信密钥产生中心,用于向端到端用户会话提供对称加密密钥。安全密钥(K s):用于移动终端和安全控制中心之间的密钥安全传输。它存储在用户终端和安全控制中心之中。作用类似于 GSM 系统中 Auc 和 SIM 卡中存储的 Ki。端到端会话密钥( K ee ):由安全控制中心产生的端到端会话加密密钥。6安全控制中心与移动终端安全会话密钥(K su):用于在安全控制中心和移动终端之间安全的传输端到端会话密钥。3.4 GSM 端到端安全通信前提 1.移动终端在安全控制中心注册,获得安全密钥 Ks,该安全密钥由安全控制中心分配,并存储在用户的 SIM 卡中 3。此过程为人工过程。用户到
16、安全控制中心注册以获得该项服务。K s以相当保密的方式存储于 SIM 卡和安全控制中心。对用户和移动网络运营商都是保密的。 2.移动终端和安全控制中心共享 Ks以及密钥生成和加密算法 4。 2.通信的双方均需要在安全控制中心注册,否则将无法进行端到端的安全通信。 3.移动终端对加密方案的支持。在端到端的安全加密方案中,需要移动终端在将信息发送到网络之前将信息进行加密。因此需要终端对所需加密算法的支持以及在语音业务时对时延的保证。4.移动网络运营商对安全控制中心的安全接入。3.5 GSM 端到端安全通信流程如图 3 所示: 1. MS1 向安全控制中心发出会话密钥请求。此过程中需要 MS1 向安
17、全控制中心提供会话另一端 MS2。2. SCC 通过 MS1,查询对应的 Ks1;通过 MS2,查询对应的 Ks2。3. 安全控制中心生成挑战值 RAND1,RAND2,并由密钥生成算法 f1 产生: Ksu 1= f1 (Ks1, RAND1) Ksu 2= f1 (Ks2, RAND2) 4. 安全控制中心生成端到端会话密钥 Kee,并由加密算法 f2 加密: f2 Ksu 1(K ee) ,f2 Ksu2(K ee) 5安全控制中心将已加密的会话密钥 Kee以及挑战值发送给 MS。6MS 由存储于 SIM 卡中的安全密钥 Ks和挑战值,并由密钥生成算法: Ksu 1= f1 (Ks1,
18、RAND1) Ksu 2= f1 (Ks2, RAND2) 由于 MS 和安全控制中心共享 Ks以及密钥生成算法,因此Ksu 1 = Ksu 1;K su 1 = Ksu 1 7这样MS1,MS2通过解密算法即可得到端到端会话密钥K ee,从而完成对称密钥在端用户间的分发。3.6 GSM 系统中端到端的安全实现的优点本文提到的端到端安全实现方法中,端用户用于通信加密的密钥是由安全控制中心提供的,对网络服务者是透明的。因此,能够有效地防止网络服务商对用户通信信息的非法监听。其次,对安全控制中心而言,由于它只提供端用户之间的安全会话密钥,并不能触及用户通信期间已加密的会话内容,因此也无法窃听到用户
19、的通信。这样,就形成了安全控制中心和网络服务商共同对端到端用户安全通信的保证,并相互监督与制约的机制。再次,这种方法提供的端到端安全保证,每次端用户会话都采用了不同的密钥,从而更有效的保证了通信的安全。更为重要的一个方面是,由于存在别有用心的人对端到端安全通信的非法利用,政府某些职能部门在某些时刻需要对用户的通信实行监控。这种方法能够很好的解决这个问题。由网络提供者和安全控制中心的合作,即可对用户的通信实施有效的监控。因此,从本质上说,本文提到的端到端的安全通信,并不是一种真正意义上的端到端的安全通信。在加密算法足够强的情况下,真正有效的端到端安全保证是无法被监控的。由于这种方法既能够有效的保证用户正常通信的安全,在需要的时候又能够对用户的通信实施有效的监控,因此是一种极为适合的方案。3.7 GSM 系统中端到端的安全的潜在威胁1.由于安全控制主密钥 Ks存储在 SIM 卡中,它同 GSM 认证中的主密钥 Ki一样,有可能以物理的方法用特殊的手段读出的可能性。1998 年 4 月,智能卡开发协会(Smartcard Developer Association ,SDA) 攻破了 SIM 卡上的 COMP128 算法,利用几个小时成功的获得了卡中存储的 Ki ;2002 年 5 月,IBM 研究人员发现一个新的快速获取密钥 Ki的方法。