Derby/JavaDB Encrypted DB Tutorial?

Hallo liebe Forenmitglieder!

Ich möchte mir eine Javaanwendung programmieren, welche eine lokale Derby DB erzeugt/ nutzt, welche verschlüsselt ist und auch die Daten (mindestens LOGIN), per Hashs übermittelt werden. Leider werde ich aus der Doku nicht sonderlich schlau und wenn ich an Hand der Doku es nachmache, wird quasi der komplette Quellcode als falsch markiert und es wird nichts. Deshalb wollte ich fragen, ob ihr ein Tutorial oder ähnliches für encrypted Derby DB's kennt, wodurch man das ganze gut versteht :)

Viele Grüße!
 

Sasuke

Mitglied
Hey,

kannst du uns denn mal deinen bisherigen Code zeigen? Anscheinend ist ja entweder die Doku oder dein Code falsch. Welches Tutorial hast du denn überhaupt benutzt?

Mit freundlichen Grüßen
Sasuke
 

Thallius

Top Contributor
Eine komplette Datenbank zu verschlüsseln macht nur ganz selten wirklich Sinn. Du versperrst dir damit 90% der Vorteile die eine Datenbank bietet. Sortieren, Teilstringsuche etc. sind damit quasi nicht möglich.

Wenn du nur sicherstelllen willst, das man kein Passwort aus der Datenbank heraus lesen kann, dann Speicher einfach kein Passwort sondern nur r dessen Hash. Das ist die gängige Methode wie es überall gemacht wird.

Gruß

Claus
 
Ich möchte die DB nur als Datenspeicher für Logins etc nutzen. Da ist mir die Sicherheit eigentlich am wichtigsten. Suchfunktion kann man dann doch per Software umsetzen, nich mit DB, oder?
 

Nuiton

Bekanntes Mitglied
Er meint, dass wenn du alle deine Spalten verschluesselst, du doch gar nicht's mit verschluesselten Daten anfangen kannst, wie z.B. sortieren, etc.
 

Dukel

Top Contributor
Dir ist bestimmt die Sicherheit der entsprechenden Daten (der Passwörter / Passworthash) wichtig. Daher musst du auch nur diese verschlüsseln.
 

Dukel

Top Contributor
Die Entsprechenden Felder verschlüsseln oder die Daten vor dem Speichern verschlüsseln und dies dann in die DB schreiben.
 
Also jetzt nochmal kurz zum Zusammenfassen:
Ich habe einen User mit PWD, um mich an meiner lokalen Datenbank anzumelden. Dieses PWD wird gehashed übermittelt. Meine Daten, die auf den Server sollen, also Anmeldedaten, Anmerkungen etc., encrypte ich und sie liegen dann auch nur verschlüsselt auf der DB. Erst beim User wird wieder entschlüsselt. Soweit richtig?
Wenn ja, welche Verschlüsselung nutze ich am besten?
 

Thallius

Top Contributor
Also wenn die DB lokal da liegt wo auch die Java App liegt, dann spar dir das Verschlüsseln. Eine DB ist eh kein Freitext. Das heißt man kann die nicht mal eben in einem Editor aufmachen und Deine Passwörter sehen. Man muss also eine gewisse kriminelle Energie aufbringen um die Passwörter für die DB zu bekommen. Dafür muss man aber nur in deine Java App hineinsehen. Dort stehen die nämlich drin. Das ist für jemanden mit Programmier-Kentnissen gar kein Problem. Wenn Du nun die Daten noch zusätzlich verschlüsselst ist es für den Hacker nur eine Aktion mehr auch noch den key und den Typ der Verschlüsselung aus deiner App auszulesen und alles zu entschlüsseln.

Interessant ist Verschlüsselung nur, wenn deine DB extern auf einem Server liegt und der Key für das Verschlüsseln niemals in die Hände eines dritten gelangen kann.

Gruß

Claus
 

Ähnliche Java Themen

Neue Themen


Oben