Revault krüpteerib suure faili umbes 5 MiB segmentidena, igaühel oma autentimismärgis, nii et kogu fail ei pea korraga mälus olema. Veebirakenduses annab see ruumi kuni 1 GiB failidele.
Miks mitte krüpteerida kogu faili korraga?
Suured failid ei tohiks nõuda palju mälu. Revault loeb faile umbes 5 MiB suurustes lõikudes, krüpteerib iga lõigu brauseris ja hoiab krüptitud andmeid ajutiselt IndexedDB-s. Algset faili ei lugeda kunagi ühte hiiglaslikku puhvrisse.
Segmentidena töötamine tähendab ka seda, et katkenud üleslaadimist saab jätkata juba ettevalmistatud šifriteksti pealt, selle asemel et kogu fail uuesti krüpteerida.
Mis kaitseb segmentide järjekorda ja täielikkust?
Iga fail saab oma krüptimisvõtme, mis tuletatakse HKDF-iga seifi peavõtmest. Tuletuskontekst sisaldab seifi- ja failitunnuseid, faili baidipikkust ja segmendi suurust.
Iga segmendi 12-baidine nonce ühendab selle faili jaoks valitud juhusliku prefiksi, nelja-baidise segmendiloenduri ja lipu, mis tähistab viimast segmenti. Segmentidel on 128-bitised GCM-märgised. Kui segmente vahetatakse, muudetakse või lõigatakse ära, kontroll ebaõnnestub.
Mis juhtub, kui üleslaadimine katkeb?
Kui krüptimine on lõpetatud, saab võrguüleslaadimist pärast lehe värskendamist jätkata vahemällu salvestatud krüptitud andmetest. Korduskatsed saadavad samu krüptitud baite, mitte ei krüpteeri uut allikat vanade nonce’idega. Kui katkeb krüptimine ise, tühista see poolik üleslaadimine ja alusta uuesti uue faili identiteediga.
Kuidas allalaadimisi kontrollitakse?
Allalaadimised autendivad iga segmendi enne selle väljastamist. Kuna kontroll toimub faili voogedastuse käigus, võib allalaadimise lõpus tekkiv viga jätta järele poolik faili, seega veendu, et allalaadimine lõpeb edukalt, enne kui sellele loodad.
Millised on piirangud?
Veebirakenduses võib iga fail olla kuni 1 GiB. Pildi- ja videoeelvaadetel on eraldi mälupiirang. Kohaliku brauserisalvestuse tühjendamine võib eemaldada üleslaadimise jätkamiseks vajaliku šifriteksti.
Voogedastusvorming järgib Tinki dokumenteeritud AES-GCM-HKDF voogkrüptimise ülesehitust, kasutades Web Crypto natiivseid primitiive. Faili identiteet ja eeldatav pikkus seotakse võtmtuletuse kontekstiga; lõikude loendurid ja lõppmärgis kaitsevad järjekorda ja lõpetatust. See teostus ei ole saanud sõltumatut krüptograafilist auditit.
Turvamudeli leht kirjeldab täielikku konstruktsiooni, sealhulgas voo päist ja võtme tuletamist.