摘 要:信息的安全传输始终是网络技术发展中的一个重要问题。GPRS必须与其它网络互联,并且必须满足用户移动性所带来的多方面需求和限制,因此GPRS的数据安全问题就变得更加复杂。本文主要进行了GPRS网络中数据传输安全方面的研究。
关键词:GPRS 身份验证 网络互联 GEA算法
一. GPRS简介
通用分组无线业务(GPRS)是一种对GSM网进行改进的数据传输标准,在GSM上提供分组交换和分组传输能力,利用现有GSM站点的基础设备,能以高达115kbps甚至170kbps的传输速率实现端对端的分组交换数据业务。无线应用协议(WAP)等高层协议可以基于GPRS来实现移动互联。
GPRS的基本原理是:在有数据需要传送时利用分组传送数据,而不使用GSM的固定电路连接方式,仅在有数据通信时占用物理信道资源。这种对无线信道的统计复用能够使用户更有效地共享网络资源,并为运营商提高现有设备以及无线信道容量等网络资源的利用率。另外,GPRS核心网络采用了IP技术,即可以与迅速发展的IP网络(Internet/Intranet)互联,又顺应通信网的分组化发展趋势,逐步向第三代移动通信系统演进。
GPRS是在GSM网络的基础上增加GPRS服务节点(SGSN)、GPRS网关节点(GGSN)以及一系列标准接口来实现的。
二. GPRS用户身份验证
GPRS的用户身份验证过程与GSM中的验证过程类似,区别在于验证的执行过程由移动业务中心(MSC)转移到了SGSN。验证机制中使用了一个三元组,包括一个128位的随机数RAND、用于用户验证的A3算法结果SRES(32位)以及由A8算法计算所得的64位密钥Kc(将用于身份验证结束后数据传输中使用的GPRS加密算法GEA)。在网络侧,这个三元组由SGSN从HLR处获取并存储于SGSN内部。
用户验证过程如图1所示。其中Ki是用户身份验证密钥,长度为128位。首先,移动用户终端向SGSN提出验证请求,SGSN接收到请求后,向归属位置寄存器HLR发送一个验证信息。HLR接收到该信息后,用随机数发生器产生一个在0和2128-1之间的随机数RAND,并利用该随机数以及自身存储的用户验证密钥Ki,使用A3算法得到结果SRES,使用A8算法得到GPRS加密算法(GEA)的密钥Kc,并将随机数、SRES、GPRS、Kc作为一个三元组发送回SGSN。然后,SGSN将三元组存贮起来,并将其中的随机数发送给用户移动终端。用户使用该随机数以及存储在自身SIM卡中的验证密钥Ki,利用A3算法计算出结果SRES并发送回SGSN;最后,SGSN将内部存储的三元组中的SRES与用户发回的SRES进行比较,如果二者相等,则移动用户终端通过了身份验证。此时,验证过程并未结束,SGSN将与终端进行是否需要对数据传输进行加密的协商和设定,并保证SGSN与移动终端之间加密解密的同时进行。这一步成功后,用户身份验证过程结束。
图一 GPRS手机鉴权及密钥计算过程 值得注意的是,GPRS网络中的所有安全功能都建筑在用户验证密钥Ki之上,因此,身份保护是至关重要的。首先,该密钥和A3算法都是保密的,它们被存储在用户SIM卡和网络的HLR中。其次,在身份认真过程中,用户使用临时用户的身份和加密参数对自己的身份认证信息进行保护。
三. 对数据传输过程进行加密
用户移动终端验证成功之后,用户终端就可以进行数据传输了。在GPRS网络数据传输过程中,数据和信令是受加密算法保护的,并且这种GPRS加密算法(GEA)是保密的,处于逻辑链路控制(LLC)层。在GPRS网络中,数据和信令受到加密算法保护的范围是从SGSN到用户终端,比GSM中从基站到用户终端的范围要大。
GPRS加密算法的密钥Kc的传送是不受加密算法保护的。为了保证Kc的安全性,GPRS和GSM网络中均使用了间接传送的方式(如图1所示),即网络只向用户终端传送随机数RAND,用户和网络都利用RAND和Ki,使用A8算法来计算密钥Kc。
密钥Kc的最大长度为64位,并且可以在数据传输过程中随时进行重新设置(如图2所示),网络和移动终端中始终保持最新的Kc。
图二 GPRS手机加密密钥更新过程 为了正确传递数据,SGSN和移动终端中,对数据流的加密和解密过程必须保持同步,这在GPRS网络通过LLC包的序列号以及数据传送方向(只有从终端到网络或从网络到终端两个方向)来保证。数据加密解密以及同步的过程见图3。
图三 MS-SGSN加密解密过程
四. GPRS网络互联时的安全性
多个GPRS网络之间通过公用数据网络(如Internet)或者专用网络的通信链路进行互联。如图4所示。其中专用网络链路的使用是为了满足用户的服务质量(QoS)需求和提高安全性能。
图四 GPRS网络互联
不同GPRS网络之间的数据和信令都是通过边界网关来传送的。在边界网关中可以使用IPsec协议或互联双方协商好的安全协议来实现身份验证以及数据安全保证功能。互联后,GPRS用户可以在其中任意漫游,信息和数据受到GPRS网络的保护。
五. GPRS与IP网络互联时的安全性
GPRS网络通过使用GGSN的Gi参考点能够支持与IP网络的互联,包括运行着IPv4或IPv6的Internet和Intranet。Gi参考点位于GGSN与外部IP网络之间。外部IP网络把GGSN当做一个普通的IP路由器,如图5所示。
图五 GPRS与IP网络互联 一般来说,防火墙、内部IP网络、DHCP和DNS均由GPRS网络管理员进行管理和配置,用来为GPRS用户提供访问外部网络的服务并限制外部网络对GPRS网络的某些操作,保证GPRS网络系统的安全性。 GPRS网络为用户提供了两种访问外部IP网络的机制:透明访问方式和不透明访问方式。
在移动终端使用透明访问外部IP网络时,GPRS网络为移动终端分配静态或动态IP地址,GGSN用此IP地址与移动终端想要访问的对外部IP网络节点进行通信,并将返回的信息正确传递给相应的GPRS移动终端。在这种方式下,GPRS网络不保证用户在外部IP网络上的身份和数据安全,此时用户只能通过使用IP层或更高层上的安全协议(如IPsec)来保证重要信息的安全。
在移动终端使用不透明访问外部IP网络时,由外部Intranet或ISP为移动终端分配静态或动态的IP地址。GGSN用此IP地址与外部Intranet或ISP进行通信,并将返回的信息正确传递给相应的GPRS移动终端,此时需要GGSN与外部IP网络或ISP的地址分配服务器相连。用户对Internet等外部IP网络的访问通过Intranet或ISP进行。在这种方式下,GPRS网络与外部Intranet或ISP之间,用户数据的安全性可以通过双方协商的方法(比如专线连接、隧道方式、使用IPsec协议等)来保证。
六. 来自外部网络的安全威胁
当GPRS与不安全的外部网络互联时,将受到来自外部网络的安全威胁。
首先,GPRS网络中的用户信息以及路由表信息都是明文保存的。为了保证用户信息不被非法窃取以及路由表不被破坏,这些信息必须受到严密的保护,另外,如果SGSN和防火墙配置不当,还可以使GPRS网络受到“拒绝服务(DoS)”攻击。
其次,外部网络可以向GPRS用户发送数据。由于GPRS按流量计费,大数据量的电子邮件将给用户造成经济损失。病毒程序也可以在不知不觉中被放入用户的移动终端。
另外,来自GPRS网络内部的恶意用户或用户移动终端中的病毒程序可以发送GPRS数据和信令消息来影响GPRS网络及其用户的行为。
为了解决这些安全隐患,GPRS网络必须正确配置SGSN和防火墙,禁止外部网络对它们的配置操作,并严格管理内部网络数据。同时,GPRS还必须不断改进自身的安全机制,采用更先进的安全技术。
七. 总结
GPRS是一个能够提供增值服务的无线网络,使用身分验证和数据加密技术,使移动用户终端能够安全方便的进行数据传输。在GPRS网络中,只要用户妥善保管自己的SIM卡(防止SIM卡被复制和盗用)、GPRS网络管理完善,用户的个人信息和数据的安全就可以受到很好的保护。
当然,GPRS的安全性能还有需要讨论和改进的地方。比如,保密的A3、A8、GEA算法使得人们不能确切评价这些算法对数据的保护能力;随着解密技术的发展,密钥也应当从64位增加到128位或者更高;GPRS与其他网络互联时的安全保证还没有标准化的协议等等。
总之,为了保证数据安全,我们不能只依赖于GPRS网络自身的安全机制,而应该使用多层次、多技术相结合的保密方式。即在应用层、网络层、传输层和物理层上进行全方位的数据保护,综合并合理地使用GSM、GRPS、WAP、IP等多种层次上的安全协议,保证信息在传输过程中的安全。
|