Strutture di autenticazione
Le strutture di autenticazione vengono classificate in base all'utilizzo come indicato di seguito:
- Strutture SSPI
- Strutture Schannel
- Strutture personalizzate dei pacchetti di sicurezza
- Strutture del provider di rete
- Strutture GINA
- Strutture dell'autorità di sicurezza locale
- Strutture di gestione delle credenziali
- Strutture smart card
Strutture SSPI
Le strutture seguenti, definite in Sspi.h, vengono usate nelle funzioni SSPI.
Struttura | Descrizione |
---|---|
CREDSSP_CRED | Specifica i dati di autenticazione per i pacchetti di sicurezza Schannel e Negotiate |
SEC_WINNT_AUTH_IDENTITY | Usato per passare un nome utente e una password specifici alla libreria di runtime allo scopo dell'autenticazione. |
SEC_WINNT_AUTH_IDENTITY_EX | Contiene informazioni su un utente. Vengono forniti sia un formato ANSI che Unicode di questa struttura. |
SecBuffer | Buffer allocato da un'applicazione di trasporto da passare a un pacchetto di sicurezza. |
SecBufferDesc | Matrice di strutture SecBuffer da passare da un'applicazione di trasporto a un pacchetto di sicurezza. |
SecPkgContext_AccessToken | Contiene un handle per il token di accesso del contesto di sicurezza. |
SecPkgContext_ClientCreds | Specifica le credenziali client quando si chiama la funzione QueryContextAttributes (CredSSP). |
SecPkgContext_ConnectionInfo | Contiene informazioni di protocollo e crittografia. Questa struttura viene usata dalla funzione QueryContextAttributes (General). |
SecPkgContext_CredentialName | Specifica il nome delle credenziali. |
SecPkgContext_DceInfo | Contiene i dati di autorizzazione usati dai servizi DCE. |
SecPkgContext_EapKeyBlock | Contiene i dati chiave usati dal protocollo di autenticazione TLS EAP. |
SecPkgContext_Flags | Contiene informazioni sui flag nel contesto di sicurezza. |
SecPkgContext_IssuerListInfoEx | Contiene un elenco di autorità di certificazione attendibili. |
SecPkgContext_Lifespan | Indica l'intervallo di vita di un contesto di sicurezza. |
SecPkgContext_Names | Contiene il nome dell'utente associato a un contesto di sicurezza. |
SecPkgContext_NativeNames | Contiene i nomi delle entità client e server dal ticket in uscita. |
SecPkgContext_NegotiationInfo | Contiene informazioni sul pacchetto di sicurezza configurato o configurato. Fornisce inoltre lo stato della negoziazione per configurare il pacchetto di sicurezza. |
SecPkgContext_PackageInfo | Contiene il nome di un provider di supporto per la sicurezza . |
SecPkgContext_PasswordExpiry | Contiene informazioni sulla scadenza di una password o di altre credenziali. |
SecPkgContext_SessionKey | Contiene informazioni sulla chiave della sessione. |
SecPkgContext_Sizes | Contiene le dimensioni delle strutture importanti utilizzate nelle funzioni di supporto dei messaggi. |
SecPkgContext_StreamSizes | Contiene le dimensioni dei vari attributi del flusso da usare con le funzioni di supporto dei messaggi. |
SecPkgContext_TargetInformation | Contiene informazioni sulle credenziali usate per il contesto di sicurezza. |
SecPkgCredentials_Names | Contiene il nome dell'utente associato a un contesto. |
SecPkgInfo | Fornisce informazioni generali su un pacchetto di sicurezza, ad esempio il nome e le funzionalità. |
SECURITY_INTEGER | Struttura che contiene un valore numerico. Viene usato per definire altri tipi. |
SecurityFunctionTable | Tabella Dispatch che contiene puntatori alle funzioni definite in SSPI. |
Strutture Schannel
Le strutture seguenti sono definite per l'uso con Schannel.
Struttura | Descrizione |
---|---|
SCH_CRED_PUBLIC_CERTCHAIN | Contiene un singolo certificato. È possibile creare una catena di certificazione da questo certificato. |
SCH_CRED_SECRET_PRIVKEY | Contiene informazioni sulla chiave privata necessarie per autenticare un client o un server. |
SCHANNEL_CERT_HASH | Contiene i dati dell'archivio hash per il certificato usato da Schannel. |
SCHANNEL_CERT_HASH_STORE | Contiene i dati dell'archivio hash per il certificato usato da Schannel in modalità kernel. |
SCHANNEL_ALERT_TOKEN | Genera un avviso SSL (Secure Sockets Layer Protocol) o Transport Layer Security Protocol (TSL) da inviare alla destinazione di una chiamata alla funzione InitializeSecurityContext (Schannel) o alla funzione AcceptSecurityContext (Schannel). |
SCHANNEL_CLIENT_SIGNATURE | Specifica una firma client quando una chiamata alla funzione InitializeSecurityContext (Schannel) non può accedere alla chiave privata per un certificato client (in questo caso, la funzione restituisce SEC_I_SIGNATURE_NEEDED). |
SCHANNEL_CRED | Contiene i dati per una credenziale Schannel. |
SCHANNEL_SESSION_TOKEN | Specifica se le riconnessioni sono abilitate per una sessione di autenticazione creata chiamando la funzione InitializeSecurityContext (Schannel) o la funzione AcceptSecurityContext (Schannel). |
SecPkgContext_Authority | Contiene il nome dell'autorità di autenticazione, se disponibile. Può essere un'autorità di certificazione (CA) o il nome di un server o di un dominio che ha autenticato la connessione. |
SecPkgContext_ConnectionInfo | Contiene informazioni di protocollo e crittografia. Questa struttura viene usata dalla funzione QueryContextAttributes (General). |
SecPkgContext_IssuerListInfoEx | Contiene un elenco di autorità di certificazione attendibili. |
SecPkgContext_KeyInfo | Contiene informazioni sulle chiavi di sessione usate in un contesto di sicurezza. Questa struttura è stata sostituita dalla struttura SecPkgContext_ConnectionInfo . |
SecPkgContext_ProtoInfo | Contiene informazioni sul protocollo in uso. |
SecPkgContext_SessionAppData | Archivia i dati dell'applicazione per un contesto di sessione. |
SecPkgCred_CipherStrengths | Contiene il livello minimo e massimo consentito per la crittografia usata dalle credenziali Schannel specificate. |
SecPkgCred_SupportedAlgs | Contiene gli identificatori per gli algoritmi consentiti con una credenziale Schannel specificata. |
SecPkgCred_SupportedProtocols | Indica i protocolli consentiti con una credenziale Schannel specificata. |
X509Certificate | Rappresenta un certificato X.509 . |
Strutture personalizzate dei pacchetti di sicurezza
Il pacchetto di sicurezza personalizzato usa le strutture seguenti.
Struttura | Descrizione |
---|---|
LSA_SECPKG_FUNCTION_TABLE | Tabella di puntatori alle funzioni LSA ( Local Security Authority ) che i pacchetti di sicurezza personalizzati possono chiamare. |
SECPKG_CALL_INFO | Contiene informazioni su una chiamata di funzione in esecuzione. |
SECPKG_CLIENT_INFO | Contiene informazioni sull'utente di un pacchetto di sicurezza. |
SECPK_CONTEXT_THUNKS | Contiene informazioni sulle chiamate al pacchetto di sicurezza che verrà eseguito in-process con LSA. |
SECPKG_DLL_FUNCTIONS | Contiene le funzioni disponibili per i pacchetti di sicurezza personalizzati in esecuzione in-process con un'applicazione client/server. |
SECPKG_EVENT_DOMAIN_CHANGE | Contiene informazioni sulla sessione e sul computer. Questo nome di struttura è un alias per la struttura SECPKG_PARAMETERS . |
SECPKG_EVENT_NOTIFY | Contiene informazioni su un evento correlato alla sicurezza. |
SECPKG_EVENT_PACKAGE_CHANGE | Contiene informazioni sulla disponibilità e sull'uso dei pacchetti di sicurezza. |
SECPKG_EXTENDED_INFORMATION | Contiene informazioni estese sul pacchetto di sicurezza. |
SECPKG_FUNCTION_TABLE | Contiene puntatori alle funzioni implementate dai pacchetti di sicurezza. |
SECPKG_GSS_INFO | Contiene informazioni sull'OID GSS usato per identificare un pacchetto di sicurezza. |
SECPKG_MUTUAL_AUTH_LEVEL | Contiene informazioni sul livello di autenticazione reciproca utilizzato da un pacchetto di sicurezza. |
SECPKG_PARAMETERS | Contiene informazioni sulla sessione e sul computer. |
SECPKG_PRIMARY_CRED | Contiene informazioni sulle credenziali primarie . |
SECPKG_SUPPLEMENTAL_CRED | Contiene informazioni supplementari sulle credenziali . |
SECPKG_SUPPLEMENTAL_CRED_ARRAY | Contiene informazioni supplementari sulle credenziali. |
SECPKG_USER_FUNCTION_TABLE | Contiene le funzioni implementate da un pacchetto di sicurezza caricato in-process con applicazioni client/server. |
SecurityUserData | Contiene informazioni sull'utente connesso. |
Strutture del provider di rete
Le strutture seguenti vengono usate dalle API del provider di rete e dalle funzioni correlate.
Struttura | Descrizione |
---|---|
NETCONNECTINFOSTRUCT | Contiene informazioni sulle prestazioni di una connessione di rete. |
NETRESOURCE | Contiene informazioni su una risorsa di rete enumerata. |
NOTIFYADD | Contiene i dettagli di un'operazione di connessione di rete. |
NOTIFYCANCEL | Contiene i dettagli di un'operazione di disconnessione di rete. |
NOTIFYINFO | Contiene informazioni sullo stato relative a un'operazione di connessione di rete o disconnessione. |
REMOTE_NAME_INFO | Contiene informazioni su un nome universale remoto. |
UNIVERSAL_NAME_INFO | Contiene un nome universale locale. |
Strutture GINA
Le funzioni di interfaccia GINA e le funzioni di supporto winlogon usano le strutture seguenti.
Struttura | Descrizione |
---|---|
WLX_CLIENT_CREDENTIALS_INFO_V1_0 | Contiene informazioni sulle credenziali client. |
WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 | Contiene le credenziali client che consentono il trasferimento trasparente delle credenziali a una sessione di destinazione. |
WLX_DESKTOP | Contiene informazioni sul desktop. |
WLX_DISPATCH_VERSION_1_0 | Contiene la tabella dispatch Winlogon, versione 1.0. |
WLX_DISPATCH_VERSION_1_1 | Contiene la tabella dispatch Winlogon, versione 1.1. |
WLX_DISPATCH_VERSION_1_2 | Contiene la tabella dispatch Winlogon, versione 1.2. |
WLX_DISPATCH_VERSION_1_3 | Contiene la tabella dispatch Winlogon, versione 1.3. |
WLX_DISPATCH_VERSION_1_4 | Contiene la tabella dispatch Winlogon, versione 1.4. |
WLX_MPR_NOTIFY_INFO | Contiene informazioni di autenticazione e identificazione. |
WLX_PROFILE_V1_0 | Contiene informazioni usate per configurare l'ambiente iniziale. |
WLX_PROFILE_V2_0 | Contiene informazioni usate per configurare l'ambiente iniziale. |
WLX_TERMINAL_SERVICES_DATA | Contiene il percorso del profilo dei servizi terminal e le informazioni sulla home directory. |
Strutture dell'autorità di sicurezza locale
Autorità di sicurezza locale (LSA) usa le strutture seguenti.
Struttura | Descrizione |
---|---|
DOMAIN_PASSWORD_INFORMATION | Contiene informazioni sui criteri password di un dominio, ad esempio la lunghezza minima per le password e la modalità di utilizzo delle password univoche. |
KERB_ADD_CREDENTIALS_REQUEST | Specifica un messaggio da aggiungere, rimuovere o sostituire una credenziale del server aggiuntivo per una sessione di accesso. |
KERB_ADD_CREDENTIALS_REQUEST_EX | Specifica un messaggio da aggiungere, rimuovere o sostituire una credenziale del server aggiuntivo per una sessione di accesso e i nomi dell'entità servizio associati a tale credenziale. |
KERB_CERTIFICATE_LOGON | Contiene informazioni su una sessione di accesso a smart card. |
KERB_CERTIFICATE_UNLOCK_LOGON | Contiene informazioni usate per sbloccare una workstation bloccata durante una sessione di accesso interattivo della smart card. |
KERB_CHANGEPASSWORD_REQUEST | Contiene informazioni usate per modificare una password. |
KERB_CRYPTO_KEY | Contiene informazioni su una chiave di sessione crittografica Kerberos. |
KERB_EXTERNAL_NAME | Contiene informazioni su un nome esterno. |
KERB_EXTERNAL_TICKET | Contiene informazioni su un ticket esterno. |
KERB_INTERACTIVE_LOGON | Contiene informazioni su una sessione di accesso interattiva. |
KERB_INTERACTIVE_PROFILE | Contiene informazioni su un profilo di accesso interattivo. |
KERB_INTERACTIVE_UNLOCK_LOGON | Contiene informazioni usate per sbloccare una workstation bloccata durante una sessione di accesso interattiva. |
KERB_PURGE_TKT_CACHE_REQUEST | Contiene informazioni usate per eliminare le voci dalla cache dei ticket. |
KERB_QUERY_TKT_CACHE_REQUEST | Usato per recuperare informazioni su tutti i ticket memorizzati nella cache per la sessione di accesso utente specificata. |
KERB_QUERY_TKT_CACHE_RESPONSE | Contiene i risultati della query sulla cache dei ticket. |
KERB_RETRIEVE_TKT_REQUEST | Contiene informazioni usate per recuperare un ticket. |
KERB_RETRIEVE_TKT_RESPONSE | Contiene la risposta dal recupero di un ticket. |
KERB_S4U_LOGON | Contiene informazioni su un servizio per la sessione di accesso (S4U). |
KERB_SMARTCARD_CSP_INFO | Contiene informazioni su un provider di servizi di crittografia smart card.Contains information about a smart card cryptographic service provider (CSP). |
KERB_SMART_CARD_LOGON | Contiene informazioni su una sessione di accesso a smart card. |
KERB_SMART_CARD_UNLOCK_LOGON | Contiene informazioni usate per sbloccare una workstation bloccata durante una sessione di accesso a smart card. |
KERB_TICKET_CACHE_INFO | Contiene informazioni su un ticket Kerberos memorizzato nella cache. |
KERB_TICKET_LOGON | Contiene informazioni sul profilo per un accesso di rete. |
KERB_TICKET_PROFILE | Contiene informazioni su un profilo di accesso interattivo. |
KERB_TICKET_UNLOCK_LOGON | Contiene informazioni per sbloccare una workstation. |
LSA_DISPATCH_TABLE | Tabella di puntatori alle funzioni LSA che possono chiamare i pacchetti di autenticazione di Windows. |
LSA_STRING | Contiene una stringa ANSI e le relative informazioni sulla lunghezza. |
LSA_FOREST_TRUST_BINARY_DATA | Contiene dati binari usati nelle operazioni di trust della foresta LSA. |
LSA_FOREST_TRUST_COLLISION_INFORMATION | Contiene informazioni sulle collisioni di trust della foresta LSA. |
LSA_FOREST_TRUST_RECORD | Contiene informazioni su una collisione di trust della foresta LSA. |
LSA_FOREST_TRUST_DOMAIN_INFO | Contiene informazioni di identificazione per un dominio. |
LSA_FOREST_TRUST_INFORMATION | Contiene informazioni sull'attendibilità della foresta LSA. |
LSA_FOREST_TRUST_RECORD | Contiene un record di trust della foresta LSA. |
LSA_TOKEN_INFORMATION_NULL | Usato nei casi in cui è necessario un accesso al sistema non autenticato. Questa struttura non ha contenuto. |
LSA_TOKEN_INFORMATION_V1 | Contiene informazioni che un pacchetto di autenticazione può inserire in un oggetto token windows versione 1. |
MSV1_0_CHANGEPASSWORD_REQUEST | Obsoleta. |
MSV1_0_CHANGEPASSWORD_RESPONSE | Obsoleta. |
MSV1_0_ENUMUSERS_REQUEST | Obsoleta. |
MSV1_0_ENUMUSERS_RESPONSE | Obsoleta. |
MSV1_0_GETUSERINFO_REQUEST | Obsoleta. |
MSV1_0_GETUSERINFO_RESPONSE | Obsoleta. |
MSV1_0_INTERACTIVE_LOGON | Contiene informazioni di accesso utente per un accesso interattivo. |
MSV1_0_INTERACTIVE_PROFILE | Contiene informazioni su un profilo di accesso interattivo. |
MSV1_0_LM20_LOGON | Contiene informazioni di accesso usate negli accessi di rete. |
MSV1_0_LM20_LOGON_PROFILE | Contiene informazioni su una sessione di accesso di rete. |
MSV1_0_SUBAUTH_LOGON | Usato dalle DLL di sottoutenticazione . |
MSV1_0_SUBAUTH_REQUEST | Contiene informazioni da passare a un pacchetto di sottoutenticazione. |
MSV1_0_SUBAUTH_RESPONSE | Contiene la risposta da un pacchetto di sottoutenticazione. |
MSV1_0_SUPPLEMENTAL_CREDENTIAL | Usato per passare le credenziali in MSV1_0 da pacchetti di autenticazione Kerberos o personalizzati. |
NETLOGON_LOGON_IDENTITY_INFO | Usato dal Msv1_0SubAuthenticationRoutine e Msv1_0SubAuthenticationFilter per passare informazioni su un utente per l'autenticazione secondaria di accesso. |
OLD_LARGE_INTEGER | Usato per rappresentare un valore intero con segno a 64 bit come due interi a 32 bit. |
QUOTA_LIMITS | Descrive la quantità di risorse di sistema disponibili per un utente. |
SR_SECURITY_DESCRIPTOR | Contiene informazioni sui privilegi di sicurezza dell'utente. |
USER_ALL_INFORMATION | Contiene informazioni sull'utente della sessione. Usato con pacchetti di sottoutenticazione. |
Strutture di gestione delle credenziali
L'API Gestione credenziali include le strutture seguenti.
Struttura | Descrizione |
---|---|
CERT_CREDENTIAL_INFO | Contiene un riferimento a un certificato. |
CREDENZIALI | Contiene una singola credenziale. |
CREDENTIAL_ATTRIBUTE | Contiene un attributo definito dall'applicazione delle credenziali. |
CREDENTIAL_TARGET_INFORMATION | Contiene il nome, il dominio e l'albero del computer di destinazione. |
CREDUI_INFO | Controlla l'aspetto delle finestre di dialogo Gestione credenziali. |
USERNAME_TARGET_CREDENTIAL_INFO | Contiene un riferimento a una credenziale. Questa struttura viene usata per passare un nome utente alla funzione CredMarshalCredential e all'esterno di CredUnmarshalCredential. |
Strutture smart card
Smart Card fornisce le strutture seguenti.
Struttura | Descrizione |
---|---|
OPENCARD_SEARCH_CRITERIA | Fornisce informazioni di ricerca specifiche usate dalla funzione SCardUIDlgSelectCard . |
OPENCARDNAME | Fornisce informazioni usate dalla funzione GetOpenCardName . |
OPENCARDNAME_EX | Fornisce informazioni usate dalla funzione SCardUIDlgSelectCard . |
SCARD_ATRMASK | Individua le schede con SCardLocateCardsByATR. |
SCARD_IO_REQUEST | Avvia una struttura di informazioni sul controllo del protocollo. |
SCARD_READERSTATE | Tiene traccia delle smart card all'interno di un lettore. |