Perché i browser deprecano RSA a 1024 bit, ma conservano SHA-1?

6

Stavo leggendo il blog sulla sicurezza di Mozilla Eliminazione graduale dei certificati con chiavi RSA a 1024 bit . In effetti, alcuni browser stanno deprecando RSA a 1024 bit per CA e CA subordinate perché il certificato deve resistere all'attacco da 10 a 30 anni.

Per quanto ne so, RSA a 1024 bit fornisce circa 80 bit di sicurezza a causa dei progressi nella fattorizzazione dei numeri interi e del setaccio dei campi numerici. 80 bit di sicurezza sono fuori dalla portata della maggior parte degli aggressori.

SHA-1 fornisce circa 61 bit di sicurezza a causa di HashClash di Marc Steven. 61 bit di sicurezza sono alla portata di molti attaccanti, soprattutto quando il tempo di elaborazione è così poco costoso su Amazon EC2 o Nova di OpenStack .

Due attacchi alla vita reale su crypto sono a conoscenza (1) chiave di firma di Texas Instruments , che ha fattorizzato un 512- chiave di bit; e (2) Fiamma , che ha sfruttato le collisioni sugli algoritmi di firma deboli / feriti. Da TI, sappiamo che l'attaccante proverà a calcolare una chiave con circa 60 bit di sicurezza. E da Flame sappiamo che che l'attaccante attaccherà la funzione digest quando la sua sicurezza effettiva è di circa 60 bit o giù di lì.

Perché i browser deprecano CA e CA subordinate con RSA a 1024 bit, ma conservano SHA-1?

    
posta jww 24.05.2015 - 01:18
fonte

2 risposte

3

Rompere una firma CA SHA1 non ti portava da nessuna parte: potevi semplicemente ricreare un certificato pubblico con la stessa firma di un legittimo, ma la chiave pubblica del certificato legittimo sarebbe comunque utilizzata per verificare i certificati, perché è memorizzata nei browser.

Per falsificare con successo un certificato devi rompere uno di:

  • una chiave privata RSA della catena
  • un checksum di un'autorità intermedia
  • il checksum del certificato SSL / TLS

I checksum non devono necessariamente utilizzare lo stesso algoritmo della CA radice: un hash della CA radice con SHA1 può essere utilizzato per firmare l'hash del certificato TLS con SHA256.

    
risposta data 02.06.2015 - 00:35
fonte
1

Poiché le suite di crittografia con segretezza di inoltro non sono universalmente utilizzate, la chiave RSA su un certificato di entità finale deve rimanere protetta per tutto il tempo in cui il contenuto delle comunicazioni deve rimanere sicuro. D'altra parte, la funzione di hash deve essere protetta al momento della convalida del certificato.

Inoltre per una funzione hash dobbiamo distinguere tra sicurezza contro diversi tipi di attacco (diversamente da RSA dove è praticamente fattorizzato o non fattorizzato, non c'è una via di mezzo). L'attacco più semplice da eseguire contro una funzione hash è un semplice attacco di collisione ma è anche il meno utile. L'attacco più utile contro una funzione di hash sarebbe un attacco preimage con prefisso e suffisso flessibile, ma nessuno lo ha mai fatto nemmeno per MD5. Nel mezzo ci sono attacchi di collisione con prefisso distinto scelto e suffisso scelto comune. Questi possono essere combinati con una CA che ha politiche di emissione scarse per costruire un certificato falso ma non è certamente un compito facile.

Ciononostante per i certificati di entità intermedie e finali i principali browser stanno spingendo un phaseout di SHA1. Per i certificati di root l'algoritmo di digest è fondamentalmente irrilevante. Poiché il client ha già il CERT root nel suo store, non ha bisogno di ottenerlo da una fonte non attendibile.

    
risposta data 21.11.2015 - 04:31
fonte

Leggi altre domande sui tag