2024-02-11 13:00:53 | 来源: 互联网整理
另外我的主机已经换成小米6了,真的很好用!
开头有意者:微信指纹支付解决方案(SOTER)技术负责人。
更新:1、对方已明确承认是造谣,所以作弊内容已被删除。 希望大家不要轻易被谣言所迷惑。 我再次强调:微信不会以任何形式获取用户的指纹图案。
2.删除之前的答案,引用SOTER官方公众号全文(其实只是我之前答案的整理,同事帅哥帮我整理了一下,结构比我写的好很多前)
3、仍然欢迎大家在评论区讨论并提出建设性问题。
官方解决方案说明链接地址:用一个故事告诉你,微信SOTER指纹认证标准到底是怎样的黑科技?
这是完整的报价:
指纹识别已经悄然走进我们的生活。 微信用户每天都会使用指纹认证进行微信支付,安卓手机上微信支付的底层指纹能力采用的是SOTER指纹认证解决方案。
SOTER指纹认证方案不需要读取用户的指纹信息,并且在Android 6.0的基础上进行了安全加固。 每个终端都有唯一的密钥,保证指纹认证的安全性。 即使手机被root破解,在获得最高管理权限的情况下,指纹也无法被劫持,保证了方案的高安全性。
▌SOTER解决方案的原理是什么?
SOTER采用RSA-2048非对称算法密钥链进行签名和验证,不需要设备制造商上传用户指纹。
业内人士可以直接阅读这篇文章,里面详细介绍了SOTER的原理和实现。 APP开发接口
对于普通用户来说,我们先讲一个生活场景的类比故事,帮助大家了解SOTER的安全特性。 故事开始之前,我先给大家介绍一下故事中涉及到的名词概念和人物关系:
名词概念
○ 签名:什么情况下您会签名? 大到国家文件,小到吃饭时刷信用卡——总而言之,签名是一个需要你授权的过程。 签名有一个非常重要的特点,就是无法伪造。 同一个字符串ABC,每个人都会写成不同的形状。 是不同的。
○ 私钥:其中,签名者对应非对称密钥中的“私钥”。
○ 公钥:谁来验证这个签名是否是你签署的? - “警察”。 只有刑警队的专业人士才能辨别这是否是你的签名。 这里的“警察”对应非对称密钥中的“公钥”。
○ 签名验证:同时,加密世界中的“警察”与现实中的警察略有不同。 现实中的警察可以验证任何人的签名,但加密世界中的“警察”是由专人专门指派的,“警察”只能验证“一个人”的签名。 换句话说,公钥只能验证由特定私钥签名的单词。 这个过程在密码学中被称为“签名验证”。
○ TEE:还有一个概念叫“TEE”(可信执行环境),你可以将其比作现实世界中的“监狱”。 不同的是,这座“监狱”里的人都在服无期徒刑,而且没有探望亲属的机制。 这所监狱目前并没有有效的“越狱”手段,这意味着除非自愿给出TEE中的数据,否则外界无法获取甚至看到。 (TEE目前没有破解方法,即使手机root了,TEE仍然安全)。
人物关系
○ TEE:是“监狱”。 “监狱”里还有一个“妇幼保健院”,可以随时“生成”一对钥匙。 ATTK一家是大哥,ASK一家是出生在“妇幼保健院”的二哥,AuthKey一家是出生在卫生院的弟弟。 (攻击→请求→验证密钥)
○ pri 后缀:“监狱”中的“囚犯”。
○ pub后缀:“公安局”中的“警察”。
故事内容
/ 1/
目前,所有支持SOTER的设备都有这样一个“监狱”。 “监狱”里面的人对于外面的人来说是看不见的。 SOTER设备在出厂前有一对ATTK孪生兄弟:ATTK_pri和ATTK_pub。
ATTK_pri将继续被关在“监狱”中。
ATTK_pub去了“公安局”,成为了一名“警察”。
留在“监狱”里的ATTK_pri负责给别人签名。 他签下了自己的名字,然后发送给ATTK_pub“警察”来验证签名。 当 ATTK_pub 看到签名来自 ATTK_pri 时,它必须信任它,因此它会按照他的要求执行。
技术说明:所有支持SOTER的设备都有TEE。 设备出厂前,通过产线工具给TEE下命令,生成非对称密钥私有ATTK_pri,并将其保存在RMPB中,确保无人能够读取。同时,公钥ATTK_pub通过微信公众平台接口导出并传输至微信TAM服务器。
/2/
但是每天索要ATTK_pri签名的人太多了,怎么办? 于是他想到了一个好主意。 他要求“监狱”内的“妇幼保健院”造就一对ASK兄弟。 ASK_pri 留在“监狱”,ASK_pub 被送到“警察局”。
“警察”必须确认ASK_pub来自安全的“监狱”,于是ATTK_pri在一张纸上写下了他的全名,并对ASK_pub说:“当你到达‘警察局’时,你可以把这个交给请注意ATTK_pub。当他看到我的话时,他就会知道你是这个“监狱”的人,你可以进入“警察局”。稍后你只需验证你哥哥ASK_pri的签名即可。 于是ASK_pub就进入了“警察局”。 同时,ATTK_pri 不承担任何其他责任。 他只负责签字送人去“警察局”。
技术描述:SOTER解决方案为每个应用程序(例如微信)生成一对应用程序密钥(ASK)。 私钥存储在安全区域中。 公钥ASK_pub由ATTK_pri签名,签名字符串和公钥本身被传输到应用程序。 server.应用服务器通过后台接口请求ATTK_pub认证签名字符串。 认证成功后,应用程序在后台存储ASK_pub。
/三/
《监狱》中的ASK_pri也感觉很累。 虽然他只负责微信业务,但场景太多,比如支付、公众号授权等等。于是,他模仿ATTK_pri的做法,要求“妇幼保健院”生出一对钥匙AuthKey_pri和AuthKey_pub兄弟,并用同样的方法将AuthKey_pub送到“警察局”,AuthKey_pri留在“监狱”。 不同的是,这次验证ASK_pri签名的人变成了他的兄弟ASK_pub。
技术说明:对于应用中的每一个业务,SOTER建议应用生成一个专门的AuthKey,用于业务签名、验证和隔离。 AuthKey生成后,私钥AuthKey_pri将存储在设备安全区域中。 AuthKey_pub由ASK_pri签名并发送给应用服务器。 使用ASK_pub验证签名后,由应用程序本身存储。
/四/
作为老大,ATTK兄弟只负责认证ASK,ASK兄弟负责认证AuthKey兄弟。 只要弟弟签名了,就代表哥哥签名了,这就意味着数据确实是从合法的“监狱”发出来的。
上述故事与指纹认证有什么关系? 原来AuthKey_pri从出现以来就有一个特点。 除非用户按下指纹,而这个指纹经过“有关部门”(这个“有关部门”也在“监狱”内,监狱内不同部门之间的信息是绝对安全的)认证确实是所有者的,否则他永远不会签署任何东西。
而这种特性是与生俱来的,任何人都无法改变。 现在这个机制已经非常明确了。 例如,如果用户想要支付一笔钱,银行就会向“监狱”发送凭证。 用户指纹授权后,AuthKey_pri会对凭证进行签名,并支付用户授权结果,这意味着用户真正使用了。 指纹已授权。 “派出所”中的AuthKey_pub验证签名正确后,保存签名证书,并通过“政府专线”通知“银行”扣款。 但这里需要注意的是,“有关部门”不会将指纹图案转让给其他人。
技术描述:当支付流程开始时,应用后台首先会下发一个随机字符串,客户端将其发送到TEE等待用户的指纹授权签名。 用户使用指纹授权成功后,导出签名字符串并发送给应用后台进行签名验证。 签名验证通过后,支付成功。整个过程应用端(微信)无法获取指纹图案。
解决方案优势
以上就是SOTER流程的介绍。 该解决方案有哪些优点?
“监狱”的安全保证了整个流程的安全(TEE的安全保证了整个流程的安全)。 所有关键流程均在“监狱”内进行。
整个过程安全可信。 例如,如果有人离开家后抢走了一张纸条,并更改了里面的签名(将指纹认证结果从否更改为是),或者更改了原来需要签名的字符串,那么这张纸条就会落入该人的手中。警察。 无法验证。 (关键流程和关键数据都体现在TEE中,所有从TEE出来的数据都经过相应的密钥签名,不可篡改,即使客户端被root,仍然可以保证流程安全)。
不使用指纹图案。 所需要的只是“监狱”中的合法签名,指纹认证结果是“监狱”内部的事情(指纹图案永远不会以任何形式被外界知晓)。
唯一暴露的人其实是“警察”,但“警察”在公安局是安全的,“警察”逃走也没关系。 “银行”只承认签名。 尽管“警察”可以验证签名的真实性,但他却不能。 签名,比直接存储指纹安全得多(只有公钥才会暴露TEE,而且公钥本身的存储安全风险并不大,即使泄露也不会影响任何一步的安全性)付款流程)。
质量保证
1. SOTER解决方案会存储或传输用户指纹吗?
答:不会,指纹图案不会以任何形式退出手机设备,甚至设备中的T恤。
2、为什么有些品牌的机型不支持SOTER?
答:目前主流安卓手机均支持SOTER指纹认证方案,其他品牌机型也逐渐加入合作。
3.如果手机root了,SOTER指纹认证会被破解吗?
答:不。
4、为什么不直接使用Android 6.0提供的指纹接口?
答:Android 6.0原生指纹方案下,手机root后指纹会被劫持。
热门手游排行榜