Come sapere se un certificato SSL è 128 bit o 256 bit?

3

La mia cert è:

Key Length = 2048
Signature algorithm = SHA256 + RSA 

Quindi è un certificato SSL a 256 bit?

    
posta Ryan 12.06.2016 - 10:59
fonte

2 risposte

7

So is it a 256bit SSL cert?

No. Ci sono diversi aspetti rilevanti per un certificato:

  • il tipo di chiave, in genere RSA o ECC
  • la dimensione della chiave. La forza della chiave dipende sia dal tipo che dalla dimensione, ad esempio le chiavi RSA a 2048 bit comunemente utilizzate e le chiavi ECC a 256 bit sono approssimativamente equivalenti
  • l'algoritmo della firma, ad esempio SHA-256 + RSA

Quando si parla solo di "questo è un cert di XXX bit" si fa riferimento alla dimensione della chiave. Quindi nel tuo esempio questo sarebbe un certificato a 2048 bit o più specifico un certificato con una chiave RSA a 2048 bit. E questo certificato è stato firmato dall'emittente con la chiave RSA dell'emittente e un hash SHA-256 sul certificato.

Un altro fattore importante è la forza della crittografia simmetrica dei dati, vale a dire l'algoritmo e le dimensioni della chiave. Ma questo è indipendente dalla forza del certificato e quindi al di fuori di questa domanda. Ma qualsiasi affermazione da parte di una CA che i suoi certificati siano validi per la crittografia a 256 bit sono solo di marketing, perché ciò può essere fatto con qualsiasi certificato.

    
risposta data 12.06.2016 - 11:20
fonte
3

So is it a 256bit SSL cert?

No. Sì. Può essere. La vera risposta è: dipende dalla terminologia, in quanto alcune CA sembrano essere notoriamente pessime su tali dettagli.

Il certificato contiene la parte pubblica della coppia di chiavi asimmetriche che viene utilizzata per autenticare il server (assicurarsi di parlare davvero al server con cui si sta parlando) e stabilire la chiave di sessione segreta condivisa (utilizzata per in realtà crittografando il traffico). Contiene anche altre informazioni volte a stabilire l'identità del portachiavi, nonché la correttezza del certificato stesso. L'algoritmo hash (nel tuo caso SHA-256, che è una delle SHA-2 famiglia di hash) è utilizzato per stabilire la correttezza del certificato e (oltre alla sua capacità di stabilire correttamente se il certificato è valido) non ha alcun impatto sulla forza di crittografia .

SHA-256 ha una lunghezza hash a 256 bit, quindi con alcune definizioni un certificato che usa SHA-256 per autenticità può essere detto tecnicamente come un "certificato a 256 bit". Tuttavia, ciò non influisce direttamente sulla sicurezza crittografica raggiunta. (SHA-1 ha una lunghezza hash di 160 bit, e creare un falso certificato SHA-1 costa circa $ 100.000 . Non credo che qualcuno abbia venduto quelli come "certificati a 160 bit", tuttavia. L'hash più sicuro rende la creazione di un certificato falso molto più difficile, tuttavia, in modo da avere una maggiore sicurezza che l'host che si sta connettendo è quello a cui si intendeva connettersi.

La coppia di chiavi asimmetriche è formata da due chiavi, la chiave pubblica e la chiave privata . Nel tuo caso, è una chiave pubblica RSA a 2048 bit, con una chiave privata corrispondente. La metà pubblica di questa coppia è, come si dice, pubblica e viene utilizzata per crittografare i dati in modo tale che solo un'entità che detiene la metà privata corrispondente della coppia possa decrittografarla. Asimmetrico in questo caso significa che le chiavi utilizzate per crittografare e decrittografare i dati sono diverse; l'opposto è la crittografia simmetrica in cui viene utilizzata la stessa chiave per crittografare e decrittografare i dati. (Usiamo la crittografia asimmetrica perché semplifica enormemente la distribuzione e l'accordo delle chiavi e la crittografia simmetrica perché ha prestazioni di gran lunga superiori e meno insidie. I criptosistemi del mondo reale come TLS e PGP combinano questi due elementi per ottenere il meglio da entrambi.)

Di solito quando si parla di crittografia "128 bit", "256 bit" e così via, si fa riferimento alla lunghezza della chiave simmetrica , nonostante l'emergere della curva ellittica la crittografia ha in qualche modo iniziato a sfocare questa linea (in generale, 256 bit è una buona lunghezza della chiave per un algoritmo simmetrico, una lunghezza ragionevole per un algoritmo di curva ellittica, ma una lunghezza della chiave assolutamente disastrosa per qualcosa come RSA). La chiave simmetrica viene concordata a caso dal server e dal client, usando trucchi matematici per assicurare che anche se qualcuno possa monitorare l'intero scambio tra i due, non sarà ancora in grado di determinare la chiave simmetrica concordata. Esattamente come ciò accade va oltre lo scopo di questa risposta, ma se sei curioso, leggi i protocolli accordo di chiave o scambio di chiavi come ad esempio Diffie -Hellman scambio di chiavi .

La lunghezza della chiave simmetrica concordata dipende dal supporto e dalle preferenze del software client e server. Questo non è correlato al certificato stesso.

La lunghezza delle chiavi simmetriche e asimmetriche e la sicurezza dell'hash utilizzato per stabilire la validità del certificato dovrebbero idealmente essere scelte in modo tale da fornire un livello di sicurezza un po 'simile. Non c'è alcun punto nel server che utilizza AES-256 per la crittografia simmetrica se il certificato ha una chiave pubblica RSA a 512 bit, ad esempio, poiché un attaccante andrà sempre dopo il bersaglio più facile.

    
risposta data 12.06.2016 - 18:15
fonte

Leggi altre domande sui tag