# Client/Server/DB communication



## yesJ (28. Okt 2015)

Hallo liebe Java gemeinde im rahmen meines studiums stehe ich vor folgendem problem.


Ich soll eine Server- Client anwendung schreiben die eine LogIn/Authentifizierung prüft...
Die Idee: 
Lokaler Client (Desktop Anwendung) schickt LogIn Daten an den Server-->
Server checkt anhand einer Datenbank ob diese gültig sind.-->
Server schickt bei korrekter eingabe an eine 2- Anwendung (App/web-broweser/ 2. Desktop Anwendung... noch nicht sicher) einen erneuten request für ein "einmal passwort"-->
Die 2. Anwendung schickt an den server dieses Passwort und bei korrekter eingabe öffnet sich 
der geschütze bereich auf dem Local Client

Kommunikation findet also wie folgt statt:
Desktop Anwedung--> Server-->DB-->Server--> 2. Anwendung-->Server--> Desktop Anwednung

Ich will diese Aufgabe mittels eines Tomcat server unter Linux realisieren.

Jetzt zur frage: Kann ich auf der Server seite einfach ein .jar file ablegen bzw ausführen in dem die Kommunikation zum Client, DB und ein paar verschlüsselungs algorithmen implementiert sind ablegen/ausführen?

Da ich vorher derartiges noch nicht gemacht habe bin ich über jede hilfe dankbar

Beste grüße


----------



## Joose (29. Okt 2015)

Was Serverseitig läuft bleibt ganz dir überlassen, natürlich kann das ein Java-Programm sein welches auf einen bestimmten Port horcht und die Anfragen verarbeitet (gegen die Datenbank prüfen, verschlüsseln, etc.).


----------



## Dukel (29. Okt 2015)

Was ist denn dein Ziel? Ich würde vermeiden irgendwelche Passwörter durch die Gegend zu schicken.
Das klingt nach einer Sicherheitsapplikation, die mit verschickten Passwörtern unsicher gemacht wird.


----------



## yesJ (29. Okt 2015)

Joose hat gesagt.:


> Was Serverseitig läuft bleibt ganz dir überlassen, natürlich kann das ein Java-Programm sein welches auf einen bestimmten Port horcht und die Anfragen verarbeitet (gegen die Datenbank prüfen, verschlüsseln, etc.).



Vielen Dank für die Antwort, das war der entscheidende Punkt der mir fehlte um das Prinzip zu verstehen. 

Ziel ist es eine 2- Wege Authentifizierung zu realisieren die alle potenziellen Sicherheitsrisiken abdecken soll. Von der Idee her wird es ähnlich wie bei GitHub mit der TOTP verschlüsselung ablaufen.
Du hast natürlich recht wenn wir die Passwörter unverschlüsselt hin- und her schicken könnte man diese abhören weswegen sie vorher mit einer ID+ Salt gehasht werden und dann erst zum server gelangen wie wir das genau machen werden weiß ich noch nicht da mein Team Kollege deutlich mehr ahnung von verschlüsselungen hat, arbeitet er das Konzept dafür aus.


----------

