AES-256-salaus selitettynä: mitä se tarkoittaa datallesi
AES-256 selitettynä: miten salausalgoritmi toimii, miksi 256-bittiset avaimet ovat tärkeitä, mitä GCM-tila lisää ja mitä tarkistaa, kun appi väittää käyttävänsä AES-256-salausta.
Mikä on AES-256?
AES-256 on symmetrinen lohkosalain: Advanced Encryption Standard 256-bittisellä avaimella. Sama avain sekä salaa että purkaa. Se käsittelee dataa 128-bittisinä lohkoina 14 kierroksen ajan, ja NIST standardoi sen nimellä FIPS 197 vuonna 2001.
Nimessä on kolme tosiasiaa päällekkäin. AES nimeää algoritmin, jonka NIST valitsi vuonna 2001 Rijndael-ehdotuksesta. 256 on avaimen pituus bitteinä, ja se määrää, kuinka monta avainta raa'an voiman hyökkääjän on kokeiltava. Toimintatila, kuten GCM tai CBC, joka kirjoitetaan yleensä nimen perään muodossa AES-256-GCM, ratkaisee, miten lohkot ketjutetaan ja tarkistetaanko salateksti peukaloinnin varalta. Pelkkä AES-256 kertoo salausalgoritmin ja avaimen koon. Se ei kerro tilaa, eikä se kerro, kenellä avain on.
AES-256 on Advanced Encryption Standard 256-bittisellä avaimella, jonka NIST standardoi nimellä FIPS 197 vuonna 2001. Se on symmetrinen salausalgoritmi, jota Yhdysvaltain hallinto käyttää turvaluokitellulle tiedolle, pankit rahoitustapahtumille ja tietoturvaan keskittyvät sovellukset levossa ja siirrossa olevan datan suojaamiseen. AES-256:ssa on 2^256 mahdollista avainta, mikä on enemmän kuin havaittavan maailmankaikkeuden atomien arvioitu määrä. Mikään tunnettu hyökkäys ei pienennä tätä avainavaruutta laskennallisesti toteutettavaksi hauksi.
Tämä opas selittää, mitä AES-256 oikeasti tekee, miksi avaimen koko on tärkeä, mitä eri tilat tarkoittavat (ECB, CBC, GCM) ja mitä etsiä, kun appi väittää käyttävänsä AES-256-salausta.
Mitä AES oikeasti tekee
AES on symmetrinen lohkosalain. "Symmetrinen" tarkoittaa, että sama avain salaa ja purkaa. "Lohkosalain" tarkoittaa, että se käsittelee dataa kiinteän kokoisina 128 bitin (16 tavun) lohkoina.
Algoritmi ottaa datasi (selväkielinen teksti), yhdistää sen avaimeen ja tuottaa sekoitetun tuloksen (salateksti) matemaattisten muunnosten sarjalla. Nämä muunnokset (korvaus, siirto, sekoitus ja avaimen lisäys) toistuvat kiinteän määrän kierroksia. AES-256 käyttää 14 kierrosta.
Jokainen kierros tekee neljä operaatiota:
- SubBytes: Jokainen tavu korvataan kiinteän korvaustaulukon (S-box) avulla, mikä tuo epälineaarisuutta.
- ShiftRows: Kunkin rivin tavuja siirretään eri määrillä, mikä levittää dataa eri kohtiin.
- MixColumns: Sarakkeet sekoitetaan matriisikertolaskulla äärellisessä kunnassa, mikä levittää muutokset tavujen yli.
- AddRoundKey: Kierrosavain (johdettu pääavaimesta) yhdistetään dataan XOR-operaatiolla.
14 kierroksen jälkeen selväkielinen teksti on perusteellisesti sekoitettu. Operaatioiden kääntäminen oikealla avaimella palauttaa alkuperäisen datan. Ilman avainta salatekstiä ei voi erottaa satunnaisesta kohinasta.
Miksi 256 bittiä on tärkeää
AES-256:n "256" viittaa avaimen pituuteen: 256 bittiä. Se määrää, kuinka monta mahdollista avainta hyökkääjän on kokeiltava murtaakseen salauksen raa'alla voimalla.
| Avaimen koko | Mahdolliset avaimet | Raa'an voiman aika (biljoona arvausta sekunnissa) |
|---|---|---|
| 56-bittinen (DES) | 7,2 x 10^16 | ~20 tuntia |
| 128-bittinen (AES-128) | 3,4 x 10^38 | 10^13 vuotta (10 biljoonaa vuotta) |
| 256-bittinen (AES-256) | 1,16 x 10^77 | 10^51 vuotta |
Vertailun vuoksi: maailmankaikkeus on noin 1,38 x 10^10 vuotta vanha. AES-256:n murtaminen raa'alla voimalla kestäisi noin 10^41 kertaa maailmankaikkeuden iän, vaikka arvauksia tehtäisiin biljoona sekunnissa.
AES-128:n murtaminen raa'alla voimalla on jo laskennallisesti mahdotonta. AES-256 antaa lisämarginaalia tulevia laskennan edistysaskelia, myös kvanttilaskentaa, vastaan. Groverin algoritmi (kvanttilaskentahyökkäys) käytännössä puolittaa avaimen pituuden, jolloin AES-256 vastaa AES-128:aa, mikä on edelleen mahdotonta murtaa. AES-128 putoaisi 64-bittiseen teholliseen tietoturvaan, joka on mahdollisesti haavoittuva. Siksi tietoturvakriittiset sovellukset suosivat AES-256:ta.
AES-tilat: miksi niillä on väliä
AES yksinään salaa vain yhden 128-bittisen lohkon kerrallaan. Todelliselle datalle (kuvat, asiakirjat, videot) tarvitaan "toimintatila", joka käsittelee yli 16 tavun datan. Tila määrää, miten lohkot ketjutetaan, ja sillä on merkittäviä tietoturvavaikutuksia.
ECB (Electronic Codebook): älä käytä
Jokainen lohko salataan erikseen samalla avaimella. Identtiset selväkieliset lohkot tuottavat identtiset salatut lohkot. Tämä vuotaa datan kuvioita. Klassinen esimerkki: bittikarttakuvan salaaminen ECB:llä säilyttää kuvan rakenteen salatekstissä, joten sisällön voi tunnistaa. ECB kuuluu standardiin, mutta sitä ei pidä koskaan käyttää datalle, jossa on rakennetta tai toistuvia kuvioita (eli käytännössä kaikelle todelliselle datalle).
CBC (Cipher Block Chaining): vanhentunut
Jokainen lohko yhdistetään XOR-operaatiolla edelliseen salattuun lohkoon ennen salausta. Tämä poistaa ECB:n kuviovuodon. CBC oli vuosikymmeniä vakiotila, mutta GCM on korvannut sen useimmissa sovelluksissa. CBC vaatii satunnaisen alustusvektorin (IV) eikä tarjoa sisäänrakennettua todennusta (et voi havaita, onko salatekstiä peukaloitu).
GCM (Galois/Counter Mode): nykyinen standardi
GCM yhdistää laskuritilan salauksen Galois-kunnan todennukseen. Se tarjoaa todennetun salauksen: se salaa datan JA tuottaa todennustunnisteen, joka havaitsee kaikki salatekstin muutokset. Jos yksikin bitti muuttuu, purku epäonnistuu sen sijaan, että tuottaisi vioittunutta selväkielistä dataa.
NIST standardoi GCM:n julkaisussa SP 800-38D (2007). Se on suositeltu tila uusiin toteutuksiin.
AES-256-GCM on AES 256-bittisellä avaimella Galois/Counter-tilassa. Tätä tietoturvakriittisten sovellusten pitäisi käyttää, ja tätä Vaultaire käyttää kuvien ja tiedostojen sisällön salaamiseen.
| Tila | Kuviovuoto | Todennus | Nykyinen suositus |
|---|---|---|---|
| ECB | Kyllä (vakava) | Ei | Älä käytä |
| CBC | Ei | Ei (vaatii erillisen MAC:n) | Vanhentunut; hyväksyttävä HMAC:n kanssa |
| GCM | Ei | Kyllä (sisäänrakennettu) | Suositeltu uusiin toteutuksiin |
Mitä AES-256 tarkoittaa kuvien tallennukselle
Kun kuvaholviappi väittää käyttävänsä "AES-256-salausta", kolmen asian pitäisi pitää paikkansa:
Tiedostojen sisältö salataan AES-256:lla. Kuvan raakadata (pikselit, metatiedot, pikkukuva) muunnetaan salatekstiksi 256-bittisellä avaimella.
Jokainen tiedosto käyttää yksilöllistä alustusvektoria (IV). Jos kaksi identtistä kuvaa salataan samalla avaimella, salatekstien pitäisi erota. Tämä vaatii tiedostokohtaisen IV:n. Ilman sitä tilastollinen analyysi voi paljastaa kuvioita.
Tila tarjoaa todennuksen (GCM tai vastaava). Ilman todennusta hyökkääjä voisi muuttaa salatekstiä huomaamatta. Purettu tulos olisi vioittunutta dataa eikä virhe.
Mitä markkinointisivun "AES-256" ei kerro
AES-256 on välttämätön mutta ei riittävä. Useat kriittiset tekijät ratkaisevat, suojaako salaus datasi todella:
Avaimen johtaminen on tärkeää. Miten 256-bittinen avain luodaan? Jos se johdetaan 4-numeroisesta PIN-koodista heikolla KDF:llä, tehollinen tietoturva on 4 numeroa (10 000 yhdistelmää), ei 256 bittiä. Vahva toteutus käyttää PBKDF2:ta suurella iteraatiomäärällä tai Argon2:ta sopivilla muisti- ja aikaparametreilla. Vaultaire käyttää PBKDF2:ta HMAC-SHA512:lla ja 600 000 iteraatiota johtaakseen paikallisen holviavaimen valitusta 5x5-kuviosta ja laitteen suolasta. PBKDF2 tekee jokaisesta arvauksesta kalliimman; se ei nosta kuvion entropiaa 256 bittiin.
Avaimen säilytys on tärkeää. Missä avain on? Jos avain on tallennettu selväkielisenä apin hiekkalaatikkoon, tiedostoihin pääsevä haittaohjelma voi lukea sen. Applen Secure Enclave tukee tiettyjä ei-vietäviä avainoperaatioita, ei mielivaltaisia apin antamia AES-avaimia. Symmetrisen avaimen ratkaisut voivat sen sijaan nojata Avainnippuun ja Data Protectioniin, joten dokumentaation pitää nimetä tarkka API ja suojausluokka eikä sanoa vain "laitteistotuettu".
Sillä, mitä salataan, on väliä. Jotkin apit salaavat tiedostojen sisällön mutta jättävät tiedostonimet, pikkukuvat ja metatiedot salaamatta. Forensinen tutkija ei ehkä näe kuvaasi, mutta hän näkee tiedostoluettelossa nimen "vacation-beach-2025.jpg". Kattava salaus kattaa myös metatiedot erikseen.
Avaimen elinkaari on tärkeä. Kuinka kauan purettu avainmateriaali on saatavilla? Vaultaire hylkää aktiivisen holvin ja pääavaimen tilan, kun se lukittuu tai suljetaan, ja vaatii uuden avauksen. Symmetriset avaintavut ovat väistämättä apin muistissa holvin ollessa auki, eivätkä Swift ja iOS anna apin todistaa, että jokainen väliaikainen kopio on ylikirjoitettu.
AES-256 käytännössä: kuka sitä käyttää
| Toimija | Käyttötapaus | Tila |
|---|---|---|
| Yhdysvaltain hallinto (NSA) | Turvaluokiteltu tieto | GCM (tai CTR erillisellä todennuksella) |
| Apple (iCloud ADP) | iCloudin päästä päähän -salaus | GCM |
| Signal | Viestien salaus | CBC (HMAC todennukseen) |
| Pankit | Rahoitustapahtumien salaus | GCM |
| 1Password | Salasanaholvi | GCM |
| Vaultaire | Kuva- ja tiedostoholvi | GCM |
| VeraCrypt | Levyn salaus | XTS (optimoitu levylohkoille) |
Yleiset väärinkäsitykset
"Sotilastason salaus" ei tarkoita mitään tiettyä. Markkinointisivut käyttävät ilmausta, koska se kuulostaa vaikuttavalta. Armeijat käyttävät AES-256:ta. Ne käyttävät myös AES-128:aa. Ilmaus ei kerro tilaa, avaimen johtamista, avaimen säilytystä eikä sitä, mitä dataa oikeasti salataan.
"256-bittinen salaus" ei välttämättä tarkoita AES-256:ta. Muutkin salausalgoritmit käyttävät 256-bittisiä avaimia (ChaCha20, Twofish, Serpent). Tarkista, mikä algoritmi on määritetty. AES-256-GCM on nykyinen standardi.
AES-256 ei suojaa heikolta salasanalta. Jos salasanasi on "1234" ja avaimen johtaminen on heikko, salaus on käytännössä 4 numeron tasoa salausalgoritmin vahvuudesta riippumatta. Ketju katkeaa heikoimmasta lenkistä.
AES-256 ei suojaa käytössä olevaa dataa. Kun katsot kuvaa, se on purettava muistiin. Sillä hetkellä se on selväkielisenä RAM-muistissa. Kunnolliset toteutukset minimoivat tämän ikkunan ja pyyhkivät puretun datan nopeasti.
Usein kysytyt kysymykset
Mitä AES-256 tarkoittaa?
Advanced Encryption Standard 256-bittisellä avaimella. AES on salausalgoritmi, jonka NIST standardoi nimellä FIPS 197 vuonna 2001 valittuaan Rijndael-rakenteen. 256 on avaimen pituus bitteinä. Pääte, kuten AES-256-GCM, lisää toimintatilan, joka on eri valinta kuin salausalgoritmi ja avaimen koko.
Voiko AES-256:n murtaa?
Mikään tunnettu hyökkäys ei murra AES-256:ta pienentämällä koko avainavaruutta. Paras tunnettu hyökkäys (Bogdanovin, Khovratovichin ja Rechbergerin biclique-hyökkäys vuodelta 2011) pienentää AES-256:n 2^256 operaatiosta 2^254.4:ään. Se on teoreettinen parannus, joka on käytännössä laskennallisesti merkityksetön. AES-256 on edelleen murtamaton.
Kestääkö AES-256 kvanttitietokoneita?
Olennaisesti kyllä. Groverin kvanttialgoritmi puolittaa tehollisen avaimen pituuden: AES-256 vastaa kvanttihyökkäyksiä vastaan 128-bittistä tietoturvaa. AES-128 putoaisi 64-bittiseen teholliseen tietoturvaan, joka on mahdollisesti haavoittuva. Grover-haku AES-256:ta vastaan vaatisi edelleen noin 2^128 operaatiota, mikä ei ole käytännöllistä.
Mikä ero on AES-128:lla ja AES-256:lla?
AES-128 käyttää 128-bittistä avainta (10 kierrosta). AES-256 käyttää 256-bittistä avainta (14 kierrosta). Molempia pidetään turvallisina nykyisiä hyökkäyksiä vastaan. AES-256 antaa suuremman marginaalin tulevia edistysaskelia, erityisesti kvanttilaskentaa, vastaan. AES-256 on lisäkierrosten vuoksi noin 40 % hitaampi kuin AES-128, mutta laitteistokiihdytys tekee erosta merkityksettömän nykylaitteissa.
Hidastaako AES-256-salaus puhelintani?
Ei huomattavasti tavallisessa käytössä. Applen nykyiset suorittimet tarjoavat AES:lle laitteistokiihdytyksen järjestelmän kryptografiakirjastojen kautta. Se ei tarkoita, että apin AES-operaatio ajetaan Secure Enclavessa. Aika riippuu silti tiedoston koosta, laitteesta, tallennustilasta ja toteutuksesta, joten tietoturvaväitteen pitää nojata mittauksiin eikä yleiseen millisekuntilukuun.
Mistä tiedän, käyttääkö appi oikeasti AES-256:ta?
Tarkista apin tietoturvadokumentaatio, älä vain markkinointisivua. Etsi tarkka algoritmi ja tila, avainhierarkia, johtamisparametrit, Avainnipun tai Secure Enclaven tarkka käyttö, nonce-arvojen käsittely, palautuspolku ja se, salataanko myös metatiedot. Avoin lähdekoodi ja riippumattomat auditoinnit helpottavat näiden väitteiden tarkistamista.
Yhteenveto
AES-256 on laajalti käytetty symmetrinen salausalgoritmi, jonka NIST on standardoinut ja johon ei tunneta käytännöllistä hyökkäystä; Groverin algoritmia ajava kvanttitietokone kohtaisi edelleen noin 2^128 työn. Kun arvioit AES-256-salausta väittäviä appeja, katso salausalgoritmin ohi: tarkista tila (GCM), avaimen johtaminen (PBKDF2 tai Argon2 suurella iteraatiomäärällä), avaimen säilytys (laitteistotuettu) ja mitä dataa oikeasti salataan (sisältö ja metatiedot).
Vaultaire käyttää AES-256-GCM:ää tiedostojen sisällölle, otsakkeille, metatiedoille, hakemistoille ja pikkukuville. PBKDF2 HMAC-SHA512:lla johtaa paikallisen holviavaimen kuviosta ja koko laitteen Avainnipun suolasta; se avain purkaa kääreestä satunnaisen pääavaimen, jolla tiedostot salataan. Symmetriset operaatiot ajetaan apin prosessissa CryptoKitin kautta, ja iOS:n Avainnippu ja Data Protection suojaavat palautustilaa laitteen ollessa lukittu. Koko hierarkia on dokumentoitu tietoturvamallissa.