Java 使用RADIUS的RSA新pin模式的服务器通信

Java 使用RADIUS的RSA新pin模式的服务器通信,java,security,authentication,rsa,radius,Java,Security,Authentication,Rsa,Radius,我正在java应用程序中的客户端上实现RADIUS身份验证过程 RADIUS服务器用于对用户进行身份验证。如所知,使用令牌。当用户忘记了令牌的pin时,可以在服务器上将令牌设置为特殊的新pin模式,从而强制用户在下次登录尝试时设置新pin 据我所知,与服务器的通信工作流程如下所示: 客户端:使用常用属性将访问请求包发送到服务器 服务器:使用指示特殊新pin模式的包进行回复 客户端:向用户显示输入新pin的界面。将包含新pin的包发送到服务器 服务器:回复一个包,说明pin已成功设置 客户端:显示

我正在java应用程序中的客户端上实现RADIUS身份验证过程

RADIUS服务器用于对用户进行身份验证。如所知,使用令牌。当用户忘记了令牌的pin时,可以在服务器上将令牌设置为特殊的新pin模式,从而强制用户在下次登录尝试时设置新pin

据我所知,与服务器的通信工作流程如下所示:

  • 客户端:使用常用属性将访问请求包发送到服务器
  • 服务器:使用指示特殊新pin模式的包进行回复
  • 客户端:向用户显示输入新pin的界面。将包含新pin的包发送到服务器
  • 服务器:回复一个包,说明pin已成功设置
  • 客户端:显示一条确认消息,并要求用户输入一个新密码,该密码是他使用令牌上的新pin创建的。我假设这与步骤1中的包基本相同
  • 服务器:如果确定,则使用Access Accept软件包进行回复;如果不确定,则使用Access Reject进行回复
  • 对于步骤2、3、4和5,我不知道包结构是什么样子,因此无法在客户机上实现任何逻辑。有人知道服务器与令牌的通信处于新pin模式吗

    干杯 西蒙

    使用的代币如下所示。要创建有效的密码,您需要首先键入PIN,然后按7下的菱形键:



    (来源:)

    您需要查看服务器在RADIUS数据包中发送的“回复消息”(类型18)属性。这是一个非常黑客的解决方案,但它是官方的解决方案,因为RADIUS协议不支持这种状态(请参阅)。与您的RSA联系人交谈,他们可以为您提供一个测试服务器和两个测试令牌来测试您的解析代码

    以下是我目前发现的情况:

    • 新PIN模式输入
    回复消息包含“输入一个具有4到6位数字的新PIN:

    • 新PIN模式请求确认PIN
    回复消息包含“请重新输入新PIN:”

    • 新PIN模式成功
    回复消息包含“PIN已接受”

    • 下一个代码模式启动

    回复消息包含“输入新令牌代码”

    您是在谈论RSA令牌产品吗?术语“RSA”本身通常指的是。是的,没错。刚刚编辑了这个问题。