In che modo le nuove tecniche / protocolli di sicurezza e crittografia evitano il problema dell'uovo e dell'uovo?

10

. . .better solutions have been proposed and will be worth considering once they have withstood the test of time (i.e. “5 to 10 years in the field, and not broken yet”).

- dall'eccellente post di blog sull'ashing della password .

La citazione mi sembra un caso del pollo e dell'uovo. Le nuove soluzioni richiedono esperienza sul campo, ma finché non ottengono esperienza sul campo non possono essere considerate attendibili e quindi non possono essere utilizzate sul campo.

Il processo di selezione AES ha in qualche modo evitato il problema portando una grande quantità di forza accademica da sopportare. In cinque anni, i migliori crittografi del mondo hanno esaminato meticolosamente gli algoritmi presentati, con il risultato che Rijndael è stato scelto come il miglior compromesso tra sicurezza, velocità e facilità d'uso.

Ma AES aveva il vantaggio significativo che lo standard che stava sostituendo era dimostrabilmente debole rispetto ai moderni hardware dei computer e aveva un disperato bisogno di sostituzione. La maggior parte dei nuovi protocolli o algoritmi non ha questo limite difficile per aiutarli a raggiungere il risalto.

Dato che la risposta standard a "quale algoritmo?" o "quale metodo?" è sempre "usa il fidato", come mai le nuove soluzioni ottengono la loro esperienza sul campo? Fa affidamento su qualcuno che fa un balzo di fiducia con i propri dati sensibili, o fa affidamento sull'uso della nuova soluzione con dati non sensibili e poi estrapola in base a tale esperienza, o cosa?

(Comprendo che il contesto della citazione era specificamente correlato all'hash della password. Se generalizzare da quello a tutti i metodi di sicurezza è ingiusto o off-base, sapendo perché sarebbe utile.)

    
posta Jonathan Garber 04.09.2013 - 17:14
fonte

2 risposte

4

Il processo di bootstrap si ottiene quando le persone fanno usano il nuovo algoritmo. Per avere fiducia nella forza dell'algoritmo, deve avere esposizione . L'esposizione viene raggiunta attraverso competizioni formali come per AES o, più recentemente, per SHA-3 ; oppure è ottenuto attraverso l'algoritmo che viene ampiamente implementato e diventa un obiettivo interessante.

Le competizioni aperte sono complicate: per ottenere un buon livello di visibilità, la concorrenza deve aver attirato molti ricercatori per un po 'di tempo, e non è facile perché i ricercatori accademici lavorano raramente per soldi , ma per gloria (o almeno ciò che passa come fama nei circoli accademici). Ha bisogno di un potente sponsor. Il NIST è buono per questo, e lo ha fatto bene per AES; probabilmente anche SHA-3 è stato un successo, anche se la fine del processo ha un retrogusto un po 'amaro (perché il NIST sta attualmente decidendo quali modifiche porterà all'algoritmo del vincitore, e tali modifiche minano l'intero processo di creazione di fiducia). C'erano altre "competizioni" come eSTREAM per i codici stream; ha ottenuto una buona dose di esposizione, ma "non tanto" come AES o SHA-3. Per l'hashing delle password, esiste una competizione in corso che si trova nella fase di raccolta dei candidati (fino al 31 gennaio 2014).

L'ampia distribuzione si verifica quando alcune organizzazioni decidono di distribuire l'algoritmo "in anticipo", perché il nuovo algoritmo offre un vantaggio di usabilità decisivo (ad esempio un algoritmo di firma con firme molto brevi o che richiede pochissimo calcolo potere), o perché i poteri in quell'organizzazione sentono (erroneamente) che "più recente è migliore" e vogliono essere i primi ad adottare la nuova tecnologia crittografica nifty. Ad esempio, SSL è stato ampiamente implementato perché riempiva una nicchia che non era coperta in altro modo, anche se il protocollo non era in grado di conoscere le "buone pratiche" in quel momento (SSL 2.0 era piuttosto cattivo e portare a una completa riscrittura come SSL 3.0 meno di due anni dopo.

Quindi, in quanto crittografi, dobbiamo assolutamente raccomandare alle persone di astenersi dall'utilizzare algoritmi "troppo nuovi" e "revisionati in modo insufficiente", ma siamo anche abbastanza contenti che alcune persone facciano la "cosa sbagliata" e non si astengano; fornisce l'esposizione necessaria per il bootstrap e garantisce anche che i crittografi non possano uscire dal lavoro (un articolo di ricerca che demolisce un protocollo mal specificato) WEP , ti sto guardando - è ancora un articolo di ricerca pubblicato ). Il meglio che possiamo fare, nel frattempo, è prepare : i crittografi possono progettare algoritmi basati su costruzioni razionali che hanno quindi una ragionevole possibilità di sopravvivere al dispiegamento. Ad esempio, quando bcrypt è stato descritto per la prima volta, non era (ovviamente) stato esposto in natura per diversi anni, ma almeno gli autori hanno cercato di seguire alcune giustificazione razionale e l'algoritmo è risultato essere "per lo più buono".

    
risposta data 04.09.2013 - 17:42
fonte
2

Disclaimer: non sono un crittografo. Qualcuno * ahem * Bear * ahem * probabilmente scriverà una risposta più completa. Mi piacerebbe solo sottolineare alcuni punti .

But AES had the significant advantage that the standard it was replacing was demonstrably weak against modern computer hardware and in dire need of replacement. Most new protocols or algorithms don't have this hard limit to help them achieve prominence.

Non hai bisogno di un limite difficile per incoraggiare nuovi algoritmi da studiare. Ad esempio, il NIST ha recentemente concluso un concorso per trovare un nuovo algoritmo SHA-3 . Ciò ha dimostrato di essere abbastanza efficace nell'incoraggiare i crittografi a presentare e studiare nuovi algoritmi. Tuttavia, SHA-2 è ancora sicuro da tutte le misure esistenti.

Given that the standard answer to "which algorithm?" or "which method?" is always "use the trusted", how do new solutions ever get their field experience? Does it rely on someone taking a leap of faith with their sensitive data, or does it rely on use of the new solution with non-sensitive data and then extrapolating based on that experience, or what?

Nuovi algoritmi non devono necessariamente essere implementati in applicazioni mission critical per essere "studiati". Il processo di creazione di nuovi algoritmi di solito comporta la pubblicazione di un documento sull'algoritmo e l'infinito di discussioni avanti e indietro con altri crittografi sui suoi meriti. (Nota: non sono un crittografo, sto solo dando per scontato: P). Una volta che si sono verificati abbastanza litigi, un algoritmo può essere considerato "sicuro" o "rotto" in senso matematico.

Se un algoritmo è stato ritenuto "sicuro", il prossimo passo per l'algoritmo sarà ottenere implementazioni valide e di facile utilizzo scritte per i linguaggi di programmazione più diffusi. Questo è cruciale . L'implementazione è importante e non è facile avere ragione. Solo dopo che questo è stato realizzato, un algoritmo può essere ritenuto degno di essere utilizzato sul campo. Ci sarà probabilmente un intero processo di individuazione degli errori e l'introduzione di correzioni. La storia di SSL / TLS ne è un buon esempio.

La prima parte è facile. Nuovi algoritmi vengono introdotti e studiati frequentemente in senso accademico. La seconda parte meno, hai ragione nel dire che ottenere nuovi algoritmi e protocolli testati sul campo è un problema di pollo e uova. Questo purtroppo è un dato di fatto. Perché correggere ciò che non è ancora rotto (ancora)?

    
risposta data 04.09.2013 - 17:31
fonte

Leggi altre domande sui tag