Standards · EMVCo merchant payment QR

Je tento platební QR kód obchodníka bezpečný k zaplacení?

QR kód na restauračním stole, parkovacím automatu nebo stánku na tržišti téměř vždy funguje na formátu TLV od EMVCo. Nese jméno obchodníka, město, zemi, měnu, volitelnou částku a kontrolní součet CRC-16, který selže při pozměnění payloadu. Útok záměnou nálepky – přelepení legitimního QR kódu obchodníka útočníkovým QR kódem – je celosvětově nejrozšířenějším podvodem s QR kódy. Dekódování QR kódu před platbou vám ukáže, komu skutečně platíte.

Naskenovat QR kód obchodníka → Všechny standardy →

Jaký je formát

Standardem je specifikace QR kódu EMVCo, vydaná stejným konsorciem EMVCo, které definovalo karty s čipem a PIN. Dvě varianty sdílejí většinu formátu:

Téměř každé národní schéma okamžitých plateb je postaveno na EMVCo MPM s několika tagy specifickými pro danou zemi:

Formát je textový Tag-Length-Value, bez šifrování, dekódovatelný jakýmkoli QR skenerem. Identita obchodníka je zakódována v prostém textu a je tím, co vaše peněženková aplikace zobrazuje.

Anatomie QR kódu platby obchodníka

Každý payload EMVCo začíná hodnotou 000201 (indikátor formátu payloadu). Následuje sekvence záznamů TLV – dvoupísmenný tag, dvouciferná délka, hodnota o dané délce, opakovaně.

Tag 01, bod iniciace platby

11 = statický QR kód (opakovaně použitelný, částku zadáváte sami).
12 = dynamický QR kód (jednorázový, částka předvyplněná pokladním systémem obchodníka).

Tagy 26–51, informace o účtu obchodníka

Identifikátor příjemce specifický pro danou zemi. Klíč Pix (CPF / CNPJ / e-mail / telefon / EVP UUID), virtuální platební adresa UPI, telefon nebo národní ID PromptPay atd.

Tag 52, kód kategorie obchodníka (MCC)

4místná kategorie ISO 18245. 5812 = restaurace, 5411 = potraviny, 7011 = ubytování, 5541 = čerpací stanice atd.

Tag 53, měna

Numerický kód ISO 4217. 840 = USD, 978 = EUR, 826 = GBP, 986 = BRL (brazilský real), 356 = INR (indická rupie).

Tag 54, částka

Volitelné. Přítomno v dynamických QR kódech (obchodník ho předvyplnil), chybí ve statických QR kódech (zadáváte sami).

Tagy 55–57, spropitné / poplatek za pohodlí

Volitelné. 55 udává, zda se má zobrazit výzva ke spropitné; 56 / 57 nesou poplatek za pohodlí jako pevnou částku nebo procento.

Tag 58, země

Dvoupísmenný kód státu ISO 3166-1. Užitečné, pokud platební aplikace podporují přeshraniční převody.

Tag 59, jméno obchodníka

Až 25 znaků. Toto pole vaše peněženková aplikace zobrazuje jako „platíte ___“. Obchodník plně kontroluje, co se zde zobrazí. Útočník, který vytvoří záměnnou nálepku, zde může uvést libovolný řetězec.

Tag 60, město obchodníka

Až 15 znaků. Místo, kde se obchodník nachází.

Tag 61, PSČ

Volitelné, ale užitečné pro detekci podvodů: americký obchodník, jehož PSČ neodpovídá městu, je podezřelý.

Tag 62, pole doplňkových dat

Sub-TLV. Uvnitř: číslo faktury, mobilní číslo, označení prodejny, číslo věrnostního programu, referenční označení, označení zákazníka, označení terminálu, účel transakce.

Tag 63, kontrolní součet CRC

CRC-16/CCITT-FALSE přes vše předcházející (včetně záhlaví „6304“ TLV záznamu CRC samotného). Pokud toto neodpovídá, QR kód byl pozměněn nebo poškozen.

Útok záměnou nálepky – celosvětový podvod s QR kódy č. 1

Technika je tristně jednoduchá:

  1. Útočník vytiskne QR kód odkazující na vlastní platební účet.
  2. Vytisknutý QR kód nalepí na nálepku (nebo ho vytiskne přímo na samolepicí papír).
  3. Prochází tržnicí, restaurační čtvrtí nebo zónou s parkovacími automaty a přelepuje zákonné QR kódy obchodníků.
  4. Každý zákazník, který naskenuje, platí útočníkovi.

Obchodník si toho nevšimne, dokud denní odsouhlasení neukáže, že tržby chybí. Zákazník si toho nevšimne, protože jeho peněženka říká „zaplatili jste“ a útočník může do tagu 59 napsat jméno skutečného obchodníka. Nebo téměř to – „Josef Pizz4“, „Pizzeria Josefa 2“ – mírné odchylky, které zaneprázdněný zákazník nezachytí.

Podvod byl zdokumentován v každé zemi, kde jsou mobilní platby rozšířeny: Brazílie (záměna nálepky Pix na parkovacích automatech), Indie (záměna nálepky UPI na benzínových stanicích), Čína (záměna nálepky WeChat Pay na výlohách obchodů), Singapur (PayNow na hawker centres), Velká Británie (záměna QR kódu na sbírkových boxech), USA (parkovací automaty v Austinu, San Francisku a Los Angeles).

Jak ověřit platební QR kód před zaplacením

Co náš skener zobrazuje:

Fyzické vodítka ke kontrole před skenováním:

Národní schémata, která identifikujeme

Náš analyzátor rozpozná tag země a označí výsledek názvem místního schématu, pokud se ho týká. V současnosti pokrývá 54 zemí včetně všech hlavních systémů okamžitých plateb. Úplný seznam s podrobnostmi ke každému schématu najdete v centru standardů.

Související

Před platbou naskenujte

Přetáhněte QR kód do našeho skeneru. Výsledek zobrazí obchodníka, město, zemi, částku, měnu a informaci o tom, zda je kontrolní součet CRC platný. Trvá to několik sekund. Může vás to ušetřit nákladů na večeři nebo celého měsíčního parkovacího rozpočtu.

Otevřít skener →