Datenverschlüsselung

Konfiguration des PostgreSQL Datenbankservers.
Antworten
nowhereman
Neuer Benutzer
Beiträge: 3
Registriert: Fr 10. Mai 2019, 23:39

Datenverschlüsselung

Beitrag von nowhereman » Fr 10. Mai 2019, 23:43

Hallo,
ich habe bei einem Kundenauftrag die Vorgabe, dass der Inhalt der Tabellen verschlüsselt sein muss. Passwort für die Entschlüsselung wird über die Software an den Datenbankserver übergeben. Damit soll vermieden werden, dass der Datenbankadministrator die Daten der Tabellen lesen, bzw. ändern kann.
Ist das mit PostgreSQL möglich? Bin neu bei PostgreSQL.
Danke für Unterstützng.
Gruß
Nowhereman

Xandrian
Erfahrener Benutzer
Beiträge: 1693
Registriert: Mi 23. Nov 2005, 09:17
Wohnort: Bayreuth
Kontaktdaten:

Re: Datenverschlüsselung

Beitrag von Xandrian » Sa 11. Mai 2019, 07:19

Ob es möglich ist kann ich dir jetzt akut nicht sagen, aber das die Idee blödsinnig ist schon.

Warum? In dem moment wo das Passwort an den Server mit übergeben wird (z. B. in einem SELECT), hat der Administrator schon das Kennwort. Der Administrator eines Datenbankserver kann die SQL Statements mitloggen und somit auch das Kennwort extrahieren... Also kurz gesagt blöde Idee.

Entweder dem Administrator vertrauen oder wenn diese Sicherheit notwendig ist, dann muss diese komplett in der Applikation erfolgen. Also Ver- und Entschlüsselung.

cu tb
pg-forum.de unterstützen? Meine Wunschliste

Bild

nowhereman
Neuer Benutzer
Beiträge: 3
Registriert: Fr 10. Mai 2019, 23:39

Re: Datenverschlüsselung

Beitrag von nowhereman » Sa 11. Mai 2019, 15:19

Problem ist, wenn ich die Datenbank über die Anwendung mit verschlüsselten Daten füttere, kann ich sinnvoll weder joins noch where nutzen. Bei MsSQL 2016 ist entsprechendes als Warnhinweis vorhanden. Wäre dort also eine sinnfreie Idee und hoffentlich in PostgreSQL gelöst. Problem ist, der Kunde wird auditiert und das ist eine Auditvorgabe.

castorp
Erfahrener Benutzer
Beiträge: 1125
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: Datenverschlüsselung

Beitrag von castorp » Sa 11. Mai 2019, 16:16

Wieso musst Du über Spalten verschlüsseln über die Du joinst? Das sind noch im Regelfall generierte Nummern, wieso muss man die verschlüsseln?
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

nowhereman
Neuer Benutzer
Beiträge: 3
Registriert: Fr 10. Mai 2019, 23:39

Re: Datenverschlüsselung

Beitrag von nowhereman » Sa 11. Mai 2019, 16:45

Bei den MS Informationen für MsSQL 2016 wurde join erwähnt. Keine Ahnung warum, da ich das nie hinterfragt habe. Bin eh kein Freund von MsSQL :)

Dravion
Benutzer
Beiträge: 34
Registriert: So 6. Nov 2016, 09:43

Re: Datenverschlüsselung

Beitrag von Dravion » So 12. Mai 2019, 07:37

ORACLE unterstützt das mit dem Feature Label Security, ist aber nicht ganz billig

Quote:
Oracle Label Security enables companies and government organizations to consolidate data with different access requirements (including government classified data) into the same database. It implements multilevel access controls based on the classification of the data and the access label of the application user. This powerful capability enables access to sensitive data associated with R&D projects, non-public financial information, or healthcare information to be enforced inside Oracle Database 18c.

https://www.oracle.com/database/technol ... urity.html

Du bekommst damit so sachen wir Transparente Rowlevel encryption und der Transportlayer ist mit TLSv1.2 verschlüsselt.
Für login Sachen kann man eine PKI oder LDAP Authorization nutzen, die Token basiert ist (genau wie bei Kerberos) und einem Admin
bringt das Mitsniffen oder loggen auch nichts. Label Security wurde unter aderen dafür entwickelt, daß DB-Admins den Tabellen inhalt
nur verschlüsselt aber nicht entschlüsselt sehen können.

Antworten