王择
移动通信中的安全机制
王择
海军工程大学,湖北 武汉 430033
随着移动通信技术的不断发展,人们可以方便地通过通信系统来获得语音以及各种的信息服务,移动通信已经和人们的生活紧密相连了,人们在体验移动通信的便捷服务时对其安全的要求也是越来越高。在此,首先介绍了其安全需求以及安全设计所面临的挑战,接着重点研究了我们生活中运用最为广泛的蜂窝移动网络安全机制,它主要包含了第二代、第三代的移动通信网络的安全机制及安全协议,最后针对移动通信用户身份保密的问题提出解决方法。
移动通信;安全需求;设计挑战;安全机制
移动通信的发展速度迅猛,目前我国的移动用户已突破4亿,可以说已经进入了移动通信的时代。正是由于人们越来越多地使用移动通信网络,所以移动通信的安全性就越发显得重要。移动网络有很多的安全问题,不仅可能会导致人们遭受经济损失,也有可能会对国家的安全造成威胁,所以研究移动通信的安全机制是非常有现实意义的,它的分析研究对维护人们的信息安全有着非常重要的作用。[1]
由于移动通信是一种无线连接技术,所以攻击者可以对网络攻击而不必有物理性的网络连接,因此其网络更容易被攻击。我们最为常见的一些攻击形式有窃听、伪装、话务量分析、滥用权限服务以及干扰等。作为移动通信服务的供应商有义务为用户提供一些安全机制,确保用户的机密不被泄露和窃取。
2.1 第二代移动通信网络的安全机制
2.1.1 GSM的安全机制
作为在世界上应用非常广泛的蜂窝通信标准的GSM,它对用户欺骗以及窃听可以起到一定的抵制作用。GSM系统的安全实体有:SIM卡(用户识别模块),GSM手机和基站,GSM网络子系统。GSM的关键数据包括一是用户鉴别密钥Ki作为在Auc和SIM卡之间可以进行共享,并且是生产会话密钥的一个最为基础的机密信息。二是国际的移动用户身份,这个在世界范围内用户使用的唯一的标识码。三是临时的移动用户身份和位置区域的标识码同时进行使用,以掩饰用户的身份达到不被窃听的目的。还有就是Ki以及IMSI它们在通过物理保护的方法被存储在SIM卡中并对非法的访问进行限制,而且Ki不通过网络进行传输。其关键的密码学算法有第一是算法A3它的目的是对用户进行鉴别;第二个是算法A8,它的作用是产生出所需的会话密钥;第三个是算法A5它的主要作用是对手机到基站或者是基站到手机的会话进行加密以及解密。针对于GSM的鉴别,在里面利用了鉴别三元组,它通过Auc而产生然后在HLR中进行存储,假如说用户不在本地使用而到了别的地方,这时要利用鉴别协议来把相应的鉴别三元组发给那个地区的VLR。
2.1.2 GSM的鉴别和密钥分发过程
在“挑战-----应答”这个GSM的鉴别协议过程中挑战数据RAND以及应数据SRES经过AC的计算之后将结果传给VLR,这个过程中还会分发用户会话所需的会话密钥。[3]其主要的流程是当移动站在到达了新的基站,会利用明文的方式来向基站发送IMSI来请求建立会话,这时被访问的VLR与移动站两者之间还是不能进行鉴别。由于用户的Ki不能被VLR所获得,因此,VLR就把自己的身份标识号以及用户的IMSI给了HLR/AuC,以此作为请求的信息。然后,HLR/AuC就会利用一个包含很多个的鉴别三元组的数据进行应答。这样就保护了用户的鉴别密钥。
2.1.3 GSM的加密以及解密的过程
GSM的主要的加密以及解密的关键的算法A5不在SIM卡运行,而是在手机上运行。为了保证移动站与其访问的通信的安全性,GSM网络和移动站Kc 22比特的TDMA时分多址信号输进了A5算法。[4]然后生成了228比特的密钥流,并把其分成二部分。前一部分114比特主要的作用是加密和解密从网络传到用户方向的数据;后一部分的主要目的是用户到网络的数据的加密和解密。
2.1.4 GSM的安全性分析
所用的GSM它的主要的安全缺陷:一是只能单方面地进行鉴别,就是指用户的身份可以被基站鉴别,反之则不行,这样就会导致伪基站对其进行攻击。而且鉴别安全协议没有时间限制,因此就导致了伪基站能无限使用破译的密钥,实施对用户的窃听。二是由于在VLR存储了鉴别三元组,就导致其会在内部受到攻击。三是在其核心的网络中没有设置加密,这样很容易导致用户的会话密钥泄露。四是只对用户的传输的书据进行了加密,对其数据的完整性并没有进行保护。
2.2 第三代移动通信网络的安全机制
2.2.1 鉴别与密钥协商协议
针对第三代的移动通信最为重要的协议是认证与密钥协商协议(AKA)。ISO的按照序列号的鉴别协议以及GSM的鉴别协议两者一起组成了AKA双向的鉴别机制。AKA的主要的参考数有:AV(由五个元素组成的鉴别向量)、 RAND(由HLR/Auc所产生的随机数)、 XRES(网络端想获得的“响应”)、CK(加密密钥)、IK(完整的密钥)、AUTN(鉴别令牌)、K(被USIM及HLR/Auc一起使用的主密钥)、SQN(系统的序列号)、AK(匿名密钥)、AMK(鉴别的管理域)、MAC(消息的鉴别码),其主要的关键算法有:f1*,f1,f2,f3,f4,f5*,f5,F8和F9。其中的f1计算得出MAC码值。f1*是在同步的情况下对消息的鉴别码进行计算。f2对鉴别响应的值进行计算。f3计算CK。f4计算IK。f5*在同步的情况下对匿名密钥进行计算。f5计算AK。F8是会话的加密算法。F9是会话的完整性算法。[5]
2.2.2 加密和解密的过程
由于加解密的过程是在移动设备以及RNC之间的信道上来发生的,它是利用f8算法的一种流行的加密方法,密钥长度为128比特,会产生密钥流所需的参数CK、加密计算器认证身份和方向以及密钥流的长度。还可以在15种的密码学的算法中来选择f8算法,KASUMI算法是3GPP要推荐使用的一个标准的算法。
2.2.3 完整性保护
移动设备以及网络之间通过发送大部分的控制信息来实现完整性保护,用户的数据并不在其作用的范围之内,所选择的算法是f9。它在产生消息的鉴别码时,不仅需要信令数据以及IK这些参数,还需要随机数以及完整性的计数器和方向。根据这些参数发送方来对消息的鉴别码进行计算。再把消息鉴别码经过无线链路的方式送出。而接受方也是采取和发送方一样的算法来获得鉴别码,如果他们是相同的就可以说明数据是完整的。
2.2.4 移动通信用户身份保密安全性的不足
主要的不足就是针对用户的身份不能提高更加完善的保密措施,虽然TMSI来代替VLR可以对用户的IMSI来进行保护,但是如果这个注册失效了,就会选择明文的方式把信息发送到服务的网络上,攻击者能轻而易举的窃听到,而导致用户被定位或者是跟踪。
2.3 移动通信用户身份保密的增强方法
本文所采取方法是基于公钥的一种算法,通过给每一个的HLR/Auc都配置一个不同的公钥,还有就是在用户而对卡中把其公钥进行存储在里面。
图1
上图1是实现的主要过程,在图中,HLR/Auc的公钥就是KuAuc。公开的密钥加密函数是enc()。其中它的第一个参数就是指的公钥,第二个参数指的就是被加密的东西。“‖”指的还是串接两个二进制串。Rand指的是在用户的客户端所产生的具有一定长度的随机数。在这个过程中假如我们不利用Rand而是选择发送enc(KuAuc,IMSI),但是这样虽然明文的IMSI不会被攻击者解密,如果攻击者采取长时间的进行窃听,这样如果得到一样的密文,就可以对用户实施定位和跟踪了。所以,为了提高整体的加密以及解密的性能。针对这个方法我们利用一种非对称的算法Rabin的模平方根密码体制。就是使网络端的解密的开销比用户端的加密小的很大。所以这种减少运算开销的算法是可行的。它就是通过利用其有无数的用户标识来隐蔽用户的真实的身份,来增强用户的身份保密性。
本文通过对于移动通信中的安全机制做了详细的分析研究,在其中介绍了他们的基本运行过程,以及安全性的能力以及不足之处,然后介绍了一些专业的研究者对其提出的增强安全性的方法。移动通信的安全机制的是在不断完善的,但还是由于自己能力的限制,不能对于移动通信中的所有的安全机制进行完全的介绍。
[1]陈广辉,李方伟.移动通信系统的安全机制分析[J].移动通信,2004(9):78-81.
[2]Karen.GSM System Block Diagram[D].University of Toronto,2011.
[3]赖溪松,韩亮,张真诚,张玉清,肖国镇.计算密码学及应用[M].国防工业出版社,2012.
[4]高红梅,包杰,孙科学.移动通信系统安全机制发展的研究[J].科技情报开发与经济,2007(10):177-178.
[5]王建辉,李晓辉,薛鑫.移动通信中的安全问题[J].网络安全技术与应用,2009(7):57-61.
TP393.08
A
1009-6434(2016)04-0012-02