In OpenVPN, il file dh1024.pem dipende dalla CA?

5

Come già affermato nella domanda, vorrei sapere se il file dh1024.pem, generato da ./build-dh in openvpn, dipende dal file ca. (crt | key).

Il motivo era che avevo bisogno di ./clear-all i tasti, ma tenevo aperto il file dh1024.pem in un editor e lo ri-salvavo dopo aver cancellato le chiavi. Poi ho continuato a creare ./build-ca, ./build-key-server e ./build-client.

Se è il caso, il file dh * .pem può dipendere dalla chiave del server o da qualsiasi altra cosa? O è solo un file con una porzione di dati ben calcolati senza dipendenze?

Cordiali saluti.

    
posta Daniel F 04.11.2014 - 15:39
fonte

1 risposta

11

Questo file non ha alcuna dipendenza da alcun certificato o chiave privata. Non è segreto neanche. Può anche essere condiviso tra vari server che non si fidano o si conoscono l'un l'altro.

Il file dh1024.pem contiene i parametri Diffie-Hellman . Lo scambio di chiavi DH è un algoritmo riprodotto in un determinato gruppo finito ; vale a dire, gli interi formano un primo p . Per un successo con DH:

  • Sono noti i parametri p (un grande primo) e g (un numero intero convenzionale nell'intervallo da 2 a p-2 , noto come generatore ).
  • Parte A genera un valore segreto casuale a , calcola g a mod p e lo invia alla parte B .
  • Party B genera un valore segreto casuale b , calcola g b mod p e lo invia alla parte A .
  • Parte A calcola ( g b ) a mod p (aumentando il valore ricevuto da B al suo esponente segreto a ).
  • Parte B calcola ( g a ) b mod p (aumentando il valore ricevuto da A al suo esponente segreto b ).

La magia di DH è che entrambi A e B finiscono con lo stesso valore, che l'intercettatore non può ricalcolare dai due valori che sono stati inviati attraverso i fili.

In tutto questo, i valori p e g sono i "parametri" e devono essere noti a entrambe le parti; ma non sono segreti La sicurezza è garantita a condizione che:

  • p è abbastanza grande (almeno 1024 bit, probabilmente 2048 bit sarebbero migliori).
  • p non è stato generato con una "struttura speciale" che rende più facile logaritmo discreto .
  • g genera un sottogruppo di interi modulo p la cui dimensione è un multiplo di un numero sufficientemente grande (l'ordine di g modulo p è il più piccolo intero r ≥ 1 tale che g r mod p = 1; è necessario che il massimo principale divisore di r abbia una lunghezza di almeno 160 bit, preferibilmente di 256 bit o più).

L'intero mondo potrebbe usare gli stessi parametri; ma molte persone preferiscono generare i propri parametri, solo per assicurarsi che i loro parametri non siano "cucinati". Questo è ciò che fa build-dh . Il file risultante ( dh1024.pem ) contiene p e g , ma nient'altro. Questi valori non sono segreti. Non dipendono da alcun elemento esterno, né certificato, chiave privata o altro.

    
risposta data 04.11.2014 - 16:35
fonte

Leggi altre domande sui tag