因为指纹是本地储存的, 正常如果是输入密码后肯定会把密码发给服务器做比对, 但如果是指纹解锁成功,不能把指纹发出去, 那服务器端怎么知道验证成功, 肯定要发带有密码类似的信息, 否则不是很容易模拟请求导致盗刷了?
1
zhuziyi 2016-01-10 18:49:28 +08:00 via iPhone
OAuth 协议
|
2
ffffwh 2016-01-10 19:04:00 +08:00 via iPad
就本地验证吧。如果对你手机有物理接触的话,理论上都能破解。所以人家一度取消了,但你们又不高兴。
真正的关键是手机要锁屏、不越狱 /root 、全盘加密。另外 sim 卡要上锁。 |
3
SourceMan 2016-01-10 19:20:26 +08:00 via iPhone
支付宝请求系统进行指纹验证-用户输入指纹-系统向支付宝反馈指纹识别结果(布尔值)
|
4
yyfearth 2016-01-10 19:47:11 +08:00
@SourceMan @jinwyp 应该不是这样 如果是布尔值 太容易伪造了
根据我观察了好几个 Touch ID 的 app 貌似都是这样: 先要设置密码 password 或者数字密码 passcode 然后才可以选择 是否开启 Touch ID 所以我觉得 应该是吧 password/passcode 放在了 keychain 里面 对于 OAuth Token 这种 其实也可以这样: 第一次验证成功后 把 token 存在 keychain 里面 下次需要登录的时候 只需要验证 Touch ID 指纹是否透过 通过了就把它从 keychain 里面拿出来用就可以了 我没有记错的话 应该有 Touch ID 保护的 安全 keychain 这么个机制 |
5
Gymgle 2016-01-10 20:45:31 +08:00
支付宝在几款手机(只在三星 S6 上测试过)上支持指纹支付,指纹支付使用的是 FIDO UAF 方案。
|
6
Gymgle 2016-01-10 20:48:38 +08:00 2
FIDO 原理是在本地生成一对非对称密钥对,公钥发给认证服务器。进行认证 /交易的时候本地的私钥对认证 /交易信息签名,签名信息发到认证服务器,服务器用公钥验证。指纹的用途是授权本地私钥的使用。
|
7
wy315700 2016-01-10 20:51:37 +08:00
FIDO
|