伴随着互联网应用的深度普及,用户账户安全的重要性不言而喻。密码是目前互联网用户保护在线账户安全和隐私的主要手段。然而,传统密码技术本身也存在着一些缺陷。
首先,密码是由用户创建的,用户通常会出于易用性而非实际的安全性进行考量。普通人的密码通常基于个人信息或常用词,很容易被猜到,并且一般用户的密码通常都比较短,这也使得这些密码很容易被软件暴力破解。
其次,密码也是很容易被盗取的。用户访问不安全网页或向任何受到攻击或不安全的服务提交个人信息,密码就会暴露,从而被不法分子所盗取。除此之外,人们也习惯于将密码在多个账户之间重复进行使用,一旦其中一个账户中了“网络钓鱼”陷阱,可能会让其他账户也全面失守,用户个人账户的安全性难以得到有效的保障。
传统的密码验证模式越来越难以适应当前高速发展的数字经济时代,而企业面临的最大安全风险之一就是将不安全的密码技术作为身份验证的主要方法。为了有效保障用户账户密码的安全,Passkey(通行密钥)开始被广泛应用于各行各业。
Passkey一词是“Password”和“Key”的组合,是基于行业标准的账户验证机制,比密码更易于使用且更加安全。设置Passkey之后,认证过程会在登录时以透明的方式进行,用户所需的额外参与也会很少。
基于以上原因,JumpServer项目组为了满足广大用户认证安全的需求,自JumpServer v3.7.0版本开始支持对接Passkey认证方式。本文将重点介绍Passkey的登录原理,以及JumpServer堡垒机是如何使用Passkey进行登录认证的。
一、Passkey简介
1. 什么是Passkey(通行密钥)?
Passkey(即通行密钥)是一种数字认证凭证,用于网站或应用程序的身份验证,是一种无需密码的验证方法,便于用户以更简单、快速、安全的方式进行登录访问。Passkey通常由操作系统或浏览器保存,并且可以通过云在同一生态系统中的不同设备间实现同步。
在使用Passkey时,系统会要求您登录设备而不是要访问的帐户,用户可以通过在智能手机上输入PIN码或使用生物识别(人脸或指纹等)技术来完成验证。由于没有密码可以窃取,也无法进行钓鱼攻击,因此Passkey无法使用软件进行猜测或破解,在保证高安全性的同时又易于使用。
2. Passkey登录原理
Passkey的核心技术是用非对称密钥通过签名完成认证的,其登录原理如下图所示。
■ Passkey的生成过程需要用户进行生物识别等技术来完成验证,验证完成后生成两个加密密钥,一个私钥驻留在用户的认证器硬件(电脑或手机等)上,另一个公钥驻留在服务器上并与该账户相关联;
■ 当用户在客户端登录账户的时候,可以选择安全性相对较高的PIN码解锁,或者使用指纹或面部辨识等生物识别方式解锁私钥,然后与服务器的API交互完成签名;
■ 只有在公钥和私钥配对成功,并且验证通过的情况下,系统才会判定用户登录成功。这样一来,就算黑客进入到了服务器,窃取到了用户的公钥,仍然无法伪造用户的私钥身份,有效保障了账户的安全性。
二、JumpServer如何使用Passkey进行登录?
1. 配置Passkey认证信息
第一步:在JumpServer中选择“系统设置”→“认证设置”,开启“启用Passkey认证”按钮;
第二步:设置Passkey服务ID,可以使用Passkey认证的域名。如果不设置,将使用请求主机(主机名在可信域DOMAIN中),如果有多个域名,使用逗号分隔,不需要端口号;
第三步:设置Passkey服务名称(Passkey服务名称是一种标识)。
2. 创建Passkey
第一步:选择“个人信息”→“Passkey”,点击“创建”按钮,添加Passkey通行密钥。创建时,用户需要密码或更高级别的验证方式进行校验;
第二步:选择创建Passkey的方式;
共有三种通行密钥的方式可供用户选择,分别是使用手机或平板电脑、用户当前设备以及USB安全密钥;
以通过用户当前设备创建通行密钥方式为例:
① 选择用户的当前设备,即“您的Chrome个人资料”,点击“继续”按钮;
② 创建密钥时,需要对用户本人进行生物特征识别,比如 “指纹” 或 “面部识别” 等识别方式;
③ 成功创建Passkey;
3. 验证Passkey登录方式
第一步:进入JumpServer登录界面,选择“Passkey”登录方式;
第二步:选择设备的通行密钥,用户可以根据自己存储通行密钥的方式来选择对应设备进行登录;
以通过用户当前设备创建通行密钥方式为例,选择保存“在这部设备上”的密钥账户,如admin:
对用户本人生物特征进行识别,如 “指纹” 或 “面部识别” 等验证方式;
第三步:认证通过,成功登录到JumpServer。