android远程指纹认证流程的猜测
编者:李国帅
qq:9611153 微信lgs9611153
时间:2020/01/17
背景原因:
移动设备指纹认证是一项重要的技术,重要性不用多说。
我们在登陆手机应用时,不需要输入用户名密码,只需要进行指纹识别就可以进入应用,很大的方便了用户使用。
在 Android 6.0(Android M Api23)以后,Android 系统开放了指纹识别的api,开发者可以很方便的实现这一功能。
本文对远程指纹认证做了一些研究,这里不考虑android6,7,8,9中指纹api的变动,也没有考虑非对称加密方式的使用。仅以对称**方式阐述了一种可能的解决方案。
所需资源:
Android studio,Android 6.0以上带指纹功能手机
解决方案:
废话就不多说,先看本人绘制的一张图,要义是:登陆和注册都是在指纹验证通过的情况下进行操作。
服务器根据iv查询加密信息,移动端对加密信息解密获取登录名和密码,以此进行登录。
出发点:
本文的出发点是:
只有你输入的指纹和注册时输入的指纹匹配,那么就认为你有权限访问应用。
在Cipher中生成SecretKey的时候,使用setUserAuthenticationRequired(true)配置KeyGenParameterSpec,这就使得:每次**的使用都需要授权,并且这种授权的唯一方法是通过指纹认证。