Kontextanforderungen

Kontextanforderungen werden als Kombination von Bitflags ausgedrückt, die entweder an die InitializeSecurityContext(General)- oder AcceptSecurityContext (General)-Funktion übergeben werden. Diese Flags wirken sich auf verschiedene Arten auf den Kontext aus. Nicht alle Flags gelten für alle Kontexte. Einige sind nur für den Server gültig, andere nur für den Client.

Der Aufrufer verwendet den fContextReq-Parameter des InitializeSecurityContext (General)- oder AcceptSecurityContext (General)-Aufrufs, um einen Satz von Flags anzugeben, die die erforderlichen Funktionen angeben. Wenn die Funktion zurückgegeben wird, gibt der parameter pfContextAttr die Attribute des eingerichteten Kontexts an. Der Aufrufer bestimmt, ob die endgültigen Kontextattribute akzeptabel sind.

Flags, die von InitializeSecurityContext (Allgemein) angefordert oder zurückgegeben werden, werden durch ISC vorangestellt. Diejenigen, die von AcceptSecurityContext (Allgemein) angefordert oder zurückgegeben werden, haben das Präfix ASC. Flags, die an eine Funktion übergeben werden, enthalten REQ, während zurückgegebene Flags RET enthalten. Ein Anforderungsflag für die gegenseitige Authentifizierung, das an InitializeSecurityContext (Allgemein) übergeben wird, ist beispielsweise ISC _ REQ _ MUTUAL _ AUTH. Ein Server, der gegenseitige Authentifizierung angibt, übergibt ASC _ REQ _ MUTUAL _ AUTH an AcceptSecurityContext (Allgemein). Wenn gegenseitige Authentifizierung erreicht wird, gibt InitializeSecurityContext (Allgemein) ISC RET MUTUAL AUTH zurück, _ und _ _ AcceptSecurityContext (Allgemein) gibt ASC _ RET MUTUAL _ _ AUTH zurück. Wenn der Aufrufer eine gegenseitige Authentifizierung angibt, das Sicherheitspaket jedoch angibt, dass sie nicht ausgeführt werden kann, muss der Aufrufer entscheiden, ob der Kontext abgebrochen oder fortgesetzt werden soll.

In der folgenden Tabelle werden die verschiedenen Kontextanforderungsflags beschrieben.

Flag Beschreibung
DELEGIEREN
Der Server in der Transportanwendung kann neue Sicherheitskontexte erstellen, in denen die Identität des Clients angenommen wird, der von anderen Servern als Kontexte des Clients akzeptiert wird. Der Delegat funktioniert nur, wenn MUTUAL _ AUTH festgelegt ist. DELEGATE wird derzeit nur von Kerberos unterstützt. Darüber hinaus delegiert Kerberos nur an einen Server mit dem Flag TRUSTED _ FOR _ DELEGATION. Verwenden Sie dieses Flag nicht für die eingeschränkte Delegierung.
GEGENSEITIGE _ AUTHENTIFIZIERUNG
Die kommunizierenden Parteien müssen ihre Identitäten untereinander authentifizieren. Ohne MUTUAL _ AUTH authentifiziert der Client seine Identität beim Server. Mit MUTUAL _ AUTH muss der Server auch seine Identität gegenüber dem Client authentifizieren.
Bei Verwendung des Schannel-Sicherheitspakets legt der Server die ASC _ RET _ MUTUAL _ AUTH-Konstante erst im letzten Aufruf von AcceptSecurityContext (Negotiate)fest, nachdem die Zertifikatzuordnung erfolgreich abgeschlossen wurde.
REPLAY _ DETECT
Das Sicherheitspaket erkennt wiedergegebene Pakete und benachrichtigt den Aufrufer, wenn ein Paket wiedergegeben wurde. Die Verwendung dieses Flags impliziert alle vom INTEGRITY-Flag angegebenen Bedingungen.
SEQUENCE _ DETECT
Der Kontext muss zugelassen werden, um die Zustellung von Paketen in der nicht in der reihenfolge erfolgten Reihenfolge zu einem späteren Zeitpunkt über die Nachrichtenunterstützungsfunktionen zu erkennen. Die Verwendung dieses Flags impliziert alle vom INTEGRITY-Flag angegebenen Bedingungen.
VERTRAULICHKEIT
Der Kontext kann Daten während der Übertragung mithilfe der Funktionen EncryptMessage (General) und DecryptMessage (General) schützen. Das VERTRAULICHKEITSflag funktioniert nicht, wenn der generierte Kontext für das Gastkonto gilt.
VERWENDEN _ DES _ SITZUNGSSCHLÜSSELS
Ein neuer Sitzungsschlüssel muss ausgehandelt werden.
_EINGABEAUFFORDERUNG _ FÜR ANMELDEINFORMATIONEN
Wenn der Client ein interaktiver Benutzer ist, muss das Sicherheitspaket den Benutzer nach Möglichkeit zur Eingabe der entsprechenden Anmeldeinformationen auffordern.
VERWENDEN _ VON _ BEREITGESTELLTEN ANMELDEINFORMATIONEN
Paketspezifische Anmeldeinformationen sind im Eingabepuffer verfügbar. Das Sicherheitspaket kann diese Anmeldeinformationen verwenden, um die Verbindung zu authentifizieren.
SPEICHERN _ DER _ ANGEGEBENEN ANMELDEINFORMATIONEN
Die angegebenen Anmeldeinformationen sollten mit den zusätzlichen Anmeldeinformationen zwischengespeichert werden.
ZUORDNEN VON _ ARBEITSSPEICHER
Das Sicherheitspaket muss Arbeitsspeicher zuordnen. Der Aufrufer muss schließlich die FreeContextBuffer-Funktion aufrufen, um vom Sicherheitspaket zugeordneten Arbeitsspeicher frei zu geben.
VERWENDEN DES _ DCE-STILS _
Der Aufrufer erwartet eine Drei-Bei-Authentifizierungstransaktion.
DATAGRAMM
Datagrammsemantik muss verwendet werden. Weitere Informationen finden Sie unter Datagrammkontexte.
CONNECTION
Verbindungssemantik muss verwendet werden. Weitere Informationen finden Sie unter Verbindungsorientierte Kontexte.
Datenstrom
Streamsemantik muss verwendet werden. Weitere Informationen finden Sie unter Stream Contexts.
ERWEITERTER _ FEHLER
Fehlermeldungen für den Peer müssen generiert werden, wenn der Kontext fehlschlägt.
INTEGRITÄT
Die Pufferintegrität kann überprüft werden, aber es ist keine Sequenzierungs- oder Antworterkennung aktiviert.
KEINE _ INTEGRITÄT
Die INTEGRITÄTsanforderung wird ignoriert.
IDENTIFIZIEREN
Wenn ein Server die Identität eines Kontexts ant, für den dieses Flag festgelegt ist, ergibt dieser Identitätswechsel äußerst eingeschränkten Zugriff. Identitätswechsel mit festgelegter IDENTIFY-Gruppe wird verwendet, um die Identität des Clients zu überprüfen.