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) 。
相關主題