面向哲思的编程与架构
笔记哲思阅读动态搜索RSS 订阅
切换到深色模式
搜索
RSS 订阅
切换到深色模式
© 2026 Vic Chen. All rights reserved.CC BY-NC-ND 4.0
← 笔记
金融机构的双因素认证(四):方便的代价

金融机构的双因素认证(四):方便的代价

2026年7月23日2,2287分钟

动态口令从专用硬件迁移到手机 App,算法完全不变,仍是 HOTP/TOTP,但密钥的存储介质从专用安全芯片变成了一台通用智能手机。这一篇量化这次介质迁移到底换来了多大的攻击面,以及为什么金融机构的两类场景对这次迁移的态度并不一样。


目录
  • TL;DR
  • 1. 算法不变,介质变了
  • 2. 攻击面扩大在哪里
  • 3. 仍然强于短信验证码
  • 4. 两种场景对比
  • 5. 强度尺定位
  • 6. 小结
目录
  • TL;DR
  • 1. 算法不变,介质变了
  • 2. 攻击面扩大在哪里
  • 3. 仍然强于短信验证码
  • 4. 两种场景对比
  • 5. 强度尺定位
  • 6. 小结
目录
  1. TL;DR
  2. 1. 算法不变,介质变了
  3. 2. 攻击面扩大在哪里
  4. 3. 仍然强于短信验证码
  5. 4. 两种场景对比
  6. 5. 强度尺定位
  7. 6. 小结
双因素
相关文章
  • 01
    金融机构的双因素认证(八):合规倒推方案2026/07
  • 02
    金融机构的双因素认证(七):信任怎么折算2026/07
  • 03
    金融机构的双因素认证(六):信任边界在哪2026/07
← 上一篇金融机构的双因素认证(三):硬件口令仍是主力
下一篇 →金融机构的双因素认证(五):私钥不出硬件

评论

© 2026 Vic Chen · 面向哲思的编程与架构CC BY-NC-ND 4.0

TL;DR

这是《金融机构的双因素认证》系列的第四篇。上一篇讲了硬件 OTP 令牌,强调它的核心优势是密钥全程不经过任何用户个人设备。这一篇讲的手机动态口令 App,算法和上一篇完全一样(TOTP),但打破了这条边界,密钥第一次被存到了用户的个人设备上。

这一篇量化这次介质迁移换来了什么、失去了什么,并给出两种场景下截然不同的态度:一个能容忍,另一个则基本不能。


1. 算法不变,介质变了

手机动态口令 App(如各类身份验证器应用)本质上是把上一篇讲的 TOTP 算法搬到了手机上运行:同样的共享密钥 KKK,同样的时间窗口截断哈希运算,用户打开 App 就能看到一个每 30 秒刷新一次的六位数字。

图1:硬件令牌与手机 App 的对比——算法相同,介质不同

唯一的变量是:密钥 KKK 现在存在哪里。硬件令牌把 KKK 焊死在一枚专用安全芯片里,物理上不可读出;手机 App 把 KKK 存在手机操作系统提供的存储空间里:可能是 App 私有目录下的一个文件,也可能是操作系统提供的安全存储(如 iOS 的 Keychain、Android 的 Keystore(Chen 注:iOS 的 Keychain 是系统提供的加密存储服务,用于保存密码、密钥等敏感数据;在支持 Secure Enclave 的设备上,密钥可以被限制为仅能在 Secure Enclave 内使用,不会以明文形式进入应用进程内存。Android 的 Keystore 机制类似,可将密钥的生成与加密运算委托给 TEE(Trusted Execution Environment)或更高等级的 StrongBox 硬件模块。二者都比普通的 App 私有存储多一层硬件级隔离,但具体保护强度仍取决于设备本身是否配备、是否启用了这些硬件模块。))。这个存储空间的安全边界,取决于整台手机操作系统和硬件的安全性,而不再是一枚专用芯片的物理隔离。


2. 攻击面扩大在哪里

密钥托管介质从专用硬件变成通用手机,意味着手机上发生的任何安全问题,理论上都可能波及到这份密钥:

  • 设备被入侵(root/jailbreak 后的恶意软件):手机一旦被恶意软件获得足够权限,App 私有存储的隔离边界可能被绕过,密钥有被读取的风险
  • 备份与迁移:许多身份验证器 App 支持云端备份密钥(方便用户换手机后恢复),备份文件的加密强度、云端存储账号的安全性,都成了密钥安全链条上的新环节
  • 设备丢失或被盗:如果手机没有锁屏密码,或者锁屏被绕过,App 内的密钥可能被直接查看或导出
  • 供应链风险扩大:硬件令牌的供应链只涉及令牌厂商,手机 App 的「供应链」还包括手机操作系统厂商、App 商店的审核机制、App 本身的开发者,因此多了几个可能被攻破的环节
⚠
这里的关键判断标准,呼应第 2 篇讲短信验证码时提到的那条:如果一个方案的强度上限,取决于机构自己完全无法控制的因素,那么这个因素就是整体强度的天花板。手机 App 的天花板是「这台手机的操作系统和硬件安全性」,而这台手机往往是员工的个人财产,机构对它的控制力远低于对一枚专用令牌硬件的控制力(哪怕是 BYOD 场景下的托管应用,控制力也是有限的)。

3. 仍然强于短信验证码

需要澄清一个容易被混淆的地方:手机 App 动态口令的攻击面确实比硬件令牌大,但它依然远强于第 2 篇讲的短信验证码,原因是它没有把认证强度的上限交给外部电信运营商。

图2:三种方案的信任边界对比

即便手机被恶意软件入侵,攻击者要拿到动态口令,仍然需要攻破手机操作系统或 App 的存储隔离机制,这比补卡攻击(拿到目标的身份信息、冒充给运营商打个电话)门槛要高得多。手机 App 动态口令是一个介于短信验证码和硬件令牌之间的中间态方案。


4. 两种场景对比

  • 内部落地系统:如果机构统一发放办公手机,并对这些手机做了充分的设备管理(MDM,Mobile Device Management,如强制加密、禁止安装未知来源应用、远程擦除能力),手机 App 动态口令的攻击面可以被显著收窄,接近硬件令牌的强度。但如果允许 BYOD(Chen 注:BYOD(Bring Your Own Device):员工使用个人设备接入机构系统的模式,与机构统一发放设备相对。BYOD 能降低设备采购成本、提升员工使用体验,但机构对设备的安全管控力大幅降低。设备上装了什么软件、系统版本是否及时更新、是否被 root/jailbreak,机构往往无法完全掌握。)(员工用自己的手机装认证 App),机构对设备安全状态的控制力就大幅下降,设备是否 root、是否装了恶意软件,机构完全无法验证。这个差异直接决定了手机 App 动态口令在内部落地系统里是否可行。

  • 专线托管端系统:这类场景通常倾向继续使用硬件 Token,而不是转向手机 App。原因有两点:一是专线场景往往涉及更高价值的操作(清算、交易),风险容忍度更低;二是设备的信任主体更复杂(可能是机构自己的手机,也可能是托管方要求的专用设备),手机 App 动态口令引入的「这台手机安全吗」这个新变量,在信任链已经跨越两个主体的场景里,会让风险评估变得更复杂。托管方往往更愿意直接发放和管理硬件令牌,把这个变量从等式里去掉。

✓
一个简化的判断规则:手机 App 动态口令的强度,取决于机构对这台手机的管控力有多强。管控力强(机构统一发放+MDM管理)时,接近硬件令牌;管控力弱(BYOD)时,接近甚至可能低于预期的 L2 水准。这条规则在下一篇讲生物识别时还会用到,「匹配发生在哪台设备上」同样是决定信任边界的关键变量。

5. 强度尺定位

按第 1 篇的三级尺,手机 App 动态口令的定位不是固定的,而是随管控力浮动:

  • 机构统一发放设备 + 完善 MDM 管理:接近 L2(标准级),与硬件令牌相近,但仍略低(供应链和攻击面更宽)
  • BYOD 场景、缺乏设备管理:可能滑向 L1 与 L2 之间,因为密钥托管介质的安全性完全依赖用户个人设备的健康状态,机构无法验证

这与短信验证码(固定 L1,不随任何机构自身管控措施浮动,因为强度天花板在外部运营商手里)和硬件令牌(固定 L2,因为密钥从不接触用户个人设备)都不一样,手机 App 动态口令是三种方案里唯一一个「强度取决于机构管理措施是否到位」的方案。


6. 小结

手机动态口令把 HOTP/TOTP 这套成熟的算法,从专用硬件搬到了通用手机上,换来的是发放和使用上的便利,代价是密钥托管介质的安全边界从「专用芯片、物理隔离」变成了「整台手机操作系统的健康状态」。这个代价在内部落地系统里可以通过设备管控措施部分抵消,在专线托管端系统里则往往被判定为不值得承担的额外风险。

下一篇进入系列里密码学含量最高的一篇:数字证书与硬件密钥。私钥不出硬件的设计思路,会把这一篇反复强调的「密钥托管介质」问题,推到一个新的高度。