安全支持提供者接口(英语:Security Support Provider Interface,缩写SSPI)是Microsoft Windows操作系统中用于执行各种安全相关操作(如身份验证)的一个Win32 API

SSPI的功能是作为众多安全支持提供程序(SSP)的通用接口[1]:安全支持提供者(Security Support Provider)是可以为应用程式提供一种或多种安全功能包的动态链接库dynamic-link library)。

Windows SSP

下列SSP已经在Windows中预装:

比较

SSPI是GSSAPI英语Generic Security Services Application Program Interface的一个专有变体,进行了扩展并具有许多特定于Windows的数据类型。最早随Windows NT 3.51Windows 95中的NT LAN管理器英语NTLM安全支持提供程序英语NTLMSSP(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的另一个根本区别是“扮演英语Access token#Types of tokens”概念。在这种模式下,一个伺服器可以切换成经过身份验证客户端的“完整”特权并进行操作,以便操作系统执行完整的存取控制检查。所持权限高于或低于原始权限全取决于哪个客户端在连接/验证。在传统(GSSAPI)模型中,当伺服器运行在服务帐户下时,其不能提升自己的特权,并必须以特定客户端或应用程式的方式执行访问控制。而在Windows Vista中通过将扮演限制在选定的服务帐户,限制了“扮演”概念带来的显著安全隐患。[11]

参考资料

  1. ^ SSP Packages Provided by Microsoft. [2017-11-05]. (原始内容存档于2017-02-18). 
  2. ^ User Authentication - Security (Windows 2000 Resource Kit Documentation) : MSDN. [2017-11-05]. (原始内容存档于2017-11-07). 
  3. ^ Kerberos Enhancements in Windows Vista: MSDN. [2017-11-05]. (原始内容存档于2017-08-26). 
  4. ^ Windows 2000 Kerberos Authentication. [2017-11-05]. (原始内容存档于2017-08-26). 
  5. ^ Windows Authentication. [2017-11-05]. (原始内容存档于2017-11-07). 
  6. ^ TLS/SSL Cryptographic Enhancements in Windows Vista. [2017-11-05]. (原始内容存档于2017-10-10). 
  7. ^ Secure Channel: SSP Packages Provided by Microsoft. [2017-11-05]. (原始内容存档于2012-08-29). 
  8. ^ Microsoft Digest SSP: SSP Packages provided by Microsoft. [2017-11-05]. (原始内容存档于2017-11-07). 
  9. ^ Credential Security Service Provider and SSO for Terminal Services Logon. [2017-11-05]. (原始内容存档于2017-11-07). 
  10. ^ DCOM Technical Overview: Security on the Internet. [2017-11-05]. (原始内容存档于2017-11-11). 
  11. ^ Windows Service Hardening: AskPerf blog. [2017-11-05]. (原始内容存档于2010-04-02). 

外部链接