# Java Passwort verschlüsseln --> kompliziert! wirklich doo



## RichardDERLINKE (24. Sep 2007)

Hallo,

ich habe ein kleines Denkproblem, bei dem ich gar nicht weiter komme.. 

Ich umschreibe es in einem Beispiel, hoffe, dass ich aussagekräftig bin
Problem:

User hat einen email-account. für diesen email-account hat er name und passwort. nun möchte der user die emails von einem anderen server abrufen, name und passwort sollen aber für mich(betreiber des anderen servers)  nicht sichtbar sein. es soll also keine möglichkeit geben, dass ich(betreiber des anderen servers) mich in den email-account des users einloggen kann.

also der user soll sein passwort für sein email-account auf meiner seite eingeben können mit der sicherheit, dass nur er seine emails abrufen kann. und nicht auch ich, bei dem er das passwort für den email-account eingegeben hat.


es müsste also verschlüsselt werden, gespeichert, und beim Abrufen seiner email müsste das PW wieder entcodiert werden, und ohne, dass ich bzw. irgend ein anderer es abfangen könnte seinen account gesendet werden.

Geht sowas mit java? wie geht so was? kleine und große tips willkommen

 :roll:


----------



## Wildcard (24. Sep 2007)

Das geht nicht mit Java und auch mit sonst nichts.
Wenn du das Passwort an Server X schicken willst, dann musst du es wohl kennen.
Die einzige Ausnahme wäre eine End-zu-End Verschlüsselung wo dein Server lediglich dazwischen steht ohne die Daten selbst entschlüsseln zu können. Für Mails fällt das aber wohl aus.


----------



## RichardDERLINKE (25. Sep 2007)

Wildcard hat gesagt.:
			
		

> Das geht nicht mit Java und auch mit sonst nichts.
> Wenn du das Passwort an Server X schicken willst, dann musst du es wohl kennen.
> Die einzige Ausnahme wäre eine End-zu-End Verschlüsselung wo dein Server lediglich dazwischen steht ohne die Daten selbst entschlüsseln zu können. Für Mails fällt das aber wohl aus.



ja, so etwas ähnliches möchte ich machen. der user soll sich über sein passwort, welches bei mir hinterlegt ist(verschlüsselt), sich auf dem mail server einloggen und seine mail abrufen können. der inhalt der mail ist nicht so brisant... nur sein pw.
greets

ps: hab dir ein icq request geschickt.


----------



## The_S (25. Sep 2007)

Naja, du könntest sein Passwort mit dem Passwort, dass er beim Login auf deinen Server eingibt verschlüsseln, und das Passwort für deinen Server als Hash speichern. So benötigt man sein Passwort für deinen Server, um an das Passwort für seinen Mail-Account zu kommen.

Oder hab ich jetzt was falsch verstanden?


----------



## SnooP (25. Sep 2007)

nunja... unproblematisch ist es doch, wenn er grundsätzlich sein Password eingeben muss, wenn er sein Postfach auf dem anderen Server ansprechen will... - sprich du speicherst das Passwort einfach nie - oder hab ich jetzt noch was falsch verstanden?


----------



## Wildcard (25. Sep 2007)

Der Anwender muss Richard aber dennoch vertrauen das er das Passwort weder mitschneidet, noch speichert.
Wenn jemand Zugriff auf Richards Rechner hat, kann er das Passwort abgreifen.


----------



## RichardDERLINKE (26. Sep 2007)

ja, das ist das problem, meine bisherigen überlegeunge laufen immer darauf hinaus , wenn der server geknackt ist, ist das userpasswort sichtbar... weil ich ja auf dem server den schlüssel brauche um es zu entschluesseln und dann an die accounts zu senden.....


----------



## The_S (26. Sep 2007)

Öhm, ich verstehs immer noch nicht. Warum verschlüsselst du das Passwort des Mail Accounts nicht mit dem Passwort des Users für deinen Server?

Wenn dein Server geknackt wird, kann man die Mail Account Passwörter nicht lesen, und wenn das Passwort zu deinem Server stimmt, wird das korrekte Passwort wieder entschlüsselt!?


----------



## byte (26. Sep 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Öhm, ich verstehs immer noch nicht. Warum verschlüsselst du das Passwort des Mail Accounts nicht mit dem Passwort des Users für deinen Server?


Und wie speicherst Du dann das Userpasswort des Servers? Als Klartext wäre es dämlich und als Hash kannst Du es nicht mehr zum Verschlüsseln nutzen.


Ich sehs wie SnooP. Du musst das Email-Passwort nicht speichern sondern lediglich weiterreichen.


----------



## The_S (26. Sep 2007)

Das Userpasswort wird als Hash gespeichert und der User muss das Serverpasswort natürlich bei jeder Verbindung eingeben.

Sollte es nicht so gewollt sein, dass der User bei jeder Verbindung zum Server sein Serverpasswort eingeben muss, dann könnt ihr meine Posts ignorieren. Hab das aber nirgends rauslesen können


----------



## Guest (28. Sep 2007)

hallo, sorry, dass ich erst jetzt wieder da bin 

ähm, leider ist es so, dass der user selbst gar nicht die mails abruft, sondern dass ein server für ihn erledigt alle 5 min. soll heißen, dass passwort muss irgendwo auf dem server liegen...


----------



## Murray (28. Sep 2007)

Aus technischen Gründen muss das Passwort also unverschlüsselt auf deinem Server liegen (denn mit etwas anderem als dem unverschlüsselten Passwort kann man ja keine Mails abrufen),  aus Sicherheitsgründen darf das Passwort aber nicht unverschlüsselt auf deinem Server liegen - klingt für mich irgendwie unvereinbar; es sei denn, es gäbe eine "trusted third party" - aber wer sollte das sein?


----------



## RichardDERLINKE (29. Sep 2007)

also, das paswort muss zumindest für das auf dem server laufende programm entschlüsselbar sein. third party und co ist kein problem, ich scheue keinen aufwand.... alerdings wie duschon geschrieben hast irgendiwe beißt sich das pferd selbst in den schwanz.........

gibt es vielelciht die möglichkeit das passwort verschlüsselt zu speichern und das versenden nur an eine bestimme adresse perr https zu  zulassen oder son kram... mein kopf hackt gerade aus... nicht der komplexitöt wegen, sondern der zeit und ... ähm danke für jenden tipp :###


----------



## byte (29. Sep 2007)

RichardDERLINKE hat gesagt.:
			
		

> gibt es vielelciht die möglichkeit das passwort verschlüsselt zu speichern und das versenden nur an eine bestimme adresse perr https zu  zulassen oder son kram...


???:L Wie stellst Du Dir das vor? Wenn Du Daten speicherst, dann hast Du keinen Einfluss darauf, was derjenige damit macht, der sie wieder ausliest.

Was Du erreichen willst, ist schlichtweg nicht möglich. Deine Server-Software braucht die Klartext-Daten. Du kannst sie verschlüsselt in der DB speichern, aber Dein Server muss sie entschlüsseln können. Das heisst, wenn jemand Deinen Server hijacked, dann kann er diese Daten auch entschlüsseln. 
Was musst Du also machen? Du musst sicherstellen, dass Dein Server sicher ist. Dann sind auch alle Daten sicher, mit dem der Server arbeitet!


----------

