token virtuali

La scorsa settimana ho perso “la saponetta”: il token per accedere alla mia banca, che è solo online. Dopo avere cercato nei posti dove c’era qualche possibilità che mi fosse cascato dal marsupio, mi sono dato per vinto e ho contattato la banca, prima via chat e poi telefonicamente. Bisogna dire che la procedura non è stata troppo complicata: ho pagato 25 euro per aver perso un apparato in comodato d’uso – ma questo lo sapevo già – e sono persino riuscito a farmi cambiare al volo il PIN di sicurezza, perché quello che mi ero salvato io era evidentemente vecchio. Sia lode alle domande di sicurezza.
Ora non vengono più dati token fisici, ma si usa un’app di Verisign che genera una password ogni trenta secondi. È una bella cosa, ma c’è qualcosa che non mi torna. È vero che rubarmi il telefono per avere la one-time password è simile a rubarmi il token, e quindi quello non mi preoccupa più di tanto; ma non sono riuscito a capire come la banca possa sapere qual è la mia versione dell’app, visto che non le ho detto nulla. O mi dite che tutte le app mostrano la stessa password? Questo mi pare ancora più improbabile. Qualcuno sa aiutarmi?

16 comments

  1. Forse è anche la mia banca 😀
    In pratica, l’applicazione genera al momento dell’installazione un “Credential id” diverso – sulla base di parametri imperscrutabili – in funzione del quale genera le OTP.
    Ora, con gli ultimi aggiornamenti, mi pare che la banca sia in grado di prevedere in qualche modo gli otp. Una volta andava inserito da qualche parte…

    • Come ha scritto Dario, i “parametri imperscrutabili” sono visibili. Sulla parte OTP non saprei però cosa dirti, non ne ho mai avuto bisogno (tranne lunedì per inizializzare il token virtuale)

  2. Quando attivi il token mobile non hai inserito il codice che compare sul telefonino all’apertura dell’app? Credo che questo garantisca l’univocità dei token generati

    • ‘azz. Me n’ero completamente dimenticato (e dire che mi ero anche lamentato silenziosamente del fatto che mi fossero state chieste le dodici cifre del codice ma le prime quattro erano lettere). Ho bisogno di riposo. Grazie!

      • Tra l’altro, credo che gli otp non siano “time based”. Sicuramente quelli della chiavetta non li erano, quindi qualcuno consigliava di generarne 9 e segnarseli su un foglietto per evitare di portarsi dietro il token, cancellandoli man mano che venivano usati.
        Per amore di scienza, puoi fare la stessa prova con l’app, scrivendo un paio di numeri e provando a fare il login sul sito dopo qualche minuto, quindi teoricamente quando sarebbero scaduti.

        • Ho delle chiavette che generano OTP strettamente time-based ma, anche se mi pare strano, potrei non avere/aver avuto *tutte* le chiavette disponibili sul mercato. Vero però che la tolleranza è scelta da chi riceve e quindi si potrebbe anche avere un sito che accetta OTP stagionate.
          Tutte le app che ho visto sono time-based, ma anche qui la scelta è di chi riceve.
          Sicuramente il meglio sono le app che mandano in proprio quello che gli pare al sito, data/ora compresa, e non costringono ai lavori che i robot non vogliono più fare quali il penosissimo Ctrl-C/Ctrl-V umano.

          Però non mi è chiaro perché generare proprio 9 token… e non “alcuni” o “10”.

        • la mia chiavetta era time based, tanto che mi è capitato di dover risincronizzare il mio token con i valori della banca. Poi immagino che ci sia una certa tolleranza, nel senso che se il valore è quello di un tempo tra t-30″ e t+30″ venga comunque accettato, e al contempo aggiornato il timeshift lato banca.

          • Tempo addietro ho gestito un servizio con OTP e son ragionevolmente sicuro che la scadenza la dava il server, non il client e che non c’era alcuna tolleranza: di fatto se hai un token sul cellulare, questo dovrebbe avere l’ora sincronizzata e si spera pure il server.

            Mi è capitato di dover risincronizzare però un OTP con AWS e lí ho dovuto mettere due numeri in sequenza da cui il dubbio che il ¨prossimo¨ token fosse basato sulla chiave originale, l´ora e il penultimo token.

            Portate pazienza per l´italiano per favore 🙂

      • Si potebbe obiettare che parlando di codici cifra è il termine corretto a prescindere dal fatto che che venga rappresentato da una lettera o ad una cifra decimale. In un codice, ciascun simbolo tipicamente rappresenta una cifra numerica in una qualche base maggiore di dieci: 16 (caro vecchio hex), 35 (ad esempio negli IBAN), 64 (ad es. MIME, ma anche molto comune in HTTP), ecc.

        Anche volendo essere pignoli, e mantenere perciò la separazione concettuale tra cifra numerica e simbolo che la rappresenta, è una abuso che di riduce ad una metonimia del tutto accettabile (e assolutamente inconscia quando si rimane in base 10).

        Discorsi simili valgono anche in altre lingue: in inglese, ad esempio, si parla di “control digit” anche quando è rappresentata da una lettera (negli ISBN può essere una X).

  3. Dovrebbe essere la classica OTP, per cui in linea di principio potresti usare pure il Google authenticator: partendo da un QR code o da una stringa che fa da seed, il token virtuale sa che numero generare e ogni quanto… o mi son perso qualcosa?

    • Ogni tanto solo per quelli “time based”. Per gli altri bisogna seguire la sequenza.

  4. (ho appena cancellato come spam un commento dal testo “Credo abbia ragione Matteo…”. Vedendo nome, indirizzo e url non mi pare proprio che fosse in buona fede)

  5. Perché dovrebbe essere una buona cosa la sparizione dei token fisici?! Io l’ho preferito e voluto, nonostante insistessero per quello in app…

  6. Quattro motivi principali:

    1. Il token è nudo, senza la protezione secondaria (PIN o biometrica) del telefono.
    2. Aiuto nella localizzazione del telefono (chiamarlo, app specifiche) in caso di smemoratezza.
    3. Il tempo di constatazione dell’evento in caso di furto o smarrimento: a seconda dell’uso che se ne fa, possono passare giorni prima che uno si accorga dell’assenza del token, e quindi prima di notificare la banca.
    4. Il tempo di sostituzione in caso di violazione di sistema (vedi il caso nel 2011 della violazione dei token RSA SecurID, successivamente adoperati per penetrare Lockheed Martin).

    • Aggiungerei:costi di gestione (approvvigionamento, stoccaggio, distribuzione) per la banca e di eventuale necessità di sostituzione massiva in caso di nuovi requisiti tecnici di sicurezza previsti dalle normative internazionali