SHARE THE PERSPECTIVE
Ett offlinetest ska ge ett specifikt resultat; ett hashvärde eller en kryptografisk demonstration är inte en fullständig produktgranskning.

En offlinekontroll kan visa att en viss beräkning utförs utan ett direktsvar från servern. Det är värdefullt, men betyder inte att hela meddelandeappens säkerhet är bevisad. För att resultatet ska vara användbart måste du skriva exakt vilken fil, version, indata och utdata du testade.

En fils hashvärde, en utgåvas signatur, en testvektor, ett reproducerbart bygge och en säkerhetsgranskning besvarar olika frågor. Att kombinera bevis är mer användbart än att göra ett av dem till en ”stämpel för fullständig säkerhet”.

Vad visar varje bevis?

Bevis Begränsad och korrekt slutsats Vad som inte bevisas automatiskt
Filens SHA-256 Filen stämmer överens med referensens hashvärde Referenskällan är ärlig eller koden är felfri
APK-signatur Signaturen är giltig för paketet och knuten till signeringsnyckeln Nyckeln tillhör den avsedda utgivaren, om det inte kontrolleras separat
Testvektor De täckta fallen ger förväntade utdata Alla tillstånd och fel i produkten täcks
Reproducerbart bygge Angiven källkod och miljö ger samma utdata Källkoden saknar sårbarheter
Granskning Ett bestämt omfång och en viss version har granskats Senare ändringar och komponenter utanför omfånget har också godkänts

Definitionen av ett reproducerbart bygge utgår från bestämda indata och en bestämd miljö. Androids officiella verktyg apksigner används för att kontrollera APK-signaturer; det är inte samma sak som att beräkna ett hashvärde.

Vad omfattar Livaras Proof Lab just nu?

Proof Lab-sidan presenterar ett lokalt verktyg för APK-hashvärden och demonstrationer av P-256, HKDF och AES-GCM, bland annat att ändra en bit för att se autenticitetskontrollen misslyckas. Sidan säger själv uttryckligen att den fullständiga kombinationen LVR1/LGS1 ligger utanför denna testbänk.

Skriv därför den korrekta slutsatsen så här: ”Den här filen stämde överens med referensens hashvärde” eller ”Den här kryptografiska demonstrationen avvisade den testade ändringen”. Skriv inte: ”Hela hybridprotokollet och hela den installerade versionen granskades oberoende”. Den här artikeln rapporterar inte något nytt körningstest av verktyget.

Hur förbereder man ett upprepningsbart offlinetest?

  1. Bestäm målet. Vill du kontrollera filens identitet eller beteendet hos en kryptografisk operation?
  2. Dokumentera version och källa. APK-namn, versionsnummer, nedladdningsadress och hashvärde för samma utgåva måste höra ihop.
  3. Förbered verktyget och indata från en betrodd källa. Att gå offline gör inte kod som var skadlig från början tillförlitlig.
  4. Använd okänsliga testdata. En kryptografisk demonstration kräver inga privata meddelanden eller verkliga hemligheter.
  5. Koppla från nätverket och upprepa testet. Detta steg mäter beroendet av ett direktsvar, inte tilliten till tidigare hämtad kod.
  6. Dokumentera resultat och fel. Ersätt inte versionsskillnader, inläsningsfel och avvikande utdata med ”godkänt”.

Om hashvärdet skiljer sig, avbryt installationen och kontrollera först versionen, filen och referenskällan. Skillnaden kan bero på att en annan utgåva valts; utan undersökning ska du inte betrakta den som vare sig säker skadlig kod eller helt betydelselös.

Hur skiljer sig en testvektor från en officiell certifiering?

En testvektor anger indata och förväntade utdata för ett beteende. Samlingar som Wycheproof är användbara för att testa bibliotek mot fall som rör kända attacker. Att klara dem bevisar inte att okända fall täcks.

NIST CAVP har en process för algoritmvalidering. Att köra några offentliga vektorer i webbläsaren är inte samma sak som att få ett valideringscertifikat; användning av en standardiserad algoritm innebär inte heller att produkten automatiskt är certifierad.

Vad bör vi efterfråga när meddelandeappar jämförs?

Ställ samma frågor för Livara, Signal, WhatsApp, Session eller Element: vilken är den exakta versionen? Vilken fil är officiell? Hur verifieras signeringsnyckeln eller referensens hashvärde? Vilka tester går att köra? Vilken kod och vilka komponenter ingick i granskningsrapporten?

Den här artikeln är ingen testbaserad rangordning av dessa produkter. Att ett verktyg på en enda sida saknas bevisar inte att säkerhetsbevis saknas; att det finns bevisar inte heller att hela produkten är överlägsen. Jämför den officiella dokumentationen för samma version och en reproducerbar rapport.

Ett användbart resultatblad

Skriv följande i din korta rapport: mål, version, filens källa, hashvärde, verktyg och dess version, nätverksstatus, okänsliga indata, förväntade utdata, observerade utdata och begränsningar. Om ett annat test inte har utförts, markera det som ”inte testat”.

Verifiering av en kontakts nyckel är också en separat kontroll. Ett lokalt verktyg kan demonstrera en operation, men verifierar inte åt dig samtalspartnerns identitet eller telefonens säkerhetstillstånd. Läs Livaras säkerhetsgränser tillsammans med resultaten, i stället för att betrakta full poäng i verktyget som en garanti för alla gränser.

Kör ett test i Proof Lab
CONTINUE THE THREADAndroid & device security ↗Calls, sync & reliability ↗
YOU’VE REACHED THE ENDBack to the reading room ↗