gdtv
V2EX  ›  Android

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

  •  
  •   gdtv · Feb 8, 2018 · 17863 views
    This topic created in 3052 days ago, the information mentioned may be changed or developed.

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

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

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