sql >> Database teknologi >  >> RDS >> PostgreSQL

Lagring af krypterede data i Postgres

Den bedste måden er at lave kryptering på klienten eller applikationsserveren, så databasen har ingen idé om, hvad nøglerne er, og kan ikke dekryptere dataene. Hvis klienten/appserveren er på en anden vært, så meget desto bedre.

Hvis din database krypterer og dekrypterer dataene for dig, så er den sårbar over for at få nøglerne stjålet sammen med databasen.

Hvis du bruger pgcryptos in-database kryptofunktioner, kan du få applikationen til at sende nøglen sammen med dataene, hvilket i det mindste er en smule nyttigt. Det risikerer dog stadig at få nøglerne afsløret i logfilerne, hvis en hjælpsom sysadmin aktiverer aggressiv erklæringslogning eller automatisk plandumping, og i sidste ende, hvis nøglerne går til databasemaskinen, er de mere sårbare, end hvis de ikke er det. . En angriber, der tager kontrol over databasemaskinen, kan også ændre logindstillinger, erstatte postgresql binære filer eller sniffe trafik for at fange nøgler og data på denne måde.

Hvis appserveren og db er på den samme maskine og administreres af de samme roller, er der mindre grund til at bekymre sig om at isolere dem, og det kan være fornuftigt bare at bruge pgcrypto.

Uanset hvad, så husk at salte!




  1. hvordan man får rowNum-lignende kolonne i sqlite IPHONE

  2. regexp_substr springer over tomme positioner

  3. Sådan bruges Udfør øjeblikkelig med INTO-klausul i Oracle-databasen

  4. Kan du få adgang til den automatiske stigningsværdi i MySQL inden for en erklæring?