大家好,才是真的好。
今天的篇幅会有点长,因为涉及到的概念有点多,总而言之就是为了安全系统登陆为目的,来讲述Domino 14中的新功能:无密码登录。
需求要从很早的时候说起,在网络中为了保证安全和识别用户的身份,我们需要进行身份验证。
一开始,主要的验证方式是通过用户名和密码。用户名和密码一般存储在服务器上,而且每个系统都可能存在自己一套用户名和密码,导致用户特别容易混淆和遗忘,所以,我们很容易遇到下面情况:
后来,发展到基于令牌的验证,你可以理解为一次性密码,发到你的手机上或者其他安全设备上,比如短信或验证码之类,然后输入系统里进行登录。
虽然安全,但也挺麻烦,毕竟如果不是6位数的短信信息,不是每个人都在心情好的时候,可以输入十几位甚至二十几位的临时密码。
这时候就跳出一个国际组织联盟,我们可以简称FIDO联盟,FIDO全称是在线快速身份认证,该联盟推出了两个身份认证的标准:一个就是UAF生物认证;另一个就是 U2F双因子认证。
UAF生物认证,很简单,即可以采用人脸、声音、指纹、或虹膜来进行验证。
而U2F双因子认证就是结合用户名和密码验证之后,再调出一个临时密码(可能是短信,也可能是随机字符串),的确很安全,但也够繁琐。
于是,联盟推出了FIDO2.0,这套加密方法,简单来说就是私钥公钥,用这对密钥来验证。
过程是这样的:
1、用户在注册的时候生成一对非对称密钥,即公钥和密钥。设备把公钥发送给服务器上进行存储,用户设备上存储私钥。
2、用户登录的时候,服务器上首先生成一串随机数,然后通过存在上面的公钥进行加密发送给用户,用户再用自己的私钥来解密随机数,并把随机数发送给服务器来进行对比,对比成功则认证通过。
3、私钥可以是你的人脸、声音、指纹或虹膜等生物特征,也可以是你存储在某台设备上的PIN码等。
小结一下,FIDO2 与传统密码验证有着重大区别,用户设备和服务器之间不交换密码或生物识别信息等信息。
技术已经准备就绪,最重要的还是市场接受和推广。
所幸市面上占据生态位的苹果、谷歌和微软也宣布在系统和设备上支持FIDO2.0,比如苹果iOS上录入人脸(FaceID),解锁iPhone能用,这台手机上登录所有App等都能用,刷个脸就能登录App了,再也不用输入用户名和密码。
安卓和Windows系统上同理。
这样又有个新需求:跨设备之间采用FIDO2.0。
打个比方说,你在电脑上登录网页,页面提示你使用FIDO来登录,你就可以拿起旁边的手机来进行验证,如下图:
这么看起来,如果万物互联互通,基本上就没有密码什么事儿了。
而我们的主角Domino 14也开始支持这种无密码登录的方式。
下面就是配置过程——
不过我觉得这篇幅有点多了,下面一篇还有。别忘记看。可关注微信公号:协作者