Sådan fungerer Nets' setup til håndtering af digitale kvitteringer

Nets kører kortnummeret gennem et envejs hash-algoritme i terminalen i forbindelse med en tjeneste fra virksomheden, hvor kvitteringer kan tilgås digitalt hos tredjeparter.

Privacy-interesserede har den senere tid diskuteret, blandt andet her på Version2 og på Twitter, hvordan systemer til lagring af digitale kvitteringer egentlig fungerer. Version2 kan her redegøre for teknologien. Noget af det foregår i kraft af en tjeneste fra virksomheden bag en væsentlig del den danske infrastruktur for betalingskort, Nets.

I størstedelen af de terminaler, Nets understøtter, ligger der et sikkerhedsmodul kaldet Purchase Security Application Module (PSAM). Der er tale om en portabel chip, som svarer til simkortet i en mobiltelefon.

PSAM-modulet kan indeholde det, der kaldes en envejs hash-algoritme. Det vil sige en algoritme, der i udgangspunktet danner en entydig output-værdi ud fra en input-værdi. I dette tilfælde er inputværdien kortnummeret. På den måde er det altså muligt at skjule det oprindelige kortnummer og samtidig generere en entydig nøgle, der relaterer sig til kortnummeret.

»Kortnummeret er følsomme data, så det må ikke florere rundt i kasseterminaler eller andre systemer i klar tekst. Så derfor har vi lavet denne envejsfunktion, hvor tanken er, at kortnummeret ikke kan findes den anden vej rundt ud fra hash-værdien,« forklarer it-ekspert inden for digitale kvitteringer hos Nets Kim Dons Laursen.

I det konkrete tilfælde er der tale om hash-algoritmen SHA256, der er blandt kravene for at leve op til Payment Card Industry Data Security Standard. En sikkerhedsstandard for organisationer, der håndterer betalingskort.

»Vi leverer hash-værdien, og de kan benyttes som pegepind. Den bliver dels genereret ude i terminalen, og den bliver også genereret, når man opretter sig som bruger hos en udbyder af digitale kvitteringer. Det er den måde, man bliver genkendt i forhold til at kunne tilgå sine kvitteringer efterfølgende,« siger Kim Dons Laursen.

Når kunden kører kortet igennem betalingsterminalen, kan forretningen koble hash-værdien med kundens kvitteringsdata. Og når brugeren så opretter sig hos en udbyder af digitale kvitteringer og indtaster et kortnummer, bliver kortnummeret kørt gennem samme hash-algoritme.

Herefter kan den afledte kortnummer-værdi på kvitteringsdata, som butikkerne har opsamlet, holdes op mod den unikke værdi - ligeledes afledt af kortnummeret - som bliver genereret, når kortet bliver tilføjet på hjemmesiden for udbyderen af digitale kvitteringer.

Og kunden kan nu se sine kvitteringer. For at forhindre, at alle med kendskab til den kendte hash-algoritme kan koble de følsomme kort-data til kvitteringer i butikkernes backend, så er de enkelte udbyderes hash-algoritmer udstyret med et unikt salt. Det vil sige en parameter, der sikrer, at to forskelligt saltede SHA256-algoritmer ikke genererer samme output ved samme input.

»Saltet er en hemmelig talrække, som hver tjenesteudbyder (af digitale kvitteringer, red.) anvender,« siger Kim Dons Laursen.

Saltet bliver udskiftet med jævne mellemrum for at gøre det vanskeligt at gennemføre et brute force-angreb, forklarer Kim Dons Laursen. Altså så uvedkommende ikke skal kunne gætte sig til hash-værdierne bag et specifikt kortnummer ved at forsøge et tilstrækkeligt antal gange.

Kim Dons Laursen anslår, at en håndfuld virksomheder anvender Nets' tjeneste, der i øvrigt har eksisteret i ca. to år.

Flere løsninger

Hvordan koblingen sker mellem kvitteringsdata, der bliver indsamlet ude i butikkerne og så hos udbydere af digitale kvitteringsløsninger, lader til at være forskellig.

Formand for IT-Politisk Forening Jesper Lund har tidligere kritiseret, blandt andet på Twitter og her på Version2, at eKvittering, der nu er gået konkurs, tilsyneladende har fået tilsendt kvitteringsdata ved betalinger, uanset om kort-brugeren har været tilmeldt tjenesten eller ej.

Vanvittigt!! Firmaet @eKvittering modtager kvitteringer fra butikker UDEN at kortindehaver har givet sit samtykke. pic.twitter.com/6U68oQ6wxK — Jesper Lund (@je5perl) June 23, 2015

Det var eKvitterings feature, hvor brugere tilsyneladende var i stand til at se historiske kvitteringer fra før, brugerne oprettede sig på tjenesten, der gjorde Jesper Lund mistænksom i forhold til den del.

Version2 har flere gange forgæves forsøgt at komme i kontakt med de to stiftere bag eKvittering.

Jesper Lund har i privacy'ens navn også været i kontakt med Storebox (tidl. kvittering.dk). Virksomheden har oplyst til Jesper Lund, at kvitteringsdata først bliver sendt fra forretningen til Storebox, når det er verificeret, at kunden i forretningen også er oprettet som bruger hos Storebox. Det foregår ved, at butikken sender et token til Storebox, som på den baggrund validerer, om kunden er bruger, og hvis det er tilfældet, bliver kvitteringsdata også sendt.

Kvittering-tjenesten Storebox https://t.co/hJIUUhKBQb, der bruges i #MobilePay app, modtager kun kvitteringer fra tilmeldte betalingskort. — Jesper Lund (@je5perl) June 23, 2015

Version2 har været i kontakt med medstifter af Storebox Jacob Aisen, der med henvisning til sikkerhed ikke umiddelbart ønsker at gå i nærmere tekniske detaljer om, hvordan Storebox' tjeneste fungerer. Han oplyser dog, at virksomheden anvender flere forskellige løsninger i forbindelse med tjenesten, herunder løsninger som Nets tilbyder.

Danske Bank, Storebox og andre kunne i juni i en pressemeddelelse under overskriften 'Slut med krøllede kvitteringer i skuffer og skabe' annoncere et partnerskab på Danske Banks udbredte app til mobilbetalinger, MobilePay. Partnerskabet betyder, at Storebox nu er blevet direkte tilgængelig via MobilePay, så Storebox-brugere kan se deres kvitteringer i Danske Banks app, herunder dem der bliver genereret ved køb med Mobile Pay.