Ingressi di firma DSA TLS

2

Ogni implementazione TLS1.0 deve supportare l'uso della suite di crittografia TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA . Questa suite di crittografia stabilisce che il server deve inviare un messaggio ServerKeyExchange con le seguenti strutture:

struct {
    opaque dh_p<1..2^16-1>;
    opaque dh_g<1..2^16-1>;
    opaque dh_Ys<1..2^16-1>;
} ServerDHParams;

select (SignatureAlgorithm)
{   ....... omitted ........
    case dsa:
        digitally-signed struct {
            opaque sha_hash[20];
        };
} Signature;

Il valore sha_hash è calcolato da SHA(ClientHello.random + ServerHello.random + ServerParams) , quindi l'hash calcolato viene assegnato all'algoritmo DSA per produrre la firma (che a sua volta è codificata in DER). La mia domanda è: come vengono derivati gli input per il DSA in questo caso? Secondo wikipedia DSA richiede i seguenti parametri:

  • N: q lunghezza
  • L: p lunghezza
  • q: N-bit primo
  • p: modulo primo di L-bit tale che p-1 è un multiplo di q
  • g: un numero il cui ordine moltiplicativo modulo p è q
  • x: chiave segreta, dove 0 < x < q
  • y: chiave pubblica y = g ^ x mod p

La chiave pubblica (o qualsiasi altro valore) è lo stesso valore contenuto nel certificato X.509 inviato dal server? Oppure tutti i valori sono generati in modo specifico per la firma DSA?

Inoltre: ho letto da qualche parte che N e L devono essere 1024/160. È un requisito del protocollo TLS o altri valori sono validi nel contesto di TLS?

    
posta evgeni tsvetanov 14.06.2016 - 18:33
fonte

1 risposta

0

Segnerò questa domanda risposta. Se qualcuno sta cercando la risposta per questa domanda:

I parametri p, q, g sono contenuti nel certificato DSA (nel campo DSS-Params) insieme alla chiave pubblica di dsa (nel campo SubjectPublicKeyInfo) - tecnicamente questa è la chiave pubblica del server. Questi parametri, insieme alla chiave segreta (privata), sono contenuti nel file prodotto da openssl dsaparam -genkey 1024 -out dsakey.pem.

    
risposta data 23.06.2016 - 13:28
fonte

Leggi altre domande sui tag