AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DBMemo Text vorm speichern verschlüsseln
Thema durchsuchen
Ansicht
Themen-Optionen

DBMemo Text vorm speichern verschlüsseln

Ein Thema von Alterauge · begonnen am 6. Aug 2012 · letzter Beitrag vom 9. Aug 2012
Antwort Antwort
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#1

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 09:24
Nein, ich meine "One is to encrypt all the data on the client before saving to database columns, and decrypt while reading."

Man muss doch nur eine UDF-DLL für Firebird mit den Routinen Encrypt/Decrypt erstellen und registrieren. Und wie man eine UDF-DLL für Firebird schreibt, steht hier

http://www.firebirdsql.org/en/writin...base-firebird/

Und hier ist sogar ein Beispiel, das Du fast 1:1 übernehmen könntest (Must halt nur Encrypten und Decrypten einbauen).
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 09:33
Nein, ich meine "One is to encrypt all the data on the client before saving to database columns, and decrypt while reading."

Man muss doch nur eine UDF-DLL für Firebird mit den Routinen Encrypt/Decrypt erstellen und registrieren. Und wie man eine UDF-DLL für Firebird schreibt, steht hier

http://www.firebirdsql.org/en/writin...base-firebird/

Und hier ist sogar ein Beispiel, das Du fast 1:1 übernehmen könntest (Must halt nur Encrypten und Decrypten einbauen).
Okay, auch wenn ich das wohl eher nicht ausprobieren werde: Der Knackpunkt, daß man die verschlüsselten Strings in der Firebird-DB nicht durchsuchen kann, bleibt aber doch bestehen, wenn ich das richtig verstanden habe, oder? Bei einer guten Verschlüsselung wird ja nicht jedes Wort einzeln verschlüsselt und ergibt somit auch nicht immer denselben verschlüsselten String, sonst wäre die Verschlüsselung ja relativ leicht zu knacken ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#3

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 09:55
Erst entschlüsseln, dann durchsuchen, so wird es ja auch im Beispiel weiter vorn gemacht. Abgesehen von der Performance sehe ich persönlich da jetzt kein Problem.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 10:01
Erst entschlüsseln, dann durchsuchen, so wird es ja auch im Beispiel weiter vorn gemacht. Abgesehen von der Performance sehe ich persönlich da jetzt kein Problem.
Wenn ich das richtig verstehe, manipuliert diese UDF-Dll den Speicherbereich, in den Firebird nach dem Auslesen eines Zellen-Inhalts (eines Wertes aus einer Spalte) diesen Wert abgelegt hat? Die Methoden z.B. zum Vergleichen von Zellinhalten mit einem gegebenen Parameterwert (z.B. bei einer Where-Klausel) finden ja irgendwo in der Firebird-Engine statt ... aber lassen wir das, ich warte lieber auf das stable Release von Firebird 3 ...
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#5

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 10:03
Abgesehen von der Performance sehe ich persönlich da jetzt kein Problem.
Na, das "Problem" ist, das die Sicherheitsstufe nicht erhöht wird. Die Daten sind zwar verschlüsselt, aber der Verschlüsselungsschlüssel ist im SELECT-Statement im Klartext sichtbar.

Allerdings könnte man sich da auch perverse Geschichten ausdenken, um das nicht so offensichtlich zu machen. Man könnte z.B. der Crypt-UDF-DLL über andere Kanäle (SSL) einen Schlüssel übergeben. Aber auch das ist nur ein 'security by obscurity', denn da die UDF meines Wissens nach für jeden Sichtbar ist, könnte ein Angreifer in jedem Fall (sofern ein Feldinhalt im Klartext bekannt ist) den Schlüssel brutfortzen (Achtung! Wechstaben nicht verbuckseln!).

Als Spielerei, und um Kunden zu beeindrucken, sollte das aber allemal reichen. Nebenbei ist es auch halbwegs sicher, also man kann nicht einfach in die Daten reinglotzen.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 10:12
Abgesehen von der Performance sehe ich persönlich da jetzt kein Problem.
Na, das "Problem" ist, das die Sicherheitsstufe nicht erhöht wird. Die Daten sind zwar verschlüsselt, aber der Verschlüsselungsschlüssel ist im SELECT-Statement im Klartext sichtbar.

Allerdings könnte man sich da auch perverse Geschichten ausdenken, um das nicht so offensichtlich zu machen. Man könnte z.B. der Crypt-UDF-DLL über andere Kanäle (SSL) einen Schlüssel übergeben. Aber auch das ist nur ein 'security by obscurity', denn da die UDF meines Wissens nach für jeden Sichtbar ist, könnte ein Angreifer in jedem Fall (sofern ein Feldinhalt im Klartext bekannt ist) den Schlüssel brutfortzen (Achtung! Wechstaben nicht verbuckseln!).

Als Spielerei, und um Kunden zu beeindrucken, sollte das aber allemal reichen. Nebenbei ist es auch halbwegs sicher, also man kann nicht einfach in die Daten reinglotzen.
Eine andere Möglichkeit wäre die Verwendung von virtuellen Tabellen, wenn es sich nicht um allzu große Datenbestände handelt. Ich hab diese Technik mal bei einem Passwort-Manager eingesetzt (da gibt's in der Regel keine Tausende von Einträgen), der mit einer Firebird-Embedded arbeitet:

Du hast in der DB alles verschlüsselt. Bei Programmstart werden virtuelle Tabellen mit den entschlüsselten Daten angelegt, um die Daten durchsuchen zu können. Bei Programmende werden die Daten der virtuellen Tabelle wieder verschlüsselt und in die ursprünglichen Tabellen zurückgeschrieben, die virtuellen Tabellen werden entfernt. Ein abschließendes Backup und Restore sorgt für eine aufgeräumte Datenbank.

Größere Firmen bzw. die gebräuchlichsten ERP-Systeme verwenden in der Regel sowieso keinen Firebird-Server, soweit ich das überhaupt beurteilen kann. Was mir bislang an Firmen-DBs untergekommen ist, war ausnahmslos nicht verschlüsselt.
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#7

AW: DBMemo Text vorm speichern verschlüsseln

  Alt 9. Aug 2012, 10:22
Die Sicherheit sollte über Benutzerkonten hinreichend geregelt sein. Verschlüsseln ist immer mit einem Performanceverlust verbunden.

Also getackerte Hosenträger zum Gürtel muss natürlich ein Crypten herhalten, aber i.A. reichen dann TrueCrypt etc. aus.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz