Kuviosalaus: Kuinka muodon piirtäminen suojaa tiedostosi
Piirrät kuvion sormella. PBKDF2 muuttaa eleen holvin avaimeksi, joka avaa erillisen satunnaisen avaimen; se suojaa tiedostojasi AES-256-GCM:llä. Ei salasanakenttää, ei lyhyttä PIN-koodia. Vain kuviosi ja tarkoituksella kerroksittainen avainhierarkia.
Vaultaire sarjoittaa 5×5-ruudukolle piirretyn muodon ja käsittelee sen PBKDF2-HMAC-SHA512:lla, 600 000 iteraatiolla ja iOS:n Keychainiin tallennetulla laitekohtaisella suolalla. 256-bittinen tulos on holvin avain: se salaa holvin indeksin ja purkaa erillisen satunnaisen pääavaimen, jota AES-256-GCM käyttää tiedostojen sisältöön ja metatietoihin.
Mitä kuviosalaus on?
Useimmat holvisovellukset piiloutuvat PIN-koodin tai salasanan taakse. Kirjoitat neljä numeroa ja valokuvasi ilmestyvät. Kuulostaa riittävän turvalliselta, eikö?
Ongelma on tässä: nelinumeroisessa PIN-koodissa on tarkalleen 10 000 mahdollista yhdistelmää. Tietokone voi kokeilla jokaisen niistä alle sekunnissa. Kuusi numeroa? Miljoona yhdistelmää. Silti triviaali nykylaitteistolle. Jopa kahdeksan merkin salasana, jos se käyttää vain pieniä kirjaimia, antaa noin 200 miljardia mahdollisuutta. Se kuulostaa paljolta, kunnes huomaat, että tavallinen kannettava pystyy testaamaan miljardeja salasanatiivisteitä sekunnissa.
Kuvion salaus ottaa täysin erilaisen lähestymistavan. Sen sijaan, että kirjoittaisit merkkejä laatikkoon, piirrät geometrisen muodon pisteruudukon poikki. Tietystä jäljittämästäsi polusta – mitä pisteitä kosketat, missä järjestyksessä ja millä geometrialla – tulee syöte salasanapohjaiseen avaimen johtamistoimintoon. Käyttöliittymä ei pelkästään tarkista tulosta: tuloksen on avattava todennettu salattu indeksi ja sen sisällä oleva satunnainen pääavain.
Erotuksella on väliä. Kun syötät PIN-koodin joihinkin sovelluksiin, sovellus tarkistaa vain, oletko kirjoittanut oikean numeron. Jos kirjoitit, se avautuu, vaikka tiedostoja suojaisi lähinnä pääsynhallinta. Vaultaire sen sijaan syöttää piirretyn kuvion PBKDF2:lle, joka johtaa 256-bittisen holvin avaimen. Tämän avaimen on todennettava ja purettava holvi-indeksi ennen kuin se voi purkaa tiedostoissa käytetyn satunnaisen pääavaimen. Tuntematon kuvio näytetään tyhjänä holvina, mutta taustalla AES-GCM-todennus erottaa silti oikean avaimen väärästä.
PIN-pohjainen sisäänkäyntiportti voi olla kuin lukittu ovi, joka asetetaan muuten luettavien tiedostojen eteen. Vaultairen kuvio on lähempänä kassakaapin yhdistelmää: se johtaa avaimen, joka avaa salatun indeksin, joka puolestaan vapauttaa sisältöä suojaavan erillisen avaimen. Käyttöliittymä ei voi yksinkertaisesti ohittaa tätä salausketjua.
Kuinka se toimii vaihe vaiheelta
Tässä on mitä tapahtuu siitä hetkestä, kun sormesi koskettaa näyttöä, siihen hetkeen kun tiedostosi muuttuvat lukemattomiksi kaikille muille.
Vaihe 1: Piirrät kuviosi
Vaultaire esittelee 5 × 5 -pisteruudukon. Piirrät jatkuvan polun, joka yhdistää vähintään 6 pistettä vähintään yhdellä suunnanvaihdolla. Sovellus tallentaa tarkalleen, missä pisteissä kävit ja missä järjestyksessä. Tämä jono on kuviosi.
Toisin kuin Android-lukitusnäytöissä yleisesti käytetyt 3 × 3 -ruudukot, Vaultaire käyttää 5 × 5 -ruudukkoa. Tämä ei ole kosmeettinen valinta. 25 asentoa mahdollistaa paljon enemmän polkuja, risteyksiä, ohituksia ja suunnanmuutoksia kuin yhdeksän sijaintia. Suurempi teoreettinen tila auttaa, mutta todellinen turvallisuus riippuu silti valitsemasi polun arvaamattomuudesta. Tuttu kirjain tai yksinkertainen muoto jää arvattavaksi, vaikka ruudukko voi ilmaista miljardeja vaihtoehtoja.
Vaihe 2: Kuviosta johdetaan holvin avain
Piirtämäsi kuvio sarjoitetaan yhdessä ruudukon koon kanssa ja syötetään funktiolle PBKDF2 (Password-Based Key Derivation Function 2) yhdessä HMAC-SHA512:n, 600 000 iteraation ja satunnaisen laitekohtaisen suolan kanssa. Suola on ei-salainen arvo, joka on tallennettu iOS:n Keychainiin WhenUnlockedThisDeviceOnly-kohteena. Se sitoo paikallisen johtamisen laitteeseen; se ei ole holvikohtainen eikä lisää entropiaa ihmisen valitsemaan kuvioon.
Avaimen johtamisprosessi on tarkoituksella kallis. PBKDF2 suorittaa 600 000 HMAC-SHA512-iteraatiota jokaiselle ehdokaskuviolle, mikä nostaa arvaushyökkäyksen kustannuksia. Tämä ei muuta matalan entropian kuviota 256 bitin suojaukseksi, ja hyökkäysaika riippuu hyökkääjän laitteistosta. Sen tarkoitus on suppeampi ja mitattavissa: tehdä jokaisesta arvauksesta huomattavasti kalliimpi kuin yksinkertainen tiiviste.
Vaihe 3: Tiedostosi salataan
Kun holvi luodaan ensimmäisen kerran, Vaultaire luo satunnaisen 256-bittisen pääavaimen. Kuviosta johdettu holvin avain salaa indeksin ja käärii pääavaimen; se ei salaa jokaista tiedostoa suoraan. Pääavainta käytetään AES-256-GCM:n kanssa tiedostojen otsikoihin, sisältöön, pikkukuviin ja niihin liittyviin metatietoihin. Tuoreet noncet varmistavat, että toistuva selkoteksti ei tuota toistuvaa salatekstiä samalla avaimella.
GCM-tila lisää tärkeän kerroksen: todentamisen. Se ei vain sekoita dataasi, vaan myös luo tunnisteen, joka havaitsee mahdollisen peukaloinnin. Jos edes yksi bitti salatusta tiedostosta muuttuu, salauksen purku epäonnistuu. Kukaan ei pysty peukaloimmaan tiedostojasi ilman, että huomaat sen.
Vaihe 4: Aktiivisen avaimen tila tyhjennetään
Kun Vaultaire lukittuu, se tyhjentää aktiivisen holvin ja pääavaimen tilan ja vaatii toisen avausseremonian ennen tiedostojen näyttämistä uudelleen. Kun holvi on auki, nämä symmetriset avaintavut ovat väistämättä sovellusprosessissa, jotta CryptoKit voi suorittaa AES-GCM-toiminnot. Vaultaire säilyttää myös palautustiedot, kuten kuvion ja lauseella salatun palautuskuoren, AES-GCM-salatussa tietokannassa, joka on tallennettu iOS:n Keychainiin. Se eroaa olennaisesti väittämästä, että kuviota ja jokaista avainkopiota ei ole tallennettu missään.
Taustalla oleva matematiikka (selkokielellä)
Et tarvitse tietotekniikan tutkintoa ymmärtääksesi, miksi tämä toimii. Turvallisuus perustuu kolmeen lukuun: kuinka monta kuviota on mahdollista, kuinka kauan jokainen arvaus kestää ja kuinka monta arvausta hyökkääjä pystyy tekemään.
Entropia: arvaamattomuuden mitta
Entropia on hieno sana ilmaisulle “kuinka vaikea tämä on arvata”. Kolikon heitolla on 1 bitin entropia (kaksi tulosta). Nelinumeroisella PIN-koodilla on noin 13 bitin entropia (10 000 tulosta). Hyvin valittu kuvio 5×5-ruudukossa yhdistäen 8 tai enemmän pistettä voi ylittää 30 bitin entropian: yli miljardi mahdollista kuviota.
Kuvion entropia asettaa katon arvaushyökkäykselle. PBKDF2 ei voi luoda entropiaa, jota ele ei sisällä, mutta se voi tehdä kunkin ehdokkaan testaamisesta paljon kalliimpaa.
Avainjohdatus: arvauksista kallista
PBKDF2 ottaa sarjoitetun kuvion ja suorittaa 600 000 HMAC-SHA512-kierrosta. Hyökkäysarvioissa on käytettävä arvaavan laitteiston mitattua kustannusta: kun yksi kokonainen ehdokas vie tasan 1 ms, 1 000 000 000 ehdokasta vie 1 000 000 s eli noin 11,6 päivää yhdellä laskentayksiköllä. Hitaammin mitattu ehdokaskustannus lisää tätä aikaa; rinnakkainen laitteisto vähentää sitä. 256-bittinen tulospituus ei muuta kuvioiden hakuavaruuden kokoa.
Laitekohtainen suola tallennetaan Keychainiin, eikä sitä ole suunniteltu salaiseksi. Keychain ja iOS:n tietosuoja voivat vaikeuttaa sen poimimista laitteen takavarikointitilanteessa, mutta salausanalyysissä on oletettava, että salatut tiedostot hankkiva tutkija voi myös saada suolan. Suola estää esilaskennan laitteiden välillä; se ei korvaa vahvaa kuviota.
AES-256: julkinen, perusteellisesti tutkittu standardi
AES-256 on vahva, standardinmukainen salain, jonka NIST julkaisi FIPS 197 -standardina. “256” viittaa avaimen pituuteen biteissä. 256-bittisellä avaimella on 2256 mahdollista arvoa, aivan liian monta raa'alla voimalla kokeiltavaksi. Hyökkääjä hyökkää siksi kuviota vastaan, ja siksi Vaultaire vahvistaa sitä 600 000 PBKDF2-iteraatiolla.
AES-256:n turvallisuus ei riipu algoritmin pitämisestä salassa. Koko järjestelmää ei kuitenkaan suojaa pelkkä AES-avainavaruus: käytännön arvausraja tulee kuvion entropiasta, PBKDF2:n työmäärästä sekä laitesuolan ja salatun tallennustilan suojauksesta. AES-256-GCM tarjoaa vahvan todennetun salauksen, kun oikea satunnainen pääavain on avattu.
Miksi kukaan ei pysty murtamaan sitä
Tarkastellaan tärkeimpiä tapoja, joilla joku saattaa yrittää päästä käsiksi salattuihin tiedostoihisi, mitä Vaultaire tekee kustannusten nostamiseksi ja missä rajat kulkevat.
Raa'an voiman hyökkäys: kaikkien kuvioiden kokeileminen
PBKDF2 pakottaa jokaisen ehdokaskuvion kohdalla 600 000 HMAC-SHA512-iteraatiota. Se on mielekäs puolustus, mutta ei lupaus kiinteästä vuosimäärästä: tulos riippuu kuvion valinnasta, mitatusta johtamisnopeudesta, rinnakkaisuudesta ja siitä, onko tutkija ottanut talteen laitesuolan. Pidemmät, vähemmän ennustettavat polut ovat tärkeitä, koska PBKDF2 nostaa arvauskustannuksia eikä luo uutta entropiaa.
Tahrousanalyysi: näytön lukeminen
3×3-ruudukolla näytön tahrat voivat kaventaa mahdolliset kuviot merkittävästi. 5×5-ruudukolla tahrausmalli paljastaa, mitä pisteitä on koskettu, mutta ei järjestystä, suuntaa tai niiden välisiä yhteyksiä. Kombinatorinen räjähdys tekee tästä lähestymistavasta epäkäytännöllisen.
Olkapää-urkinta: katsominen piirtämisen aikana
Nopeasti pienellä puhelimen näytöllä piirretyt kuviot ovat äärimmäisen vaikea muistaa havainnoimalla, erityisesti 5×5-ruudukolla. Tutkimukset osoittavat, että tarkkailijoilla on paljon vaikeampaa jäljentää monimutkaisia kuvioita verrattuna PIN-koodin tai salasanan kuulemiseen ääneen lausuttuna.
Laitteen takavarikointi: puhelimen ottaminen
Jos joku ottaa puhelimesi, Vaultairen tiedostosisältö ja indeksit pysyvät AES-GCM-salatekstinä, kunnes tarvittavat avaimet ovat saatavilla. Sovellus ei tallenna perinteistä salasanan todentajatietuetta, mutta se ei poista offline-vahvistusta. Jokaisen salatun holvi-indeksin tiedostonimi sisältää holvin avaimen katkaistun tiivisteen, ja AES-GCM:n todennettu salauksen purku myös onnistuu tai epäonnistuu ehdokasavaimella. Laitteen suojaus ja kuvion vahvuus ovat siksi osa uhkamallia.
Erillistä salasanan tiivistettä ei vaadita arvauksen testaamiseen todennettua salatekstiä vastaan. Vaultairen AES-GCM-tunnisteet antavat erittäin luotettavan onnistumis- tai epäonnistumistuloksen, ja indeksitiedoston nimi tarjoaa halvemman alustavan tarkistuksen. Puolustus on tunnistetiedon kustannus ja arvaamattomuus sekä iOS:n paikallisen materiaalin suojaus, ei varmennusoraakkelin puuttuminen.
Vahvan kuvion valitseminen
Salaus on vain niin vahva kuin valitsemasi kuvio. Näin maksimoit turvallisuutesi minimaalisella vaivalla.
Mikä tekee kuviosta vahvan
- Käytä enemmän pisteitä. Yhdistä vähintään 8 25 käytettävissä olevasta pisteestä. Jokainen lisäpiste moninkertaistaa mahdollisten kuvioiden määrän.
- Ylitä oma polkusi. Kuviot, jotka palaavat takaisin, ohittavat pisteitä tai muuttavat suuntaa odottamattomasti, ovat paljon vaikeampia toistaa muistista tai havainnoimalla.
- Vältä ilmeisiä muotoja. Kirjaimet (L, Z, S), yksinkertaiset geometriset muodot (neliöt, kolmiot) ja suorat viivat ovat ensimmäisiä asioita, joita hyökkääjä kokeilisi.
- Käytä koko ruudukkoa. Kuviot, jotka pysyvät yhdessä nurkassa tai yhden reunan varressa, tuhlaavat käytettävissä olevaa entropiaa. Levitä.
Mitä välttää
- Vähimmäispituiset kuviot. Vaultaire vaatii vähintään 6 pistettä ja yksi suunnanmuutos, mutta minimin täyttäminen ei tee polusta arvaamatonta. Käytä enemmän ruudukkoa, kun muistat tuloksen luotettavasti.
- Yksinkertaiset geometriset muodot. L-muoto, siksak tai suora diagonaali ovat kuvioiden vastaavuus ilmaisulle “password123”.
- Aloittaminen aina samasta nurkasta. Android-lukituskuvioita koskeva tutkimus osoittaa, että useimmat ihmiset aloittavat vasemmasta yläpisteestä. Hyökkääjät tietävät tämän.
Kultainen keskitie
Kuvio, jossa on 8-12 pistettä vähintään kahdella suunnanmuutoksella, tarjoaa erinomaisen turvallisuuden pysyen silti helposti muistettavana lihasmuistin avulla. Sinun ei tarvitse opetella sitä ulkoa kuin salasana: kätesi muistaa liikkeen samoin kuin se muistaa allekirjoituksesi kirjoittamisen.
Miksi voit tuntea olosi turvalliseksi
Vaultairen kuvion salaus ei ole vain kauniimpi PIN-koodi. Ele käsitellään oikealla avaimenjohtamisfunktiolla, ja sen on avattava todennetusti salattu data. Sen vahvuus riippuu silti valitsemastasi eleestä, joten Vaultaire yhdistää suuremman ruudukon suureen PBKDF2-työmäärään sen sijaan, että esittäisi 256-bittisen tulospituuden 256 bittinä ihmisen salaisuuden entropiaa.
Kuviotasi ja paikallista holvin avainta ei lähetetä Vaultairelle. Kun varmuuskopiointi on päällä, kuten oletuksena, erillinen kuviosta johdettu varmuuskopioavain salaa CloudKit-tietueet, ja salatun palautusluettelon avulla palautuslause palauttaa holvin avaimen ja varmuuskopioavaimen. Vaultairella ei ole palveluntarjoajan avainta, joka purkaisi näiden tietueiden salauksen, mutta laite ja palautustunnistetiedot ovat edelleen rakenteen turvallisuuskriittisiä osia.
Piirrät muodon. Kyseinen muoto suojaa tiedostosi. Matematiikka hoitaa loput.
Usein kysytyt kysymykset
Mitä tapahtuu jos unohdan kuvioni?
Kun luot holvin, Vaultaire luo oman yhdeksän sanan palautuslauseen. PBKDF2 johtaa lauseesta palautusavaimen, joka avaa holvin avaimen sisältävän salatun kuoren. Jos menetät sekä kuvion että palautuslauseen, Vaultairella ei ole palvelinpuolen avainta, joka voi palauttaa holvin.
Onko kuvio todella turvallisempi kuin salasana?
Hyvin valittu kuvio 5×5-ruudukossa voi vastata tai ylittää tyypillisen salasanan entropian. Etuna on käytettävyys: ihmiset valitsevat heikkoja salasanoja, koska vahvoja on vaikea muistaa. Kuviot hyödyntävät lihasmuistia, minkä ansiosta monimutkaisen kuvion käyttäminen on luontevaa ilman tietoista ulkoa opettelua.
Voiko joku ottaa kuvakaappauksen tai nauhoittaa kuvioni?
Vaultaire suojaa kuvioruudukkoa kuvakaappauksilta parhaansa mukaan ja reagoi, kun iOS ilmoittaa käynnissä olevasta näytön tallennuksesta. iOS ei tarjoa julkista suojatun näytön lippua mielivaltaiselle sovellussisällölle, joten nämä ohjaimet vähentävät vahingossa tapahtuvaa sieppausta, mutta eivät voi taata, että kaikki tallennusmenetelmät estetään.
Mitä salausalgoritmia Vaultaire käyttää?
Vaultaire käyttää PBKDF2-HMAC-SHA512 600 000 iteraatiolla holvin avaimen johtamiseksi kuviosta ja laitekohtaisesta Keychain-suolasta. Tämä holvin avain salaa holvin indeksin ja käärii satunnaisen 256-bittisen pääavaimen. AES-256-GCM suojaa pääavaimella tiedoston sisältöä, otsikoita, metatietoja ja pikkukuvia todennetulla salauksella.
Tallennetaanko kuvio laitteelleni?
Vaultaire tallentaa palautustiedot, myös kuvion, AES-GCM-salattuun palautustietokantaan, jota säilytetään iOS:n Keychainissa. Kuviota ei lähetetä Vaultairelle tai tallenneta tekstitiedostoihin. Kun holvi on auki, sovellusprosessissa on avaintavuja; lukitus pudottaa Vaultairen aktiivisen avaintilan.
Pystyykö Vaultaire käyttämään salattuja tiedostojani?
Vaultaire ei tarjoa palvelua, joka vastaanottaa kuviosi, palautuslauseesi, salauksenpurkuavaimet tai luettavissa olevan holvin sisällön. Salatut iCloud-varmuuskopiot pysyvät yksityisessä CloudKit-tietokannassasi. Tämä palveluntarjoajan raja ei suojaa avointa holvia vaarantuneelta sovelluksen koontiversiolta, käyttöjärjestelmältä tai laitteelta.
Kokeile kuviosalausta
Piirrä ensimmäinen kuviosi ja koe, miltä tuntuu kun tiedostosi ovat todella suojattuja.
Lataa Vaultaire ilmaiseksi