In Ephemeral Diffie Hellman Key Exchange: cosa è effettivamente effimero?

6

Sto appena iniziando a conoscere Diffie-Hellman, e sembra abbastanza semplice, ma sto cercando di trovare risorse che spieghino in un Ephemeral Diffie Hellman Key Exchange, che cosa è effettivamente effimero?

Quindi in DH abbiamo un primo p pubblicamente noto e un p mod p sopra il gruppo ciclico moltiplicativo, dove g è un generatore del gruppo.

  1. Alice sceglie un casuale a, Bob sceglie un casuale b, entrambi mod.
  2. Alice calcola A = g ^ a mod p
  3. Bob calcola B = g ^ b mod p
  4. Bob trasferisce B ad Alice
  5. Alice trasferisce A a Bob.
  6. Alice calcola B ^ a mod p
  7. Bob calcola A ^ b mod p
  8. Entrambi questi calcoli danno la stessa risposta e pertanto è stata stabilita una chiave condivisa.

Nell'effimero Diffie Hellman, cos'è esattamente l'effimero? Cambia p e g? A e b vengono ricalcolati periodicamente?

Grazie

    
posta stats_novice_123 19.11.2015 - 23:09
fonte

2 risposte

7

A & B sono chiamati gli effemer che Alice e Bob si scambiano. Non è più complicato di così. Esistono altri modi per utilizzare Diffie Hellman, ad esempio DSA - Algorithm di firma digitale in cui non compare il termine effimero.

Inoltre, di solito, (P, g) sono fissi non solo per un sito Web, ma per gran parte di Internet (tramite RFC) che è correlato alla recente rivelazione sugli attacchi di Logjam e sulla probabile nazionalità della NSA. Ecco il mio articolo su . In ogni caso, (P, g) sono complicati da creare, quindi molte persone usano quelli che sono già là fuori. Pertanto, non cambiano molto. Date le esposizioni recenti, sembra che abbiamo bisogno di usare quelli più grandi o puoi calcolare il tuo (dovrebbe essere una grande P).

(a, b) non vengono ricalcolati periodicamente tranne che per i criteri per alcuni protocolli di sicurezza di rete o, nel caso di TLS, per la configurazione della suite di crittografia. Non ho familiarità con la configurazione della suite di crittografia TLS per rispondere a questa domanda. In generale, per una maggiore sicurezza, una sessione di rete dovrebbe ricalcolare periodicamente le chiavi di sessione. Questo di solito è di 8 ore, anche se può essere più breve o più lungo. Niente in matematica richiede la ricomposizione, è solo consigliato.

    
risposta data 20.11.2015 - 00:39
fonte
2

Ecco il mio colpo. Non ne sono completamente soddisfatto. Apprezzerei le critiche.

Almeno pubkey / privkey. A volte param.

Non penso che questo sia ben definito. Ma NON ho fonti per confermare questo. (Se qualcuno può mostrarmi un documento standard, sarei lieto di mostrarti sbagliato. Tutto è meglio dell'incertezza per me.)

RFC TLS1.2 dice che il server può scegliere questi tre:

  struct {
      opaque dh_p<1..2^16-1>;
      opaque dh_g<1..2^16-1>;
      opaque dh_Ys<1..2^16-1>;
  } ServerDHParams;     /* Ephemeral DH parameters */

Quindi il server POTREBBE cambiare QUALSIASI dei tre.

Ma io penso che in realtà cambierà solo il pubkey del server ( dh_Ys ). E questo dovrebbe essere sufficiente per trasmettere la segretezza.

Ma solo se il tuo

  opaque dh_p<1..2^16-1>;
  opaque dh_g<1..2^16-1>;

è improbabile che si rompa presto. (Come se fossero 2048 bit.) (E Thomas Pornin ha detto il una domanda diversa : Per ottenere parametri DH sbagliati, devi farlo apposta. )

F5 "Uso DH singolo"

Ora ho consultato il sito Web di F5 per scoprire in che modo i bilanciatori di carico implementano EDH.

E hanno una opzione chiamata Single DH use quale I pensa rigenera la coppia dh_p / dh_g.

Ecco la citazione. Non capisco perché lo vorrei. Mi confonde.

Single DH use

This option creates a new key when using temporary/ephemeral DH parameters. You must use this option if you want to prevent small subgroup attacks, when the DH parameters were not generated using strong primes (for example, when using DSA-parameters). If strong primes were used, it is not strictly necessary to generate a new DH key during each handshake, but we do recommend this. You should enable the Single DH use option whenever temporary/ephemeral DH parameters are used.

Tasti F5 generati ogni ora

F5 ha un articolo che dice A partire da BIG- IP 11.4.0, la generazione di nuove chiavi effimere si verifica ogni ora.

Sospetto che stiano usando "chiavi" e "parametri" in modo intercambiabile.

CryptoPP chiama il metodo "keypair rigenerato" effimero.

Quando CryptoPP parla di EDH, intendono: il gruppo rimane lo stesso. Cambio di Keypair.

Citrix NetScaler non ne sono sicuro.

Ancora, sono non sono sicuro se si differenziano completamente tra dhparams e dh-keypair.

dhFile

Name for and, optionally, path to the PEM-format DH parameter file to be installed. /nsconfig/ssl/ is the default path.

This parameter is not applicable when configuring a backend profile.

dhCount

Number of interactions, between the client and the NetScaler appliance, after which the DH private-public pair is regenerated. A value of zero (0) specifies infinite use (no refresh).

This parameter is not applicable when configuring a backend profile.

Minimum value: 0

Maximum value: 65534

dhKeyExpSizeLimit

This option enables the use of NIST recommended (NIST Special Publication 800-56A) bit size for private-key size. For example, for DH params of size 2048bit, the private-key size recommended is 224bits. This is rounded-up to 256bits.

Possible values: ENABLED, DISABLED

Default value: DISABLED

Qui dhKeyExpSizeLimit mi confonde. Non capisco perché tu permetta a quella parte di essere definita dall'utente.

    
risposta data 20.11.2015 - 13:29
fonte

Leggi altre domande sui tag