当前位置:   article > 正文

Credential provider 架构_credential provider界面设计

credential provider界面设计

下表是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,智能卡只在带有网络的安全模式中可用。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/522078
推荐阅读
相关标签
  

闽ICP备14008679号