Post tecnico
Un lettore di carte a chip che restituisce dati in formato 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 ha deciso di non farlo.) Allora cosa c'è in Augusta con Quick Chip e M/Chip Fast di così straordinariamente innovativo?
Risposta breve: la grande innovazione è che Augusta è l'unico lettore di carte con chip sul mercato in grado di eseguire EMV interamente in modalità tastiera. Il che significa che può essere adattato per l'uso in applicazioni browser: ovvero applicazioni di terminale virtuale che acquisiscono dati in formato carattere da un lettore.
Significa che è possibile comunicare con una carta con chip — e ricevere in risposta dati ASCII standard.
È una questione di enorme importanza.
Non è difficile trovare lettori MagStripe che operano interamente in modalità tastiera. Sapete di che tipo di lettori sto parlando: quelli in cui si collega il dispositivo a un laptop o tablet, si striscia una carta e i dati della traccia appaiono magicamente sullo schermo nella posizione corrente del cursore. Questa è la modalità tastiera. Funziona perché il lettore di carte è un dispositivo seriale che inganna il computer host facendogli credere che il dispositivo sia in realtà una tastiera!
Ma un lettore di carte con chip è un'altra storia.
La maggior parte dei lettori di carte con chip richiede un software apposito per funzionare, poiché l'applicazione host deve comunicare con il chip presente sulla carta (è proprio questo il punto!), ma il chip parla solo in binario. In effetti, la comunicazione tra l'app host e il chip è una questione piuttosto complessa a basso livello, fatta di crittogrammi, handshake speciali e notifiche di eventi (e molto altro), che tengono il computer host impegnato per dieci, venti secondi prima che venga visualizzato il messaggio "si prega di rimuovere la carta".
Prima dell'avvento di Augusta, comunicare con una carta con chip era un'operazione particolarmente impegnativa, che richiedeva un software straordinariamente complesso e ad alta intensità di calcolo 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 restituisce dati in formato keystroke ASCII in modo autonomo, senza alcun intervento da parte del programmatore; si tratta di dati che possono essere elaborati da qualsiasi applicazione in grado di gestire testo normale. È possibile aprire letteralmente il Blocco note su un computer Windows, collegare Augusta a una porta USB, inserire una carta e osservare i dati della carta con chip comparire nel Blocco note come testo. Questo è ciò che distingue Augusta. Questo è ciò che è brevettabile. Questo è ciò che non troverete in nessun altro prodotto sul mercato.
Come si presentano i dati? Come forse sapete (o meno), le transazioni EMV producono dati TLV. TLV sta per Tag, Length, Value (Etichetta, Lunghezza, Valore). È un metodo 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: si tratta di un tag standard definito da EMVCo per la Data di scadenza. Il valore "03" che segue il tag è la Lunghezza: abbiamo tre byte di dati. I byte di dati sono 18 01 31. Ciò significa che la data di scadenza della carta (AA-MM-GG) è il 31 gennaio 2018.
Con Augusta, una transazione EMV produce un flusso di testo contenente dati TLV. I dati esatti dipenderanno ovviamente dalle circostanze, ma nella maggior parte dei casi si otterranno circa 40 TLV, che includono 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 ancora. Un blocco di dati reale si presenta come segue (con spazi inseriti tra i valori dei byte per maggiore chiarezza); i tag sono indicati 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 necessari, nei momenti precisi della transazione. Con Augusta, invece, tutti i dati di cui hai bisogno sono disponibili in un unico flusso di caratteri, tutti insieme e in una sola volta: puoi acquisirli in una pagina web con i normali gestori di eventi keypress in JavaScript, per poi elaborarli come preferisci. Non è necessario aprire una connessione USB con il lettore (è un lettore senza driver!), non occorre inviare comandi firmware né orchestrare interazioni complesse con la carta. Il kernel comune L2 certificato di Augusta gestisce autonomamente tutte le operazioni più complesse, per poi fornirti tutti i dati in una volta sola, al termine della transazione: è proprio questo ciò che QuickChip e M/Chip Fast ti consentono di fare. Si tratta di una modalità di interazione EMV che non richiede alcun intervento da parte dello sviluppatore. (Beh, è una piccola esagerazione: un minimo di lavoro c'è. Ma niente in confronto a un'implementazione EMV tradizionale!)
Per il commerciante è un sogno che diventa realtà: basta collegare Augusta, aprire il browser web e si è subito operativi. Non è richiesta 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 un modo migliore o più semplice per iniziare che con Augusta di ID TECH, in attesa di brevetto. È il modo più agevole per fare EMV — con un dispositivo a tastiera che non richiede particolari handshake.
Vuoi saperne di più? Tutti i dettagli tecnici sono disponibili nel nostro white paper, scaricabile gratuitamente e immediatamente (senza 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 desiderata. Non perdere il nostro breve video! Scopri anche tutte le risorse Augusta scaricabili dalla nostra Knowledge Base.
