Kaitse algab enne üleslaadimist
Natiivsed seifid töötavad kohapeal ilma Revaulti kontota. Failide sisu, failinimed, MIME-tüübid, pisipildid, seifinimed, kaustad, sildid ja lemmikud krüptitakse seadmes. Kohalik kasutus ei lae seifi faile Revaulti üles. Natiivne pilvesünkroonimine ja jagamine on valikulised, eraldi toimingud.
Mudel eeldab seifi loomisel või avamisel usaldusväärset operatsioonisüsteemi, installitud rakendust ja krüptograafilist juhuslikkuse allikat. Keegi, kellel on ainult krüptitud failid ja võtmepakendid, ei saa neid ilma vajaliku salakoodita dekrüptida. Pahavara või kompromiteeritud rakendus, mis töötab seifi avatuna olles, võib jäädvustada lihtteksti ja võtmeid.
Sõltumatud võtmed iga seifi jaoks
Iga seif algab juhusliku 256-bitise AES-i peavõtmega, mis genereeritakse operatsioonisüsteemi krüptograafilise juhuslikkuse allika abil. Žest ei määra seda võtit otse. Igal seifil on sõltumatu peavõtme materjal, seega ühe seifivõtme avalikuks saamine ei tuleta teist.
Seadme muster ühendab oma järjestatud punktijada juhusliku 256-bitise seadme salakoodiga. Saadud sisend normaliseeritakse NFKC-ga ja antakse PBKDF2-HMAC-SHA-256-le värske 128-bitise soola ja 600 000 iteratsiooniga. Tuletatud 256-bitine võti pakib peavõtme AES-256-GCM-iga. Rakendus ei salvesta lihtteksti mustrit ega eraldi mustri sõrmejälge.
Mustrid kasutavad 5 × 5 ruudustikku kuue kuni 25 erineva punktiga ja peavad olema ühes seadmes registreeritud seifide vahel kordumatud. Vastav muster avab ainult oma seifi; teiste seifide nimed ja sisu jäävad varjatuks. Ennustatavaid žeste on endiselt lihtsam ära arvata. Isik, kes saab kätte nii seadme salakoodi kui ka selle krüptitud pakendi, võib proovida võrguühenduseta mustri arvamisi.
Natiivse seifi avamiseks on vaja selle kohalikku mustrit või selgesõnalist taastevoogu, mitte Revaulti kontot ega pääsuvõtit. Valikuline pilvesünkroonimine kasutab platvormi Apple'i või Google'i autoriseerimist ning poeostud kasutavad platvormi arveldusekontot. Ei pilveautoriseerimine ega ost anna seifi dekrüptimisvõtit.
| Eesmärk | Ülesehitus |
|---|---|
| Seifi põhivõti | Juhuslik 256-bitine AES-võti |
| Võtme ümbristamine | PBKDF2-HMAC-SHA-256 · 600 000 iteratsiooni · 128-bitine sool → AES-256-GCM |
| Metaandmed ja pisipildid | AES-256-GCM · juhuslik 96-bitine nonce · 128-bitine autentimismärgis |
| Failivõtme tuletamine | HKDF-SHA-256 · faili kohta juhuslik 256-bitine sool · 256-bitine AES-väljund |
| Taastesaladus | Genereeritud: 18 juhuslikku sõna (198 bitti); enda oma: vähemalt 6 erinevat sõna ja 32–512 märki |
Ainult seadmes olev võtmekaitse
iOS-is salvestatakse seadme lukk mittesünkroniseeruva Keychaini kirjena, kasutades kaitset WhenUnlockedThisDeviceOnly. See on kättesaadav ainult siis, kui seade on avatud, ega migreeru Keychaini sünkroonimise kaudu. Salvestatud salakood ei ole Secure Enclave'i võti.
Androidis krüpteeritakse seadme lukk AES-256-GCM-iga mitteeksporditava Android Keystore'i võtmega, mis nõuab avatud seadet. Krüptitud lukufail asub rakenduse varukoopiavabas kataloogis. Keystore'i riistvaraline tugi sõltub seadmest; rakendus ei luba, et iga seade kasutab riistvaraga toetatud võtmeid.
Kohalikud avamise salakoodid on natiivsest pilvesünkroonimisest ja kaasaskantavatest seifi varukoopiatest välja jäetud. Apple'i või Google'i konto omamine ei loo neid salakoode uuesti ega ava taastatud seifi automaatselt. Uus seade peab kontrollima sõltumatut taastesalakoodi ja registreerima oma mustri.
Konfidentsiaalsus ja muutmise tuvastamine
Seifi metaandmed, failide metaandmed, pisipildid ja ümbritsetud võtmed kasutavad AES-256-GCM-i 128-bitiste autentimismärgistega. Iga sõltumatu krüptimine kasutab uut juhuslikku 96-bitist nonce’i. Dekrüptimine kontrollib märgist enne avateksti tagastamist; muudetud krüptitud andmed või vale võti põhjustavad autentimise ebaõnnestumise.
Lisaautenditud andmed seovad iga krüptitud objekti selle vormingu versiooni, seifi tunnuse, objekti tunnuse ja eesmärgiga. Näiteks pisipildi ja faili metaandmete kirje kasutavad erinevaid kontekste. Krüptitud objekti teisaldamine teise seifi või selle asendamine teise objektiga muudab autenditud konteksti ja kontroll ebaõnnestub.
Autenditud kontekst ei peida identifikaatoreid ega tõesta värskust. Kehtiv vanem kirje võib endiselt omada kehtivat märgist. Rakenduse redaktsioonikontrollid tuvastavad tavalisi samaaegseid uuendusi, kuid see ei ole krüptograafiline kaitse pahatahtliku teenuse eest, mis esitab uuesti täieliku vanema oleku.
Suured failid kasutavad autenditud lõike
Natiivne failikrüptimine kasutab Tinki kirjeldatud AES-256-GCM-HKDF-SHA-256 voogkonstruktsiooni. iOS kasutab AES-GCM-i ja HKDF-i jaoks CryptoKiti; Android kasutab platvormi krüptograafilisi primitiive. Igal uuel vool on 40-baidine päis, mis sisaldab pikkusemärki, juhuslikku 32-baidist soola ja juhuslikku seitsmebaidist nonce'i prefiksit.
HKDF tuletab seifi põhivõtmest eraldi failikrüptimisvõtme. Selle kontekst sisaldab seifi ja faili tunnuseid, avateksti baidipikkust ja seadistatud lõigu suurust. Iga lõigu 12-baidine nonce ühendab juhusliku prefiksi, nelja-baidise lõigu loenduri ja viimase lõigu lipu. Lõigud kannavad 128-bitiseid GCM-märgiseid.
Natiivsed rakendused töötlevad faile piiratud umbes 5 MiB segmentidena. Segmendiloendurid, viimase segmendi lipp ja oodatud baidipikkused tuvastavad muudetud, ümberjärjestatud või lõigatud segmente. Iga segment autendatakse enne kasutamist ja privaatne eelvaade avaldatakse alles pärast faili dekrüptimise lõppu. Mittetäielik väljund visatakse tõrke korral ära; kordusproovid edastavad olemasolevaid krüptitud baite.
Ülesehitus järgib Tinki AES-GCM-HKDF voogkrüptimise spetsifikatsiooni. Revaulti teostust ja lõikude seadistust ei ole Tink sõltumatult auditeerinud ega sertifitseerinud.
Privaatne salvestus, impordid ja eelvaated
Krüptitud seififailid asuvad privaatses rakenduse salvestusruumis. Failinimed, MIME-tüübid, kaustad, sildid, lemmikud ja pisipildid on autenditud krüptitud kirjed. Otsing ja siltide filtreerimine toimivad aktiivse seifi dekrüptitud metaandmetel pärast avamist; lihtteksti serveri otsinguindeksit pole.
Foto-, video- ja failiimpordid võivad enne krüptimist kasutada privaatset ajutist vahealade. Seifisisene kaamera jäädvustus ei salvesta automaatselt koopiat galeriisse. Rakendusest Photos või teisest teenusest importimine jätab selle teenuse originaali puutumata. Valikuline meedia optimeerimine toimub kohapeal enne krüptimist ja muudab ainult hiljuti imporditud meediat.
Privaatsed eelvaated vajavad avatuna olles ajutist lihtteksti. Rakendused eemaldavad ajutised eelvaated sulgemisel, lukustamisel ja järgmisel käivitamisel; iOS rakendab dekrüptitud eelvaatefailidele täielikku failikaitset. Selgesõnaliselt teise rakendusse eksporditud failid lahkuvad seifi kaitse alt. Ajutiste failide kustutamine ei garanteeri kohtuekspertiisikindlat kustutamist.
Valikuline natiivne pilvesünkroonimine
Sünkroonimine on vaikimisi välja lülitatud ja lubatakse iga seifi jaoks igas seadmes eraldi. iOS salvestab krüptitud kirjed ja failisegmendid kasutaja privaatsesse CloudKiti andmebaasi iCloudis. Android kasutab Google Drive'i privaatset appDataFolderit. Kumbki transport ei nõua Revaulti kontot ega lae natiivseid sünkroonimisandmeid Revaulti veebipilve.
Pilv saab krüptitud metaandmeid, failisegmente ja võtmepakendeid, mitte lihtteksti seifi peavõtit, kohalikku seadme salakoodi ega taastesalakoodi. Teine sama platvormi seade vajab sama natiivset pilvekontot ja seifi taastevõtit, et registreerida oma kohalik muster. Apple'i ja Google'i autoriseerimine kontrollib juurdepääsu krüptitud kirjetele, mitte nende dekrüptimist.
Sünkroonimise väljalülitamine peatab selle seifi edasised ülekanded praegusest seadmest; olemasolevad krüptitud pilvekoopiad jäävad alles. Sünkroonimine võib levitada muudatusi ja kustutamisi ning samaaegsed muudatused võivad vajada konflikti ülevaatamist. iCloud ja Google Drive on eraldi salvestused, ilma automaatse platvormideülese sillata. Kasuta krüptitud telefoniülekannet iPhone'i ja Androidi vahel liikumiseks.
Taastamine on teine tee samale võtmele
Genereeritud taastefraasid sisaldavad 18 sõltumatult valitud sõna rakendusega kaasas olevast 2048 sõna loendist, mis annab 198 bitti juhuslikkust. Selle asemel saad valida enda fraasi, milles on vähemalt kuus erinevat sõna ja 32–512 märki; selle tugevus sõltub sinu valikutest. Mõlemad tuletavad sõltumatult ümbristava võtme PBKDF2-HMAC-SHA-256 ja uue soolaga ning ümbritsevad sama seifi peavõtme AES-256-GCM-iga. Igaüks, kellel on fraas ja krüptitud seif, saab selle dekrüptida.
Taastesalakood kuvatakse seadistamise ajal ning seda ei säilitata natiivse rakenduse salvestuses ega laadita natiivsesse pilvesalvestusse. Hoia seda krüptitud failidest eraldi. Teise seadme registreerimiseks on vaja krüptitud seifi algsest natiivsest pilvekontost või krüptitud varukoopiat ning taastevõtit. Salakood ei saa taastada puuduvaid failiandmeid ja Revaultil pole teenusepakkuja hoitavat lähtestusvõtit.
Kaasaskantav .qvault varukoopia sisaldab krüptitud võtmepakendeid, autenditud krüptitud inventari ja krüptitud failisegmente. See jätab välja kohaliku seadme avamise salakoodi. Import kontrollib inventari, metaandmeid ja iga segmenti enne taastamist seifi, millel on uued tunnused, peavõti, failivõtmed ja uus seadme muster. Salvesta pärast taastamist uus taastevõti.
Uued taastefraasid säilitavad tähesuuruse, normaliseerivad Unicode’i NFKC-ga ja ahendavad üleliigsed tühikud. Vanad kuueteistkümnendvõtmed on jätkuvalt toetatud. Seifi taastefraasi saad selle seadetes asendada pärast uue fraasi salvestamist. See asendab praeguse taasteümbrise; vanad varukoopiad ja seadmed, mis pole sünkroonitud, võivad siiski hoida vana ümbrist. Mustri või taastefraasi muutmine ei vaheta seifi peavõtit ega tühista koopiaid. Kui võtmematerjal satub ohtu, teisalda failid uude seifi, millel on uued võtmed.
Krüptitud üleminek telefonilt telefonile
Telefoniülekanne loob kaasaskantava krüptitud koopia uute seifitunnuste, peavõtme, failivõtmete ja voopäistega. Selle sõltumatu ülekandesalakood ei saa lähteseifi avada ning lähte taastesalakoodi ja seadme avamise salakoodi ei kaasata. Krüptitud pakett ja ülekandesalakood tuleb edastada eraldi.
Vastuvõttev rakendus autendib paketi ja selle failisegmendid, seejärel taastab uude seifi uue kohaliku mustri ja taastevõtmega. See töötab iOS-i ja Androidi vahel ilma nende pilvekontosid sildamata. Originaal jääb vanasse seadmesse; kinnita taastatud sisu ja salvesta uus taastevõti enne selle kustutamist.
Lukustamine ja seansi puhastamine
Mobiilirakendused lukustuvad kohe, kui need viiakse taustale, ja vaikimisi 60 sekundi tegevusetuse järel. Iga seif saab valida 30 sekundit, 1 minut, 2 minutit, 5 minutit või 10 minutit. Jagatud seif kasutab 60-sekundilist vaikimisi väärtust. Väljumine naaseb mustriekraanile ja lõpetab dekrüptitud seansi.
Lukustamine katkestab seansi töö, tühjendab dekrüptitud metaandmed ja otsingu oleku, sulgeb eelvaated, eemaldab ajutised failid ja kirjutab omatud võtmepuhvrid üle enne nende vabastamist. Ajutised tuletusvõtmed tühjendatakse samuti pärast kasutamist. Swifti ja JVM-i mäluhaldus, krüptograafiateegid ja meediadekoodrid võivad luua koopiaid; iga koopia viivitamatut kustutamist ei saa garanteerida.
iOS katab rakenduste vahetaja hetktõmmised privaatsuskilbiga. Android kasutab turvaakna lippu ekraanipiltide ja hiljutiste rakenduste eelvaadete piiramiseks. Need platvormi kaitsed ei takista avatud ekraani pildistamist ega võta tagasi varem teise rakendusse eksporditud faile.
Revault Cloud
Revault Cloud on valikuline Pro salvestusteenuse pakkuja platvormideüleseks sünkroonimiseks. Krüptitud segmendid ja krüptitud failimetaandmed on seotud pseudonüümse arveldusinstallatsiooniga. Teenus näeb salvestusidentifikaatoreid, suurusi, kontrollsummasid, redaktsioone ja ülekandetegevust, kuid ei saa lahtipakitud seifivõtit ega taastefraasi. Eraldi juhuslik ühenduskood annab salvestusele juurdepääsu; teise seadme ühendamiseks on vaja ka taastefraasi. Olemasolevad pilveandmed jäävad pärast Pro lõppemist taastamiseks loetavaks.
Natiivse jagamise transpordid ja juurdepääsukontrollid
iOS-is paigutab privaatne kirjutuskaitstud CloudKiti kutse krüptitud hetktõmmise eraldi jagamiskirjete hierarhiasse, väljapoole isiklikku sünkroonimisvööndit. Apple kontrollib kutse juurdepääsu; saaja vajab siiski eraldi dekrüptimise salakoodi. CloudKiti kutsed ei jõusta serveri juurdepääsuseansside arvu, fikseeritud aegumist ega hävitustaimerit. Omanik saab peatada tulevase CloudKiti juurdepääsu.
Platvormideülesed jagamised laadivad krüptitud osad üles Revaulti jagamisteenusesse. Sõltumatud juhuslikud 256-bitised lugemis- ja haldusõigused salvestatakse SHA-256 räsidena. Veebisaidi link kannab lugemisõigust oma fragmendis, mitte dekrüptimise salakoodi. Selle avamine suunab süvalingiga jagatud seifi ja küsib saatja salakoodi; isiklikku mustrit ega olemasolevat seifi pole vaja. Isiklikud seifid jäävad lukku.
Kontrollitud serverijagamised jõustavad saatja juurdepääsuseansside maksimumi, fikseeritud aegumise 30 päeva piires, tühistamise ja valikulise ekspordiloa. Seanss antakse aatomiliselt ja kestab kuni 15 minutit, piiratuna jagamise tähtaegadega. Juurdepääs loetakse, kui seanss antakse, isegi kui allalaadimine või dekrüptimine ebaõnnestub. Vaatur kontrollib käimasolevat juurdepääsu ja sulgub tähtajal.
SHA-256 kontrollsummad kinnitavad edastatud osade terviklikkust ja autenditud krüptimine nende sisu. Kui eksport on lubatud, saab vaataja salvestada krüptitud .qvault-koopia, mis avaneb jagamise salakoodiga. Ekspordi keelamine eemaldab selle rakenduse toimingu, kuid see ei suuda krüptograafiliselt takistada ekraanipilte ega muudetud klienti, mis säilitab avatekstina sisu. Lähtefaili kustutamine ei tühista iseseisvalt loodud jagamist.
Valikuline seifi tegevus
Natiivsed auditilogid on vaikimisi väljas ja neid seadistatakse seifi kaupa igas seadmes. Viimased 500 kohalikku sündmust krüptitakse seifi põhivõtme ja pühendatud autenditud kontekstiga. Need ei sisalda võtmeid, mustreid, failide sisu ega teiste seifide andmeid, neid ei sünkroonita ning neid saab tühjendada või keelata. Need ei ole muutmiskindel tõend. Ebaõnnestunud avamisi ei seostata ühegi seifiga.
Uued kontrollitud jagamised, mis on loodud logimine lubatuna, säilitavad jagamisteenuses kuni 100 juurdepääsuseansi ajatemplit. Neid saab tuua ainult haldusõigusega; logi ei sisalda saaja identiteeti ega dekrüptimissaladust. Kohaliku logimise keelamine mõjutab tulevasi jagamisi. Olemasolevad jagamislogid säilitavad oma algse seade kuni tühistamise või aegumise ja puhastamiseni.
Valikulised krüptitud sissemurdmisfotod
Omanikud saavad Sissemurdmise teavitused igas seadmes iga seifi jaoks eraldi lubada. Pärast kolme sobimatut mustrit võib esiplaanil olev rakendus jäädvustada esikaamera foto, olenevalt loast, kaamera saadavusest ja ühe minuti jahtumisajast. Süsteemi kaameranäidikud jäävad nähtavaks. Viimased kümme teavitust salvestatakse kohalikult ning neid ei lisata kunagi Fotodesse ega laadita üles. Sobimatu muster ei tuvasta sihtseifi, seega saab iga lubatud seif eraldi krüptitud seadmekatse kirje.
Pühendatud RSA-3072 avalik võti ümbristab iga teavituse jaoks värske 256-bitise AES-GCM-võtme, kasutades OAEP-i koos SHA-256 ja MGF1-SHA-256-ga. See lubab krüpteerida, kui seif on lukus. Vastav privaatvõti on ise krüptitud selle seifi põhivõtmega pühendatud autenditud kontekstis. Ainult selle seifi avamine saab selle fotosid dekrüptida. Teavitused kuvatakse selle auditivaates sõltumatult tavapärasest tegevuslogist ja neid saab Sissemurdmise teavituste seadetes tühjendada. Need ei ole muutmiskindel tõend.
Turvaväljumine eemaldab kohaliku juurdepääsu
Ühe seadme ühe seifi saab määrata Turvaväljumise seifiks. Selle mustri sisestamine avab seifi tavapäraselt, kuid eemaldab teised kohalikud seifikirjed, krüptitud tükid, seadme avamismaterjali ja järjekorras muudatused. Rakendus hoiab püsivat kohalikku lubatud nimekirja, et sünkroonimine ei saaks välistatud seife märkamatult taastada. Juba pooleli olevad krüptitud edastused võivad siiski lõpule jõuda.
Natiivsed pilvekoopiad ja koopiad teistes seadmetes jäävad alles. Selgesõnaline taastamine nõuab välistatud seifi taastevõtit enne uue kohaliku mustri seadistamist. Ainult võrguühenduseta seif, millel pole eraldi varukoopiat, võib kaduda. See säte kehtib praegusele paigaldusele, mitte igale seadmele, mis kasutab sama pilvekontot.
Turvaväljumine ei taga kohtuekspertiisikindlat kustutamist ega varjamist. Välkmälu, operatsioonisüsteemi vahemälud, varukoopiad ja varasemad ekspordid võivad jälgi säilitada. Rakenduse andmete eemaldamine või uuesti installimine võib kaotada kohaliku eraldatuse piiri; pilvekirjed võivad siis natiivse pilvekonto kaudu uuesti ilmuda. Neid kirjeid saab avada ainult taastesalakood.
Mis jääb nähtavaks
Krüptimine peidab sisu, mitte kogu töörežiimi teavet. Kohalikud kirjed ja pilveteenuse pakkujad võivad näha identifikaatoreid, kirjete seoseid, objektide arvu, suurusi, redaktsioone, ajatempleid, krüptitud võtmepakendeid ja voo päiseid. Identifikaatorid kasutavad UUIDv7 ja sisaldavad loomisaja teavet; need ei ole saladused. Apple või Google saavad seostada natiivse sünkroonimise tegevuse platvormikontoga.
Revaulti kontrollitud jagamisteenus näeb krüptitud pakettide suurusi, osade kontrollsummasid, aegumisseadeid, juurdepääsuseansside arvu ja valikulisi seansside ajatempleid, kuid mitte eraldi edastatavat dekrüptimise salakoodi. CloudKit-i jagamine avaldab kutse- ja osalejateabe Apple’ile. Võrgu- ja töökirjed võivad paljastada ühenduse teavet. Revault ei paku anonüümsust ega kaitset liiklusanalüüsi vastu.
HTTPS kaitseb võrgupäringuid edastamise ajal. Seadmesisene autenditud krüptimine kaitseb eraldi kohapeal ja pilves hoitava seifi sisu. Ei edastuskrüptimine ega krüptitekst ei peida kõiki fakte selle kohta, millal, kus või kui palju andmeid edastatakse.
Kasutusanalüütika
Vaikimisi sisse lülitatud. Mixpanel saab funktsioonikasutuse sündmusi juhusliku analüütika ID-ga. Seifi sisu, nimed, mustrid, võtmed ja jagamise salakoodid on välistatud. Lülita analüütika välja igal ajal selles brauseris või seadmes.
Kus kaitse lõpeb
Avatud seif toob paratamatult dekrüptitud teabe oma rakenduseseansi kätte. Pahavara, kahjustatud operatsioonisüsteem või rakendus, ekraani vaatav inimene või ebausaldusväärne saaja võivad selle jäädvustada. Võtmete hoidmine ainult seadmes on lisapiir, mitte tagatis täielikult kompromiteeritud seadme vastu. Etteaimatav muster pole turvaline, kui selle kohalik saladus satub valedesse kätesse.
Krüptimine ei takista pilvest kustutamist, lunavara, taastesalakoodi kaotamist, teenusepakkujal kirjete tagasihoidmist ega kogu varem kehtinud krüptitud oleku tagasipööramist. Hoia sõltumatuid krüptitud varukoopiaid ja kontrolli taastamist enne vana seadme eemaldamist. Juurdepääsu tühistamine ei saa tagasi võtta ekraanipilte, eksporte ega koopiaid, mille keegi teine on juba endale jätnud.
Revault ei ole läbinud sõltumatut turvaauditit. Need on rakendatud krüptograafilise ülesehituse kirjeldused, mitte sertifikaat ega garantii iga sissetungi vastu.
Olemasolevad brauseriseifid
See viide kirjeldab natiivseid rakendusi. Olemasolevatel brauseriseifidel on eraldi konto-, seadmesalvestus- ja veebipilve mudel. Brauseripõhised S3 üleslaadimised ja brauseri jagamislingid ei ole natiivne pilvesünkroonimine. Brauserikonto ei logi sind mobiilirakendustesse sisse; olemasolevate brauseriandmete teisaldamiseks natiivsesse seifi kasuta krüptitud varukoopiat ja selle taastevõtit.