Tag 01, Punto di Inizializzazione
11 = QR statico (riutilizzabile, inserisci tu l'importo).12 = QR dinamico (monouso, importo pre-compilato dal POS del commerciante).
Standards · EMVCo merchant payment QR
Il QR sul tavolo di un ristorante, su un parcometro o in un mercato funziona quasi sempre sul formato TLV di EMVCo. Contiene il nome del commerciante, città, paese, valuta, importo facoltativo e un checksum CRC-16 che fallisce se il payload è stato alterato. L'attacco con scambio di adesivi, che consiste nel coprire il QR reale del commerciante con quello dell'attaccante, è la frode QR più comune al mondo. Decodificare il QR prima di pagare ti mostra chi stai pagando davvero.
Lo standard è la specifica QR Code di EMVCo, pubblicata dallo stesso consorzio EMVCo che ha definito le carte chip-and-pin. Due varianti condividono la maggior parte del formato:
Quasi ogni schema di pagamento istantaneo nazionale è costruito sopra EMVCo MPM con alcuni tag specifici per paese:
Il formato è testo Tag-Length-Value, senza crittografia, decodificabile da qualsiasi scanner QR. L'identità del commerciante è codificata in testo semplice ed è ciò che l'app del tuo portafoglio visualizza.
Ogni payload EMVCo inizia con 000201 (indicatore di formato payload). Quello che segue è una sequenza di record TLV: tag a due caratteri, lunghezza a due cifre, valore di quella lunghezza, ripetuto.
11 = QR statico (riutilizzabile, inserisci tu l'importo).12 = QR dinamico (monouso, importo pre-compilato dal POS del commerciante).
Identificatore del destinatario specifico per paese. Chiave Pix (CPF / CNPJ / email / telefono / EVP UUID), Virtual Payment Address UPI, PromptPay telefono o ID nazionale, ecc.
Categoria ISO 18245 a 4 cifre. 5812 = ristorante, 5411 = alimentari, 7011 = alloggio, 5541 = stazione di servizio, ecc.
Codice numerico ISO 4217. 840 = USD, 978 = EUR, 826 = GBP, 986 = BRL (real brasiliano), 356 = INR (rupia indiana).
Facoltativo. Presente nei QR dinamici (il commerciante lo ha pre-compilato), assente nei QR statici (lo inserisci tu).
Facoltativo. Il tag 55 indica se deve apparire una richiesta di mancia; 56 / 57 contengono una commissione fissa o percentuale.
Codice paese ISO 3166-1 alpha-2. Utile quando le app di pagamento supportano trasferimenti transfrontalieri.
Fino a 25 caratteri. Questo è il campo che l'app del tuo portafoglio visualizza come "stai pagando ___". Il commerciante controlla completamente ciò che va qui. Un attaccante che crea un QR sostitutivo inserisce qualsiasi stringa voglia.
Fino a 15 caratteri. Dove si trova il commerciante.
Facoltativo ma utile per il rilevamento delle frodi: un commerciante americano il cui codice postale non corrisponde alla città è un segnale di allarme.
Sub-TLV. All'interno: numero fattura, numero di cellulare, etichetta negozio, numero fedeltà, etichetta riferimento, etichetta cliente, etichetta terminale, scopo della transazione.
CRC-16/CCITT-FALSE su tutto il precedente (inclusa l'intestazione "6304" del TLV CRC stesso). Se non corrisponde, il QR è stato alterato o danneggiato.
La tecnica è deprimente nella sua semplicità:
Il commerciante non se ne accorge fino alla riconciliazione del giorno quando vede che le entrate sono inferiori al previsto. Il cliente non se ne accorge perché il suo portafoglio dice "hai pagato", e l'attaccante può mettere il nome reale del commerciante nel tag 59. O qualcosa di simile ("Pizzeria da Giov4", "Pizzeria da Giovanni 2"): lievi variazioni che un cliente di fretta non nota.
La frode è stata documentata in ogni paese dove i pagamenti mobile sono diffusi: Brasile (scambio adesivi Pix ai parcometri), India (scambio adesivi UPI alle stazioni di servizio), Cina (scambio WeChat Pay sulle vetrine), Singapore (PayNow nei hawker centre), Regno Unito (scambio QR nelle cassette delle donazioni), USA (parcometri ad Austin, San Francisco, LA).
Cosa ti mostra il nostro scanner:
Indizi fisici da esaminare prima di scansionare:
Il nostro analizzatore riconosce il tag paese e assegna al verdetto il nome dello schema locale quando applicabile. Attualmente copre 54 paesi inclusi tutti i principali sistemi di pagamento istantaneo. Vedi l'hub degli standard per l'elenco completo con dettagli per schema.
Inserisci il QR nel nostro scanner. Il verdetto mostra merchant, città, paese, importo, valuta e se il checksum CRC è valido. Richiede pochi secondi. Potrebbe risparmiarti il costo di una cena, o di un intero mese di parcheggio.