È preferibile eseguire la crittografia utilizzando le funzioni o il codice del database?

12

Diversi database con cui ho familiarità forniscono funzioni o moduli per la crittografia. Gli esempi includono dbms_crypto per i database di Oracle e built-in funzioni per MySQL.

La maggior parte dei linguaggi di programmazione comunemente usati dispone di librerie crittografiche disponibili.

Dal punto di vista della sicurezza, ci sono problemi che potrebbero portare a sceglierne uno rispetto all'altro? Un metodo è altamente preferibile rispetto all'altro?

    
posta Ayrx 07.12.2012 - 11:39
fonte

3 risposte

3

Se si desidera eseguire la crittografia, i dati da crittografare e la chiave utilizzata per la crittografia dovranno essere trasferiti alla macchina che esegue il lavoro. Se si esegue la crittografia sul front-end, non è necessario "fidarsi" del database, ma ciò potrebbe rendere le cose più complesse se si dispone di più front-end. Se esegui la crittografia sul database, un dirottamento ostile del database ti lascerà nuda; per esempio. Gli attacchi SQL injection di successo sono ancora più devastanti.

In generale, se vuoi fare una distinzione di sicurezza tra fare la crittografia sul front-end o sul database, devi immaginare uno scenario in cui uno è compromesso e non l'altro. Viceversa, se consideri entrambe le macchine "ugualmente robuste", la tua domanda riguarda solo le prestazioni.

    
risposta data 03.02.2013 - 14:47
fonte
5

Gli algoritmi forniti sono quasi gli stessi. La scelta dipenderà dai tuoi casi d'uso. Alcune cose da considerare:

  1. Se la crittografia è sul lato server, considerando la crittografia sul client lato per evitare la trasmissione del testo in chiaro sul filo.
  2. Decidere sulla crittografia reversibile o non reversibile basata sul tipo di dati.
  3. Nel caso della crittografia non reversibile, l'hashing è solo da evitare manomissione o utilizzo dell'hash come confronto successivo?
risposta data 07.12.2012 - 11:53
fonte
-1

Penso che nella crittografia in webapp ci sia una separazione, che può aiutare la sicurezza. Principalmente hai hackerato db per avere dati, ora devi hackerare la nostra app per decodificare i dati. In db crypto abbiamo un singolo punto di errore. Inoltre, se hai bisogno di alcune informazioni su una firma / crittografia nella tua applicazione, woudl scegli la crittografia a livello di applicazione.

    
risposta data 07.12.2012 - 11:53
fonte

Leggi altre domande sui tag