LSA Authentication Packages -- LSA 验证包

Authentication Packages  -- 翻译自MSDN

 
验证包被包含在DLL中。LSA使用保存在注册表中的配置信息加载验证包。加载多个验证包允许LSA支持多个登录进程和多个安全协议(security protocols)。
 
登录进程使用验证包来分析登录数据。新的登录进程通过添加一个GINA的方式被添加到系统中用来收集所需的登录数据,并且如果需要的话,通过添加一个新的验证包的方式来分析数据。
 
安全协议由验证包实现。一个验证包通过下列安全协议中声明的规则和过程来分析登录数据。
 
验证包负责下列的任务:
 
分析登录数据,决定是否允许一个security principal 登录到系统中。
 
为成功登陆的princiapl建立一个新的登录会话(logon session )并且创建一个唯一的登录标识符(logon identifier)
 
将安全信息传递到LSA供principal的安全令牌使用。
当一个用户尝试交互式登录,LSA就会调用一个验证包来决定是否允许用户登录。例如,MSV1_0是一个随操作系统安装的验证包。MSV1_0接受一个用户名和经过HASH处理的密码(hashed password)。它在安全帐号管理器(Security Accounts Manager (SAM))数据库中查找用户名和hashed密码的组合,如果登录数据与保存的证书相匹配,验证包就会允许登录成功。
 
Windows Me/98/95: MSV1_0 没有随操作系统安装。
 
成功验证一个secruity principal的证书之后,验证包就会负责为principal创建一个新的登录会话,并且分配一个登录标识符来唯一标明登录会话。验证包可能会为后继的验证请求将证书信息和登录会话关联起来。例如,MSV1_0验证包(由微软提供)就将用户帐户名和hashed密码与每一个登录会话关联起来。
 
验证包也提供一个安全标识符(security identifiers (SIDs))的集合和其他的信息,这些信息适用于由LSA创建的安全令牌所包含的内容。这个令牌将会作为用于访问WINDOWS操作的principal的安全上下文(context)。
 
在登录会话创建完毕并且关联到principal之后,随后principal的验证请求的处理不同于最初的登录。验证包不会再为创建一个令牌而创建一个新的登录会话和返回信息。然后,验证包能够将在随后的验证中得到的补充证书(supplemental credentials )与principal现存的登录会话关联起来。当访问一个资源所需的信息超过了在初始登录阶段所建立的证书时,就会得到一个补充证书。例如,当一个已登录的用户请求一个novell网络连接,一个novell所指明的验证包就会被调用并且novell所指明的证书就会被验证并且会被关联到登录会话。这些证书会在用户访问novell网络时被novell重定向器所参考(通过novell验证包所提供的方法)。
 
Windows Authentication Packages
Windows验证包通过实现验证包所指明的功能来实现验证服务,这些功能供LSA提供的LsaLogonUser和LsaCallAuthenticationPackage函数所使用。
 
MSV1_0是一个Windows验证包的例子。MSV1_0接受用户名和hashed密码,它会查找SAM数据库。根据查找结果,MSV1_0验证包接受或拒绝验证请求。
 
Security Support Provider/Authentication Packages
Windows支持使用安全包,安全包可以具有SPI和验证包的功能. 安全包提供WINDOWS验证包的登录过程支持服务,也通过实现一组映射到安全支持提供器接口(SSPI)的函数来提供验证应用程序的服务。
一个即具有验证包的功能,也实现了SSPI所需的函数的安全包被称作 security support provider/authentication package (SSP/AP).
 
Authentication Packages Provided by Microsoft
下列是由微软所提供的验证包:
Kerberos SSP/AP

猜你喜欢

转载自blog.csdn.net/kuangmang/article/details/40542747