SSPI
此条目翻译自其他语言维基百科,需要相关领域的编者协助校对翻译。 |
安全支持提供者接口(英语:Security Support Provider Interface,缩写SSPI)是Microsoft Windows操作系统中用于执行各种安全相关操作(如身份验证)的一个Win32 API。
SSPI的功能是作为众多安全支持提供程序(SSP)的通用接口[1]:安全支持提供者(Security Support Provider)是可以为应用程序提供一种或多种安全功能包的动态链接库(dynamic-link library)。
Windows SSP
下列SSP已经在Windows中预装:
- NTLM(Windows NT 3.51中引入)(msv1_0.dll) - 为Windows 2000之前的客户端-服务器域和非域身份验证(SMB/CIFS)提供NTLM质询/响应身份验证。[2]
- Kerberos(Windows 2000中引入,Windows Vista中更新为支持AES)[3] (kerberos.dll) - Windows 2000及更高版本中首选的客户端-服务器域相互身份验证。[4]
- Negotiate(Windows 2000中引入)(secur32.dll) - 选择Kerberos,如果不可用则选择NTLM协议。协商SSP提供单一登入能力,有时称为集成Windows身份验证(尤其是用于IIS时)。[5]在Windows 7及更高版本中,NEGOExts引入了协商使用客户端和服务器上支持的已安装定制SSP进行身份验证。
- 安全通道(也称SChannel) - Windows 2000中引入,Windows Vista中更新为支持更强的AES加密和ECC[6]该提供者使用SSL/TLS记录来加密数据有效载荷。(Schannel.dll)
- PCT(过时)和微软的TLS/SSL - 公开密钥加密 SSP为通过互联网的客户端和服务器进行身份验证,提供加密和安全通信。[7]Windows 7中更新为支持TLS 1.2。
- 摘要SSP(Windows XP中引入)(wdigest.dll) - 在Windows与Kerberos不可用的非Windows系统间提供基于HTTP和SASL身份验证的质询/响应。[8]
- 凭据 (CredSSP)(Windows Vista中引入,Windows XP SP3上也可用)(credssp.dll) - 为远程桌面连接提供单点登录(SSO)和网络级身份验证。[9]
- 分布式密码验证(DPA) - (Windows 2000中引入)(msapsspc.dll) - 提供使用数字证书完成的互联网身份验证。[10]
- 用户对用户的公开密钥加密技术(Public Key Cryptography User-to-User,PKU2U)(Windows 7中引入)(pku2u.dll) - 在不隶属域的系统之间提供使用数字证书的对等身份验证。
比较
SSPI是GSSAPI的一个专有变体,进行了扩展并具有许多特定于Windows的数据类型。最早随Windows NT 3.51和Windows 95中的NT LAN管理器的安全支持提供程序(NTLMSSP)出现。在Windows 2000中,增加了一个Kerberos 5的实现,使用符合官方协议标准RFC 1964 (Kerberos 5 GSSAPI机制)的令牌格式并提供提供与其他供应商的Kerberos 5实现的线级互操作性。
SSPI生成和接受的令牌大多与GSS-API兼容,因此Windows上的SSPI客户端可能能够根据具体情况与Unix上的GSS-API服务器进行身份验证。SSPI的一个重要缺点是缺乏通道绑定,这使得不可能做到一些GSSAPI的互操作性。
互联网工程任务组(IETF)定义的GSSAPI与微软SSPI的另一个根本区别是“扮演”概念。在这种模式下,一个服务器可以切换成经过身份验证客户端的“完整”特权并进行操作,以便操作系统执行完整的存取控制检查。所持权限高于或低于原始权限全取决于哪个客户端在连接/验证。在传统(GSSAPI)模型中,当服务器运行在服务帐户下时,其不能提升自己的特权,并必须以特定客户端或应用程序的方式执行访问控制。而在Windows Vista中通过将扮演限制在选定的服务帐户,限制了“扮演”概念带来的显著安全隐患。[11]
参考资料
- ^ SSP Packages Provided by Microsoft. [2017-11-05]. (原始内容存档于2017-02-18).
- ^ User Authentication - Security (Windows 2000 Resource Kit Documentation) : MSDN. [2017-11-05]. (原始内容存档于2017-11-07).
- ^ Kerberos Enhancements in Windows Vista: MSDN. [2017-11-05]. (原始内容存档于2017-08-26).
- ^ Windows 2000 Kerberos Authentication. [2017-11-05]. (原始内容存档于2017-08-26).
- ^ Windows Authentication. [2017-11-05]. (原始内容存档于2017-11-07).
- ^ TLS/SSL Cryptographic Enhancements in Windows Vista. [2017-11-05]. (原始内容存档于2017-10-10).
- ^ Secure Channel: SSP Packages Provided by Microsoft. [2017-11-05]. (原始内容存档于2012-08-29).
- ^ Microsoft Digest SSP: SSP Packages provided by Microsoft. [2017-11-05]. (原始内容存档于2017-11-07).
- ^ Credential Security Service Provider and SSO for Terminal Services Logon. [2017-11-05]. (原始内容存档于2017-11-07).
- ^ DCOM Technical Overview: Security on the Internet. [2017-11-05]. (原始内容存档于2017-11-11).
- ^ Windows Service Hardening: AskPerf blog. [2017-11-05]. (原始内容存档于2010-04-02).