# Verschlüsselung von Daten



## Josty_de (11. Dez 2003)

Hallo zusammen,

kann mir jemand vielleicht mit einem kleinen Programm helfen, welches mir Daten vom Typ String, Integer und Date verschlüsselt? Die Daten werden aus einer DB (DB2-DB) gelesen (gleiche Datentypen), entschlüsselt, verarbeitet und dann wieder verschlüsselt und in eine andere Tabelle der DB zurückgeschrieben.

Gruss und danke schonmal
Markus


----------



## marsias (12. Dez 2003)

hi!

was heißt denn verschlüsseln?

mfg


----------



## Nobody (13. Dez 2003)

der orginal string heist zb : hallo
verschlüsselt: ibmmp
möglichkeit 1 cäserchefrierung:
jeder buchstabe wird durch einen anderen ersetz (leicht zu knacken)
möglichekeit 2: der char wert wird in bits verwandelt und mittels xor not usw verändert

als lektüre such dir ein assembler tutorial raus (vorteil der berschreibungen die ich dazu gelsen habe, war immer verschlüsselung.
des weiteren gibts da noch das javabuch kapitel 47 (www.javabuch.de)

wenn du weitere methoden zur verschlüsselung willst guck mal bei hackit rein (addy ka)
die meisten davon sind recht schlecht und eignen sich eigentlich nur um einen server zu sichern (geh mal davon aus, das es darum geht).

ansonsten frag mal mr google, der kennt sich da wunderbar aus.


----------



## AlArenal (13. Dez 2003)

Was soll das dann werden? Verschlüsselung mit vorchristlichen Methoden? Für sowas gibts deutlich modernere Methoden...


----------



## Josty_de (15. Dez 2003)

... für die Reaktionen und Antworten.

Es geht um folgendes:

Ich habe eine DB auf meinem loaklen Notebook. Da solche Geräte beliebt sind, werden sie gerne geklaut.
Dies kann man aber nicht immer verhindern.
Demnach will ich die Daten auf der DB verschlüsseln, bzw. wenn ich meine Java-Software aufrufe sollen die Daten entschlüsselt werden.

Dafür gibt es natürlich naive Methoden, wie das Char- oder String-weise modifizieren der Daten (Verschlüsselungswörter), man kann aber auch über öffentl. und/oder private Keys gehen.
Was gibt es noch?
Was bietet noch eine gute Performance, wenn bei jedem Einlesen die daten entschlüsselt werden, bzw. beim Speichern die Daten verschlüsselt werden.


Gruß
Markus


----------



## Josty_de (15. Dez 2003)

Wer kennt den Einsatz von cipher?
Ist die Verschlüsselung mit diesen Funtkionen lohnenswert ??


Markus


----------



## marsias (15. Dez 2003)

hi!

hat vielleicht nicht deine DB eine Funktion dafür? 
Also um eine sichere verschlüßelung zu bekommen solltest du dich
auf bewährte mittel beschränken. Ich denke das Problem haben
schon andere vorher gehabt...dafür sollte es lösungen geben.

Verschlüsselungs-Algoritmen: IDEA, GOST, 3-DES es gibt noch mehr gute...


mfg


----------



## Josty_de (15. Dez 2003)

Hallo,

hört sich schon mal gut an. 
Der Sinn ist ja der, dass man ohne das Java Programm und ohne Authentifizierung die Daten in der DB zwar sehen kann, jedoch nur verschlüsselt. Wie sieht es nur mit der Performance aus, wenn tausende von Datensätzen abgefragt und demnach entschlüsselt werden müssen. Was kann hier helfen. Vielleicht der Webserver?

Markus


----------



## AlArenal (15. Dez 2003)

Wenn du alle Daten in der DB verschlüsselst, kannst du zunächst mal herzlich wenig mit der DB anfangen, denn SQL-Abfragen auf ne komplett verschlüsselte DB wirste net hinbekommen. Bei Programmstart müsstest du alle Daten entschlüsseln und in temporäre Tabellen schreiben, die beim Runterfahren der DB/des PCs automatisch gelöscht werden, weil sie nur im RAM gehalten werden.


----------



## Josty_de (15. Dez 2003)

Und wie sollte man dann das Problem am besten lösen?
Gibt es Alternativen??

Markus


----------



## AlArenal (15. Dez 2003)

http://www24.brinkster.com/thorsten123/faq/partitionieren/win2000/enc.htm


----------



## Josty_de (15. Dez 2003)

... für den Link


----------



## Stefan1200 (15. Dez 2003)

Im JavaBuch werden sowohl die einfachen als auch besseren Verschlüsselungsmöglichkeiten erwähnt.
Vielleicht hilft das weiter:
http://www.rz.fhtw-berlin.de/hjp3/k100294.html#sectlevel2id047001


----------



## Josty_de (15. Dez 2003)

Danke für den Link, kann ich gut gebrauchen.



-> An "AlArenal"

Der Link ist klasse. Damit ist auch das Performance-Problem behoben.
Funktioniert recht einfach und ergiebig 
Man sollte nur über den Schlüssel wachen


Markus


----------



## AlArenal (15. Dez 2003)

Das ist wohl wahr, aber wenn du die DB verschlüsselt hättest, hättest du es ja auch nicht anders machen können, denn den Schlüssel im Programm ablegen bringt ja auch nix. Einfach die .class-Datei dekompilieren und schön hätte jeder den Schlüssel.

Absolute Sicherheit gibts nunmal net.

Freut mich, dass ich helfen konnte.


----------



## Josty_de (15. Dez 2003)

Nochmal an "AlArenal":

Die Idee ist ja klasse, will sich aber auf DB2 nicht umsetzen lassen.
Die Unterverzeichnisse werden verschlüsselt.
Greife ich aber mit mienem Java-Programm darauf zu oder versuche mich über den DB2-Befehlszeilenprozessor dmit zu verbinden, wird die DB nicht gefunden.

Wie kann man trotzdem auf die DB zugreifen, wenn man auch als der User eingeloggt ist, der auch die Unterverzeichnisse mit Dateien verschlüsselt hat.


Gruß
Markus


----------



## AlArenal (15. Dez 2003)

*grübel*

Da stellt sich die Frage, ob DB2 da irgendwie am Betriebssystem vorbei auf Dateien zugreift...

http://www.aspg.com/megafaq.htm


> Does MegaCryption work with DB2 files?
> Yes, MegaCryption has a direct interface to DB2 files allowing columns or entire tables to be encrypted automatically using DB2 fieldproc exits.


(kann ich aber net mehr zu sagen, weil das Nav-Applet bei mri immer hops geht)

http://www.devx.com/getHelpOn/10MinuteSolution/17712/1954?pf=true

http://www-106.ibm.com/developerworks/db2/library/techarticle/benfield/0108benfield.html


----------



## Josty_de (15. Dez 2003)

erstmal.
Ich schau mir mal die Links an.
Wenn ich mehr weiß, werde ich es schreiben


Markus


----------



## Josty_de (16. Dez 2003)

Ich bin die Links durchgegangen...
Der IBM-Link scheint eine nette Alternative, wobei mir die Performance leiden wird.
Aber irgendwie finde ich keinen Link, der mir einfach nur eine Möglichkeit bietet auf DB2 Daten uzugreifen, wenn diese durch Win2000 oder XP verschlüsselt sind.


Markus


----------



## marsias (16. Dez 2003)

Hi!

Wenn du die Verschlüsselung von XP/2000 benutzt, also die des NTFS,
kannst ja nur du als User diese Daten auch lesen. Dazu müßtest du
ja die abgelegten Datenbank dateien unter eingenschaften entsprechend
einstellen.

Das problem ist echt, was ich auch hatte, das mir mal mein win abeschmiert ist
und ich die daten vergessen konnte. Aber soweit ich weiß kann man sich die wieder
entschlüsseln lassen irgendwie! Hoffen wir mal das es nicht passiert!

mfg


----------



## Josty_de (16. Dez 2003)

Hallo,

danke für den Tipp, nur...

Ich habe den DB2-Ordner mit sämltichen Subfolders und Dateien als User "xy" verschlüsselt. Auch die vollen Rechte auf diese Verzeichnisse und Dateien sind gegeben.
Wenn ich aber das Java Programm starte und mich als User "xy" connecten möchte (bin auch als User xy eingeloggt), bekomme ich keine Verbindung....E/A Fehler

Habe ich was vergessen?

Markus


----------



## Josty_de (18. Dez 2003)

Um mit einem Java Programm auf eine DB2 DB zuzugreifen, wobei die Daten über EFS verschlüsselt sind, muß man nur die DB2-Dienste mit dem gleichen User starten lasse, der die DB2-Dateien und Unterverzeichnisse verschlüsselt hat.

Eigentlich recht einfach.

Gruß
Markus


----------

