Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Windows Communication Foundation (WCF) è una piattaforma di programmazione distribuita basata su messaggi SOAP e la protezione dei messaggi tra client e servizi è essenziale per proteggere i dati. WCF offre una piattaforma versatile e interoperabile per lo scambio di messaggi sicuri in base all'infrastruttura di sicurezza esistente e agli standard di sicurezza riconosciuti per i messaggi SOAP.
WCF usa concetti familiari se sono state compilate applicazioni sicure e distribuite con tecnologie esistenti, ad esempio HTTPS, sicurezza integrata di Windows o nomi utente e password per autenticare gli utenti. WCF non solo si integra con infrastrutture di sicurezza esistenti, ma estende anche la sicurezza distribuita oltre i domini solo Windows usando messaggi SOAP sicuri. Si consideri WCF un'implementazione di meccanismi di sicurezza esistenti con il vantaggio principale dell'uso di SOAP come protocollo oltre ai protocolli esistenti. Ad esempio, le credenziali che identificano un client o un servizio, ad esempio il nome utente e la password o i certificati X.509, hanno profili SOAP basati su XML interoperabili. Usando questi profili, i messaggi vengono scambiati in modo sicuro sfruttando specifiche aperte come le firme digitali XML e la crittografia XML. Per un elenco delle specifiche, vedere Protocolli di servizi Web supportati da System-Provided binding di interoperabilità.
Un altro parallelo è il Component Object Model (COM) nella piattaforma Windows, che consente applicazioni sicure e distribuite. COM dispone di un meccanismo di sicurezza completo in cui il contesto di sicurezza può essere propagato tra i componenti; questo meccanismo applica l'integrità, la riservatezza e l'autenticazione. TUTTAVIA, COM non abilita la messaggistica sicura multipiattaforma, come WCF. Tramite WCF è possibile creare servizi e client che si estendono da domini Windows in Internet. I messaggi interoperabili di WCF sono essenziali per la creazione di servizi dinamici basati sull'azienda che consentono di sentirsi sicuri della sicurezza delle informazioni.
Vantaggi della sicurezza di Windows Communication Foundation
WCF è una piattaforma di programmazione distribuita basata sui messaggi SOAP. Tramite WCF è possibile creare applicazioni che funzionano sia come servizi che come client del servizio, creando ed elaborando messaggi da un numero illimitato di altri servizi e client. In un'applicazione distribuita di questo tipo, i messaggi possono passare da un nodo a un nodo, attraverso firewall, su Internet e attraverso numerosi intermediari SOAP. Questo introduce un'ampia gamma di minacce per la sicurezza dei messaggi. Gli esempi seguenti illustrano alcune minacce comuni che la sicurezza WCF può contribuire a ridurre durante lo scambio di messaggi tra entità:
Osservazione del traffico di rete per ottenere informazioni riservate. Ad esempio, in uno scenario online-banking, un cliente richiede il trasferimento di fondi da un conto a un altro. Un utente malintenzionato intercetta il messaggio e, avendo il numero di conto e la password, successivamente esegue un trasferimento di fondi dall'account compromesso.
Entità non autorizzate che fungono da servizi senza conoscere il client. In questo scenario, un utente malintenzionato (non autorizzato) funge da servizio online e intercetta i messaggi dal client per ottenere informazioni riservate. Poi il rogue usa i dati rubati per trasferire fondi dal conto compromesso. Questo attacco è noto anche come attacco di phishing.
Modifica dei messaggi per ottenere un risultato diverso rispetto al chiamante previsto. Ad esempio, la modifica del numero di conto a cui viene effettuato un deposito consente ai fondi di andare a un conto non autorizzato.
Hacker replays in cui un hacker nuisance riproduce lo stesso ordine di acquisto. Ad esempio, un booktore online riceve centinaia di ordini e invia i libri a un cliente che non li ha ordinati.
Impossibilità di un servizio di autenticare un client. In questo caso, il servizio non può garantire che la persona appropriata ha eseguito la transazione.
In sintesi, la sicurezza del trasferimento offre le garanzie seguenti:
Autenticazione dell'endpoint di servizio (risponditore).
Autenticazione del principale client (iniziatore).
Integrità del messaggio.
Riservatezza dei messaggi.
Rilevamento di replay.
Integrazione con infrastrutture di sicurezza esistenti
Spesso, le distribuzioni di servizi Web hanno soluzioni di sicurezza esistenti, ad esempio Secure Sockets Layer (SSL) o il protocollo Kerberos. Alcuni sfruttano un'infrastruttura di sicurezza già distribuita, ad esempio i domini di Windows che usano Active Directory. Spesso è necessario integrarsi con queste tecnologie esistenti durante la valutazione e l'adozione di quelle più recenti.
La sicurezza WCF si integra con i modelli di sicurezza del trasporto esistenti e può sfruttare l'infrastruttura esistente per i modelli di sicurezza di trasferimento più recenti basati sulla sicurezza dei messaggi SOAP.
Integrazione con i modelli di autenticazione esistenti
Una parte importante di qualsiasi modello di sicurezza delle comunicazioni è la possibilità di identificare e autenticare le entità nella comunicazione. Queste entità nella comunicazione usano "identità digitali" o credenziali per autenticarsi con i peer di comunicazione. Man mano che le piattaforme di comunicazione distribuite si sono sviluppate, sono stati implementati vari modelli di autenticazione delle credenziali e di sicurezza correlati. Ad esempio, su Internet, l'uso di un nome utente e di una password per identificare gli utenti è comune. Nella Intranet l'uso di un controller di dominio Kerberos per eseguire il backup dell'autenticazione utente e del servizio sta diventando comune. In alcuni scenari, ad esempio tra due partner commerciali, i certificati possono essere usati per autenticare reciprocamente i partner.
Pertanto, nel mondo dei servizi Web, in cui lo stesso servizio potrebbe essere esposto a clienti aziendali interni e a partner esterni o clienti Internet, è importante che l'infrastruttura fornisca l'integrazione con questi modelli di autenticazione di sicurezza esistenti. La sicurezza WCF supporta un'ampia gamma di tipi di credenziali (modelli di autenticazione), tra cui:
Chiamante anonimo.
Nome utente delle credenziali del client.
Credenziale client del certificato.
Windows (protocollo Kerberos e NT LanMan [NTLM]).
Standard e interoperabilità
In un mondo con distribuzioni esistenti di grandi dimensioni, l'omogeneità è rara. Le piattaforme di elaborazione/comunicazione distribuite devono interagire con le tecnologie offerte da fornitori diversi. Analogamente, la sicurezza deve anche essere interoperabile.
Per abilitare sistemi di sicurezza interoperabili, le aziende attive nel settore dei servizi Web hanno creato una varietà di standard. In particolare per quanto riguarda la sicurezza, sono stati proposti alcuni standard rilevanti: WS-Security: SOAP Message Security (accettato dal corpo degli standard OASIS e precedentemente noto come WS-Security), WS-Trust, WS-SecureConversation e WS-SecurityPolicy.
WCF supporta un'ampia gamma di scenari di interoperabilità. La BasicHttpBinding classe è destinata al profilo di sicurezza di base e la WSHttpBinding classe è destinata agli standard di sicurezza più recenti, ad esempio WS-Security 1.1 e WS-SecureConversation. Rispettando questi standard, la sicurezza WCF può interagire e integrarsi con i servizi Web ospitati in sistemi operativi e piattaforme diverse da Microsoft Windows.
Aree funzionali di sicurezza WCF
La sicurezza WCF è suddivisa in tre aree funzionali: sicurezza del trasferimento, controllo di accesso e auditing. Le sezioni seguenti illustrano brevemente queste aree e forniscono collegamenti per altre informazioni.
Sicurezza del trasferimento
La sicurezza del trasferimento comprende tre principali funzioni di sicurezza: integrità, riservatezza e autenticazione. L'integrità è la possibilità di rilevare se un messaggio è stato manomesso. La riservatezza è la capacità di mantenere un messaggio illeggibile da chiunque non sia il destinatario previsto; questo risultato viene ottenuto tramite la crittografia. L'autenticazione è la possibilità di verificare un'identità richiesta. Insieme, queste tre funzioni consentono di garantire che i messaggi arrivino in modo sicuro da un punto all'altro.
Modalità di trasporto e sicurezza dei messaggi
Vengono usati due meccanismi principali per implementare la sicurezza del trasferimento in WCF: modalità di sicurezza del trasporto e modalità di sicurezza dei messaggi .
La modalità di sicurezza del trasporto usa un protocollo a livello di trasporto, ad esempio HTTPS, per ottenere la sicurezza del trasferimento. La modalità di trasporto ha il vantaggio di essere ampiamente adottata, disponibile su molte piattaforme e meno complessa dal calcolo. Tuttavia, presenta lo svantaggio di proteggere i messaggi solo da punto a punto.
La modalità di sicurezza dei messaggi, d'altra parte, usa WS-Security (e altre specifiche) per implementare la sicurezza del trasferimento. Poiché la sicurezza dei messaggi viene applicata direttamente ai messaggi SOAP ed è contenuta all'interno delle buste SOAP, insieme ai dati dell'applicazione, ha il vantaggio di essere indipendente dal protocollo di trasporto, più estendibile e garantire la sicurezza end-to-end (rispetto al punto a punto); presenta lo svantaggio di essere più lento rispetto alla modalità di sicurezza del trasporto perché deve gestire la natura XML dei messaggi SOAP.
Per ulteriori informazioni su queste differenze, vedere Protezione di servizi e clienti.
Una terza modalità di sicurezza usa entrambe le modalità precedenti e offre vantaggi di entrambi. Questa modalità è denominata TransportWithMessageCredential. In questa modalità viene usata la sicurezza dei messaggi per autenticare il client e la sicurezza del trasporto viene usata per autenticare il server e fornire riservatezza e integrità dei messaggi. Grazie a questo, la TransportWithMessageCredential modalità di sicurezza è quasi veloce come la modalità di sicurezza del trasporto e offre l'estendibilità dell'autenticazione client allo stesso modo della sicurezza dei messaggi. Tuttavia, a differenza della modalità di sicurezza dei messaggi, non fornisce sicurezza end-to-end completa.
Controllo dell’accesso
Il controllo di accesso è noto anche come autorizzazione. L'autorizzazione consente a utenti diversi di avere privilegi diversi per visualizzare i dati. Ad esempio, poiché i file delle risorse umane di un'azienda contengono dati sensibili sui dipendenti, solo i manager possono visualizzare i dati dei dipendenti. Inoltre, i manager possono visualizzare solo i dati per i report diretti. In questo caso, il controllo di accesso si basa sia sul ruolo ("manager") sia sull'identità specifica del manager (per impedire a un responsabile di esaminare i record dei dipendenti di un altro manager).
In WCF, le funzionalità di controllo di accesso vengono fornite tramite l'integrazione con Common Language Runtime (CLR) PrincipalPermissionAttribute e tramite un set di API note come modello di identità. Per informazioni dettagliate sul controllo di accesso e sull'autorizzazione basata sulle attestazioni, vedere Estensione della sicurezza.
Revisione contabile
Il controllo è la registrazione degli eventi di sicurezza nel registro eventi di Windows. È possibile registrare eventi correlati alla sicurezza, ad esempio errori di autenticazione (o operazioni riuscite). Per ulteriori informazioni, vedere Controllo. Per informazioni dettagliate sulla programmazione, vedere Procedura: Controllare gli eventi di sicurezza.
Vedere anche
- PrincipalPermissionAttribute
- Protezione dei servizi
- scenari di sicurezza comuni
- Associazioni e sicurezza
- Protezione di servizi e client
- Autenticazione
- Autorizzazione
- Federazione e token emessi
- Revisione contabile
- Linee guida e procedure consigliate per la sicurezza
- Configurazione dei servizi tramite file di configurazione
- System-Provided Binding
- Panoramica della creazione di endpoint
- Estensione della sicurezza
- Modello di sicurezza per Windows Server App Fabric