支付宝的指纹解锁成功后 向服务器发送带什么信息的请求?

2016-01-10 18:44:35 +08:00
 jinwyp

因为指纹是本地储存的, 正常如果是输入密码后肯定会把密码发给服务器做比对, 但如果是指纹解锁成功,不能把指纹发出去, 那服务器端怎么知道验证成功, 肯定要发带有密码类似的信息, 否则不是很容易模拟请求导致盗刷了?

4101 次点击
所在节点    问与答
7 条回复
zhuziyi
2016-01-10 18:49:28 +08:00
OAuth 协议
ffffwh
2016-01-10 19:04:00 +08:00
就本地验证吧。如果对你手机有物理接触的话,理论上都能破解。所以人家一度取消了,但你们又不高兴。

真正的关键是手机要锁屏、不越狱 /root 、全盘加密。另外 sim 卡要上锁。
SourceMan
2016-01-10 19:20:26 +08:00
支付宝请求系统进行指纹验证-用户输入指纹-系统向支付宝反馈指纹识别结果(布尔值)
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 这么个机制
Gymgle
2016-01-10 20:45:31 +08:00
支付宝在几款手机(只在三星 S6 上测试过)上支持指纹支付,指纹支付使用的是 FIDO UAF 方案。
Gymgle
2016-01-10 20:48:38 +08:00
FIDO 原理是在本地生成一对非对称密钥对,公钥发给认证服务器。进行认证 /交易的时候本地的私钥对认证 /交易信息签名,签名信息发到认证服务器,服务器用公钥验证。指纹的用途是授权本地私钥的使用。
wy315700
2016-01-10 20:51:37 +08:00
FIDO

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX