Tag 01, Initiierungspunkt
11 = statischer QR (wiederverwendbar, Sie tragen den Betrag selbst ein).12 = dynamischer QR (Einmalbetrag, vom Händler-POS vorausgefüllt).
Standards · EMVCo merchant payment QR
Der QR auf einem Restauranttisch, einer Parkuhr oder einem Marktstand läuft fast immer auf EMVCos TLV-Format. Er enthält Händlername, Stadt, Land, Währung, optionalen Betrag und eine CRC-16-Prüfsumme, die fehlschlägt, wenn der Payload verändert wurde. Der Sticker-Swap-Angriff – das Überkleben eines echten Händler-QR mit dem QR des Angreifers – ist der weltweit häufigste QR-Betrug. Den QR vor dem Bezahlen zu dekodieren zeigt Ihnen, an wen Sie tatsächlich zahlen.
Der Standard ist die EMVCo QR Code Specification, veröffentlicht von demselben EMVCo-Konsortium, das Chip-und-PIN-Karten definiert hat. Zwei Varianten teilen den Großteil des Formats:
Fast jedes nationale Sofortzahlungsschema basiert auf EMVCo MPM mit einigen länderspezifischen Tags:
Das Format ist Tag-Length-Value-Text, keine Verschlüsselung, dekodierbar von jedem QR-Scanner. Die Händleridentität ist im Klartext kodiert und wird von Ihrer Wallet-App angezeigt.
Jeder EMVCo-Payload beginnt mit 000201 (Payload Format Indicator). Es folgt eine Sequenz von TLV-Einträgen: zweistelliges Tag, zweistellige Länge, Wert dieser Länge – beliebig oft wiederholt.
11 = statischer QR (wiederverwendbar, Sie tragen den Betrag selbst ein).12 = dynamischer QR (Einmalbetrag, vom Händler-POS vorausgefüllt).
Länderspezifischer Empfängeridentifikator. Pix-Schlüssel (CPF / CNPJ / E-Mail / Telefon / EVP-UUID), UPI Virtual Payment Address, PromptPay-Telefon oder nationale ID usw.
ISO-18245-4-stellige Kategorie. 5812 = Restaurant, 5411 = Lebensmittel, 7011 = Unterkunft, 5541 = Tankstelle usw.
ISO-4217-Zahlencode. 840 = USD, 978 = EUR, 826 = GBP, 986 = BRL (Brasilianischer Real), 356 = INR (Indische Rupie).
Optional. In dynamischen QRs vorhanden (vom Händler vorausgefüllt), in statischen QRs nicht (Sie geben ihn selbst ein).
Optional. 55 gibt an, ob ein Trinkgeld-Prompt erscheinen soll; 56 / 57 tragen einen Festbetrag oder eine prozentuale Servicegebühr.
ISO-3166-1-Alpha-2-Ländercode. Nützlich, wenn Zahlungs-Apps grenzüberschreitende Überweisungen unterstützen.
Bis zu 25 Zeichen. Dieses Feld zeigt Ihre Wallet-App als "Sie zahlen an ___" an. Der Händler kontrolliert vollständig, was hier steht. Ein Angreifer, der einen Sticker-Swap erstellt, kann hier beliebigen Text eintragen.
Bis zu 15 Zeichen. Standort des Händlers.
Optional, aber nützlich für die Betrugserkennung: Ein US-Händler, dessen Postleitzahl nicht zur Stadt passt, ist ein Warnsignal.
Sub-TLV. Enthält: Rechnungsnummer, Mobilnummer, Filial-Label, Treueprogramm-Nummer, Referenz-Label, Kunden-Label, Terminal-Label, Transaktionszweck.
CRC-16/CCITT-FALSE über alles Vorangehende (einschließlich des "6304"-Headers des CRC-TLV selbst). Stimmt dies nicht, wurde der QR verändert oder ist beschädigt.
Die Technik ist erschreckend einfach:
Der Händler bemerkt es erst, wenn die Tagesabrechnung zeigt, dass Einnahmen fehlen. Der Kunde bemerkt es nicht, weil seine Wallet "Sie haben bezahlt an ___" anzeigt – und der Angreifer kann den echten Händlernamen in Tag 59 eintragen. Oder etwas Ähnliches ("Joes Pizz4", "Joes Pizzeria 2") – kleine Abweichungen, die ein beschäftigter Kunde nicht bemerkt.
Der Betrug ist in jedem Land dokumentiert, in dem mobile Zahlungen verbreitet sind: Brasilien (Pix-Sticker-Swap an Parkuhren), Indien (UPI-Sticker-Swap an Tankstellen), China (WeChat-Pay-Sticker-Swap auf Schaufenstern), Singapur (PayNow an Hawker-Centres), UK (Spendenbox-QR-Swap), USA (Parkuhren in Austin, San Francisco, LA).
Was unser Scanner Ihnen zeigt:
Physische Anzeichen, die Sie vor dem Scannen prüfen sollten:
Unser Analyzer erkennt das Länder-Tag und beschriftet das Ergebnis mit dem lokalen Schemanamen, wenn eines zutrifft. Derzeit werden 54 Länder abgedeckt, einschließlich aller wichtigen Sofortzahlungssysteme. Auf dem Standards-Hub finden Sie die vollständige Liste mit Detailangaben zu jedem Schema.
Ziehen Sie den QR in unseren Scanner. Das Ergebnis zeigt Händler, Stadt, Land, Betrag, Währung und ob die CRC-Prüfsumme gültig ist. Dauert ein paar Sekunden. Könnte Sie den Preis eines Abendessens oder eines ganzen Monatsbudgets für Parktickets ersparen.