- 论坛徽章:
- 0
|
首先写一下我的认识:
1,supplicant向NAS发起802.1X的EAP0L-START;
2,NAS收到EAP0L-START之后发给supplicant一个eap/identity;
3,supplicant收到这个eap/identity之后将username作为response发回给NAS;
4,NAS将包含有username的eap包封装入RADIUS包的的eap_message属性中,并作为access request包(包ID假定为1)发给RADIUS服务器;
5,RADIUS服务器收到这个含有eap_message属性的RADIUS包之后,发回一个带有eap_message(其内部的EAP包为md5 challenge)给NAS;
6,NAS收到这个RADIUS包之后将eap_message属性中的EAP包提取出来,然后封装在EAPOL中发给supplicant;
7,supplicant收到这个EAP/MD5 CHALLENGE之后将passwd放入EAP包中发给NAS,然后NAS再次打包发给RADIUS
8,RADIUS进行认证,如果username和passwd匹配之后认证通过。
以上是基本流程,我打算增加另外一步认证,就是再增加对机器的认证。先认证机器,认证通过再认证用户,否则直接发送reject包给用户。
问题:
当AAA SERVER发送md5-challenge的时候发送了一个随机数,利用这个随机数来对用户的passwd进行加密,这个加密过程的具体行为是怎样?加密过的PASSWD在AAA SERVER端又是怎么比对的?
打算用LDAP作为信息存储容器,我正在阅读FreeRADIUS的源代码,打算进行修改代码。
如果有兴趣大家可以共同探讨,我的联系方式如下:
popo:wo_kaoyan@163.com
msn:bjldlee@hotmail.com |
|