Trusted Codes
BlogOttobre 20264 min di letturaENDEESFRITNL

Ma non è una semplice app di autenticazione? Stesso algoritmo, compito diverso

Stesso algoritmo, compito diverso: sei differenze e una risposta onesta alla domanda dei 30 secondi.

Quando vedono Trusted Codes per la prima volta, i lettori con un profilo tecnico dicono spesso: "Quindi è un'app di autenticazione." Hanno ragione a metà. Alla base, entrambe usano lo stesso algoritmo. Ma anche coltello e forchetta sono di metallo, e nessuno li usa per la stessa cosa.

Cosa hanno in comune

Le app di autenticazione come Google Authenticator usano TOTP, l'algoritmo per password monouso basate sul tempo, pubblicato come standard aperto RFC 6238. Entrano un segreto condiviso e l'ora attuale, ed esce un codice breve. Trusted Codes usa esattamente questo standard, con la stessa funzione HMAC. Non abbiamo inventato una crittografia nostra, ed è una scelta voluta: TOTP viene studiato e usato da più di dieci anni.

La differenza sta in tutto quello che c'è intorno.

1. Funziona tra persone, su ogni canale

Un'app di autenticazione protegge una porta sola: l'accesso a un sito. Il codice passa dal tuo telefono a un modulo, e un server lo controlla.

Trusted Codes funziona tra due persone. Il codice passa da una persona all'altra: detto al telefono, pronunciato in una videochiamata, scritto in una chat o in un'e-mail, chiesto sulla porta di casa. Pensa a una parola d'ordine che funziona in ogni situazione, mentre l'app di autenticazione apre una porta sola.

2. Parole invece di cifre

Un'app di autenticazione mostra "482 913". Trusted Codes mostra tre parole, per esempio "fiume candela obiezione".

Le cifre sono fatte per le macchine. Prova a leggere "482 913" su una linea disturbata, sotto pressione, e conta quante volte l'altra persona annota "482 930". Le parole si dicono più facilmente, si capiscono meglio e si tengono a mente senza fatica per i pochi secondi che servono a confrontarle. Per questo le sentinelle chiedono una parola d'ordine, non un PIN.

Le parole sono anche più robuste delle cifre. Sei cifre consentono 1.000.000 di combinazioni. Trusted Codes prende 33 bit dallo stesso algoritmo e li trasforma in tre parole da un elenco di 2.048. Il risultato sono 8.589.934.592 combinazioni. Un singolo tentativo ha circa una probabilità su 8,6 miliardi di essere giusto.

Gli elenchi di parole esistono in nove lingue: inglese, tedesco, francese, spagnolo, italiano, olandese, portoghese, latino ed esperanto. Le ultime due ci sono per i team che non vogliono dipendere da una singola lingua nazionale. La lingua non cambia quanto sia difficile indovinare le parole.

3. Il codice ti dice chi sta parlando

Con un'app di autenticazione devi sapere in anticipo a quale account appartiene un codice. Il codice in sé non dice nulla.

Con Trusted Codes funziona anche al contrario. Ogni membro di una connessione ha le sue parole, e sono diverse in ogni connessione. Se qualcuno ti dice tre parole, le digiti o le pronunci, e l'app ti mostra chi è: "Anna, progetto M&A". La ricerca avviene sul tuo telefono. È come un identificativo del chiamante che nessun estraneo può falsificare.

4. Nessuna competenza tecnica richiesta

Se volessi condividere un codice di un'app di autenticazione con un team, dovresti generare un segreto, trasformarlo in un codice QR, distribuirlo in modo sicuro a tutti e ripetere il tutto per ogni nuova persona. Lo farebbe solo uno sviluppatore, e quasi nessuno lo fa.

Con Trusted Codes crei una connessione, per esempio per un'operazione, per il tuo team finanziario o per tutti i pagamenti oltre i 50.000 €, e inviti le persone. Al resto pensa l'app. Un'app di autenticazione ti dà i pezzi di una serratura, per l'accesso a un solo sito. Trusted Codes ti dà la serratura finita, e tu devi solo distribuire le chiavi.

5. Pensato per i gruppi

Il codice di un'app di autenticazione appartiene a una persona e a un account. Una connessione Trusted Codes può riunire due persone o un intero team. Per impostazione predefinita ogni membro vede le proprie parole per quella connessione, e ognuno può verificare qualsiasi altro membro. Il consiglio di amministrazione, il team finanziario e l'avvocato esterno possono formare una sola connessione, e una richiesta di pagamento all'interno di quel gruppo si verifica in pochi secondi.

6. Le parole vengono calcolate sul tuo dispositivo

Come un'app di autenticazione, Trusted Codes calcola le parole sul telefono. Non chiede a un server le parole del giorno, quindi la verifica funziona anche senza connessione di rete: in ascensore, all'estero o in un edificio senza campo.

"Ma il codice di un'app di autenticazione cambia ogni 30 secondi"

È l'obiezione più frequente.

Un codice di accesso cambia ogni 30 secondi perché un modulo di accesso può essere attaccato da una macchina: uno script può provare migliaia di codici, e un codice rubato con il phishing può essere riutilizzato all'istante. Una finestra breve limita questo rischio.

Una conversazione tra persone è un'altra situazione. Nessuno può provare migliaia di codici durante una telefonata. L'aggressore ha un solo tentativo, e una risposta sbagliata chiude la chiamata. Per riuscirci dovrebbe conoscere le parole attuali proprio di questa connessione, proprio di questa persona, prima che cambino. E tra persone un codice da 30 secondi sarebbe inutile: nel tempo in cui chiedi "qual è il nostro codice?" e l'altra persona apre l'app, sarebbe già cambiato.

Per questo in Trusted Codes l'intervallo si misura in ore, non in secondi. Per le connessioni, con i piani Business, si può impostare da sei ore a 30 giorni, a seconda di quanto è delicato il rapporto. I Beacon, che il personale attiva durante una chiamata con un cliente, cambiano nel giro di minuti. E un tentativo a caso ha comunque una probabilità su 8,6 miliardi.

In breve

Un'app di autenticazione dimostra a un server che stai accedendo. Trusted Codes dimostra a una persona che sei tu, su qualsiasi canale, con parole che puoi dire ad alta voce.

Fonti

  • TOTP: Time-Based One-Time Password Algorithm, RFC 6238
  • HOTP: An HMAC-Based One-Time Password Algorithm, RFC 4226

Verifica la persona, non il canale

Trusted Codes dà a te e ai tuoi contatti tre parole condivise che cambiano a intervalli prestabiliti. Funziona su ogni canale e basta una domanda.