就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻

就在前几天(6月20日) , 许多媒体报道XDA论坛发现苹果发布的iOS16系统中包含「验证码机器人」的新闻 。
升级到iOS16开发者预览版后 , 你可以在「设置」app中的AppleID部分找到「密码与安全性」 , 拉到最底下 , 就有「自动验证」的开关 。
就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻
文章图片
如果你了解验证码(即CAPTCHA)的全称与作用 , 那么就会对这个开关有许多疑问:既然验证码是「防止机器人」的 , 那这个功能岂不是要让验证码形同虚设?
事实当然不是如此 。 这个功能不能被称为「验证码机器人」 , 它利用的是一种全新、开放的验证机制——私密证明令牌(PrivateAttestationToken , PAT) 。
验证码有什么问题?
从电子邮件和BBS社区诞生以来 , 垃圾信息泛滥一直都是互联网上的「老大难」问题 。 而解决这个问题最有效的方法(几乎也是目前唯一方法) , 就是一种称作CAPTCHA的机制 , 即我们常说的「验证码」的一种(另一种用来进行实名制和信息验证的验证码 , 不在本文讨论范围内) 。
CAPTCHA又称被作「反向图灵测试」 。 顾名思义 , 它通过一些对机器很困难、但对人类很简单的问题 , 来帮助网站验证用户是否是真人 。
这类验证码诞生差不多20年左右 , 基本原理几乎没有怎么变化 , 变的只是让用户判断歪歪扭扭的色块 , 变成在一堆图片中找出对应的物体 。 只不过只要是有过一定网络阅历的人 , 一定有过在十万火急的时候被「找出喷气式飞机的图片」的要求搞得特别想砸电脑手机的时刻 , 体验算不上良好 。
就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻
文章图片
▲看见是不是心肺停止了?网页截屏来自hCaptcha官网
目前 , 也有另一种区分人和机器的方法 , 即通过读取尽可能多的用户访问痕迹 , 用AI模型判断用户的行为是否是一个正常人 。 Google推出的noCAPTCHA服务就是使用这种方式来判断用户的真实性 。
这种验证方式确实可以帮助用户尽可能绕过明显的验证过程 , 但同时也牺牲了隐私 。 毕竟 , 为了证明「我是人」 , 我需要把我的上网痕迹全部都告诉Google或者其他大公司 , 想想都有点不对劲 。
就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻
文章图片
▲「点一下」验证的背后 , 就是隐私的让渡.图片来自GooglereCAPTCHA官网
就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻】PAT是什么?它如何验证用户不是自动程序?
PAT并不指代某一种技术或某一种服务 , 而是一个验证用户的协议 。 它需要用户、硬件设备厂商和验证码服务提供商三方共同参与 , 才能完成验证过程 。
整个协议流程是这样的:网站接入支持PAT的验证码服务用户向网站发起请求 , 网站要求用户前往验证码服务进行验证验证码服务向硬件制造商发起验证请求(帮我看看这台机器有没有被破解?)硬件制造商检查用户所持硬件编号等 , 并通过类似DeviceCheck或SafetyNet等技术框架检查用户设备的完整性确认用户硬件未被破解(越狱或root)之后 , 硬件制造商要求验证码服务向用户发放证明用户将证明随后续请求发送给网站 , 网站将证明拿给验证码服务进行验证验证通过 , 请求正常处理
就在前几天(6月20日)|苹果ios16系统中包含「验证码机器人」的新闻
文章图片
▲完整的PAT验证流程示意图.图片来自Cloudflare官方博客文章
看起来很复杂 , 但整个流程的重点有两个:一是整个验证流程没有任何需要人工介入的验证过程(输入字符或点击图片等);二是证明「我是人」的方式也从答题、隐私让渡 , 变成更合理的检查设备是否被破解等信息 。