Qual è la soluzione alla legge di Schneier?

6

legge Schneier (che dovrebbe probabilmente chiamarsi legge di Babbage). Dichiara che:

Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can't break.

Penso sia chiaro che questa legge può essere applicata a qualsiasi sistema di sicurezza, non solo alla crittografia. Quali sono alcune buone metodologie per affrontare questa legge?

    
posta rook 15.04.2011 - 21:12
fonte

4 risposte

4

Un modo comune per affrontare questo problema è la revisione tra pari. Il mondo open source prospera su questo. Le soluzioni migliori sono prodotte da più occhi che guardano al problema.

Attaccando al software diventi migliore anche se pratica. Così puoi anche migliorare l'attacco al tuo software e, grazie alla legge di Schneier, puoi scrivere un software più sicuro.

    
risposta data 15.04.2011 - 21:14
fonte
6

"Affrontare" quella legge, in senso stretto, significa citare in giudizio Dio per creare l'umanità con un cervello limitato. C'è poco da fare qui, tranne per essere consapevoli della difficoltà di valutare la sicurezza di un sistema di sicurezza: cioè, che non si può valutare la sicurezza della propria creazione. Un modo per dire che è il seguente: se non puoi rompere il tuo sistema, allora non stai dimostrando che non può essere infranto, solo che tu non sai come romperlo. Quale non è quello che vuoi: l'obiettivo è avere un sistema che potenziali aggressori non sappia come interrompere.

Quindi la normale linea guida è quella di mai progettare il proprio algoritmo o protocollo crittografico. Un esperto di crittografia può modificarlo in: "I posso progettare la mia variante di algoritmo, ma solo se posso dimostrare in modo positivo che non aggiungo alcuna debolezza aggiuntiva". Non essere in grado di esibire tale debolezza non è una prova di assenza di debolezza.

    
risposta data 17.04.2011 - 22:19
fonte
4

Non penso che questa legge debba essere affrontata, per essere onesti. È ben compreso dall'industria e (quasi) tutti seguono la linea di condotta ragionevole.

Per la maggior parte degli scopi, la crittografia dovrebbe essere un solido processo affidabile che funziona solo con una lunghezza della chiave appropriata e utilizzando algoritmi concordati che sono sottoposti a revisione paritaria (come da Rook's answer) e implementati correttamente per soddisfare questo requisito.

Per coloro che vogliono generare algoritmi più forti o più veloci come richiesto, o per superare un nuovo attacco che un algoritmo più vecchio è suscettibile all'unico modo per valutare la forza è lasciare che un sacco di persone lo colpiscano.

    
risposta data 16.04.2011 - 21:02
fonte
3

Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can't break.

L'antidoto non è quello di creare algoritmi, cioè non (ri) inventare sistemi in cui puoi evitarlo. Non solo gli algoritmi: non inventare il tuo sistema di autenticazione, il protocollo di sicurezza, lo scambio di chiavi, ecc. Quasi certamente ti sbaglierai.

Usa invece metodi provati e provati che sono stati sottoposti a revisione paritetica e progettati secondo il Principio di Kerchoff . E idealmente implementazioni che hanno superato la prova del tempo.

    
risposta data 19.04.2011 - 15:24
fonte

Leggi altre domande sui tag