人类每天在验证码上大约浪费500年,是时候结束这种疯狂行为了!

选择所有的公共汽车、点击自行车、这张照片有交通灯吗?尽管这些问题很荒谬,但你几乎可以保证最近看到过一个。它们是在线服务区分人类和机器人的一种方式,它们被称为CAPTCHAs,验证码。验证码加强了在线服务的安全性。虽然它们做到了这一点,但它们有一个非常实际的成本问题。

根据我们的数据,一个用户平均需要32秒来完成一个验证码的挑战。全球有46亿互联网用户。我们假设一个典型的互联网用户大约每10天看到一个验证码。

这个非常简单的计算方法相当于每天浪费了500年的时间–只是为了证明我们是人类。

今天,我们正在发起一项实验,以结束这种疯狂的现象,让我们彻底摆脱验证码。这个想法相当简单:一个真正的人应该能够通过触摸或查看他们的设备来证明他们是人类,而不暴露他们的身份。我们希望你能够证明你是人类,而不透露你是哪个人类!你可能会问这是否可能?答案是:是的。我们从已经存在了一段时间的可信USB钥匙(如YubiKey)开始,越来越多的手机和电脑默认配备了这种能力。

今天标志着互联网上的消防栓、人行横道线和交通信号灯的末日开始了。

为什么要使用验证码?

在许多情况下,企业需要一种方法来判断一个在线用户是否是人类。通常,这些原因与安全或滥用在线服务有关。早在世纪之交,CAPTCHAs的出现就是为了实现这一目的。第一个是在1997年开发的,而这个术语(“Completely Automated Public Turing Test to tell Computers and Humans Apart”)是由Luis von Ahn, Manuel Blum, Nicholas J. Hopper和John Langford在2003年提出的。

就其本质而言,CAPTCHAs的挑战-回应性质必须是自动化的:因此它们可以跨越人类和它们需要捕捉的机器人的规模。

为什么要去掉验证码?

简单地说:我们都讨厌它们。

到目前为止,我们所能做的最好的事情就是尽量减少它们。例如,在Cloudflare,我们不断改进我们的机器人管理解决方案,以尽可能聪明地确定何时向用户提供验证码。然而,多年来,随着人工智能的改进,网络从简单的基于背景的文字识别的验证码转移到OCR旧书到从图片中识别物体(见谷歌关于街道号码的论文)。这给互联网的人类用户带来了一些实际问题。

1.生产力。时间的损失–就像对手头工作的关注一样–而且往往是以一些挫折作为交换。
2.可及性。用户被认为具有解决测试所需的身体和认知能力,但事实可能并非如此。例如,视觉上的残疾可能使人无法完成解决验证码的任务。
3.文化知识。地球上见过美国消防栓的人是少数,讲英语的人也是少数。
4.移动设备上的互动。手机和移动设备是世界上大部分地区主要的–而且往往是唯一的–互联网接入手段。验证码给他们的数据计划和电池使用带来了压力,此外,在小屏幕上也更加困难。

事实上,万维网联盟(W3C)早在2003年就制定了多个草案,指出了验证码的不可访问性

这还只是从用户方面来看。将所有这些成本加诸于用户,对企业来说也有非常实际的成本。企业花这么多时间来优化其网站和应用程序的性能和布局是有原因的。这些工作可以阻止用户在你希望他们注册时跳出。当你希望他们在结账时,它能阻止购物车被遗弃。总的来说,你想阻止客户感到沮丧而干脆不回来。

验证码实际上是企业在他们的用户面前设置摩擦,正如任何管理过高性能在线业务的人都会告诉你,除非你别无选择,否则你不会想这么做。

我们在从谷歌reCAPTCHA转移到hCAPTCHA时开始解决这些问题。今天,我们将更进一步。

CAPTCHA没有图片:加密的人格证明

硬件安全钥匙是带有嵌入式秘密的设备,可以连接到你的电脑或你的手机上

从用户的角度来看,加密身份证明的工作方式如下。

1.用户访问一个受加密人格证明保护的网站,如cloudflarechallenge.com
2.Cloudflare提供一个挑战。
3.用户点击 “我是人类”(beta),并被提示使用安全设备。
4.用户决定使用硬件安全密钥。
5.用户将设备插入他们的电脑,或将其插入他们的手机进行无线签名(使用NFC)。
6.向Cloudflare发送加密证明,在验证用户存在测试后允许用户进入。

完成这个流程需要五秒钟。更重要的是,这种挑战保护了用户的隐私,因为证明与用户设备没有唯一联系。Cloudflare信任的所有设备制造商都是FIDO联盟的成员。因此,每个硬件密钥与同一批次生产的其他密钥共享其标识符(见通用第二因素概述,第8节)。从Cloudflare的角度来看,你的钥匙看起来与该批次的所有其他钥匙一样。

完成一个加密身份证明最多需要三次点击。不存在循环,即要求用户连续点击巴士10次。

虽然有各种硬件安全密钥,但我们最初的推广只限于少数设备。我们有机会使用和测试的YubiKeys;HyperFIDO密钥;以及Thetis FIDO U2F密钥。

Yubico首席技术官Christopher Harrell说:"长期以来,推动WebAuthn等开放认证标准一直是Yubico的核心使命,即以愉快的用户体验提供强大的安全性。“通过在YubiKey硬件和公钥加密技术的支持下,通过一次触摸提供CAPTCHA替代方案,Cloudflare的加密人格证明实验可以帮助进一步减少用户在与紧张或攻击的网站互动时的认知负荷。我希望这个实验能使人们以最小的摩擦和强大的隐私完成他们的目标,而且结果将表明值得其他网站考虑使用硬件安全,而不仅仅是认证”。

它是如何工作的?

加密的人格证明依赖于 网络认证(WebAuthn)证明。这是一个已经在W3C标准化的API,已经在大多数现代网络浏览器和操作系统中实现。它的目的是提供一个标准的接口来验证网络上的用户,并使用他们设备的密码学能力。

随着对更强的安全性和更好的可用性的需求增加,我们预计WebAuthn的部署实例将增加。

平台兼容的浏览器
iOS 14.5All browsers
Android 10 and laterChrome
WindowsAll browsers
macOSAll browsers
UbuntuAll browsers

假设你使用的是配置兼容的硬件设备,你可能想知道幕后发生了什么。

升降机的介绍

简而言之,你的设备有一个内嵌的安全模块,其中包含一个由你的制造商密封的独特秘密。该安全模块能够证明它拥有这样的秘密而不泄露它。Cloudflare要求你提供证明,并检查你的制造商是否合法。

技术解释

较长的版本是,这种验证涉及公钥密码学和数字证书。

公钥密码学提供了一种产生不可伪造的数字签名的方法。一个用户生成一个可以签署信息的签名密钥和一个可以被任何人用来验证信息真实性的验证密钥。这类似于签名戒指,其中戒指的印记是签名,戒指本身是签名钥匙。

签名方案被广泛用于证明真实性。现在,你的浏览器已经验证了声称是 "blog.cloudflare.com "的服务器是合法的,它验证了一个拥有与 "blog.cloudflare.com "相关的签名密钥的人所做的签名。为了证明验证码是合法的,服务器提供了一个证书,将验证码与 "blog.cloudflare.com "联系起来,该证书本身由另一个证书的另一个验证码签署。这个链条一直延伸到你的浏览器中内置的_认证机构_的根证书。

让我们再举个例子。爱丽丝拥有一台嵌入安全模块的笔记本电脑。这个模块持有一个签名密钥,sk_a。爱丽丝说她昨天给鲍勃发了一封情书。然而,鲍勃是怀疑的。尽管信上写着 “嗨,鲍勃,我是爱丽丝”,鲍勃还是想确定这封信是来自爱丽丝。为此,鲍勃要求爱丽丝提供她对以下信息 "musical-laboratory-ground "的签名。由于鲍勃选择了这个消息,如果爱丽丝能提供一个与她的验证密钥(pk/a)相关的签名,鲍勃就会相信这封情书是来自爱丽丝。爱丽丝确实提供了签名,sk_a(“musical-laboratory-ground”)。鲍勃确认sk/a(“musical-laboratory-ground”)与pk/a有关。他现在可以安全地从事他们的密码员关系。

回想一下密码学上的人格证明,你现在知道你的硬件密钥嵌入了一个签名密钥。然而,Cloudflare没有也不可能知道互联网上所有用户的签名密钥。为了缓解这个问题,Cloudflare要求提供一种不同的证明。当被问及你是否是人类时,我们要求你证明你控制着一个由受信任的制造商签署的公钥。当运送带有安全模块的设备时,制造商签署相关的证明公钥与数字证书。

数字证书通常包含一个公钥、关于它们所供应的组织的信息、有效期、允许的使用情况、以及来自证书颁发机构的签名,以确保证书的合法性。它们允许元数据与公共密钥相关联,因此提供关于签名发行者的信息。

因此,当Cloudflare要求你提供签名时,它验证你的公钥是否已被制造商的公钥所签署。由于制造商有多个级别的证书,你的设备提供了一个证书链,Cloudflare能够验证。链中的每个环节都由其前辈签署,并签署其后续环节。Cloudflare信任制造商的根证书。因为它们的数量有限,我们有能力手动验证它们。

隐私第一

设计一个挑战,要求用户证明他们控制着某个制造商的钥匙,这就带来了隐私和安全方面的挑战。

加密人格证明的隐私属性在下表中进行了总结。

属性Cloudflare CouldCloudflare Does
Get your fingerprints or faceNON/A
Know the manufacturer of your keyYES - limited to the number of keys in your batch*YES
Associate a unique ID to your keyYES**NO

* 每个批次必须有100,000个或更多的密钥(FIDO UAF Protocol Specification #4.1.2.1)。然而,自签的钥匙和某些制造商的钥匙已经被发现 _不符合这一要求_。

** 这将要求我们设置一个单独的和不同的cookie来跟踪你的钥匙。这与互联网上的隐私和本项目的目标背道而驰。你可以了解更多关于我们如何删除像 [blog.cloudflare.com/deprecating…(https%3A%2F%2Fblog.cloudflare.com%2Fdeprecating-cfduid-cookie%2F "https://blog.cloudflare.com/deprecating-cfduid-cookie/)(https://blog.cloudflare.com/deprecating-cfduid-cookie/"))] 这样的cookie。

不收集生物识别技术的证明

这个项目的目的:我们想知道你是人类。但我们对你是哪种人不感兴趣。

令人高兴的是,WebAuthn API在很大程度上为我们解决了这个问题。不是我们想这样做,但WebAuthn API防止收集生物识别技术,如指纹。当你的设备要求进行生物识别验证时–比如通过指纹传感器–这一切都发生在本地。验证是为了解锁你的设备的安全模块,它提供了一个与你的平台相关的签名。

对于我们的挑战,我们利用了WebAuthn注册流程。它被设计用来进行多重认证,而我们并没有这方面的用途。因此,我们确实给所需的用户名字段分配了相同的常量值。它可以保护用户不被匿名化。

没有隐藏的工作

CAPTCHA的一个常见用途是为AI难以识别的数据集打上标签。这可能是针对书籍、街道号码或消防栓。虽然这对科学很有用,但它也被用作公司在用户不知情的情况下利用人类识别能力获取商业利益的一种方式。

有了加密的人格证明,这种情况就不会发生。我们可以更灵活地设计用户流程,因为我们不再受制于CAPTCHA挑战模型。

Cloudflare正在做什么来进一步推动隐私保护

虽然加密人格证明在隐私方面有很大的优势,但它并不完美。Cloudflare仍然需要知道你的制造商才能让你进入。由于WebAuthn与任何证书一起工作,我们需要确保Cloudflare收到来自未被篡改的硬件密钥的证书。我们希望不要有这些信息,进一步保护你的隐私。

我们过去一直致力于制定隐私标准,例如,以Privacy Pass为首的努力。Privacy Pass允许你解决一次挑战,并提供你通过挑战的证明,这意味着你不必解决多个验证码。它大大改善了VPN用户的用户体验,因为他们比其他互联网用户面临更多的挑战。

对于密码学上的人格证明,我们挖掘了密码学的一个新兴领域,称为零知识证明(ZK证明)。它允许我们的用户证明他们的制造商是Cloudflare信任的一组制造商的一部分。使用ZK证明,来自一个制造商的设备变得彼此无法区分,也无法与其他制造商的设备区分。这个新系统需要更多技术细节,值得专门写一篇博文。请继续关注。

永无止境的探索

设计一个旨在保护数百万互联网财产的挑战不是一件容易的事。在目前的设置中,我们相信与传统的验证码挑战相比,加密的人格证明提供了强大的安全性和可用性保障。在初步的用户研究中,用户表示强烈倾向于触摸他们的硬件钥匙而不是点击图片。尽管如此,我们知道这是一个有改进空间的新系统。

这个实验将在英语地区有限地提供。这使我们能够在用户库中拥有多样性,并在不同的地方测试这个过程。然而,我们认识到这是不够的覆盖面,我们打算进一步测试。如果你有具体需求,请随时联系我们。

我们密切关注的另一个问题是安全性。这一挑战的安全性取决于由可信的制造商提供的底层硬件。我们有信心它们是安全的。如果发生任何漏洞,我们将能够在不同的粒度水平上迅速取消制造商的公钥授权。

我们还必须考虑到面对自动按压按钮系统的可能性。一只能够按下电容式触摸传感器的饮水鸟可以通过密码学上的人格证明。在最好的情况下,鸟的解决率与硬件生成证明的时间相匹配。以我们目前的一套可信的制造商,这将比专业验证码解决服务的解决率慢,同时允许合法用户有把握地通过。此外,现有的Cloudflare缓解措施将保持原状,有效地保护互联网财产。

最后的话

对于Cloudflare来说,它总是回归到:帮助建立一个更好的互联网。我们每天都在互联网上浪费500年的时间–自世纪之交以来,没有人重新审视验证码的基本假设,这种想法对我们来说似乎很荒谬。

我们对我们在这里所做的工作感到非常自豪,因为我们发布了密码学上的人格证明。这一挑战是以用户至上的方式建立的,同时为访问位于Cloudflare全球网络背后的互联网财产保持了高度的安全性。我们现在正在用加密的人格证明来增强我们现有的人性挑战。随着时间的推移,你应该期望更频繁地看到它。你今天可以在cloudflarechallenge.com试试。

最后:我们很高兴能带来互联网上消防栓的消亡。它不再需要了。

反馈和常见错误

由于这目前是Cloudflare研究团队的一个实验性项目,今天只有USB或NFC安全密钥可以使用。我们很高兴得到反馈,并将尽快研究添加其他认证器。如果你使用不支持的设备,那么你可能会从你的浏览器得到一个有点难以理解的错误信息。在谷歌浏览器上,你会看到。

<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cfcd0a958ddd4638907d50bde2af4317~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image) 如果你想提供关于加密人格证明的反馈,请填写谷歌表格:[forms.gle/HQxJtXgryg4…](https://link.juejin.cn/?target=https%3A%2F%2Fforms.gle%2FHQxJtXgryg4oRL3e8 “https://forms.gle/HQxJtXgryg4oRL3e8"” style=“margin: auto” />

原文链接:blog.cloudflare.com/introducing…学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值