1. iDeal kassa site authenticatie
als geïmplementeerd door Rembert Oldenboom, Floating Point, 2009.
Rembert Oldenboom
www.floating-point.nl
rembert@floating-point.nl
2. iDeal kassa site authenticatie
als geïmplementeerd door Rembert Oldenboom, Floating Point, 2009.
Authenticatie gebruikers
Rembert Oldenboom
www.floating-point.nl
rembert@floating-point.nl
3. iDeal kassa site authenticatie
als geïmplementeerd door Rembert Oldenboom, Floating Point, 2009.
Authenticatie gebruikers
Communicatie met bank
Rembert Oldenboom
www.floating-point.nl
rembert@floating-point.nl
4. iDeal kassa site authenticatie
als geïmplementeerd door Rembert Oldenboom, Floating Point, 2009.
Authenticatie gebruikers
Communicatie met bank
Communicatie intern / extern
Rembert Oldenboom
www.floating-point.nl
rembert@floating-point.nl
7. Authenticatie gebruikers
Inlog
via unieke URL
zonder gebruikersnaam / wachtwoord
Sessie persistance via cookies/session niet nodig
8. Authenticatie gebruikers
Inlog
via unieke URL
zonder gebruikersnaam / wachtwoord
Sessie persistance via cookies/session niet nodig
Unieke URL beperkt geldig
9. Authenticatie gebruikers
Inlog
via unieke URL
zonder gebruikersnaam / wachtwoord
Sessie persistance via cookies/session niet nodig
Unieke URL beperkt geldig
Nieuwe URL wordt gemailed na ingeven van juiste
ordernummer en email adres
11. Authenticatie gebruikers
Inlog via unieke URL, zonder gebruikersnaam / wachtwoord
https://ideal.site.nl/token/
d063ed3ec6fe258f022361fb0fffea2a98722220
12. Authenticatie gebruikers
Inlog via unieke URL, zonder gebruikersnaam / wachtwoord
https://ideal.site.nl/token/
d063ed3ec6fe258f022361fb0fffea2a98722220
40 tekens met a..f en 0..9
13. Authenticatie gebruikers
Inlog via unieke URL, zonder gebruikersnaam / wachtwoord
https://ideal.site.nl/token/
d063ed3ec6fe258f022361fb0fffea2a98722220
40 tekens met a..f en 0..9
1,5 * 1048 verschillende tokens
14. Authenticatie gebruikers
Inlog via unieke URL, zonder gebruikersnaam / wachtwoord
https://ideal.site.nl/token/
d063ed3ec6fe258f022361fb0fffea2a98722220
40 tekens met a..f en 0..9
1,5 * 1048 verschillende tokens
Token hashes staan in database
17. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
URL is 36 uur geldig, setting LOGIN_TIMEOUT
Vernieuwen URL alleen na ingave email adres en
boekingsnummer
18. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
URL is 36 uur geldig, setting LOGIN_TIMEOUT
Vernieuwen URL alleen na ingave email adres en
boekingsnummer
Geanonimiseerde database:
geen email adres of andere naw
wel boekingsnummer
Identificatie met user identificatie hash (≠ login token)
21. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
User identificatie hash, de database key:
Concat email adres, boekingsnummer en secret
code. Trim.
22. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
User identificatie hash, de database key:
Concat email adres, boekingsnummer en secret
code. Trim.
Bereken user identificatie hash met US Secure Hash
Algorithm (sha1)
23. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
User identificatie hash, de database key:
Concat email adres, boekingsnummer en secret
code. Trim.
Bereken user identificatie hash met US Secure Hash
Algorithm (sha1)
Nu kunnen we authenticeren op email adres zonder dat
het feitelijke email adres in de database staat.
26. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
Na succesvolle identificatie: nieuwe login token maken
Concat email adres, boekingsnummer, secret code,
openstaand bedrag, aanmaakdatum record en current
time serial
27. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
Na succesvolle identificatie: nieuwe login token maken
Concat email adres, boekingsnummer, secret code,
openstaand bedrag, aanmaakdatum record en current
time serial
Bereken token hash met US Secure Hash Algorithm
(sha1)
28. Authenticatie gebruikers
URL beperkt geldig / vernieuwen
Na succesvolle identificatie: nieuwe login token maken
Concat email adres, boekingsnummer, secret code,
openstaand bedrag, aanmaakdatum record en current
time serial
Bereken token hash met US Secure Hash Algorithm
(sha1)
Email token hash naar ingegeven email adres
31. Communicatie met bank
XML Post forms (xmlrpc) met data, timeserial en:
Fingerprint van eigen public key
32. Communicatie met bank
XML Post forms (xmlrpc) met data, timeserial en:
Fingerprint van eigen public key
Tokencode, berekend uit:
33. Communicatie met bank
XML Post forms (xmlrpc) met data, timeserial en:
Fingerprint van eigen public key
Tokencode, berekend uit:
Concat enkele te verzenden velden en timeserial
34. Communicatie met bank
XML Post forms (xmlrpc) met data, timeserial en:
Fingerprint van eigen public key
Tokencode, berekend uit:
Concat enkele te verzenden velden en timeserial
Maak hash met US Secure Hash Algorithm (sha1)
35. Communicatie met bank
XML Post forms (xmlrpc) met data, timeserial en:
Fingerprint van eigen public key
Tokencode, berekend uit:
Concat enkele te verzenden velden en timeserial
Maak hash met US Secure Hash Algorithm (sha1)
Encrypt met eigen private key
41. Communicatie intern/extern
XML Post forms (xmlrpc) met
data
signature, opgebouwd uit:
concat velden en secret code
Maak signature met US Secure Hash Algorithm
(sha1)
42. Communicatie intern/extern
XML Post forms (xmlrpc) met
data
signature, opgebouwd uit:
concat velden en secret code
Maak signature met US Secure Hash Algorithm
(sha1)
Post return code bevat xml response data
45. Communicatie intern/extern
XML Post forms naar xmlrpc server
Meerdere data records mogelijk in xmlform
Per record bepaalt actieveld wat bedoeling ermee is
46. Communicatie intern/extern
XML Post forms naar xmlrpc server
Meerdere data records mogelijk in xmlform
Per record bepaalt actieveld wat bedoeling ermee is
Per record geeft xmlrpc server een response terug
47. Communicatie intern/extern
XML Post forms naar xmlrpc server
Meerdere data records mogelijk in xmlform
Per record bepaalt actieveld wat bedoeling ermee is
Per record geeft xmlrpc server een response terug
Responses hebben zelfde xml opbouw