家庭基站系统中用户终端接入认证及重认证的方法 技术领域 本发明属于移动通信网络安全技术领域, 具体的说是一种用户终端通过家庭基站 接入核心网的认证及重认证方法, 可用于现有的家庭及办公室等室内场所中, 实现室内的 用户终端安全、 快速的接入核心网络。
背景技术
随着无线宽带的推广及应用, 家庭基站作为一种新型的基站应运而生, 是对于蜂 窝网在室内覆盖的补充。家庭基站使用 IP 协议, 采用扁平化的基站架构, 可以通过现有的 DSL、 Cable 或光纤等宽带手段接入移动运营商的核心网络。因此, 家庭基站被看作是实现 固网、 移动形成融合平台的有效方案。但是与传统宏基站不同, 家庭基站是通过固网运营 商不可信的链路连接到移动运营商的核心网络, 这导致运营商的核心网络与公共网络直接 相连, 必然为运营商的网络管理带来新的风险。此外, 家庭基站部署在不可信的环境中, 极 易受到恶意用户的攻击, 并以家庭基站为跳板, 进一步对运营商的核心网络以及用户终端 造成严重威胁。 因此为保证家庭基站的使用, 需要设计安全、 完整的认证机制以保证其安全 性。
近些年来, 3GPP、 3GPP2、 Femto、 Forum 等标准化组织都在进行家庭基站安全相关的 标准工作。2007 年 12 月 3GPP SA 第 38 次会议正式立项, 开展家庭基站安全机制的研究 ; 同时起草 TR33.280, 分析家庭基站面临的安全威胁, 研究相应的解决措施, 涉及家庭基站安 全架构、 安全威胁、 安全要求等内容。2009 年 3 月 SA 第 43 次会议通过了 TR33.280。2008 年 12 月, 3GPP SA 第 42 次全会启动 W1“SECURITY Aspects ofHome NodeB/eNodeB” , 正式 制定家庭基站的安全标准, 计划 2010 年 3 月完成该项目。
家庭基站的认证主要是包括三个内容 :
(1) 设备认证 : 在家庭基站加电后, 首先进行家庭基站的设备鉴权, 确认家庭基站 身份的合法性。
(2) 准入认证 : 当移动终端请求通过家庭基站接入网络时, 家庭基站系统 ( 包括 HNB、 HNB-GW 和 HNB HLR) 执行 UE 准入鉴权, 判决该 UE 是否有接入该家庭基站的权利。
(3)UE 认证 : 当准入认证通过时, 就将 UE 的接入请求前转入到核心网, 然后进行传 统移动网络中的 UE 认证。
在上述的认证方式中, 设备认证旨在核查用户设备的合法性, 防止非法基站设备 接入核心网络。目前标准化组织还没有定义基站设备的鉴权方法, 考虑到 3G 未来的发展趋 势, 业界建议使用 USIM 卡的方式进行设备鉴权, 即可以将 USIM 卡固化到基站设备中, 采用 USIM 卡的 EAP-AKA 鉴权机制进行认证。准入认证主要是进行判决是否移动终端有接入此 家庭基站的权限, 这是因为家庭基站是一种部署在用户室内的新型基站, 相对于宏基站具 有一定的私有性, 家庭基站希望只有自己授权的用户终端才有资格通过自己接入到核心网 中, 目前并没有一种成熟的专门针对家庭基站系统的准人鉴权方案。
3GPP 为了保证用户终端通过宏基站接入核心网络, 采用了 EAP 认证及密钥分配协议 (EAP-AKA)。 此协议通过证明他们之间拥有一个共同的密钥, 从而实现了用户终端和核心 网络的双向认证。参考图 1, 一次完整的 EAP-AKA 认证过程如下 :
(1) 首先接入点 AP 向用户终端 UE 发送一个 EAP request/identity ;
(2) 收到消息后, UE 发送 EAP response/identity 经 AP 转发给鉴权服务器 AAA, 其中包含用户的唯一标识符 IMSI ;
(3)AAA 收到 IMSI 后, 首先询问 HLR 该用户是否为有效用户, 确认后从 HLR 中取得 与该用户相关的认证向量 AV,
AV = RAND|XRES|CK|IK|AUTN, 其中 RAND 是一个随机数,
XRES = f2k(RAND), CK = f3k(RAND), IK = f4k(RAND),
AUTN = SQN|AK|AMF|MAC, SQN 为序列号, AK = f5k(RAND), AMF 为认证管理域, MAC = f1k(SQN|RAND|AMF), 这里 f1-f5 为 3G 安全架构中定义的算法, f1 算法用于产生消息认 证码, f2 用于消息认证中计算期望响应值, f3 用于产生加密密钥, f4 用于产生完整性密钥, f5 用于产生匿名密钥, k 是 UE 和鉴权服务器 AAA 共享的一个秘密密钥 ;
(4) 得到 AV 后, AAA 构造一个 EAP request/challenge 消息, 包含 RAND 和 AUTN, 并计算消息鉴别码, 将此消息经 AP 发送给 UE ; (5)UE 首先验证 AUTN, 并确定收到的序列号 SQN 是否在有效范围内, 若都正确, 则 实现了 UE 对核心网络的认证 ;
(6)UE 验证消息鉴别码是否正确, 并计算 RES = f2k(RAND), 然后构造一个 EAP response/AKA challenge 消息, 包含 RES, 并计算消息鉴别码。将此消息经 AP 发送给 AAA ;
(7)AAA 先验证消息鉴别码, 再将收到的 RES 和 XRES 进行比较, 若正确, 则认证 UE 的身份, 并向 UE 发送成功消息。
认证成功后, AAA 和 UE 计算 IK 和 CK, 并从中生成共享密钥 MK = PRF(CK|IK)。接 下来利用 MK 生成主会话密钥 MSK, 扩展会话密钥 EMSK 以及传输 EAP 密钥 TEK。其中 MSK 被 发送给 AP 用于生成传输会话密钥 TSK, 而 TSK 最终用于生成 UE 及 AP 之间机密性及完整性 保护的密钥 ; 由 TEK 可以得到 K-auth 和 K-encr, 用于保护 EAP 信息的机密性和完整性 ; EMSK 主 要用于生成切换密钥。
当用户终端重启后再要接入网络或是需要切换时, 就要进行重新认证的过程。基 于 EAP-AKA 协议的重认证机制可以采用完全的或是采用一种快速的认证机制。所谓完全的 是进行一次完整的 EAP-AKA 过程, 而快速的认证机制是对完整的 EAP-AKA 过程进行简化, 主 要是由于在重认证过程中不需要再从 HLR 得到用户的 AV, 从而减少传输延迟, 而且相比较 完整的认证过程, 快速的认证也减少了认证流程以及用户终端能源的消耗。
由于家庭基站和宏基站相比有其特殊性, 所面临的安全问题也不尽相同, 而且传 统的 EAP-AKA 协议由于存在多轮的消息交互从而带来比较高的重认证延迟, 以及对于 UE 的 身份信息保护不够等缺点, 因此传统的 EAP-AKA 协议并不能直接在家庭基站中使用。
发明内容 本发明的目的在于克服 EAP-AKA 协议的不足, 提出一种家庭基站系统中用户终端 接入认证及重认证的方法, 以减小重认证延迟, 提高对用户终端 UE 身份信息保护的安全性 和可靠性。
实现本发明目的技术方案是 : 在 EAP-AKA 安全协议的基础上利用分级密钥的方 式, 对通过家庭基站接入网络的用户终端和核心网之间进行接入认证及重认证, 保证在家 庭基站系统中用户终端接入网络的安全性。具体步骤如下 :
一 . 用户终端通过家庭基站接入核心网的接入认证方法, 包括以下步骤 :
(1) 家庭基站 HNB 向用户终端 UE 发送身份请求信息 EAP request/identity ;
(2)UE 将用户终端的身份信息 UE ID 通过身份响应信息 EAP response/identity 发送给 HNB, HNB 再将身份响应信息 EAP response/identity 转发给家庭基站网关 HNB-GW ;
(3)HNB-GW 从身份响应信息 EAP response/identity 中得到用户终端身份信息 UEID, 并将 UE ID 以及家庭基站的身份信息 HNB ID 一起发送给家庭基站的用户属性归属服 务器 HNB HLR ;
(4) 家庭基站的用户属性归属服务器 HNB HLR 查看在此 HNB ID 下的闭合用户群列 表 CSG 是否存在此 UE ID, 如果有, 则向家庭基站网关 HNB-GW 发送确认信息, 如果没有, 则向 HNB-GW 发送终止接入消息 ;
(5)HNB-GW 如果收到确认消息, 则向鉴权服务器 AAA 发送 UE ID, 请求对用户进行 认证, 如果收到终止接入信息, 则将此信息返回给 UE, 进行重新搜索 ; (6)AAA 收到用户终端身份信息 UE ID 后, 与用户属性归属服务器 HLR 进行交互, 得 到 UE ID 的认证向量 AV, 该 AV 包括随机数 RAND, 挑战响应值 XRES, 加密密钥 CK, 完整性密 钥 IK 和挑战值 AUTN ;
(7)AAA 生成一个随机数 RANDi 和一个新的重认证身份信息 next ID, 并利用机密 性密钥 K_encr 对用户重认证的身份信息 next ID、 重认证的次数 Nr、 家庭基站身份信息 HNB ID 以及随机数 RANDi 进行加密, 得到秘密信息 (next ID, Nr, HNB ID, RANDi)K_encr, 和计算消 息认证码 MAC ; 再将随机数 RAND, 挑战值 AUTN, 秘密信息 (next ID, Nr, HNB ID, RANDi)K_encr 和消息认证码 MAC 通过一个挑战信息 EAP request/AKA-challenge 发送给家庭基站网关 HNB-GW ;
(8)HNB-GW 将挑战信息 EAP request/AKA-challenge 发送给家庭基站 HNB, HNB 再 将 EAP request/AKA-challenge 信息发送给 UE ;
(9)UE 验证 AUTN 及 MAC 是否正确, 若有一个不正确, 则 UE 认证 AAA 失败, 并终止认 证, 若都正确, 则 UE 认证 AAA 成功, 利用机密性密钥 K_encr 对秘密信息 (next ID, Nr, HNB ID, RANDi)K_encr 进行解密, 得到 next ID、 HNB ID、 RANDi 和 Nr, 并保存这些信息, 再计算挑战 值 RES 和新的消息认证码 MAC1, 并将该挑战值 RES 和新的消息认证码 MAC1 通过一个挑战响 应消息 EAP response/AKA-challenge 发送给 HNB ;
(10)HNB 将挑战响应消息 EAP response/AKA-challenge 转发给 HNB-GW, HNB-GW 再 将 EAP response/AKA-challenge 信息转发至 AAA ;
(11)AAA 首先验证 MAC1 是否正确, 并将所收到的 RES 与从认证向量 AV 中得到挑战 响应值 XRES 进行比较, 如果有一个不正确, 则 AAA 认证 UE 失败, 并终止认证, 如果都正确, 则 AAA 认证 UE 成功, 并利用主会话密钥 MSK 分别生成主传输会话密钥 KA, UE 与 HNB 之间的 传输会话密钥 KH, 以及 UE 与 AAA 之间的传输会话密钥 KS, 再将成功消息 EAP success、 重认 证身份信息 next ID 以及 KH 发送给 HNB-GW ;
(12)HNB-GW 保存重认证身份信息 next ID, 并将 EAP success 和 KH 发送给 HNB ;
(13)HNB 保存 KH, 并将 EAP success 信息转发给 UE ; (14)UE 收到成功消息后, 分别利用主会话密钥 MSK 生成 KA、 KH 和 KS, 接入认证过程结束。 二 . 用户终端通过家庭基站接入核心网的重认证方法, 是在接入认证完成后, 利 用用户终端 UE 和鉴权服务器 AAA 得到的密钥 KA、 KS, 重认证身份信息 next ID 和计数值 Counter, 进行如下重认证 :
1) 家庭基站 HNB 向用户终端 UE 发送身份请求信息 EAP request/identity ;
2)UE 将重认证身份信息 next ID 通过身份响应信息 EAP response/identity 发送 给 HNB, HNB 再将 EAP response/identity 转发给家庭基站网关 HNB-GW ;
3)HNB-GW 从 EAP response/identity 得到重认证身份信息 next ID, 并与所存储 的身份信息进行比较, 若相同, 则将此身份信息 next ID 转发给鉴权服务器 AAA, 若不相同, 则将此身份信息转发给家庭基站的归属服务器 HNB HLR 进行接入认证 ;
4)AAA 首先检查收到的 next ID 是否有效, 再查看所存储的 KA 和 KS 是否在有效 期内, 以及所存储的计数值 Counter 是否超过限制, 如果有一个不合法, 则终止, 如果都合 法, 则生成一个新的重认证身份信息 new ID 和随机数 RANDr, 并利用 UE 与 AAA 之间的传输 会话密钥 KS 对新的重认证的身份信息、 计数值 Counter 以及随机数 RANDr 进行加密, 得到
秘密信息 (new ID, Counter, RANDr)KS, 和计算消息认证码 MAC2 = SHA-1(KS, Counter|new ID|RANDr), 并将该消息认证码和秘密信息通过一个重认证挑战信息 EAP request/AKA re-auth 发送给 UE ;
5)UE 收到信息后, 利用 KS 对秘密信息 (new ID, Counter, RANDr)KS 进行解密, 得到 新的 new ID、 计数值 Counter 以及随机数 RANDr, 保存新的 new ID, 并验证计数值 Counter 和 MAC2 是否正确, 如果有一个不正确, 则 UE 认证 AAA 失败, 并终止认证, 如果都正确, 则 UE 认证 AAA 成功, 并利用 KS 对计数值 Counter 进行加密, 得到秘密信息 (Counter)KS, 和计算 新的消息认证码 MAC3 = SHA-1(KS, Counter|RANDr), 并将该消息认证码和秘密信息通过一 个重认证响应信息 EAP response/AKA re-auth 发送给 AAA ;
6)AAA 收到信息后, 利用 KS 解出计数值 Counter, 验证计数值 Counter 和消息认证 码 MAC3 值是否正确, 如果有一个不正确, 则 AAA 认证 UE 失败, 并终止认证, 如果都正确, 则 AAA 认证 UE 成功, 更新 Counter, 并利用主会话密钥 MSK 分别生成新的主传输会话密钥 nKA, UE 与 AAA 之间的传输会话密钥 nKH, 以及 UE 与 HNB 之间的传输会话密钥 nKS, 再将成功信息 EAP success, 新的身份信息 new ID 和 nKH 发送给 HNB-GW ;
7)HNB-GW 保存 new ID, 并将成功信息 EAP success 和 nKH 发送给 HNB ;
8)HNB 保存 nKH, 并将成功信息 EAP success 发送给 UE ;
9)UE 收到成功信息后, 更新 Counter, 并利用主会话密钥 MSK 分别生成 nKA、 nKH 和 nKS, 重认证过程结束。
本发明与现有技术相比具有如下优点 :
1. 由于宏基站和家庭基站的不同, 家庭基站有一定的私有性, 现有的 EAP-AKA 协 议并不能实现家庭基站的私有性, 本发明的接入认证方法将用户的身份和家庭基站的身份 同时发送给 HNB HLR 进行查询, 根据用户的身份是否存在于家庭基站的 CSG 列表中来进行 判决, 从而实现家庭基站的私有性。2. 在本发明的重认证方法中, 根据用户的身份是否与家庭基站网关中所存储的身 份相同来进行判决, 从而实现家庭基站的私有性。
3. 现有的 EAP-AKA 协议存在多轮的消息交互, 从而带来比较高的重认证延迟, 本 发明的重认证方法不需要与家庭基站属性归属服务器 HNB HLR 进行交互, 从而简化了认证 流程, 减少了重认证延迟, 使得认证过程更加高效。
4. 现有的 EAP-AKA 协议是利用用户的全球唯一标识符 IMSI 进行认证的, 在认证过 程中, 对用户的身份信息不加保护或者只是进行简单的封装, 这样使用户的身份信息有可 能暴露在不安全的环境中, 从而有可能被攻击者截获, 本发明的接入认证及重认证方法在 每次认证过程中都将产生一个与用户身份相对应的新的临时身份信息, 而且都是经过加密 安全传输的, 从而提高了对用户终端身份信息保护的安全性和可靠性。
5. 本发明采用了分级密钥的思想, 在每次认证结束后, 都将产生新的安全传输密 钥, 从而使用户终端、 家庭基站以及核心网之间的信息传输更加安全可靠。 附图说明
图 1 是现有的 EAP-AKA 认证流程图 ;
图 2 是本发明的接入认证流程图 ;
图 3 是本发明的重认证流程图。 具体实施方式
本发明是在家庭基站完成设备认证后, 即在家庭基站与家庭基站网关之间建立了 安全通道的情况下, 进行用户终端 UE 通过家庭基站系统接入核心网的接入认证和重认证 过程。
参考图 2, 本发明的接入认证方法对现有的 EAP-AKA 协议进行改进, 并采用访问家 庭基站属性归属服务器 HNB HLR 中 CSG 列表的方法, 实现家庭基站的私有性和用户终端与 鉴权服务器之间的相互认证, 具体步骤包括如下 :
步骤 1, 家庭基站 HNB 向用户终端 UE 发送身份请求信息 EAP request/identity ;
步骤 2, UE 将用户身份信息 UE ID 通过身份响应信息 EAP response/identity 发 送给 HNB, HNB 再将身份响应信息 EAP response/identity 转发给家庭基站网关 HNB-GW ;
步骤 3, HNB-GW 从身份响应信息 EAP response/identity 中得到用户终端身份信 息 UE ID, 并将 UE ID 以及家庭基站的身份信息 HNB ID 一起发送给家庭基站的用户属性归 属服务器 HNB HLR ;
步骤 4, 家庭基站的用户属性归属服务器 HNB HLR 查看此 HNB ID 的闭合用户群列 表 CSG 是否存在此 UE ID, 如果有, 则向家庭基站网关 HNB-GW 发送确认信息, 如果没有, 则向 HNB-GW 发送终止接入消息 ;
步骤 5, HNB-GW 如果收到确认消息, 则向鉴权服务器 AAA 发送 UE ID, 请求对用户 进行认证, 如果收到终止接入信息, 则将此终止信息返回给 UE, 进行重新搜索 ;
步骤 6, AAA 收到用户终端身份信息 UE ID 后, 将 UE ID 发送给用户属性归属服务器 HLR, HLR 再将 UE ID 的认证向量 AV 返回给 AAA, 该 AV 包括随机数 RAND, 挑战响应值 XRES, 加密密钥 CK, 完整性密钥 IK 和挑战值 AUTN, 其中 XRES = f2k(RAND), CK = f3k(RAND), IK =f4k(RAND), RAND 为一个随机数, AUTN = SQN|AK|AMF|MAC, SQN 为序列号, AK = f5k(RAND), AMF 为认证管理域, MAC = f1k(SQN|RAND|AMF), f1-f5 为 3G 安全架构中定义的算法, k 为 UE 和鉴权服务器 AAA 共享的一个秘密密钥 ;
步骤 7, 构造挑战信息 EAP request/AKA-challenge :
(7.1)AAA 生成一个随机数 RANDi 和一个新的重认证身份信息 next ID, 并利用机 密性密钥 K_encr 对用户重认证的身份信息 next ID、 重认证的次数 Nr、 家庭基站身份信息 HNB ID 以及随机数 RANDi 进行加密, 得到秘密信息 (next ID, Nr, HNB ID, RANDi)K_encr, 其中 K_encr 是由主密钥 MK 得到的用于保护 EAP 信息机密性的密钥 ;
(7.2) 计算消息认证码 MAC = f1k(RAND|AUTN), 其中 RAND 为一个随机数, AUTN 为 挑战值, f1 为 3G 中定义的安全算法, k 是用户终端 UE 和鉴权服务器 AAA 共享的一个秘密密 钥;
(7.3)AAA 将秘密信息 (next ID, Nr, HNB ID, RANDi)K_encr, 随机数 RAND, 挑战值 AUTN 和消息认证码 MAC 通过一个挑战信息 EAP request/AKA-challenge 发送给家庭基站网关 HNB-GW ;
步骤 8, HNB-GW 将挑战信息 EAP request/AKA-challenge 发送给家庭基站 HNB, HNB 再将 EAP request/AKA-challenge 信息发送给 UE ; 步骤 9, 用户终端 UE 认证鉴权服务器 AAA, 并构造挑战响应信息 EAPresponse/ AKA-challenge :
(9.1)UE 验证 AUTN 及 MAC 是否正确, 若有一个不正确, 则 UE 认证 AAA 失败, 并终止 认证 ; 若都正确, 则 UE 认证 AAA 成功, 并利用机密性密钥 K_encr 对秘密信息 (nextID, Nr, HNB ID, RANDi)K_encr 进行解密, 得到 next ID、 HNB ID、 RANDi 和 Nr, 并保存这些信息 ;
(9.2)UE 认证 AAA 成功后, 计算挑战值 RES = f2k(RAND) 和新的消息认证码 MAC1 = f1k(RES), 其中 RAND 为一个随机数, f1 和 f2 为 3G 中定义的安全算法, k 为用户终端 UE 和鉴权服务器 AAA 共享的一个秘密密钥 ;
(9.3)UE 将挑战值 RES 和消息认证码 MAC1 通过一个挑战响应消息 EAPresponse/ AKA-challenge 发送给 HNB ;
步 骤 10, HNB 将 挑 战 响 应 消 息 EAP response/AKA-challenge 转 发 给 HNB-GW, HNB-GW 再将 EAP response/AKA-challenge 信息转发至 AAA ;
步骤 11, 鉴权服务器 AAA 认证用户终端 UE, 并生成主传输会话密钥 KA, UE 与 HNB 之间的传输会话密钥 KH, 以及 UE 与 AAA 之间的传输会话密钥 KS :
(11.1)AAA 首先验证 MAC1 是否正确, 并比较 RES 与从认证向量 AV 中得到挑战响应 值 XRES 是否相同, 如果 MAC1 不正确或者 RES 与 XRES 不相同, 则 AAA 认证 UE 失败, 并终止 认证 ; 如果 MAC1 正确且 RES 和 XRES 相同, 则 AAA 认证 UE 成功 ;
(11.2)AAA 利用主会话密钥 MSK 分别生成主传输会话密钥 KA, UE 与 HNB 之间的传 输会话密钥 KH 以及 UE 与 AAA 之间的传输会话密钥 KS, 按如下规则生成 :
首先, KA = PRF(MSK|RANDi|AAA ID|next ID), 其中 PRF 为一个伪随机函数, RANDi 为鉴权服务器 AAA 生成的随机数, MSK 为主会话密钥, AAA ID 为鉴权服务器的身份信息, next ID 为用户终端的重认证身份信息 ;
其次, KH = PRF(KA|Counter|HNB ID|next ID), 其中 PRF 为一个伪随机函数, KA
为主传输会话密钥, Counter 是由重认证次数 Nr 得到的一个重认证计数值, HNBID 为家庭基 站的身份信息, next ID 为用户终端的重认证身份信息 ;
最后, KS = PRF(KA|AAA ID|next ID), 其中 PRF 为一个伪随机函数, KA 为主传输 会话密钥, AAA ID 为鉴权服务器的身份信息, next ID 为用户终端的重认证身份信息 ;
(11.3)AAA 将成功消息 EAP success、 重认证身份信息 next ID 以及 KH 发送给 HNB-GW ;
步骤 12, HNB-GW 保存 next ID, 并将 EAP success 和 KH 发送给 HNB ;
步骤 13, HNB 保存 KH, 并将 EAP success 信息转发给 UE ;
步骤 14, UE 收到成功消息后, 分别利用主会话密钥 MSK 生成 KA、 KH 和 KS, 接入认 证过程结束。
本发明的重认证方法采用了一种改进的 EAP-AKA 重认证过程, 并利用分级密钥的 方法, 使得在新的重认证过程中用户终端不需要再与 HNB HLR 进行交互, 减少认证延迟, 提 高了对用户终端身份信息保护的安全性和可靠性。
参考图 3, 本发明的重认证方法是在接入认证完成后, 利用用户终端 UE 和鉴权服 务器 AAA 得到的密钥 KA、 KS, 重认证身份信息 next ID 和计数值 Counter, 进行重认证的, 具 体步骤包括如下 : 步骤 1, 家庭基站 HNB 向用户终端 UE 发送身份请求信息 EAP request/identity ;
步骤 2, UE 将重认证身份信息 next ID 通过身份响应信息 EAP response/identity 发送给 HNB, HNB 再将 EAP response/identity 转发给家庭基站网关 HNB-GW ;
步骤 3, HNB-GW 从 EAP response/identity 得到重认证身份信息 next ID, 并与所 存储的身份信息进行比较, 若相同, 则将此身份信息 next ID 转发给鉴权服务器 AAA, 若不 相同, 则将此身份信息转发给家庭基站的归属服务器 HNB HLR 进行接入认证 ;
步骤 4, AAA 首先检查收到的 next ID 是否有效, 再查看所存储的 KA 和 KS 是否在 有效期内, 以及所存储的计数值 Counter 是否超过限制, 如果有一个不合法, 则终止, 如果 都合法, 则生成一个新的重认证身份信息 new ID 和随机数 RANDr, 并利用 UE 与 AAA 之间的 传输会话密钥 KS 对新的重认证的身份信息、 计数值 Counter 以及随机数 RANDr 进行加密, 得 到秘密信息 (new ID, Counter, RANDr)KS, 和计算消息认证码 MAC2 = SHA-1(KS, Counter|new ID|RANDr), 并将该消息认证码和秘密信息通过一个重认证挑战信息 EAP request/AKA re-auth 发送给 UE ;
步骤 5, 用户终端 UE 认证鉴权服务器 AAA, 并构造重认证响应信息 EAPresponse/ AKA re-auth ;
(5.1)UE 收到信息后, 利用 KS 对秘密信息 (new ID, Counter, RANDr)KS 进行解密, 得 到新的 new ID、 计数值 Counter 以及随机数 RANDr, 保存新的 new ID, 并验证计数值 Counter 和 MAC2 是否正确, 如果有一个不正确, 则 UE 认证 AAA 失败, 并终止认证, 如果都正确, 则 UE 认证 AAA 成功 ;
(5.2)UE 利用 KS 对计数值 Counter 进行加密, 得到秘密信息 (Counter)KS, 并计算 新的消息认证码 MAC3 = SHA-1(KS, Counter|RANDr) ;
(5.3)UE 将消息认证码 MAC3 和秘密信息 (Counter)KS 通过一个重认证响应信息 EAP response/AKA re-auth 发送给 AAA ;
步骤 6, 鉴权服务器 AAA 认证用户终端 UE, 并生成新的主传输会话密钥 nKA, UE 与 AAA 之间的传输会话密钥 nKH, 以及 UE 与 HNB 之间的传输会话密钥 nKS :
(6.1)AAA 收到信息后, 利用 KS 解出计数值 Counter, 并验证计数值 Counter 和消 息认证码 MAC3 值是否正确, 如果有一个不正确, 则 AAA 认证 UE 失败, 并终止认证, 如果都正 确, 则 AAA 认证 UE 成功, 并更新 Counter ;
(6.2)AAA 利用主会话密钥 MSK 分别生成新的主传输会话密钥 nKA, UE 与 AAA 之间 的传输会话密钥 nKH, 以及 UE 与 HNB 之间的传输会话密钥 nKS, 按如下规则生成 :
首先, nKA = PRF(MSK|RANDr |AAA ID|new ID), 其中 PRF 为一个伪随机函数, RANDr 为鉴权服务器 AAA 生成的随机数, MSK 为主会话密钥, AAA ID 为鉴权服务器的身份信息, new ID 为用户终端的重认证身份信息 ;
其次, nKH = PRF(nKA|Counter|HNB ID|new ID), 其中 PRF 为一个伪随机函数, nKA 为主传输会话密钥, Counter 为计数值, HNB ID 为家庭基站的身份信息, new ID 为用户终端 的重认证身份信息 ;
最后, nKS = PRF(KA|AAA ID|new ID), 其中 PRF 为一个伪随机函数, nKA 为主传输 会话密钥, AAA ID 为鉴权服务器的身份信息, new ID 为用户终端的重认证身份信息 ; (6.3)AAA 将成功信息 EAP success, 新的身份信息 new ID 和 nKH 发送给 HNB-GW ;
步骤 7, HNB-GW 保存 new ID, 并将成功信息 EAP success 和 nKH 发送给 HNB ;
步骤 8, HNB 保存 nKH, 并将成功信息 EAP success 发送给 UE ;
步骤 9, UE 收到成功信息后, 更新 Counter, 并利用主会话密钥 MSK 分别生成 nKA、 nKH 和 nKS, 重认证过程结束。
本发明的效果可通过以下分析进一步说明 :
一, 密钥的安全性分析
本发明采用了分级密钥的思想, 在每次认证结束后, 都将产生新的安全传输密钥 KA、 KH 和 KS, 不仅保证了重认证过程, 而且使用户终端、 家庭基站以及核心网之间的信息传 输更加安全可靠。对这些密钥的安全性分析如下 :
1.KA、 KH 和 KS 都是安全和唯一的。
(1a)KA : 只有 UE 和 AAA 才能够生成 KA, 因为只有它们拥有 RANDi 和 MSK, 而且为了 保持 KA 的唯一性, 在 KA 的生成过程中还包含了 AAA ID 和 UE ID ;
(1b)KH : 只有 UE 和 AAA 才能生成 KH, 而它最终被 UE 和 HNB 所唯一持有。因为只 有 UE 和 AAA 知道 KA 和 Counter, 而且为了保持 KH 的唯一性, 在 KH 的生成过程中还包含了 HNB ID 和 UE ID ;
(1c)KS : 只有 UE 和 AAA 才能生成 KS, 因为只有它们拥有 KA。
2.KA、 KH 和 KS 都是保新的。
在 KA、 KH 和 KS 的生成过程中, 利用了随机数和计数值 Counter, 而 Counter 不断 被更新, 因此所有的密钥都是随时进行更新的, 从而阻止了重放攻击的发生。
二 .UE 与 AAA 之间的相互认证
1. 本发明的接入认证方法是以现有的 EAP-AKA 协议为基础进行设计的, 因此实现 了 UE 和 AAA 之间的相互认证 ;
2. 本发明的重认证方法通过验证是否具有正确的 RANDr, Counter, KS 和消息认证
码, 来实现 UE 和 AAA 之间的相互认证 ;
(2a)UE 验证 AAA 的合法性 : 通过验证所收到的挑战信息中的 Counter 和 MAC2 的 正确性来判断, 因为只有合法的 AAA 才能拥有正确的 KS, 因此只有合法的 AAA 才能正确解出 Counter, 以及得到正确的利用 KS 加密生成的 MAC2 ;
(2b)AAA 认证 UE 的合法性 : 通过验证所收到的挑战响应信息中 Counter 和 MAC3 的 正确性来判断, 因为只有合法的 UE 才能拥有正确的 KS, 因此只有合法的 UE 才能正确的解出 Counter, 以及得到正确的经过 KS 加密生成的 MAC3。
经过以上分析, 本发明所产生的安全传输密钥都是安全唯一且保新的, 从而保证 了本发明重认证方法的可靠性和有效性, 并保证用户终端、 家庭基站以及核心网之间的信 息传输更加安全可靠 ; 同时, 通过以上分析, 本发明的接入认证及重认证方法都实现了用户 终端和鉴权服务器之间的相互认证。