V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaobaike
V2EX  ›  Android

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

  •  
  •   xiaobaike · 2016-04-18 20:18:35 +08:00 · 12834 次点击
    这是一个创建于 3139 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    如果纯软件能完成,我对 root 信仰就要没了。(此处指广义的 root )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5187 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:14 · PVG 17:14 · LAX 01:14 · JFK 04:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.