Winsock 安全套接字延伸模組
Winsock 的安全套接字延伸模組可讓套接字應用程式控制其透過網路流量的安全性。 這些延伸模組可讓應用程式為其網路流量提供安全策略和需求,並查詢所套用的安全性設定。 例如,應用程式可以使用這些延伸模組來查詢可用來執行應用層級存取檢查的對等安全性令牌。
安全套接字延伸模組旨在整合 IPsec 和其他安全性通訊協定所提供的服務與 Winsock 架構。 在 Windows Vista 之前,在 Windows Server 2003 和 Windows XP 上,系統管理員已透過本機和網域原則設定 IPsec。 在 Windows Vista 上,安全套接字延伸模組會改為允許應用程式在套接字層級完全或部分設定及控制其網路流量的安全性。
應用程式可以使用公用 API 來保護網路流量,例如 IPsec 管理、Windows 篩選平臺和安全性支援提供者介面 (SSPI)。 不過,使用這些 API 可能會讓應用程式更難開發,而且可能更難設定和部署。 Winsock 安全套接字延伸模組的設計是為了簡化需要安全網路流量的網路應用程式開發,方法是讓 Winsock 處理大部分的複雜性。
這些安全套接字延伸模組可在 Windows Vista 和更新版本上使用。
安全套接字函式
安全套接字擴充功能如下所示:
- WSADeleteSocketPeerTargetName
- WSAImpersonateSocketPeer
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
注意
安全套接字函式目前僅支援 IPsec 通訊協定,而且可在 Windows Vista 和更新版本上使用。
安全套接字函式所使用的結構和列舉如下所示:
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
安全套接字功能可用於一般應用程式,而且對於需要高度控制其安全性的應用程式而言,其彈性足夠。 這些函式可讓您將基礎安全性機制從應用程式隱藏起來。 應用程式可以指定一般安全性需求,並讓系統管理員控制用來支援需求的安全性通訊協定。 雖然可以擴充這些函式以新增其他安全性通訊協定,但目前只有 IPsec 與安全套接字函式整合。
WSASetSocketSecurity 函式可讓應用程式啟用安全性,並在建立連線之前套用安全性設定。
WSASetSocketPeerTargetName 函式可讓應用程式指定對應至對等實體的目標名稱。 選取的安全性通訊協定會在驗證對等時使用這項資訊。 此功能可解決對受信任中間人攻擊的擔憂。
WSADeleteSocketPeerTargetName 函式是用來刪除套接字先前指定的對等名稱。
建立連線之後,WSAQuerySocketSecurity 函式可讓應用程式查詢連線的安全性屬性,其中包括對等存取或計算機存取令牌。
建立連線之後,WSAImpersonateSocketPeer 函式可讓應用程式模擬對應至套接字對等的安全性主體,以執行應用層級授權。
WSARevertImpersonation 可讓應用程式終止套接字對等的模擬。
安全套接字架構
- 應用程式會呼叫安全套接字函式,以設定或查詢套接字的安全性設定。
- 安全套接字函式是一組型別安全擴充函式,會使用 windows Vista 和更新版本上可用的 dwIoControlCode 參數,使用新定義的值,來包裝對 WSAIoctl 函式的呼叫。 這些 IOCTL 是由網路堆疊處理。
- 網路堆疊會將呼叫導向 應用層強制執行 (ALE) 以及端點句柄。 針對 WSADeleteSocketPeerTargetName、WSASetSocketPeerTargetName和 WSASetSocketSecurity 函式,ALE 會在本機端點上設定應用程式的設定。 針對 WSAQuerySocketSecurity 函式,ALE 會從適用的本機和遠端端點讀取所要求的資訊。
- 根據套接字事件,應用層強制執行 (ALE) 會使用 Windows 篩選平臺來強制執行安全套接字架構的原則。 如需詳細資訊,請參閱 關於 Windows 篩選平臺 和 應用層強制執行 (ALE)。
相關主題
-
關於 Windows 篩選平臺 的
-
使用安全套接字擴充功能 進階 Winsock 範例