Kerberos tre transazioni - perché non usare solo due?

2

Ho letto la descrizione di Kerberos in siti come questo molto informativo: /explain-like-im-5-kerberos/"> link Penso di capire in generale come funziona:

  1. L'utente presenta identità al server di autenticazione
  2. Authentication Server offre all'utente un Ticket Granting Ticket (TGT), che include la chiave di sessione TGS
  3. L'utente si connette al TGS con il tasto di sessione TGS
  4. TGS risponde con una chiave di sessione di servizio
  5. L'utente si connette al servizio utilizzando la chiave di sessione del servizio

(Salto le parti su come i valori vengono crittografati con varie chiavi segrete, affinché ogni macchina possa verificare che la crittografia sia stata eseguita dall'AS o dal TGS, che possiede le chiavi segrete.)

Ciò che non capisco è il motivo per cui non è più semplice farlo in due passaggi, con la crittografia a chiave pubblica:

  1. L'utente "bennett" si autenticano sull'AS e genera una coppia di chiavi pubblica / privata temporanea. L'AS firma digitalmente la chiave pubblica di bennett dicendo: "La persona che usa questa chiave pubblica è davvero bennett, almeno per le prossime 8 ore."
  2. L'utente "bennett" si connette a un servizio, con la certificazione della propria chiave pubblica firmata digitalmente dall'AS, e utilizza la coppia di chiavi pubblica / privata per firmare la richiesta di un servizio. Il servizio decide se consentire all'utente "bennett" o meno.

Non è più semplice? Cosa mi manca?

La mia unica idea era che forse dal momento che la crittografia a chiave pubblica è più lenta della crittografia a chiave segreta, Kerberos era più efficiente per questo motivo. Ma avrei pensato che i roundtrip della rete fossero la parte più lenta dell'operazione, e quindi che tre roundtrips usando la crittografia a chiave segreta sarebbero ancora più lenti di due roundtrip usando la crittografia a chiave pubblica. Non è questo il caso?

    
posta Bennett 21.08.2018 - 06:10
fonte

1 risposta

0

Potrebbe essere giusto che la crittografia asimmetrica abbia passaggi molto più semplici della crittografia a chiave segreta, ma esistono barriere all'efficienza come i cicli della CPU, la complessità dell'algoritmo di crittografia asimmetrico e la larghezza di banda della rete.

Gli algoritmi asimmetrici usano matematica molto più complessa dell'algoritmo simmetrico per svolgere le loro funzioni, che richiedono più tempo di elaborazione e possono essere un colpo extra alle prestazioni di Kerberos. Inoltre, la crittografia asimmetrica deve includere un'eccessiva casualità (come il vettore di inizializzazione, nonce) che rende i messaggi di crittografia a volte più grandi delle dimensioni effettive dei dati in chiaro - dipende dalla dimensione dei dati, dalla dimensione della chiave e dalla complessità dell'algoritmo di crittografia utilizzato.

L'RFC4556 descrive le estensioni del protocollo (PKINIT). Queste estensioni forniscono un metodo per integrare la crittografia a chiave pubblica nello scambio di autenticazione iniziale. Tuttavia, ci sono alcune considerazioni sulla sicurezza come:

  1. La sicurezza dell'intero sistema è significativamente indebolita da utilizzando input casuali insufficienti.

  2. I messaggi di errore di Kerberos non sono protetti da integrità; di conseguenza, i parametri di dominio inviati dal KDC come TD-DH-PARAMETERS possono essere manomesso da un utente malintenzionato in modo che l'insieme di parametri di dominio selezionato potrebbe essere più debole o non reciprocamente preferito.

  3. Per fidarsi di un certificato KDC certificato da una CA come a Certificato KDC per un dominio di destinazione, il client DEVE verificare che il La CA emittente del certificato KDC è autorizzata a emettere certificati KDC per quel regno bersaglio. Altrimenti, il legame tra il KDC certificato e il KDC del reame di destinazione non è stato stabilito.

  4. PKINIT consente l'uso della stessa coppia di chiavi RSA per la crittografia e firma quando si esegue la consegna delle chiavi basata su crittografia RSA. Questo non è utilizzo consigliato delle chiavi RSA e utilizzo della consegna delle chiavi basata su DH, questo è evitato.

  5. Quando viene utilizzato il metodo di scambio chiavi Diffie-Hellman, aggiuntivo i dati di pre-autenticazione possono essere eliminati o aggiunti da utenti malintenzionati senza essere rilevato dal cliente o dal KDC - che apre la porta per l'inserimento di dati dannosi senza essere rilevato.

Per ulteriori informazioni controlla questi link:

risposta data 21.08.2018 - 21:36
fonte

Leggi altre domande sui tag