background image

过程。SN(由 VLR/SGSN 实体执行)向 HE(由 HLR 实体执行)申请认证向
量,HE 生成一组认证向量 AV(1 …

, ,n)发送给 SN,SN 存储收到的认证

向量;②认证和密钥建立的过程。 SN 从收到的一组认证向量中选择一个
AV(i),将 AV(i)中的 RAND(i)和 AUTN(i)发送给用户的 USIM 进行
认证。用户收到 RAND 和 AUTN 后计算出消息认证码 XMAC(见图 4),并与
AUTN 中包含的 MAC 相比较,如果二者不同,USIM 将向 VLR/SGSN 发送
拒绝认证消息。如果二者相同,USIM 计算应答信息 XRES(i),发送给
SN。SN 在收到应答信息后,比较 XRES(i)和 RES(i)的值。如果相等则通
过认证,否则不建立连接。最后在认证通过的基础上, MS/USIM 根据
RAND(i)和它在入网时的共享密钥 Ki 来计算数据保密密钥 CKi 和数据完整
性密钥 IK(i)。SN 根据发送的 AV 选择对应的 CK 和 IK。
  比较上述 2 种认证机制,可以看见 3G 系统的实体间认证过程比原有 2G
系统认证功能增强很多,且增加了新功能。具体有以下 3 方面。
  ① 2G 系统只提供网络对用户的单向认证,而 3G 系统则完成了网络和用
户之间的双向认证。
  ② 3G 系统增加了数据完整性这一安全特性,以防止篡改信息这样的主动
攻击。
  ③在认证令牌 AUTN 中包括了序列号 SQN,保证认证过程的最新性,防
止重新攻击。并且 SQN 的有效范围受到限制。这些安全功能在 2G 系统中是没
有的。

3 数据保密性

  在 2G 系统中,在无线接口上的数据加密采用密码流加密。在用户侧和网
络侧,分别用 3 参数中的 Ki 和 RAND,通过 A8 算法计算出密钥 Kc.然后把
64 bit 的密钥 Kc 和当前帧号 Fn(22 bit)作为 A5 算法的两个输入参数来计
算密钥流,由于 Fn 的不断变化,因而 A5 产生不同的密钥流。信息在发送端与
密钥流逐位异或来加密,在接收端再使用同密钥流逐位异或来加密(见图
5)。密钥流算法 A5 包括 A5/0,A5/1,A5/2 等,其中 A5/1 是强加密
算法,A5/2 是弱加密算法,而 A5/0 表示不加密。但随着技术的发展,2G
中的加密已经变得不太安全了,有文献表明现在的解密技术已经能达到通过
分析通话时前两分钟内 A5/1 的输出,在不到一秒钟的时间内得到密钥 Kc。
而且在 2G 中,加密算法是固定不变的没有更多的密钥算法可选择,缺乏算法
协商和加密钥协商过程。
  在 3G 系统中,网络接入部分的数据保密性主要提供 4 个安全特性:加密
算法协商、加密密钥协商、用户数据加密和信令数据加密。其中加密密钥协商在
AKA 中完成。加密算法协商由用户与服务网间的安全模式协商机制完成。在无
线接入链路上仍然采用分组密码流对原始数据加密,采用了 f8 算法(见图
6)。它有 5 个输入:① COUNT 是密钥序列号;② BEARER 是链路身份指示;
③ DIRECTION 是上下行链路指示;④ LENGTH 是密码流长度指示;⑤ CK 是
长度位 128 bit

 

的加密密钥。

  与 2G 相比,3G 不仅加长了密钥长度,而且引入了加密算法协商机制。
  当移动终端 ME 需要与服务网 SN 建立连接时,USIM 告诉服务网它支持
哪些加密算法。服务网根据下列规则作出以下判断。
  ①如果 ME 与 SN 没有相同版本的 UEA(加密算法),但 SN 规定使用加