SAML (Security Assertion Markup Language)

Cos'è SAML (Security Assertion Markup Language)?

Il Security Assertion Markup Language (SAML) è un framework standard aperto che svolge un ruolo fondamentale nella gestione delle identità e nel controllo degli accessi. Il framework SAML garantisce interoperabilità e funzionalità coerente tra diversi sistemi. L'uso principale di SAML è consentire alle organizzazioni di implementare soluzioni di single sign-on (SSO).

Come framework standard aperto, SAML è un insieme di linee guida, protocolli e specifiche disponibili pubblicamente e sviluppati attraverso un processo collaborativo. Fa parte di molte librerie di sviluppo, rendendo più semplice per gli sviluppatori integrare SAML nelle loro applicazioni. Ad esempio, OpenSAML, Python-SAML e SimpleSAMLphp sono librerie di sviluppo che implementano il supporto SAML in Java, Python e PHP.

SAML e SSO

Sebbene strettamente correlati, SAML e SSO non sono la stessa cosa. Il single sign-on è un processo di autenticazione che consente a un utente di effettuare il login una sola volta e di accedere a più applicazioni o servizi senza dover effettuare nuovamente il login per ciascuno di essi. SAML è il framework sottostante che supporta lo scambio di dati di autenticazione e autorizzazione tra un provider di identità (IdP) e un provider di servizi (SP).
Aspetto
SSO
SAML
In breve, SSO è un concetto ampio che semplifica e protegge l'accesso degli utenti a più applicazioni, mentre SAML è un framework standard universale utilizzato dagli sviluppatori per garantire la compatibilità tra SSO e altre implementazioni di casi d'uso.

Componenti chiave di SAML

SAML include diversi componenti che collaborano per supportare vari casi d'uso.

Principale (Utente): L'utente che deve accedere a un servizio o risorsa. L'utente interagisce con il provider di servizi e il provider di identità per autenticarsi e ottenere l'accesso alla risorsa desiderata. Includiamo l'utente in questo elenco di componenti perché aiuta a illustrare il funzionamento degli altri componenti SAML.

Identity provider (IdP): Autentica l'utente e fornisce informazioni sull'identità al fornitore di servizi. L'IdP gestisce l'autenticazione e la generazione delle asserzioni.

Provider di servizi (SP): Fornisce servizi o risorse all'utente. L'SP si affida al provider di identità per autenticare l'utente ed è responsabile della richiesta di autenticazione e del consumo di asserzioni.

Asserzioni SAML: Documenti XML emessi dall'IdP che contengono dichiarazioni sull'utente. Esistono diverse asserzioni SAML, inclusi dichiarazioni di autenticazione, dichiarazioni di attributi e dichiarazioni di decisioni di autorizzazione.

Protocolli SAML: Protocolli che definiscono come le richieste e le risposte SAML vengono comunicate tra le entità. I principali protocolli SAML sono il protocollo di richiesta di autenticazione, il protocollo di risoluzione degli artefatti e il protocollo di logout singolo.

Associazioni SAML: Definisce come i messaggi del protocollo SAML vengono trasportati tra le entità. Le associazioni comuni includono Associazione di reindirizzamento HTTP e Associazione di post HTTP.

Profili SAML: I profili definiscono i casi d'uso di SAML e come le asserzioni, i protocolli e i binding SAML supportano tali casi d'uso. I profili comuni includono SSO con browser web, logout singolo (SLO) e query degli attributi.

Metadati SAML: Un documento XML che descrive la configurazione e le capacità di IdP e SP SAML. Include ID di entità, endpoint, certificati e informazioni sui protocolli e sui binding supportati.

Come SAML abilita SSO

SAML abilita l'SSO consentendo lo scambio di dati di autenticazione e autorizzazione tra un provider di identità e un provider di servizi. Ecco una spiegazione passo passo di come SAML abilita l'SSO:

L'utente richiede l'accesso: L'utente tenta di accedere a un servizio o risorsa fornita dal SP.

SP avvia la richiesta di autenticazione: L'SP identifica che l'utente deve essere autenticato e risponde generando una richiesta di autenticazione SAML. Di solito si tratta di un URL codificato con i dati della richiesta SAML.

Utente reindirizzato a IdP: Il sistema reindirizza l'utente a IdP, inviando la richiesta SAML dal passaggio precedente. Questo può avvenire tramite reindirizzamenti HTTP, HTTP POST o artefatti.

L'utente si autentica con IdP: L'IdP presenta un'interfaccia di autenticazione per l'utente per inserire le credenziali. L'IdP utilizza queste credenziali, di solito un nome utente e una password, per verificare l'identità dell'utente.

L'IdP genera una risposta SAML: Dopo l'autenticazione riuscita, l'IdP genera una risposta SAML, che contiene un'asserzione SAML. Per garantire l'integrità e l'autenticità, l'IdP firma l'asserzione e include l'identità e lo stato di autenticazione dell'utente.

Utente reindirizzato al SP: L'utente viene reindirizzato al SP tramite HTTP POST o altri meccanismi. Questo reindirizzamento consegna la risposta SAML al SP.

SP convalida la risposta SAML: L'SP riceve e verifica la risposta SAML ed estrae le informazioni sull'identità dell'utente dall'asserzione SAML.

SP concede l'accesso: Basato sulle informazioni di identità dell'utente e sull'asserzione SAML, l'SP concede l'accesso al servizio o alla risorsa richiesta. In questo passaggio, il sistema autentica l'utente e concede l'accesso ai servizi autorizzati.

Uso comune di SAML

SAML viene utilizzato più spesso per abilitare il single sign-on, ma ci sono diversi altri casi d'uso supportati dal framework SAML:

Identità federata: Consente alle organizzazioni di condividere identità e credenziali utente tra diversi domini o organizzazioni. Questo riduce la necessità di più credenziali.

Controllo accessi: Fornisce un meccanismo per applicare le politiche di controllo degli accessi validando le identità degli utenti e i loro ruoli prima di concedere l'accesso alle risorse.

Cloud e applicazioni SaaS: Facilita l'accesso sicuro alle applicazioni e ai servizi basati su cloud, riducendo la necessità di più credenziali di accesso.

Autenticazione mobile: Estende SSO e identità federata ai dispositivi mobili, garantendo accesso sicuro alle applicazioni da smartphone e tablet.

Integrazioni B2B e B2C: Semplifica la gestione delle identità e il controllo degli accessi per le interazioni business-to-business (B2B) e business-to-consumer (B2C).

Autenticazione API sicura: Fornisce accesso sicuro alle API convalidando le credenziali dell'utente e garantendo che solo gli utenti autorizzati possano accedere all'API.              

Conformità e auditing: Aiuta le organizzazioni a rispettare le normative fornendo registri dettagliati e auditing degli eventi di autenticazione e accesso. 

Sviluppo e aggiornamenti di SAML 2.0

La necessità di un meccanismo come SAML è stata concettualizzata alla fine degli anni '90 con l'espansione dell'uso di internet e i proprietari di grandi reti volevano autenticarsi attraverso diversi domini e organizzazioni. I governi, le università e le reti aziendali erano costruiti con o collegati da più domini di sicurezza, e gli utenti in un dominio spesso avevano bisogno di accedere a risorse in un altro. C'erano diverse soluzioni proprietarie progettate per affrontare questo problema, ma gli esperti del settore riconobbero la crescente necessità di uno standard universale che funzionasse per tutti i sistemi.

Nel 2001, l'Organization for the Advancement of Structured Information Standards (OASIS) ha formato un Comitato Tecnico che avrebbe creato un framework XML per questo standard universale. Questo framework avrebbe definito lo scambio di dati di autenticazione e autorizzazione tra domini di sicurezza. OASIS ha adottato SAML 1.0 nel novembre 2002, rendendolo il primo modo standard per scambiare dati di autenticazione e autorizzazione tra diversi domini di sicurezza. Questa versione di SAML forniva solo un supporto di base per questo scambio. OASIS ha adottato SAML 1.1 nel settembre 2003, che includeva miglioramenti e perfezionamenti nella gestione degli errori, nell'implementazione e nello scambio di dati tra domini. Le modifiche a SAML nella versione 1.1 si basavano principalmente sul feedback dell'industria.

SAML 2.0 è diventato lo standard nel 2005. Questa versione ha rappresentato un miglioramento significativo rispetto alle versioni precedenti, aggiungendo o migliorando il supporto per molte delle funzionalità attualmente in uso. Le principali aggiunte includono:

SSO migliorato e logout singolo (SLO): Meccanismi migliorati per SSO e maggiore flessibilità nella gestione dell'autenticazione su più domini. L'introduzione del SLO ha permesso agli utenti di disconnettersi da tutti i siti con un'unica azione.

Identità federata: Un sistema di fiducia che consente di collegare le identità attraverso diversi domini di sicurezza.

Supporto metadati e gestione degli attributi: Introduzione dei metadati per descrivere gli attributi dei provider di identità, dei provider di servizi e di altre entità SAML. La gestione degli attributi facilita lo scambio dettagliato e flessibile di queste informazioni.

Miglioramenti della sicurezza: Algoritmi crittografici più forti e altri miglioramenti per proteggere i dati in fase di scambio.

SAML 2.0 rimane la versione corrente e gli sviluppatori l'hanno continuamente aggiornato sin dal suo rilascio. Questi aggiornamenti includono miglioramenti alla sicurezza e all'interoperabilità, miglioramenti al deployment e supporto per nuovi casi d'uso. OASIS esamina periodicamente il framework SAML 2.0 per garantire che rimanga pertinente, sicuro ed efficace per la comunità.

Vantaggi aziendali di SAML

SAML supporta una maggiore produttività ed efficienza in diversi modi, principalmente attraverso la sicurezza, l'esperienza utente e l'efficienza operativa. Ecco alcuni dei principali vantaggi aziendali dell'implementazione di SAML:

Single sign-on (SSO): SSO è un vantaggio principale di SAML, che consente agli utenti di effettuare il login una sola volta e di accedere a più applicazioni senza inserire ripetutamente le credenziali. Questo migliora la produttività e riduce i ritardi legati al login.

Esperienza utente migliorata: Sono richiesti meno accessi per passare tra applicazioni e altre risorse. Questo è un flusso di lavoro più fluido ed efficiente e migliora l'esperienza dell'utente.

Sicurezza migliorata: SAML migliora la sicurezza grazie al supporto per comunicazioni crittografate e firme digitali. Questo garantisce che i dati di autenticazione siano trasmessi in modo sicuro e possano essere considerati affidabili sia dal provider di identità che dal provider di servizi.

Autenticazione centralizzata: Centralizzando l'autenticazione con un unico provider di identità, le organizzazioni possono applicare criteri di sicurezza coerenti e gestire l'accesso degli utenti in modo più efficace.

Riduzione dell'affaticamento da password: SAML riduce il numero di password che gli utenti devono ricordare, portando a migliori pratiche di gestione delle password e a un rischio ridotto di utilizzo di password deboli su più servizi.

Gestione semplificata degli utenti: Il provisioning e il de-provisioning degli utenti diventano più efficienti, poiché le modifiche apportate al sistema di identità centrale si applicano a tutte le applicazioni collegate. Questo è utile per l'inserimento e l'uscita dei dipendenti.

Risparmi sui costi: Un unico set di credenziali e un ambiente di single sign-on riducono il numero di problemi di password e supporto per l'accesso. Meno supporto tecnico insieme al processo semplificato di gestione degli utenti riduce il carico amministrativo IT e diminuisce il costo del supporto IT.

Conformità normativa: SAML aiuta le organizzazioni a soddisfare i requisiti normativi fornendo funzionalità di registrazione e audit robuste. Ciò garantisce che tutti gli eventi di autenticazione vengano registrati e possano essere rivisti a fini di conformità.

Scalabilità: SAML gestisce implementazioni su larga scala, rendendolo adatto per organizzazioni con molti utenti e applicazioni. Può facilmente scalare per soddisfare le crescenti esigenze aziendali.

Interoperabilità: L'ampia adozione e supporto di SAML su diverse piattaforme e sistemi significa che le organizzazioni possono integrarsi con una varietà di applicazioni e servizi di terze parti, migliorando la flessibilità e la collaborazione.

Riduzione dell'onere IT: Delegando l'autenticazione a un provider di identità centrale, i dipartimenti IT possono ridurre il tempo e lo sforzo dedicati alla gestione dei login delle singole applicazioni, consentendo loro di concentrarsi su iniziative più strategiche.

Collaborazione avanzata con i partner: SAML facilita l'accesso sicuro per i partner esterni, consentendo loro di collaborare e condividere dati senza compromettere la sicurezza dell'organizzazione. Questo può portare a relazioni commerciali più solide e a una maggiore efficienza operativa.

SAML offre diversi vantaggi per le aziende. Migliora la sicurezza, migliora l'esperienza utente, riduce le spese operative e aiuta a soddisfare i requisiti normativi.

SAML e sicurezza informatica

Le aziende dovrebbero includere il framework SAML in un piano di sicurezza informatica a livello aziendale per aiutarle a mantenere controlli di sicurezza robusti e a rispettare i requisiti normativi.
Aspetto
Descrizione

Scopri di più su SAML

Termini correlati

Ulteriori letture

In che modo Barracuda può essere di aiuto

Barracuda CloudGen Access fornisce autorizzazione, gestione degli accessi e gestione del flusso di lavoro per ambienti IT multi-cloud o ibridi. Con Barracuda CloudGen Access, puoi applicare le politiche di sicurezza aziendali prima che gli utenti raggiungano l'interfaccia di single sign-on per le applicazioni Software-as-a-Service (SaaS). È disponibile come soluzione autonoma o come parte della nostra piattaforma di cybersecurity completa che protegge i dati su tutti i vettori di minaccia.

Barracuda offre soluzioni complete, ricche di funzionalità, economiche che proteggono da un'ampia gamma di vettori di minacce e sono supportate da un servizio clienti completo e pluripremiato. Poiché si lavora con un unico fornitore, si beneficia di una complessità ridotta, di un'efficacia aumentata e di un costo totale di proprietà inferiore. Centinaia di migliaia di clienti in tutto il mondo si affidano a Barracuda per proteggere le loro e-mail, reti, applicazioni e dati.