GSM无线通信系统的安全机制曾玉红北京城学院北京100083.docx
《GSM无线通信系统的安全机制曾玉红北京城学院北京100083.docx》由会员分享,可在线阅读,更多相关《GSM无线通信系统的安全机制曾玉红北京城学院北京100083.docx(9页珍藏版)》请在冰豆网上搜索。
GSM无线通信系统的安全机制曾玉红北京城学院北京100083
GSM无线通信系统的安全机制
曾玉红
(北京城市学院 北京 100083)
摘要:
本文将通过详细、系统的论述和分析,展示安全机制在GSM系统中的分布和组成,以及GSM中的加密算法,阐述GSM系统中的安全和加密机制是如何使其成为一个成功的安全的移动通信系统的。
最后本文将指出GSM系统中安全机制的缺点及其发展方向。
关键词:
GSM;无线通讯;安全机制
中图分类号:
TN918 文献标识码:
A 文章编号:
1008-4851(2005)-01-093-06
一、引言
作为当今世界上应用最为广泛的移动通信系统,由于用于传输数据和信令的无线信道内在的弱点,移动系统中天然具有不安全性。
一旦入侵者得到必要的信息,他就可以对用户和运营商形成多种攻击。
而在通常情况下,一个较低程度的攻击又可能会带来在更高程度上的和更加严重的攻击。
因此,在移动通信系统中必须要引入鉴别和安全机制。
GSM系统在确保整个通信系统性价比的基础上,在为用户提供全球无缝漫游、高质量的语音通话、数字通信等多种多样的业务服务的同时,包含有有效的加密和鉴别机制,可以做到防止通话被窃听、无线电话被盗用、信令和数据被截取。
GSM系统中的安全机制的目的是尽可能使得无线通信系统如有线网络一样安全,以保护用户的隐私和运营商的利益。
ITUT建议书中对GSM的安全机制进行了详细论述[参见参考文献8]。
本文将系统的阐述GSM系统所包含的安全和加密机制,是如何使其成为一个成功的安全的移动通信系统,最后指出其缺点和发展方向。
二、安全机制的分布
GSM系统由移动站(MS)、基站子系统(BSS)和网络子系统(NSS)三部分组成。
移动站和基站间通过无线连路连接,系统其他部分间则通过有线链路连接。
每个移动站,即移动电话,配有一个用户识别(SIM)卡。
在SIM卡中存有用户在GSM系统中的注册信息,包括:
给用户特定且唯一的身份标志的国际移动用户号(IMSI)、用户电话号码、鉴别算法(A3)、加密密钥生成算法(A8)、个人识别号(PIN)、单个用户鉴别密钥(Ki)等。
GSM移动电话又包含加密算法(A5)。
基站子系统用于连接移动电话和GSM网络。
基站通过无线信道与移动电话通信。
这是GSM系统中唯一使用无线信道的部分。
所以,ITUT建议中只考虑移动电话和基站之间的信息需要加密。
有线电话网通过网络子系统将各个GSM网络连接起来。
网络子系统中的本地区域注册(HLR)和访问区域注册(VLR)为移动业务交换中心(MSC)提供协调呼叫所需的全部信息。
在HLR中存有所有与本地用户相关的信息,如本地用户的IMSI、电话号码、登记业务和鉴别密钥(Ki)等永久数据和一些临时数据。
VLR包含与所有当前正在接受服务的用户有关的信息,除HLR中的永久数据外,还有一些如临时移动用户识别号(TMSI)这样的临时数据,为相应的MSC提供呼叫建立和鉴别阶段的支持。
设备识别注册(EIR)存有所有移动用户的IMEI及其在网络中的权限。
鉴别中心(AuC)是一个包含着GSM网络中最重要和最敏感信息的数据库,为GSM网络提供了鉴别用户、加密数据和信号所必需的全部信息。
这些信息包括:
每个用户的鉴别密钥(Ki),鉴别算法(A3),加密算法(A5),加密密钥生成算法(A8)。
AuC生成一系列随机数(RAND)、标识响应(SRES)和密码密钥(Kc),将它们传送并存储在HLR和VLR中,为鉴别和加密过程提供所需要的信息。
图1[引用自参考文献2]所示的是安全信息在GSM系统这三部分中的分布。
存储在这三部分中的信息在安全机制中缺一不可。
而安全信息和算法在整个系统不同部分的分布又为用户和系统地的安全提供了额外的保障。
图1:
安全信息在GSM网络中的分布
三、安全机制的组成
GSM系统中的安全机制由用户身份鉴别、用户身份保密性和信令及数据保密性组成。
在通话建立之前,系统通过一个呼叫响应过程进行用户身份鉴别,通过跟踪技术确定主叫位置。
被叫也可在接受通话前确认主叫身份。
存在SIM卡中的IMSI以及单个用户鉴别密钥(Ki)组成了GSM系统敏感的识别认证书。
GSM中鉴别和加密方案的设计保证了这些敏感信息不会通过无线信道传送。
移动用户是通过TMSI,而不是IMSI,来让网络识别自己,而TMSI由网络派送并周期性改变。
所以第三方不可能通过窃听对话来得到用户的真正识别。
GSM中通过无线信道传输的移动用户和基站之间的数据和信令由一个临时随机生成的加密密钥(Kc)加密。
Kc由用户和运营商保密。
这保证了系统用户的隐私,使系统不会被泄漏。
1. GSM的鉴别机制
鉴别是通过一个基于加密的调战响应机制识别GSM网络用户。
调战应答机制工作如下:
GSM网络向移动电话派送一个128比特的随机数(RAND)作为“呼叫”。
移动电话在收到呼叫后,用鉴别算法(A3)和分配给移动用户的单个用户鉴别密钥(Ki)对其进行加密,得到32比特的标识响应(SRES)。
然后,移动电话将加密后的呼叫,即标识响应(SRES),发回给GSM网络。
GSM网络在收到SRES之后,用同样的鉴别密钥Ki进行A3运算,以验证用户的身份。
如果GSM网络的运算结果与收到的SRES相同,移动电话就成功地通过了鉴别,可以继续与网络通信。
否则,连接就会中断。
图2[8]所示为GSM网络的鉴别机制以及各部分如何应用Ki及A3算法.
图2:
GSM系统中的鉴别机制
在鉴别过程中,入侵者所能从无线信道中得到的是本次的调战和标识响应。
但下一次将是一个新的随机调战及其对应的标识响应。
因此,窃听无线信道的入侵者不会在鉴别过程中得到形成一次攻击所需的足够有用信息。
2. GSM的信令和数据保密性
在鉴别过程完成之后,GSM网络和用户之间便可进行信令和数据通信。
在通信过程中,它们之间的信令和数据都必须适当地进行加密,以确保其保密性。
A.生成加密密钥(Kc)
在GSM系统中,对信令和数据进行加密和解密的密钥及算法均不同于用于鉴别过程的密钥和算法。
首先我们来看如何生成加密密钥(Kc)。
将之前在鉴别过程中使用过的相同的随机数(RAND)以单个用户鉴别密钥(Ki)为密钥,用密码密钥生成算法(A8)进行运算,结果便是64比特的用于加密信令和数据的加密密钥(Kc)。
图3所示为在系统中如何生成加密密钥(Kc)。
图3:
加密密钥生成机制
Kc由包含A8和Ki的SIM卡和AuC生成。
而在AuC中生成的Kc又被提供给HLR和VLR。
由于随机数RAND的不断改变,由其生成的Kc也会随之不断变化。
这使得系统的安全系数得到进一步提升。
Kc是在SIM卡和AuC内部生成的。
所有的敏感信息都没有经过无线信道传输。
因此,所有敏感信息都得到了很好的保护。
B.信令和数据的加密与解密
在移动电话和GSM网络间的语音和数据通信需要通过加密算法A5使用加密密钥Kc进行加密。
首先,基站向移动电话发送一个密码模式请求命令来初始化它们之间的加密通信。
移动电话在收到这个命令后,使用加密算法A5和加密密钥Kc对数据进行加密和解密。
基站也用同样的密钥和算法对发送和接受的数据进行加密和解密。
由此,移动电话和GSM网络间的信令和数据交换就得以保密。
图4所视为GSM系统密码模式的初始化机制。
图4:
密码模式初始机制
图5[引自参考文献2]所示为从Kc的生成到数据加密的完整的加密机制。
图5:
使用密码密钥加密数据
3. 用户身份认证(匿名)
临时移动用户身份(TMSI)用于确保用户身份的保密性。
TMSI是GSM系统用户的临时标示符。
它存储在GSM网络的VLR中,并分配给GSM网络的相应用户。
它用于在一定时间内代替用户的真实身份。
这样可以保证IMSI不经过无线网络传输。
TMSI 分配和再分配给系统用户的过程如下:
∙ 当一个用户第一次打开他的移动电话时,使用的是存储在他的SIM卡中的IMSI。
在鉴别和加密过程之后,GSM系统将由A5算法使用Kc加密后的TMSI派送给移动电话。
∙ 移动电话在收到TMSI后,发送由同样的算法和密钥加密后的响应来确认接受。
之后,当用户和网络通信时,他使用临时标识代替真正的身份。
图6所示为TMSI在系统中分配和再分配的过程。
图6:
GSM系统中TMSI分配和再分配机制
而TMSI再分配过程中的加密可以被视为进一步的安全措施。
这样,要得到一个用户的临时身份的唯一方法就是跟踪用户来破解它现在的TMSI。
这点在系统外部是很难办到的。
TMSI在本地区域内有效。
对于在本地区域之外的地方通信,除TMSI外,区域识别码(LAI)也是确保用户身份保密性所必需的。
四、GSM中的加密算法
网络中的敏感信息,如密钥和算法,决不在无线信道中以明文形式传送。
所用在移动用户和GSM网络间的通信都是经过加密的。
在这一部分,我们讨论GSM系统中的加密算法。
1.鉴别和密钥生成算法(A3/A8)
GSM中的A3和A8算法都是基於密钥的单向碰撞函数。
它们通常合在一起,统称为COMP128。
COMP128算法目前被几乎世界上所有GSM系统所采用,用在鉴别过程中,存储在SIM卡和AuC中。
A3的输入是GSM网络发给移动电话的一个128比特的随机数呼叫和单个用户鉴别密钥(Ki),输出为一个32比特的标示响应。
这个标示响应发回到网络,与网络自己生成的结果进行比较。
如果二者相符,用户便得到了鉴别。
A8的输入也是随机数和Ki,输出为一个64比特的加密密钥(Kc)。
图7:
A3鉴别机制
图8:
A8密钥生成机制
图7[引自参考文献1]所示为GSM系统中的A3鉴别机制。
图8[引自参考文献1]所示为GSM系统中的A8密钥生成机制。
2.加密算法(A5)
GSM系统中的移动电话和基站之间的信令和数据通过加密算法A5使用从A8中得到的加密密钥(Kc)进行加密和解密。
当前有三种A5算法在使用中。
A5/1被认为是这三种中性能最好的加密算法,被应用在西方国家。
A5/2比A5/1在性能上差很多,被用在由于出口限制而禁用A5/1的地区。
A5/0虽然也是A5的一种,但实际并不对数据进行加密。
在A5/1和A5/2算法中,GSM网络向移动电话发送一个加密模式请求命令,使其开始加密数据。
移动电话从SIM卡中得到在鉴别过程中由A8生成的Kc,用它对数据进行加密和解密。
五、GSM的技术缺陷
虽然GSM系统提供了定的安全框架,但从现在观点看它所用的安全机制仍然有很多缺陷。
这些安全方案不能保证GSM的每一个组成部分和每一种服务都免受攻击。
主要问题集中在以下方面。
1.安全系统内在的弱点
由于GSM系统只在接入阶段提供安全措施,固定网络中的数据和信令传输并未得到充分的保护。
在AuC中存着几乎一个GSM网络入侵者想要得到的全部信息。
在HLR和VLR中也存着在鉴别和加密过程中所使用的信息。
如果一个入侵者能得到这些信息,它就可以控制网络的全部工作。
SIM卡易受一种称为“SIM克隆”的攻击。
这是一种对用户和系统都很严重的威胁。
如果入侵者可以得到用户的SIM卡并获得它所存储的关键信息,如Ki,它就可以再做一个SIM卡来盗用这部电话。
2.支持数据业务的引入的弱点
GSM系统中不断增加的新业务也带来了新的安全问题。
短信息业务利润丰厚,也很受用户欢迎。
但这项业务并不安全,因为信息在传输时并未加密,易受攻击。
幸运的是目前这一隐患并没有带来太大问题,而且可望在未来的3G中得到解决。
而为用户提供Internet接入的通用分组无线业务(GPRS)中,由于使用与Internet中相同的设备和协议,来自Internet的黑客和可接触到手机的人都可对他发动攻击。
3.加密算法的弱点
DavidWagner和IanGoldberg[参考文献5]曾用不到一天的时间破解了COMP128算法。
他们指出了其中的缺陷,并证实了在得到SIM卡的情况下,存在其中的Ki可在8小时内被破解出来。
这样就会引发“SIM克隆”攻击。
然而,GSM运营商和SIM卡的制造商都不愿意,也无法用其他算法来取代A8/A3。
因为COMP128已经在全世界范围内得到了广泛使用。
A5/1的算法从未被正式公布,但曾有人对它的机制和弱点进行了详细的描述。
有人发现了三种可能对A5/1发动有效攻击的方法。
所以,它并不是所想得那么可靠。
A5/2比A5/1复杂,可却几乎没用,因为有人可以用不到一天的时间完全破解它。
而A5/0实际上就没有加密。
因此,虽然GSM系统比传统的模拟移动通信系统安全,但并未尽善尽美,其中仍有很多问题。
在即将到来的3G系统中,将有更加细致完善的方法和新技术来解决安全问题。
六、结论
虽然存在着一些安全隐患和问题,GSM网络中所使用的鉴别、加密、临时鉴定号码等安全机制使其成为目前正在使用的最安全的移动通信系统之一。
随着3G技术的成熟及其在GSM系统中的应用,GSM系统将更加安全。