Kontextanforderungen
Kontextanforderungen werden als Eine Kombination von Bitflags ausgedrückt, die entweder an die InitializeSecurityContext (General) oder AcceptSecurityContext (General)-Funktion übergeben werden. Diese Flags wirken sich auf die Kontext auf verschiedene Arten 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 eine Reihe von Flags anzugeben, die die erforderlichen Funktionen angeben. Wenn die Funktion zurückgegeben wird, gibt der pfContextAttr Parameter die Attribute des etablierten Kontexts an. Der Aufrufer bestimmt, ob die endgültigen Kontextattribute akzeptabel sind.
Flags, die von InitializeSecurityContext (General) angefordert oder zurückgegeben werden, werden von ISC vorangestellt. Die von AcceptSecurityContext (General) angeforderten oder zurückgegebenen werden von ASC präfixiert. Flags, die an eine Funktion übergeben werden, enthalten REQ, während zurückgegebene Flags RET enthalten. Ein Anforderungskennzeichnung für die gegenseitige Authentifizierung, die an InitializeSecurityContext (Allgemein) übergeben wird, ist beispielsweise ISC_REQ_MUTUAL_AUTH. Ein Server, der die gegenseitige Authentifizierung anfordert, übergibt ASC_REQ_MUTUAL_AUTH an AcceptSecurityContext (Allgemein). Wenn die 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 die gegenseitige Authentifizierung anfordert, aber das Sicherheitspaket darauf hinweist, dass es nicht ausgeführt werden kann, muss der Aufrufer entscheiden, ob der Kontext abgebrochen oder fortgesetzt werden soll.
In der folgenden Tabelle werden die verschiedenen Kontextanforderungskennzeichnungen beschrieben.
Flagge | Beschreibung |
---|---|
DELEGIEREN |
Der Server in der Transportanwendung kann neue Sicherheitskontexte erstellen, die den Client annehmen, der von anderen Servern als Kontexte des Clients akzeptiert wird. Stellvertretung funktioniert nur, wenn MUTUAL_AUTH festgelegt ist. DELEGATE wird derzeit nur von Kerberos-unterstützt. Darüber hinaus delegiert Kerberos nur an einen Server, der das Flag TRUSTED_FOR_DELEGATION hat. Verwenden Sie dieses Kennzeichen nicht für eingeschränkte Delegierung. |
MUTUAL_AUTH |
Die kommunizierenden Parteien müssen ihre Identitäten gegenseitig authentifizieren. Ohne MUTUAL_AUTH authentifiziert der Client seine Identität auf dem Server. Mit MUTUAL_AUTH muss der Server auch seine Identität für den Client authentifizieren. Bei Verwendung des Schannel Sicherheitspakets legt der Server die ASC_RET_MUTUAL_AUTH Konstante nur 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 bedingungen, die durch das INTEGRITY-Flag angegeben werden. |
SEQUENCE_DETECT |
Der Kontext muss die Out-of-Order-Zustellung von Paketen später über die Nachrichtenunterstützungsfunktionen erkennen dürfen. Die Verwendung dieses Kennzeichens impliziert alle bedingungen, die durch das INTEGRITY-Flag angegeben werden. |
VERTRAULICHKEIT |
Der Kontext kann Daten während der Übertragung mithilfe der EncryptMessage (General) und DecryptMessage (General)-Funktionen schützen. Das VERTRAULICHKEITSkennzeichnung funktioniert nicht, wenn der generierte Kontext für das Gastkonto gilt. |
USE_SESSION_KEY |
Ein neuer Sitzungsschlüssel muss ausgehandelt werden. |
PROMPT_FOR_CREDS |
Wenn der Client ein interaktiver Benutzer ist, muss das Sicherheitspaket den Benutzer nach Möglichkeit zur Eingabe der entsprechenden Anmeldeinformationenauffordern. |
USE_SUPPLIED_CREDS |
Paketspezifische Anmeldeinformationen sind im Eingabepuffer verfügbar. Das Sicherheitspaket kann diese Anmeldeinformationen verwenden, um die Verbindung zu authentifizieren. |
SAVE_SUPPLIED_CREDS |
Die angegebenen Anmeldeinformationen sollten mit den zusätzlichen Anmeldeinformationen zwischengespeichert werden. |
ALLOCATE_MEMORY |
Das Sicherheitspaket muss Arbeitsspeicher zuweisen. Der Aufrufer muss schließlich die FreeContextBuffer--Funktion aufrufen, um den vom Sicherheitspaket zugewiesenen Arbeitsspeicher freizugeben. |
USE_DCE_STYLE |
Der Aufrufer erwartet eine dreistufige Authentifizierung Transaktion. |
DATAGRAMM |
Datagram- Semantik muss verwendet werden. Weitere Informationen finden Sie unter Datagram Contexts. |
VERBINDUNG |
Verbindungssemantik muss verwendet werden. Weitere Informationen finden Sie unter Connection-Oriented Kontext. |
BACH |
Streamsemantik muss verwendet werden. Weitere Informationen finden Sie unter Stream Contexts. |
EXTENDED_ERROR |
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. |
NO_INTEGRITY |
Die INTEGRITÄTsanforderung wird ignoriert. |
IDENTIFIZIEREN |
Wenn ein Server einen Kontext mit diesem Flagsatz angibt, führt dieser Identitätswechsel zu extrem eingeschränktem Zugriff. Der Identitätswechsel mit DEM IDENTIFY-Satz wird verwendet, um die Identität des Clients zu überprüfen. |