RADIUS网络安全分析和总结.docxVIP

  • 7
  • 0
  • 约2.52千字
  • 约 4页
  • 2023-08-06 发布于上海
  • 举报
RADIUS 网络安全 RADIUS 协议的加密是使用MD5 加密算法进行的,在 RADIUS 的客户端 (NAS)和服务器端(Radius Server)保存了一个密钥(key),RADIUS 协议利用这个密钥使用MD5 算法对RADIUS 中的数据进行加密处理。密钥不会在网络上传送。RADIUS 的加密主要体现在两方面: 包签名: 在 RADIUS 包中,有16 字节的验证字(authenticator)用于对包进行签名,收到 RADIUS 包的一方要查看该签名的正确性。如果包的签名不正确,那么该包将被丢弃,对包进行签名时使用的也是MD5 算法(利用密钥),没有密钥的人是不能构造出该签名的。 包的签名与加密详细说明如下: 包的签名指的是RADIUS 包中 16 字节的Authenticator,我们称其为验证字。 认证请求包 RequestAuth=Authenticator,认证请求包的验证字是一个不可预测的16 字节随机数。这个随机数将用于口令的加密。认证响应包 ResponseAuth = MD5(Code+ID+Length+Authenticator+Attributes+Key) 。 记费请求包 RequestAcct = MD5(Code+ID+Length+16ZeroOctets+Attributes+Key)。记费响应包 ResponseAcct = MD5(Code+ID+Length+RequestAcct+Attributes+Key)。 口令加密: 在认证用户时,用户的口令在NAS 和Radius Server 之间不会以明文方式传送,而是使用了MD5 算法对口令进行加密。没有密钥的人是无法正确加密口令的,也无法正确地对加密过的口令进行解密。 口令的加密: 称共享密钥(key)为 Key;16 字节的认证请求验证字(Authenticator)为Auth;将口令(Password)分割成 16 字节一段(最后一段不足 16 字节时用 0 补齐),为p1、p2 等;加密后的口令块为c(1)、c(2)等。下面运算中 b1、b2 为中间值: b1 = MD5(Key + Auth) c(1) = p1 xor b1 b2 = MD5(Key + c(1)) c(2) = p2 xor b2 …… …… bi = MD5(Key+ c(i-1)) c(i) = pi xor bi 那么加密后的口令为c(1)+c(2)+...+c(i)。 上面是协议规定的算法,也有的 RADIUS 服务器为了实现起来简单,修改了上述的算法,具体的讲,b1 的算法同上,但 bi=b2=b1(i=1) , 其他运算不变。当用户的口令长度不超过16 字节时,两种算法的结果是一样的。 口令加密与口令验证过程 当用户上网时,NAS 决定对用户采用何种验证方法。下面分别在本地验证和Radius 验证两种情况下介绍用户与NAS 之间的PAP 和CHAP 验证方式。 NAS 本地认证 PAP 验证(Password Authentication Protocol:密码验证协议):用户以明文的形式把用户名和密码传递给NAS。 NAS 根据用户名在NAS 端查找本地数据库,如果存在相同的用户名和密码表明验证通过,否则表 明验证未通过。 图 4 本地 PAP 认证 CHAP 验证(Challenge Handshake Authentication Protocol:挑战握手验证协议): 当用户请求上网时,服务器产生一个 16 字节的随机码 (challenge)给用户(同时还有一个 ID 号,本地路由器的 host name)。用户端得到这个包后使用自己独用的设备或软件对传来的各域进行加 密,生成一个Secret Password 传给NAS。NAS 根据用户名查找自己本地的数据库,得到和用户端进行加密所用的一样的密码,然后根据原来 的 16 字节的随机码进行加密,将其结果与Secret Password 作比较,如果相同表明验证通过,如果不相同表明验证失败。 Secret Password = MD5(Chap ID + Password + challenge) 图 5 本地 CHAP 认证 Radius 认证 如果用户配置了RADIUS 验证而不是本地验证,过程略有不同。 PAP 验证:用户以明文的形式把用户名和他的密码传递给 NAS,NAS 把用户名和加密过的密码放到验证请求包的相应属性中传递给 RADIUS 服务器。RADIUS 服务器对NAS 上传的帐号进行验证并返回结果来决定是否允许用户上网。 Secret password =Password XOR MD5(Challenge + Key) (Challenge 就是Rad

文档评论(0)

1亿VIP精品文档

相关文档