赞
踩
下表是Windows7中的交互式登陆架构的关键组件:
组件名称 | 描述 |
Winlogon | 提供交互式登陆的下层基础 |
Logon UI | 提供交互式UI(的渲染) |
Credential providers(密码和智能卡) | 描述凭据信息和序列化凭据 |
LSA | 处理登陆凭据 |
授权包(Authentication packages) | 包括NTLM和Kerberos,与认证服务器通信 |
流程如图所示:
Windows交互登陆从用户按下Ctrl+ALT+DEL开始,这3个键的组合叫做SAS,防止其他进程或程序使用。Winlogon在Boot的时候注册此SAS,然后Logon UI 生成界面。
一般来说,用户登陆计算机使用的要么是本地账户,要么是域账户的用户名和密码,这些凭据用来验证用户身份。如果是智能卡,那么用户的凭证则存储在卡上,读卡器让计算机与卡的安全芯片交互。在登陆的过程中,用户输入一个PIN码,而不是用户名和密码。
Credential providers是一个用于收集凭据的COM对象,运行在本地系统上下文中。总的来说,Logon UI提供界面,Winlogon提供登陆下层基础,Credential providers与这二者交互,以帮助收集和处理凭据。
用户按下SAS的3个键后,Winlogon命令logon UI 显示各个credential provider的选项,Logon UI查询各个 credential provider。 credential provider 可以选择某个某个登陆界面作为默认。枚举完所有的登陆界面后,logon UI显示给用户, 用户选择一个进行登陆,然后logon UI提交凭据信息。
credential provider 可以扩展,允许用户通过生物(指纹,声音,视网膜),密码,PIN,智能卡或任何自定义的认证包。企业和IT部门可能为域用户开发和部署自定义的认证机制。
credential provider 不是强制的机制,它是用于采集和序列化凭据的,而LSA和authentication packages才强制安全。
credential provider 可能设计成用于SSO,认证用户到一个安全的网络访问点。
credential provider 也可以设计成用于某个特定程序的凭据采集,或者用于网络资源或加域的认证,以及提供UAC的管理员权限提示。
credential provider必须要被写进注册表,负责:
描述认证所需要的凭据信息。
处理与外部认证方式的通信和逻辑。
打包凭据,用于交互式登陆和网络登陆。
credential provider API 不渲染UI,不描述什么需要渲染。只在安全模式可以用密码credential provider,智能卡只在带有网络的安全模式中可用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。