交互式身份验证

当系统提示用户提供登录信息时,身份验证是交互式的。 当用户通过 GINA 用户界面登录时,本地安全机构 (LSA) 执行交互式身份验证。 下图显示了典型交互式身份验证的各个部分。

交互式身份验证

用户通过键入 CTRL+ALT+DEL 安全注意序列 (SAS) 来指示系统开始登录序列。 Winlogon 接收 SAS 并调用 GINA 以显示用户界面并获取用户的登录数据,例如用户名和密码。

获取登录数据后,GINA 调用 LsaLogonUser 函数对用户进行身份验证,并指定必须使用哪个身份验证包来评估登录数据。

LSA 调用指定的身份验证包,并将登录数据传递给它。 身份验证包检查数据并确定身份验证是否成功。 身份验证结果将返回到 LSA,并从 LSA 返回到 GINA。

GINA 向用户显示身份验证的成功或失败,并将身份验证结果返回给 Winlogon。 如果身份验证成功,则会开始用户的登录会话,并保存一组登录 凭据 供将来参考。

注意

通常,编写自定义 GINA 以接受专用登录数据(如智能卡或视网膜扫描数据)的开发人员还必须编写一个身份验证包,负责处理该数据并确定其真实性。

 

有关 Winlogon 和 GINA 的详细信息,请参阅 Winlogon 和 GINA。 有关身份验证包的详细信息,请参阅 创建自定义安全包