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ä:
- Muodostaaksemme jaetun salaisuuden
- Toipuaksemme hyökkäyksestä
Tärkeimmät hyökkäystavat:
- Yksityisen avaimen varkaus
- Man-in-the-middle hyökkäys ensimmäisessä avainten vaihdossa
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.