FIDO 认证:为了保护用户,科技公司决定联手干掉密码

账户密码验证身份的方式好像已经不足以保护我们的隐私,科技公司决定联手干掉密码,推出FIDO 认证。

随着移动互联网的发展,每个人拥有的账户数量指数增长,每注册一个新账户,都在增加了隐私泄露的风险。

如此发达的互联网,对于身份认证的方式依然仅靠单纯的账户密码,即便现在生物认证在手机上也非常普及,但在注册生物认证前往往也需要我们输入安全密码。

图片1.输入安全密码.png

因为使用账户密码验证身份是一种经济、简单、普遍的身份验证方式,而一些公司和大多数人还依然抱着侥幸心理,认为他们的数据不足以引起犯罪分子的注意。

现在我们发现即便是 Google、Twitter 这样规模的顶级互联网公司都无法保护用户数据。

今年 7 月 15 日,连奥巴马、比尔•盖茨、库克、马斯克等大佬的账户都被黑客破解,普通人的账户密码更是沦落到几分钱批发的地步。

谁还能帮助我们保护隐私?为了保护用户,科技公司决定联手干掉密码,FIDO 认证进入应用。

01.数字密码成为过去

发明一套更能够保护隐私的身份认证系统迫在眉睫,FIDO 认证就是业界给出的答案。

FIDO 联盟成立于 2013 年 2 月,现在几乎所有有影响力的公司和组织都加入,包括微软、苹果、Google、华为、三星、英特尔、联想、VISA、阿里巴巴、中国信息通信研究院等等。

图片2各种公司.png

FIDO 认证将注册地点从服务器搬到本地。

当用户注册在线账户时,用户使用设备会创建一对新的秘钥(私钥和公钥),私钥保存在用户设备本地而公钥发送给注册服务器。

图片3.注册流程.png

公钥相当于一个问题库,私钥相当于一个答案库。

在 FIDO 1.x 版本中有两个子协议,通用身份认证框架(UAF)和通用第二因素(U2F)。

UAF:当需要认证身份时,客户端设备通过提供私钥里的答案来证明自己的身份。而读取私钥则需要通过本地的解锁操作,例如指纹、面部、PIN 或插入二级设备(类似U盾)。

图片4.FIDO 钥匙.png

U2F:当使用账户时,用户需使用第二因素设备(例如 FIDO 钥匙,其 U 盾)来完成 FIDO 注册。这种类似于 Steam、Google 等的数字令牌。

不管哪一种方式,FIDO 的私钥只存储在本地可信任的环境中且不保存用户的隐私信息。

图片5.统一身份认证协议.png

2019 年发布的 FIDO2 又新增了身份验证器协议(CTAP)和W3C WebAuthn

CTAP:使用第三方设备来进行认证,例如我们需要在一台陌生设备上登录账户,此时可以使用自己的手机、FIDO 钥匙等存储了私钥的设备连接这台陌生设备,在自己的设备上提供认证。通过这种方式也可以帮助用户保护隐私。

例如现在一些没有生物认证功能的 MacBook 可以通过 iPhone 手机来提供认证,完成 MacBook 上的登录和付款。

图片6.登录.png

W3C WebAuthn:这是W3C 与 FIDO 联盟合作制定的协议,它的作用是在浏览器和标准Web API 中也能支持 FIDO 认证,原理是调用手机或电脑中的 FIDO 认证。

02.如何证明我是我

在各种验证方式中,都避不开“如何证明我是我”这个问题。

注册:

用户选择一种服务器接受 FIDO 认证策略;用户使用生物、第二因素设备、PIN 或其他方式解锁本地的 FIDO 身份验证器;用户的设备在本地创建唯一的公钥/私钥对;

公钥被发送到在线服务器并与用户账户相关联,私钥被保存在本地并需要解锁才能使用,且始终不会离开本地设备。

登录:

在线服务要求用户使用之前注册的设备登录;服务器根据公钥向设备提出一个只有对应私钥才知道答案的问题;用户使用注册时的方法来解锁 FIDO 身份验证器;设备使用服务器提供的标识来找到本地存储的正确私钥,并读取问题的答案;设备将答案提供给服务器,服务器与保存的公钥验证后决定是否允许登录。

03.应用的场景

目前已经有很多地方使用了 FIDO 认证。如果你的 Windows 10 电脑使用Windows Hello 登录或付款,这其实就是 FIDO 的应用。

图片7.Windows Hello.png

另外在 Chrome、EDGE、Firefox 和华为手机的内置浏览器中,你也可以使用指纹或扫脸来认证身份,例如查看浏览器保存的密码。

图片8.身份验证.png

结论

目前看来FIDO 认证确实比以前大家使用的方法要有效,怎么样,想试一试吗?

本文编辑:@ 小淙

©本文著作权归电手所有,未经电手许可,不得转载使用。