为什么微信开发人员说 Nexus 的指纹支付不安全?

2016-04-18 20:18:35 +08:00
 xiaobaike

http://www.coolapk.com/feed/1420238

" 你好,我是微信指纹支付的开发。目前 Android 6.0 的本地指纹接口与密钥管理系统并不完善,因此我们和厂商合作新方案 SOTER 进行指纹支付的安全加固。现在 vivo x6 等新出机型已经支持微信指纹支付。另外提一句,本方案即将开放给更多第三方厂商使用。"

"跟墙没关系。没有一个有说服力的密钥信任链。"

"我用的就是 5x ,虽然我很想在我的 5x 上用上指纹支付,奈何系统这套指纹太弱了,支付毕竟是一套容不得半点闪失的业务。我们的方案能保证 root 了也能安全鉴权, Google 的不能。"

"这个我已经在之前的回答中说过了, 6.0 的指纹体系并不安全,因此我们出了新标准。目前很多厂商已经适配了。"

12827 次点击
所在节点    Android
10 条回复
sevenfxx
2016-04-18 22:19:22 +08:00
招行的掌上生活 APP 已经支持 6.0 的指纹了。
kirisetsz
2016-04-18 22:52:58 +08:00
今天刚刚翻了指纹的文档, 6.0 的指纹认证是这样运行的:
1. 客户端调用 KeyStore API 生成公私玥
2. 客户端把公玥发送给服务器
3. 客户端要对信息进行签名 /加密的时候从 KeyStore 服务获取私玥对象 (不是私玥)
4. 客户端创建 CryptoObject 对象 (包装一下 Signature/Cipher/MAC 对象)
5. 把 CryptoObject 对象传给 FingerprintManager 访问指纹设备
6. 成功后通过 CryptoObject.getXXX 把对应的对象取回来 ( http://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.CryptoObject.html)
7. 使用取回来的对象进行信息摘要或者加密 (输入的信息会发送到内核进程或者硬件安全,文档是这么说的)
8. 把密文或者明文+签名发送到服务器
9. 服务器使用步骤 1 上传的公玥验证客户身份
KeyStore 服务支持对称非对称加密和签名算法 (基本都是 API 23 加的 API 18 开始有 KeyStore 但是只有几个可怜的 RSA 算法)
流程上是没有什么不安全,实现上就不知道了。和信任链是没有任何关系的,如果信任链说的是不信任 SSL 证书…… 那我选择死亡。(也许微信只有 PIN ,没考虑 Client Certificate 这种事情?也基本不可能啦)
jonnn
2016-04-18 23:18:29 +08:00
@sevenfxx 是的,不过不支持 root 的设备
oott123
2016-04-19 07:54:55 +08:00
@kirisetsz 这么说来,指纹是授权访问第一步生成的私钥?
那如果有 root 权限是不是可以直接拿到私钥了_(:з」∠)_
zhang21507
2016-04-19 10:09:01 +08:00
我怎么感觉安卓不 root 更危险,会被木马利用漏洞获取 root 权限,还不如自己 root 了,装上 root 权限管理。
kirisetsz
2016-04-19 11:33:45 +08:00
@oott123 拿到的是私玥对象,私玥不在 application 对象的进程上创建,私玥创建是委托给硬件的
br00k
2016-04-19 12:25:24 +08:00
谷歌,三星的貌似 root 后都不行。
Bown
2016-04-19 13:52:17 +08:00
可以参考一下这篇文章 http://tech.qq.com/a/20160111/050255.htm
Dennypalace
2016-04-20 14:01:04 +08:00
root 了也能保证安全,我总感觉这后面有什么问题。。
loading
2016-04-21 17:23:43 +08:00
也就是说老机器没有那个安全芯片?

如果纯软件能完成,我对 root 信仰就要没了。(此处指广义的 root )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/272066

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX