Token virtuali nel PSD2: aumentano i rischi?
Un'opinione tecnica sui rischi dei nuovi token virtuali alla luce della sicurezza informatica e degli interessi degli intermediari bancari e finanziari
di Roberto Paternicò - Con la direttiva europea n. 2366/2015, acronimo PSD2 (Payment initiation service providers), il tema della sicurezza rappresenta un elemento cruciale, delegato dall'Eba, l'European Banking Authority, per definire standard stringenti per le banche e per gli istituti di pagamento nell'ambito delle transazioni effettuate dai clienti.
La direttiva PSD2
Come illustra Banca d'Italia: "Il recepimento in Italia del pacchetto legislativo europeo sui servizi di pagamento (Direttiva 2015/2366/UE sui servizi di pagamento nel mercato interno, PSD2, e Regolamento UE n. 2015/751 relativo alle commissioni interbancarie sulle operazioni di pagamento basate su carta, IFR), avvenuto con il D.lgs. n. 218 del 2017, ha definito una nuova cornice regolamentare..." e sull'argomento, Banca d'Italia, ha emanato tre provvedimenti, pubblicati nella Gazzetta Ufficiale della Repubblica Italiana, Serie generale n. 252 del 29 ottobre 2018.
Si passa in sostanza al c.d. Open banking per cui si consente ai clienti bancari e non, sia privati che aziende, di utilizzare provider di soggetti bancari o non bancari (Istituti di pagamento o terzi operatori) per gestire le proprie finanze e le operazioni di pagamento e per accedere alle informazioni sui propri conti, anche, se si trovano in banche diverse.
In particolare, sull'autenticazione sicura del cliente (strong customer authentication c.d. "Sca") che è un requisito richiesto dalla Psd2, per rendere maggiormente sicuri i consumatori nei pagamenti online, si abbandona il "token fisico" per l'home banking a favore di un nuovo sistema che deve possedere almeno due di questi strumenti:
- un dispositivo strettamente personale, come lo smartphone;
- un dato biometrico (impronta digitale o riconoscimento facciale);
- una password generata per una singola operazione.
Si passa in sostanza al c.d. Open banking per cui si consente ai clienti bancari e non, sia privati che aziende, di utilizzare provider di soggetti bancari o non bancari (Istituti di pagamento o terzi operatori) per gestire le proprie finanze e le operazioni di pagamento e per accedere alle informazioni sui propri conti, anche, se si trovano in banche diverse.
In particolare, sull'autenticazione sicura del cliente (strong customer authentication c.d. "Sca") che è un requisito richiesto dalla Psd2, per rendere maggiormente sicuri i consumatori nei pagamenti online, si abbandona il "token fisico" per l'home banking a favore di un nuovo sistema che deve possedere almeno due di questi strumenti:
- un dispositivo strettamente personale, come lo smartphone;
- un dato biometrico (impronta digitale o riconoscimento facciale);
- una password generata per una singola operazione.
L'era e i rischi del "Token virtuale"
Non tutti pensano che questa soluzione sia la più sicura ed efficiente e tal proposito riportiamo un'interessante opinione di Andrea Cocito (Team and technology architect) su "La follia dei token virtuali"​ nel PSD2: "Una recente follia normativa ha imposto la sostituzione dei token fisici per l'autorizzazione dispositiva negli homebanking con token virtuali incorporati nelle App delle banche sugli smartphone. O meglio: non lo ha "imposto", semplicemente ha creato le premesse normative a fronte delle quali la scelta più comoda per la totalità degli istituti bancari è stata togliere di mezzo i vecchi token e spostare la generazione dei codici dispositivi in delle App da installare negli smartphone. È una scelta di una stupidità eclatante: chiunque abbia un minimo di basi di sicurezza informatica sa che ci sono molte ragioni per cui è più sicuro il token fisico.
Iniziamo con il dire che praticamente nessun attacco avviene realmente sul sistema crittografico, e quindi ammesso e non concesso che l'App consenta l'uso di algoritmi più sofisticati non è lì il problema. Gli attacchi sono sempre di tipo funzionale, procedurale, basati sull'implementazione o di social engineering.
Alcuni principi di sicurezza informatica di base, invece, propendono tutti a favore del token fisico:
1) Riduzione della superficie di attacco. Se ho la camera blindata di una banca protetta da una sola porta sono molto più al sicuro che avendo una camera con tre ingressi, ognuno con una porta diversa: banalmente nel secondo caso basta riuscire ad aprirne una a caso delle tre. Analogamente un token fisico è un oggetto molto semplice, un telefonino ha decine di applicazioni, un sistema operativo molto complesso con potenzialmente molti bug, il lettore di impronte digitali, ecc.: è molto più facile compromettere uno qualsiasi di questi sistemi che comprometterne uno specifico e semplice come un token fisico.
2) Riduzione dei canali di comunicazione (isolamento). Uno smartphone ha diverse interfacce di comunicazione e un mare di informazioni che entrano ed escono (la connessione alla rete, il connettore USB, il WiFI, il bluetooth, eccetera), su ognuno di questi canali può passare un vettore di attacco. Una chiavetta tradizionale NON ha canali di comunicazione, non può essere compromessa o clonata, può solo essere rubata (e ne parlo dopo). Esistono chiavette che hanno una interfaccia di comunicazione bidirezionale (tipicamente bluetooth o NFC), in questo caso possono implementare LO STESSO sistema di crittografia implementato nelle App scongiurando la compromissione (assolutamente improbabile) dell'algoritmo crittografico; in questo caso anche avendo una interfaccia da cui entrano dati è una sola, con un protocollo solo, molto semplice: siamo ben lontani dalla complessità (e dalla probabilità di bug) di ciò che entra ed esce in uno smartphone.
3) Compartimentazione. Io fino alla scorsa settimana per fare una operazione con il mio home banking usavo il computer (sui cui erano memorizzate le credenziali di accesso) e poi il token per avere il codice temporaneo dispositivo. Oggi ho sullo smartphone SIA le credenziali di accesso che la generazione del codice temporaneo. Basta prendere possesso di un dispositivo invece che di due per ottenere lo scopo. Non solo: sullo smartphone ho le App di TUTTE le banche, l'email, la PEC, le carte di credito, l'App dello SPID, e tutta una serie di informazioni personali: sostanzialmente chi si impossessasse del mio telefonino ha tutto il necessario per perpetrare un furto di identità a regola d'arte.
4) Minimizzazione del reward. Se qualcuno voleva "attaccare" un token fisico aveva come motivazione solo quella di violare i conti di una certa banca e poteva contare solo su tecnologie, conoscenze e lavoro di altri fatto per quello scopo (scopo in realtà al giorno d'oggi piuttosto labile visto che esistono vari livelli di protezione: non è che puoi fare un bonifico da un milione di euro e prima che qualcuno se ne accorga far sparire i soldi alle Cayman...). Per "attaccare" uno smartphone c'è tutta una storia di tecniche, tutto un mercato di strumenti e di servizi, nati non per i conti correnti ma per scopi che muovono interessi ben maggiori: lo spionaggio, il controllo dei dipendenti, i servizi di inteligence, varie attività criminali e chi più ne ha più ne metta. Gli smartphone compromessi non sono una ipotesi, sono un fatto. Una organizzazione criminale che ha compromesso migliaia di smartphone (ce ne sono) oggi ha come "Bonus track" anche i conti correnti.
5) Protezione fisica. Io quando vado a lavorare, al mare, a passeggio, in palestra... mi porto dietro il telefonino. Non mi porto dietro il token della banca, che è sempre stato nascosto in un posto più o meno sicuro salvo quelle poche volte in cui devo usarlo. Il telefono è quindi molto più esposto fisicamente e, sebbene per sé sia protetto da PIN e/o varie soluzioni biometriche, non considero queste protezioni "sicure", soprattutto perché non tutti le gestiscono in modo corretto (vedi il punto successivo).
6) Numerosità del target. È assai improbabile che qualcuno compia grandi sforzi per accedere al "mio" conto corrente (peraltro se lo facesse non diventerebbe molto ricco : D), oggi il 99,9% dei crimini informatici viene perpetrato puntando alla quantità: si pesca a strascico e si vede cosa viene su. Chi ricetta telefoni rubati o gestisce centri assistenza dubbi ha accesso a centinaia o migliaia di apparecchi, di questi un gran numero avrà come PIN "111111", "123456" e simili, e non parliamo di chi porta a riparare il vetro dello smartphone da un cinese e gli lascia il PIN per fare le prove. Questo, amplificato dal punto 5) precedente e con i pericoli descritti al punto 3) rappresenta il vero problema di questa scelta.
Ci sarebbero state almeno due soluzioni per rispettare la PSD2 senza ridurre in modo così drammatico la sicurezza dei conti correnti: l'uso di token hardware con comunicazione bidirezionale e l'uso dei vecchi token hardware in aggiunta all'app dedicata.
Nel primo caso si trattava di utilizzare token hardware con una interfaccia NFC che si interfacciasse con l'App e generasse una firma digitale della transazione con una chiave asimmetrica: il sistema avrebbe avuto nel complesso tutta la (in)sicurezza di quello attuale più un secondo livello di protezione con un sistema crittografico attualmente considerato inviolabile posto su un apparecchio separato, che si può lasciare a casa in un cassetto e che non è facilmente compromissibile come uno smartphone.
Nel secondo si avrebbe avuto il vantaggio di una crittografia più forte nell'App (seppure implementata su una piattaforma enormemente più debole e attaccabile) in aggiunta a quanto sempre esistito con i buoni vecchi token fisici.
L'una e l'altra soluzione, però, sarebbero state un po' più costose per le banche: parliamo di ben una ventina (il primo) o una decina (il secondo) di euro per conto. Una tantum."
Ma, allora dov'è la verità?
Leggi anche:
- Psd2
Data: 18/09/2019 18:00:00Autore: Roberto Paternicò