it-swarm.dev

Differenza tra autenticazione e identificazione [prospettiva Crypto e sicurezza]

Sono sempre confuso dal modo in cui l'autenticazione di Word viene utilizzata nella letteratura sulla sicurezza (vale a dire, al di fuori del regno crittografico). Il più delle volte capisco che in realtà implicano identificazione .

Ad esempio da Wikipedia: Central Authentication Service usa il termine autenticazione per implicare l'identificazione (se ho capito bene).

In Crypto, per quanto ho capito:

  • Autenticazione: una prova che il messaggio ha avuto origine dal detentore di un determinato segreto.
  • Identificazione: una prova non trasferibile che l'altra parte conosce un dato segreto (senza rivelare un segreto)
  • Non ripudio: una prova trasferibile che il messaggio ha avuto origine dal detentore di un determinato segreto.

[Per favore fatemi sapere se ho capito correttamente i tre termini. Sentiti libero di fornire definizioni alternative/raffinate/più utili]

Qualcuno può approfondire i significati dei due termini authentication e identification sia nella letteratura sulla sicurezza che in quella generale?

19
Jus12

Nel contesto delle comunicazioni attraverso una rete, un'identità equivale alla conoscenza di un dato dato specifico: sommariamente detto, dall'esterno, ciò che può sapere che una data entità dall'esterno consiste esclusivamente in quali byte quell'entità emette, cioè cosa può calcolare. Dal momento che tutti possono acquistare lo stesso tipo di PC, le differenze nelle capacità di elaborazione risiedono in ultima analisi in ciò che le entità sanno. Per esempio. tu sono diversi da io, dal punto di vista di StackExchange, solo in quanto conosci la password dell'account "Jus12", e io no, mentre conosco la password dell'account "Tom Leek" e tu no.

L'identificazione significa assicurarsi che una determinata entità sia coinvolta e in qualche modo "attiva". Ad esempio, il server StackExchange può essere sicuro che io sia vivo e vegeto sfidandomi (il mio computer) a mostrare la mia password. Si noti che il server StackExchange (in realtà, un altro server perché utilizzano uno schema indiretto, ma questo è un tecnicismo) anche conosce la mia password, quindi quando la sfida SE ha risposto correttamente, solo il server SE sa che, all'altro capo della linea, gestisce un'entità che è me o il server SE stesso. I protocolli di identificazione devono avere cura di evitare o almeno di rilevare in modo affidabile il verificarsi di un server indotto a parlare con se stesso da un individuo malintenzionato astuto (di seguito designato dal termine generico "attaccante").

L'identificazione, in quanto tale, è abbastanza inutile. Ciò che il server SE vuole sapere non è che io, Tom Leek, esiste ed è sveglio; il server SE ne è abbastanza convinto e non gliene importa. Ciò che il server SE desidera è assicurarsi che I approva delle richieste HTTP che sto per emettere. Vogliono autenticazione : l'identificazione è applicata ad alcuni altri dati. Pertanto, l'identificazione è utile in quanto si può ritenere che si applichi a un mucchio di dati, che quindi come provenienza "verificata". Il legame tra identità e dati deve essere resiliente rispetto agli oltraggi che l'attaccante può infliggere ai dati. Nel caso di StackExchange, l'aggressore dovrebbe essere abbastanza debole, poiché si presume integrità di una richiesta HTTP: la parte di identificazione diventa un cookie, poiché parte di una richiesta HTTP e il server SE presuppone che l'attaccante non possa modificare la richiesta o il cookie o copiare il cookie e innestarlo su una nuova richiesta HTTP fasulla.

Un'autenticazione più approfondita di solito utilizza un collegamento crittograficamente forte, ad es. a SSL/TLS tunnel (spesso come parte di HTTPS). Le proprietà crittografiche del tunnel implicano che il server può essere sicuro che parlerà con la stessa entità durante la sessione SSL; inoltre, il server presuppone che l'utente non giocherà alcun protocollo di identificazione relativo alla password del suo account a meno che ciò non avvenga su un tunnel SSL in cui il server è debitamente autenticato (ovvero, il client è sicuro che parla al server giusto - questo è il server certificato e che qualunque dato esso invii andrà solo a quel server, quindi è autenticazione). In queste condizioni, se il server può identificare me all'interno di quel tunnel, l'identificazione copre tutti i dati inviati successivamente attraverso il tunnel: il tunnel è il collegamento tra identificazione e dati, quindi questa è autenticazione .

Il non ripudio è una caratteristica di alcuni protocolli di autenticazione, in cui il legame tra identità e dati può essere verificato non solo da chiunque sia, interattivamente, presso il altra estremità della linea, ma anche da un terzo terzo, ad esempio un giudice. Gli schemi basati su password normalmente non offrono quella proprietà, perché chiunque verifica la password deve anche conoscerla più o meno direttamente, e quindi potrebbe inquadrare il presunto emettitore. Il non ripudio richiede matematica. Si noti che, in un tunnel SSL, il client autentica il server attraverso il suo certificato, che è pieno di crittografia asimmetrica, ma ciò non garantisce il non ripudio: il client è sicuro che qualsiasi dato che riceve dal server provenga realmente dal server , ma non c'è nulla che il client possa registrare, il che convincerebbe un giudice che il server davvero ha inviato quei dati. Per ottenere il non ripudio, è necessario firme digitali . Senza non ripudio, si può ottenere l'autenticazione con algoritmi noti come Codici di autenticazione dei messaggi , che sono computazionalmente più leggeri. Confusamente, esiste una tradizione diffusa (ma errata) di chiamare "firme" MAC.

Sommario:

  • Identificazione: l'entità specifica [~ # ~] e [~ # ~] è coinvolta e risponde.
  • Integrità: qualsiasi dato ricevuto è stato inviato così com'è da qualche entità E ' e non è stato modificato.
  • Autenticazione: identificazione e integrità allo stesso tempo ( E = E ').
  • Non ripudio: autenticazione che può convincere un giudice.
20
Tom Leek

L'identificazione è un modo per descrivere il principale, ad es. nome utente, e-mail, nome + cognome, ecc. Il principale è l'utente.

L'autenticazione è un modo per dimostrare che il principale è chi dicono di essere.

Ad esempio, quando accedo a un sistema, mi identifico con il mio nome utente (Ciao, sono SteveS) e mi autentico fornendo una password che conosco solo e il sistema può convalidare (sono SteveS perché la mia password è " foo ").

Un buon esempio nel mondo reale è l'uso delle patenti di guida. Posso attaccare una targhetta sulla mia maglietta e identificare che sono Joe, ma se qualcuno avesse bisogno di prove che io sono Joe, mostro loro la mia patente di guida. L'autenticazione viene effettuata confrontando la foto sulla licenza con la persona.

8
Steve

La mia risposta è breve, ma è così che leggo sempre i due.

L'identificazione sta dicendo "Sono Joe Schmoe!" L'autenticazione lo sta dimostrando con qualcosa (password, certificato di nascita, risultati del DNA).

In IT, ogni persona deve avere ID separati in modo da poterli identificare correttamente e assegnargli i diritti (sono Joe Schmoe! Anche io! Me tre! Ma non tutti abbiamo bisogno dello stesso accesso). Abbiamo anche bisogno che le persone dimostrino di essere chi dichiarano di essere autenticandosi (ricorda i tre fattori di autenticazione, qualcosa che conosci, hai o sei).

3
Jeff

Usando una semplice spiegazione

Identificazione: è il modo in cui identifichi qualcuno, cioè come chiameresti quella persona o società. Potrebbe essere il nome, il numero di conto in una banca, il nome utente in un sistema specifico.

Autenticazione: è il modo in cui confermi che una persona, che sta facendo qualcosa nel tuo sistema, è davvero chi dice. Può dimostrarlo dando qualcosa che conosce (una password - autenticazione a un fattore) o dando qualcosa che conosce + qualcosa che possiede (password + certificato digitale - autenticazione a due fattori).

Non ripudio: una persona non può negare la paternità di alcuni documenti, ecc. Perché il documento può essere prodotto solo da qualcuno che è stato autenticato, e quindi esiste una relazione tra una specifica identità e il documento.

2
woliveirajr

Identificazione - Chi sei?

Autenticazione - Assicurati di essere chi dici di essere.

Fornirò una risposta molto diversa da tutte le risposte qui.

La distinzione tra autenticazione e identificazione non importa.

Tutti sembrano definirlo diversamente, ad esempio il documento Fiat-Shamir definisce quanto segue:

  1. Autenticazione: Alice può dimostrare a Bob di essere Alice, ma Charles non può dimostrare a Bob di essere Alice.
  2. Identificazione: Alice può dimostrare a Bob di essere Alice, ma Bob non può dimostrare a David di essere Alice.
  3. Firma: Alice può dimostrare a Bob di essere Alice, ma Bob non può dimostrare a se stesso che è Alice.

(che suppongo sia basato sul fatto che nei protocolli sigma come il protocollo schnorr identificazione, per fornire la proprietà a conoscenza zero un verificatore deve essere in grado di creare una trascrizione falsa identificando con successo il prover )

Due ulteriori punti di confusione:

  • l'autenticazione è anche un termine sovraccarico, ad esempio viene utilizzato nei codici di autenticazione dei messaggi e nella crittografia autenticata per indicare "integrità (protezione)".
  • molti articoli sul web riguardano l'autenticazione e l'autorizzazione, a causa di alcuni problemi con i protocolli di autorizzazione come OAuth 2.0 (ad esempio, consentimi di accedere all'e-mail e all'immagine del profilo di questo profilo Facebook) in uso come protocolli di autenticazione (ad es. io sono questo profilo Facebook).

Quindi, per essere semplici, l'autenticazione riguarda dimostrando chi sei. Niente di più.

0

Identificazione richiede che il verificatore controlli le informazioni presentate rispetto a tutte le entità di cui è a conoscenza Autenticazione richiede che le informazioni siano verificate per una singola entità precedentemente identificata.

0
Hamidullah Amid

Identificazione: chi sei?

Autenticazione: Ok. Come puoi provarlo?

Autorizzazione: cosa posso fare?

0