Password Hashing in der der DB

Programmierung mit PostgreSQL (C#, PHP, Perl, Java, ...)

Password Hashing in der der DB

Beitragvon marc9022 » Sa 30. Aug 2008, 16:25

Moin,

Bin momentan wieder an meinem Wochenend Projekt am schaffen (Website
Community Portal) und bin noch mal an der Login/Register Sache dran.

Ich verwende derzeit BCrypt um die Kennwörter in meiner USERS Table im
Feld password varchar (240) zu hashen. Das ganze macht jedoch nun
die WebApplikation, also gewissermaßen der Client (owohls ja auch serverseitig läuft, aber egal). Ist das jetzt so ok oder gibt mir Postgres
8.1.x und höher irgendwelche Hash Spaltentypen oder ähnliche Hilfsmittel?

Gruß Marc
marc9022
Erfahrener Benutzer
 
Beiträge: 162
Registriert: Mo 19. Mai 2008, 08:42

Beitragvon symbiont » Sa 30. Aug 2008, 19:50

ja .. varchar(240)
symbiont
Erfahrener Benutzer
 
Beiträge: 1328
Registriert: Mo 17. Mär 2008, 12:45
Wohnort: NULL

Beitragvon marc9022 » Sa 30. Aug 2008, 20:19

Hab mal gerade geschaut, in den Contribs gibts wohl ein Modul das
Hash Funktionen zur Verfügung stellt, unter anderem auch für den Blofish Algorithmus.

Die Frage ist nun, was nehme ich?

Meine Funktion überprüft das Password an Hand des Hashes auf
korrektheit. Allerdings findet bei dieser Operation eine Abfrage via
SessionBean und das wiederum ruft mittels JNDI und Context
Lookup via Apache DBCP den JDBC-Treiber auf der einen Socket-
connect auf die lokale Ethernet IP des Server durchführt.

Der Server steht bei einem großen Hoster und hat sein eigenes Subnet.
Meine Sorge ist nun jedoch das ein anderer Kunde der auch einen
ROOT-Server beim gleichen Hoster hat via Etherreal oder TCPDUMP
meinen ganzen Datenverkehr mitsniffen und also auch die Kennwörter
die der User in das Login HTML Formular eingibt per POST an meinen
Server schickt auslesen kann. Praktisch müsste ein Angreifer dafür nur
einen Shellaccount in Form eines VServers oder Rootservers bei meinem
Hoster haben und erhält auf Ethernetebene Zugriff auf den Datenverkehr
im LAN.

Ich meine, es bringt ja fürchterlich wenig wenn ich tolles Hashing betreibe,
die Kennwörter für die Überprüfung aber trotzdem im klartext über die Leitung
gehen (wäre es ein dezentraler Swing Client wärs kein Problem,
bei einer WebApplikation stellt sich aber wohl doch diese Frage).

Momentan sehe ich da als einzigen Ausweg die Möglichkeit das ganze
über HTTPS mit SSL verschlüsselt zu verschicken. Nur dann geht
vermutlich meine Performance ätzend in den Keller... ein gutes
hätte daß, dann kann mir das hashen egal sein.
marc9022
Erfahrener Benutzer
 
Beiträge: 162
Registriert: Mo 19. Mai 2008, 08:42


Zurück zu Programmierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron