PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Съхранение на криптирани данни в Postgres

Най-добрият начинът е да направите крипто на клиента или сървъра на приложения, така че базата данни няма представа какви са ключовете и не може да декриптира данните. Ако клиентът/сървърът на приложения са на различен хост, още по-добре.

Ако вашата база данни криптира и декриптира данните вместо вас, тогава е уязвима ключовете да бъдат откраднати заедно с базата данни.

Ако използвате крипто функциите на pgcrypto в базата данни, можете да накарате приложението да изпрати ключа заедно с данните, което е поне донякъде полезно. Все пак рискува ключовете да бъдат разкрити в регистрационните файлове, ако полезен системен администратор включи агресивно регистриране на изявления или автоматично изхвърляне на планове, и в крайна сметка, ако ключовете отиват в машината за база данни, те са по-уязвими, отколкото ако не са . Нападателят, който поема контрола върху машината с база данни, може също да промени настройките на регистрационния файл, да замени двоичните файлове на postgresql или да подуши трафика, за да улови ключове и данни по този начин.

Ако сървърът на приложения и db са на една и съща машина и се управляват от една и съща роля(и), няма смисъл да се притеснявате за изолирането им и може да е разумно просто да използвате pgcrypto.

Така или иначе, не забравяйте да солите!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Подреждане на резултати от нетърпеливо заредени вложени модели в Node Sequelize

  2. Не е намерен подходящ драйвер при включването на необходимите драйвери с maven-assembly-plugin

  3. Планове за колонни магазини

  4. Достатъчно ефективни ли са postgres JSON индексите в сравнение с класическите нормализирани таблици?

  5. Разбиране на ограниченията за проверка в PostgreSQL