Protezione estesa
La protezione estesa è un meccanismo per associare un canale sicuro esterno, ad esempio SSL ai protocolli di autenticazione del canale interno, ad esempio Kerberos-APREQ e l'autenticazione dell'intestazione HTTP.
Il concetto di protezione estesa è definito in RFC2743.
La protezione estesa, se disponibile, viene configurata automaticamente nel client, ma potrebbe richiedere la configurazione nel server per scenari non predefiniti.
Configurazioni supportate
La protezione estesa è supportata quando si usano WS_HTTP_CHANNEL_BINDING con associazioni di sicurezza che usano protocolli di autenticazione integrata di Windows, ad esempio WS_HTTP_HEADER_AUTH_SECURITY_BINDING e WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING. Viene configurato tramite le proprietà di sicurezza seguenti:
- WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY
- WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO
- WS_SECURITY_PROPERTY_SERVICE_IDENTITIES
Sono possibili le configurazioni seguenti che coinvolgono la protezione estesa:
Client
- WS_SSL_TRANSPORT_SECURITY_BINDING viene usato con WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING o WS_HTTP_HEADER_AUTH_SECURITY_BINDING. In questa configurazione l'associazione di autenticazione è associata alla connessione SSL tramite un token di protezione esteso estratto automaticamente dalla connessione SSL.
- Non viene usato alcun ssl e WS_HTTP_HEADER_AUTH_SECURITY_BINDING è impostato. L'associazione di autenticazione viene associata tramite il nome dell'entità server (SPN), che viene determinato automaticamente dal WS_ENDPOINT_ADDRESS.
Server
- WS_SSL_TRANSPORT_SECURITY_BINDING viene usato con WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING o WS_HTTP_HEADER_AUTH_SECURITY_BINDING. In questa configurazione l'associazione di autenticazione viene associata alla connessione SSL tramite un token di protezione esteso estratto dalla connessione SSL e convalidato automaticamente.
- Non viene usato alcun ssl e WS_HTTP_HEADER_AUTH_SECURITY_BINDING è impostato. L'associazione di autenticazione viene associata tramite il nome dell'entità server (SPN), che deve essere fornito tramite WS_SECURITY_PROPERTY_SERVICE_IDENTITIES. Quando viene ricevuto un messaggio, il nome SPN viene estratto e convalidato per una corrispondenza esatta con i nomi dei servizi specificati. La mancata fornitura di nomi SPN equivale all'impostazione WS_EXTENDED_PROTECTION_POLICY_NEVER.
- Non viene usato alcun ssl, WS_EXTENDED_PROTECTION_SCENARIO_BOUND_SERVER viene specificato e viene usato WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING. In questa configurazione WS_SECURITY_PROPERTY_SERVICE_IDENTITIES non deve essere impostato. Non viene eseguito alcun controllo SPN oltre ciò che viene eseguito come parte del protocollo Kerberos.
- WS_EXTENDED_PROTECTION_SCENARIO_TERMINATED_SSL viene specificato e viene usato WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING o WS_HTTP_HEADER_AUTH_SECURITY_BINDING. WS_SECURITY_PROPERTY_SERVICE_IDENTITIES deve essere impostato.
Piattaforme supportate
La protezione estesa è supportata nelle piattaforme con il supporto nel sistema operativo. Windows 7 e Windows Server 2008 R2 offrono supporto predefinito. Altre piattaforme potrebbero richiedere un aggiornamento.
Se il sistema operativo del server non fornisce tale supporto, le informazioni di protezione estese inviate dal client vengono ignorate. Di conseguenza, i client che usano la protezione estesa possono comunicare con tale server, ma il vantaggio di sicurezza viene perso. Nel client WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING combinato con WS_SSL_TRANSPORT_SECURITY_BINDING supporta solo la protezione estesa in Vista e versioni successive.
NOTA: la protezione estesa non disponibile non impedisce l'uso di una particolare configurazione.
Interoperabilità
Un server configurato per impostazione predefinita può comunicare con i client SOAP indipendentemente dal fatto che usino o meno la protezione estesa. Un'eccezione è Windows XP e Windows Server 2003 WWSAPI client aggiornati per supportare la protezione estesa e usare sia WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING che WS_SSL_TRANSPORT_SECURITY_BINDING. Per supportare tali client WS_EXTENDED_PROTECTION_POLICY_NEVER deve essere specificato dal server. I server configurati con WS_EXTENDED_PROTECTION_POLICY_ALWAYS rifiutano la comunicazione dai client che non usano la protezione estesa. Nel client, WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING combinato con WS_SSL_TRANSPORT_SECURITY_BINDING comporterà l'invio del messaggio usando la codifica del trasferimento in blocchi HTTP in Vista e versioni successive. Ciò può causare problemi di interoperabilità con i server che non supportano il trasferimento in blocchi.
Le Enumerazioni/Costanti seguenti fanno parte della protezione estesa:
Gli stub seguenti fanno parte della protezione estesa: