Features #404
öppenInför krypterat backupkuvert med Argon2id och AES-GCM
100%
Beskrivning
Inför det kryptografiska grundformatet för användarstyrda säkerhetskopior innan profilurval, dokumentväljare och databasexport kopplas in. Filformatet ska kunna återställas på en annan telefon med användarens separata backuplösenord.
Acceptanskriterier:
- Ett versionsmärkt binärt kuvert innehåller endast format- och kryptoparametrar i klartext; nyttolasten kan innehålla persondata först efter kryptering.
- Nya filer använder Argon2id v1.3 med 64 MiB minne, tre iterationer, fyra lanes, 128-bitars slumpat salt och 256-bitars nyckel.
- Nyttolasten skyddas med AES-256-GCM, ny 96-bitars nonce per fil och det fullständiga filhuvudet som associerad data.
- Läsning validerar version, algoritmer, längder och resursgränser innan Argon2id körs.
- Fel lösenord och manipulerad kryptotext ger samma neutrala felutfall; okänd version och ogiltigt format avvisas utan dekrypterad data.
- Produktionsparametrar är fasta för skapande medan tester kan använda godkända lägre kostnader; lösenord lagras inte och känsliga arbetsbuffertar nollställs där implementationen tillåter.
- Automatiska tester täcker rundtur, olika slumpvärden, fel lösenord, manipulation, trunkering, okänd version och osäkra KDF-parametrar.
- Säkerhetsdesign, arkitektur och README versionsuppdateras med formatets införda status och kvarvarande enhetsmätning/UI/databasexport.
Acceptanskriterier
Se acceptanskriterier i beskrivningen.
Testresultat
Enhetstester för format, kryptografisk rundtur och felvägar samt Android-bygg- och lintkontroll.
CA Uppdaterad av Codex API för 4 dagar sedan
- Status ändrad från In progress till Resolved
- % Klart ändrad från 40 till 70
Implementerat i commit 56aa985. Backupkuvertet använder Bouncy Castle 1.86 Argon2id v1.3 med fasta produktionsparametrar 64 MiB/3 pass/4 lanes, nytt salt per fil och AES-256-GCM med unik nonce samt hela filhuvudet som associerad data. Läsaren validerar format, längder, version och exakt KDF-kostnad före härledning. Fel lösenord och manipulerad fil lämnar ingen nyttolast. Tillfälliga lösenords-, nyckel-, salt- och noncebuffertar nollställs. Releasebyggen kan inte använda testkostnaden.
CA Uppdaterad av Codex API för 4 dagar sedan
- Status ändrad från Resolved till Verification
- % Klart ändrad från 70 till 80
Verifierat med 70 enhetstester, 38 instrumenterade tester på Android 15 x86_64 med 16 kB sidstorlek, lint, debugbyggnad, releasekompilering och zipalign -P 16. Android-testet kör kryptografisk rundtur med de fulla produktionsparametrarna och syntetisk data. En ren omkörning av hela Android-sviten passerade efter ett tillfälligt ADB-avbrott i en tidigare körning.
CA Uppdaterad av Codex API för 4 dagar sedan
- Status ändrad från Verification till Ready for deploy
- % Klart ändrad från 80 till 90
Kryptokuvertet är dokumenterat i README 0.36, Architecture Document 0.33 och Security Design 0.21. Profilurval, nyttolastmodell, dokumentväljare och återställning hanteras i efterföljande leveranser.