WebAuthn#
WebAuthn(Web Authentication API的简称)是由W3C和FIDO编写的规范,Google、Mozilla、Microsoft、Yubico等都参与其中。该API允许服务器使用公钥加密(而非密码)注册和验证用户。根据《Web身份验证指南 ⧉》中的说明:
[WebAuthn] 允许服务器与设备内置的现有强大身份验证器集成,如Windows Hello或Apple的Touch ID。为网站创建一个公私密钥对(称为凭证),而不是密码。私钥安全地储存在用户的设备上;公钥和随机生成的凭据ID将发送到服务器进行储存。然后服务器可以使用该公钥来证明用户的身份。
公钥不是秘密的,因为如果没有相应的私钥,公钥实际上是无用的。服务器未收到任何机密信息这一事实对用户和组织的安全有着深远的影响。数据库对黑客不再那么有吸引力,因为公钥对他们不再有用。
WebAuthn是FIDO2框架的一部分,FIDO2是一组技术,可在服务器、浏览器和身份验证器之间实现无密码身份验证。自2019年1月起,Chrome、Firefox、Edge和Safari都支持WebAuthn。
有关详细信息,请参阅https://webauthn.guide ⧉。
注册流程#
身份验证流程#
在安全门户中注册设备#
使用WebAuthn策略在SecurityPortal中注册设备有两种方法:
登录期间注册#
-
如果用户在SecurityPortal中成功通过身份验证,则在首次访问MES时会出现一个新步骤,要求用户将其当前所在的设备注册为身份验证设备:
-
按不,谢谢按钮可跳过此步骤,并允许用户继续登录流程。按是,使用此设备将允许用户使用WebAuthn技术注册其设备。在下面的屏幕截图中,此注册使用带有PIN输入的Windows Hello技术,但也可以配置为使用指纹读取器、面部识别机制或U盾。
Note
请参阅设备文档,了解可用的身份验证方法类型。
-
注册WebAuthn设备后,您的浏览器可能会请求允许安全门户站点访问该设备的权限:
-
请授予浏览器访问权限,以完成注册过程。
Info
对于每个用户和浏览器组合,此步骤仅出现一次。换句话说,如果同一用户尝试使用同一浏览器登录,则不会出现此“设备注册”步骤。
登录后注册#
如果用户在登录阶段没有注册浏览器,也可以从MES中的用户页面注册:
-
导航至用户页面,向下滚动至设备部分:
-
在设备部分,您可以找到一个注册下拉按钮,其中显示了用户注册设备的可能方式:
-
单击WebAuthn链接将在浏览器中打开一个新标签页,允许用户注册其设备:
-
通过按添加设备按钮,用户能够将设备添加为身份验证设备。
Info
此页面实现了先前在注册页面中讨论过的相同 WebAuthn 技术,当用户使用新浏览器在安全门户中进行身份验证时会显示此技术。这意味着除其他方式外,还可以通过指纹识别器、面部识别技术或U盾完成注册。请查阅设备文档,了解可用于设备的身份验证方式。本指南中显示的屏幕截图将使用Windows Hello技术:
-
注册WebAuthn设备后,您的浏览器可能会请求允许安全门户访问该设备的权限。请授予浏览器访问权限,以完成注册:
-
屏幕上会显示一条消息,通知用户设备已成功注册:
在安全门户中执行无密码身份验证#
要使用先前注册的设备对用户进行身份验证,请执行以下步骤:
-
在“安全门户”界面中,选择已配置为WebAuthn策略的策略。在下面的屏幕截图中,这是WebAuthn策略:
-
在WebAuthn登录页面的输入字段中输入要登录的用户名,然后按登录:
-
对设备进行身份验证。如前所述,本指南中使用Windows Hello技术通过PIN对设备进行身份验证,但也可以使用其他技术。请查阅设备文档,了解可使用的身份验证方式:
-
设备通过身份验证后,用户将重定向到MES界面。
Info
如果用户使用已注册为WebAuthn身份验证设备的浏览器访问MES系统,则系统会自动执行步骤1和2,而无需用户交互。在这种情况下,Windows Hello窗口会自动显示给用户,用户只需验证其设备即可访问MES界面。













