BiometricPromptDemo
BiometricPromptDemo copied to clipboard
指纹安全逻辑无
参考了demo,写了一套;然后,用的时候,发现没有安全逻辑; 即: 1,第一次APP校验指纹,并和服务器同步。 2,第二次仅仅允许已校验的指纹(例如右手大拇指),若其它指纹则本地也通过,但服务器校验id失败。
是的,毕竟只是指纹功能的demo,如果愿意贡献代码,非常欢迎~
可以参考:google官方提供的方案 链接在:https://android-developers.googleblog.com/2015/10/new-in-android-samples-authenticating.html 对应的代码在:https://github.com/googlesamples/android-FingerprintDialog
方案简介: 开启支付流程: 1)Android创建非对称的公钥和私钥,保存在系统安全区域中。 2)Android验证指纹后,用户验证支付密码,验证成功后将公钥上传给服务器。
支付流程: 1)用户选择支付,Android开始指纹验证,用户输入指纹。 2)Android从系统安全区域获取私钥,使用私钥对商品信息进行签名,然后将商品信息和签名上传给服务器。 3)服务器使用公钥和商品信息,对上传的签名进行校验。
这一套方案整体没问题。 但百密一疏,公钥上传可能会被截获。所以最终解决方案,是公私钥自己做一对,然后放进app,最后放入系统安全区域。因为涉及到自己做的公私钥,因此不能分享代码。
直接把私钥放进app?不知道哪里的谁安装app的情况下怎么不经过网络传输把自己做的密钥放进去?