我正在java应用程序中的客户端上实现RADIUS身份验证过程。
RADIUS服务器使用RSA SecurID对用户进行身份验证。众所周知RSA SecurID使用令牌。当用户忘记其令牌的引脚时,可以在服务器上将令牌设置为特殊的新引脚模式,迫使用户在下次登录尝试时设置新引脚。
据我所知,服务器的通信工作流程如下所示:
对于步骤2,3,4和5,我不知道包结构是什么样的,因此无法在客户端上实现任何逻辑。有没有人知道服务器与令牌的通信是否处于新的引脚模式?
干杯 西蒙
使用的令牌看起来像这样。要创建有效的密码,您需要先输入您的密码并点击7:
下方的菱形密钥this http://www.comprosec.ch/fileadmin/images/rsa/securid/SD520_450x297_72dpi_crop.jpg
答案 0 :(得分:1)
事实证明,您需要查看来自服务器的RADIUS数据包中发送的“Reply-Message”(类型18)属性。它非常hacky,但它是官方解决方案,因为RADIUS协议不支持这种状态(参见RFC 2865)。与您的RSA联系人交谈,他们可以为您提供测试服务器和2个测试令牌来测试您的解析代码。
这是我到目前为止所发现的:
回复 - 消息包含“输入4到6位数的新PIN:”
回复 - 消息包含“请重新输入新的PIN:”
回复消息包含“PIN已接受”
回复 - 消息包含“输入新的令牌代码”