技术盒子 | 微信送你一把未来的万能钥匙
科技发达以后,我们开始了全新的密码人生。
手机解锁、帐号登录、支付结算都要设置密码,每次输入十分繁琐,忘了密码更是尴尬。于是,生物识别技术应运而生——一枚指纹,一秒钟,一切解锁。
可是,指纹解锁的刹那,到底发生了什么,能让机器准确快速地辨认出你呢?
这里有一个小世界
为了让每一个有需求的APP都能够安全快速地使用指纹认证,腾讯特意搭了一座天桥供大家通用——SOTER。
什么是SOTER?
TENCENT SOTER是微信团队推出的一套安全、通用、完整的指纹认证方案,Android手机上的微信支付底层指纹能力,采用的就是SOTER指纹认证方案。
SOTER认证的原理是,当用户使用指纹授权时,手机内部有一个签名的角色根据指纹对比结果决定是否签名,一旦签名成功,对应的手机外部有一个认证签名的角色。认证完成,设备即可执行相关指令。
于是,我们需要在手机内部和外部分别设立签名和验证签名的场所。这里涉及到三个场所分别是:
①TEE:签名场所
TEE位于手机内部,独立于手机操作系统,出厂时即装备成功,保持了绝对安全与密闭。
②TAM:验证签名场所一
TAM是微信为验证签名业务专门提供的服务器。
③APP服务器:验证签名场所二
APP服务器是指使用SOTER技术的不同APP的本地服务器。和TAM相似,也是提供验证签名服务的场所,只是针对的是具体APP以及APP的不同功能和场景。
TEE、TAM和APP服务器里分别住了三对房客,分别是ATTK家族、ASK家族、AuthKey家族。
让我们用一个例子来说明,他们是如何工作的。
指纹去哪儿?
以微信支付为例。
现在,假设你女朋友说:“亲爱的,春天来了,我没衣服穿啦。”你虽然很想说:“不穿正好。”但是你依然拿出了手机,准备发一个红包给她。
首先响应的是ATTK家族。
ATTK家族的作用是为每一款APP(如微信)派出一对ASK,ASK是为APP所服务的。
ATTK_pri 和ATTK_pub在设备出厂时自带,ATTK_pri存储在TEE中,是负责签名的笔,ATTK_pub存储在TAM中,是负责验证签名的印章。只要笔签下的名字,印章经过确认都会打上“合格”。
其次响应的是ASK家族。
ASK家族的作用是为APP的每一项功能(如微信支付、微信公众平台授权)派出一对AuthKey,Authkey是为APP的每一项细分功能服务的。
ASK家族由ATTK_pri派出,ASK_pri也存在于TEE执行签字工作,ASK_pub这枚印章则ATTK_pub验证签名通过后,输送到APP服务器中存储,负责认证ASK_pri签名的工作。
最后出场的,也是最一线的AuthKey家族。
AuthKey家族由ASK_pri派出。同理,AuthKey_pri存储在TEE中,依然扮演签字笔,AuthKey_pub由这枚印章ASK_pri签名后送入APP服务器。ASK_pub一看是ASK_pri送来的,就印上“合格”,将AuthKey_pub存储在APP服务器负责验证签名。
于是,ATTK家族为APP指定ASK,ASK家族又为不同功能指定AuthKey,AuthKey家族最终决定是否通过一项指令。一层又一层,井然有序。
万事俱备,终于轮到指纹登场。
当你点下 确认支付 时,手机下一个画面要求你“验证已有的指纹,用于支付”。
此时,微信后台会生成随机串A,随机串A从信客户端传输至TEE,静静地等待你的指纹。
指纹由指纹传感器传输进入TEE。在TEE中,指纹对比无误,主管签字的AuthKey_pri就会签下名字,将随机串A连同签名一起发送给APP应用服务器。
APP服务器中的AuthKey_pub看到AuthKey_pri的签名,大手一挥说“合格”,只需要留下签名凭据,就可以通知银行扣款了。
至此,你的女朋友就收到了你满满的春日问候啦。
你的身体就是一串万能钥匙
可能你要问了,经过了几次签名流程的SOTER是如何保障安全快速的呢?答案是——
1.所有的关键步骤都在安全屋TEE中进行。而且,AuthKey_pri的签名凭证输出后,如果被篡改,AuthKey_pub是无论如何都不会通过验证的。
2.由于TEE是独立于手机操作系统的存在,因此即使手机被Root,SOTER方案依然有效。
3.指纹只需从传感器“行走”至TEE进行授权,无需经过微信客户端或服务器,确保了指纹支付的光速进行,不会受到网络等外力的影响。
这也满足了人类对“万能钥匙”的终极幻想——
1.安全:无法复制,不会丢失或被窃取。
2.迅速:解“锁”速度<1秒。
3.方便:无需记忆,随“身”携带。
未来,不仅仅是指纹,那些人体独一无二的生物特征——指纹、虹膜、声纹、耳廓、脸型、手型、脉搏、步态等,都会加入到“万能钥匙”的队伍中来。
到那时,恭喜你成为了行走的“钥匙串”啦。
PS:SOTER指纹能力可同时支持公众号和App应用,现已全面对外开放接入权限,并且完全公开免费。
戳原文链接,进入技术咖“通道”