Rozszerzenia secure socket protokołu Winsock
Rozszerzenia bezpiecznego gniazda w usłudze Winsock umożliwiają aplikacji gniazda kontrolowanie bezpieczeństwa ruchu przez sieć. Te rozszerzenia umożliwiają aplikacji zapewnienie zasad zabezpieczeń i wymagań dotyczących ruchu sieciowego oraz wykonywanie zapytań dotyczących zastosowanych ustawień zabezpieczeń. Na przykład aplikacja może używać tych rozszerzeń do wykonywania zapytań dotyczących równorzędnego tokenu zabezpieczeń, który może służyć do przeprowadzania kontroli dostępu na poziomie aplikacji.
Rozszerzenia bezpiecznego gniazda mają na celu integrację usług udostępnianych przez protokół IPsec i innych protokołów zabezpieczeń ze strukturą Winsock. Przed systemem Windows Vista w systemach Windows Server 2003 i Windows XP protokół IPsec został skonfigurowany przez administratora za pośrednictwem zasad lokalnych i domeny. W systemie Windows Vista rozszerzenia bezpiecznego gniazda umożliwiają aplikacjom całkowite lub częściowe konfigurowanie i kontrolowanie bezpieczeństwa ruchu sieciowego na poziomie gniazda.
Aplikacje mogą już zabezpieczyć ruch sieciowy przy użyciu publicznych interfejsów API, takich jak zarządzanie protokołem IPsec, platforma filtrowania systemu Windows i interfejs dostawcy obsługi zabezpieczeń (SSPI). Jednak użycie tych interfejsów API może utrudnić tworzenie aplikacji i utrudnić jej konfigurowanie i wdrażanie. Rozszerzenia bezpiecznego gniazda winsock zostały zaprojektowane w celu uproszczenia tworzenia aplikacji sieciowych, które wymagają bezpiecznego ruchu sieciowego, pozwalając winsock obsłużyć większość złożoności.
Te rozszerzenia bezpiecznego gniazda są dostępne w systemie Windows Vista i nowszych.
Funkcje bezpiecznego gniazda
Funkcje rozszerzenia bezpiecznego gniazda są następujące:
- WSADeleteSocketPeerTargetName
- WSAImpersonateSocketPeer
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
Nuta
Funkcje bezpiecznego gniazda obsługują obecnie tylko protokół IPsec i są dostępne w systemie Windows Vista i nowszych.
Struktury i wyliczenia używane przez funkcje bezpiecznego gniazda są następujące:
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
Funkcje bezpiecznego gniazda są proste do użycia w normalnych aplikacjach i są wystarczająco elastyczne dla aplikacji, które wymagają wysokiego stopnia kontroli nad ich zabezpieczeniami. Te funkcje umożliwiają zachowanie podstawowego mechanizmu zabezpieczeń ukrytego przed aplikacją. Aplikacja może określić ogólne wymagania dotyczące zabezpieczeń i pozwolić administratorowi kontrolować protokół zabezpieczeń używany do obsługi wymagań. Chociaż istnieje możliwość rozszerzenia tych funkcji w celu dodania innych protokołów zabezpieczeń, obecnie tylko protokół IPsec integruje się z funkcjami bezpiecznego gniazda.
Funkcja WSASetSocketSecurity umożliwia aplikacji włączanie zabezpieczeń i stosowanie ustawień zabezpieczeń przed nawiązaniem połączenia.
Funkcja WSASetSocketPeerTargetName umożliwia aplikacji określenie nazwy docelowej odpowiadającej jednostce równorzędnej. Wybrany protokół zabezpieczeń będzie używać tych informacji podczas uwierzytelniania elementu równorzędnego. Ta funkcja rozwiązuje problemy dotyczące zaufanych ataków typu man-in-the-middle.
Funkcja WSADeleteSocketPeerTargetName służy do usuwania wcześniej określonej nazwy elementu równorzędnego dla gniazda.
Po nawiązaniu połączenia funkcja WSAQuerySocketSecurity umożliwia aplikacji wykonywanie zapytań dotyczących właściwości zabezpieczeń połączenia, które mogą obejmować dostęp równorzędny lub token dostępu komputera.
Po nawiązaniu połączenia funkcja WSAImpersonateSocketPeer umożliwia aplikacji personifikację podmiotu zabezpieczeń odpowiadającego elementowi równorzędnym gniazd w celu wykonania autoryzacji na poziomie aplikacji.
WSARevertImpersonation umożliwia aplikacji zakończenie personifikacji elementu równorzędnego gniazda.
Architektura protokołu Secure Socket
- Aplikacja wywołuje funkcje bezpiecznego gniazda w celu ustawienia zabezpieczeń gniazda lub wykonywania zapytań o ustawienia zabezpieczeń.
- Funkcje bezpiecznego gniazda to zestaw funkcji rozszerzenia bezpiecznych typów, które opakowują wywołania funkcji WSAIoctl przy użyciu nowo zdefiniowanych wartości dla parametru dwIoControlCode dostępnego w systemie Windows Vista i nowszych wersjach. Te listy IOCTL są obsługiwane przez stos sieciowy.
- Stos sieciowy będzie kierować wywołanie do wymuszania warstwy aplikacji (ALE) wraz z dojściem punktu końcowego. W przypadku WSADeleteSocketPeerTargetNameWSASetSocketPeerTargetNamei funkcji WSASetSocketSecurity, ale skonfiguruje ustawienia aplikacji w lokalnym punkcie końcowym. W przypadku funkcji WSAQuerySocketSecurity program ALE odczytuje żądane informacje z odpowiednich lokalnych i zdalnych punktów końcowych.
- Na podstawie zdarzeń gniazd wymuszanie wymuszania warstwy aplikacji (ALE) wymusza zasady dla architektury bezpiecznego gniazda przy użyciu platformy filtrowania systemu Windows. Aby uzyskać więcej informacji, zobacz About Windows Filtering Platform and Application Layer Enforcement (ALE).
Tematy pokrewne