在Java Web应用程序中实现双因素身份验证

BRR*_*BRR 7 java security authentication

我有一个现有的Java Web应用程序通过IBM WebSphere运行(我不确定该版本,但可以找出它是否有帮助)我希望实现双因素身份验证.

该系统具有良好的用户群,我想将硬件令牌分发给系统的管理员用户,以确保强大的身份验证.

对最终用户的影响最小是可取的,但我想避免让管理员需要通过VPN连接.

有没有人知道任何提供Java API的产品可以直接集成到现有应用程序或其他产品中,从而产生最小的影响?我已经和RSA SecurID谈过了,但他们的系统不能直接集成,需要更改基础设施.非常感谢任何其他想法/经验.

Bru*_*uno 1

如果您希望通过 TLS 客户端证书进行双因素身份验证,可以使用一些硬件加密令牌。Java 可以开箱即用地加载 PKCS#11 存储,但可能需要一些配置。管理配置与应用程序配置的比例取决于应用程序(有时还取决于终端插入 USB 令牌或具有读卡器时的“锁定”程度)。

可能还有替代解决方案,例如一次性密码令牌(不依赖于证书,而是依赖于唯一密码)。这对于用户来说似乎不那么沉重。我必须承认我从未尝试过,但这个项目可能很有趣:http://directory.apache.org/triplesec/(还有硬件 OTP 密钥环,通常由制作 RSA 卡/USB 令牌的同一供应商提供) 。