了解

认识Acurast。了解我们的故事,深入阅读技术文档,看看我们在生态系统中与哪些伙伴合作。

A row of six phones with glowing lime edges on black, one of them dark, beside the headline Attestation Is Not a One-Time Check.

证明不是一次性检查:Acurast如何验证其Processor

一排六部边缘泛着青柠绿光的手机置于黑色背景上,其中一部熄灭,旁边是标题“证明不是一次性检查”。

Acurast运行在数十万部普通智能手机之上,这些手机被称为Processor。要确保它们是未经篡改的真实手机,唯一的办法就是使用Google和Apple提供的证明(attestation)检查。下面介绍它如何保护网络,以及每一位为网络作出贡献的人。

 

为什么证明是Acurast的核心

Acurast运行在世界各地的人们所拥有的普通智能手机上,因此它需要一种方法,在不必信任手机持有人的情况下信任这部手机。这正是证明的作用。

 

就像您的手机向银行应用或Apple Pay和Google Pay证明自己一样,手机内部一块密封的安全芯片会签署一份声明。这份声明在Android上由Google的Key Attestation支持,在iPhone上由Apple的App Attest支持,用于确认手机是真机、操作系统未经修改,并且手机没有被root或越狱(即为绕过制造商的安全机制而解锁)。

 

在一部手机运行任何一个部署(开发者发送到网络上运行的一段代码)之前,Acurast都会检查这份声明。由于这份证明来自连所有者本人都无法打开的硬件,开发者的数据得以保持私密,结果可以被证明确实来自所部署的那段代码,任何人都不必轻信他人的说法。

 

当证明不再可信时

证明并不是一次性的盖章,因为其背后的密钥可能落入坏人之手。

 

偶尔,制造商的签名密钥会泄露,或者芯片、固件中的漏洞让人得以从真实手机中提取密钥。有了这样的密钥,不法分子就能在服务器或模拟器(假装成手机的软件)上生成证明,看起来与来自真实手机的证明一模一样,甚至还能把一部手机的身份复制到数百部虚拟手机上。

 

当Google或Apple得知密钥泄露时,会吊销受影响的密钥。问题在于,被吊销的证明在纸面上看起来依然完全有效;只有当检查方同时查阅吊销列表时,它才会验证失败。欺诈者正是指望那些不检查吊销状态的网络。他们利用泄露的密钥冒充合法手机,而实际运行的可能只是一个模拟器,甚至更糟,只是一个除了发送心跳之外什么都不做的脚本。心跳是手机为表明自己在线而定期发送的签到信号。

 

因此,Acurast会持续检查:协议定期接受独立安全公司的审计,团队也持续监控链上活动。Acurast最近还加强了网络识别伪造证明的能力。

 

作为这项持续验证的一部分,证明已被吊销的手机将被持续地从Processor池中移除。它们将无法再领取奖励,也不会再收到任何部署。

 

如果您的真实手机受到影响

吊销是一种粗放的手段,在极少数情况下也会波及合法手机。

 

较旧的手机在出厂时就获得了证明密钥,而且同一个密钥往往由整批手机或整个型号共用。如果该密钥泄露,或者该型号被发现存在漏洞,Google就会为所有持有它的手机吊销该密钥,其中也包括从未做错任何事的诚实所有者。Google自己也承认,这可能会给受影响的用户带来很大影响,这也是Android正在转向短期有效、每部手机独有并自动更新的密钥,而不再批量吊销的原因。

 

坦白地说:Acurast无法推翻吊销。

 

为真实手机接受被吊销的密钥,就意味着也必须接受伪造的手机。如果您的真实手机已停止接收部署,那么很遗憾,对于被吊销的密钥,能做的事情很少。使用Google较新的Remote Key Provisioning(每部手机通过互联网而不是在出厂时获得自己的短期密钥)的手机不受出厂密钥泄露的影响,但一部手机是否使用它取决于制造商和型号,而不仅仅取决于Android版本。

 

因此,如果Acurast Hub(用于管理手机的网页控制台)对您的某部合法手机的证明显示“Revoked”(已吊销),请清除该手机的全部数据,确保它已完全更新到制造商的最新官方版本,确认它没有被root且其引导加载程序(Bootloader,用于加载Android的启动软件)已锁定,然后重新接入。

 

这可能会成功,但您也可能运气不佳,手机就此卡在一个被吊销的密钥上。在这种情况下,很遗憾,Acurast无能为力。