Domande riguardanti DNSSEC

1

Fino ad ora ho capito quanto segue su DNSSEC:

  1. Un client richiede un determinato dominio diciamo google.se
  2. Il root server invia al client il suo KSK pubblico e ZSK pubblico firmato dal suo KSK privato in modo che il client possa verificare il server root DNS controllando la firma usando il KSK pubblico che conosce
  3. Quindi il server root DNS invia al client il nome e l'indirizzo del server DNS se . Inoltre invia al client un hash del nome e il KSK pubblico del server se DNS firmato dallo ZSK privato del server DNS principale

Perché esiste uno ZSK? Non potrebbero usare solo il KSK?

In che modo il client riceve il KSK pubblico del server se DNS se lo recupera solo con hash?

    
posta Chris 01.07.2016 - 13:00
fonte

1 risposta

1

Puoi utilizzare solo una chiave per firmare i dati ...

... Tuttavia, è molto più conveniente usare 2 coppie di chiavi (ZSK e KSK). Ci sono 2 punti importanti da tenere in considerazione:

  • È necessario aggiornare regolarmente la chiave (ZSK) utilizzata per firmare i record. (Per motivi di sicurezza.)
  • Devi essere sicuro che il record di DS nella zona genitore corrisponda alla chiave utilizzata nella zona sopracitata.

Questo è molto importante, qualsiasi errore nel processo di rollover della chiave comporterebbe un fallimento totale. E ogni volta che rinnovi il tuo ZSK, dovresti aggiornare la zona genitore. Questo è il motivo per cui viene utilizzato un KSK. Questa chiave verrà utilizzata solo per firmare lo ZSK (e se stesso). Il record DS nella zona padre dovrebbe corrispondere a quello KSK. Non è necessario rinnovare KSK tutte le volte che lo ZSK.

La cosa interessante è che, con questi 2 tasti, puoi rinnovare lo ZSK senza aggiornare la zona genitore! Per riassumere brevemente, è necessario:

  • Firma i record con il nuovo ZSK.
  • Firma il nuovo ZSK con l'attuale KSK.

Finché non cambi il KSK, non devi cambiare il record DS nella zona genitore.

Il KSK della zona .se viene inviato dal .se nameserver. L'hash viene inviato dalla zona padre, il server dei nomi della radice in questo caso.

Ecco brevemente come funziona DNSSEC:

  1. Il resolver ottiene un record, insieme alla sua firma (RRSIG) firmata con lo ZSK della zona.
    Per consentire al resolver di controllare quella firma, ottiene anche lo ZSK e la sua firma (RRSIG) firmata con KSK.
    Per consentire al resolver di controllare quella firma, ottiene anche KSK e la sua firma (RRSIG) firmata con KSK. (Self-signed)

Puoi vedere che, se ti fidi degli algoritmi usati, tutto è sicuro come lo è KSK. Ma il KSK viene inviato dallo stesso server dei nomi che ti ha inviato il record! Potrebbe sembrare abbastanza inutile, ma non proprio ...

  1. Il resolver ottiene dalla zona madre il record DS per la zona sopra citata. Questo record DS è un riassunto della suddetta zona KSK.

Come puoi vedere, finché ti fidi della zona genitore, puoi fidarti del KSK usato, e quindi del record.

Ecco come funziona DNSSEC: anche il record DS è firmato dalla zona madre ZSK, come se il record fosse nella zona figlio. Lo controlli con ZSK, KSK e il record DS del genitore della zona genitore. E così via e così via fino a raggiungere la zona radice. I KSK della root sono codificati nel risolutore.

Nota: il processo di rollover della chiave è leggermente più complicato. A causa del salvataggio dei dati nella cache dei risolutori, potrebbe essere necessario conservare i vecchi record (firme) per un certo tempo.

    
risposta data 01.07.2016 - 15:20
fonte

Leggi altre domande sui tag