用一次性的密钥代替 CAPTCHA。人性化的机器人防御,让您无后顾之忧。
在用一次性、可丢弃的密码(passkeys)来替代传统的CAPTCHA,以实现对机器人的友好型防止,同时减少用户的挫败感。
要了解该小部件,请查看托管演示
技术特点:
- API 是使用 Helidon 4.x 以 Java 构建的。
- 由 Java 虚拟线程提供支持。
- UI 是使用 Vite 构建工具的纯 Javascript。
使用 JDK21+ 启动服务器
mvn package |
背景上下文
作为用户和开发者,我对传统的验证码感到失望,因此创建了 Nocaptcha。
WebAuthn 密钥提供了一种既安全又方便用户使用的替代方案。
Nocaptcha 的与众不同之处在于:
- - 使用 WebAuthn 标准而不是解谜
- - 用户无需记住密码或解谜
- - 开放源代码
目前的限制: 正在与 W3C WebAuthn 社区小组合作,为这一用例研究真正的密码处置方法。
WebAuthn的安全性:
- WebAuthn是基于公钥加密技术的身份验证标准,由W3C和FIDO联盟共同制定。它允许用户使用生物特征或硬件密钥(如USB安全密钥)进行身份验证。
- WebAuthn不依赖于密码,而是利用客户端设备的安全特性,如指纹识别、面部识别等,提供无密码的登录体验。
- 由于WebAuthn使用非对称密码学,即使服务器被攻击或数据泄露,用户的私钥仍然是安全的,因为私钥不会传送到服务器。
- WebAuthn支持多因素认证,可以轻松集成生物识别等多因素认证方式,增强安全性
reCAPTCHA的安全性:
- reCAPTCHA是Google提供的一项安全服务,通过各种类型的挑战来区分人类用户和机器人。
- reCAPTCHA v3在后台隐形运行,实时分析用户行为,并给出风险评分,从而区分人类和机器人。
- reCAPTCHA v3的有效性取决于准确分析用户行为的能力,虽然目标是减少误报,但仍有可能根据异常行为模式将合法用户误划为机器人
WebAuthn提供了一种更安全的身份认证方式,因为它不依赖于密码,而是使用公钥加密和设备本地的安全特性。这种方法减少了密码泄露的风险,并提供了更高级别的安全性。
WebAuthn利用公钥加密技术,有效防止密码泄露和钓鱼攻击。通过这种方式,即使服务器遭受攻击或数据泄露,用户的私钥仍然是安全的,因为私钥始终存储在本地设备上,不会在网络上传输。
用户无需记忆复杂密码,使用生物识别或物理密钥更加便捷。
WebAuthn作为W3C推荐标准,提供了一种标准化的身份验证接口,使得不同网站和服务之间可以实现互操作性。
WebAuthn通过挑战-响应机制来验证用户身份,这使得自动化的机器人攻击变得更加困难。在注册和认证过程中,服务器向客户端发送挑战,客户端使用私钥对挑战进行签名,然后服务器使用公钥验证签名。。
reCAPTCHA虽然在区分人类和机器人方面非常有效,但它仍然依赖于行为分析,可能会有误报的情况,且对于某些用户来说,体验可能不如WebAuthn流畅
WebAuthn通过整合reCAPTCHA,WebAuthn可以区分合法用户请求和恶意机器人生成的请求,有助于减轻DDoS攻击的影响。