Proton

Mitä on AES-salaus?

AES tarkoittaa kryptografiassa Advanced Encryption Standardia, joka on nopea, tehokas ja turvallinen salausalgoritmi, jonka Yhdysvaltain National Institute of Standards and Technology (NIST) on sertifioinut. Se on symmetrisen avaimen salausmenetelmä, jossa samaa avainta käytetään sekä tietojen salaamiseen että salauksen purkamiseen. Tämä on suhteellisen nopeaa, joten se sopii erinomaisesti suurten levossa olevien tietomäärien salaamiseen.

Vahvuutensa ja luotettavuutensa ansiosta AES on yksi suosituimmista ja yleisimmistä salaustyypeistä, joita käytetään langattoman verkon turvallisuudessa, tieto- ja levyn salauksessa, yhdistetyissä maksujärjestelmissä, pilvitallennuksessa, salasananhallinnassa sekä jopa valtionhallinnon ja sotilaallisissa sovelluksissa. Yhdysvaltain hallitus käyttää AES-salausta suojatakseen salassa pidettäviä tietojaan, mikä on lisännyt sen suosiota.

Onko AES-algoritmi turvallinen?

Kyllä. Vuonna 2000 NIST ilmoitti erittäin perusteellisen(uusi ikkuna) ja avoimen valintaprosessin jälkeen, että AES (joka tunnettiin siihen asti Rijndael-algoritmina, jonka loivat Vincent Rijmen ja Joan Daemen) korvaisi DES:n sen suositeltuna(uusi ikkuna) ”luokittelemattomana, julkisesti julkaistuna salausalgoritmina, joka kykenee suojaamaan arkaluonteisia hallituksen tietoja pitkälle seuraavalle vuosisadalle”.

NISTin mukaan kaikkia AES-algoritmin avainpituuksia pidetään "riittävinä" suojaamaan luokiteltuja tietoja "Secret"-tasolle asti. "Top Secret" -tason tiedoille vaaditaan AES-192 tai AES-256.

Raakavoimahyökkäykset

Yksinkertaisin mahdollinen hyökkäys mitä tahansa salausmenetelmää vastaan on raakavoimahyökkäys, jossa kokeillaan jokaista mahdollista avainyhdistelmää, kunnes oikea löytyy. 

Frontier(uusi ikkuna) on maailman tehokkain julkisesti tunnettu supertietokone. Jos se omistaisi koko laskentatehonsa AES-128:n raakavoimamurtamiseen, kaikkien mahdollisten AES-128-yhdistelmien läpikäynti veisi silti noin 10–12 biljoonaa vuotta. Tämä on paljon pidempi aika kuin maailmankaikkeuden ikä. Siksi AES kestää erittäin hyvin tavanomaisten tietokoneiden raakavoimahyökkäyksiä jopa pienemmillä bittimäärillään. 

AES-256:n raakavoimamurtaminen on 340 miljardia-miljardia-miljardia-miljardia (2¹²⁸) kertaa vaikeampaa kuin AES-128:n.

Vaikka Groverin algoritmi(uusi ikkuna) teoriassa puolittaa symmetristen avainten turvallisuuden kvanttiuhkia(uusi ikkuna) vastaan, ne kestävät silti suhteellisen hyvin kvanttiuhkia, erityisesti käytettäessä 256-bittistä avainta.

Avainhyökkäykset

Vuosien varrella kryptografit ovat julkaisseet useita teoreettisia hyökkäyksiä AES-avaimia vastaan, mutta kaikki niistä ovat joko käytännössä toteuttamiskelvottomia tai tehokkaita vain sellaisia AES-toteutuksia vastaan, joissa käytetään vähennettyä kierrosmäärää (katso alla). 

Menestyksekkäin yritys oli vuonna 2011 julkaistu teoreettinen biclique-hyökkäys(uusi ikkuna), joka voi vähentää AES:n raakavoimamurtamiseen tarvittavaa aikaa neljäsosaan. Siitä huolimatta AES:n raakavoimamurtaminen veisi miljardeja vuosia millä tahansa nykyisellä tai ennakoitavissa olevalla tietokonelaitteistolla. 

Mikään tunnettu avainhyökkäys ei ole käytännöllinen oikein toteutettua AES-128:aa tai sitä vahvempaa vastaan. 

Sivukanavahyökkäykset

Sivukanavahyökkäys pyrkii vähentämään onnistuneeseen raakavoimahyökkäykseen tarvittavien yhdistelmien määrää etsimällä vihjeitä tietokoneesta, joka suorittaa salauksen laskutoimituksia. Vihjeitä voidaan saada tutkimalla:

  • Ajastus – kuinka kauan tietokoneelta kestää suorittaa toiminto
  • Sähkömagneettiset vuodot
  • Äänivihjeet
  • Visuaaliset vihjeet (tallennettu korkearesoluutioisella kameralla).

Erityisesti välimuistin ajoitukseen perustuvat hyökkäykset ovat osoittautuneet varsin tehokkaiksi AES:n onnistuneessa murtamisessa. Tunnetuimmassa esimerkissä tutkijat pystyivät vuonna 2016 palauttamaan(uusi ikkuna) AES-128-avaimen käyttämällä ”vain noin 6–7 pelkän tekstin tai salatun tekstin lohkoa (teoriassa jopa yksi ainoa lohko riittäisi)”.

Sivukanavahyökkäysten uhkaa voidaan kuitenkin lieventää monin tavoin:

  • Oikein toteutettu AES voi estää tapoja, joilla tietoja voi vuotaa.
  • AES-käskyjoukon integroiva laitteisto pienentää entisestään AES:n sivukanavahyökkäysten hyökkäyspintaa.
  • Satunnaistamistekniikoita voidaan käyttää häiritsemään suhdetta AES:llä suojattujen tietojen ja mahdollisesti vuotaneiden tietojen välillä, joita voitaisiin kerätä sivukanavahyökkäyksellä. 

Monissa tapauksissa sivukanavahyökkäykset edellyttävät, että hyökkääjällä on fyysinen pääsy laitteeseen tai että hän on sen lähellä laitteen purkaessa tietojen salausta, vaikka etähyökkäykset ovat mahdollisia, jos laitteeseen on asennettu haittaohjelmistoa, erityisesti ajoitushyökkäysten tapauksessa.

Miten AES toimii

AES on lohkosalaus, joka salaa ja purkaa tietojen salauksen 128 bitin lohkoissa käyttäen 128-, 192- tai 256-bittisiä avaimia. Kuten aiemmin todettiin, samaa avainta käytetään tietojen salaamiseen ja salauksen purkamiseen. AES:ää, jossa käytetään 128-bittistä avainta, kutsutaan usein nimellä AES-128, ja vastaavasti AES-192 ja AES-256.

Tiedot salataan useilla kierroksilla, joista kukin koostuu sarjasta matemaattisia operaatioita. 

Prosessi alkaa käyttämällä Rijndaelin avainaikataulualgoritmia uusien kierrosavainten sarjan johtamiseen alkuperäisestä salaisesta avaimesta. Tätä kutsutaan avainlaajennukseksi.

Jokainen kierros koostuu sitten yhdestä tai useammasta (tai niiden yhdistelmästä) seuraavista operaatioista:

1. Add RoundKey: XOR-operaatio(uusi ikkuna) suoritetaan yhdistämään salattavat tiedot (salattu teksti) kuhunkin kierrosavaimeen.

2. Sub Bytes: Korvaustaulukkoa käytetään sekoittamaan tiedot entistä paremmin. Ajatelkaa periaatteessa niitä yksinkertaisia substituutiosalauksia, joita käytitte lapsena ja joissa viestin jokainen kirjain korvattiin aakkostossa tietyn määrän myöhemmin olevalla kirjaimella.

3. Shift Rows: Jokainen 128-bittinen tietolohko koostuu 16-bittisestä 4x4-lohkosta. Tässä operaatiossa lohkon rivin jokaista tavua siirretään tietyllä siirtymällä vasemmalle.

4. MixColumns: Lohkon jokaiselle sarakkeelle suoritetaan ylimääräinen käännettävissä oleva lineaarinen muunnos.

Tämä muunnossarja muodostaa yhden kierroksen, joka toistetaan tiedoille tietyn määrän kertoja avaimen koon mukaan:

  • AES-128 — 10 kierrosta
  • AES-192 — 12 kierrosta
  • AES 256 — 14 kierrosta

Tietojen salauksen purkamiseksi kaikki sen salaamiseen käytetyt vaiheet suoritetaan yksinkertaisesti käänteisessä järjestyksessä. Tämä edellyttää alkuperäistä salaista avainta prosessin kääntämiseksi käyttäen jokaista käänteistä kierrosavainta.

Miksi AES-256:ta suositaan AES-192:een tai AES-128:aan verrattuna?

AES-128:n raakavoimamurtaminen veisi nykyisellä ja ennakoitavissa olevalla teknologialla kauemmin kuin maailmankaikkeuden ikä. Legendaarinen kryptografi Bruce Schneier on jopa esittänyt(uusi ikkuna), että AES-128 saattaa olla AES-256:ta vahvempi vahvemman avainaikataulunsa ansiosta — algoritmin, joka laskee kaikki kierrosavaimet alkuperäisestä salaisesta avaimesta.

Silti AES-256:sta on tullut symmetrisen avaimen salauksen tosiasiallinen kultainen standardi. Sitä pidetään usein (joskin hieman kiistanalaisesti) vahvempana valintana, koska sen suurempi avaimen koko viestii lisäturvamarginaalista, jotta salatut tiedot pysyvät turvassa, vaikka jokin tapa heikentää algoritmia merkittävästi löydettäisiin. Tämä argumentti on vahvistunut, kun kvanttijälkeisen kestävyyden tarve on tullut yhä kiireellisemmäksi. 

AES-CBC vs. AES-GCM

Vielä melko hiljattain AES:ää käytettiin yleensä cipher block chaining (CBC) -tilassa, jossa jokainen pelkän tekstin lohko XORataan edellisen salatun tekstin lohkon kanssa ennen kuin se salataan. Kun AES:ää käytetään CBC-tilassa, tietojen varmentamiseen tarvitaan HMAC(uusi ikkuna)-tiivistysalgoritmi, kuten HMAC-SHA256.

Yhä yleisempää on kuitenkin, että AES:ää käytetään Galois/counter (GCM) -tilassa, joka käyttää salauksen laskuritilaa(uusi ikkuna). Sen tärkein etu on, että se käyttää Galois-kenttää(uusi ikkuna) tietojen varmentamiseen ilman ulkoista algoritmia. Siksi se on tehokkaampi kuin erillisen tunnistautumisalgoritmin käyttö, josta voi aiheutua suuri laskennallinen kuorma.

Vaikka HMAC-tunnistautumisella varustettua AES-CBC:tä pidetään yleisesti turvallisena, CBC on mahdollisesti altis täydennyshyökkäyksille(uusi ikkuna), kuten POODLElle(uusi ikkuna). GCM ei ole.

Laitteistokiihdytetty AES

Useimmat nykyaikaiset suorittimet sisältävät Advanced Encryption Standard New Instructions -ominaisuuden (AES-NI(uusi ikkuna)), eli joukon laitteistokäskyjä, jotka suorittavat AES-operaatioita suoraan prosessorissa. Tämä tekee AES:stä paljon nopeamman ja auttaa myös estämään ajoitukseen perustuvia sivukanavahyökkäyksiä, koska operaatiot tapahtuvat prosessorin suojatuissa suoritusyksiköissä, jolloin hyökkääjän hyödynnettävissä on vähemmän havaittavia ajoitusvaihteluita.

Proton ja AES

Käytämme AES:ää laajasti Proton-tuotteiden suojaamiseen:

Tapahtumat ja yhteystiedot suojataan AES-256:lla yhdessä ECC:n kanssa avaintenvaihtoa varten, jotta yksityisyytenne varmistetaan päästä päähän -salauksella.

Proton VPN keskittyy pääasiassa nopeaan ja tehokkaaseen WireGuard® VPN -protokollaan (joka käyttää ChaCha20:tä), mutta OpenVPN-yhteydet käyttävät AES-256:ta.

Proton Pass tallentaa salasanat, muistiinpanot, henkilöllisyydet ja muut kohteet suojattuun holviinne AES-256:ta käyttäen.

Proton Drive salaa kaikki lähetetyt tiedostot päästä päähän AES-256:lla käyttäen ECC:tä avaintenvaihtoon. Proton Docs ja Proton Sheets käyttävät myös AES-256:ta ECC-pohjaisella avaintenvaihdolla, vaikka niiden salauksen toteutus eroaa Proton Driven yleisestä tiedostonsalausjärjestelmästä.

Proton Mail tallentaa sähköpostit ja liitteet AES-256:ta käyttäen OpenPGP-standardin kautta. Jopa yksityinen avaimenne, joka avaa sähköpostinne, salataan AES-256:lla ennen kuin se tallennetaan palvelimelle.

Proton Meet käyttää Messaging Layer Securityä (MLS) äänen, videon ja chat-viestien salaamiseen varmistaen eteenpäin suuntautuvan salaisuuden (PFS) ja murtautumisen jälkeisen turvallisuuden (PCS) kaikelle viestinnälle. Kaikki kokoustiedot ovat päästä päähän -salattuja käyttäen AES-256-GCM:ää.

AES-salaukseen kohdistuvien hyökkäysten lieventäminen

Turvallisuus on vain niin vahva kuin sen heikoin lenkki, joka on yleensä salasananne. Tämä tarkoittaa, että myös sosiaalisen manipuloinnin keinot, tietojenkalasteluhyökkäykset ja näppäinloggerit(uusi ikkuna) uhkaavat AES-salattuja tietoja. Siksi myös silloin, kun AES:ää käytetään, tulisi noudattaa seuraavia varotoimia:

Proton

Ota tietosi haltuusi

Proton rakennettiin suojaamaan tietojasi alusta alkaen. Päästä päähän -salauksen, avoimen lähdekoodin sovellusten ja riippumattomien tarkastusten ansiosta tietosi pysyvät sinun.

Usein kysytyt kysymykset AES-salauksesta

Kumpi on parempi: AES vai DES?
Kumpi on parempi: AES vai RSA?
Kuinka vahva AES-turvallisuus on?

Lue lisää salauksesta