Un test offline deve fornire un risultato preciso; un hash o una dimostrazione crittografica non è un audit completo del prodotto.
Un test offline può mostrare che un determinato calcolo viene eseguito senza una risposta in tempo reale del server. È utile, ma non dimostra la sicurezza dell’intero messenger. Per ottenere un risultato utilizzabile, annotate esattamente quale file, versione, input e output avete testato.
Hash dei file, firme delle release, vettori di test, build riproducibili e audit di sicurezza rispondono a domande diverse. Combinare le prove è più utile che trasformarne una in un «sigillo di sicurezza completa».
Che cosa dimostra ogni tipo di prova?
| Prova | Conclusione limitata e corretta | Che cosa non dimostra automaticamente |
|---|---|---|
| SHA-256 del file | Il file corrisponde al digest di riferimento | La fonte di riferimento è onesta o il codice è perfetto |
| Firma APK | La firma è valida per il pacchetto ed è associata alla chiave di firma | La chiave appartiene all’editore desiderato, salvo verifica separata |
| Vettori di test | I casi coperti producono l’output atteso | Sono coperti tutti gli stati e gli errori del prodotto |
| Build riproducibile | Sorgente e ambiente specificati producono un output identico | Il codice sorgente è privo di vulnerabilità |
| Audit | Sono stati esaminati un ambito e una versione specifici | Sono state approvate anche modifiche successive e componenti fuori ambito |
La definizione di build riproducibile si basa su input e ambiente specificati. Lo strumento ufficiale Android apksigner verifica le firme APK: non è la stessa cosa che calcolare un hash.
Qual è l’ambito attuale del Proof Lab di Livara?
La pagina Proof Lab presenta uno strumento locale per l’hash degli APK e dimostrazioni delle operazioni P-256, HKDF e AES-GCM, inclusa l’alterazione di un bit per osservare il fallimento della verifica di autenticità. La pagina dichiara esplicitamente che la combinazione completa LVR1/LGS1 è fuori dall’ambito di questo banco di prova.
Scrivete quindi la conclusione corretta così: «Questo file corrispondeva al digest di riferimento» oppure «Questa dimostrazione crittografica ha respinto l’alterazione testata». Non scrivete «L’intero protocollo ibrido e tutta la versione installata sono stati sottoposti ad audit indipendente». Questo articolo non riporta un nuovo test pratico di quello strumento.
Come preparare un test offline ripetibile?
- Definite l’obiettivo. Volete verificare l’identità di un file o il comportamento di un’operazione crittografica?
- Registrate versione e fonte. Nome dell’APK, numero di versione, indirizzo di download e digest della stessa release devono corrispondere.
- Preparate strumento e input da una fonte attendibile. Disconnettersi non rende affidabile un codice malevolo fin dall’origine.
- Usate dati di test non sensibili. Una dimostrazione crittografica non richiede messaggi privati né segreti reali.
- Disconnettetevi e ripetete il test. Questo passaggio misura la dipendenza da una risposta in tempo reale, non l’affidabilità del codice scaricato in precedenza.
- Registrate risultati ed errori. Non sostituite differenze di versione, errori di caricamento o output non corrispondenti con «superato».
Se l’hash è diverso, interrompete l’installazione e controllate prima versione, file e fonte di riferimento. La differenza può derivare dalla scelta di un’altra release: senza verificarla, non consideratela certamente malware né certamente innocua.
In che cosa differiscono vettori di test e certificazione ufficiale?
Un vettore di test specifica l’input e l’output atteso di un comportamento. Raccolte come Wycheproof aiutano a testare le librerie con casi legati ad attacchi noti. Superarli non dimostra la copertura di casi sconosciuti.
Il NIST CAVP prevede un processo di validazione degli algoritmi. Eseguire alcuni vettori pubblici nel browser non equivale a ottenere un certificato di validazione; neppure l’uso di un algoritmo standard certifica automaticamente un prodotto.
Che cosa chiedere per confrontare i messenger?
Per Livara, Signal, WhatsApp, Session o Element, ponete le stesse domande: qual è la versione esatta? Quale file è ufficiale? Come viene verificata la chiave di firma o il digest di riferimento? Quali test si possono eseguire? Quali parti di codice e componenti erano inclusi nel rapporto di audit?
Questo articolo non è una classifica di questi prodotti basata su test. L’assenza di uno strumento in una sola pagina non dimostra l’assenza di prove di sicurezza; la sua presenza non dimostra neppure la superiorità dell’intero prodotto. Confrontate la documentazione ufficiale di quella versione e un rapporto ripetibile.
Una scheda dei risultati utile
In un breve rapporto annotate obiettivo, versione, fonte del file, hash, strumento e relativa versione, stato della rete, input non sensibile, output atteso, output osservato e limiti. Se un altro test non è stato eseguito, indicatelo come «non testato».
Anche la verifica della chiave di un contatto è un controllo separato. Uno strumento locale può mostrare un’operazione, ma non verifica al vostro posto l’identità dell’interlocutore o lo stato del suo telefono. Leggete i limiti di sicurezza di Livara insieme ai risultati, senza considerare un punteggio perfetto nello strumento una garanzia per tutti quei limiti.



