PKI在3G网络中的应用

来源:岁月联盟 作者:赵沈昊 时间:2010-08-21

摘要:本文主要研究了如何在3G的接入网端应用无线PKI来实现用户身份的机密性。因为用户的身份数据是敏感的,需要很好的给予保护。身份机密性包括:用户身份机密,用户位置机密,用户的不可跟踪性。首先概要介绍了无线PKI的基本知识,证书的版本以及获取方式。然后介绍了PKI环境下的认证方式。紧接着叙述了现有的3G接入网的安全架构和一些相关的安全技术,如完整性保护,加密保护和认证和密钥协商。最后基于无线PKI环境下实体认证方案和现有的3G中的身份机密实现措施,经过改进给出了一种新的基于公钥体制下的用于实现身份机密性的具体方案。

关键词:无线公钥基础设施 身份机密 3G 认证机构

 

1  绪  论

1.1  第三代移动通信简介及安全问题

移动通信经历了三个阶段:

第一代移动通信系统出现于20世纪70年代后期,是一种模拟移动通信系统,以模拟电路单元为基本模块实现话音通信。主要制式有美国的AMPS,北欧的NMT、英国的TACS和日本的HCMTS等。

第二代移动通信系统(2G)出现于20世纪80年代后期,以GSM,D AMPS和PDC为代表的第二代数字移动通信系统。

第三代的概念早在1985年就由ITU(国际电信联盟)提出了,当时称为FPLMTS(未来公众陆地移动通信系统)。1996年更名为IMT-2 000(国际移动通信一2 000)。前两代系统主要面向话音传输,与之相比,三代的主要特征是提供数据、多媒体业务,语音只是数据业务的一个应用。第三代移动通信系统(3G)的目标是:世界范围内设计上的高度一致性;与固定各种业务的相互兼容;高服务质量;全球范围内使用的小终端;具有全球漫游能力:支持多媒体功能及广泛业务的终端。为了实现上述目标,对第三代无线传输技术(RTT)提出了支持高速多媒体业务〔高速移动环境:144Kbps,室外步行环境:384Kbps,室内环境:2Mbps)、比现有系统有更高的频谱效率等基本要求。近几年通信的飞速发展,使得现存的第二代通信系统已经无法满足现有的人们的需要,主要表现为:

(1) 巨大的移动通信市场和目前频谱资源的有限性之间的矛盾日益突出,不能满足发达国家和一部分第三世界国家(如、印度)大中城市手机用户高密度要求。

(2) 数据网络和多媒体通信逐步和无线通信的可移动性相结合,因此移动多媒体或移动IP迅速发展起来,但第二代速率过低(9.6kb/s或57kb/s)与目前IP技术与多媒体业务要求距离甚远,不能满足政府、先进及新兴“白领”阶层对高速数据量的要求。

(3) 不能实现全球覆盖无缝连接。

(4) 通信业务的安全保障不足。

随着技术的发展,安全问题也越来越受到大家的关注,出于质量和效益的问题,移动通信的电勃具有较强的穿透力向各个方向传播,易于被截取,或窃听,其可靠性与安全性都有待加强。二十世纪八十年代的模拟通信便深受其害,由于基本上没有采用什么安全技术,通信时的话音很容易被窃听,尽管二代在安全性方面提出了较大的改进,采用数字系统,提出了身份认证,数据加密这一概念,系统考虑了一些安全因素,但绝大部分的安全规范是从运营商的角度设计的:防止欺骗和网络误用。但是依然存在许多安全缺陷。如单向认证,即只考虑了网络对于用户的认证而忽视了用户对于网络的识别,这种处理方法不能提供可信的环境,不能给移动用户足够的信心开展商务和交换敏感信息。而且随着解密技术的发展,能力的提高,加密算法A5,已经证明能在短时间内破解。技术的成熟和移动数据业务的出现,用户比以前更加关注移动通信的安全问题。因此,无线PKI的应用是解决安全问题的关键所在。

1.2  PKI简介

首先要介绍一下首先要介绍一下PKI(Public Key Infrastructure)译为公钥基础设施。简单地说,PKI技术就是利用公钥理论和技术建立的提供信息安全服务的基础设施。公钥体制是目前应用最广泛的一种加密体制,在这一体制中,加密密钥与解密密钥各不相同,发送信息的人利用接收者的公钥发送加密信息,接收者再利用自己专有的私钥进行解密。这种方式既保证了信息的机密性,又能保证信息具有不可抵赖性。目前,公钥体制广泛地用于CA认证、数字签名和密钥交换等领域。

在3G系统中,PKI的应用主要是WPKI,即无线PKI的应用。主要是用来进行网络中的实体认证,来取得网络服务商与用户之间的彼此信任。除此之外,无线PKI还将用于数据加密,完整性保护,用户身份的机密性等多个方面。

1.3  本文主要结构及内容提要

本文在介绍现有3G接入网安全技术的前提下,提出了新的基于公钥体制下的实现用户身份机密性的方案。第一章绪论简要介绍了移动通信的发展及面临的安全问题,以及PKI的引入。第二章介绍了无线PKI的一些基本知识和相关的操作。第三章给出了现有的3G系统的接入架构以及已有的安全措施。第四章为公钥体制下的认证方案。第五章在介绍了已有的一些身份机密方案以及其不足之后,给出了新的基于WPKI环境下的使用公钥体制来实现的保护用户身份机密的新方案。

本文最后对新的方案进行了。提出了相应的一些技术要求。


2  无线PKI

2.1  概  述

在无线环境中的应用是PKI未来的趋势,它的证书和身份认证是确保在开放的无线中安全通信的必备条件。然而无线通信网络独特的特点使无线安全问题更趋复杂。如消息以无线电波的方式传播, 在一定的区域内都能很容易被截取和接收到;网络接入点多,使任何人都能很容易地接入并对网络发起攻击;无线通信网络是一个包括无线和有线两部分的端到端的系统传统的有线领域安全问题将依然影响到无线领域,传统安全领域中抑制威胁的常用工具,在无线领域不一定有效。同时无线通信环境还存在着许多其他的限制条件,包括无线带宽方面,目前大部分的无线通信网络只提供有限的数据传输率;软件应用于开发手机、PDA等移动通信设备的开发环境、工具还很有限,相应的应用程序也很少;硬件方面,终端市场中各厂家的产品差异极大,生命周期短更新速度快;同时移动终端设备能力有限,内存和存储容量不大,显示屏幕较小,输入方法复杂等。所有这些特点及局限使PKI在无线环境中应用非常困难。为了最大限度的解决这些困难,目前已公布了WPKI草案,其内容涉及WPKI 的运作方式、WPKI如何与现行的PKI服务相结合等。简单的说,把PKI改造为适合无线环境,就是WPKI。

无线PKI是对传统IETF基于X.509公钥基础设施(PKI)的扩展和优化,其在协议,证书格式,密码算法等方面进行了一些改进,可以适应无线网络带宽窄和无线设备计算能力低的特点,用来确保通信双方的身份认证、保密性、完整性和不可否认性。WPKI目前主要应用于WAP,所以又可称作WAP PKI。WPKI 以WAP网关为桥梁,分别提供终端到网关、网关到服务器的安全连接,以确保整个通信过程的安全。可以说WAP 将无线网络与Internet 联系得更为紧密,使得WPKI 进一步发展和应用成为可能。

2.2  WPKI体系

WPKI标准提供了WTLS Class2,WTLS Class3,Sign Text ,3 种功能模式[1]

WTLS Class2模式:WTLS Class2提供了移动终端对无线网关的认证能力,具体的操作过程如下:(1)无线网关申请证书

无线网关生成密钥对,向PKI Portal提出证书的申请;

PKI Portal确认网关的身份后,将消息转发给CA;

CA签发证书给网关。

(2)移动终端与应用服务器之间的安全模式1(两阶段安全);

移动终端与无线网关之间建立WTLS会话;

无线网关与应用服务器之间建立SSL/TLS。

(3)移动终端与应用服务器之间的安全模式2:(端到端的安全模式)

服务器申请证书

移动终端与应用服务器之间建立WTLS会话,无线网关只起路由器的作用,移动终端与应用服务器之间的通信对无线网关是不透明的。

WPKI的数字签名(Sign Text)模式:Sign Text模式是移动终端对一条消息进行数字签名后用WMLScript发送给服务器的过程,具体操作过程如下:

(1)移动终端通过网关向RA申请证书;

(2)RA对移动终端进行身份确认后将请求消息转发给CA;

(3)CA生成用户证书并把证书的URL传送给用户;

(4)CA将用户的公钥证书存放在证书数据库中;

(5)用户在客户端对一条消息进行签名,然后将这条消息连同对它的签名,以及用户证书的URL发给服务器;

(6)服务器通过用户证书的URL从数据库中找出用户的证书来验证用户。

WTLS Class3模式:WTLS Class3是一种认证模式,从PKI 角度来说,WTLS Class3 认证和上述的Sign Text 形式几乎一样的,差别是在第5 步中,Sign Text 模型是使用应用层签名的方式来完成验证,即用户必须对服务器端发来的可读消息进行确认,并附上自己的数字签名,然后送回到服务器验证,其中使用的公私钥对必须是专门用来进行数字签名的密钥,而服务器端发来的消息也必须是可读的;而WTLS Class3 使用客户端认证密钥对签名来自WTLS 服务器的“挑战口令”, 所谓“挑战口令”是指由服务器发送给客户端的一些随机数,需要由客户端对其进行签名来达到认证客户端的目的,这些随机数并不一定是可读信息。简单的说其主要的差异是客户利用自己的私钥对来自服务器或无线网关的请求进行签名。

2.3  WTLS

WTLS(无线传输层安全协议)是无线应用协议中保证通信安全的一个重要组成部分,它实际上源自TCP/IP体系的TLS/SSL协议,是一个可选层,主要在无线终端内的微型浏览器和无线应用协议网关之间使用数字证书创建一个安全的秘密的通信“管道”。WTLS在那些通过低带宽网络通信的有限资源的手持设备中提供认证和机密性保护。WTLS使用163比特的椭圆曲线加密,强度相当于2048比特RSA 加密,但比RSA 的计算开销少,这对于移动终端来说是一个非常重要的因素。在WAP结构中,TLS或SSL是在Web服务器和网关服务器之间使用的。网关将TLS和SSL信息转换成WTLS,WTLS在建立连接时需要较少的计算开销,这样就可以使无线网络在传输数据时更有效。

WTLS在实现上要考虑以下几个方面:

(1)公钥加密的速度较慢,对低带宽的无线网络尤其突出。

(2)密钥交换的方法是基于公开密钥体制技术的。

(3)建立无线认证中心(WCA),用以支持身份识别及数字证书等。

(4)使用消息鉴别码(MAC)来保证数据的完整性

2.4  WPKI的操作

WAP环境中标准化的PKI 操作涉及到如何处理可信CA信息、服务器WTLS证书和客户端证书的注册。

2.4.1  可信CA信息的处理

对于需要安全通信的双方来说, PKI 是保障双方相互认证、通信的保密性、完整性和不可否认性的基础,而CA又是PKI 的基础,若CA不可信,则相应的证书、认证、密钥都失去效用,因此验证CA可信性是整个安全通信的第一步。可信CA 信息指用来验证CA颁发的自签名公钥证书所需的信息。所需信息包括公钥和名字,但也可能包括其他信息。为了保障完整性, 可信CA信息以自签名方式提供下载, 而可信CA 信息的认证则通过带外哈希或签名的方式来完成。带外哈希方式是指CA的信息通过网络下载到终端设备,然后通过带外的方式接收该信息的哈希值,接着设备自己计算收到信息的哈希值, 再和带外方式获得的哈希值进行比较,如果符合,则接受CA 信息。签名方式是指CA 用自己的私钥对待验证的可信CA 信息进行签名,或者由公认的可信权威对其进行签名, 如世界公认的权威机构加拿大Verisign 公司进行的签名,接收端通过签名来验证相应的CA信息,最后决定是否通过认证。

2.4.2  服务器WTLS证书的处理

无线终端要和内容服务器进行安全通信就必须取得该服务器的证书,该证书是由终端信任的CA所颁发的,因为无线网络的带宽限制以及终端处理能力和内存有限,就有必要使用一种新的简化了的证书, 以利于无线传播和终端操作, 这就是WTLS证书,可用于WTLS安全通信。它是在原有X. 509 证书基础上进行优化,保留关键字段,满足无线环境的需求。由于性能、带宽等因素, 无线环境下的检查证书撤销和有线环境下有着极大的不同,传统的CRL 方法不可行,而OCSP的方法增加了信息往返、验证步骤和附加的客户信任点。为了克服这些问题,引入了短期有效WTLS证书的概念, WTLS服务器可能实现短期有效证书模型作为撤销的方法。使用这种方法,服务器在一个长期信任阶段被认证一次。然而, 认证机构并非颁发一年有效证书,而是在这年的每一天, 给公钥颁发一个新的短期有效证书, 比如四十八个小时。服务器或网关每天接收短期有效证书并由这个证书建立当日客户会话。如果认证中心希望撤销服务器或网关,很简单地它停止颁发以后的短期有效证书。WTLS 服务器不再被授予当前有效证书,因此会终止服务器端的认证,这样便实现了撤销的方法。

2.5  WPKI要素

PKI中包含认证中心(Certificate Authorities,CA)、注册中心(Registrant Authorities,RA)、终端实体(End Entities,EE)三个基本要素。WPKI也包含这三个基本要素,除此之外还有一个要素是证书入口,或叫做PKI入口。证书入口是一条通向RA或CA的链接,记录在移动终端也就是EE中,用来在WAP网关和EE之间建立安全连接。

PKI证书是PKI实现的一个重要组成部分,为了在3G中应用PKI,就必须对传统的PKI证书的格式进行调整,以适应3G的无线环境的要求。WAP定义了一种WPKI证书的格式[2],下面对其简单的加以说明。

(1)版本号(Version):定义了证书的版本号,证书中如果不包含任何扩展,则版本应该设为1(缺省值)。

(2)证书扩展(Extension):对证书标准部分里没有涉及到的部分进行说明。

(3)颁发者名称(Issuer):证书应用程序必须要能够识别X.509v3中列出的所有特定名字属性。

(4)序列号(Serial Number):移动用户证书的SN长度小于八个字节,服务器证书的SN小于二十个字节。

(5)签名算法(Signature):定义的签名算法有两种:SHA1 With RSAEncryption和Ecdsa With SHA1,首选后者。

(6)主体姓名(Subject):和颁发者字段一样,证书应用程序必须能够识别X.509v3中列出的所有特定名字属性。

(7)主体公钥信息(Subject Public Key Info):这里定义的公钥类型为两种:RSA和ECC。

由于每张证书都有一个有效期限,根CA的证书快要到期的时候,保存在移动终端里的根CA证书要更新,也就是说要通过无线网络下载新的根CA证书,如何保证该过程是安全的,WPKI规定了两个方案。第一个方案允许用户终端通过不安全信道直接下载新的根CA证书,但是需要通过输入一个30位的十进制数来“激活”该CA。显而易见,这种方法增加了用户的负担。根CA的证书唯一代表了根CA的身份,根CA换证书的过程相当于换了一个身份,那么第二个方案就可以理解为快到期的CA介绍一个新CA接替它使命的过程。CA用快到期的根密钥对新的CA证书签名,发送给用户。这种方式不需要用户做额外的操作,方便了用户,但是必然存在一段两张证书同时有效的时间,增加了后台处理的工作量。

在PKI规范X.509 和PKIX中都定义了证书撤销列表(Certificate Revocation List,CRL),用来公布被撤销了的证书。如前面所说,WPKI 中规定了“短时网关证书”(Short-Lived Gateway Certificates),使得用户根本不需要查询网关的证书状态。WAP网关生成一个密钥对和一个证书请求,将证书请求发送给CA,CA确认之后给网关颁发一个网关证书,其实该证书的有效期限可以比较长(如一年),也可以比较短(如两天),但是网关证书的有效期限都是很短的,所以叫做“短时网关证书”。证书有效期限越短,证书出问题的可能性越小,也就是说证书被撤销的可能性越小,如果短到只有一,两天,甚至几个小时,就可以把网关证书的CRL 省掉。那么用户证书的有效期限是不是也很短呢?不是的。用户证书的状态是由网关来查询的,网关的计算能力和存储能力是很强大的,完全可以本地存储用户证书的CRL 或者进行在线证书状态查询。

由于存储能力有限,而且一个移动终端有可能有几张证书适用于不同的场合,证书过期之后还要进行更新,因此移动终端本地存储自己的证书并不是一个很好的主意。如果把证书存储在其他地方,需要的时候下载到终端又会对带宽提出过高的要求。因此WPKI规定本地存储的仅仅是证书的URL。证书保存在RA,网关需要与终端建立安全连接的时候,需要自己到RA 取出用户的证书验证。

2.6  WPKI与PKI

PKI的主要功能是在私有或者是共有环境中提供可信任且有效的密钥管理和认证。WPKI基本上是无线环境下PKI应用的扩展。两者的目的都是在所应用的环境中提供安全的服务,其相同点如下:

(1)公开的、可信任的第三方:认证机构CA;

(2)审批中心RA;

(3)每个实体占有一对密钥;

(4)证书是公钥的载体,是密钥管理手段;

(5)功能:身份认证、保密性、数据完整性。

由于应用环境的不同,即无线环境下移动终端的能力和通信模式使得两者产生表2.1所示的不同[3]

3  3G架构及安全技术

3.1  无线接入网架构

3G是个人通信的新阶段,引入IP技术,支持语音和非语音服务。其是在第二代网络的基础上发展起来的。3G系统由CN(核心网),UTRAN(无线接入网)和UE(用户装置)三部分组成。CN与UTRAN的接口定义为Iu接口,UTRAN与UE的接口定义为Uu接口[4]如图3.1所示。

Uu接口和Iu接口协议分为两部分:用户平面协议和控制平面协议。

UTRAN包括许多通过Iu接口连接到CN的RNS(无线网络子系统)。每个RNS 包括一个RNC(无线网络控制器)和多个Node B。Node B通过Iub接口连接到RNC上,它支持FDD模式、TDD模式或双模。Node B包括一个或多个小区。

RNC负责决定UE的切换,具有合并/分离功能,用以支持在不同的Node B之间的宏分集。

UTRAN内部,RNSs中的RNCs能通过Iur接口交换信息,Iu接口和Iur接口是逻辑接口。Iur接口可以是RNC之间物理的直接相连或通过适当的传输网络实现。UTRAN结构如图3.2所示

在此简述一下UTRAN的功能:

(1)系统接入控制功能:接入控制;拥塞控制;系统信息广播;无线信道加密和解密。

(2)移动性功能:切换;SRNS重定位。

(3)无线资源管理和控制:无线环境调查;无线承载控制;无线协议功能等。

3.2  3G网络安全结构

3G系统是在2G的基础上发展起来的,认识到GSM/GPRS的安全缺陷,3GPP采取了公开透明的设计方法推进公众对移动数据业务的信心。其安全设计基于以下假设:

被动和主动的攻击是非常严重的威胁;终端设备不能被信任;网间和网内信令协议(七号信令和IP)并不安全;能够应付欺骗用户的伪基站攻击。

3G系统的安全设计遵循以下原则:

所有在GSM或其他2G系统中认为是必须或应增强的安全特征在3G系统中都必须被保留,它们包括:无线接口加密;无线接口用户识别安全;无线接口用户身份保密;用户接入服务认证;在归属环境下对服务网络的信任进行最小化;网络运营商管理可移动的硬件安全模块SIM,其安全功能独立于终端。

3G将改进2G系统存在和潜在的弱安全功能。

对3G系统将提供的新的业务提供安全保护。

3G系统除了支持传统的语音和数据业务外,还提供交互式和分布式业务。全新的业务环境体现了全新的业务特征,同时也要求系统提供对应的安全特征。这些新的业务特征和安全特征如下:不同的服务商提供多种新业务及不同业务的并发支持,因此3G安全特征必须综合考虑多业务情况下的风险性;在3G系统中占主要地位的是非话音业务,对安全性的要求更高;用户对自己的服务数据控制能力增加,终端应用能力也大为增加;3G系统中的新安全特征必须抗击对用户的主动攻击。针对3G业务特点提供新的安全特征和安全服务。

基于上述原则,3G系统安全应达到如下目标:确保归属网络与拜访网络提供的资源与服务得到足够保护,以防滥用或盗用;确保所有用户产生的或与用户相关的信息得到足够的保护,以防滥用或盗用;确保标准安全特性全球兼容能力;确保提供给用户与运营商的安全保护水平高于已有固定或移动网络;确保安全特征的标准化,保证不同服务网络间的漫游与互操作能力;确保3G安全能力的扩展性,从而可以根据新的威胁不断改进。

3G网络是一个规模庞大的,技术复杂的系统,为此必须提出一个通用的安全体系,用来指导3G网络的建设、管理与应用。3G系统安全结构分为三层,定义了五组安全特性[6](如图3.3)。

(1)网络接入安全:主要抗击针对无线链路的攻击,包括用户身份保密、用户位置保密、用户行踪保密、实体身份认证、加密密钥分发、用户数据与信令数据的保密及消息认证;

(2)网络域安全:主要保证核心网络实体间安全交换数据,包括网络实体间身份认证、数据加密、消息认证以及对欺骗信息的收集;

(3)用户域安全:主要保证对移动台的安全接入,包括用户与智能卡间的认证、智能卡与终端间的认证及链路的保护;

(4)应用域安全:用来在用户和服务提供商应用程序间提供安全交换信息的一组安全特征,主要包括应用实体间的身份认证、应用数据重放攻击的检测、应用数据完整性保护、接收确认等。

由于在第三代移动通信系统中,终端设备和服务网间的接口是最容易被攻击的点,所以如何实现更加可靠的网络接入安全能力,是3G系统安全方案中至关重要的一个问题。网络安全接入机制应该包括如下:用户身份保密、接入链路数据的保密性和完整性保护机制以及认证和密钥分配机制。

3G安全功能结构如图3.4[7],横向代表安全措施,纵向代表相应的网络实体。安全措施分为五类:(1)EUIC(增强用户身份保密)通过HE/AuC(本地环境/认证中心)对USIM(用户业务识别模块)身份信息进行认证;(2)UIC(用户与服务网络的相互身份认证);(3)AKA用于USIM、VLR(访问位置寄存器)、HLR(归属位置寄存器)间的双向认证及密钥分配;(4)数据加密(DC),即UE(用户终端)与RNC(无线网络控制器)间信息的加密;(5)数据完整性(DI),即对信令消息的完整性、时效性等进行认证。

3.3  安全接入机制

3.3.1  身份保密

用户身份是重要而又敏感的信息,在通信中必须保证这些信息的机密性。身份保密的目的是保护用户的隐私,避免IMSI(永久用户标识)信息的泄漏。具体相关技术将在第五章详细介绍。

3.3.2  数据保密性及完整性保护

网络接入部分的数据保密性主要提供四个安全特性:加密算法协商、加密密钥协商、用户数据加密和信令数据加密。其中加密密钥协商在AKA中完成;加密算法协商由用户与服务网络间的安全模式协商机制完成,使得ME和SN之间能够安全的协商它们随后将使用的算法。用户数据加密和信令数据加密用以保证数据在无线接入接口上不可能被窃听。

在2G 中的加密是基于基站, 消息在网络内是用明文传送, 这显然是很不安全的。3G 加强了消息在网络内的传送安全, 采用了以交换设备为核心的安全机制, 加密链路延伸到交换设备, 并提供基于端到端的全网范围内加密。

在无线接入链路上仍然采用分组密码流对原始数据加密,采用了f8算法(如图3.5)。f8算法对用户数据和信令消息数据进行加密保护,在UE和RNC(无线网络控制器)中的RLC(无线链路控制)/MAC(媒体介入控制)层实施,以保证用户信息及信令消息不被窃听,进而能够保证用户信息及信令消息难以被有效更改。

加密算法的输入参数除了加密密钥CK(128bit)外,还包括加密序列号COUNT-C(由短计数器和计数器超帧号HFN组成32bit)、无线承载标识BEARER(5bit)、上下行链路指示DIRECTION(方向位,其长度为1bit。“0”表示UE至RNC,“1”表示RNC至UE)和密钥流长度指示LENGTH(16bit)。掩码生成算法f8基于一种新的块加密,这个块算法把64bit的输入转变成64bit的输出,转换由128bit的密钥f8来控制。如果f8未知,就不能从输入有效地输出或根据输出计算输入。原则上,如果满足下面的条件之一就可以进行转换:(1)试所有可能的密钥,直到找到正确地密钥;(2)以某种方式收集一个巨大的表,包含所有264的输入输出对。

但实际上,这两种方法都是不可行的。终端使用加密指示符来表示用户是否使用加密,这样提供了加密机制的可见性。

网络接入部分的数据完整性主要提供三个安全特性:完整性算法协商,完整性密钥协商,数据和信令的完整性。其中完整性密钥协商在AKA中完成;完整性算法协商由用户与服务网间的安全模式协商机制完成。3G系统预留了16种UIA的可选范围。目前只用到一种Kasumi算法。

该安全特性是3G系统新增的。它使系统对入侵者的主动攻击有更强的防御能力。与UEA协商功能的作用类似,UIA的协商增加了系统的灵活性,为3G系统的全球漫游打下基础。

UMTS的完整性保护机制是:发送方(UE或RNC)将要传送的数据用完整性密钥IK经过f9算法产生的消息认证码MAC( Message Authentication Code),附加在发出的消息后面。接受方(RNC或UE)收到消息后,用同样的方法计算得到XMAC。接收方把收到的MAC和XMAC相比较,如果两者相等,就说明收到的消息是完整的,在传输的过程中没有被篡改。f9算法的使用如图3.6

该算法的输入参数除了完整性密钥IK(128bit)外,还包括完整性序列号COUNT-I(32bit,由RRC序列号SN和RRC超帧号HFN组成)、发送的消息MESSAGE、DIRECTION(方向位,其长度为1bit。“0”表示UE至RNC,“1”表示RNC至UE)、MAC-I(用于消息完整性保护的消息认证码)和随机数FRESH(为网络方产生的随机数并传输给UE,长度为32bit,用以防止重传攻击)。我们需要对网络进行保护,以防止恶意为COUNT-I选择初始值。实际上,HFN的最重要的部分存储在连接间的USIM中。攻击者可能伪装成USIM并给网络发送一个假值以强迫初始值变得非常小。这时,如果没有执行认证过程就使用旧的IK,就会为攻击者在只缺少FRESH的情况下利用以前记录的MAC-I值对以前连接的RRC信令消息进行再次发送提供了可能。通过使用FRESH,RNC可以防止这类重放攻击。当FRESH在一个单独的连接中保持不变时,不断递增的COUNT-I又可以防止基于同一连接中已经记录的消息的重放攻击。

认证与密钥协商涉及到实体认证将在下一章节详细进行介绍。

3.4  3G系统有待研究的问题

3G系统的新特点在于提供高带宽和更好的安全特性。从3G网络接入部分的安全结构中可以看出,3G系统的变化很大。无论从提供的服务种类上,还是从服务质量上都有很大改观。但是3G系统仍存在一些开放问题有待继续研究。这里主要讨论一下几个方面的内容:数据保密和数据完整性。

数据保密性方面的工作已经做了很多,但是仍有下列问题没有解决:一是密文生成的同步问题;二是在一个UTRAN(UMTS陆地无线接入网)的不同核心网络之间加密和加密密钥的选择问题;三是如何决定从哪个消息开始加密。

数据完整性方面的主要问题是:如何确定哪些消息需要保护;如何在UTRAN结构中集成数据完整性功能。

4  实体认证

4.1  PKI中的实体认证

PKI安全平台能够提供智能化的信任与有效授权服务。其中,信任服务主要是解决在茫茫网海中如何确认“你是你、我是我、他是他”的问题,PKI是在上建立信任体系最行之有效的技术。授权服务主要是解决在网络中“每个实体能干什么”的问题。

在现实生活中,认证采用的方式通常是两个人事前进行协商,确定一个秘密,然后,依据这个秘密进行相互认证。随着网络的扩大和用户的增加,事前协商秘密会变得非常复杂,特别是在政务中,经常会有新聘用和退休的情况。另外,在大规模的网络中,两两进行协商几乎是不可能的。透过一个密钥管理中心来协调也会有很大的困难,而且当网络规模巨大时,密钥管理中心甚至有可能成为网络通信的瓶颈。

PKI通过证书进行认证,认证时对方知道你就是你,但却无法知道你为什么是你。在这里,证书是一个可信的第三方证明,通过它,通信双方可以安全地进行互相认证,而不用担心对方是假冒的。

CA是PKI的核心执行机构,是PKI的主要组成部分,业界人士通常称它为认证中心。从广义上讲,认证中心还应该包括证书申请注册机构RA(Registration Authority),它是数字证书的申请注册、证书签发和管理机构。

CA的主要职责包括:验证并标识证书申请者的身份。对证书申请者的信用度、申请证书的目的、身份的真实可靠性等问题进行审查,确保证书与身份绑定的正确性。

确保CA用于签名证书的非对称密钥的质量和安全性。为了防止被破译,CA用于签名的私钥长度必须足够长并且私钥必须由硬件卡产生。

管理证书信息资料。管理证书序号和CA标识,确保证书主体标识的惟一性,防止证书主体名字的重复。在证书使用中确定并检查证书的有效期,保证不使用过期或已作废的证书,确保网上交易的安全。发布和维护作废证书列表(CRL),因某种原因证书要作废,就必须将其作为“黑名单”发布在证书作废列表中,以供交易时在线查询,防止交易风险。对已签发证书的使用全过程进行监视跟踪,作全程日志记录,以备发生交易争端时,提供公正依据,参与仲裁。

由此可见,CA是保证电子商务、电子政务、网上银行、网上证券等交易的权威性、可信任性和公正性的第三方机构。在现有中出现过认证这个名词,但是未见有对其进行明确功能划分的确切定义。实际的安全系统中,几乎所有的安全需要都要通过对用户或实体授权、对内容的真实完整性鉴别才能有效实现,而要实现对用户或实体的授权就必须实现用户或实体的认证。涉及到系统的用户或实体通常对数据、信息或实体具有阅读或操作或按权限访问、传播和使用控制的权利。顾名思义,认证是一个实体对另一个实体具有的所有权或操作权等权利的鉴别。实体认证是由参与某次通信连接或会话的远端的一方提交的,验证实体本身的身份。一些主要的认证技术[8]分别是:口令,认证令牌,智能卡和生物特征。不同的认证技术对应不同的安全级别、不同的使用难度、效益和成本。

如通过口令进行身份认证,一种可靠的方法是,不要在认证系统中存储真正的口令,而是对口令进行一定的运算再把值存储在系统中。当用户访问系统时,系统对口令进行相同的运算来确认是否与存储的值是否相同,通过这种方法,可以避免明文口令在系统中的存储。以免以前存放明文口令的认证数据库成为攻击者的主要目标,毕竟数据库的拷贝意味着将有许多用户的口令被窃取。通过这种改进的口令系统,可以防止明文口令在输入设备和认证系统之间传输。对于上述算法的要求,攻击者要找到一个口令来使得它产生的值恰是他们所看到的,这在上是不可能的。如MD4,MD5或者SHA1这样的加密散列算法可以满足上述的要求。但是这种认证方式要避免的是重放攻击,即攻击者之间获得运算后的值,从而直接将其重放给认证系统,已获得访问权。为了解决这个问题,系统可以使用随机数的加入来防止重放攻击。通过这种技术可以使得攻击者只能看到随机数,用户的口令并没有在输入系统和认证系统中传输,甚至由口令产生的值都不会出现在系统之间,采用所谓的质询/响应的认证过程,便是当今口令认证机制的基础。

简单口令的最常见的替代品是认证令牌。认证令牌有两类:质询/响应令牌和时间令牌。认证令牌与PKI的关系主要体现在两个方面。首先结合服务器端的PKI,令牌可以充当客户端的认证机制;另一方面,令牌可以担当授权访问私钥的初始认证。通过PKI,可以对Web服务器进行强有力的认证以及提供强加密通信;通过认证令牌,可以对用户进行强身份认证。PKI用于认证服务器和加密会话,令牌则用于认证客户端。这种混合方案很可能会促使令牌成为未来一段时间内的主要强认证方式。

4.2  现有3G中的认证过程

3G接入网部分的实体认证包含了三个方面。一是认证机制协商,该机制允许用户和服务网络安全协商将要使用的安全认证机制。二是用户身份认证,服务网络认证用户身份的合法性。三是用户对他所连接的网络进行认证。

认证和密钥分配机制完成用户和网络之间通过密钥K(128bit)相互认证,以及完成上面提到的加密密钥和完整性密钥的分配。密钥K仅存在于用户归属网络环境HE的AuC(认证中心)和UICC/USIM(用户服务识别模块)中,并且在两者之间共享。UICC是能够防止篡改的具有身份验证功能的智能卡,而USIM是运行在UICC上的一个模块。为了保证认证的安全性,一个基本要求是在给定的UICC/USIM的使用期内密钥K绝不能泄漏或者损坏。在SGSN/VLR 和USIM之间执行的认证过程是基于一种交互式认证策略。另外,USIM和HE分别保存SQNms和SQNhe计数用以支持认证。序号SQNhe是用户独立的计数器,由HLR/AuC维护每个用户具有的独立序号;而SQNms是指USIM收到的最高序号。

认证与密钥分配机制[9]过程如图4.1所示,整个过程分为几个子过程:从HE/AuC发送认证消息到VLR/SGSN的过程;VLR/SGSN和MS之间相互认证和新加密和完整性密钥的建立过程;重同步过程。

其中:(1)每个认证向量包括:一个随机数、一个期望的应答、加密密钥CK、完整性密钥IK、认证令牌A;

(2)每个认证向量适用于一次VLR/SGSN与USIM之间的认证和密钥协商;

(3)认证方为用户HE的认证中心和用户移动站中的USIM。

图4.2为VLR/SGSN和MS之间相互认证、新加密和完整性密钥的建立过程。

USIM收到RANDAUTN后,按以下步骤进行认证和新加密和完整性密钥的建立。

步骤(1)计算匿名密钥AK,并且获取序列号SQN

步骤(2)USIM计算XMAC,将它和MAC比较,MAC包含在AUTN中。如果两者不同,用户就传送包含拒绝原因指示用户认证拒绝信息给VLR/SGSN,然后终止该过程。在这种情况下,VLR/SGSN将初始化一个认证失败报告过程给HLR。如果相同进行步骤(3)。

步骤(3)USIM校验收到的SQN是不是在正确的范围内。

步骤(4)如果序号在正确范围内,则进行步骤(5);如果序号不在正确的范围内,它将发送一个包含适当参数的同步失败信息给VLR/SGSN,然后终止该过程。VLR会根据同步失败消息向HE请求重同步过程。

步骤(5)如果序号在正确的范围内,USIM计算CKIK

步骤(6)USIM计算RES,该参数包含在用户认证响应中传给VLR/SGSN。

收到用户认证响应后,VLR/SGSN将响应RES与所选认证向量中获得XRES比较。如果两者相等,那么用户就通过认证。VLR/SGSN就从选择的认证向量中获得正确的CKIK。USIM和VLR将保存原始CKIK,直到下一次AKA完成。如果XRESRES不相等,则初始化一个新的鉴别和认证过程。

在3G系统中,实现了用户与网络的相互认证,简单的说,通过验证XRESRES是否相同,实现了VLR/SGSN对MS的认证;通过比较XMACMAC是否相同,实现了MS对HLR/AuC的认证。以上便是在3G系统中用户和网络服务商之间双向认证的一个详细过程。通过双向认证机制,3G有效的保护了用户与运营商双方的利益。

4.3  WPKI应用下的实体认证

首先CA用Rabin算法和自己的私钥PuQu来为网络端和移动端签发证书。网络端B的公钥为Nb,移动端A的公钥为ELGamal签名算法的公钥Pa。网络端保存相应的Rabin算法私钥PbQb,移动端保存相应的ELGamal算法私钥Sa。移动端和网络端通过验证对方的证书合法性和相应的私钥来进行双向的认证。具体过程如图4.3

 

5  身份机密性

5.1  相关的安全特征

与用户身份机密性相关的安全特征如下:

用户身份机密性(user identity confidentiality):接受业务用户的永久身份(IMSI)在无线接入链路上不可能被窃听。

用户位置机密性(user location confidentiality):用户在某一区域出现或到达,不可能在无线接入链路上通过窃听来确定。

用户的不可跟踪性(user untraceability):入侵者不可能通过在无线接入链路上窃听而推断出不同的业务是否传递给同一用户,即无法获知用户正在使用不同的业务。

为了满足上述要求,3G系统采用了两种机制来识别用户身份,(1)在用户与服务网之间采用临时身份机制(用户的IMSI由临时身份识别号TMSI代替),为了实现用户的不可跟踪性要求用户不应长期使用同一TMSI,即TMSI要定期更换。(2)使用加密的永久身份IMSI。但是3G标准没有排斥用户直接使用IMSI进行身份识别,即GSM式身份识别。此外在3G中,任何可能暴露用户身份的信令和用户数据都要求进行加密。

5.2  GSM中的身份保密

GSM系统采用用户的临时身份实现用户的身份保密。对进入其访问区的每个用户,VLR(拜访位置寄存器)都会分配一个TMSI(临时身份识别号),TMSI和IMSI一起存于VLR的数据库中,用户只要使用TMSI和位置区域标识LAI即可标识自己的身份。一般情况下不使用IMSI来识别用户。

但是当用户第一次注册或者服务不能根据用户的TMSI时必须使用用户的永久身份IMSI。这时IMSI将在无线链路上以明文进行传输,这就可能会造成用户身份的泄漏。显然,GSM系统在用户身份保密方面存在明显的缺陷。图5.1表示了GSM系统中身份识别的过程[10]

5.3  3G中已有的身份机密性设计

现有的身份机密的方案如图: 该机制由访问的VLR/SGSN发起,向用户请求IMSI。用户有两种选择进行响应,选择和GSM系统一样的直接回复明文IMSI或者使用特有的增强的身份保密机制来进行响应。

采用明文的IMSI是为了与第二代通信网络保持兼容。一般在3G系统中,移动用户配置成增强型用户身份保密机制[11]

图5.2中,HE-message表示包含加密IMSI的消息,其组成如下:HE-message=GI‖EMUI,EMUI=fgk(SQNuic‖IMSI)。其中GI表示群身份标识,EMUI表示加密IMSI。EMUI是SQNuic和IMSI经过fgk函数加密运算得到,SQNuic表示用户认证中心UIC生成的序列号,用于保持认证的最新性,GK是用户入网时与HE/UIC及群中的其它用户共享的群密钥。HE为用户归属域。

增强型用户身份保密机制将用户的IMSI以密文形式嵌入HE-message中,VLR/SGSN不能直接解密HE-message,而是根据HE/UIC-id将HE-message传送到相应的HE/UIC。由HE/UIC根据GI检索相应的GK,用解密HE-message得到用户的IMSI,再传送给VLR/SGSN。这样做的目的是保证用户的IMSI不被窃听。此后VLR/SGSN建立用户IMSI和TMSI之间的对应关系。以后用户就用VLR/SGSN分配的TMSI进行通信。

增强型用户身份保密机制是3G引进的,规定了每个用户都属于某一个群,而每个群拥有一个GI。用户群有一个GK,该密钥安全的保存在USIM和HE/VLR中。相比2G而言用户身份的保密性有了较大的改进,但我们可以看到,从HE/UIC传给VLR/SGSN的解密用户身份IMSI仍然使用了明文方式,因此该方式也还存在一定的弱点,需要进一步的改进。而且依靠HE/UIC来进行消息的解密会使得效率低下。因此下面给出了一个基于公钥体制下的用户身份机密性的实现方案。

5.4  在WPKI基础上设计的身份机密方案

首先由于无线PKI的应用,各个PKI实体都要求具有一个公钥证书。有了公钥证书,实体间才可以通过证书鉴定的方式来建立起信任关系,也更方便进行认证。为了保证用户与其公钥的一一对应。证书权威需要首先验证终端实体的身份。

证书颁发过程可以采用离线的方式,如在USIM的生产过程中就加入初始的用户的证书,或者也可以采用在线的方式或通过可信任的第三者进行证书的办法。基本认证方案如下图5.3

在3G系统中,当服务网络不能通过TMSI来识别用户身份时,将使用永久用户身份标识来鉴别用户身份,特别是在移动用户第一次在服务网络内注册,以及网络不能由用户在无线链路上的TMSI获得相应的IMSI时。用户的永久身份是一个敏感而且非常重要的数据,需要得到很好的保护,但如上文提到的在GSM中,用户的永久身份是用明文的形式发送的,3G系统对此要进行安全改进。

有了证书之后,用户首次入网注册时,就可以使用证书和IMSI一起进行注册了,具体的操作过程如下

符号说明:CertMS 用户证书   CertHLR HLR的证书

     SKMS 用户的私钥  SKHLR HLR的私钥

PKHLR HLR的公钥  R1,R2,Ks 随机数

同样在用户的USIM中,存有CA的公钥,自己的私钥,如果已经取得自己的证书,则也应该保存在USIM中。

注册过程如下图5.4:

1.用户向网络发起入网登记请求

2.网络发送自己的证书和随机数R1给MS

3.用户收到网络的证书CertHLR,利用CA的公钥来验证HLR的真实性,如果通过验证,。首先生成两个随机数Ks,和R2,利用用户的私有密钥对(R2‖R1)作签名成为(R2‖R1)SKMS,再用HLR的公开密钥PKHLR对Ks作加密,最后利用对称性加密算法如IDEA或DES对IMSI,CertMS及(R2‖R1)SKms,以Ks进行加密。然后将加密信息发送到HLR,同时MS存储R1,R2, Ks,以及CertHLR。

4.网络侧收到响应后,用自己的私钥SKHLR 解密消息(Ks)PKHLR得到Ks,再用Ks解密(CertMS‖IMSI‖(R2‖R1)SKms)Ks,得到用户的IMSI和CertMS,首先验证IMSI的合法性,然后使用HLR和CA之间的安全通道向CA发送用户的CertMS来获取用户相应的公钥PKMS,然后使用用户的公钥PKMS来解密(R2‖R1)SKMS,获得R2‖R1,如果R1确实正确,就产生一个TMSI并把TMSI和IMSI进行关联并且存储存储在服务器中,同时存储R2。至此HLR确认MS的合法性。

5.当HLR确认MS合法之后,则送回第三个信息以及生成会话密钥,否则拒绝所要求的服务。首先利用私有密钥SKHLR对R2作签名,再以Ks利用对称性的密码算法,对TMSI和IMSI及以(R2‖R1)SKHLR作加密,生成(TMSI‖IMSI‖(R2‖R1)SKHLR)Ks再将信息送至MS,最后利用R1和R2作异或运算生成会话密钥,并且将Ks删除。HLR的认证已经完成。

6. MS收到HLR的信息后,利用Ks解开信息,得到TMSI‖IMSI‖(R2‖R1)SKHLR,

首先检查IMSI是否是自己的IMSI,再来利用HLR的证书验证(R2‖R1)SKHLR是否等于(R2‖R1)通过验证,再利用R1和R2作异或运算生成会话密钥,并且保存TMSI在MS中否则表示注册失败。

通过以上的注册过程,在入网过程中,用户的永久身份标识IMSI从头至尾都没有用明文的形式在链路上传输,而得到了网络的认证并且获得TMSI用于以后的服务。所有使用IMSI来向网络进行认证时,通过以上方法就可以保证了用户的机密性。

对于安全性的分析:

链路上的窃听者无法获知用户的身份,从而无法知道用户的位置和所进行的服务。同时由于每次的会话密钥都是由R1 和R2 产生的,而且Ks是随机产生的,窃听者无法通过多次的比较获得任何通信的内容。而且即使一次会话的密钥被窃取了,也无法继续获得以后的会话密钥。因为每次R1 和R2 都是重新产生。对于假冒的HLR,即使可以送出第一条明文消息,但是因为不具有合法的SKHLR所有无法获得Ks,从而无法继续注册过程。同样攻击者恶意假冒MS,即使事先知道CertMS,R1,R2和(R2‖R1)SKMS。但是对于新的R1无法生成对应的新的(R2‖R1)SKMS来进行重放攻击。至于直接猜测会话密钥实际上是不可能的,因为R1虽然是明文传送,但是R2是密文传送的。

3G系统分为电路域CS和分组域PS,电路域使用TMSI和LAI来表示用户,TMSI由VLR分配,分组域使用移动用户分组P-TMSI和路由域标识RAI来表示用户,P-TMSI由SGSN分配[12]。临时身份TMSI/P-TMSI只有在用户登记的位置区和路由区中才有意义。所以,它应该与LAI或RAI一起使用。IMSI和TMSI的关联保存在用户登记的拜访位置寄存器VLR/SGSN中。

一旦用户获取了P-TMSI/TMSI后,网络就可以在接入无线链路上识别用户了。用户就可以进行如下操作:寻呼请求,位置更新请求,连接请求,服务请求,分离请求,重新建立连接请求等。

但是为了避免长期使用同一临时身份对TMSI/LAI或P-TMSI/RAI,3G系统采用TMSI的再分配机制。TMSI的更新是在安全模式建立以后由VLR/SGSN发起。分配过程如图5.5

详细步骤如下:

(1)VLR/SGSN产生一个新的TMSIn,并将该TMSIn与IMSI的关系存储在它的数据库中,然后向CA请求相应的IMSI的公钥PKMS,当CA把公钥发送回来之后, VLR/SGSN把TMSIn和一个新的位置区域标识经过用户的PKMS加密然后发送给用户。

(2)用户收到之后,使用自己的SKMS解密消息并保存TMSIn并自动删除与先前TMSIo之间的关联后,向VLR/SGSN发送应答。

(3)VLR/SGSN收到应答后,从自己的数据库中删除与旧的TMSIo的关联,TMSIn用于随后的用户身份鉴别。

(4)如果VLR/SGSN没有收到用户的确认应答信息,则网络将同时存储TMSI与IMSI的新的关联和旧的关联。然后在随后由用户发起的业务中,网络允许用户使用新的关联或旧的关联来识别自己的身份。同时网络由此可判定用户所使用的TMSI,并删除没有使用的那一对TMSI和IMSI的关联。在另一种情况下,网络发起业务,会使用用户的IMSI来识别用户,当建立连接后,网络指示用户删除TMSI。这两种情况下,网络随后都会再次发起一次TMSI的分配过程。但是如果TMSI的分配失败次数达到一定的门限值,就需要上报给O&M。

当移动用户的位置发生改变时,如果用户使用由访问VLRn分配的TMSIo/LAIo来识别自己,则可以从数据库中正常获得IMSI。如果不能,访问VLRn将要求用户使用自己的永久身份IMSI来进行识别就如同用IMSI进行首次入网注册。如果用户不是使用由拜访VLRn分配的TMSIo/LAIo来识别自己,则先前访问的VLRo和新访问的VLRn相互间交换认证数据,新的VLRn要求先前VLRo发送用户的永久身份,该过程包含在VLR相互之间交换和分发认证数据的机制中。如果先前的VLRo不能连接或者是不能得到用户的身份,访问的VLRn将要求用户使用永久身份IMSI来识别。

至此用户可以使用TMSI或者IMSI来进行入网注册,而同时保证了身份的机密性。


6  结  论

随着3G网络技术的飞速以及无线PKI相关技术的应用,无线PKI在3G系统中的应用也会越来越成熟。同时随着终端处理能力的提升,公钥体制在实现用户身份机密性的过程中,会相比单钥体制具有更多的优势。因为在单钥体制下,用户的安全依赖于网络,而现在使用公钥技术来保护用户的身份,因为用户的私钥只有用户自己知道,身份的机密性不再依赖于网络。

但是在使用公钥体制和WPKI相结合的方案下,需要解决的是更好的保护用户证书的安全性,因为对于网络内部来说,盗取证书是可能的。而且对于CA的安全性能也提出了更高的要求。



[1]孙林红,叶顶锋,冯登国.无线PKI体系的设计.院研究生院学报,2002.19(3):223~228
[2]Wireless Application Protocol Forum.Version 24-Apr-2001.Wireless Application Protocol Public Key Infrastructure Definition
[3]Symeon(Simos) Xenitellis OpenCA Team Version 2.4.6 Edition,2000.The Open–source PKI Book: A guide to PKIs and Open–source Implementations
[4]张平.第三代蜂窝移动通信系统-WCDMA.北京:北京邮电大学出版社 2001,19~22
[5]隋爱芬,杨义先.第三代移动通信系统的安全.世界电信,2003,5:37~40
[6]肖宁.WCDMA系统接入安全机制的研究.重庆邮电学院学报,2004.16(3):43~46
[7]林德敬,林柏钢,林德清.3GPP 系统全系列信息安全及其算法设计与应用.重庆邮电学院学报,2003,15(4):18~23
[8]Andrew Nash,William Duane,Celia Joseph,Derek Brink著;张玉清,陈建奇,杨波,薛伟译.公钥基础设施(PKI)实现和管理安全.北京:清华大学出版社 2002,255~314
[9]3GPP Technical Specification 33.102 V6.3.0, 2004-12. 3G Security architecture[S].
[10]   李世鸿,李方伟.3G移动通信中的安全改进.重庆邮电学院学报,2002.14(4):24~32
[11]   姚惠明.鉴权理论和技术研究:[博士学位].北京:北京邮电大学,2003
[12]   左益强.无线环境中身份匿名认证机制的研究:[硕士学位论文].上海:复旦大学,2003