Thomas Grötzner: Sicherheitskonzept. Bitte um eure Meinung

Beitrag lesen

Hallo Daniel,

SSL kannst Du nicht verwenden? Ein Schwachpunkt ist nämlich schon, dass das Applet nicht vor manipulation geschützt ist. Schließlich könnte man das Applet wärend der Übertragung manipulieren und einen Mechanismus einbauen, um das Passwort abzufangen. Schützen kannst Du Dich davor nur, indem Du SSL mit einem offiziellen Zertifikat vermendest oder das Applet mit einem solchen Zertifikat signierst.

Da solch ein Zertifikat richtig viel Geld kostet kommt das natürlich nicht in Frage. Zur Manipulation des jars: das wäre aber schon recht heftig, oder? Dass das Jar-File beim Provider sicher (also nicht veränderbar) liegt davon muss ich ausgehen. Jetzt müsste jemand also dieses Jar-File nehmen, modifizieren und wenn ich dann mein Jar-File anfordere müsste mir stattdessen das manipulierte geliefert werden. Dieses müsste dann mein Passwort an einen Server senden (erlaubt ist hier ja zwecks der Sandbox nur der Server von dem das Applet kommt).

Wenn dass die Sicherheitslücke ist dann kann ich glaube ich damit leben. Was ich nicht will ist dass mit einem einfachen http-Sniffer Klartext-Kennwörter ausgelesen werden können.

Besser geeignet wäre in dem Fall wohl ein Hashingverfahren wie md5. Der Client könnte sich mit md5(sessionid_vom_server + md5(passwort)) anmelden. Damit würde es auch reichen, auf dem Server md5-Prüfsummen der Passwörter zu speichern.
Evt statt die Prüfsumme aus Passwort und einem zusätzlichen Datum (Benutzername, Zufallsstring, ...) damit man keine doppelten Passwörter erkennen kann und Tabellen der md5-Summen häufiger Passwörter nutzlos sind.

Plan ist / war: Server liefert Session-ID, die wird mit Passwort und Algorithmus verschlüsselt und zurückgeschickt. Server führt auf seiner Session-id die gleiche Verschlüsselung mit dem gleichen Passwort (das nicht mit übermittelt wurde!!!) aus und vergleicht dies.

Das mit dem One-Way-Verschlüsseln läuchtet ein. Beim Two-Way (Blowfish) hast Du natürlich recht dass jemand der mitlauscht den Klartext bekommt und anschließend die Verschlüsselung. Ob man daraus das Kennwort kriegen kann weiss ich nicht aber es ist schätzungsweise einfacher als mit dem One-Way-Verfahren. Da werde ich mal schauen welche Algor. ich sowohl für Java als auch für PHP frei bekomme.

Ciao
Thomas Grötzner

--
Signatur? Was ist das?