Rails 应用程序的双重身份验证

Two Factor Authentication for Rails Application

我正在考虑在我的应用程序中添加另一层安全性。 双重身份验证 (2FA) 似乎是我想要使用的东西。

我想知道什么决定了一个好的2FA?还有你会推荐哪些?我目前不在 Devise 上,所以任何独立的 third-party/gem 都会有所帮助。

什么决定了一个好的2FA方法?我想说的是覆盖范围(可以使用它的用户数量)、成本和额外的安全优势。

就安全性而言,U2F 是最好的 2FA 类型,因为它可以防止网络钓鱼和 MITM,尽管您的用户需要购买(廉价的)令牌。目前仅适用于 Chrome.

最便宜的是 Google 身份验证器式 TOTP,它是免费的,不会产生任何 SMS 费用。您的用户需要智能手机。

覆盖率最高的是 SMS,几乎所有用户都会使用 SMS,但您可能需要付费才能发送 SMS,您的用户也可能需要付费才能接收 SMS。