问题标签 [securid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1103 浏览

encryption - RSA SecurID:“丢失”令牌会导致问题吗?

我对 RSA SecurID 和类似的 2-factor 系统非常着迷。

我浏览过很多文章,包括这篇文章:https ://security.stackexchange.com/questions/9584/can-the-numbers-on-rsa-securid-tokens-be-predicted

我的问题是,由于 RSA 的算法使用“种子”,因此生成的数字是“系列”。

如果我在服务器请求时在安全设备上生成了一个令牌,而不是使用该令牌我再次按下按钮以生成另一个令牌,该怎么办?这不会导致设备和服务器上运行的系列出现“不匹配”吗?

如果逻辑只依赖于时钟和设备序列号会更容易,但由于涉及种子和随机数,我想知道如果你跳过一个或两个令牌会发生什么?

谢谢。

0 投票
1 回答
1237 浏览

java - 使用 RSA SecurID API/SDK for JAVA 分发软件令牌

我正在开发一个系统来为用户分配下一个可用的软件令牌,使用 RSA Authentication Manager 7.1 Developer's Guide 和相应的这个 JAVA API 参考发布和分发它。

问题是我不清楚生成的软件令牌的子类型和要导出的文件格式。

以下是我制作的源代码,我的疑问依赖于评论。

0 投票
1 回答
178 浏览

c# - Visual Studio 2013:使用 RSA SecurID 连接到 TFS - 自定义实施或配置?

情况: 在标准场景中,很容易将到 Visual Studio 中的 TFS 2013 服务器的连接添加到 TFS。“添加团队基础服务器”对话框非常简单,当您和 TFS 服务器在同一个域中时,它可以正常工作。当您再次打开 VS 时,连接会再次自动建立。

现在我们希望将外部开发人员连接到防火墙后面的 TFS。

问题:

简短版本:在通过 AD 凭据连接到 TFS 之前,我需要一种机制来输入用户 ID 和密码(通过 NTML 自动发生)。

长版:我们想使用“反向代理”机制,与 RSA SecurID 硬件密钥结合使用。当开发人员在浏览器中浏览团队项目的 Web 门户时,这可以正常工作。唯一与标准方案不同的是:出现了一个 Web 表单,您必须输入您的 UserId 和 - 不,不是 AD 密码 - SecurID 的密码,6 位数字,它会被更新SecurID 令牌上的每一分钟。这是通过反向代理的 2 因素身份验证。

这在浏览器中可以正常工作,但在 Visual Studio 中却不行(开发人员任务只能在 VS 中执行,例如签出、签入 aso)。所以必须有一个对话框,在 Visual Studio 尝试连接到内部 TFS 之前,您可以在其中输入用户 ID 和密码。但这不是开箱即用的,只是出现一条错误消息,带有 500 HTTP 状态。当然,反向代理机制需要来自 SecurId Key 的这个用户 ID 和密码,你必须手动输入。

问题: 有没有办法更改或实现自定义加载项或其他任何内容,出现一个对话框,我们可以在其中输入用户 ID 和密码?

这必须在两种情况下发生:首先,当您想通过“添加团队基础服务器”对话框将新的 TFS 添加到您的 TFS 列表时。其次,当您打开 Visual Studio 并且它想再次连接到这个已添加的 TFS 时。

连接自身的代码我已经在一个简单的控制台应用程序中,首先将带有用户 ID 和密码的 POST 发送到 TFS(实际上是反向代理身份验证)。一个 cookie 回来了,有了这个 cookie,我可以访问 TFS 的任何 Web 服务,而 VS 也只使用这个 Web 服务。所以我还必须将此 cookie 添加到对 TFS Web 服务的调用中,这意味着必须有一种方法来告诉 Visual Studio TFS“接口”在每个 Web 服务调用中使用这个 cookie。

我搜索了几个小时以寻找是否以及如何可能的提示,所以我希望允许在这里提出这个问题。我检查了自定义源代码控制插件是否会成为这样的钩子,但我相信这种自定义插件中的所有操作都发生在连接之后。我尝试了一个基本的源代码控制插件(来自 VS SDK),它可以工作,我试图捕捉建立连接的方法,这不在这个框架/接口内。

附加说明:我已经在 Microsoft 开了一张 Premier 票,直到现在还没有答案。我认为这很特别,我不确定他们是否能找到可以回答这个问题的专家 ;-)

0 投票
1 回答
3263 浏览

android - 将 RSA SecurID 电话令牌转换为 Windows 令牌

有一个适用于智能手机的 RSA 软令牌应用程序以及一个 Windows 桌面应用程序。我收到了一个与手机应用程序一起使用的二维码,但我想在我的电脑上使用它。RSA 软令牌程序的计算机版本需要 .sdtid 文件。

手机应用二维码解码为如下形式的 URL:

CTF(压缩令牌格式)似乎是 URL 编码的 Base64 数据,因此最后一部分的 URL 解码将产生:

和 Base64 解码将给出:

当我使用真实数据(机密)执行此操作时,我得到某种二进制文件,Linuxfile命令将其标识为“DBase 3 数据文件”,但这可能不准确。它肯定不会导入到 Windows 程序中。

有一个官方实用程序可用于将 Windows .sdtid 文件转换为这些 CTF URL(软件令牌转换器),但它只适用于那个方向。我强烈怀疑这种转换可能会发生在相反的方向,但其他人似乎更有兴趣将更多的重要业务转移到他们的智能手机上。

有谁知道如何将 RSA 软件电话令牌转换为 Windows RSA 软件令牌?

0 投票
2 回答
222 浏览

c - RSA Authentication Agent API 文档中的函数签名是否正确?

我有一些软件使用 RSA 身份验证代理的文档化 API。这是一个作为服务在域中的客户端计算机上运行的产品,并通过与集中安装的“RSA 身份验证管理器”通信来对本地用户进行身份验证。

Authentication Agent 的 API 在此处公开记录:Authentication Agent API 8.1.1 for C Developers Guide。但是,文档似乎不正确,我无权访问 RSA 头文件——它们不是公开的;只有 PDF 文档可供下载,无需向 RSA 支付 $$。如果这里有人可以访问最新的头文件,您能否帮我确认文档是否已过时?

API 文档中给出的函数签名似乎不正确——事实上,我完全相信它们在 x64 机器上是错误的。例如,最新的 PDF 文档显示如下:

文档多次声明“userData”值是一个 32 位的数量,例如在 、 和 的AceInit文档AceSetUserDataAceGetUserData。文档的相关摘录AceGetUserData

该函数是同步的,调用者必须提供一个指针作为第二个参数,指向一个 32 位存储区(即无符号整数),将用户数据值复制到该存储区。

这显然是错误的——从一些实验来看,如果你传入一个指向填充 0xff 的缓冲区中心的指针,那么AceGetUserData肯定写出一个 64 位的值,而不是 32 位的数量。

我的版本aceclnt.dll是 8.1.3.563;相应的文档标记为“Authentication Agent API 8.1 SP1”,这对应于 Authentication Agent 本身的 7.3.1 版本。

测试代码

给出了完整的测试代码,即使它根本与问题无关......如果其他人运行测试代码(我知道它的作用!),我需要的是可以访问 RSA 标头的人可以确认函数签名的文件。

0 投票
1 回答
802 浏览

java - 在 Java 中使用 ssh2 连接到受 RSA SecurID 保护的 linux 系统

我想创建从 Windows 系统到使用 RSA 令牌密码进行身份验证的 Linux 机器的连接,并且我想运行 shell 命令并从 Java 代码中获取输出。使用 putty 登录该 Linux 系统时,有以下步骤:

  1. 输入IP和端口并连接
  2. 在要求“登录为:”的 PuTTY 终端中输入用户名
  3. 在我们输入 RSA SecurID 的地方输入 PASSCODE

我已经尝试使用Jsch包连接,但它没有连接。我还尝试了一个jcabi-sshhttp://ssh.jcabi.com/),它是Jsch. 它们似乎都不适合我。

编辑:我使用Jsch包使用以下代码

之后我收到以下错误:

com.jcraft.jsch.JSchException: UnknownHostKey: myservername. RSA key fingerprint is ba:2b:70:2f:4f:fa:f6:20:31:56:e0:e8:8b:16:46:c9

我找到了一个解决方案,有人说包括这段代码,它将 StrictHostKeyChecking 设置为“no”:

然后我的错误变为:

尝试使用其他jcabi-ssh实现会产生类似的结果。

0 投票
0 回答
57 浏览

ldap - RSA SecurID 与 OpenAM 的集成得到“用户 csr 的访问被拒绝”。

我想将 RSA securid 与 openAM 集成,作为 openam 链的第二步。我正在使用 openam 14.0 版和

  1. 首先,我创建了一个安全的使用 RSA 身份验证管理器并下载了配置文件并在 openam 中设置了 sdconf.rec 文件路径。
  2. 我已将 RSA securid 插件正确添加到 openam 中,并且在 openam 部分中,我必须在 LDAP 模块之后创建 RSA 模块。
  3. 然后下载安全令牌文件并使用 RSA 身份验证令牌生成工具进行设置并生成密码。
  4. 当登录到 openam 时,它首先要求输入 LDAP 用户名和密码,然后它会重定向到用户 ID 和密码页面作为第二步,但问题是在输入用户 ID 并通过工具生成的密码后它不起作用,并且在下面路径中的日志文件显示下面提到的错误,并且csr是用户 ID。

[2020-12-16 14:50:54,003] 警告 http-nio-8080-exec-7 - 用户 csr 的访问被拒绝。

如果有任何指南或文档可以整合这种正确的方式与我分享,请检查这一点,不确定所有步骤是否正确完成。