前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详解IFAA标准中的注册认证流程

详解IFAA标准中的注册认证流程

作者头像
安智客
发布2018-02-24 15:20:23
1.8K0
发布2018-02-24 15:20:23
举报
文章被收录于专栏:安智客安智客

大家早安,这个周末,红黄蓝继续在让人不安与愤怒,北京的大清理让人深思!安智客继续来聊技术、行业!我们今天来详细了解下IFAA标准!

IFAA有四个流程,注册、认证、注销、查询

今天我们来说说注册和认证,注销和查询相对简单。

参与方如上图所示。

具体来说,注册过程中,APP首先会调用指纹认证界面进行手指认证,由于是APP主动发起请求注册,由于IFAA TA数据从APP来的,所以首先需要验证证书,表明数据的确是从APP来的,而不是其他APP伪造的请求注册数据。注册过程中IFAA TA同时还要验证数据是IFAA服务器下发的,使用IFAA服务器的公钥来验证IFAA服务器的合法性。

IFAA服务器收到APP的数据后,根据APP的字段,下发注册请求数据。该数据包含TOKEN(用来标识业务的唯一ID )、Challenge(用来避免重放攻击)。

然后IFAA TA会获取当前认证指纹的ID,生成一对业务公私钥,连同服务器端下发的TOKEN、Challenge等保存在以TOKEN为文件名在安全存储中。IFAA TA同时会获取认证器版本、DEVICEID组建返回数据,并用产线工具预制的私钥进行签名。向APP返回数据,确保IFAA服务器端确认收到的数据是此设备发的。

IFAAServer 会根据将客户端上传的消息和签名连同deviceid一起发到IFAA认证中心进行验证。 IFAA认证中心根据deviceid来索引到具体的设备公钥,并使用该公钥验证签名是否匹配。

IFAA Server 发往 IFAA 认证中心的消息必须经过自己的私钥签名,并附加上具体的证书链,消息到达IFAA 认证中心后, IFAA 认证中心先使用附加的证书验证签名,再使用 IFAA 根证书验证该附加证书的合法性。 IFAA 认证中心回复给具体 IFAA Server 的消息将经过 IFAA 认证中心自己持有的私钥的签名。并将证书附加签名上。以防止认证结果的伪造和篡改。

IFAA认证流程

认证流程中,APP也会调用指纹认证界面进行手指认证,IFAA TA同样也需要验证证书链的合法性,然后获取认证ID,读取注册时存在安全存储中的数据,将读取的last_id与获取的ID比较指纹是否匹配,如果匹配,则获取认证器版本号、deviceID等组建返回给IFAA服务的数据。并用注册时生成的业务私钥对数据进行签名。

注册流程与认证流程相比较:

1,注册流程是生成业务秘钥并保存文件,认证流程是通过token来读取业务秘钥对、lastID,并与认证过程中获取的lastID进行对比,判断出是否认证通过。

2,注册流程首先是验证服务器端发过来数据的有效性,通过IFAA_CheckCert来,注册流程最后是将生成的业务秘钥对数据返回给服务器,同时使用手机在产线生成的私钥对数据进行签名。

认证过程不处理产线秘钥。

如何理解IFAA TA端数据到IFAA服务器端数据的保密性需求?

因为支付过程中IFAA TA端数据到IFAA服务器端不会涉及到敏感数据,IFAA服务器和IFAA TA之间并没有对数据保密性要求,只需要防抵赖、防篡改即可。

IFAA Server根据注册时保存的用户公钥来验证用户校验结果的签名,如果验证通过则继续验证用户的生物特征是否匹配。两步均验证通过后,则返回给应用服务器结果。否则返回失败,应用服务器应该信任IFAA Server的验证结果, 而不是客户端的验证结果。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档