安全支援提供者介面(英語:Security Support Provider Interface,縮寫SSPI)是Microsoft Windows作業系統中用於執行各種安全相關操作(如身分驗證)的一個Win32 API

SSPI的功能是作為眾多安全支援提供程式(SSP)的通用介面[1]:安全支援提供者(Security Support Provider)是可以為應用程式提供一種或多種安全功能包的動態連結媒體櫃dynamic-link library)。

Windows SSP

下列SSP已經在Windows中預裝:

  • NTLM英語NTLMSSPWindows NT 3.51中引入)(msv1_0.dll) - 為Windows 2000之前的客戶端-伺服器域和非域身分驗證(SMB/CIFS)提供NTLM英語NTLM質詢/回應身分驗證。[2]
  • KerberosWindows 2000中引入,Windows Vista中更新為支援AES[3] (kerberos.dll) - Windows 2000及更高版本中首選的客戶端-伺服器域相互身分驗證。[4]
  • Negotiate英語SPNEGO(Windows 2000中引入)(secur32.dll) - 選擇Kerberos,如果不可用則選擇NTLM協定。協商SSP提供單一登入能力,有時稱為整合Windows身分驗證英語Integrated Windows Authentication(尤其是用於IIS時)。[5]Windows 7及更高版本中,NEGOExts引入了協商使用客戶端和伺服器上支援的已安裝客製化SSP進行身分驗證。
  • 安全通道(也稱SChannel) - Windows 2000中引入,Windows Vista中更新為支援更強的AES加密和ECC[6]該提供者使用SSL/TLS記錄來加密資料有效載荷。(Schannel.dll)
  • PCT英語Private Communications Technology(過時)和微軟的TLS/SSL - 公開金鑰加密 SSP為通過網際網路的客戶端和伺服器進行身分驗證,提供加密和安全通訊。[7]Windows 7中更新為支援TLS 1.2。
  • 摘要SSPWindows 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英語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]

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.