Post tecnico
Un lettore di chip card che restituisce testo
Ho menzionato il nostro Augusta (vedi foto) nei post precedenti, e ho già accennato al fatto che Augusta con Quick Chip e M/Chip Fast è in attesa di brevetto. Ma perché? Perché è in attesa di brevetto? Cosa c'è di brevettabile? Quick Chip non è di dominio pubblico? (Sì, in effetti. Visa aveva considerato di brevettarlo, ma alla fine ha deciso di non farlo.) Cosa c'è quindi di così innovativo in Augusta con Quick Chip e M/Chip Fast?
Risposta breve: la grande innovazione è che Augusta è l'unico lettore di chip card sul mercato in grado di gestire l'intero processo EMV in modalità tastiera. Ciò significa che può essere adattato per l'uso in applicazioni browser, ovvero applicazioni di terminale virtuale che acquisiscono dati alfanumerici da un lettore.
Significa che è possibile comunicare con una chip card — e ricevere in risposta semplici dati ASCII.
Si tratta di qualcosa di straordinariamente importante.
Non è difficile trovare lettori MagStripe che operano interamente in modalità tastiera. Conoscete il tipo di lettori di cui sto parlando: quelli che si collegano a un laptop o a un tablet, si striscia una carta e i dati della traccia compaiono magicamente sullo schermo nel punto in cui si trova il cursore. Questa è la modalità tastiera. Funziona perché il lettore di carte è un dispositivo seriale che induce il computer host a credere che si tratti di una tastiera!
Ma un lettore di carte con chip è un'altra storia.
La maggior parte dei lettori di carte con chip richiede un software specifico per funzionare, poiché l'applicazione host deve comunicare con il chip sulla carta (ed è proprio questo il punto!), ma il chip parla solo in binario. In realtà, lo scambio tra l'applicazione host e il chip avviene a un livello piuttosto elementare, fatto di bit e byte, crittogrammi, handshake speciali e notifiche di eventi (e altro ancora) che tengono il computer host impegnato per dieci, venti secondi prima che venga visualizzato il messaggio "rimuovere la carta".
Prima dell'avvento di Augusta, comunicare con una carta con chip era un'operazione complessa, che richiedeva un software estremamente elaborato e computazionalmente intensivo sul computer host (o sul registratore di cassa elettronico). Con Augusta, non è necessario alcun software speciale per estrarre i dati dalla carta. Dopo aver inserito una carta, il lettore trasmette autonomamente dati in formato ASCII come sequenza di tasti, senza alcun intervento del programmatore; si tratta di dati che possono essere letti da qualsiasi applicazione che si aspetti di ricevere testo. È letteralmente possibile aprire il Blocco note su un computer Windows, collegare Augusta a una porta USB, inserire una carta e osservare i dati del chip apparire nel Blocco note come testo. Questo è ciò che distingue Augusta. Questo è ciò che è brevettabile. Questo è ciò che non si trova in nessun altro prodotto sul mercato.
Come si presentano i dati? Come forse sapete (o non sapete), le transazioni EMV generano dati TLV. TLV sta per Tag, Length, Value (etichetta, lunghezza, valore). È un modo per rappresentare i dati in un formato facilmente analizzabile. Ad esempio, uno dei TLV restituiti da Augusta dopo l'inserimento della carta potrebbe essere: 5F 24 03 18 01 31. La parte "5F24" è il Tag, un tag standard del settore definito da EMVCo per la data di scadenza. Il "03" che segue il tag è la Length: si tratta di tre byte di dati. I byte di dati sono 18 01 31, il che significa che la data di scadenza della carta (AA-MM-GG) è il 31 gennaio 2018.
Con Augusta, una transazione EMV genera un flusso di testo contenente dati TLV. I dati esatti varieranno ovviamente in base alle circostanze, ma nella maggior parte dei casi si riceveranno circa 40 TLV, incluse tutte le informazioni necessarie per una ricevuta (come i dati della traccia mascherati, nel tag DFEF5D; la data di scadenza nel tag 5F24; il nome del titolare della carta nel tag 5F20; e così via), oltre al PAN cifrato (tag 5A), ai dati del crittogramma (9F27) e molto altro. Un blocco dati effettivo si presenta come segue (con spazi inseriti tra i valori dei byte per maggiore chiarezza); i tag sono evidenziati in blu, le lunghezze in arancione e i dati in marrone.
DF EE 25 02 00 02 DF EE 26 02 20 00 DF EE 12 0A 62 99 49 00 00 00 00 00 00 63 DF EF 5D 10 51 28 CC CC CC CC 28 77 D1 80 16 22 CC CC CC CC 57 18 03 8C CC 33 FB 1D 32 99 5F B6 F8 65 EA FE 54 69 90 55 A6 BC 18 A2 0D 50 DF EF 5B 08 51 28 CC CC CC CC 28 77 5A 10 44 B6 48 D3 53 D0 4B E1 DB DB B7 56 5D 4F D0 21 5F 20 1A 2F 43 48 49 50 20 54 45 53 54 20 43 41 52 44 20 20 20 20 20 20 20 20 20 20 20 5F 24 03 18 01 31 5F 25 03 15 01 01 5F 28 02 08 40 5F 2A 02 08 40 5F 2D 02 65 6E 5F 34 01 00 5F 57 01 00 50 10 44 65 62 69 74 20 4D 61 73 74 65 72 43 61 72 64 4F 07 A0 00 00 00 04 10 10 82 02 39 00 84 07 A0 00 00 00 04 10 10 8C 21 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 9F 35 01 9F 45 02 9F 4C 08 9F 34 03 8D 0C 91 0A 8A 02 95 05 9F 37 04 9F 4C 08 8E 12 00 00 00 00 00 00 00 00 42 03 44 03 41 03 1E 03 1F 03 9C 01 00 9F 02 06 00 00 00 00 00 00 9F 03 06 00 00 00 00 00 00 9F 10 12 01 10 20 00 05 62 04 00 00 00 00 00 00 00 00 00 00 FF 9F 13 00 9F 20 00 9F 26 08 D2 EC AA C1 36 04 A7 22 9F 27 01 00 9F 34 03 1E 03 00 9F 36 02 01 A9 9F 37 04 9A 4D 21 88 9F 38 00 9F 39 01 07 9F 4D 00 9F 4F 00 95 05 04 00 00 00 00 9B 02 E8 00 8A 02 5A 33 99 00 9F 5B 00
La tua applicazione di terminale virtuale filtrerà questi dati nel modo appropriato, ne visualizzerà una parte sullo schermo e invierà il resto al gateway o al back-end per l'elaborazione.
Con la maggior parte dei lettori di carte con chip, gli sviluppatori devono fare molta fatica per ottenere esattamente i TLV di cui hanno bisogno, nei momenti precisi della transazione. Con Augusta, invece, tutti i dati necessari sono disponibili in un unico flusso di caratteri, tutti insieme e in una sola volta: è possibile acquisirli in una pagina web tramite i normali gestori di eventi keypress in JavaScript, per poi elaborarli come si preferisce. Non è necessario aprire una connessione USB con il lettore (è un lettore senza driver!), né inviare comandi firmware o orchestrare interazioni complesse con la carta. Il kernel comune L2 certificato di Augusta gestisce autonomamente tutte le operazioni più complesse e, al termine, fornisce tutti i dati in un colpo solo — ed è proprio questo che QuickChip e M/Chip Fast consentono di fare. Si tratta di uno stile di interazione EMV che non richiede alcun intervento da parte dello sviluppatore. (Beh, è una piccola esagerazione: un minimo di lavoro c'è. Ma nulla di paragonabile a un'implementazione EMV tradizionale!)
Per il commerciante è un sogno che diventa realtà: basta collegare Augusta, aprire il browser e si è subito pronti a operare. Non è necessaria alcuna installazione di software speciale.
Quindi, se sei uno sviluppatore di applicazioni di pagamento, un integratore di sistemi, un ISV o un esperto di terminali virtuali che ha bisogno di implementare EMV rapidamente, non esiste letteralmente modo migliore o più semplice per iniziare di Augusta di ID TECH, soluzione brevettata in attesa di approvazione. È il modo più facile per fare EMV — con un dispositivo a tastiera che non richiede alcuna procedura di handshake speciale.
Vuoi saperne di più? Tutti i dettagli tecnici sono disponibili nel nostro white paper, scaricabile gratuitamente e immediatamente (senza necessità di registrazione). qui. Oppure chiamaci al seguente numero e richiedi un'unità demo:
1-800-984-1010
Naturalmente, Augusta supporta la crittografia AES o TDES (o nessuna crittografia!), oppure FPE, con gestione delle chiavi DUKPT. È disponibile anche una versione SRED, se necessario. Guarda anche il nostro breve video! Consulta inoltre tutte le risorse Augusta scaricabili dalla nostra Knowledge Base.
