Ciphertext vs crittografia a livello di database

3

Per i dati che devono essere crittografati (riletti, non sottoposti a hashing come una password) la memorizzazione di testo cifrato in un database ti fa guadagnare molto dall'uso della crittografia integrata del database?

In questo caso sarebbe il testo cifrato generato da attr_encrypted rispetto a pgcrypto modulo. Penserei che protegga i dati ottenuti dall'iniezione SQL o dall'accesso al database finché la chiave è rimasta sicura?

Lo svantaggio del testo cifrato è la perdita della capacità di interrogare i dati, quindi se è solo il teatro di sicurezza sembra meglio usare la crittografia del database integrata.

    
posta kreek 27.01.2017 - 00:50
fonte

1 risposta

2

...does storing ciphertext in a database gain you much over using the database's built-in encryption?

I would think it protect data that was obtained from SQL injection or database access as long as the key remained safe?

No. SQLi può essere utilizzato per scalare rapidamente l'accesso al resto della macchina.

Crea i documenti pgcrypto che elencherai:

F.25.6.3. Security Limitations

All pgcrypto functions run inside the database server. That means that all the data and passwords move between pgcrypto and client applications in clear text. Thus you must [either]:

-Connect locally or use SSL connections.

-Trust both system and database administrator.

If you cannot, then better do crypto inside client application.

Questo significa che se un utente malintenzionato può entrare nel computer, i suoi dati sono esposti.

Come suggeriscono, se questo non può essere escluso puoi fare una delle due cose:

  • Sposta l'applicazione su una macchina separata in modo che la chiave non si trovi sulla stessa macchina del database
  • Cripta i dati nell'applicazione client.

The ciphertext downside being you lose the ability to query the data.

Non completamente. Ecco una guida sull'indicizzazione dei dati crittografati in SQL

    
risposta data 27.01.2017 - 01:23
fonte

Leggi altre domande sui tag