Security Support Provider Interface

Security Support Provider Interface (SSPI)とは



Security Support Provider Interface(SSPI)は、Microsoft Windows環境において、セキュリティ機能を提供するAPIです。これは、様々なセキュリティプロバイダー(SSP)と連携し、認証、暗号化、アクセス制御など、システム全体のセキュリティを支える重要な役割を担っています。

SSPIは、Windowsにおけるセキュリティ機能の基盤であり、さまざまなアプリケーションがセキュアな通信や認証を実現するために利用します。具体的には、ダイナミックリンクライブラリ(DLL)として実装されたセキュリティプロバイダーを、共通のインターフェースを通して利用できるようにしています。

Security Support Provider (SSP)



Windowsでは、以下のような多様なセキュリティプロバイダーが提供されています。

NTLMSSP (msv1_0.dll)
Windows NT 3.51から存在する古い認証プロトコルで、Windows 2000以前のクライアント-サーバ環境におけるNTLMチャレンジレスポンス認証や、非ドメイン環境でのSMB/CIFS認証に用いられます。
Kerberos (kerberos.dll)
Windows 2000から導入された、ドメイン環境での推奨認証プロトコルです。相互認証をサポートし、Windows VistaからはAES暗号化に対応しています。
Negotiate (secur32.dll)
Kerberos認証とNTLM認証を自動的に選択するプロトコルで、シングルサインオン(統合Windows認証)を実現します。Windows 7以降では、クライアントとサーバーの両方で利用できるカスタムSSPを認証に利用可能にするNEGOExtsが導入されました。
Secure Channel (SChannel) (schannel.dll)
Windows 2000から導入された、TLS/SSL暗号化機能を提供するプロバイダーです。Windows Vista以降では、AES暗号化と楕円曲線暗号に対応しています。
PCTとMicrosoft TLS/SSL実装
TLS/SSLにおける公開鍵暗号化機能を提供しますが、PCTは廃止されています。Windows 7以降ではTLS 1.2に対応しています。
Digest SSP (wdigest.dll)
HTTP認証およびSASL認証を提供します。
Credential (CredSSP) (credssp.dll)
リモートデスクトップサービスのための認証機能を提供します。Windows XP SP3から利用可能です。
Distributed Password Authentication (DPA) (msapsspc.dll)
公開鍵証明書による認証機能を提供します。
Public Key Cryptography User-to-User (PKU2U) (pku2u.dll)
ドメイン外のシステム間におけるピアツーピア認証を可能にします。Windows 7から導入されました。

これらのSSPは、それぞれ異なる認証メカニズムとセキュリティ機能を提供し、SSPIを通じてアプリケーションから利用されます。

GSSAPIとの比較



SSPIは、GSSAPI(Generic Security Services Application Programming Interface)のMicrosoftによる実装であり、Windows環境に特化した拡張が加えられています。SSPIは、NTLMSSPを起源とし、Windows 2000でケルベロス認証が追加されました。

SSPIにおけるケルベロス認証で用いられるトークンはGSSAPIのそれとほぼ互換性があり、WindowsのSSPIクライアントは、Windows以外のGSSAPIクライアントとの相互認証が可能です。しかし、アクセストークンの「impersonation」において、GSSAPIとSSPIの間には大きな違いが存在します。

GSSAPIモデルでは、サービスアカウントの特権を上昇させることができません。一方、従来のSSPIモデルでは、クライアントが「完全な」特権を持っている場合、サービスアカウントがその特権を継承してしまう可能性があり、セキュリティ上の問題がありました。この問題は、Windows Vista以降では解消されています。

SSPIは、Windowsのセキュリティ基盤として重要な役割を担っており、さまざまな認証プロトコルや暗号化技術をアプリケーションに提供することで、安全なシステム環境の構築を支援します。

参考情報


SSPI(Windows)
SSPI Information and Win32 samples

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。