PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL:Szyfruj kolumnę za pomocą pgcrypto

Tajne przechowywanie jest częstym problemem podczas korzystania z mechanizmów kryptograficznych.

pgcrypto nie zapewnia przechowywania kluczy, możesz przechowywać klucz tam, gdzie chcesz i chronić go tak, jak możesz.

Przechowywanie klucza w innej bazie danych, jeśli jest zarządzane przez tego samego administratora, nie zapewnia dużego bezpieczeństwa, ponieważ administrator może uzyskać do niego dostęp w ten sam sposób.

Najlepiej byłoby przechowywać klucz w bezpiecznym skarbcu i zażądać go z aplikacji w celu skonstruowania zapytań. Nadal będzie widoczny z DBA, gdy żądanie jest wykonywane przez select * from pg_stat_activity .

Możesz ustawić klucz dla całej sesji SQL poprzez set session my.vars.cryptokey = 'secret'; następnie użyj go w swoich zapytaniach z następującą składnią:current_setting('my.vars.cryptokey')::text

Aby być (prawie) przezroczystym z punktu widzenia aplikacji, reguły PostgreSQL mogą pomóc w tłumaczeniu secure_column do wywołania funkcji odszyfrowania z kluczem przechowywanym w sesji. Do wstawienia wymagany byłby wyzwalacz przed wstawieniem.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bazy danych Rails, po co używać tego samego DBMS do rozwoju i produkcji?

  2. Używanie r sf::st_write do niepublicznego schematu w PostgreSQL

  3. Jak zainstalować bibliotekę klienta PostgreSQL dla PHP w systemie Windows z włączonym SSL?

  4. Jak mogę stwierdzić, czy Autovacuum PostgreSQL działa w systemie UNIX?

  5. Włącz FIPS w bazie danych PostgreSQL