无线安全:基于端口的安全、EAP、AKM

认证和密钥管理(AKM)是用于描述IEEE 802.1X/EAP认证和随后的加密密钥生成过程的术语,是可扩展认证协议(EAP)和IEEE 802.1X的主要组成部分。每次客户端关联或重新关联时,整个AKM过程都必须发生,从而形成一个极其安全和健壮的无线网络。学习4路身份验证握手。

通过丹尼尔·e·卡帕诺 2015年4月15日

你知道帮助无线网络提高安全性的4次握手吗?IEEE 802.1X是一种有线协议,已被改编用于无线网络。然而,它并不是一个无线安全协议。在基于端口的安全中,寻求访问网络资源的客户端设备通过不受控制的端口与接入点(AP)进行协商;验证成功后,客户端将连接到受控端口和无线网络。如果客户端身份验证失败,受控端口将保持阻塞状态。整个过程被称为可扩展身份验证协议(EAP),其中有几个正在使用。

身份验证和密钥管理(AKM)是用于描述802.1X/EAP身份验证和随后的加密密钥生成过程的术语。身份验证和密钥生成是相互依赖的。无线身份验证事务有三个实体:请求方(客户机)、身份验证方(接入点)和as(身份验证服务器)。它也被称为远程访问拨入用户服务(RADIUS),通常是一个包含安全凭证数据库的专用服务器。RADIUS服务器通常用于规模较大、用户数量较多的企业网络中。小型办公室/家庭办公室(SOHO)类型的网络通常无法证明安装或维护RADIUS服务器的费用是合理的,并且依赖于密码短语或预共享密钥(PSK)身份验证。在前一种设置中,RADIUS服务器生成加密密钥材料,而后一种设置将密码“映射”到密钥材料。这些术语和概念是讨论无线身份验证的基础。

发现、验证

这个过程的第一步是发现阶段。客户端设备从附近的AP检测信标,并从信标的健壮安全网络(RSN)字段中读取AP的安全功能。按照前面的描述执行开放系统身份验证。受控端口在此阶段保持关闭状态。参见图1。

下一步是AKM认证和主密钥生成阶段:

  • 委托人(申请人;S)和AP(验证者;A)通过将彼此识别为有效实体来开始认证过程。验证者或请求者可以开始这个过程;在这种情况下,请求方将向验证方传输EAPOL(通过局域网的EAP)。
  • 验证者使用eap请求/身份消息进行响应。请求方用epol - response /Identity响应验证方(或通过验证方)。
  • 下一步是请求方、验证方和AS(如果使用)之间的协商,以确定用于身份验证的EAP方法。
  • 然后,A/AS向请求方发送EAP请求,请求方通过适当的EAP响应返回其凭据。
  • A/AS向请求方返回EAP Success或EAP Failure消息,并打开控制端口。

这个过程如图2所示。请记住,应用服务器可能不会在所有系统上使用;AS资源的实现和维护成本很高,并且通常只存在于企业规模的网络中,如前所述。在小型网络中,验证者和认证服务器是同一台设备。

认证过程完成后,生成主会话密钥(也称为AAA密钥),并将其安装在请求方和验证方/认证服务器上。MSK可以通过密码和802.1X/EAP认证两种方式生成。从MSK生成成对主密钥(PMK),并将其安装在请求程序和A/AS上。PMK只存在于这对设备上。除非进行了成功的身份验证,否则无法生成这些密钥。从主密钥生成一组临时密钥,随后的数据传输将通过这些密钥进行加密。

一次性加密密钥

临时密钥是为在给定事务上使用而生成的加密密钥,然后被丢弃。每个事务、每个用户使用一个称为4路握手的过程生成密钥。有两种类型的临时键:成对临时键和组临时键。应该注意的是,主密钥之所以如此命名,是因为加密密钥是从它们派生出来的;主密钥不用于加密数据。下图显示了RSN密钥层次结构。

如图3所示,有几种类型的密钥是从MSK派生的。在层次结构的顶端是MSK,也称为AAA密钥。MSK派生自802,1x /EAP进程或密码/短语身份验证。实际上,一个密码或口令被映射到一个PSK。在身份验证过程中,64字节的MSK在派生之后提供给请求方和验证方。然后将MSK用作种子材料,用于创建成对主密钥(PMK),并将其导出到请求方和验证方。应该理解,PMK对于每个请求方都是唯一的,并且在每次请求方进行身份验证时重新生成。如果使用了自治系统,它将生成PMK并将其发送给验证者。重申一下,主密钥不用于加密数据;主密钥用于在下面描述的4路握手期间派生临时密钥,这些临时密钥用于加密数据。

临时密钥是为每个事务、每个用户生成的,并且对于每个请求者/身份验证者对都是唯一的。当事务完成时,密钥将被丢弃。对瞬态密钥(PTK)是加密单播传输的主要手段;单播流量在两个不同的实体之间。组临时密钥(GTK)可能生成,也可能不生成,这取决于通信流量的类型。GTK用于加密广播或多播流量,并在传输中涉及的所有请求方和一个身份验证者之间共享。

成对瞬态键

请注意图左下方的三个附加键。这三把钥匙组成了PTK。简要:

  • 密钥确认密钥(KCK):用于保证4次握手过程中的数据完整性
  • 密钥加密密钥(KEK): EAPOL帧在4路和组密钥握手期间用于数据隐私。
  • 临时密钥(TK):用于加密和解密请求方和验证方之间交换的数据帧。

组密钥握手是一个两帧交换,用于将GTK分发给已经拥有PTK和原始GTK的请求者;此过程用于解除关联或取消身份验证后对客户端站进行重新身份验证。

AKM过程的最后一个阶段是4次握手。这是请求方和验证方之间的4条消息交换,产生用于数据加密的临时密钥。本质上,它是实体之间的密钥交换和验证,确保所有各方使用相同的密钥。前面的身份验证过程以主密钥的形式为这些密钥提供种子材料。四次握手如图4所示:

  • 消息1:验证者和请求者各自生成一个随机的nonce,分别是Anonce和Snonce。验证者将Anonce发送给请求者,然后请求者从Anonce、PMK、Snonce和MAC地址中派生出PTK。PTK的生成遵循公式:
    • PTK - PRF (PMK+Anonce+Snonce+AA+SA)
  • 其中PRF为伪随机函数,AA为验证方MAC地址,SA为请求方MAC地址。nonce是一次性随机生成的数值。
  • 消息2:请求方向验证方发送Snonce,以及任何RSN参数和MIC。验证者使用与请求者相同的方法派生PTK并验证MIC。
  • 消息3:如果需要,验证者将向请求者发送一条消息,以安装临时密钥,包括GTK。GTK由PTK在单播帧内加密。
  • 消息4:请求方向验证方发送最终消息,确认临时密钥已安装。

在这个阶段,虚拟控制端口打开,可以开始安全的数据通信。每次客户端关联或重新关联时,整个AKM过程都必须发生。这就形成了一个极其安全和健壮的网络。

Daniel E. Capano,康涅狄格州斯坦福德多元化技术服务公司的所有者和总裁,是一名认证无线网络管理员(CWNA);dcapano@sbcglobal.net。Chris Vavra编辑,CFE Media制作编辑,控制工程cvavra@cfemedia.com

网上临时演员

www.globalelove.com/blogs有其他来自Capano的关于以下主题的无线教程:

无线安全:IEEE 802.11和CCMP/AES

无线安全遗产,背景

无线安全基础知识

www.globalelove.com/webcasts有无线网络广播,其中一些是PDH信用。

控制工程有一个无线页面