RADIUS与MS-CHAPv2说明

8 vpn radius node.js

找不到关于对等方之间通信如何工作的任何流程图.我知道在启用PAP的Radius中它是如何工作的,但似乎在MS-Chapv2中有很多工作需要开发.

我正在尝试开发RADIUS服务器来接收和验证用户请求.请以信息而不是代码的形式帮助我.

red*_*red 13

MSCHAPv2非常复杂,通常另一种EAP方法中执行,例如EAP-TLS,EAP-TTLS或PEAP.这些外部方法使用TLS加密MSCHAPv2交换.例如,下图显示了PEAP流程图,其中客户端或请求者与RADIUS服务器(身份验证服务器)建立TLS隧道并执行MSCHAPv2交换.

在此输入图像描述

MSCHAPv2交换本身可归纳如下:

  • AS首先生成一个16字节的随机服务器质询并将其发送给请求者.
  • Supplicant还会生成随机的16字节对等质询.然后根据用户的密码计算质询响应.该挑战响应与对等挑战一起被传送回AS.
  • AS检查质询响应.
  • AS基于密码和对等挑战来计算对等质询响应.
  • 请求方检查对等质询响应,完成MSCHAPv2身份验证.

如果您想了解有关的细节和精确的计算,随时检查出我的论文在这里.4.5.4和4.5.3节应包含实现能够执行MSCHAP交换的RADIUS服务器所需的所有信息.

如图所示,可以派生和使用许多不同的键.本文档提供了对其功能的非常直观的了解.但是,本文档中未解释CSK.该密钥可选地用于"加密绑定",即为了向AS证明TLS隧道和MSCHAPv2交换都是由同一对等体执行的.可以仅从TLS主密钥中导出MSK,但是您将容易受到中继攻击(该论文还包含一个研究论文,其中给出了此类攻击的示例).

最后,asleap自述文件提供了MSCHAPv2协议的另一个良好且一般的逐步描述,这可能对您有所帮助.