Turva-arkkitehtuuri: Täydellinen tekninen pino
Vaultaire ei nojaa yhteen algoritmiin tai yhteen älykkääseen kikkaukseen. Se käyttää kerrostettua kryptografista arkkitehtuuria, jossa jokaisella komponentilla on tietty tehtävä, eikä minkään kerroksen epäonnistuminen vaaranna muita. Tässä on jokainen salaus, protokolla ja suunnittelupäätös, joka seisoo yksityisen datasi ja muun maailman välillä.
Vaultaire käyttää AES-256-GCM:ää todennettuun salaukseen holvin indekseissä, käärityissä avaimissa, tiedostojen otsikoissa, sisällössä, pikkukuvissa ja metatiedoissa. PBKDF2-HMAC-SHA512 johtaa paikallisen holvin avaimen kuviosta ja laitekohtaisesta Keychain-suolasta. Tämä holvin avain käärii erillisen satunnaisen 256-bittisen pääavaimen, jolla tiedostot salataan CryptoKitin kautta sovellusprosessissa.
Kryptografinen pino
Vaultaire käyttää useita yhdessä toimivia kryptografisia mekanismeja, joista jokainen on valittu tiettyyn työhön. PBKDF2 muuttaa ihmisen tunnistetiedon holvin avaimeksi tai palautusavaimeksi. AES-256-GCM suojaa indeksejä, kääreitä, metatietoja, pikkukuvia ja tiedostosisältöä. Satunnainen pääavain erottaa pitkäikäisen tiedostosalauksen muuttuvasta kuviosta. Keychain ja iOS:n Data Protection suojaavat laitteeseen sidottuja suola- ja palautustietueita, kun laite on lukittu. Mikään palveluntarjoajan hallussa oleva salauksen purkuavain ei anna kehittäjälle rutiininomaista pääsyä holvin selkotekstiin.
Tämä ei ole monimutkaisuus sen itsensä vuoksi. Jokainen kerros vastaa eri hyökkäyspintaan. AES-256-GCM yhdistää luottamuksellisuuden todentamiseen, joten muokattu salateksti epäonnistuu vahvistamisessa. PBKDF2 nostaa kunkin kuvion tai lauseen testaamisen kustannusta. Satunnainen pääavain tarkoittaa, että kuvion muutos voi kääriä yhden avaimen uudelleen jokaisen tiedoston uudelleensalauksen sijaan. Keychainin tietosuoja suojaa paikallisia suola- ja palautustietueita, kun taas sovellus tunnustaa silti, että prosessimuistissa tapahtuu symmetristä salausta.
Yhdessä nämä kerrokset muodostavat monikerroksisen puolustuksen, mutta ne eivät kaikki ole toisistaan riippumattomia esteitä. Arvatun kuvion voi tarkistaa indeksin tiedostonimeä ja AES-GCM-todennusta vasten, ja vaarantunut avattu laite voi tarkkailla avaimia tai selkotekstiä sovellusprosessissa. Arkkitehtuuri riippuu siis tunnistetietojen entropiasta, PBKDF2:n laskentakustannuksesta, iOS:n laitesuojauksesta ja todennetun salauksen oikeasta käsittelystä sekä itse AES:n vahvuudesta.
Ajattele Vaultairen hierarkiaa joukkona sisäkkäisiä lukittuja säilöjä. Kuviosta johdettu holvin avain avaa todennetun indeksin. Indeksi vapauttaa käärityn satunnaisen pääavaimen. Tämä pääavain suojaa tiedostoja ja metatietoja. PBKDF2, AES-GCM, Keychain ja iOS:n Data Protection tuovat kukin eri ominaisuuksia, mutta turvallisuusväite on vain niin vahva kuin koko ketju.
AES-256-GCM: Tiedostojen salaus
Jokainen Vaultaireen tallennettu valokuva, video ja asiakirja on salattu AES-256-GCM:llä: Advanced Encryption Standard 256-bittisellä avaimella Galois/Counter Mode. Vaultaire käyttää AES-GCM:ää myös holvi-indekseihin, tiedostojen otsikoihin, pikkukuviin ja avainkuoriin. Algoritmi ja avaimen koko on standardoitu; Vaultairen turvallisuus riippuu silti noncejen käsittelystä, avainten hallinnasta, tunnistetietojen vahvuudesta ja toteutuksen oikeellisuudesta.
“256” AES-256:ssa viittaa avaimen pituuteen biteissä. 256-bittisellä avaimella on 2256 mahdollista arvoa. Perspektiivin vuoksi: havaittavassa universumissa on noin 1080 atomia. Jos jokainen atomi olisi supertietokone, joka testaa miljardin avaimen sekunnissa, pyörien Big Bangista asti, ne olisivat tutkineet alle triljoonannen osan triljoonannesta prosentista avainavaruudesta. AES-256:ta ei murreta raa'alla voimalla. Ei tänään. Ei tällä vuosisadalla. Ei ennen tähtien sammumista.
Miksi GCM-tila on tärkeä
AES on lohkosalaus: se salaa datan 128-bittisillä lohkoilla. “Tila” määrittää, kuinka nämä lohkot yhdistetään. GCM (Galois/Counter Mode) tarjoaa kaksi asiaa, joita yksinkertaisemmat tilat kuten CBC eivät tarjoa: rinnakkaissalaus ja sisäänrakennettu todennus.
Todentamisosa on kriittinen. GCM luo kryptografisen tunnisteen jokaiselle salatulle tiedostolle. Kyseinen tunniste toimii peukaloinnin tiivisteenä. Jos edes yksi bitti salatusta tiedostosta muuttuu, olipa se pahantahtoisen toimijan tai vioittuneen levylohkon aiheuttama, todentamistunniste ei täsmää ja salauksenpurku epäonnistuu. Et saa vioittunutta dataa. Saat selkeän signaalin, että jotain on vialla. Tätä ominaisuutta kutsutaan todennetuksi salaukseksi, ja se estää kokonaisen hyökkäysluokan, jossa vastustaja muokkaa salattua dataa manipuloidakseen purettua tulosta.
PBKDF2: Avainjohdatus
Vaultaire tuottaa erilaisia avaimia eri töihin. Kuvio ja laitekohtainen Keychain-suola syötetään PBKDF2-HMAC-SHA512:een 600 000 iteraatiolla paikallisen holvin avaimen tuottamiseksi. Deterministinen kuvion johtaminen tuottaa erillisen pilvivarmuuskopioavaimen. Normalisoitu palautuslause käsitellään 800 000 PBKDF2-iteraatiolla palautuskuoren avaimen tuottamiseksi. Mikään näistä johtamisista ei muuta ihmisen tunnistetietoa 256 bitin entropiaksi vain siksi, että tulos on 256 bittiä pitkä.
Kuinka PBKDF2 suojaa kuviotasi
PBKDF2:n perusajatus on tarkoituksellinen työ. Se ottaa sarjoitetun kuvion tai normalisoidun lauseen ja suorittaa satoja tuhansia HMAC-SHA512-iteraatioita. Laillinen käyttäjä maksaa tämän hinnan kerran avaus- tai palautusyrityksessä. Hyökkääjä maksaa sen jokaisesta ehdokkaasta, vaikka rinnakkainen laitteisto ja toteutusvalinnat määräävät todellisen arvausnopeuden.
Vaultaire määrittää PBKDF2:n 600 000 iteraatiolla kuviosta johdetuille avaimille. Tämä tekee jokaisesta arvauksesta kalliimman, mutta vastuullisen hyökkäysarvion on ilmoitettava mitattu ehdokaskohtainen aika ja laitteistooletukset. Kun yksi ehdokas vie tasan 1 ms, 1 000 000 000 peräkkäistä arvausta vie noin 11,6 päivää, ei vuosia. 256-bittinen tulos ei laajenna ennustettavan kuvion entropiaa.
Paikallinen kuvion johtaminen käyttää laitteelle yhtä kryptografisesti satunnaista suolaa, joka on tallennettu WhenUnlockedThisDeviceOnly-tyyppisenä Keychain-kohteena. Suola ei ole salainen, ja sen jakavat kyseisen laitteen holvit. Se estää yhdelle laitteelle rakennettua taulukkoa siirtymästä suoraan toiseen laitteeseen eri suolalla, mutta se ei pakota hyökkääjää aloittamaan alusta jokaisessa saman laitteen holvissa.
AES-256-GCM: Metatietojen suojaus
Tiedostojen sisällön salaaminen ei riitä. Tiedostonimet, luontipäivät, esikatselukuvien mitat ja holvin rakenne ovat kaikki metatietoja, ja metatiedot voivat olla yhtä paljastavia kuin data itsessään. Tiedosto nimeltä “veroilmoitus-2025.pdf” kertoo hyökkääjälle täsmälleen mitä sisällä on, vaikka sisältö olisi salattu. Aikaleima osoittaa, milloin holvia on käytetty. Esikatselukuvan koko paljastaa, onko kyseessä valokuva vai video.
Vaultaire suojaa näitä metatietoja AES-256-GCM:llä, ei ChaCha20:lla. Tiedostojen nimet ja MIME-tyypit koodataan salattuihin tiedosto-otsikoihin. Salattu holvi-indeksi sisältää tiedostotietueet, päivämäärät, kokotiedot, tallennusasettelun ja käärityn pääavaimen. Pikkukuvatiedot salataan myös satunnaisella pääavaimella.
Miksi metatietojen todennettu salaus?
Metatiedot tarvitsevat eheyttä sekä luottamuksellisuutta. AES-GCM tuottaa todennustunnisteen jokaiselle salatulle arvolle, joten Vaultaire voi hylätä muokatun otsikon, indeksin, pikkukuvan tai kirjekuoren sen sijaan, että se hyväksyisi hyökkääjän hallitseman selkotekstin. Suunnittelussa käytetään tarkoituksella yhtä todennettua salausrakennetta näissä tallennusmuodoissa sen sijaan, että väitettäisiin kryptografista monimuotoisuutta, jota toteutus ei tarjoa.
Sama salaus ei tarkoita, että samaa avainta tai noncea käytetään uudelleen sokeasti. Holvin avain suojaa indeksiä ja käärii satunnaisen pääavaimen; pääavain suojaa tiedostomateriaalia. CryptoKit luo todennettuja sinetöityjä laatikoita tuoreilla nonceilla, kun taas Vaultairen suoratoistomuoto johtaa erillisen noncen jokaiselle järjestetylle palalle. Olennaiset takuut tulevat avainten erottelusta, noncejen kurinalaisesta käsittelystä ja todennuksesta, eivät toisesta metatietosalauksesta.
Nollatietoisuusarkkitehtuuri
Tässä on kysymys, joka on syytä esittää kaikista turvallisuussovelluksista: mitä tapahtuu, jos niiden taustalla oleva yritys hakkeroidaan, haastetaan tuomioistuimeen tai yksinkertaisesti muuttuu pahantahtoiseksi?
Useimmissa sovelluksissa vastaus on epämukava. Ne pitävät dataasi, avaimiasi tai molempia. Tuomioistuinmääräys pakottaa heidät luovuttamaan sen. Tietomurto paljastaa sen. Roistortyöntekijä käyttää sitä. Sovelluksen turvallisuus on vain niin vahva kuin yrityksen operatiivinen turvallisuus, ja historia osoittaa, että yritykset hakkeroituvat säännöllisesti.
Vaultaire ei käytä tiliä tai tallennuspalvelua, joka vastaanottaa kuviosi, salaisen lauseesi, salauksenpurkuavaimet tai luettavissa olevan holvin sisällön. Salaus ja salauksen purku tapahtuvat laitteesi sovellusprosessissa. Kun iCloud-varmuuskopiointi on käytössä, sovellus lähettää todennettua salatekstiä yksityiseen CloudKit-tietokantaasi eikä Vaultairen hallitsemaan holvipalveluun.
Mitä nollatietoisuus tarkoittaa käytännössä
Jos lainvalvontaviranomainen toimittaa Vaultairelle haasteen, jossa vaaditaan holvin selkotekstiä, yrityksellä ei ole salauksen purkamiseen tarvittavaa kuviota, palautuslausetta, holvin avainta, varmuuskopioavainta tai pääavainta. Salatut iCloud-tietueet ovat käyttäjän yksityisessä CloudKit-tietokannassa. Laitteella palautusmateriaali säilytetään kuitenkin salatussa Keychain-tietokannassa, ja symmetriset avaimet ovat sovelluksen muistissa, kun CryptoKit salaa tai purkaa avointa holvia.
Tämä toimittajaraja on arkkitehtoninen omaisuus, ei lupaus siitä, että asiakasympäristön jokainen osa on luottamusmallin ulkopuolella. Vaultairella ei ole palvelinpuolen salauksenpurkuavainta, jonka se voi luovuttaa rutiininomaiseen holvin palautukseen. Toimitettu sovellus, iOS, lukitsematon laite ja salaustoteutus voivat silti käsitellä luettavaa tietoa, ja niihin on luotettava vastaavasti.
Vaultairen toimittajaraja poistaa yrityksen hallussa olevan salauksenpurkuavaimen normaalista suunnittelusta. Tämä vähentää sitä, mitä itse Vaultairen rikkominen voi paljastaa. Se ei poista tarvetta luottaa toimitettuun sovellukseen, iOS:ään, laitteen tilaan tai dokumentoidun avainhierarkian toteutukseen. Näitä rajoja tulisi arvioida erikseen sen sijaan, että ne niputettaisiin yhdeksi ehdottomaksi lupaukseksi.
Keychain ja sovellusprosessin raja
Applen Secure Enclave voi suojata tuettuja yksityisiä avaimia ja osallistuu osiin alustan suojausarkkitehtuurista, mutta sen julkiset sovellusliittymät eivät ota vastaan mielivaltaista PBKDF2:lla johdettua symmetristä avainta eivätkä suorita Vaultairen AES-GCM-tiedostotoimintoja apuprosessorin sisällä. Siksi Vaultaire ei kuvaile holvisalaustaan nimellä Secure Enclave AES.
Vaultaire käyttää tavallisia iOS Keychainin yleisiä salasanakohteita satunnaiselle laitesuolalle, salatulle palautustietokannalle ja tietokantaa suojaavalle satunnaiselle avaimelle. Nämä kohteet käyttävät WhenUnlockedThisDeviceOnly-saatavuusluokkaa. Keychain ja Data Protection luovat merkityksellisen laiterajan, varsinkin kun puhelin on lukittu, mutta tämä arkkitehtuuri eroaa Secure Enclaven ei-vietävästä avaimesta.
Kun piirrät kuvion, CommonCrypto johtaa holvin avaimen sovellusprosessissa. CryptoKit ja Vaultairen CryptoEngine käyttävät sitten tässä prosessissa symmetrisiä avaintavuja indeksin todentamiseen ja salauksen purkamiseen, pääavaimen purkamiseen ja tiedostojen käsittelemiseen. Sovellus tyhjentää aktiivisen tilan lukitessaan, mutta riittävän etuoikeutetulla hyökkääjällä, joka tarkkailee lukitsematonta istuntoa, on eri mahdollisuudet kuin tutkijalla, jolla on vain lukitun laitteen salateksti.
Jailbreakattu tai muuten vaarantunut käyttöjärjestelmä voi kohdistaa kuvion syöttöön, sovellusmuistiin, salauksesta purettuihin esikatseluihin, vientiin tai näyttöön. Vaultaire suosittelee ajantasaista iPhonea, jota ei ole jailbreakattu, koska suunnittelu perustuu iOS:n prosessieristykseen, Keychainiin ja Data Protectioniin. Se ei väitä, että pääkäyttäjätason murto jättäisi avoimen holvin symmetriset avaimet saavuttamattomiksi.
Tiedostokohtaiset alustusektorit
Kun salaat kaksi identtistä tiedostoa samalla avaimella, naiiivi toteutus tuottaisi identtistä salatekstiä. Tämä on ongelma. Hyökkääjä, joka näkee kaksi identtistä salattua blobia, tietää, ilman mitään salauksen purkua, että kaksi alkuperäistä tiedostoa ovat samat. Valokuvista täynnä olevassa holvissa tämän kaltainen kaava-analyysi voi paljastaa tietoja jopa salauksen läpi.
Vaultaire estää deterministisen salatekstin luomalla uuden kryptografisen noncen jokaiselle AES-256-GCM-sinetöintitoiminnolle. Tiedostojen otsikot ja sisältö sinetöidään erikseen, ja suuret tiedostot käyttävät todennettua suoratoistomuotoa, jossa on satunnainen perusnonce ja erillinen nonce jokaiselle järjestetylle osalle. Kaksi kopiota samasta valokuvasta eivät siis tuota samaa salattua esitystapaa.
Noncet tallennetaan salatekstin kanssa, eivätkä ne ole salaisia; niiden turvallisuusvaatimus on ainutlaatuisuus tietyn avaimen alla. Vaultaire pyytää 96-bittiset noncet Applen kryptografiselta satunnaisgeneraattorilta kertasalausta varten ja tallentaa perusnonce-arvon suoratoiston otsikkoon. Törmäysriskiä hallitsee yhden avaimen alaisten salausten määrä, joten toteutus luo uuden arvon sen sijaan, että se esittäisi 96-bittisen koon kiinteänä koko elinkaaren takuuna, jonka todennäköisyys on yksi 296:sta.
Muistinhallinta: Aktiivisen avaimen tilan tyhjentäminen
Yleinen epäonnistuminen turvallisuusohjelmistoissa on arkaluonteisen datan jättäminen muistiin sen käyttämisen jälkeen. Salausavaimet, johdetut salasanat ja purettu data voivat jäädä RAM-muistiin kauan sen jälkeen, kun sovellus on lopettanut niiden käyttämisen. Rikosteknisit työkalut voivat tyhjentää laitteen muistin ja etsiä näitä jäämiä, tekniikka, joka tunnetaan kylmäkäynnistyshyökkäyksenä tai muistikaatoanalyysinä.
Vaultaire rajoittaa, kuinka kauan aktiivisen avaimen tila ja salatut käyttöliittymätiedot ovat saatavilla. Kun sovellus lukittuu tai istunto puretaan, sen koodi seuraa useita puhdistuspolkuja:
- Aktiivinen holvin tila pudotetaan. Sovellus poistaa nykyisen holvin avainistunnon ja vaatii toisen lukituksen avaamisen ennen holvin sisällön esittämistä.
- Avaimen kääreet tyhjentävät omistamasi puskurit. Vaultairen suojatut tavusäilöt korvaavat omistamansa puskurit, kun säilöt puretaan.
- Välimuistissa oleva pääavaimen tila mitätöidään. Avointa indeksiä varten pidetty purettu pääavain hylätään asiaankuuluvilla lukitus- ja välimuistin nollauspoluilla.
- Puretut käyttöliittymän välimuistit tyhjennetään Vaultairen ohjaamissa paikoissa. Pikkukuvan ja esikatselun puhdistus vähentää sovelluksen jäännöstilaa väittämättä hallitsevansa jokaista Swiftin, iOS:n tai muun prosessin tekemää kopiota.
Seuraavan kerran kun Vaultaire avautuu lukitussa tilassa, piirrät kuvion ja sovellus johtaa holvin avaimen uudelleen ennen kuin se voi todentaa indeksin ja purkaa pääavaimen. Tämä on istunnon puhdistus, ei väite, että jokainen ohimenevä muistikopio on todistettavasti pyyhitty moninkertaisesti tai että Secure Enclave -avainviittaus tuhottiin. Kaatumisen jälkeen iOS ottaa prosessin takaisin, mutta puhdistuskoodia ei voi suorittaa jokaisen äkillisen lopettamisen jälkeen.
Usein kysytyt kysymykset
Onko AES-256 todella murtamaton?
AES-256 on standardoitu, voimakkaasti analysoitu lohkosalaus. Oikein toteutettuun AES-256-GCM:ään satunnaisella 256-bittisellä avaimella ei tunneta julkisesti käytännöllistä hyökkäystä, mutta se ei tee koko holvista murtamatonta. Tunnistetiedon entropia, PBKDF2:n laskentakustannus, noncen käsittely, avainten säilytys, palautus, laitteen tila ja toteutusvirheet ovat edelleen hyökkäyspolkuja.
Miksi käyttää PBKDF2:ta avainjohdatukseen?
Vaultaire käyttää PBKDF2-HMAC-SHA512:ta CommonCryptin kautta: 600 000 iteraatiota kuvioille ja 800 000 palautuslauseille. Paikallinen kuvion johtaminen käyttää yhtä satunnaista, laitekohtaista suolaa, joka on tallennettu Keychainiin. PBKDF2 nostaa jokaisen arvauksen hintaa, mutta ei lisää entropiaa kuvioon, joten hyökkäysaika riippuu tunnistetiedon vahvuudesta, mitatusta laitteiston nopeudesta ja rinnakkaisuudesta.
Mitä dataa Vaultaire lähettää palvelimilleen?
Vaultairen palvelimet eivät koskaan vastaanota tiedostojasi, kuviotasi tai avaimiasi. Sovellus käyttää neljää palvelutyyppiä. Salattu iCloud-varmuuskopio on oletuksena päällä ja tallentaa salatekstiä yksityiseen iCloud-tiliisi, salattuna laitteellasi avaimella, jota Applella ei ole; voit kytkeä sen pois. Anonyymit käyttö- ja kaatumistiedot menevät oletuksena PostHogiin, ja voit kytkeä ne pois asetuksista. Jos lähetät palautetta, palautepalvelumme vastaanottaa viestisi, valinnaisen vastaussähköpostin, kielesi ja sovelluksen version. Kun analytiikka on päällä, Apple Ads -attribuutiotunniste ja satunnainen asennustunniste kulkevat palvelumme kautta Applelle. Synkronointi ja jakaminen kulkevat Apple CloudKitin kautta, kun käytät niitä.
Voiko jailbreakattu iPhone vaarantaa holvini?
Jailbreak heikentää olennaisesti laiterajaa. Vaultairen AES-GCM-toiminnot suoritetaan sovellusprosessissa CryptoKitin kautta, joten sovelluksen muistissa on symmetrisiä avaintavuja, kun holvi on auki. Pääkäyttäjätason murto voi kohdistua syötteeseen, muistiin, kuvakaappauksiin tai purettuun tulosteeseen. Keychain ja Data Protection lisäävät edelleen esteitä laitteen ollessa lukittuna, mutta Vaultaire ei väitä, että sen AES-avaimet pysyvät eristettyinä Secure Enclavessa.
Miten metatiedot salataan?
Vaultaire ei käytä ChaCha20:tä holvin metatietoihin. Tiedostojen nimet, MIME-tyypit, aikaleimat, pikkukuvatiedot, holvin rakenne ja kääritty pääavain on suojattu AES-256-GCM:n todennetulla salatekstillä. Yhden todennetun rakenteen käyttäminen pitää luottamuksellisuuden ja eheyden tarkistukset yhtenäisinä kaikissa tallennusmuodoissa.
Mitä tapahtuu avaimilleni jos sovellus kaatuu?
iOS palauttaa lopetetun prosessin, ja seuraava käynnistys vaatii uuden lukituksen avaamisen, ennen kuin Vaultaire palauttaa aktiivisen avaimen tilan. Vaultaire ei luo istuntokohtaisia Secure Enclave AES -viitteitä. Vaikka sen avainkääreet tyhjentävät puskurinsa vapautuksen yhteydessä ja lukituspolut pudottavat aktiivisen tilan, Swift ja iOS eivät anna perustetta taata, että jokainen ohimenevä kopio kirjoitettiin päälle ennen kaatumista.
Näe pino toiminnassa
Todennettu salaus, kerrostetut avaimet, kallis johtaminen, eikä palveluntarjoajan hallussa olevaa holviavainta. Lataa Vaultaire käyttääksesi tässä kuvattua arkkitehtuuria, jonka laite- ja tunnistetietorajat kerrotaan suoraan.
Lataa Vaultaire ilmaiseksi