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

PostgreSQL:Шифроване на колона с pgcrypto

Тайното съхранение е често срещан проблем при използване на крипто механизми.

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

Съхраняването на ключа в друга база данни, ако се управлява от същия DBA, не осигурява много сигурност, тъй като DBA може да има достъп до нея по същия начин.

В идеалния случай бихте съхранили ключа в защитено хранилище и бихте го поискали от вашето приложение, за да конструирате заявките. Той все още ще бъде видим от DBA, докато заявката се изпълнява чрез select * from pg_stat_activity .

Можете да зададете ключа за широко използване на SQL сесия чрез set session my.vars.cryptokey = 'secret'; след това го използвайте в заявките си със следния синтаксис:current_setting('my.vars.cryptokey')::text

За да бъдат (почти) прозрачни от гледна точка на приложението, правилата на PostgreSQL могат да помогнат за превода на secure_column към извикването на функцията за дешифриране със съхранения ключ на сесията. За вмъкване ще е необходим тригер за предварително вмъкване.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка на съветника за импортиране и експортиране на SQL Server при експортиране към PostgreSQL

  2. Посочени са множество стойности по подразбиране за идентификатор на колона на таблицата

  3. Конфигурирайте PHP и PostgreSQL в Windows

  4. Функцията XPath sum или fn:sum внедрена ли е в PostgreSQL XPath?

  5. Как да конвертирате епохата на Unix във времева марка