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

不是说 app 不能直接操作指纹吗? 安卓上的指纹校准 app 的原理是什么?

  •  
  •   gdtv · 2018-02-08 12:23:39 +08:00 · 13177 次点击
    这是一个创建于 2471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    买了台小米 note3,指纹解锁识别率很差,后来听人介绍用了一个指纹校准 app,按app里提示操作了一番,非常有效,现在秒解了。 手机没有 root。 请问这个校准的原理是什么?

    23 条回复    2018-04-13 10:04:01 +08:00
    Pain
        1
    Pain  
       2018-02-08 12:33:26 +08:00
    手机内部有一块 tpm 芯片和那个有关,具体不清楚不敢乱说。
    lucifer9
        2
    lucifer9  
       2018-02-08 12:46:11 +08:00
    我觉得好歹给出来这个软件的下载地址,或者至少说个名字吧。
    gdtv
        3
    gdtv  
    OP
       2018-02-08 12:58:48 +08:00
    @lucifer9 https://pan.baidu.com/s/1qZ0erBe 不知对其他安卓手机有没有效
    3a3Mp112
        4
    3a3Mp112  
       2018-02-08 12:59:33 +08:00
    。。。不就是重新录一遍吗
    Biwood
        5
    Biwood  
       2018-02-08 13:03:07 +08:00
    用直接下载 apk 安装的 app 来校准指纹?你们可真是心宽
    gdtv
        6
    gdtv  
    OP
       2018-02-08 13:04:35 +08:00
    @Biwood 所以才来问啊。
    gdtv
        7
    gdtv  
    OP
       2018-02-08 13:05:52 +08:00
    @3a3Mp112 如果重新录一遍就能解决就好了
    tghgffdgd
        8
    tghgffdgd  
       2018-02-08 13:09:34 +08:00
    你这说得好像系统设置就不是 app 似的。
    xomix
        9
    xomix  
       2018-02-08 13:37:29 +08:00
    指纹锁的解锁到底给系统反馈的是什么?从 07 年第一次接触指纹设备开发到现在,见到的设备都是指纹作为一个二进制数据传输过来,和本地或远端数据库对比数据后返回对比结果。
    也就是说,指纹解锁反馈的是比对结果。
    现在的比对算法越来越复杂了,但是根本上还是比对结果。
    系统 APP 可能为了方便用户,对指纹采集次数不足,因此关键点重叠的时候找的关键点比较难直接复现出来,app 通过自有接口给数据库增加更多指纹因此关键点找到的更多,找到了更容易复现的关键点组合,因此秒解。
    但是使用第三方 APP 丰富指纹库的行为本身就是危险的,别的不说我每次都把自己的指纹给你丰富进去一套,过几天你的手指和我的手指就都能解锁了。
    king2014
        10
    king2014  
       2018-02-08 14:52:46 +08:00
    你试着系统重新输入指纹,一个手指各个角度都输入,看看正确率怎么样
    sea516
        11
    sea516  
       2018-02-08 14:56:19 +08:00
    同 note3,秒解
    rswl
        12
    rswl  
       2018-02-08 15:07:15 +08:00
    是录得不好吧
    badec
        13
    badec  
       2018-02-08 15:11:21 +08:00
    ...就是重新录入一次而已啊。。。
    gdtv
        14
    gdtv  
    OP
       2018-02-08 15:16:19 +08:00
    @king2014
    这台 note3 上的指纹有点奇怪。
    我的右手各个手指横着竖着都可以录入指纹,左手姆指只能竖着录入,横着录不入,横着就提示传感器污脏。竖着录入去后,解锁的时候也要竖着才勉强能解。而我的左手姆指在其他多台手机上横着竖着都可以录入。
    刚去了小米论坛上看,也有其他人遇到同样的问题。
    flynaj
        15
    flynaj  
       2018-02-08 15:42:28 +08:00 via Android
    不能直接操作可以间接操作么,肯定要有 API 才行么
    besto
        16
    besto  
       2018-02-08 15:51:38 +08:00   ❤️ 1
    @xomix 理论上来说,此类操作都应该在所谓的 Trust Zone 内进行,指纹存贮在 TrustStroage (可能实现为 RPMB 分区)。

    APP 对指纹的操作需要 Linux kernel 端通过 CA 端操作并通过 SMC 指令切换到 ARMv8a SEL3 再切回 SEL0/SEL1,进入特定的 Trust OS,有 TA 端负责录入指纹,指纹对比,等操作。整个 Linux kernel 端,都不可见指纹。
    xomix
        17
    xomix  
       2018-02-08 15:55:14 +08:00
    @besto 这个没有统一标准,这只是 google 的标准并不是所有手机厂商的标准。还有就是我 07 年做开发的时候还没有安卓呢。
    Halry
        18
    Halry  
       2018-02-08 16:23:58 +08:00 via iPhone
    miui 本来就是个黑盒子,安全这东西就别想太多
    要是标准的原生安卓,应用不能直接调用读取模块,指纹硬件操作都要经过内核然后访问 trustzone 实现。而小米可能直接把硬件暴露在系统里了
    wanwan
        19
    wanwan  
       2018-02-08 16:27:34 +08:00
    重新录入吧
    besto
        20
    besto  
       2018-02-08 17:54:40 +08:00
    @xomix 这是 ARM 标准支持的东西,我说的也是 linux 平台上的实现,Google 也只是用了这套系统...另外,理论上,Google 如果做了 CTS,里面有了类似的测试,那么没通过测试的,可就不能叫 android 了(狗头表情)
    01802
        21
    01802  
       2018-02-10 02:10:16 +08:00 via Android
    去年 lineageos 还有个 bug,指纹会出错,之后只能重新再录指纹,原有录的手指不能解锁,一碰指纹就挂,除非手动输 pin 后再换新录的那根。想到个安全保护,遇事用会出错那根碰一下除非输 pin 不然就没法解锁,用了正确手指都不行。那时就可以和人说这手机不是我的,哈哈。最后是全清强刷更新后才正常,想想原来这 bug 也挺有用的。
    binsys
        22
    binsys  
       2018-04-13 09:12:30 +08:00
    我也好奇,找了一个传说中校准 APP,逆向了下,没发现操作 TEE TA 以及指纹 API 的地方~好神奇,本以为起码有个第三方 TA 靠什么漏洞被加载到了 TEE 里,结果没有,native so 也没有,apk 18M 是因为里面有个大的 MP4。是怎么做到的呢?还是说心理,或者说 APP 的作用是让你用不同的姿势擦指纹传感器;)。
    winneis
        23
    winneis  
       2018-04-13 10:04:01 +08:00 via Android
    我用的小米 5 指纹识别没什么问题。用了两年。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:45 · PVG 09:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.