Julkisten avainten perustiedot

Julkisiin avaimiin perustuva salaustekniikka on nykyaikaisen suojatun viestinnän perusta. Tässä esitetään lyhyesti ilman teknisiä yksityiskohtia näiden avainten perustiedot. Samalla kerrotaan suojausmekanismeistamme tunnettuja hyökkäyksiä vastaan.

Käytämme julkisia avaimia seuraavista syistä:

Tärkeimmät hyökkäystavat:

Julkiset avaimet mahdollistavat jaetun salaisuuden muodostamisen.

Kun osapuolet vaihtavat julkisia avaimia, he voivat laskea arvon, jonka vain he voivat tietää. Kolmas henkilö, joka näkee vaihdetut julkiset avaimet ei voi laskea tätä arvoa. Tätä laskettua arvoa kutsutaan jaetuksi salaisuudeksi ja siitä voidaan muodostaa itse salausavain, jota käytetään viestin salaukseen. Tällaista menetelmää kutsutaan Diffie-Hellman avaintenvaihdoksi sen keksijöiden  Whitfield Diffien ja  Martin Hellmanin mukaan.

Tämä ratkaisee hyvin tärkeän ongelman: kuinka kommunikoida turvallisesti salausavain toiselle henkilölle? Lähettämällä ja vastaanottamalla julkinen avain. 

Jokaisella julkisella avaimella on vastaava yksityinen avain. Julkisen avaimen luoja tietää automaattisesti sen yksityisen avaimen. Jaettu salaisuus lasketaan tämän yksityisen avaimen ja toisen osapuolen julkisen avaimen avulla.

Kvanttihyökkäyksen kestävissä avaimissa käytetään nk. Key Encapsulation Mechanism (KEM) menetelmää. Siinä henkilö A käyttää henkilö B:n julkista avainta ja encapsuloi jaetun salaisuuden salatuksi tekstiksi. Tämä lähetetään B'lle, joka decapsuloi sen omistamansa yksityisen avaimen avulla ja saa haltuunsa saman jaetun salaisuuden.

Julkiset avaimet mahdollistavat toipumisen hyökkäyksestä.

Nyt kolmas henkilö, joka tarkkailee julkisten avainten vaihtoa ei pysty laskemaan jaettua salaisuutta, koska häneltä puuttuu jommankumman julkisen avaimen yksityinen avain. Tilanne kuitenkin muuttuu, jos hän onnistuneesti lähettää vakoiluohjelman, joka varastaa yksityisen avaimen tietokoneesta. Tällöin hän voi laskea jaetun salaisuuden ja voi avata kaikki ne viestit, joissa tuota jaettua salaisuutta on käytetty. 

Meillä on nyt ongelma: kuinka toipua yksityisen avaimen paljastumisesta?  EndCryptor ratkaisee tämän luomalla uusia julkisia avaimia ja lähettämällä ne.

Hyökkääjän täytyy taas pystyä varastamaan yksityinen avain – jos hän ei siinä onnistu, hän ei voi enää avata uusia viestejä.

Jotkut julkisiin avaimiin perustuvat järjestelmät käyttävät samaa julkista avainta vuosia. Jos sen yksityinen avain paljastuu esimerkiksi hakkeroinnin seurauksena kaikki tämän avaimen avulla salatut viestit voidaan avata. On havaittu tietokoneviruksia, jotka pyrkivät löytämään yksityisiä avaimia.

Käytetyt julkiset avaimet uusitaan sännöllisesti ja automaattisesti, kun viestejä vaihdetaan. Klassiset ja pienemmät kvanttisuojan tarjoavat avaimet uusitaan 2 viikon välein ja isommat kvanttiavaimet 2 kuukauden välein. Nämä avaimet ovat kontaktikohtaisia, eri kontakteille jaetaan erilaiset uudet avaimet normaalin viestien vaihdon yhetydessä. Tämä tarkoittaa, että jos hakkeri on päässyt tietokoneelle, niin EndCryptor toipuu automaattisesti hyökkäyksestä ja vaihdettavat viestit tulevat jälleen hyökkääjälle mahdottomiksi avata.

Man-in-the-middle hyökkäys

Tämä hyökkäys voidaan tehdä, kun henkilö lähettää julkisen avaimensa toiselle henkilölle viestinnän alussa.  Kryptologiassa tämä hyökkäys kuvataan kolmen henkilön avulla: Alice, Bob ja Mallory. Alice ja Bob haluvat kommunikoida suojatusti ja Mallory haluaa avata heidän viestinsä.

Alice lähettää julkisen avaimensa Bobille, mutta Mallory sieppaa sen ja luo oman avaimensa ja lähettääkin sen Bobille muka Alicen avaimena. Bob luo oman vastauksensa, jossa on hänen julkinen avaimensa ja lähettää vastauksen Alicelle. Taas Mallory sieppaa viestin ja korvaa Bobin avaimen omalla avaimellaan. Nyt Mallory voi esiintyi kumpanakin henkilönä.

Man-in-the-middle hyökkäys: Alice  ↔  Mallory ↔  Bob.

Alice ja Bob eivät tiedä, että on olemassa Mallory, joka vaihtoi heidän julkiset avaimensa omiinsa. Nyt Mallory avaa jokaisen Alicen ja Bobin lähettämän viestin, ja sitten taas salaa sen uudestaan omien salausavaintensa avulla ja lähettää sen viestin vastaanottajalle.

Perinteisesti tälläinen hyökkäys estetään varmenteilla tai käyttämällä jotain kommunikaatiota Alicen ja Bobin välillä, jotta voidaan verrata tarkastussummia vaihdetuista ensimmäisistä viesteistä. Varmenteisiin perustuvaa ratkaisua käytetään internet yhteyksissä suojattuihin web palvelimiin (https eli TLS/SSL) - siihen sisältyy joitain riskejä, katso 'SSL:n - selainsalauksen - riskit' osio tässä dokumentissa. Sähköpostin salauksessa käytetään varmenteita (S/MIME tai sovelluskohtaisia ratkaisuja) tai tarkastussummien vertailua.

Tässä EndCryptorin tasossa käyttäjät voivat verrata tarkastussummia paljastaakseen hyökkäyksen.

Kun EndCryptorissa Alice ja Bob alkavat kommunikoida, he sopivat asiasta ja lähettävät jollakin tavoin esim. normaalin sähköpostin liitteenä toisilleen omat julkiset avainpakettinsa. Tämän jälkeen he voivat vaihtaa viestejä. On siis huomattava, että viestin lähettäjällä tulee olla vastaanottajan avainpaketti ja viestin saajalla tulee olla lähettäjän avainpaketti. Avainpaketti sisältää mm. lähettäjän julkiset allekirjoitusavaimet (Edwards ja Dilithium avaimet), joilla vastaanottaja tarkastaa, että viesti tulee avainpaketin luojalta.

Kun alussa siis vaihdetaan avainpaketteja tulee niin tehdä vain luotettavan tahon kanssa, aiotaanhan jakaa salatuissa viesteissä luottamuksellista tietoa. On oltava tarkkana, että toinen osapuoli on se, joka hän väittää olevansa ja esim. sähköpostiosoitteen tulee olla sama kuin aikaisemmin tai selvästi henkilölle ja tämän organisaatiolle kuuluva. Kun avainpaketti on EndCryptorissa ja kontakti on luotu, ei sen sähköpostiosoitetta voi muuttaa ennenkuin viestejä on vaihdettu.

Jos jokin ryhmä haluaa kommunikoida jäsenten välisesti, on kätevintä koota heidän avainpakettinsa yhteen zip -tiedostoon ja sitten jakaa se jäsenille turvallisesti suojatun web sivuston tai suojatun tiedostonsiirron avulla. Kun saatu avainpaketti tiputetaan EndCryptoriin, otetaan automaattisesti siitä uudet kontaktit käytettäviksi.