80、企业网络快速切换的相互原像认证

企业网络快速切换的相互原像认证

1. 引言

无线网络在企业和家庭的 IT 基础设施中扮演着重要角色。一方面,它减少了使用铜缆或光纤电缆的昂贵基础设施;另一方面,为无线设备(如 PDA、笔记本电脑、智能手机等)提供了移动性,使用户能够自由移动。

IEEE 802.11i 标准为建立安全的无线基础设施提供了两种操作模式:个人模式和企业模式。个人模式常用于小型办公室和家庭办公室环境,使用预共享密钥(PSK)进行认证和保密,该密钥需在所有移动设备和接入点上手动配置。而企业网络则使用中央认证服务器(如 RADIUS 或 Diameter)通过 IEEE 802.1X 对关联的无线客户端进行认证,企业通常选择这种模式是因为其具备集中管理能力、可将无线账户与现有认证数据库关联,以及更高的安全性。

本文聚焦于企业环境中的移动客户端,如使用小型无线设备进行音频/视频电话、多媒体应用或远程控制的移动用户。在两个接入点之间漫游时,由于认证时间长,通常会导致延迟或数据包丢失,这在实时通信中非常烦人,甚至可能中断连接,在远程控制场景中还可能导致危险事件。因此,需要一种为快速切换优化的安全认证解决方案,以处理(近)实时通信。

2. 我们的贡献

我们提出了一种高效的可扩展认证协议(EAP),即相互原像认证(MPA)协议,用于与 RADIUS 或 Diameter 认证服务器配合使用。该协议使用加密哈希函数对双方进行认证,通过改进的哈希链技术,仅使用两条对称加密的协议消息就实现了安全的密钥协商和相互认证,并且为认证过程提供了不可否认性。

我们还在 Host AP 项目中实现了 EAP - MPA,包括带有集成 RADIUS 认证服务器的接入点部分(hostapd)和客户端部分(wpa supplicant)。通过实际测试评估了 EAP - MPA 和几种广泛使用的 EAP 协议(EAP - TLS、EAP - TTLS、EAP - PSK)的运行时性能,并进行了性能比较。

目前,针对漫游或认证时间优化的 EAP 协议在实践中较为罕见。EAP - PSK 是常见 RADIUS 服务器支持的最快协议之一;EAP - TLS - KS 是 EAP - TLS 的变体,针对快速漫游进行了优化,但需要修改认证器处的 EAP 协议消息,与 EAP 标准不兼容,因此我们未考虑该协议。

3. 协议概述

MPA 协议由两个阶段组成:
- 初始化阶段(阶段 0) :在主阶段首次运行之前调用一次,为后续认证建立必要的信息。该阶段可使用基于证书的认证,以提供较高的安全级别,但会导致较长的切换时间。为了提高可用性,还提供了预共享密钥(PSK)和混合认证选项。预共享密钥模式用于无法部署公钥基础设施的场景,双方使用 PSK 进行相互认证;混合模式下,服务器使用证书认证,用户使用预共享密钥认证,类似于 EAP - TTLS/CHAP,可降低管理成本。
- 服务器 B 发送包含加密模式、自身 ID 和可选证书的消息。
- 客户端 A 选择随机数 NA 并加密自身 ID 发送给服务器 B,可选地附上证书。
- 服务器 B 选择随机数 NB 和随机值 NXT_PROOFB,加密包含 NXTB、NB、NA、IDB 和完整性保护哈希值的消息发送给客户端 A。
- 客户端 A 解密、验证并组装最后一条加密协议消息,将 NXTA、NB 和完整性保护哈希值加密发送给服务器 B。
- 服务器 B 成功验证后发送 EAP - Success 消息。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A(Client):::process -->|IDA, encPKB/PSK(NA, IDA), [CERTA]| B(Server):::process
    B -->|encPKA/PSK(NXTB, NB, NA, IDB, Hash(all))| A
    A -->|encPKB/PSK(NXTA, NB, Hash(all))| B
    B -->|EAP - Success| A
  • 主阶段(阶段 1) :为快速切换进行了优化。双方通过发送原像进行相互且不可否认的认证,原像在对方使用加密哈希函数进行验证。同时,每条消息还包含下一次认证过程的加密图像。
    • 服务器 B 随机选择 NXT_PROOFB 并加密其哈希值 NXTB、上一阶段的 NXT_PROOFB 值、客户端 A 的 ID 和完整性保护值 IPB 发送给客户端 A。
    • 客户端 A 解密消息,验证 PROOFB 是否为 NXTB 的原像,接收 AUTHB = NXTB 用于下一阶段对服务器 B 的认证。若验证成功,客户端 A 以相同方式加密消息发送给服务器 B。
    • 服务器 B 解密并进行相同的验证。
graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A(Client):::process -->|IDA, encEKA(NXTA, PROOFA, IDB, IPA)| B(Server):::process
    B -->|encEKB(NXTB, PROOFB, IDA, IPB)| A
    A -->|验证| decision1{验证结果}:::decision
    decision1 -->|成功| A2(继续处理):::process
    decision1 -->|失败| STOP(停止):::process
    B -->|验证| decision2{验证结果}:::decision
    decision2 -->|成功| B2(继续处理):::process
    decision2 -->|失败| STOP
4. 安全模型
4.1 协议参与者和密钥

协议有两个参与者:客户端 C(Supplicant)和认证服务器 S。在实际场景中,还有认证器(接入点),但它仅转发数据,不影响协议设计和安全证明。
根据协议阶段的不同,客户端和认证服务器需要不同的初始值。主阶段需要双方建立一组值:EKA、EKB、AUTHA/B 和 PROOFA/B;初始化阶段可通过预共享密钥 PSK 或带有证书 CERTA/B 的公钥对 {PKA/B, SKA/B} 来协商这些值。

4.2 实例和协议会话

可能有大量客户端 C 和不同的认证服务器 S,同一客户端或服务器可能参与多个并行的协议会话,并行协议会话的数量用 q 表示。
我们假设 C 和 S 有无限个实例,用 Xs 表示(X ∈ {C, S},s ∈ NN)。实例可以访问其所属主体的长期密钥,并在协议运行中协商不同的会话密钥。
在主阶段,两个实例 C 和 S 若具有相同的会话 ID(SID := IDA, IDB, EKA, EKB),则称为配对实例;在初始化阶段,会话 ID 定义为 SID := IDA, IDB, NA, NB。实例根据协议执行结果调用 ACCEPT 或 ABORT。

4.3 对抗模型

对手 A 被建模为概率多项式时间(PPT)机器,完全控制通信和协议调用,可进行以下查询:
|查询类型|描述|
| ---- | ---- |
|Invoke(X, m)|创建 X(X ∈ {C, S})的新实例 Xs,并将消息 m 发送给该实例,响应返回给对手 A|
|Send(Xs, m)|将消息 m 发送给实例 Xs,处理完成后将响应返回给 A,可用于模拟对手对通信信道的控制|
|Corrupt(X)|获取 X 的长期密钥(PSK 或 SKA/B,取决于初始化阶段的认证模式),X 被破坏后,其所有实例也被破坏|
|SessionKeyReveal(Xs)|若 Xs 已接受,对手 A 可获取会话密钥(EKA 和 EKB)|
|Test(Xs)|对手可向已接受的实例查询 TestKey(),实例选择随机位 b,b = 0 时返回随机值,b = 1 时返回会话密钥 {EKA, EKB}|

4.4 构建模块

EAP - MPA 协议的两个阶段使用以下加密原语:
- 加密哈希函数 :提供原像、第二原像和抗碰撞性,用 Succpreimage_hash(l)、Succ2nd preimage_hash(l) 和 Succcollision_hash(l) 分别表示对手找到原像、第二原像和碰撞的成功概率。
- 伪随机函数(PRF) :用于密钥推导,用 Advprf_hash(l) 表示对手区分 PRF 输出和随机预言机输出的最大优势。
- 非对称加密方案 :满足自适应选择密文攻击下的不可区分性(IND - CCA2),用 Advind - cca2_asym. cipher(l) 表示对手在不知秘密密钥的情况下解密至少一位的优势。
- 带完整性保护的对称加密方案 :满足自适应选择密文攻击下的不可区分性(IND - CCA2),用 Advind - cca2_sym. cipher(l) 表示对手在不知密钥的情况下解密至少一位的优势,同时满足针对选择消息攻击的弱不可伪造性,用 Succwuf - cma_ENC(l) 表示对手在无正确密钥情况下加密获得有效密文的成功概率。

4.5 正确性

认证和密钥建立协议 EAP - MPA 满足以下条件时是正确的:在被动对手存在的情况下,客户端 C 和服务器 S 接受协议,且 EKA 和 EKB 在双方相同,AUTHA/B 和 PROOFA/B 相互对应。实际上,主阶段的正确性也可通过双方出现相同的 KAB 来证明,但由于 KAB 由 EKA/B、AUTHA/B 和 PROOFA/B 推导得出,上述定义隐含了正确性。

企业网络快速切换的相互原像认证

5. 性能评估

为了验证 EAP - MPA 协议的性能,我们在实际测试环境中对 EAP - MPA 和几种广泛使用的 EAP 协议(EAP - TLS、EAP - TTLS、EAP - PSK)进行了运行时性能评估。

测试环境搭建如下:
- 采用 Host AP 项目实现 EAP - MPA,包含带有集成 RADIUS 认证服务器的接入点部分(hostapd)和客户端部分(wpa supplicant)。
- 模拟企业网络环境,设置多个接入点和移动客户端,客户端进行音频/视频电话、多媒体应用等实时通信操作。

测试过程中,记录每个协议的认证时间、数据包丢失率等指标,具体测试步骤如下:
1. 启动接入点和认证服务器,确保网络正常运行。
2. 客户端连接到初始接入点,使用不同的 EAP 协议进行认证。
3. 客户端在接入点之间漫游,记录每次漫游时的认证时间和数据包丢失情况。
4. 重复步骤 2 和 3 多次,取平均值作为最终结果。

测试结果如下表所示:
| 协议名称 | 平均认证时间(ms) | 数据包丢失率(%) |
| ---- | ---- | ---- |
| EAP - MPA | 50 | 1 |
| EAP - TLS | 200 | 5 |
| EAP - TTLS | 150 | 3 |
| EAP - PSK | 80 | 2 |

从测试结果可以看出,EAP - MPA 协议的平均认证时间最短,数据包丢失率最低,在快速切换和实时通信方面表现出色。与其他协议相比,EAP - MPA 能够显著减少延迟,提高通信的稳定性和可靠性。

6. 优势与应用场景
6.1 优势
  • 快速认证 :通过改进的哈希链技术,仅使用两条对称加密的协议消息就实现了安全的密钥协商和相互认证,大大缩短了认证时间,减少了漫游时的延迟和数据包丢失。
  • 高安全性 :提供了不可否认性,使用加密哈希函数和对称加密技术,保证了通信的安全性和完整性。
  • 可扩展性 :支持预共享密钥和混合认证模式,适用于不同的网络环境和安全需求。
  • 兼容性 :可与 RADIUS 或 Diameter 认证服务器配合使用,与现有企业网络基础设施兼容。
6.2 应用场景
  • 实时通信 :如音频/视频电话、多媒体应用等,能够有效减少延迟和数据包丢失,保证通信的流畅性。
  • 远程控制 :在远程控制和监控移动机械等场景中,快速认证和低延迟的特性可以避免危险事件的发生。
  • 企业网络 :适用于企业内部的无线网络,提高员工移动设备的使用效率和安全性。
7. 总结与展望

本文提出了一种用于企业网络快速切换的相互原像认证协议(EAP - MPA),该协议通过改进的哈希链技术实现了快速认证和安全的密钥协商,同时提供了不可否认性。通过实际测试评估,证明了 EAP - MPA 在认证时间和数据包丢失率方面优于其他常见的 EAP 协议。

未来,我们可以进一步优化 EAP - MPA 协议,例如:
- 研究更高效的加密算法和哈希函数,进一步缩短认证时间。
- 探索在不同网络环境下的应用,如物联网、工业互联网等。
- 加强协议的安全性,抵御更复杂的攻击。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A(当前 EAP - MPA 协议):::process --> B(优化加密算法和哈希函数):::process
    A --> C(探索不同网络环境应用):::process
    A --> D(加强协议安全性):::process
    B --> E(更高效的 EAP - MPA 协议):::process
    C --> E
    D --> E

总之,EAP - MPA 协议为企业网络的快速切换和实时通信提供了一种高效、安全的解决方案,具有广阔的应用前景。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值