en voor offline betalingen worden er vooraf al een X aantal tokens opgeslagen
Nou nee.
Er is geen communicatie tussen je iDevice en de bank bij Apple Pay. De betaling is volledig offline vanuit je telefoon/horloge gezien. Er wordt een virtuele bankpas op je apparaat gezet. Die is in Nederland gekoppeld aan VISA (V-pay) of Mastercard (Maestro) of hun nieuwe varianten (VISA Debit en Debit Mastercard uit m'n hoofd).
De betalingsterminal ziet niet het verschil tussen een plastic bankpas of een horloge. Het feit dat de terminal bij een telefoon of horloge nooit vraagt om een PIN, is omdat VISA/Mastercard er niet om vraagt.
Versimpeld schema:
- Kassa geeft verzoekbedrag aan betaalterminal:
- Betaalterminal wacht op betaalpas
<gebruiker biedt betaalpas aan>
- Versleutelde communicatie tussen betaalpas en terminal en er wordt een token op de terminal gegenereerd die is ondertekend door de betaalpas
- Terminal verstuurd de token versleuteld naar de beheerder van de terminal
***
- Terminalbeheerder stuurt het door naar VISA/Mastercard (of een andere kaart-eigenaar)
[[ indien PIN nodig ]]
VISA/Mastercard zegt "Ik wil een PIN zien" tegen de terminal beheerder
Terminalbeheerder zegt tegen de terminal "Doe maar een PIN"
Terminal laat zien "Ik wil een PIN"
<gebruiker typt correcte PIN>
Terminal verstuurd versleutelde PIN naar terminalbeheerder
Terminalbeheerder verstuurd versleutelde PIN naar Mastercard/VISA
VISA/Mastercard controleert PIN.
(( indien juist ga verder, indien niet juist ga terug voor nog een poging of de kaart wordt geblokkeerd ))
- VISA/Mastercard doet onder andere (!) een kredietverificatie bij de financiële instelling
- Financiële instelling geeft akkoord
***
- VISA/Mastercard geeft akkoord terug naar de terminalbeheerder
- De terminalbeheerder stuurt 'OK' terug naar de terminal
*** In het geval van Apple Pay/Google Pay/wiedanook Pay, is dit het punt dat zij er tussen komen. De betaling gaat via Apple/Google/Garmin door naar Mastercard/VISA.
N.B. En al die stappen ruim binnen één seconde over het algemeen en dat miljoenen keren per dag per bank.
Disclaimer: Bovenstaande is een versimpeld schema, omdat ook interbancaire koppelingen van belang zijn in dit verhaal. (als de bankeigenaar van de kaarthouder anders is dan die van de winkelier, enz, enz, enz)
Als je het vanuit een cryptografisch oogpunt bekijkt, bevat je bankpas een private key, die is ondertekend door een CA (Mastercard/VISA). Er wordt een soort certificaat op de bankterminal gegenereerd die ondertekend wordt door de bankpas en geverifieerd Mastercard/VISA.
Apple Pay/Google Pay komen pas bij de betalingsverwerker er tussen niet op je iDevice. Die zijn 'slechts' een uit de kluiten gewassen bankpas om het zo maar te verwoorden.
Dit is exact de reden dat vrijwel alle terminals zonder aanpassing van enige aard Apple Pay/Garmin Pay/maar ook die offline tokens die nu worden uitgefaseerd ondersteunen. Ze zien het verschil niet. Als je er logisch over nadenkt voegt het ook helemaal niks toe om je idevice ook nog is iets te laten doen in bovenstaand schema. De controle is al offline gedaan toen je je apparaat deblokkeerde.