sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL:Šifrujte sloupec pomocí pgcrypto

Tajné úložiště je běžným problémem při používání kryptomechanismů.

pgcrypto neposkytuje úložiště klíčů, můžete si klíč uložit, kam chcete, a chránit jej, jak můžete.

Uložení klíče v jiné databázi, pokud je spravováno stejným DBA, neposkytuje příliš velké zabezpečení, protože DBA k němu může přistupovat stejným způsobem.

V ideálním případě byste klíč uložili do zabezpečeného trezoru a vyžádali si jej od své aplikace, abyste mohli sestavit dotazy. Bude stále viditelné z DBA, zatímco požadavek běží prostřednictvím select * from pg_stat_activity .

Klíč můžete nastavit pro široké použití relace SQL pomocí set session my.vars.cryptokey = 'secret'; pak jej použijte ve svých dotazech s následující syntaxí:current_setting('my.vars.cryptokey')::text

Aby byla z aplikačního hlediska (téměř) transparentní, pravidla PostgreSQL mohou pomoci při překladu secure_column k volání funkce dešifrování pomocí uloženého klíče relace. Pro vložení by byl vyžadován spouštěč předběžného vložení.




  1. Oracle 11g OFFSET FETCH hlásí chybu

  2. MySQL Connector připojující k výčtu hodnotu o jednu menší, než je skutečná hodnota

  3. Problémy s vyhledáváním s MySQL

  4. Jak efektivně AKTUALIZOVAT sloupec ve velké tabulce PostgreSQL pomocí Pythonu / psycopg2?