带有 RADIUS 的 MSCHAPv2 - 加密过程到底如何进行?

Posted

技术标签:

【中文标题】带有 RADIUS 的 MSCHAPv2 - 加密过程到底如何进行?【英文标题】:MSCHAPv2 with RADIUS - How exactly does the encrypting process go? 【发布时间】:2015-08-13 22:41:39 【问题描述】:

我正在构建一个 RADIUS 服务器以在 node.js 中使用 MS-CHAPv2。 我有一个 RADIUS 客户端,它是在访问请求中向我发送以下内容的 *** 服务器:

用户名

MS-CHAP-挑战

MS-CHAP2-响应

我使用实际的 Microsoft RADIUS 服务器进行了测试,并且 Access-Accept 响应始终如下:

MS-MPPE-RECV-KEY:长字符串

MS-MPPE-SEND-KEY:长字符串

MS-CHAP2-SUCESS:长字符串

我尝试遵循 RFC 材料,但它非常复杂,我只需要了解:

    作为服务器,我应该如何处理访问请求属性(挑战和响应)?

    我应该如何在 Access-Accept 中创建 3 个键?

我读过很多文章和地方,包括渗透测试的例子。

有人说有 RC4,3DES, MD4, MD5, SHA1 的用法,我不知道该遵循哪个,因为它只给出了 2-3 行的解释。

什么是加密的?我如何对用户进行身份验证?我是否应该创建挑战/响应的哈希副本,因为它包含 MD4&3DES 加密密码?

请帮忙....

【问题讨论】:

尽量在每个***问题中只问一个问题,否则一次回答所有问题太难了,标题也有点太宽泛了。尝试在 RFC 和/或其他解释中确切地包含您遇到的地方。 【参考方案1】:

构建radius服务器非常复杂,

作为服务器,我应该如何处理访问请求属性(挑战和响应)?

服务器需要响应客户端请求,请求握手,创建ssl隧道,请求识别等等。

我应该如何在 Access-Accept 中创建 3 个键?

ms-mppe 密钥是由握手和身份验证过程中的数据生成的,它也非常复杂,必须进行大量计算和加密,这比仅使用 rc4、3des、md4 更复杂...

什么是加密的?我如何对用户进行身份验证?我是否应该创建挑战/响应的哈希副本,因为它包含 MD4&3DES 加密密码?

如果使用 ssl,从更改密码规范到访问接受的所有内容都是加密的。要对用户进行身份验证,您必须比较客户端提供的数据和您的数据库,最后向 NAS 发送 access-accept。取决于使用哪种身份验证方法,密码比仅使用 md4 和 3des 加密要复杂得多。例如,如果使用 ms-chapv2,则必须与其他一些数据进行几次散列。

【讨论】:

以上是关于带有 RADIUS 的 MSCHAPv2 - 加密过程到底如何进行?的主要内容,如果未能解决你的问题,请参考以下文章

使用hostapd作为radius服务器,用于企业wifi加密认证

css 带有圆孔的块,使用带有CSS渐变的border-radius

html 带有border-radius和SVG的圆形标题

Radius Networks 的多个带有 Android 和 iBeacon-Library 的 iBeacon

hostapd作为radius服务器

[EAP]将hostapd作为radius服务器搭建EAP认证环境