Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datenbank Verschlüsselung - Welcher Ansatz?

Mitglied: homedom

homedom (Level 1) - Jetzt verbinden

08.12.2012 um 12:32 Uhr, 10404 Aufrufe, 5 Kommentare

Hallo,
ich befasse mich zur Zeit mit der Verschlüsselung von einer MySQL Datenbank. Dabei habe ich jetzt mehrere Ansätze gelesen und hätte noch ein paar Fragen dazu. Die Ansätze dich ich gelesen habe: Festplattenverschlüsselung (komplett), Verschlüsselung der Datenbankdateien, Verschlüsselung von Spalten mittels AES_ENCRYPT().
Das Ziel der Verschlüsselung ist doch, dass ein Angreifer der Zugriff auf die Datenbank / den PC hat, die Daten nicht lesen kann. So hätte ich das zumindest verstanden. Aber dann fallen die ersten beiden Ansätze doch flach oder? Denn zur Laufzeit des PCs, zu dem ein Angriff meist stattfindet, sind die Daten doch lesbar, oder nicht? Das heißt für mich, die ersten beiden Ansätze sind nur dann Interessant, wenn die Festplatte ausgebaut ist. Daher bleibt nur Ansatz 3, AES_ENCRYPT(). Aber gibt es da wirklich keine einfachere Möglichkeit um eine vergleichbare Sicherheit zu erzielen? Also dass nur die Anwendung selbst, die den Schlüssel kennt, die Daten lesen kann? Ist das überhaupt ein sinnvoller Ansatz? Immerhin macht das Schema-Änderungen und Wartungsarbeiten fast unmöglich oder zumindest schwer durchführbar.
Daher bleibt zum Schluss noch die Frage: wenn es heißt, Daten müssen verschlüsselt gespeichert werden (z.B. Gesundheitsdaten), reicht dann eine "einfache" Fesplattenverschlüsselung?
Danke, Gruß homedom
Mitglied: 108012
08.12.2012 um 14:18 Uhr
Hallo homedom,

vorerst eins, bitte nimm nicht die original Datenbank, bitte arbeite mit einer Kopie!
Zweitens mach ein Backup der Datenbank und zwar ein Vollbackup!

Mit dem Hinblick auf die Gesundheitsdaten gibt es zum Einen bestimmt Vorschriften oder aber zumindest
Hinweise darauf wie solche Daten zu handhaben sind! Und eben dort solltest Du zuerst ansetzen um heraus zu
finden was gegeben und vor allem was erfüllt sein muss, im Hinblick auf genau diese Gesundheitsdaten!

Man kann Zugriffe auf Datenbanken beschränken, so dass nicht jeder Benutzer alle Daten einsehen, drucken, auslesen oder abspeichern so wie exportieren kann.

Und man kann diese Daten auch noch zusätzlich verschlüsseln wenn sie abgespeichert werden, damit niemand (intern) einfach diese Datenbank stiehlt und die Daten verwerten kann!

Sollte nun jemand auch gewisse Daten zugreifen wird zum einen überprüft ob Sie/Er berechtigt ist diese einzusehen und zum anderen werden diese dann entschlüsselt und Sie/er kann damit arbeiten.

Dieses Vorgehen ist allerdings an eine gewissen Größe und Mitarbeiterzahl gebunden und nicht zu guter Letzt auch eine Implementationsfrage und hier liegt meist der wirkliche Fallstrick!

Was nützt Dir denn, sagen wir einmal der AES-256 Chipher wenn Du den jetzt falsch implementierst
und das ganze ist trotzdem zu umgehen oder zu entschlüsseln? Nichts, rein garnichts, ich meine wenn es um
die Kundendatenbank mit Margen, Tarifen und/oder Konditionen der Kunden geht ist das halt Pech für den
Betrieb und Dich, aber wenn es nun um Patientendaten oder Gesundheitsdaten geht, steht auch noch recht schnell der Landesbeauftragte für Datenschutz auf der Matte und stellt komische Fragen und dann ist es eben besser man kann sagen das es sich um eine zertifizierte Lösung der Firma x, y oder z handelt
um meist großen und teuren Ärger zu vermeiden!

Um sich aber gegen externe agierende Datendiebe zu schützen, wird Dir die Verschlüsselung alleine nicht ausreichen! Da kommt es wohl auch eher darauf an das Gesamtkonzept an.

Wo steht die Datenbank? (LAN, DMZ)
Wie ist diese geschützt, gesichert oder wird diese Verteidigt?
Sind das Geräte von einem namhaften Herstellern die nach einem bestimmten Standard zertifiziert sind?
z.B. die pfSense und auch mOnOwall sind tolle Firewall, aber nach was sind die zertifiziert worden und
wer bürgt oder haftet im Fall der Fälle dafür? Klar bei der normalen Firma und der o.g. Kundendatenbank
fragt danach keiner oder besser niemand, aber im Falle von Patientendaten oder Gesundheitsdaten
fragt der Landesbeauftragte des jeweiligen Bundeslandes danach und das dummer weise auch noch ziemlich energisch!

Da kann man halt nicht sagen das ist aber ne schicke Firewall und die Nehmen die Anderen Kumpels auch alle.
Mag ja alles richtig sein, nur in einem solchen Fall würde ich lieber sagen können, verhau wen anderes,
vor allem anderen aber wenn jemand klagt und die Versicherung dann nicht haften will, weil ja nichts
zertifiziert war und Standards nicht eingehalten wurden, dann wird es richtig ungemütlich, für Dich.

Zu guter Letzt falls Du vorhast die Festplatten alle am Feierabend zu verschlüsseln und dann
die Rechner und Server runter zu fahren, keine schlechte Idee vielleicht, aber bitte nimm das dann auch mit
in Deinen Backup Plan so auf und werde dem auch gerecht!

Wenn es wirklich um Gesundheitsdaten und/oder Patientendaten geht würde ich an Deiner Stelle da nicht selber etwas zusammen "schustern" und nachher sagt Dr. XYZ, das hat der EDV Dienstleister erledigt haut den und nicht mich!

Gruß und schönes WE
Dobby
Bitte warten ..
Mitglied: homedom
08.12.2012 um 16:30 Uhr
Hallo Dobby,
danke für deine ausführliche Antwort.
Leider hat das meine Frage nicht ganz beantwortet. Mir geht es mehr um die Datenbankverschlüsselung an sich.

Gruß, homedom
Bitte warten ..
Mitglied: 16568
09.12.2012, aktualisiert um 00:00 Uhr
Hallo Dobby,

Zitat von 108012:
Man kann Zugriffe auf Datenbanken beschränken, so dass nicht jeder Benutzer alle Daten einsehen, drucken, auslesen oder
abspeichern so wie exportieren kann.

Dann scheint mir, Du kennst MySQL nicht.
Grundsätzlich ist es so, daß die Datenbanken ja zum einen als Dateien vorliegen (bei MySQL kann man die sogar im laufenden Betrieb woandershinkopieren, und die Chancen stehen nicht schlecht, daß die dann auch werkeln...)
Und wie der Threadstarter gesagt hat, wenn die DB erst mal läuft, sind die Daten ohnehin unencrypted.


Grundsätzlich ist das aber bei ALLEN Datenbanken so:
ab dem Zeitpunkt, ab dem sie laufen, kann man durch sog. Injections an die Daten kommen, sofern man Fehler in der Drumherum-Applikation findet.

Daher lautet die wohl logischste Lösung für Dein Problem:
sauberer Code, prepared statements und mehrere Berechtigungsebenen


Lonesome Walker
Bitte warten ..
Mitglied: maretz
09.12.2012 um 12:04 Uhr
Moin,

ich denke du musst einfach klar sagen wogegen du dich schützen möchtest… Es gibt keine Methode "ProtectAnywhere".

Möchtest du dich dagegen schützen das jemand deinen Server klaut - dann wären die Platten zu verschlüsseln. Wenn man jetzt mal davon ausgeht das derjenige nicht das System erst mit Flüssigstickstoff behandelt und so wirklich das System einfriert sondern einfach ausschaltet und mitnimmt bist du dann schon auf dem richtigen Weg (natürlich nur wenn die nicht automatisch beim Start entschlüsselt werden - sondern hier irgendein Key/Token benötigt wird).

Möchtest du die Dateninhalte schützen (sei es SQL-Injection oder sei es einfach nen Physikalischer Zugriff auf die DB) dann musst du deine Daten dann selbst verschlüsseln. Dabei kannst du wählen ob du eine "Einweg-Verschlüsselung" wie MD5 nutzt (ja, ich weiss, ist keine Verschlüsselung!) - zum Beispiel für Passwörter die du ja nie wieder im Klartext zurück benötigst. Oder brauchst du die Entschlüsselung auch - dann musst du dir hier eines der bekannten Verfahren aussuchen…

Die dritte Stelle wäre die Datenübertragung. Es bringt ja wenig wenn du deine Daten mit 500000 Millionen Bits verschlüsselt hast und selbst in 1 Mrd. Jahren das keiner knacken kann - du aber die Daten dann im Klartext über die Leitung jagst so das jeder Sharki die einfach mal mitschneidet… Dagegen hilft dann natürlich auch keine Festplattenverschlüsselung usw…

Und dann hast du eben die schlimmste Stelle - das ist der Client. Denn alle 3 anderen Stellen kannst du beeinflussen. Aber: Wenn die Daten beim Client lokal zwischengespeichert werden, der Client nen Trojaner oder sonst was hat was da alle Daten mit weghaut dann guckst du dumm aus der Wäsche. Deine Platten verschlüsselt, deine DB alles verschlüsselt, beste SSL-Verschlüsselung für die Datenübertragung, saubere Keys das ein "Man in the middle" ausgeschlossen werden kann -> und auf dem Client sendet der Trojaner fröhlich munter alle deine Daten ins Web. HIER hilft dann eben nur ein vernünftiges Berechtigungskonzept -> so das der Client eben nur das sehen darf was er unbedingt muss und die anderen Daten gar nicht zum Client wandern…

Schönen Gruß,

Mike
Bitte warten ..
Mitglied: wolfgang2
17.11.2014 um 14:19 Uhr
Hallo,

AES ist gut und sicher. Ich weiß, Firmen sollen in Foren nichts reinschreiben, aber wir haben eine kostenfrei OpenSource Datenverschlüsselungs-Lösung: http://eperi.de/open-source/secrt/

Viele Grüße,
WOlfgang
Bitte warten ..
Ähnliche Inhalte
LAN, WAN, Wireless
Verschlüsselung SSL
Frage von eberhartIILAN, WAN, Wireless10 Kommentare

Hallo, es lief alles so schön, ich dachte so würde es bleiben. Aber dann wurde auf verschlüsselte E-Mails umgestellt ...

Verschlüsselung & Zertifikate
Verschlüsselung Laptop
gelöst Frage von ProRoxVerschlüsselung & Zertifikate11 Kommentare

Hallo liebe Gemeinde, Ich hab einen Laptop mit einer Verschlüsselung (vermutlich Festplattenverschlüsselung) erhalten (ja alles legal) und frage mich ...

Virtualisierung

NAS und Firewall auf einem System virtualisieren, welchen Ansatz wählen?

Frage von ShutterflyVirtualisierung6 Kommentare

TL;DR: Ich suche eine Möglichkeit ein NAS und eine Firewall zu virtualisieren. Das NAS soll mit Paritäten arbeiten, damit ...

PHP

Verschlüsselung PHP

Frage von gamerffPHP4 Kommentare

Hallo Forum, da ich noch nicht so gut im PHP Programmieren bin benötige ich bitte eure Hilfe. Ich brauch ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 4 StundenGoogle Android2 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 5 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 8 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server39 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing18 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

CPU, RAM, Mainboards
32 gb RAM zu wenig?
Frage von pcguyCPU, RAM, Mainboards13 Kommentare

Hallo zusammen, mein PC verfügt über 32GB Ram. Nun kriege ich bei grossen Dateien im Illustrator die Fehlermeldung das ...