it-swarm-eu.dev

Autenticazione vs autorizzazione

Ho fatto riferimento questo link e lo so

Autenticazione = login + password (chi sei)

Autorizzazione = autorizzazioni (cosa ti è permesso fare)

La mia domanda è: supponiamo [~ # ~] a [~ # ~] ottiene l'ID di accesso e la password di [~ # ~] b [~ # ~] che ha un'autorità maggiore di A, che comprometterebbe l'autorizzazione perché una volta che A viene autenticato erroneamente come B, A ottiene tutti i privilegi di accesso di B.

Quindi qual è il punto centrale dell'autorizzazione?

È dipendente o indipendente dall'autenticazione?

18
Sachin Yadav

una volta che A viene falsamente autenticato come B ...

Su qualsiasi sistema minimamente sicuro, non è così che succede. Dal punto di vista del sistema, tente B si sta autenticando, non tente A. Non è stato falsamente autenticato, stava usando il vero login e la password. È un semplice caso di furto di credenziali. È possibile rafforzare il sistema utilizzando qualsiasi forma di 2FA, ma il sistema funziona come previsto.

Sarebbe falsamente autenticato come hai detto se tente A utilizza le proprie credenziali e in qualche modo finisce con il profilo di tente B. In questo caso, l'attacco potrebbe essere un bypass di autenticazione o escalation di privilegi e il sistema dovrebbe essere patchato.

Quindi qual è il punto centrale dell'autorizzazione?

Separare i privilegi a seconda di chi sei. Se qualcuno può usare le tue credenziali, sei essenzialmente tu, quindi l'autorizzazione è ancora valida.

È dipendente o indipendente dall'autenticazione?

È indipendente (anche se molti sistemi di autorizzazione scelgono di dipendere dalle informazioni di autenticazione). Le autenticazioni riguardano chi sei. L'autorizzazione è quali privilegi hai. I sistemi Single Sign-On, ad esempio, vengono utilizzati per imporre l'identità e un altro sistema per imporre le autorizzazioni.

42
ThoriumBR

Autorizzazione e autenticazione sono le due facce della stessa medaglia in cui l'autorizzazione a volte dipende dall'autenticazione ma non sempre. Come?

  1. Anche senza un login, un visitatore di Stack Exchange può visualizzare domande e risposte. Qui il visitatore ha l'autorizzazione per visualizzare le risposte ma sicuramente non ha bisogno di autenticazione per questo, quindi qui l'autorizzazione è indipendente dall'autenticazione.

  2. Un utente che ha effettuato l'accesso ha l'autorizzazione a pubblicare qualsiasi domanda o rispondere a una domanda, ma per questo deve fornire un accesso corretto, quindi qui l'autorizzazione dipende dall'autenticazione.

In breve, ovviamente se l'autenticazione è compromessa, ostacolerà anche l'autorizzazione.

8
amit thakur

In generale, è una buona idea considerare tutti e quattro come (Autenticazione, Autorizzazione/Controllo degli accessi, Contabilità, Revisione) anziché solo due.

Non esiste un metodo di autenticazione in grado di contrastare in modo affidabile il metodo della chiave da $ 5 (come descritto dal webcomic XKCD, è qui che colpisci qualcuno con una chiave da $ 5 fino a quando non effettuano l'accesso per te) sebbene ci siano metodi (come passcode + 1) che può avvisare il sistema che viene utilizzata la chiave da $ 5. È un mondo malvagio.

L'autenticazione è l'unico passaggio che non dipende dagli altri. Ciò significa che deve venire prima. L'autenticazione può essere esplicita (dimmi chi sei) o implicita (vedo dai certificati hardware che hai effettuato l'accesso dall'interno del bunker). Puoi autenticarti come individuo (consulente Rin) o come "ruolo" (qualsiasi omicidio). Le imprese legalmente regolamentate sono quasi sempre tenute a utilizzare l'autenticazione individuale esplicita in modo che l'auditing abbia la possibilità di funzionare. Se un account di gruppo o ruolo sembra necessario, probabilmente c'è qualcosa che non va nella tua comprensione del problema, perché ci sarà un'altra soluzione che semplicemente non stai vedendo.

L'autorizzazione (che spesso viene chiamata controllo di accesso perché è davvero facile confondere autenticazione e autorizzazione quando si parla) è la concessione di diritti a un processo (gli utenti che hanno effettuato l'accesso sono solo un altro processo dal punto di vista del processore) in base alla loro autenticazione. Ad esempio, se sei J. Random Lusr, potresti solo avere il diritto di creare file nella tua cartella home. Ma se sei Biff Snidely, aristocratico aziendale, potresti anche avere il diritto di creare file in una cartella del dipartimento condivisa. Potresti essere soggetto a limiti di spazio su disco o altre risorse, oppure no.

La contabilità è fondamentalmente la registrazione di quali risorse ha utilizzato un processo di accesso: può essere molto semplice (Joe ha usato 1000 cicli di processori oggi e ha usato 1G di memoria) o molto elaborato (Biff ha emesso questi comandi in questo ordine proprio in questi momenti ). È la base dell'auditing. Una contabilità estremamente buona invierà i dati dal sistema, in modo che non possano essere eliminati dal sistema locale se viene violato.

Il controllo è definito più liberamente; questo può essere un processo automatico che cerca i tentativi di eseguire azioni che l'utente non può eseguire, oppure può essere una squadra di gnomi incatenati nel seminterrato che studia i log dei comandi del giorno o qualsiasi altra cosa tu possa pensare. Il punto di controllo è che l'autenticazione può essere sconfitta da una chiave da $ 5, quindi non puoi semplicemente supporre che, poiché i tuoi utenti hanno password complesse, nessuno ha mai violato la tua sicurezza. Non puoi nemmeno presumere che i tuoi utenti non troveranno un modo per rompere accidentalmente i controlli di accesso, ciò accade sempre.

6
Medievalist

Un'altra cosa da considerare è anche il presupposto che l'OP sta formulando: "una volta che A viene autenticata erroneamente come B, A ottiene tutti i privilegi di accesso di B." non è necessariamente corretto in tutti i sistemi e casi d'uso.

Ad esempio, in un sistema con un flusso di lavoro a doppio controllo, devo prima eseguire l'autenticazione, ma poi anche ottenere l'autorizzazione per una risorsa specifica dal suo proprietario. Il proprietario può o meno concedermi tale autorizzazione in base a molti altri fattori, a parte il fatto che io sia autenticato, ad esempio alcune risorse dovrebbero essere accessibili solo in orari specifici della giornata.

Una buona analogia che uso per pensare all'argomento è questa:

  1. L'autenticazione è come avere una chiave magnetica per un edificio.

  2. L'autorizzazione è a quali stanze dell'edificio posso accedere una volta dentro, in particolare se la mia tessera dell'edificio è stata rubata e mi avvicino a una stanza che è protetta da qualcuno che non mi riconosce, potrei non essere autorizzato a entrare :)

2
Amit

La tua domanda evidenzia la necessità di solidi meccanismi di autenticazione e il motivo per cui molti per qualche tempo hanno considerato la password un controllo "morto". Inoltre questo è il motivo per cui l'autenticazione a più fattori sta guadagnando l'adozione.

Facciamo girare la tua domanda però: supponiamo che un'organizzazione abbia un sistema che ospita risorse umane finanziarie, amministrative e altre informazioni. Ora la persona A è autenticata (correttamente) ed è autorizzata a vedere solo informazioni amministrative. Se dovessimo prendere la tua argomentazione e dire: "beh, non possiamo fidarci della nostra autenticazione, quindi non preoccupiamoci dell'autorizzazione", darei alla persona un accesso ai dati finanziari e sulle risorse umane, anche se non dovrebbe essere autorizzata a vederlo.

1
Sean E. M.

L'autenticazione risponde a questa domanda: sei chi dici di essere? Numerosi modi per farlo, ma quanto è irrilevante. Alcuni modi sono ovviamente più efficaci o affidabili di altri. Puoi anche considerarlo come due domande: chi sei? Come posso essere sicuro?

L'autorizzazione risponde a una di queste domande: cosa ti è permesso fare? Ti è permesso fare X? Puoi farlo senza autenticazione, ma perché dovresti? Qual e il punto?

1
Rob F

Per me, la spiegazione più semplice è la seguente:

L'autenticazione dice al sistema chi sei. L'autorizzazione indica al sistema cosa è possibile fare.

Se il client A ha ottenuto il login e la password di B e è riuscito a autenticare come B , a tutti gli effetti al server "ingannato", - A è ora B ed è autorizzato per fare qualunque cosa B può fare.

Sebbene l'autorizzazione funzioni indipendentemente dall'autenticazione, direi che l'autenticazione è un prerequisito per l'autorizzazione: come può il sistema sapere cosa puoi fare se non sa chi sei?

1
Bahrom

Il tuo ipotetico non ha davvero senso. Stai dicendo che qualcosa è compromesso perché qualcuno ha le credenziali di qualcun altro che hanno più autorità della propria. È compromesso semplicemente perché qualcuno ha le credenziali di qualcun altro da solo. Se hanno autorità più alta, uguale o inferiore non dovrebbe importare.

Pensa a una situazione in cui un amministratore ottiene le credenziali di un utente normale. Ora possono impersonare quell'utente. Prima, certo, forse potevano fare le cose "come" quell'utente ma presumibilmente ci sono registri da qualche parte che qualcuno poteva controllare per vedere che era l'amministratore che agiva come l'utente. Se qualcuno ha le credenziali di quell'utente, allora i registri mostreranno che era l'utente.

Il punto dell'autorizzazione rimane ancora. Utenti diversi devono essere in grado di eseguire cose diverse e senza autorizzazione che non può essere realizzata.

Come dice Thakur nel loro risposta , anche gli utenti non autenticati hanno l'autorizzazione ad eseguire alcune attività come la visualizzazione di domande e risposte su questo sito Web quando non si è effettuato l'accesso. Quindi l'autorizzazione e l'autenticazione sono concetti separati ma strettamente correlati.

0
Captain Man

Immagina di stare in un edificio che ha molti appartamenti, l'uomo della sicurezza alla porta sa che in realtà vivi lì ma non conosce l'esatto appartamento in cui vivi, l'autenticazione avviene nel momento in cui l'uomo della sicurezza ti identifica come qualcuno che vive nell'edificio e ti permettono di entrare.

Tuttavia, ottenere l'ingresso nell'edificio non significa che puoi entrare in qualsiasi appartamento che vedi. Pertanto, l'autorizzazione si verifica quando accedi al tuo appartamento perché è quello a cui sei stato approvato.

0
codein

Autorizzazione/Autorizzazione dipende dall'autenticazione, ma sono ancora concetti completamente diversi semplicemente perché i metodi di autenticazione variano a seconda dei livelli di autorizzazione.

Potresti essere in grado di bypassare l'autenticazione e autorizzarti come un normale utente, ma per raggiungere l'accesso root, potresti dover passare attraverso l'autenticazione a più fattori.

0
s h a a n

La mia domanda è: supponiamo che A ottenga l'ID di accesso e la password di B che ha un'autorità maggiore di A, che comprometterebbe l'autorizzazione perché una volta che A viene falsamente autenticato come B, A ottiene tutti i privilegi di accesso di B.

Non necessariamente. L'autorizzazione può essere legata a qualsiasi numero di cose. Ad esempio, tente B può ottenere diversi profili di autorizzazione in base al tipo di dispositivo (computer vs. dispositivo mobile). Oppure possono avere profili diversi a seconda del modo in cui sono connessi alla rete (cablata vs. wireless vs. VPN, sede centrale vs. filiale, ecc.). Oppure, come ultimo esempio, la data/ora può determinare quale profilo di autorizzazione viene applicato all'utente.

Quindi solo perché tente A può usare le credenziali di tente B, non significa necessariamente che avranno gli stessi privilegi.

Quindi qual è il punto centrale dell'autorizzazione?

Ti consente di amministrare centralmente ciò che un utente/dispositivo può fare in base a numerosi fattori. Ti consente di applicare i privilegi in modo coerente e più affidabile agli utenti.

Dì che le responsabilità lavorative di un dipendente cambiano (vengono promosse, la posizione viene modificata, ecc.) E devi modificare i privilegi. Puoi farlo "toccando" ogni risorsa di cui hanno bisogno per cambiare i loro privilegi. O se tutte quelle risorse utilizzavano un server AAA centrale, la semplice modifica centralizzata dei privilegi garantirà loro quei privilegi rapidamente e facilmente (e meno inclini a risorse mancanti o errori umani quando si apportano modifiche ripetitive). Spesso è facile come modificare/aggiungere un'appartenenza al gruppo al proprio account utente.

O dire che hai diversi dipendenti che dovrebbero avere gli stessi privilegi. Tutti possono condividere lo stesso profilo di autorizzazione. Ancora una volta, è più semplice gestire e assicurarsi che le loro esperienze siano tutte coerenti.

È dipendente o indipendente dall'autenticazione?

In alcuni sensi, entrambi. L'autorizzazione ha luogo dopo l'autenticazione, quindi da un lato non ha luogo fino a quando non ha luogo l'autenticazione (anche se si tratta di una "autenticazione aperta").

D'altra parte, l'autorizzazione è un processo completamente separato dall'autenticazione. L'autenticazione può determinare o meno il profilo di autorizzazione applicato.

0
YLearn