带有 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