为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

鉴权加密

2011-06-01 12页 doc 335KB 216阅读

用户头像

is_267449

暂无简介

举报
鉴权加密TS 33 鉴权与加密 1 安全架构概述 图1完整的描述了3G安全架构 图1: 安全架构概况 3G的安全架构提供了五个层面的安全功能。每个层面都完成其特定的安全目标以应对不同攻击类型。 - 网络接入安全(I):由于Uu口的数据是通过无线介质传输的,因此用户数据可以被轻易的截获。网络接入安全功能就是为了保证用户可以安全的接入3G网络,放心的进行各种业务,而不必担心任何的私有信息会被非法的窃听或篡改,但这并不保证用户不会被合法的窃听; - 网络域安全(II):为了支持跨国家跨地区的漫游,必须保证用户无论在任何国家或地区接入3G网络...
鉴权加密
TS 33 鉴权与加密 1 安全架构概述 图1完整的描述了3G安全架构 图1: 安全架构概况 3G的安全架构提供了五个层面的安全功能。每个层面都完成其特定的安全目标以应对不同攻击类型。 - 网络接入安全(I):由于Uu口的数据是通过无线介质传输的,因此用户数据可以被轻易的截获。网络接入安全功能就是为了保证用户可以安全的接入3G网络,放心的进行各种业务,而不必担心任何的私有信息会被非法的窃听或篡改,但这并不保证用户不会被合法的窃听; - 网络域安全(II):为了支持跨国家跨地区的漫游,必须保证用户无论在任何国家或地区接入3G网络,信令在HE和SN之间的传递都是安全的; - 用户域安全(III):有两个层面,一是USIM对用户的鉴权,即只有合法的用户才能使用特定的USIM,通过设置PIN实现。二是USIM对终端的鉴权,即只有合法的USIM才能插入特定的终端设备,如CDMA手机的机卡合一。 - 应用层安全(IV):虽然3G网络本身已经提供强大的安全功能,但在应用层上仍有各种各样的安全需求。如3G网络不能提供用户数据的完整性保护和签名功能。 - 安全功能的非透明性和可配置性(V):一般来说,安全功能对于用户来说是透明的,但在一些特殊的情况下,用户也必须被告知当前的安全状态。如:用户从一个安全级别较高的区域漫游到一个安全级别较低的区域(3G—2G)。 图2描述了一个移动终端同时接入CS域和PS域的情况。在不同的业务域中,用户临时标志符的分配、鉴权、密钥协商过程都是独立进行的。用户面的数据的加密,控制面信令的加密与完整性保护在不同的业务域中也是独立进行的。 图2移动终端的接入 2 网络接入安全 网络接入安全是用来确保用户的身份不被识别,用户的的数据不被窃取,用户接入的网络是合法可靠的,用户的控制信息不被篡改。为了达到以上的目标,必须采取相应的技术来实现。 2.1用户身份的保密性 以下的几个方面是保证用户的身份不被识别所需要关注的: —​ 用户ID的保密性:确保用户的固定ID(IMSI)不会在无线信道上被窃取; —​ 用户位置的保密性:确保用户的位置信息不会被获知; —​ 无法跟踪:确保攻击者无法推测出用户当前正在进行的业务。 为了达到这些目标,用户通常只使用临时标志符来标识,只有被访问的网络才知道临时标志符所对应的具体用户,同时用户不应当长时间的使用同一个临时标志符以防止被跟踪。另外,所有有可能暴露用户身份的信令和数据都应当加密后才允许在无线信道上传输。 2.2 实体鉴权 实体鉴权包括两个方面: —​ 用户对网络的鉴权:保证用户接入的网络是得到用户的HLR授权的; —​ 网络对用户的鉴权:确保接入网络的用户是合法的用户。 为了达到这样的目标,用户每次与网络建立连接都需要进行实体鉴权。实体鉴权有两 种机制实现:通过向HLR请求鉴权向量来进行鉴权,或使用本地的鉴权向量来进行鉴权。 2.3 保密性 保密性包括四个方面: —​ 加密算法的协商:保证用户与网络可以秘密的协商将要使用的加密算法; —​ 加密密钥的协商:确保用户与网络可以安全的协商将要使用的加密密钥; —​ 用户数据的保密性:保证用户的数据不会在无线口上被窃听; —​ 信令的保密性:确保信令不会在无线口上被窃听。 2.4 数据的完整性 数据的完整性包括四个方面: —​ 完整性算法的协商:保证用户与网络可以秘密的协商将要使用的完整性算法; —​ 完整性密钥的协商:确保用户与网络可以安全的协商将要使用的完整性密钥; —​ 信令的完整性保护:确保信令不会被非法的篡改。 3 网络接入完全机制 3.1 用临时ID来识别用户 3.1.1 概述 这个机制可以保证在无线口上用户可以临时ID来标志(TMSI)。TMSI只在用户当前注册的区域内有效。当用户离开这个区域,用户必须用TMSI和位置标志符(LAI)联合来标志用户以防止发生冲突的情况出现。临时标志符和永久标志符(IMSI)的对应关系在VLR和SGSN中保存。 如果用户当前有TMSI,那么用户所有的业务,如:寻呼请求,位置更新请求,服着请求,服务请求,分离请求,都应当使用TMSI来标识用户。 3.1.2 TMSI重分配过程 这个过程的目的是为了给用户重新分配一个TMSI/LAI对来标识用户。 这个过程在加密开始以后进行,是由SGSN/VLR触发的。SGSN/VLR产生一个新的TMSI,并把TMSI与IMSI的对应关系存在数据库中。TMSI应该是无法被猜测出来的。然后SGSN/VLR将新的TMSI发给用户。 用户接受到TMSI后,自动的将新的TMSI存入,并把老的TMSI删除。然后用户发送一条确认消息给网络。网络侧接受到确认消息后,把数据库中存的老的TMSI与IMSI的对应关系删除。这样老的TMSI可以分配给其他的用户。 如果网络没有接受到用户发来的TMSI分配的确认的消息,网络会同时保存老的TMSI与IMSI的对应关系和新的TMSI与IMSI的对应关系。 对于用户发起的业务,使用新的TMSI或老的TMSI都是合法的。当网络收到用户发来的消息,如果此时网络同时存着老的TMSI和新的TMSI,网络将会判断用户是用哪个TMSI来标识的,并把另外一个TMSI删掉。 对于网络发起的业务,网络应当用IMSI来标识用户。当无线连接建立后,网络应当指示用户删除先前存的TMSI。然后网络会发起一个TMSI重分配的过程。如果TMSI分配过程多次的失败,SGSN/VLR应当向网管系统(OMC)发送异常报告。 3.1.3 位置更新 在位置更新的过程中,如果用户使用的TMSI/LAI不是当前访问的VLR分配的,VLR会根据LAI来得到原先的VLR的地址,然后向老的VLR请求用户的IMSI和鉴权向量。如果老的VLR无法访问,或老的VLR没有存放用户的信息。新的VLR会向用户请求发送他的IMSI。 用户收到ID请求消息后,会把自己的永久标识符(IMSI)以明文的形式发送给网络。 3.2 鉴权与密钥协商 3.2.1 概述 这个机制可以达到网络与用户互相鉴权的目的。为了达到这个目的,用户的归属位置寄存器(HLR)与用户的USIM都存有一个保密的密钥K。此外USIM和HLR都随时监控一个序列数(SQN),USIM中存着SQNME,HLR中存着SQNHE。每一个用户都有一个专属的计数器SQNHE,SQNME规定了USIM所能接受的最大的SQN值。 下图描述了鉴权机制的框架: 接受到SGSN/VLR发来的鉴权请求后,HLR发送鉴权向量给SGSN/VLR。每组鉴权向量包含以下的一些参数:一个随机数RAND,一个期望的回应XRES,一个加密密钥CK,一个完整性密钥IK,和一个鉴权令牌AUTN。HLR可能会发多组鉴权向量给SGSN/VLR,每组鉴权向量都可以用来为USIM鉴权和密钥协商。 当SGSN/VLR发起一个鉴权和密钥协商过程,SGSN/VLR会选择一个鉴权向量,并把参数RAND和AUTN发送给用户。多组鉴权向量的选择依据先进先去的原则。USIM检查AUTN是否可以被接受,如果可以接受,USIM计算出响应值RES发送给SGSN/VLR。USIM同时也计算出CK、IK。SGSN/VLR将接受到的RES与XRES相比较,如果两个值相等,SGSN/VLR认为鉴权成功。随后SGSN/VLR会把CK、IK发送给RNC开始加密功能。 当HLR不可达,SGSN/VLR可以重复的使用先前从HLR得到的鉴权向量,以保证用户的连接是安全可靠的。 3.2.2 鉴权向量的分配和生成 鉴权向量的分配就是从HLR得到用户全新的鉴权向量的过程。 SGSN/VLR首先发出鉴权请求,其中包含的参数为IMSI。 接受到鉴权请求后,HLR将计算出一组或几组新的鉴权向量,然后发送给SGSN/VLR。下图描述了鉴权向量的产生。 HLR首先生成一个新的SQN和随机数RAND。 SQN的管理可以具有一定的灵活性,当以下的要求应当满足: 1)SQN的生成机制应当允许重同步过程; 2)如果SQN包含用户的身份或位置信息,应当使用AK来掩盖SQN; 3)生成机制应当防止USIM中序列数的回环。 在USIM中,也有特定的机制来保证序列数的可用性。SQNHE与SQNHE可以不一致,但差值必须是在可接受的范围内。允许不一致是为了保证由于重同步而导致的鉴权失败的可能性尽量的小。 一个鉴权和密钥管理域也包括在鉴权向量中。 接下来,以下的值被计算出来: — 消息鉴权码 MAC = f1K(SQN || RAND || AMF); — 期望的响应值 XRES = f2K (RAND); — 加密密钥 CK = f3K (RAND); — 完整性密钥 IK = f4K (RAND); — 匿名密钥 AK = f5K (RAND)。 最后AUTN由SQN Å AK || AMF || MAC组成。 AK是用来掩盖SQN的,因为SQN对每个用户是唯一的,其中的信息可能会暴露用户的身份和位置,所以使用AK来防止被动攻击的发生。 3.2.3 鉴权与密钥协商 这个过程的目的是为了鉴权用户并确立新的加密密钥和完整性密钥。 SGSN/VLR从数据库选择一个未使用的鉴权向量,然后将RAND和AUTN发送给USIM。 USIM接受到RAND和AUTN后,首先计算出匿名密钥AK = f5K (RAND),然后得到序列数SQN = (SQN Å AK) Å AK。 接下来USIM计算出XMAC = f1K (SQN || RAND || AMF)并把计算出来的值与AUTN中带的MAC进行比较。如果两个值不相等,则用户发送鉴权拒绝消息给SGSN/VLR。在这种情况下,SGSN/VLR会发送鉴权失败给HLR。SGSN/VLR可能会进行新的鉴权的过程。 如果MAC值相等,USIM会比较SQN是否在可接受的范围内。如果SQN超出了范围,USIM会发送一条同步失败消息给SGSN/VLR,其中包含参数AUTS。AUTS= Conc(SQNMS ) || MAC‑S,Conc(SQNMS) = SQNMS f5*K(RAND),MAC‑S = f1*K(SQNMS || RAND || AMF),其中的RAND是鉴权请求时网络发给USIM的。 AUTS的生成如图所示: 如果SQN的值是在允许的范围内,USIM会计算出返回值RES = f2K (RAND),并把RES作为参数包含在鉴权回应消息中。最后USIM计算出加密密钥CK = f3K (RAND)和完整性密钥IK = f4K (RAND)。如果要获得更高的效率,CK、IK可以在一接受到RAND的时候就计算出来。随后USIM把CK、IK发送给移动设备(ME)。 接受到鉴权响应消息后,SGSN/VLR将消息里带来的RES和XRES进行比较,如果两个值相等,则鉴权通过。如果不相等SGSN/VLR会发送一条鉴权失败消息给HLR。SGSN/VLR随后可能发起一个新的身份识别和鉴权的过程。 USIM对SQN的判断会让MS拒绝使用一个已经使用过的鉴权向量来建立UMST安全上下文。所以通常SGSN/VLR只使用鉴权向量一次。 然而也有例外的情况,如果SGSN/VLR发出了一条鉴权请求给MS,却没有收到任何的回应,如:鉴权回应或鉴权拒绝,SGSN/VLR会用先前的鉴权向量重新发送鉴权请求。当收到回应后就不应该再发送任何的鉴权请求消息了。如果鉴权请求消息重发的次数超过一定的限制,那么就认为鉴权失败,SGSN/VLR会将保存的鉴权向量删除。在MS侧,MS会存着上次收到的RAND值,当MS收到鉴权请求,发现RAND值重复了,MS会重新发送鉴权回应。当MS收到安全模式命令时,MS会删除保存的RAND和RES。 3.2.3 在一个伺服网络内IMSI和鉴权向量的分配 这个过程的目的是让当前访问的SGSN/VLR从先前访问的SGSN/VLR那得到临时的鉴权向量,这两个SGSN/VLR处于同一个伺服网络内。 如果所示: 当前访问的SGSN/VLR收到位置更新请求后,向先前访问的SGSN/VLR发出请求。当前访问的SGSN/VLR用TMSI和LAI来标识用户。这个TMSI是由先前访问的SGSN/VLR分配给用户的。 整个步骤如下: 1)​ 当前访问的SGSN/VLR向先前访问的SGSN/VLR发送用户身份请求消息; 2)​ 先前访问的SGSN/VLR在数据库中搜索用户的数据; 如果用户数据存在,先前访问的SGSN/VLR会发送用户身份回应消息; a)​ 其中必须要包含用户的永久标识符IMSI; b)​ 可能会包含一些未使用的鉴权向量; c)​ 可能会包含当前正在使用的安全上下文数据:CK、IK、KSI; 先前访问的SGSN/VLR会删除用户的鉴权向量; 3)​ 当前访问的SGSN/VLR得到用户身份回应消息后,会把收到的鉴权向量保存起来。 3.2.4 重同步过程 SGSN/VLR会发送两种鉴权请求给HLR,一种是正常的鉴权请求,一种是因为同步失败的鉴权请求。当SGSN/VLR收到MS发来的同步失败消息后,会发送鉴权请求给HLR,其中包含两个参数:RAND,AUTS。在从HLR收到鉴权响应之前,SGSN/VLR不会发送鉴权请求给MS。 当HLR收到因同步失败而发出的鉴权请求时,会拿着以下的步骤进行操作: 1) HLR从Conc(SQNMS)得到SQNMS 2) HLR检查SQNHE是否在正常的范围,也就是下一个生成的SQNHE是否能够被MS接受; 4)​ 如果SQNHE在正常的范围则跳到第六步,否则进行第四步; 5)​ HLR鉴别AUTS; 6)​ 如果鉴别成功,HLR将SQNHE置为SQNMS 7)​ HLR发送一条鉴权响应消息给SGSN/VLR,其中的鉴权参数是由新的SQNHE生成的,为了减少HLR的计算负担,这种情况下可能只发送一组鉴权向量给SGSN/VLR。 当SGSN/VLR收到因为同步失败而产生的鉴权响应消息时,SGSN/VLR会把先前存的鉴 权向量全部删掉。 随后SGSN/VLR会用新的鉴权向量给用户鉴权。下图描述了重同步的过程: 3.3 本地鉴权和连接建立 3.3.1加密模式和完整性模式协商 当MS需要和网络建立一个连接,MS应当通知网络MS的网络能力,也就是告诉网络MS支持的加密和完整性算法。这个消息本身也应该被完整性保护,但是在刚开始的时候,RNC并没有MS的完整性密钥,这些信息应当存在RNC中 网络收到MS支持的加密和完整性算法后,将与自己支持的安全能力进行比较,根据结构决定下一步的操作。 1) 如果MS与网络没有一致的加密算法,并且网络不支持无加密的连接模式,连接将被释放; 2) 如果MS与网络没有一致的加密算法,但MS与网络可以进行无加密的连接,MS与网络将使用无加密的连接; 3) 如果MS与网络至少有一个共同支持的加密算法,网络将选择一个加密算法使用。 3.3.2 加密密钥与完整性密钥的生命期 鉴权与加密在呼叫建立的时候并不总是强制的,并且协商的密钥有可能不被限制的使用。需要有一种机制来保证特定的密钥不被无限制的使用,以防止被动攻击。USIM包含一种机制保证用特定密钥加密的数据的量不会超过一个上限。 每次连接释放后,ME会将START值会和上限值相比较,如果START值超出了允许的最大值,ME会将UISM中的START值置为无效的。同时也会将保存的CK、IK、KSI置为无效的。 当连接重新建立的时候,ME会从USIM中取得START,如果是无效的,ME会生成新的CK、IK。这个机制保证CK、IK不会被无限制的使用。 3.3.3 安全模式建立过程 这个过程用来开始加密和完整性保护。在进行加密和完整性保护之前,这是必须要执行的。但是存在以下的例外情况: —​ 信令连接只是为了进行周期性的路由区更新; —​ MS发出一条L3消息后不会再有其他的消息发出了,如:MS发起分离请求; —​ MS发出一条L3消息后,用户的ID请求和鉴权被拒绝; —​ MS发起紧急呼叫,如:119。 下图描述了加密和完整性保护建立的过程: 1.RRC连接建立,ME的加密能力和START值从MS发送到RNC。 2.MS发出L3消息,如:位置更新请求,服着请求,寻呼响应等,给SGSN/VLR。这条消息重包含了用户的ID和KSI。 3.用户ID请求、新的鉴权过程可能会进行。 4. SGSN/VLR决定使用哪种加密算法和完整性算法。 5. SGSN/VLR发出安全模式命令给RNC。这条消息中包含SGSN/VLR选择的加密算法、完整性算法、加密密钥、完整性密钥。这条消息发出后,RNC中的START值将重置为0。如果安全模式命令命令没有发出,START值将不会改变。 6.RNC根据收到的消息选择一个具有最高安全等级的算法。RNC产生一个随机数FRESH并发起下行的完整性保护。 7.RNC发出无线口的安全模式命令。这条消息包含ME安全能力、加密算法、完整性算法、FRESH、网络域标志、用于完整性保护的MAC。 8.MS接受到安全模式命令后,将消息中包含的ME安全能力和ME开始发出的安全能力是否一致。MS根据选择的完整性算法以COUNT-I和FRESH为参数计算出X-MAC。 9.如果一切顺利,MS发出安全模式结束消息给RNC,并为这条消息计算MAC值。 10.RNC收到安全模式结束消息后,RNC计算出X-MAC,并与收到MAC值比较。 11.RNC发出安全模式结束消息给SGSN/VLR,其中包含选择的算法。 RNC发出安全模式命令后,下行的完整性保护便开始了。MS发出安全模式命令结束后,上行的完整性保护便开始了。加密激活时间信息在安全模式协商的时候在MS与RNC之间交换。
/
本文档为【鉴权加密】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索