Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FIDO UAF Client端工作流程介绍

FIDO UAF Client端工作流程介绍

作者头像
sickworm
发布于 2019-02-27 09:01:53
发布于 2019-02-27 09:01:53
4.8K0
举报
文章被收录于专栏:sickwormsickworm

本文将介绍FIDO UAF的运作流程。

根据FIDO UAF文档介绍,FIDO UAF在移动设备上的实现将分为三层:Client,ASM,Authenticator。

当用户在App上进行操作时,App会先向Server发出请求,然后将Server返回的数据转发给Client。最后再将Client返回的结果转发给Server。Server最后回复操作结果。具体如下:

首先,App向FIDO Server发送GetUAFRequest,Server会返回ReturnUAFRequest,里面包含了与Client交互的数据。然后,App调用UAF Client并传入Server的数据执行注册,签名,注销灯操作。UAF Client收到请求后,选择合适的ASM下发,ASM选择合适的UAF Authenticator下发。而UAF Authenticator可能内部拥有多个内部Authenticator(通过authenticatorIndex区分),UAF Authenticator也会选择对应的内部Authenticator来处理这条指令。指令处理完毕后将原路返回。App收到UAF Client的回复后向FIDO Server发送SendUAFResponse,并收到FIDO Server的ServerResponse,里面包含了操作的结果。

对于Android:

多个UAF Client可能同时存在,通过指定Intent寻找(UAF Client以Activity或Service的形式提供服务,这是官方给出的2种方案)。最终App只会选择一个UAF Client进行通讯。可以使用PackageName来辨别UAF Client。 多个ASM可能同时存在,通过指定Intent寻找(同上)。 ASM应该了解(或者说能找到)自己管理的Authenticator。对于ASM如何发现Authenticator,官方没有提供具体方案,你可以选择用代码耦合;或使用socket连接方式,但需考虑身份检测,数据校验,和AuthenticatorIndex分配等问题。如果是使用外部硬件作为UAF Authenticator,则需要编写对应的设备驱动。

多个UAF Authenticator可能同时存在,官方没有给发现方案(Authenticator连接方式有多种,BT,NETWORK,WIFI等,通过FIDORegistry.ATTACHMENT_HINT_*指定)。官方允许Authenticator和ASM之间用代码紧耦合(不实现Authenticator文档中的指令规范),但如果你要和其它厂商的Authenticator或ASM接入的话,就必须实现文档规范。 Authenticator可能存在很多个Internal Authenticator,比如指纹,脸部识别,安全硬件等验证模块。ASM通过authenticatorIndex和指定内部Authenticator交互。内部Authenticator之间可能有一定联系,比如iPhone指纹识别出错次数过多,就只能用Pin解锁这样的关系。目前没有实现这个机制,文档中也只是提及,没有具体的规范指引。

UAF Authenticator可分为4类,first-bound Authenticator, second-bound Authenticator,first-bound Authenticator,second-broaming Authenticator,。first和second区别在于是否有用户名这个概念。 bound和roaming区别在于是否可以用在多个设备中。它们的组合会影响key handle的存储位置。具体请看:FIDO UAF中4种Authenticators的区别

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年11月1日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FIDO UAF Authenticator Commands v1.0
本版本 https://fidoalliance.org/specs/fido-uaf-v1.0-ps-20141208/fido-uaf-authnr-cmds-v1.0-ps-20141208.html
sickworm
2019/02/27
1.4K0
FIDO UAF中4种Authenticators的区别
在FIDO UAF中一共有4种Authenticators(认证设备): * first-factor bound authenticator(第一因素绑定认证设备) * second-factor bound authenticator(第二因素绑定认证设备) * first-factor roaming authenticator(第一因素漫游认证设备) * second-factor roaming authenticator(第二因素漫游认证设备)
sickworm
2019/02/27
1.3K0
FIDO UAF各文档主要内容介绍
介绍了appID和facetID的命名规则和作用。 appID是app(可能是手机软件,也可能是网页)调用UAF Client时提供的标识名,而facetID是app中更具体的标识。
sickworm
2019/02/27
1.8K0
九、从华为HMS快速身份验证能力FIDO2看密码学知识
你有没有发现支付宝、银行、淘宝、华为pay等等都是使用指纹支付,为什么指纹验证、面容验证通过它就能通过呢?本篇来说说背后的原理。
砖业洋__
2023/05/06
7970
九、从华为HMS快速身份验证能力FIDO2看密码学知识
Android中Activity/Service获取调用者的信息(FIDO UAF Client获取调用者的信息)
实现UAF协议的时候,Client需要获取调用者的信息(获得其APK的签名)。用中文查了半天没查到获取Activity的方法,用英文一下就搜出来了(主要还是看英文累脑子)
sickworm
2019/02/27
6.4K0
图个源码系列 · Eureka Client启动注册,Server如何处理的全流程剖析
本文分析EurekaClient是如何初始化,启动,并向eureka server发起注册的流程。分析的入口就是com.netflix.discovery.DiscoveryClient,我们从他的构造函数入手,剖析整个初始化,启动,发起注册的流程。
简熵
2023/03/06
6230
图个源码系列 · Eureka Client启动注册,Server如何处理的全流程剖析
kube-apiserver的工作流程 (一)
apiserver在master节点上对外提供kubernetes restful api服务,提供的主要是与集群管理相关的API服务;
用户7020774
2020/03/05
3.2K0
Eureka的基本原理和工作流程
Eureka是Netflix开源的一款服务发现框架,主要用于构建可扩展的分布式系统。本文将介绍Eureka的基本原理和工作流程,以及如何使用Spring Cloud Eureka实现服务注册和发现。
堕落飞鸟
2023/04/06
1K0
服务发现之consul的介绍、部署和使用
微服务的框架体系中,服务发现是不能不提的一个模块。我相信了解或者熟悉微服务的童鞋应该都知道它的重要性。这里我只是简单的提一下,毕竟这不是我们的重点。我们看下面的一幅图片:
sunsky
2020/08/20
1.8K0
从JRaft来看Raft协议实现细节
一致性问题(consensus problem)是分布式系统需要解决的一个核心问题。分布式系统一般是由多个地位相等的节点组成,各个节点之间的交互就好比几个人聚在一起讨论问题。让我们设想一个更具体的场景,比如三个人讨论中午去哪里吃饭,第一个人说附近刚开了一个火锅店,听说味道非常不错;但第二个人说,不好,吃火锅花的时间太久了,还是随便喝点粥算了;而第三个人说,那个粥店我昨天刚去过,太难喝了,还不如去吃麦当劳。结果,三个人僵持不下,始终达不成一致。
luozhiyun
2020/06/18
1.2K0
从JRaft来看Raft协议实现细节
物联网+mqtt+微信小程序(ESP8266+OneNET+小程序)
这篇文章主要了解ESP8266物联网小程序MQTT远程操控相关内容(ESP8266+OneNET+小程序)
xiao李
2024/04/08
3.4K0
物联网+mqtt+微信小程序(ESP8266+OneNET+小程序)
JVM及其工作流程
程序计数器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。
xiangzhihong
2021/01/22
5170
http服务器端工作流程
root@ubuntu:/home/hfl/hflsamb/network# ./http_test_server  -p 8000  http_test_server: port 8000,  cpu affinity CPU0, content directory /home/hfl/hflsamb/network, rate 19.400000, loop around 0, send_from_memory 0, verbose 0, disable TCP checksum 0 Allocated 4141032-bytes for buffering, # of DESC=24 Accepted Connection from 801ca8c0:51541  Read HTTP Req ( 125 bytes)[ GET //love.mp3 HTTP/1.1 Host: 192.168.28.128:8000 Rate: 19 PlaySpeed.dlna.org: speed=1 User-Agent: STDSOCKET Test App ] TokenFound = [/love.mp3] Stream file = /home/hfl/hflsamb/network//love.mp3 size=577760125939925376 HTTP Response [ HTTP/1.1 200 OK Content-Length: 2464551019266432 Connection: Keep-Alive Accept-Ranges: bytes Connection: close Content-Range: bytes 0--5224570189344358016/1 Server: Linux/2.6.18, UPnP/1.0, my test app ]Content File opened **** Reached EOF *******
用户4148957
2022/06/14
1.1K0
【Java】Exploring the New HTTP Client in Java
https://www.baeldung.com/java-9-http-client
阿东
2023/08/09
4090
P2P技术详解(三):P2P中的NAT穿越(打洞)方案详解(进阶分析篇)
接本系列的上一篇《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解(基本原理篇)》,本篇将深入分析各种NAT穿越(打洞)方案的技术实现原理和数据交互过程,希望能助你透彻理解它们。
JackJiang
2020/12/14
6.7K0
大数据技术之_10_Kafka学习_Kafka概述+Kafka集群部署+Kafka工作流程分析+Kafka API实战+Kafka Producer拦截器+Kafka Streams
1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)   点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。
黑泽君
2019/03/15
1.3K0
TAF 必修课(五):Client 端调用
作者:温昂展 一、 初始化 本质上,RPC客户端实现的原理就是Java动态代理技术,中间的网络传输就是协议编解码和序列化技术,协议部分放到后面探讨,本节将围绕客户端初始化过程,生成RPC代理对象和发
serena
2017/09/08
2.7K0
TAF 必修课(五):Client 端调用
揭开 HMR 面纱,了解它在 client 端的实现
大家好,我是码农小余。上一小节我们知道了当文件修改后,会触发文件监听实例 watcher 的 change 事件,更新模块信息和计算 HMR 边界。Websocket 会将计算得到的更新边界传给浏览器,浏览器拿到这些信息之后具体是怎么处理的呢?本文就来解开后续秘密。
码农小余
2022/06/16
6090
揭开 HMR 面纱,了解它在 client 端的实现
Redis 6.0 新特性篇:Client Side Cache 是嘛玩意?
别装逼了,还整英文,咋不上天,做人要说话算数哟,不然半夜尿裤子。在说这个之前,码哥先给读者送一段寄语作为开篇。
码哥字节
2021/08/23
1K0
Redis 6.0 新特性篇:Client Side Cache 是嘛玩意?
分析Springcloud Stream 消费者端的工作流程
通过分析SpringCloud Stream 消费者端的工作流程,涉及到的主要依赖有:
全栈开发Dream
2021/05/23
8540
分析Springcloud Stream 消费者端的工作流程
推荐阅读
相关推荐
FIDO UAF Authenticator Commands v1.0
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档