Veilige betalingsbevestiging

Secure Payment Confirmation (SPC) is een voorgestelde webstandaard waarmee klanten zich kunnen authenticeren bij een creditcardmaatschappij, bank of andere betalingsdienstaanbieder met behulp van een platformauthenticator:

  • Ontgrendelingsfunctie inclusief Touch ID op een macOS-apparaat
  • Windows Hello op een Windows-apparaat

Met SPC kunnen verkopers klanten in staat stellen hun aankopen snel en naadloos te authenticeren, terwijl uitgevende banken hun klanten beschermen tegen fraude.

SPC kent twee fasen: registratie en authenticatie.

  • Registratie : de betaler koppelt zijn toestel aan een vertrouwende partij (RP). De vertrouwende partij kan een creditcarduitgever, bank of andere betalingsdienstaanbieder zijn.
  • Authenticatie : de betaler gebruikt het geregistreerde apparaat om zijn identiteit bij de RP rechtstreeks vanaf het platform van de handelaar te bevestigen voordat hij de betalingen bevestigt.

Authenticatie voor fraudepreventie

Authenticatie speelt een belangrijke rol bij het voorkomen van betalingsfraude. Dit verificatieproces is echter vaak afhankelijk van zwakke mechanismen, zoals een combinatie van het creditcardnummer en de naam van de kaarteigenaar, of een extra CVC-code die op de achterkant van de kaart staat. Deze mechanismen kunnen gemakkelijk worden gecompromitteerd en nagebootst als de kaartinformatie lekt als gevolg van inbreuken op de gegevensbeveiliging, zoals accountkapingen of phishing-aanvallen.

Er zijn aanvullende fraudepreventiemechanismen geïntroduceerd, zoals EMV® 3-D Secure , waarbij de betaler kan worden gevraagd zich te authenticeren bij de kaartuitgever of de bank. Om te authenticeren logt de gebruiker in met een gebruikersnaam en wachtwoord, of met een eenmalig wachtwoord (OTP) dat via sms op de telefoon van de betaler wordt afgeleverd. Dit beschermt klanten tegen fraude, maar kan voor sommige geldige klanten een barrière worden om de betaling te voltooien. SPC heeft tot doel de authenticatiefrictie te verminderen, waardoor het verlaten van een winkelwagentje wordt verminderd.

Ondertussen is er een nieuwe authenticatiestandaard in opkomst, genaamd WebAuthn.

Wat is WebAuthn?

Webauthenticatie (kortweg WebAuthn) is een webstandaard waarmee Relying Party (RP)-servers gebruikers in de browser kunnen registreren en authenticeren met behulp van cryptografie met openbare sleutels, in plaats van een wachtwoord.

RP's vertrouwen op fysieke authenticatiemiddelen, zoals een beveiligingssleutel. RP's vragen om de beveiligingssleutel om een ​​privaat-publiek sleutelpaar te genereren en slaan vervolgens de publieke sleutel op de server op ( registratie ). Deze gegenereerde sleutels zijn uniek voor het apparaat, waardoor aanvallers zich niet kunnen voordoen als de gebruiker. Deze standaard is phishingbestendig omdat het sleutelpaar gebonden is aan de herkomst.

De FIDO Alliance standaardiseert het authenticatorgedrag. Sommige authenticators ondersteunen lokale gebruikersverificatie met een biometrische factor (zoals een vingerafdruk of gezichtsherkenning) of een kennisfactor (zoals een pincode). Velen zijn geïntegreerd in computerapparatuur, zoals laptops of smartphones, ook wel platformauthenticators genoemd. WebAuthn wordt ondersteund door alle grote browsers (desktop en mobiel) en authenticators zijn beschikbaar op miljarden apparaten . Gebruikers kunnen zich registreren en authenticeren door hun identiteit lokaal op het platform te verifiëren.

SPC is ontworpen om te werken met User Verifying Platform Authenticators (UVPA).

Voorbeelden van UVPA's zijn Apple Touch ID en een camera voor een mobiele telefoon
Veel apparaten integreren een biometrische sensor. Deze authenticators worden gebruikersverificatieplatformauthenticator (UVPA) genoemd.

Hoe werkt Veilige Betalingsbevestiging?

Secure Payment Confirmation (SPC) is gebaseerd op WebAuthn en speciaal ontworpen voor betalingsdoeleinden. Omdat WebAuthn-inloggegevens voor specifieke domeinen zijn geregistreerd, kunnen deze inloggegevens niet worden gebruikt voor authenticatie op niet-geregistreerde sites die zich mogelijk voordoen als een verkoper. Deze functie maakt WebAuthn effectief tegen phishing-aanvallen.

SPC voegt een betalingsinformatielaag toe bovenop WebAuthn, zodat de kaartuitgever of de bank een consistente betalingservaring kan bieden. Zodra een betaler een authenticator registreert bij de vertrouwende partij, kan deze worden gebruikt om te authenticeren op verschillende verkopersites. De vertrouwende partij kan er ook voor kiezen om de betalingsgegevens te gebruiken als reguliere WebAuthn-gegevens.

Stripe voerde een experiment uit met SPC in hun productieomgeving, als onderdeel van de origin-tests van Chrome . In dit experiment behaalde Stripe een 8% beter conversiepercentage en was het afrekenpercentage drie keer zo hoog. Lees over hun resultaten in het SPC-rapport van de W3C Web Payments Working Group .

Hoe ervaren gebruikers SPC?

De SPC-front-end bestaat uit twee fasen: registratie en authenticatie.

De klant moet zijn apparaat eerst registreren met behulp van de user-verifying platform authenticator (UVPA). Zodra het apparaat is geregistreerd, kan het worden gebruikt om de gebruiker te authenticeren en betalingen te bevestigen wanneer SPC wordt uitgevoerd op de site van een handelaar.

Registratie

Gebruikers kunnen zich op twee manieren registreren voor SPC:

  • Schrijf u direct in op de website van RP.
  • Registreer u indirect op de website van een verkoper.

Registratie op de website van RP

Op de website van de RP is SPC-registratie niet anders dan WebAuthn-registratie. Onze aanbeveling is dat de RP de klant vraagt ​​om zijn UVPA te registreren als onderdeel van een aanmeldingsstroom.

Een typisch scenario kan er als volgt uitzien:

  1. Een klant logt in op de website van uw bank met een gebruikersnaam, wachtwoord en een extra verificatiestap (meestal een eenmalig wachtwoord of OTP).
  2. Na een succesvolle authenticatie wordt een verzoek om toestemming weergegeven waarin de klant wordt gevraagd zijn apparaat te registreren (UVPA).
  3. Zodra toestemming is verleend, toont de browser een WebAuthn-registratiedialoog.
  4. De klant stemt ermee in om het apparaat te registreren door een biometrische authenticatie uit te voeren.
  5. De klant kan nu veilig inloggen en betalen via zijn apparaat.

Bij herauthenticatie is een gebruiker al ingelogd, maar wordt hem gevraagd zich opnieuw te authenticeren om er zeker van te zijn dat dezelfde gebruiker nog steeds aanwezig is. Dit ontwerp wordt doorgaans gezien bij een veiligheidskritische handeling, zoals een verzoek om een ​​wachtwoord te wijzigen of bij het uitvoeren van een betaling. Met een WebAuthn UVPA is herauthenticatie veel sneller en sterker dan het gebruik van wachtwoorden.

Leer hoe u een WebAuthn-registratie- en authenticatiestroom voor herverificatie kunt bouwen op Bouw uw eerste WebAuthn-app .

Registratie op een verkoperswebsite tijdens betaling

Als uw klant zijn apparaat niet registreert op de website van de betalingsuitgever, kan hij dit rechtstreeks op de website van een verkoper doen. De interface ziet er hetzelfde uit, maar de registratie van de gebruiker wordt geïnitieerd door de code van de RP.

Dit is ideaal wanneer klanten de RP-website niet vaak bezoeken, maar de RP toch de authenticatieoptie wil aanbieden.

Authenticatie (betalingsbevestiging)

Authenticatie is vereist wanneer een betaler tijdens een betalingstransactie een betalingsreferentie verstrekt.

  1. De betaler verstrekt een betalingsreferentie (zoals creditcardgegevens).
  2. De webwinkelier controleert of de browser Veilige Betaalbevestiging ondersteunt.
  3. Als de browser SPC ondersteunt, roep dan de Payment Request API aan met SPC als betaalmethode. Anders kunt u terugvallen op de bestaande authenticatiemethode.
  4. De betaler bevestigt de transactiegegevens en voltooit de authenticatie (bijvoorbeeld door de authenticator van zijn biometrische platform aan te raken).

Ondersteunde platforms

Veilige betalingsbevestiging wordt momenteel ondersteund door Google Chrome op macOS en Windows. Andere platforms, waaronder Android, iOS en ChromeOS, worden vanaf mei 2022 niet meer ondersteund.

Volgende stappen