Mikä on AES-salaus ja Miten Se Toimii? - TechRobot

Mikä on AES-salaus ja Miten Se Toimii?

Maailmassa, jossa pahantahtoiset hakkerit etsivät tilaisuuksia varastaa tai tuhota tietoja, salaus on muodostunut digitaalisen maailman olennaiseksi osaksi. Salaus on tapa suojata tietoja sekoittamalla ne siten, että vain valtuutetut henkilöt salausavaimen avulla voivat purkaa ja lukea ne. AES on salausalgoritmi, jota VPN-palveluntarjoajat ja valtion virastot laajalti käyttävät tietojen suojaamiseen. Tämä artikkeli käsittelee AES-salausta ja sen toimintaa.

## Mikä on AES-salaus?

Salauksessa on kaksi päätyyppiä: Symmetrinen ja Asymmetrinen. Asymmetrinen salaus käyttää kahta eri avainta (yksityinen ja julkinen) datan salaamiseen ja purkamiseen, kun taas symmetrinen salaus käyttää yhtä avainta sekä salaamiseen että purkamiseen. Kehittynyt Salausstandardi (AES) kuuluu symmetrisen salauksen kategoriaan. Se on osa Rijndael-perheen symmetrisiä lohkosalausalgoritmeja, jotka kehitti Vincent Rijmen ja Joan Dae vuonna 1998, mistä tulee nimi “Rijndael.”

AES on iteratiivinen salakirjoitus, joka perustuu substituutio-permutaatioverkon (SPN) algoritmiin. SPN-algoritmi on lohkosalausten luokka, joka sisältää kierroksia toistuvista matemaattisista operaatioista. Juuri näiden salauskierrosten ansiosta AES on vahva salausmenetelmä. AES:llä on kolme eri tyyppiä salausavainten pituuden perusteella. Niihin kuuluvat AES-128, AES-192 ja AES-256.

Kunkin näiden AES-tyyppien avaimen pituus määrittää niiden vahvuuden; mitä pidempi pituus, sitä vahvempi salaus. 128-bittisellä ja 192-bittisellä AES-salauksella on vastaavasti 3,4 x 10^38 ja 6,2 x 10^57 mahdollista avainyhdistelmää. AES-256 on kaikkein vahvin salausmenetelmä ja sillä on 1,1 x 10^77 mahdollista avainyhdistelmää. Huolimatta avaimen pituuden vaihtelusta, AES:n lohkon koko pysyy aina samana–128 bittiä.

## Miksi AES kehitettiin?

Aiemmin salausmenetelmät olivat yksinkertaisempia, ja oikean määrän aikaa ja työkaluja käyttämällä kuka tahansa pystyi murtamaan ne. Teknologian kehittyessä hakkerit saivat käyttöönsä parempia työkaluja taistellakseen salausmenetelmiä vastaan. Oli ilmeistä, että salausmenetelmien täytyi olla monimutkaisempia kuin mitä tuolloin oli olemassa, eli Data Encryption Standard (DES).

Kuten AES, myös DES on symmetrinen avainalgoritmi. IBM kehitti DES:n 1970-luvulla, ja Yhdysvaltain kansallinen standardointilaitos (NBS) hyväksyi sen standardisalausalgoritmiksi arkaluonteisen hallituksen tiedon salaamiseen. NBS:n ja Yhdysvaltain hallituksen hyväksynnän myötä eri sektorit hyväksyivät DES:n. Se herätti myös akateemisen yhteisön kiinnostuksen, mikä kiihdytti kiinnostusta kryptografian tutkimukseen. Vuosikymmenten ajan DES osoittautui vahvaksi, kunnes kesäkuussa 1997 DESCHALL-ryhmä mursi sen julkisesti.

Electronic Frontier Foundationin (EFF) DES-murtaja suoritti saman tempun 56 tunnissa seuraavana vuonna. Vuonna 1999 DES-avaimen murtaminen vei alle 24 tuntia. Nämä merkittävät tapahtumat osoittivat, että kasvavan laskentatehon ja teknologian kehityksen myötä DES:n murtaminen olisi vain ajan kysymys. Lisäksi DES-avaimen pituus ei ylittänyt 56-bittiä verrattuna kaikkivoipa 256-bittiseen AES:iin.

Vuonna 2001 Kansallinen standardointi- ja teknologiainstituutti (NIST) paljasti ottaneensa käyttöön AES-salausalgoritmin sen monipuolisten kykyjen vuoksi. Se on suorituskyvyltään parempi kuin DES, helppo toteuttaa ja erittäin vaikea murtaa. 

## Miten AES-salaus toimii suojatakseen tietojasi

Ymmärtäminen AES-salausalgoritmi voi olla haastavaa, jos sinulla ei ole asianmukaista matematiikkataustaa. Yritämme kuitenkin yksinkertaistaa prosessia, jotta sinulla olisi perusymmärrys siitä, miten se toimii. AES-salausalgoritmi salaa ja purkaa salauksen tiedoista 128 bitin lohkoissa. Avaimen pituuden vaihtelusta huolimatta lohkon koko ei muutu.

AES-salausalgoritmi yhdistää salaisen avaimen (128, 192 tai 256-bittinen avain) tavalliseen tekstiin (herkät tiedot, jotka haluat salata) luodakseen salakirjoituksen. AES-salakirjoitus käyttää sarjaa matemaattisia muunnoksia (substituutio-permutaatio) käyttäen salaisen avaimen ja tavallisen tekstin. Ennen kuin mikään toimenpide tapahtuu, tavallinen tekstidata jaetaan 4 x 4 matriisiin, joka koostuu kuudestatoista tavusta tai 128 bitistä (yksi tavu on 8 bittiä), koska AES salaa tiedot bittien lohkoissa.

AES-algoritmi käyttää substituutio-permutaatiota useiden kierrosten avulla muuntaakseen avoimen tekstin lopulliseksi salatekstiksi. Avaimen koko määrittää kierrosten määrän. 128-bittisellä avaimella on kymmenen kierrosta, 192-bittisellä avaimella on kaksitoista kierrosta ja 256-bittisellä avaimella on neljätoista kierrosta. Katsotaanpa nyt, mitä toimenpiteitä avoimen tekstin muuntamisprosessi salatekstiksi sisältää. 

1. Avainlaajennus ja AddRoundKey

Tässä toiminnossa AES käyttää Rijndaelin avainaikataulua tuottaakseen uusia 128-bittisiä kierrosavaimia (subkey) alkuperäisestä salaisesta avaimesta. Toisin sanoen, se sisältää alkuperäisen salaisen avaimen käyttämisen sarjan avainten luomiseen jokaiselle salausoperaation kierrokselle. AddRoundKey-toiminnossa jokainen nykyisen datan tilan tavu sekoitetaan nykyisen kierrosavaimen tavun kanssa käyttäen bittikohtaista XOR-operaatiota. 

2. SubBytes (tavujen korvaus)

Tässä toimenpiteessä 16 tavun lohko ajetaan Rijndaelin korvauslaatikon (S-Box) läpi, jotta jokaiselle tavulle saadaan vaihtoehtoinen arvo. Jokainen tavu korvataan ennalta määriteltyjen Rijndaelin S-Boxien määrittämien sääntöjen mukaisesti. S-laatikko ottaa arvon ja korvaa sen toisella arvolla. Prosessi on paljon monimutkaisempi, mutta se tekee AES-salauksen murtamisen lähes mahdottomaksi maailman laskentaresursseilla.

3. ShiftRows

ShiftRows-toiminto siirtää kaikkia rivejä 16 tavun lohkossa paitsi ensimmäistä. Se on helpompi ymmärtää verrattuna SubBytes-toimintoon. Ensimmäinen rivi ei muutu ja pysyy samana. Toinen rivi siirtyy vasemmalle yhden tavun verran, kolmas rivi siirtyy vasemmalle kahden tavun verran ja neljäs rivi siirtyy vasemmalle kolmen tavun verran.

4. MixColumns

Tämä toimenpide muuntaa jokaisen sarakkeen 16-tavun lohkossa lineaarisesti. Koska tämä toimenpide voi olla monimutkainen, emme paneudu siihen liikaa. Käyttäen matriisikertolaskua ja bittikohtaista XOR-lisäystä, tämä toimenpide kertoo jokaisen sarakkeen ennalta määritellyllä 4 x 4 matriisilla, mikä tuottaa uuden sarakkeen ja lohkon. 

## Operaatioiden Järjestys

Jokaisen AES:n salaaman datan on kuljettava yllä mainittujen operaatioiden läpi. Nämä operaatiot toistetaan useita kertoja riippuen tarvittavien kierrosten määrästä. 128-bittinen avain vaatii kymmenen kierrosta, 192-bittinen avain vaatii kaksitoista kierrosta ja 256-bittinen avain vaatii neljätoista kierrosta. Alla tarkastelemme järjestystä, jossa nämä operaatiot suoritetaan datan salaamiseksi.

1. Avainlaajennus

2. LisääKierros

3. Seuraavat toiminnot suoritetaan 9, 11 tai 13 kierroksen ajan alla olevassa järjestyksessä:

SubBytes

ShiftRows

MixColumns

AddRound

4. Seuraavat toiminnot tapahtuvat viimeisellä kierroksella (10., 12. tai 14. riippuen salaisen avaimen pituudesta): 

SubBytes

ShiftRows

AddRound

## AES-salauksen purkaminen

Olemme nähneet, miten AES salaa tiedot, mutta miten se purkaa tiedot? Salausprosessin purkaminen on yksinkertaista. Kaikkien salausprosessissa mukana olleiden vaiheiden kääntäminen purkaa tiedot. Katsotaanpa, millainen prosessi olisi, jos purkaisimme tietoja. 

1. Seuraavat toiminnot tapahtuvat viimeisellä kierroksella 10., 12. tai 14. riippuen salaisen avaimen pituudesta):

Käänteinen AddRound

Käänteinen ShiftRows

Käänteinen SubBytes

2. Seuraavat toiminnot suoritetaan 9, 11 tai 13 kierroksen ajan alla olevassa järjestyksessä:

Käänteinen AddRound

Käänteinen MixColumns

Käänteinen ShiftRows

Käänteinen SubBytes

Käänteinen AddRound

## Onko AES-salauksessa turvallisuusongelmia?

Vaikka AES-salaukseen ei olekaan kirjattu onnistuneita hyökkäyksiä, sen väärä toteutus voi johtaa hakkereiden haavoittuvuuden löytämiseen ja sen hyväksikäyttöön. Koska kryptografian asiantuntijat etsivät jatkuvasti haavoittuvuuksia AES:ssä, on ollut muutamia onnistuneita teoreettisia ja sivukanavahyökkäyksiä. Katsotaanpa muutamia niistä.

1. Tunnetun avaimen erotteluhyökkäys

Vuonna 2009, yritys murtaa 8-kierroksen version AES-128:sta tunnetulla avainerotteluhyökkäyksellä onnistui. Koska AES-128:ssa on kymmenen kierrosta salausta, se on edelleen läpäisemätön. Lisäksi hyökkääjän on tiedettävä salausavain ennen kuin se voi toimia, mikä on erittäin epätodennäköistä.

2. Sivukanavahyökkäykset

Sivukanavahyökkäykset toimivat vain, jos joku ei toteuta AES-salausta oikein, koska se perustuu järjestelmän vuotamaan tietoon. Hyökkääjä kiinnittää huomiota tietovuotoihin, kuten sähkömagneettiseen tietoon, virrankulutukseen, ajoitustietoihin jne., kerätäkseen tietoa algoritmista. AES ei ole täysin immuuni tällaiselle hyökkäykselle.

3. Muut hyökkäykset

Muut hyökkäykset, joita kryptografit ovat yrittäneet käyttää AES-salauksen murtamiseen, sisältävät avaimenpalautushyökkäykset ja samankaltaiset avainhyökkäykset. Molemmissa tapauksissa hyökkääjä kohdistuu salausavaimiin. Avaimenpalautushyökkäyksessä hyökkääjän on saatava vähintään pari salattua ja purettua viestiä. Samankaltaisessa avainhyökkäyksessä hyökkääjän on tiedettävä kahden eri avaimen välinen suhde. Nämä hyökkäykset toimivat vain järjestelmissä, jotka toteuttavat AES:n virheellisesti, eivätkä ne ole merkittäviä uhkia.

## Yhteenveto

Turvallisuusvirastojen ja huippu-VPN-palveluiden käyttämän AES-salauksen pääsyy on sen immuunisuus hyökkäyksille. Sen lisäksi, että Advanced Encryption Standard on käytännössä mahdoton murtaa, se on nopea, monipuolinen ja helppo toteuttaa. Toisin kuin muut salaustavat, kuten DES, se käyttää myös vähemmän muistia. Voit myös yhdistää sen muihin turvaprotokolliin varmistaaksesi korkean turvallisuustason.