Articolo 5 di 124 min di lettura

Del trasporto non ci si fida mai

Le radio hanno un pessimo curriculum in fatto di sicurezza. Invece di discutere su quale sia abbastanza sicura, AirNox presume che non lo sia nessuna, e costruisce la sicurezza un livello più su.

Una capsula sigillata con un lucchetto che attraversa tre corsie di trasporto rumorose tra un laptop e un telefono
I vettori sono rumorosi. La capsula no.
In questa pagina

Un vettore non è una credenziale

L’abbinamento (pairing) Bluetooth dimostra che due dispositivi hanno completato la procedura di abbinamento. La prossimità NFC dimostra che qualcosa si trovava a pochi centimetri da un lettore. Un codice QR dimostra che una fotocamera ha visto un motivo grafico. Niente di tutto questo dimostra chi c’è dall’altra parte, e ognuno di questi vettori ha già subito attacchi documentati pubblicamente: intercettazioni, chiavi indebolite con un downgrade, un tocco inoltrato dall’altra parte di una città con due telefoni qualsiasi.

Quindi li trattiamo tutti e tre come ostili. Chiunque può ascoltare. Chiunque può iniettare. Chiunque può inoltrare. Niente di ciò che il vettore afferma viene preso come prova di qualcosa.

Tre livelli: vettori ostili in basso, la sessione AirNox nel mezzo, la tua decisione in cima
Sotto, i vettori. Sopra, la sessione. In cima, tu.

Abbina una volta sola

La fiducia si stabilisce una volta sola, quando abbini il desktop e il telefono. Il desktop mostra un codice QR e il telefono lo scansiona. Poi entrambi gli schermi mostrano un breve codice, e tu li confronti. Se coincidono, i due dispositivi si sono accordati su chiavi che nessun vettore ha mai visto, e da quel momento ciascuno conosce l’identità dell’altro. Se non coincidono, in mezzo c’era qualcosa, e ti fermi.

Quel confronto è l’unico momento in cui una persona controlla il canale, ed è il momento che conta. Tutto ciò che viene dopo eredita la fiducia che hai stabilito con i tuoi occhi.

Tre passaggi: scansione di un codice QR, confronto di un breve codice su entrambi gli schermi, abbinato; sotto, i messaggi alterati, riprodotti o fuori ordine vengono scartati
Un confronto, poi la sessione prende il comando.

La sessione

Una volta abbinati i dispositivi, ogni messaggio tra il desktop e il telefono viaggia dentro una sessione gestita dal wallet. È cifrata end-to-end, quindi un vettore intercettato non lascia trapelare altro che rumore. È autenticata reciprocamente (mutual authentication), quindi ciascun lato sa che il messaggio arriva dal dispositivo con cui si è abbinato e non da qualcosa che finge di esserlo. È legata al vettore su cui viaggia, quindi un messaggio catturato su un percorso non può essere riprodotto su un altro.

La sessione si basa su un design di handshake moderno e ben studiato, dello stesso tipo usato da tunnel sicuri molto diffusi. Non improvvisiamo la crittografia.

Cosa viene scartato

Un messaggio alterato durante il transito non supera l’autenticazione e viene scartato. Un messaggio riprodotto (replay) arriva fuori sequenza e viene scartato. Stessa fine per un messaggio che arriva fuori ordine. Un messaggio da un dispositivo che non è quello abbinato non supera nemmeno l’handshake. In ogni caso il telefono non mostra niente da firmare, perché non è arrivato niente di valido.

Ecco perché la comodità del Bluetooth LE e dell’NFC non costa niente in termini di sicurezza. Il vettore può essere debole quanto vuole. Se la radio sottostante sia sicura è una domanda a cui non abbiamo mai bisogno di rispondere.

Su qualsiasi vettore, la stessa sessione

La sessione non sa se sta viaggiando sulla luce, sulle onde radio o su un tocco. Puoi abbinare via QR e poi usare il Bluetooth LE per il lavoro quotidiano e l’NFC a un terminale, tutto senza abbinare di nuovo. Cambiare vettore non cambia ciò di cui ci si fida, perché del vettore non ci si è mai fidati.

È ancora un air gap?

I puristi dicono che air gap significa solo luce. Non staremo a discutere sulla parola. Se vuoi la versione rigorosa, usa i codici QR e nient’altro: sono sempre disponibili. La proprietà che ci interessa sta sotto la parola: il dispositivo che custodisce le chiavi non ha alcuna strada verso internet, e le uniche cose che passano sono una richiesta che il telefono decodifica da sé e una firma che ha scelto di produrre. Una sessione su Bluetooth LE preserva questa proprietà. Quello che aggiunge è che continui a usarlo.

La serie completa

  1. Parti dal presupposto che il computer sia compromesso
  2. Mass Adoption Security: il dispositivo di firma è un telefono che hai già
  3. Tre modi per attraversare l’air gap: codici QR, Bluetooth LE e NFC
  4. Invisibile nell’etere: un dispositivo di firma che nessuno può scovare con uno scanner
  5. Del trasporto non ci si fida mai
  6. Cosa ti mostra il telefono: l’analisi della transazione sul dispositivo di firma
  7. Il telefono tiene il proprio registro
  8. La cassaforte sul tuo desktop: Argon2id e un profilo che resiste a chi prova a indovinare
  9. dApp senza un wallet nel browser
  10. Un server MCP con delle regole: agenti AI entro dei limiti
  11. Un solo wallet protetto per tutto
  12. Piccolo e nativo: C++, nessun runtime JavaScript, dalla workstation al Raspberry Pi

Iscriviti alla lista d’attesa

Lascia la tua email e ti invieremo le novità sui rilasci. Nient’altro.