AES-256-salaus selitettynä: mitä se tarkoittaa tiedoillesi

AES-256-salaus selitettynä: mitä se tarkoittaa tiedoillesi

AES-256 selitettynä: kuinka algoritmi toimii, miksi 256-bittiset avaimet merkitsevät, mitä GCM-tila lisää ja mitä tarkistaa, kun sovellus väittää käyttävänsä AES-256-salausta.


AES-256 on Advanced Encryption Standard 256-bittisellä avaimella, jonka NIST standardisoi FIPS 197:nä vuonna 2001. Se on symmetrinen salausalgoritmi, jota Yhdysvaltain hallitus käyttää luokiteltuihin tietoihin, pankit rahoitustapahtumien suojaamiseen ja tietoturvasovellukset lepotilassa ja siirrettävänä olevan datan suojaamiseen. AES-256:lla on 2^256 mahdollista avainta -- luku, joka on suurempi kuin arvioitu atomien määrä havaittavissa olevassa universumissa. Mikään tunnettu hyökkäys ei pienennä tätä avainavaruutta laskennallisesti toteutettavaksi haauksi.

Tämä opas selittää, mitä AES-256 oikeasti tekee, miksi avainpituus merkitsee, mitä eri tilat tarkoittavat (ECB, CBC, GCM) ja mitä etsiä, kun sovellus 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 salauksen. "Lohkosalain" tarkoittaa, että se käsittelee dataa 128-bitin (16 tavun) kokoisissa lohkoissa.

Algoritmi ottaa datasi (selkoteksti), yhdistää sen avaimeen ja tuottaa matemaattisten muunnosten kautta salatun tulosteen (salateksti). 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 käyttää neljää operaatiota:

  1. SubBytes: Jokainen tavu korvataan kiinteän korvauksen taulukon (S-box) avulla, lisäten epälineaarisuutta.
  2. ShiftRows: Jokaisen rivin tavuja siirretään eri määrillä, levittäen dataa asemien välillä.
  3. MixColumns: Sarakkeet sekoitetaan matriisikertolaskulla äärellisessä kentässä, levittäen muutoksia tavujen välillä.
  4. AddRoundKey: Kierrosavain (johdettu pääavaimesta) XOR-yhdistetään dataan.

14 kierroksen jälkeen selkoteksti on perusteellisesti sekoitettu. Näiden operaatioiden peruuttaminen oikealla avaimella palauttaa alkuperäiset tiedot. Ilman avainta salateksti on erottamaton satunnaisesta kohinasta.

Miksi 256 bittiä merkitsee

AES-256:n "256" viittaa avainpituuteen: 256 bittiä. Tämä määrittää, kuinka monta mahdollista avainta hyökkääjän on kokeiltava murtaakseen salauksen raakavoimalla.

AvainpituusMahdolliset avaimetRaakavoimamurron aika (biljoonainen arvauk./sek.)
56-bittinen (DES)7,2 x 10^16noin 20 tuntia
128-bittinen (AES-128)3,4 x 10^3810^13 vuotta
256-bittinen (AES-256)1,16 x 10^7710^51 vuotta

Universumin ikä on noin 1,38 x 10^10 vuotta. AES-256:n raakavoimamurto kestäisi noin 10^41 kertaa kauemmin kuin universumin ikä, jopa biljoonalla arvauksella sekunnissa.

AES-tilat: miksi ne merkitsevät

AES itsessään salaa vain yhden 128-bitin lohkon kerrallaan. Todelliselle datalle (kuville, asiakirjoille, videoille) tarvitaan "toimintatila", joka käsittelee yli 16 tavun kokoiset tiedot. Tila määrittää, kuinka lohkot ketjutetaan yhteen, ja sillä on merkittäviä turvallisuusvaikutuksia.

ECB (Electronic Codebook) -- älä käytä

Jokainen lohko salataan itsenäisesti samalla avaimella. Identtiset selkotekstilohkot tuottavat identtisiä salatekstilohkoja. Tämä vuotaa datassa olevia kuvioita. ECB sisältyy standardiin, mutta sitä ei pitäisi koskaan käyttää datalle, jolla on rakenne tai toistuvia kuvioita.

CBC (Cipher Block Chaining) -- vanha standardi

Jokainen lohko XOR-yhdistetään edelliseen salatekstilohkoon ennen salausta. Tämä poistaa ECB:n kuviovuodot. CBC vaatii satunnaisen alustovektorin (IV) eikä tarjoa sisäänrakennettua todentamista.

GCM (Galois/Counter Mode) -- nykyinen standardi

GCM yhdistää laskuritilasalauksen Galois-kenttätodennukseen. Se tarjoaa todennetun salauksen: salaa datan JA tuottaa todennustunnisteen, joka havaitsee kaikki muutokset salatekstiin. Jos yksikin bitti muuttuu, salauksen purku epäonnistuu virheellisen datan sijaan.

NIST standardisoi GCM:n SP 800-38D:ssä (2007). Se on suositeltu tila uusille toteutuksille.

AES-256-GCM on AES 256-bittisellä avaimella Galois/Counter Mode -tilassa. Tätä tietoturvakriittiset sovellukset käyttävät ja tätä Vaultaire käyttää kuvien ja tiedostojen sisällön salaamiseen.

Mitä AES-256 tarkoittaa kuvien tallennuksessa

Kun kuvaholvisovellus väittää käyttävänsä "AES-256-salausta", kolmen asian pitäisi olla totta:

  1. Tiedostojen sisältö on salattu AES-256:lla. Raaka kuvadata (pikselit, metatiedot, esikatselukuva) muunnetaan salatekstiksi 256-bittisellä avaimella.

  2. Jokainen tiedosto käyttää yksilöllistä alustovektoria (IV). Jos kaksi identtistä kuvaa salataan samalla avaimella, salatekstin pitäisi olla erilainen. Tämä vaatii tiedostokohtaisen IV:n.

  3. Tila tarjoaa todennuksen (GCM tai vastaava). Ilman todennusta hyökkääjä voi muokata salatekstiä ilman havaitsemista.

Mitä markkinointisivun "AES-256" ei kerro

AES-256 on välttämätön mutta ei riittävä. Useat kriittiset tekijät määrittävät, suojaako salaus oikeasti datasi.

Avainten johtaminen merkitsee. Kuinka 256-bittinen avain luodaan? Jos se johdetaan 4-numeroisesta PIN-koodista heikolla KDF:llä, tehokas turvallisuus on 4 numeroa (10 000 yhdistelmää), ei 256 bittiä. Vahva toteutus käyttää PBKDF2:ta suurella iteraatiomäärällä tai Argon2:ta sopivilla muisti/aika-parametreilla. Vaultaire käyttää PBKDF2:ta HMAC-SHA512:lla, johtaen avaimen kuviosta 5x5-ruudukolla miljardeilla mahdollisilla syötteillä.

Avainten säilytys merkitsee. Missä avain asuu? Jos avain on tallennettu selkotekstinä sovelluksen hiekkalaatikkoon, mikä tahansa haittaohjelma, jolla on tiedostopääsy, voi lukea sen. Oikeaoppinen avainten säilytys käyttää laitteistopohjaisia mekanismeja kuten Applen Secure Enclavea.

Mitä salataan, merkitsee. Jotkin sovellukset salaavat tiedostojen sisällön mutta jättävät tiedostonimet, esikatselukuvat ja metatiedot salaamatta.

Avainten elinkaari merkitsee. Pyyhitäänkö avain muistista, kun sovellus suljetaan? Vaultaire pyyhkii avaimet muistista jokaisen sovelluksen sulkemisen yhteydessä ja vaatii uuden kuvion syöttämistä jokaisella käynnistyksellä.

AES-256 käytännössä: kuka käyttää sitä

OrganisaatioKäyttötapausTila
Yhdysvaltain hallitus (NSA)Luokiteltu tietoGCM
Apple (iCloud ADP)iCloudin päästä päähän -salausGCM
SignalViestien salausCBC (HMAC-todennuksella)
PankitRahoitustapahtumien salausGCM
1PasswordSalasanaholviGCM
VaultaireKuva- ja tiedostoholviGCM

Usein kysytyt kysymykset

Voiko AES-256:n murtaa?

Mikään tunnettu hyökkäys ei murra AES-256:ta pienentämällä koko avainavaruutta. Tunnetuin hyökkäys (Bogdanovin, Khovratovichin ja Rechbergerin biclique-hyökkäys, 2011) pienentää AES-256:n 2^256 operaatiosta 2^254,4:ään -- teoreettinen parannus, joka on laskennallisesti merkityksetön käytännössä. AES-256 on edelleen murtamaton.

Onko AES-256 kvanttikestävä?

Pääosin kyllä. Groverin kvanttialgoritmit puolittavat tehokkaan avainpituuden: AES-256 vastaa 128-bittistä turvallisuutta kvanttihyökkäyksiä vastaan. NIST suosittelee AES-256:ta pitkäaikaiseen turvallisuuteen kvanttilaskennan edistymistä vastaan.

Hidastaako AES-256-salaus puhelintani?

Ei havaittavasti. Nykyaikaisissa iPhoneissa on omistettu AES-laitteistokiihdytys Secure Enclavessa ja prosessorissa. Kuvan salaus tai salauksen purku kestää millisekunteja. AES on suunniteltu erityisesti laitteistototeutuksen tehokkuutta varten.

Kuinka tiedän, käyttääkö sovellus oikeasti AES-256:ta?

Tarkista sovelluksen tietoturva-asiakirjat, ei vain markkinointisivua. Etsi: tarkka algoritmi ja tila (AES-256-GCM, ei vain "AES" tai "256-bittinen"), avaintenjohdonmenetelmä (PBKDF2, Argon2), avaintensäilytysmekanismi (Secure Enclave, laitteistopohjainen) ja salataanko myös metatiedot.

Yhteenveto

AES-256 on symmetrisen salauksen kultainen standardi: NIST:n standardisoima, hallitusten ja rahoituslaitosten käyttämä ja kaikkien tunnettujen hyökkäysten, mukaan lukien kvanttilaskenta, kestävä. Kun arvioit sovelluksia, jotka väittävät käyttävänsä AES-256-salausta, katso algoritmin taakse: tarkista tila (GCM), avainten johtaminen (PBKDF2/Argon2 suurella iteraatiomäärällä), avainten säilytys (laitteistopohjainen) ja mitä dataa oikeasti salataan (sisältö ja metatiedot).

Vaultaire käyttää AES-256-GCM:ää tiedostojen salaamiseen, PBKDF2:ta HMAC-SHA512:lla avainten johtamiseen, ChaCha20:ta metatietojen salaamiseen ja Applen Secure Enclavea avainten hallintaan. Salaus ei ole markkinointikieltä. Se on matematiikkaa.