Al geruime tijd werk ik aan een relatief simpele applicatie in JAVA, bestaande uit twee delen: client & server. De server heeft toegang tot bepaalde databases & SOAP services, de client heeft een GUI die gebruikers in staat stelt om hier dingen simpel op aan te vragen of bewerken. So far so good.
Nu is dit in feite een management applicatie voor een erg grote andere applicatie, die onder andere allang een user login systeem heeft. Wederom, geen probleem, de client verstuurt bij het inloggen een hash van username & wachtwoord door naar de server (via een simpele socket verbinding, een MitM attack verwacht ik eigenlijk niet, zo spannend is het allemaal niet), die vervolgens de gegevens vergelijkt met de gegevens in de database (waar enkel de hash opgeslagen is) en al dan niet de user accepteert.
Zoals gezegd, extreem spannend is het allemaal niet. Vandaar ook dat ik het liefst gebruikers de mogelijkheid geef om automatisch in te loggen. Dit betekend dus dat de gebruikersnaam en password hash ergens opgeslagen moeten worden, en daar zit'm het probleem: wat is de beste manier om dit veilig (cross platform) te doen?
Deze post geeft een aantal generieke methodes om gebruikersgegevens op te slaan, maar ik ben er toch een beetje huiverig voor om logingegevens simpelweg als plain-text ergens neer te plempen. Nu lijkt er wel iets te zijn als een keystore, maar ik krijg de indruk dat die meer bedoeld is voor security certificates, niet userdata.
Wat ik zoek:
- lokaal, cross-platform gegevens opslaan.
- gegevens alleen uitleesbaar op die pc, liefst alleen door die user.
- liefst standaard API, dat ik geen dikke libraries mee moet sturen enkel voor een wachtwoord opslaan vinkje.
Kan me haast niet voorstellen dat dit niet erg triviaal is voor ervaren JAVA coders, maar Google wil me alleen een dozijn verschillende manieren aanbieden om userdata serverside op te slaan - en dat zoek ik dus juist niet
Nu is dit in feite een management applicatie voor een erg grote andere applicatie, die onder andere allang een user login systeem heeft. Wederom, geen probleem, de client verstuurt bij het inloggen een hash van username & wachtwoord door naar de server (via een simpele socket verbinding, een MitM attack verwacht ik eigenlijk niet, zo spannend is het allemaal niet), die vervolgens de gegevens vergelijkt met de gegevens in de database (waar enkel de hash opgeslagen is) en al dan niet de user accepteert.
Zoals gezegd, extreem spannend is het allemaal niet. Vandaar ook dat ik het liefst gebruikers de mogelijkheid geef om automatisch in te loggen. Dit betekend dus dat de gebruikersnaam en password hash ergens opgeslagen moeten worden, en daar zit'm het probleem: wat is de beste manier om dit veilig (cross platform) te doen?
Deze post geeft een aantal generieke methodes om gebruikersgegevens op te slaan, maar ik ben er toch een beetje huiverig voor om logingegevens simpelweg als plain-text ergens neer te plempen. Nu lijkt er wel iets te zijn als een keystore, maar ik krijg de indruk dat die meer bedoeld is voor security certificates, niet userdata.
Wat ik zoek:
- lokaal, cross-platform gegevens opslaan.
- gegevens alleen uitleesbaar op die pc, liefst alleen door die user.
- liefst standaard API, dat ik geen dikke libraries mee moet sturen enkel voor een wachtwoord opslaan vinkje.
Kan me haast niet voorstellen dat dit niet erg triviaal is voor ervaren JAVA coders, maar Google wil me alleen een dozijn verschillende manieren aanbieden om userdata serverside op te slaan - en dat zoek ik dus juist niet