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

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

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

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

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

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

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

14507 次点击
所在节点   Android  Android
10 条回复
sevenfxx
sevenfxx
2016-04-18 22:19:22 +08:00
招行的掌上生活 APP 已经支持 6.0 的指纹了。
kirisetsz
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
jonnn
2016-04-18 23:18:29 +08:00
@sevenfxx 是的,不过不支持 root 的设备
oott123
oott123
2016-04-19 07:54:55 +08:00
@kirisetsz 这么说来,指纹是授权访问第一步生成的私钥?
那如果有 root 权限是不是可以直接拿到私钥了_(:з」∠)_
zhang21507
zhang21507
2016-04-19 10:09:01 +08:00
我怎么感觉安卓不 root 更危险,会被木马利用漏洞获取 root 权限,还不如自己 root 了,装上 root 权限管理。
kirisetsz
kirisetsz
2016-04-19 11:33:45 +08:00
@oott123 拿到的是私玥对象,私玥不在 application 对象的进程上创建,私玥创建是委托给硬件的
br00k
br00k
2016-04-19 12:25:24 +08:00
谷歌,三星的貌似 root 后都不行。
Bown
Bown
2016-04-19 13:52:17 +08:00
可以参考一下这篇文章 http://tech.qq.com/a/20160111/050255.htm
Dennypalace
Dennypalace
2016-04-20 14:01:04 +08:00
root 了也能保证安全,我总感觉这后面有什么问题。。
loading
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