问题标签 [two-factor-authentication]

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 投票
1 回答
277 浏览

security - 多因素身份验证和 CloudBees Web 管理控制台

我们有兴趣在我们的 CloudBees 帐户上启用多因素身份验证 (MFA) 以改进访问CloudBees 管理控制台的安全检查。

理想情况下,这种机制会像 Amazon AWS 那样支持 Google Authenticator Application。

西里尔

0 投票
2 回答
1998 浏览

database - 为两因素身份验证存储“备份代码”的最佳方式?

我正在为我的一个副项目实施一个双因素身份验证系统,并希望建立一些“一次性代码”,就像谷歌的双因素身份验证一样。

我的问题是,将这些代码存储在服务器上的最安全方法是什么?他们需要在数据库中加密吗?我会使用像 bcrypt 这样的东西来让它们像我散列密码一样吗?考虑到攻击者知道每个散列代表一个 6 位数字,这将使暴力破解时间几乎为零,我认为这可能是矫枉过正。

0 投票
2 回答
7828 浏览

windows - SecurID 代理文档在哪里?

显然,在安装了“RSA 身份验证代理”的 Windows 机器上,可以利用它来提供身份验证服务。似乎有一些文档/ SDK可以做到这一点。似乎可以静态链接此功能,或通过调用从“aceclnt.dll”导出的一些函数来动态加载它。

但是,由于 RSA 的网站已移至 emc.com,所有指向旧网站的链接都已失效。我在新网站的任何地方都找不到文档。请帮我谷歌这个!

我们可以通过 PAM 在 UNIX/Linux 上的应用程序中轻松使用 SecurID 身份验证。只有在 Windows 上,我们需要使用一些特殊的 SecurID API 来查询是否接受/拒绝凭据。

0 投票
1 回答
700 浏览

php - Zend Gdata 登录,两步验证/验证

我最近为我的 Gmail 帐户激活了两步验证,因此注意到我使用 Zend Gdata 库的应用程序停止工作。我禁用了两个因素验证,然后他们又开始工作了。

我在网上找不到任何关于使用 Zend Gdata 库进行两步验证的信息。有没有人找到解决方案?

0 投票
1 回答
192 浏览

two-factor-authentication - 在婴儿床上添加两个因素身份验证?

一般来说,我知道什么是两因素身份验证 (2FA) 以及它是如何工作的。我也知道它被编码到需要访问的应用程序中。我想知道的是:有没有人遇到或设计过一种将 2FA 用于 COTS(商业现成)程序的方法?

这是一个场景:我有产品 X,为了工作,X 需要打开防火墙上的一个端口,以便它可以访问防火墙内的服务器。X 没有 2FA。但我想使 2FA 生效,以便只有在 2FA 进程认为身份验证有效后,才能使用 X 来寻址防火墙内的服务器。

显然,我不希望某些叛徒用户只是从网上下载 X,安装它,然后运行它并访问服务器。但是由于 X 是一个 COTS 并且我无法访问代码,所以我只是不知道如何将 2FA 添加到它的使用中。

我是在吠叫一棵没有小动物的树,还是有什么我没有想到的?

0 投票
1 回答
917 浏览

api - 允许访问帐户安全性的 Google API(re: 2-factor auth)

我很清楚这对安全的影响,以至于我打赌它不存在,所以在你说我疯之前,这就是我问的原因。

我真的厌倦了只有我的手机和安装一个新的应用程序/任何东西,发现自己需要突然创建一个新的应用程序专用密码,并且不得不浏览谷歌绝对不适合移动设备的安全页面来做那。我想创建一个允许我生成应用程序特定密码的应用程序,无论是通过文本还是 Android 应用程序本身或其他方式。如我所见,这里有两个选择:

  1. 使用一些 Google Account Security API(如果存在)来创建应用程序专用密码
  2. 执行抓取类型的行为(当然,使用适当的凭据)以自动创建它。我真的不想这样做。

有谁知道(a)这种类型的 API 是否存在,或者(b)是否有其他方法可以做到这一点?显然,这个应用程序将发布在 Github 上进行自托管。

0 投票
2 回答
4793 浏览

rest - RESTful Web API 中的两因素身份验证

我正在使用直接 html 5 和 web api restful 服务构建一个新的 asp.net web api 应用程序。我已经在使用表单身份验证和 [Authorize] 属性来保护我的 Web api 调用。我试图尽可能地忠于宁静的原则。

我正在模仿现有应用程序的功能,该应用程序使用两因素身份验证并使用 asp.net Web 表单。双重身份验证不用于登录,而是用于通过站点和插件远程访问另一台计算机的附加任务。

现有的 Web 应用程序使用会话状态来存储生成并通过电子邮件发送给用户的 pin。然后,当用户输入 pin 时,会根据会话状态中的 pin 进行检查。

所以看起来我的选择是......

  1. 加密在服务器上生成的 pin 并在 javascript 中将其发送回客户端。此选项似乎存在安全风险。这将是一个更宁静的选择。
  2. 一位同事建议使用类似于 Amazon S3 使用公钥/私钥对的方法。
  3. 尽管使用了 web api,但仍使用会话状态。

那么在这些选项中,最好的选择是什么?还有其他可能性吗?

0 投票
1 回答
2328 浏览

windows - 如何在 Windows 中实现两因素身份验证?

我需要做的是用户像往常一样输入他的域/用户名/密码,但还要输入一个额外的令牌,我可以在登录过程中以某种方式拦截,对其进行身份验证,并允许登录或不登录。因此,有效地,用户只有在 Windows 允许的情况下才能登录,并且此辅助身份验证过程允许它。

Windows 是否为此提供支持?一些实现这一点的机制?

0 投票
1 回答
1628 浏览

php - 两步认证

我正在尝试在我正在编写的 Symfony2 应用程序中实现一个两因素身份验证方案。基本上,系统目前工作正常,以 Doctrine ORM Entity 作为用户提供者。但是,我在弄清楚如何正确和最有效地添加它时遇到了问题。

基本上,身份验证应该这样工作。用户看到登录表单。键入用户/密码组合,然后输入 OTP(在本例中为 yubikey。)

标准的 symfony2 身份验证可以很好地处理用户/密码。但是,我想添加添加 OTP 支持的选项(前提是用户有 yubikey 的数据库条目,并且它在站点范围内启用。)

有没有人对这种模式有任何运气?我想避免重新发明轮子,只需要弄清楚如何将其与当前的身份验证模式联系起来。

最初,我曾考虑在我正在使用的自定义密码编码器 (bcrypt) 中使用 isPasswordValid() 函数。但是,似乎没有办法将 otp 传递给该函数。

0 投票
2 回答
9254 浏览

security - 需要 cookie 来记住双重身份验证成功(不是持久登录)

我在这里和其他地方读过很多关于使用 cookie 来实现“记住我”选项的内容,但我正在寻找一种设计 cookie 来记录双因素身份验证成功的方法。例如,Google 就是这样做的:如果第二步成功(例如,您输入了通过 SMS 收到的代码),那么它会设置一个在一段时间内(例如 30 天)有效的 cookie,这意味着第二步可以绕过。将此称为“验证 cookie”。我的理解是,如果在那个时候你注销然后再登录,它不会做第二步,而只会做第一步。(我对此进行了测试,似乎就是这样。)

我的问题是如何设计这个 cookie。一种想法是将用户 ID 和 128 位随机数放入 cookie,然后将该数字与用户 ID 一起存储在数据库中。这是 Charles Miller 对持久登录 cookie 的建议 ( http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/ )。

但是,我认为这还不够好。问题在于,由于用户使用的是双因素授权,因此无论使用什么 cookie 来记录第二步成功,都应该比使用单因素授权的情况更安全。

我要避免的是:破解者拥有来自数据库的散列/加盐密码,并且以某种方式获得了密码。如果他/她有那么多,我假设验证 cookie 中的 128 位随机数也是可用的。(如果破解者通过其他方式获得了密码,并且没有数据库,那么验证 cookie 是安全的,除非他/她可以物理访问计算机。我只担心数据库被泄露的情况。)

也许一个想法是加密 128 位随机数?(需要是双向的——而不是散列。)应用程序可以访问加密密钥,可能会存储数据库凭据。

有没有人实现了我所说的验证 cookie(不是持久登录 cookie)并且可以告诉我(我们)它是如何完成的?


更新:考虑到这一点,我认为足够安全的是:Cookie 由用户 ID 和 128 位随机数组成——称之为 R。

数据库包含密码和 R,每个都经过哈希处理和加盐处理(例如,使用 PhPass)。然后R被认为是第二个密码。好处:即使第一个密码是错误的(例如,“password1”),R 也是一个非常好的密码。数据库确实不能破解,所以不用担心。(我认为我不必要地担心它。)