Autenticazione basata su chiave pubblica multiutente-server

1

Quindi, diciamo che abbiamo Alice, John, Peter e Bob. Alice, John e Bob conoscono tutti la chiave pubblica di Peter e si fidano di Peter. Alice vuole connettersi al server di Bob, quindi presenta la sua chiave pubblica, che è stata firmata da Peter. Bob verifica che la sua chiave sia stata firmata da Peter. Domanda: Se John ha anche una chiave firmata da Peter, la presenta a Bob, Bob verifica, ma John dice che il suo nome utente è Alice, che cosa fare? Va bene se Peter firma invece l'hash del nome di Alice e la sua chiave pubblica (la chiave e il nome di Alice combinati) e Bob lo verifica, o è insicuro? Cosa accadrebbe se l'hash fosse rotto? Quali sono altri modi per assicurarsi che Alice sia Alice e firmata da Peter? Inoltre, Peter sarà offline quando Alice si connette a Bob.

    
posta JohnGmdv 14.05.2016 - 21:00
fonte

1 risposta

1

Nella tua domanda stai prendendo solo le chiavi, in cui una chiave può essere firmata da qualcun altro, ma la chiave non è associata a un'identità stessa:

If John also has a key signed by Peter, presents it to Bob, Bob verifies, but John says that his username is Alice, than what to do?

Quindi proponi il concetto di aggiungere l'identità:

Is it ok if Peter instead signs the hash of Alice's name and her public key(Alice's key and name combined),...

In questo modo hai descritto uno degli elementi principali di un'infrastruttura a chiave pubblica (PKI): il certificato. I certificati sono informazioni sull'identità (nome di Alice) combinata con la chiave pubblica appartenente all'identità (chiave pubblica di Alice) e tutto questo insieme firmato dall'emittente (utilizzando la chiave privata di Peter).

Ogni volta che si esegue una connessione HTTPS, il server invia tale certificato e il client verifica che il nome nell'URL corrisponda al nome nel certificato, cioè che l'identità dichiarata e effettiva corrisponda. Un certificato contiene ancora più informazioni, come durata del certificato o cosa è utilizzabile.

What if the hash was cracked?

Se l'hash è incrinato o se la chiave privata viene rilevata, sarebbe male e potrebbe essere usata per falsificare un'identità. Ecco perché gli hash sicuri vengono utilizzati come attualmente SHA-256.

Also, Peter will be offline when Alice connects to Bob.

Questo non importa molto. Bob non ha bisogno di chiedere a Peter se il certificato Alice è valido perché Bob conosce e si fida del certificato degli emittenti (Peters). Ma di tanto in tanto sarebbe utile chiedere a Peter se Alice revocasse il certificato.

Per maggiori dettagli guarda come funziona un PKI .

    
risposta data 14.05.2016 - 21:31
fonte