Gli schemi crittografici rappresentano un rischio per la sicurezza?

1

Sto scrivendo un'applicazione che serializza gli oggetti e poi salva l'XML risultante in un file crittografato.

Sto usando un Vettore di inizializzazione e un Salt entrambi salvati nel file per la decrittografia, quindi due file non saranno gli stessi anche se potrebbero contenere gli stessi dati.

Il fatto che avrò un pattern riconoscibile di caratteri come "<" e "/ >" e l'intestazione presente nell'output crittografato rappresenta un rischio per la sicurezza o semplifica il crack della crittografia?

L'opzione che ho è quella di salvare i valori che ho bisogno di salvare in un formato. Capisco che non avrà pattern diversi dai dati stessi, ma non è sicuro che questo sia di alcun beneficio.

    
posta fingletoe 08.04.2014 - 18:42
fonte

1 risposta

3

Se i pattern di dati riconoscibili nel testo in chiaro indeboliscono in qualche modo la tua crittografia simmetrica, allora la tua crittografia simmetrica è pura spazzatura e non dovrebbe essere usata affatto. Non rendere il formato dei dati scomodo e complesso solo per far fronte alle (presunte) carenze dell'algoritmo di crittografia; invece, usa un algoritmo che fa le cose correttamente.

È difficile dirne di più senza una descrizione completa e precisa dell'algoritmo che usi. Tuttavia, in tutta la generalità, potremmo dire che se probabilmente non conosci abbastanza per fare le cose correttamente (o almeno per sapere se hai fatto le cose correttamente). Ciò non significa essere deprecati delle tue capacità: la crittografia è un argomento molto specializzato e ha la caratteristica unica di non essere testabile. Nessuno può veramente sapere se ciò che hanno implementato è sicuro ; possono testare che funziona ma non che non può essere attaccato.

Questo vale anche per i crittografi addestrati. In effetti, ciò che distingue un crittografo esperto da uno sviluppatore "ordinario" non è che il crittografo possa progettare e implementare un protocollo sicuro da solo; non può neanche. La vera differenza è che il crittografo sa che non può rendere qualcosa di sufficientemente sicuro da solo.

La via d'uscita da questo problema è usare un protocollo stabilito. Ad esempio, se vuoi fare una "crittografia simmetrica", prendi uno standard esistente che è stato studiato e analizzato da molte persone (ad esempio OpenPGP ). E poi, non applicarlo nemmeno tu stesso; invece, utilizza una libreria esistente che è stata anche rivista, in modo che la maggior parte dei bug sia stata estinta (ad esempio GnuPG ).

    
risposta data 08.04.2014 - 18:57
fonte

Leggi altre domande sui tag