Gebruikers hebben bij ons een account, op de site kunnen ze inloggen dmv een username/emailadres en password. Nu gaan wij ook een client uitbrengen. Aangezien het niet handig is om wachtwoorden in plaintekst op te slaan en wij iets meer controle willen, en we ook willen dat als er geen verbinding is ze nog steeds zijn ingelogd hebben had ik het volgende bedacht:
Alle communicatie verloopt via SSL.
Nu is mijn vraag, zie ik hier nog een beveiligingsprobleem over het hoofd of is dit nodeloos ingewikkeld? De signing is ervoor om te zorgen dat een grappenmaker niet de naam/emailadres kan veranderen in iets wat niet hoort bij de access key.
Alle communicatie verloopt via SSL.
- User opent de login dialoog in onze client
- User vult zijn username en wachtwoord in, dit wordt opgestuurd naar de server
- Server checkt deze gegevens en maakt een token aan. Dit token bestaat uit een bepaalde random string dat de daadwerkelijke access key is en uit accountinfo van het account waar net mee ingelogd is. De token is gesigned met het private cert van ons dat alleen op de server staat
- De client ontvangt het token, checkt of de signature goed is en zo ja dan wordt de token opgeslagen en gebruikt.
Nu is mijn vraag, zie ik hier nog een beveiligingsprobleem over het hoofd of is dit nodeloos ingewikkeld? De signing is ervoor om te zorgen dat een grappenmaker niet de naam/emailadres kan veranderen in iets wat niet hoort bij de access key.
C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8