Perché Bruce Schneier consiglia la crittografia simmetrica rispetto alla crittografia a chiave pubblica

25

Ho appena letto il articolo scritto da Bruce Schneier, il cripto guru. Nell'articolo, dice:

Prefer symmetric cryptography over public-key cryptography.

Ma non fa luce sul perché.

Ora, pensavo che i sistemi a chiave pubblica evitassero problemi con alcuni attacchi uomo nel mezzo & distribuzione delle chiavi che sono i problemi con la crittografia a chiave simmetrica, giusto?

Qualcuno può spiegare la visione di Bruce Schneier o mi manca qualcosa?

    
posta Rahul 06.09.2013 - 11:29
fonte

5 risposte

29

Questa preferenza di crittografia simmetrica rispetto alla crittografia asimmetrica si basa sull'idea che la crittografia asimmetrica utilizza oggetti matematici parametrizzati e si sospetta che tali parametri possano essere scelti appositamente per rendere il sistema debole. Ad esempio, quando usi Diffie-Hellman, DSA o ElGamal, devi lavorare modulo un grande p . Un primo p scelto casualmente andrà bene, ma è possibile selezionare uno speciale p che sembrerà "bello" ma permetterà una facile (o più semplice) rottura degli algoritmi per chi sa come è stato generato quel particolare valore p . Tali primi p che rendono cripto-debole sono molto rari, quindi non ne colpirete uno per sfortuna (come dico, un primo scelto a caso andrà bene).

Ciò significa che i buoni parametri di crittografia sono niente nel mio numero di maniche . Se guardi FIPS 186-4 (lo standard per DSA), tu vedrà una descrizione di un sistema di generazione per i parametri DSA (vale a dire, il modulo di grandi dimensioni p e il generatore g e l'ordine di gruppo q ) che è dimostrabilmente non dannoso. Ciò funziona semplicemente mostrando il PRNG deterministico che ha presieduto alla generazione di questi valori; rivelando il seme, puoi dimostrare che hai prodotto i parametri fedelmente, e quindi non indulgere in "speciali prime crafting".

Un fiocco può essere fatto contro le curve ellittiche NIST standard (ancora FIPS 186-4) perché queste curve hanno ancora alcuni parametri, e il NIST ha dimenticato di usare un PRNG deterministico come descritto sopra (in realtà, il NIST non è in difetto qui queste curve erano ereditate da SEC, quindi l'errore era probabilmente di Certicom). Le curve Brainpool tentano di correggere quell'errore. (Nota che tra le 15 curve NIST, almeno le 5 "curve di Coblitz" non possono essere state deliberatamente indebolite dal momento che non vi è alcun parametro casuale in esse.)

Ole "Bruce trasforma tutto quanto sopra in un anatema generico contro la crittografia asimmetrica perché voleva una linea incisiva, non una spiegazione più corretta ma lunga sulla convalida dei parametri di gruppo, come descritto sopra. La lezione da ricordare è che la progettazione completa di qualsiasi sistema crittografico deve essere il più trasparente possibile e ciò include la generazione di parametri "apparentemente casuali".

    
risposta data 06.09.2013 - 15:38
fonte
4

Secondo le sue affermazioni, le aziende cambiano sottilmente i loro prodotti in modo irrintracciabile per le backdoor. A proposito di sistemi a chiave pubblica, cita l'aggiunta di un esponente comune a un protocollo di scambio a chiave pubblica.

... making the random number generator less random, leaking the key somehow, adding a common exponent to a public-key exchange protocol, and so on.

Forse, pensa che la crittografia a chiave pubblica sia più aperta alla manulazione della crittografia simmetrica.

    
risposta data 06.09.2013 - 14:25
fonte
2

Il blog di Schneier contiene un paio di dichiarazioni di chiarimento:

It is more likely that the NSA has some fundamental mathematical advance in breaking public-key algorithms than symmetric algorithms.

e

I personally am concerned about any constant whose origins I don't personally trust.

La giustificazione della precedente affermazione è molto complessa e si basa su un'intuizione / esperienza sullo stato dell'arte in matematica. Quest'ultima affermazione è più diretta del fatto che alcuni sistemi sono stati più inclini all'influenza della NSA rispetto ad altri, ed echeggia la (probabilmente controversa) affermazione dell'articolo, "Preferire sistemi convenzionali basati su log discreti su sistemi a curva ellittica; costanti che l'NSA influenza quando possono ".

Ricorda inoltre che l'articolo intende presentare regole empiriche per un pubblico che legge i guardiani. Ovviamente esistono algoritmi simmetrici che la NSA probabilmente ha infranto (o che conosciuti sono irrisolvibili dalla NSA) e algoritmi asimmetrici senza costanti non attendibili. Non sta dicendo preferire un passaggio di Cesare a DSA. Ma secondo Schneier gli algoritmi simmetrici standard sono più affidabili degli algoritmi asimmetrici standard.

Credo che tu abbia ragione sul fatto che l'aumento della difficoltà di distribuzione delle chiavi potrebbe significare che per molti scopi una preferenza per la crypto simmetrica non si tradurrà in realtà in grado di usarla. Probabilmente sta pensando soprattutto a come comunicare con amici / colleghi / co-cospiratori, poiché quelle sono le circostanze in cui l'utente medio ha una scelta libera di algoritmi. Senza dubbio il suo consiglio a chi progetta sistemi crittografici completi sarebbe più complesso.

Si noti infine che tutto questo consiglio è specificamente sulla sorveglianza della NSA. Se non consideri l'NSA (oi suoi alleati) come il tuo avversario, allora non è necessariamente pertinente, sebbene in gran parte sia comunque un buon consiglio. Un tipico hacker ha un insieme più limitato di attacchi disponibili.

    
risposta data 31.03.2014 - 01:02
fonte
1

Posso solo indovinare, ma penso che possa derivare dal senso che la crittografia asimmetrica è solo più matematicamente traballante di quella simmetrica.

Ad esempio, è noto che la crittografia simmetrica sicura è teoricamente possibile: si consideri ad esempio il time pad, che a volte può anche essere usato nella pratica. I cifrari simmetrici standard sono in qualche modo uno schema per emulare questo, ma con chiavi più corte (specialmente se si considera, ad esempio, la modalità CTR).

Quindi considera il caso di qualsiasi sistema asimmetrico. Qui è necessario che sia matematicamente possibile avere una funzione matematica F (secret-to-protect, pubkey) che produce un risultato crittografato che non può essere utilizzato per dedurre il segreto per proteggere anche se la chiave pub è nota all'attaccante. Cioè non hai argomenti segreti che la funzione possa utilizzare per proteggere il segreto (come nel caso dello schema simmetrico) - l'unica cosa segreta è ciò che vuoi proteggere! Tuttavia, la funzione deve essere bidirezionale poiché altrimenti il destinatario previsto non può decrittografarlo. Quindi tutte le informazioni devono essere lì. In effetti, deve essere computazionalmente facile invertire l'operazione conoscendo alcune informazioni aggiuntive relative alla chiave pubblica, vale a dire la chiave privata. È molto meno chiaro che tali funzioni esistano - non è noto che lo facciano. RSA ed ECC sono essenzialmente proposte per un tale schema - ma solo proposte poiché non sono dimostrate sicure. Stabilire la sicurezza di qualsiasi schema asimmetrico, implicherebbe implicitamente P! = NP, e quindi sembra essere un problema molto difficile.

Dato che non è nota alcuna istanza nota di uno schema asimmetrico sicuro (e in effetti uno schema asimmetrico deve soddisfare alcune proprietà matematiche molto più difficili dello schema simmetrico), ma dato che gli esempi sicuri sono noti per schemi simmetrici, allora tutto il resto a parità di condizioni, è ragionevole essere più sospettosi nei confronti di schemi asimmetrici.

Da un punto di vista pratico, sembra che la complessità della fattorizzazione e il problema del registro discreto (come impiegato nei cifrari asimmetrici) si riducano di anno in anno (anche se i migliori algoritmi sono ancora esponenziali nel tempo) mentre AES e DES (quasi) stanno mantenendo la loro posizione. Il problema più grande con DES era la dimensione della chiave piccola, non che l'algoritmo era incrinato. 3DES è ancora sicuro, ma piuttosto lento rispetto a AES.

    
risposta data 07.09.2013 - 12:48
fonte
-2

La crittografia a chiave pubblica utilizza due chiavi e ha un'enorme complessità matematica a causa della quale il computer rallenta quando si devono eseguire la crittografia e la decrittografia per i dati di grandi dimensioni.

    
risposta data 07.09.2013 - 05:06
fonte