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

Ukládání šifrovaných dat v Postgresu

nejlepší způsob je provést šifrování na klientském nebo aplikačním serveru, takže databáze netuší, jaké jsou klíče, a nemůže data dešifrovat. Pokud je klient / appserver na jiném hostiteli, tím lépe.

Pokud vaše databáze šifruje a dešifruje data za vás, je zranitelná vůči odcizení klíčů spolu s databází.

Pokud používáte šifrovací funkce v databázi pgcrypto, můžete aplikaci nechat poslat klíč spolu s daty, což je alespoň trochu užitečné. Stále však hrozí, že klíče budou odhaleny v protokolech, pokud užitečný správce systému zapne agresivní protokolování příkazů nebo automatické ukládání plánu, a nakonec, pokud klíče míří do databázového stroje, jsou zranitelnější, než kdyby tomu tak nebylo. . Útočník, který převezme kontrolu nad databázovým strojem, může také změnit nastavení protokolů, nahradit binární soubory postgresql nebo čichat provoz, aby tímto způsobem zachytil klíče a data.

Pokud jsou appserver a db na stejném počítači a spravovány stejnými rolemi, nemá smysl se obávat jejich izolace a může být rozumné použít pouze pgcrypto.

Ať tak či onak, nezapomeňte na sůl!




  1. Transformace funkčnosti třídy Wrapper

  2. Nelze se připojit k serveru MySQL na 'localhost' (10061)

  3. Datový typ záznamu založený na kurzoru s kurzorem vracejícím více hodnot v databázi Oracle

  4. Jak to, že se sqlplus nepřipojuje?