sql >> Databasteknik >  >> RDS >> PostgreSQL

Lagring av krypterad data i Postgres

Det bästa sättet är att göra krypteringen på klienten eller applikationsservern, så databasen har ingen aning om vad nycklarna är och kan inte dekryptera data. Om klienten/appservern finns på en annan värd, desto bättre.

Om din databas krypterar och dekrypterar data åt dig, är den sårbar för att nycklarna blir stulna tillsammans med databasen.

Om du använder pgcryptos kryptofunktioner i databasen kan du få applikationen att skicka nyckeln tillsammans med data, vilket åtminstone är till viss hjälp. Det riskerar dock fortfarande att få nycklarna exponerade i loggarna om en hjälpsam systemadministratör aktiverar aggressiv uttalandeloggning eller automatisk plandumpning, och i slutändan om nycklarna går till databasmaskinen är de mer sårbara än om de inte är det. . En angripare som tar kontroll över databasmaskinen kan också ändra logginställningar, ersätta postgresql-binärfilerna eller sniffa trafik för att fånga nycklar och data på detta sätt.

Om appservern och db är på samma dator och hanteras av samma roll(er) är det mindre poäng att oroa sig för att isolera dem, och det kan vara klokt att bara använda pgcrypto.

Oavsett vilket, kom ihåg att salta!




  1. Hur skapar man ett unikt index på en NULL-kolumn?

  2. Postgres datum överlappande begränsning

  3. Övervaka MariaDB-prestanda i ett hybridmoln

  4. MySQL Tutorial – En nybörjarguide för att lära dig MySQL