Sicurezza

SAML contro. OAUTH

SAML contro. OAUTH
SAML e OAUTH sono norme tecniche per l'autorizzazione degli utenti. Questi standard sono utilizzati da sviluppatori di applicazioni Web, professionisti della sicurezza e amministratori di sistema che desiderano migliorare il proprio servizio di gestione delle identità e migliorare i metodi con cui i client possono accedere alle risorse con un set di credenziali. Nei casi in cui è necessario l'accesso a un'applicazione da un portale, è necessaria una fonte di identità centralizzata o Enterprise Single Sign-On. In tali casi, è preferibile SAML. Nei casi in cui è necessario l'accesso temporaneo a risorse come account o file, OAUTH è considerata la scelta migliore. Nei casi di utilizzo mobile, viene utilizzato principalmente OAUTH. Sia SAML (Security Assertion and Markup Language) che OAUTH (Open Authorization) vengono utilizzati per il Single Sign On Web, fornendo l'opzione per il Single Sign-On per più applicazioni Web.

SAML

SAML viene utilizzato per consentire ai provider SSO delle applicazioni Web di trasferire e spostare le credenziali tra l'Identity Provider (IDP), che detiene le credenziali, e il Service Provider (SP), che è la risorsa che necessita di tali credenziali. SAML è un linguaggio di protocollo standard di autorizzazione e autenticazione utilizzato principalmente per eseguire la federazione e la gestione delle identità, insieme alla gestione del Single Sign On. Nel SAML, I documenti di metadati XML vengono utilizzati come token per la presentazione dell'identità del cliente. Il processo di autenticazione e autorizzazione di SAML è come segue:

  1. L'utente richiede di accedere al servizio tramite il browser.
  2. Il servizio informa il browser che si sta autenticando a uno specifico Identity Provider (IdP) registrato con il servizio.
  3. Il browser inoltra la richiesta di autenticazione ai provider di identità registrati per l'accesso e l'autenticazione.
  4. In caso di successo del controllo delle credenziali/autenticazione, l'IdP genera un documento di asserzione basato su XML che verifica l'identità dell'utente e lo trasmette al browser.
  5. Il browser trasmette l'asserzione al fornitore di servizi.
  6. Il Service Provider (SP) accetta l'asserzione per l'ingresso e consente all'utente l'accesso al servizio effettuando il login.

Ora, diamo un'occhiata a un esempio di vita reale. Supponiamo che un utente faccia clic su Login opzione sul servizio di condivisione delle immagini sul sito abc.come. Per autenticare l'utente, viene effettuata una richiesta di autenticazione SAML crittografata da abc.come. La richiesta verrà inviata dal sito web direttamente al server di autorizzazione (IdP). Qui, il fornitore di servizi reindirizzerà l'utente all'IdP per l'autorizzazione. L'IdP verificherà la richiesta di autenticazione SAML ricevuta e, se la richiesta risulterà valida, presenterà all'utente un form di login per inserire le credenziali. Dopo che l'utente ha inserito le credenziali, l'IdP genererà un'asserzione SAML o un token SAML contenente i dati e l'identità dell'utente e la invierà al fornitore di servizi. Il Service Provider (SP) verifica l'asserzione SAML ed estrae i dati e l'identità dell'utente, assegna le autorizzazioni corrette all'utente e registra l'utente nel servizio.

Gli sviluppatori di applicazioni Web possono utilizzare i plug-in SAML per garantire che l'app e la risorsa seguano entrambe le pratiche di Single Sign-On necessarie. Ciò consentirà una migliore esperienza di accesso dell'utente e pratiche di sicurezza più efficaci che sfruttano una strategia di identità comune. Con SAML in atto, solo gli utenti con l'identità e il token di asserzione corretti possono accedere alla risorsa.

OAUTH

OAUTH viene utilizzato quando è necessario passare l'autorizzazione da un servizio a un altro servizio senza condividere le credenziali effettive, come password e nome utente. Usando OAUTH, gli utenti possono accedere a un singolo servizio, accedere alle risorse di altri servizi ed eseguire azioni sul servizio. OAUTH è il metodo migliore utilizzato per trasferire l'autorizzazione da una piattaforma Single Sign On a un altro servizio o piattaforma o tra due applicazioni Web qualsiasi. Il OAUTH flusso di lavoro è il seguente:

  1. L'utente fa clic sul pulsante Accedi di un servizio di condivisione delle risorse.
  2. Il server delle risorse mostra all'utente una concessione di autorizzazione e reindirizza l'utente al server di autorizzazione.
  3. L'utente richiede un token di accesso al server di autorizzazione utilizzando il codice di concessione dell'autorizzazione.
  4. Se il codice è valido dopo aver effettuato l'accesso al server di autorizzazione, l'utente riceverà un token di accesso che può essere utilizzato per recuperare o accedere a una risorsa protetta dal server delle risorse.
  5. Alla ricezione di una richiesta per una risorsa protetta con un token di concessione di accesso, la validità del token di accesso viene verificata dal server delle risorse con l'aiuto del server di autorizzazione.
  6. Se il token è valido e supera tutti i controlli, la risorsa protetta viene concessa dal server delle risorse.

Un uso comune di OAUTH è consentire a un'applicazione Web di accedere a una piattaforma di social media o a un altro account online. Gli account utente di Google possono essere utilizzati con molte applicazioni consumer per diversi motivi, come blog, giochi online, accesso con account di social media e lettura di articoli su siti Web di notizie. In questi casi, OAUTH lavora in background, in modo che queste entità esterne possano essere collegate e possano accedere ai dati necessari.

OAUTH è una necessità, poiché deve esserci un modo per inviare informazioni di autorizzazione tra diverse applicazioni senza condividere o esporre le credenziali dell'utente. OAUTH viene utilizzato anche nelle imprese. Ad esempio, supponiamo che un utente debba accedere al sistema Single Sign-On di un'azienda con il proprio nome utente e password. L'SSO gli dà accesso a tutte le risorse necessarie passando i token di autorizzazione OAUTH a queste app o risorse.

Conclusione

OAUTH e SAML sono entrambi molto importanti dal punto di vista di uno sviluppatore di applicazioni web o di un amministratore di sistema, mentre entrambi sono strumenti molto diversi con funzioni diverse. OAUTH è il protocollo per l'autorizzazione all'accesso, mentre SAML è una posizione secondaria che analizza l'input e fornisce l'autorizzazione all'utente.

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...