安全支持提供者接口(英語:Security Support Provider Interface,缩写SSPI)是Microsoft Windows操作系统中用于执行各种安全相关操作(如身份验证)的一个Win32 API。
SSPI的功能是作为众多安全支持提供程序(SSP)的通用接口[1]:安全支持提供者(Security Support Provider)是可以为应用程序提供一种或多种安全功能包的动态链接库(dynamic-link library)。
下列SSP已经在Windows中预装:
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]
|
|