You are here: TUTWiki>Tietoturva/Tutkielmat>Tutkielmat?>KLJNsalaus

Juho Nurmi

KLJN salausavainten jako- ja luontijärjestelmä

Johdanto

Kirchoff's loop Johnson (-like) noise (KLJN) on klassiseen fysiikkaan perustuva salausavainten jako- ja luontijärjestelmä, mikä on kvanttifysiikkaan perustuvan Quantum Key Distribution (QKD) kilpailija. Työssä esitetään ideaalisen KLJN järjestelmän toimintaperiaate, sekä selvitetään, mihin tämän suojaus perustuu. Järjestelmää verrataan myös lähimpään kilpailijaansa (QKD) ja lopuksi tarkastellaan järjestelmää kriittisesti.

Toimintaperiaate ja käyttötarkoitus

Kryptologiassa yhtenä yleisenä ongelmana on, miten salausavaimet jaetaan turvallisesti osapuolille. Yhtenä keinona avainten jakamiseksi käytetään jopa ihmiskuriireja, mutta kuriirin käyttämisen ongelmana on, ettei avaimien turvallisuutta voida todistaa mitenkään. KLJN:ssä ja QKD:ssa voidaan avaimet luoda ja jakaa helposti ja halvasti, sekä turvallisuus voidaan taata fysiikan lakeihin nojautuen. Järjestelmiä voidaan käyttää ympäristöissä, joissa on hyvin korkeat turvallisuusvaatimukset ja epäillään etteivät tavanomaiset avaintenjako menetelmät ole tarpeeksi turvallisia.

KLJN:n toimintaperiaate on hyvin yksinkertainen. Ideaalisessa mallissa (ks. Kuva 1) lähettäjällä ja vastaanottajalla on identtiset sähkövastusparit, pienempi R0 ja huomattavasti isompi R1 vastus, jotka edustavat binääriarvoja. Vastuksiin on liitetty lämpökohinaa muistuttavaa kohinaa tuottava jännitelähde(, joka vahvistaa kohinaa ennalta sovitulla tasolla). Lähettäjä ja vastaanottaja valitsevat satunnaisesti jokaisella kellonjaksolla yhden vastuksen, jotka yhdistetään toisiinsa johtimella (tietoliikenne kanava, joka on käytännössä esim. kuparijohdin), jolloin muodostuu yksinkertainen suljettu silmukka. Turvallinen bitin vaihto tapahtuu, kun lähettäjä ja vastaanottaja ovat valinneet eri binääristä arvoa vastaavat vastukset. Kirchoffin piirilakeja käyttäen voidaan virta ja jännite mittauksien jälkeen laskea vastakkaisen osapuolen piiriin yhdistetyn vastuksen resistanssi ja siten päätellä lähetetyn bitin arvo.[1]

simppeli.jpg

Kuva 1. Ideaalinen malli KLJN järjestelmästä [1].

KLJN järjestelmän toiminta perustuu Kirchhoffin piirilakeihin ja Johnsonin kohinan pohjalle. Johnson kohina (tai Johnson-Nyquist kohina) on lämpökohinaa, jonka ominaisuuksina on, että se on täysin satunnaista ja lähestulkoon valkoista kohinaa. Valkoinen kohina tarkoittaa kohinan olevan täysin tasaista (=sama teho) kaikilla taajuuksilla. [2]

Viesti luodaan siis samaan aikaan, kun sitä lähetetään ja se on ainoastaan lähettäjän ja vastaanottajan tiedossa. KLJN toiminnassa on myös hyvin olennaista, että molemmat osapuolet valitsevat satunnaisesti kumman binääriarvoa vastaavan vastuksen liittävät piiriin, koska muussa tapauksessa ulkopuolinen kuuntelija pystyy päättelemään joitain lähetettyjä bittejä. Tästä johtuen KLJN järjestelmässä voidaan lähettää turvallisesti vain satunnaista dataa eikä mielivaltaisia viestejä. Satunnaisen datan lähettäminen ei ole huono asia vaan päinvastoin, koska luotu viesti soveltuu hyvin käytettäväksi järjestelmän ulkopuolella esim. one-time pad (OTP) salauksen salausavaimena, jota oikein käyttämällä OTP:lla salattua viestiä on mahdotonta purkaa [3].

Suojautuminen hyökkäyksiltä

Tässä luvussa käsitellään, miten KLJN järjestelmä suojautuu hyökkäyksiltä. Ensin tutustutaan, miten KLJN suojautuu ideaalisessa mallissa ja tämän jälkeen miten järjestelmä ottaa huomioon käytännön epäideaalisuuksia suojatuessaan hyökkäyksiltä.

Suojautuminen ideaalisessa mallissa

KLJN järjestelmän ideaalinen malli on luonnollisesti suojattu man in the middle (MITM) hyökkäyseltä. Sillä vaikka hyökkääjä tietääkin piirin jännitteen, virran ja kokonaisresistanssin, niin tämä ei pysty päättelemään näiden tietojen avulla onko R0 + R1 vai R1 + R0 vastusparit lähettäjällä ja vastaanottajalla yhdistettynä. Tiedonsiirto tapahtuu turvallisesti, koska molemmissa tapauksissa johtimessa on mitattavissa sama teho jännitteelle (ks. Kuva 2 punainen katkoviiva). Mikäli vastusparit R0 + R0 ja R1 + R1 on liitetty johtimeen, niin nämä muodostavat oman tietyn tehonsa ja silloin hyökkääjä pystyy mittauksien avulla päättelemään liitetyt vastukset (ks. Kuva 2 vihreät katkoviivat). Ideaalissa mallissa oletetaan välittömien virran ja jännitteen amplitudien olevan yhtenevät koko johtimen mitalla [1].

turvalliset_jannitetilat.jpg

Kuva 2. KLJN järjestelmän mahdolliset jännitetehot johtimessa tiedon siirrossa [1, 4].

Taulukossa 1 esitetään kaikki mahdolliset lähettäjän ja vastaanottajan vastuspari vaihtoehdot, sekä voiko kyseisen vastusparin aikana välittää tietoa turvallisesti. Kuvassa 2 nähdään tiloja vastaavat jännitetehot.

Taulukko 1: Listaus kaikista mahdollisista liitettävistä vastuspari vaihtoehdoista ja niiden kytkös lähetyksen turvallisuuteen.

Lähettäjän vastaus: Vastaanottajan vastus: Lähetyksen turvallisuus:
R0 R0 Turvaton
R0 R1 Turvallinen
R1 R0 Turvallinen
R1 R1 Turvaton

Hyökkäyksiä vastaan suojautuminen käytännössä

Käytännön toteutuksessa on aina epäideaalisuuksia (esim. vastukset eivät ole täysin identtisiä, ympäristöstä indusoituu häiriöitä yms.), joita hyökkääjä voi hyödyntää, vaikka ideaalinen malli onkin täysin suojattu. Toistaiseksi järjestelmää on kehitetty niin hyvin, että se pystyy suojautumaan kaikilta tähän mennessä kehitetyiltä hyökkäyksiltä. [1]

Esimerkkejä käytännön suojauskeinoista on, että lähettäjä ja vastaanottaja lähettävät toisilleen virta ja jännite mittaustuloksia toista julkista (tietoliikenne)kanavaa pitkin (ks. Kuva 3). Mittaustuloksien avulla molemmat voivat päätellä onko esim. järjestelmään tullut ulkopuolelta energiaa, joka viittaisi suoraan meneillään olevaan hyökkäykseen.

Paras toistaiseksi kehitetyistä hyökkäyksistä käytännön järjestelmää kohtaan pystyy tutkimuksen mukaan selvittämään parhaimmillaan vain 0.19% biteistä (testattiin 74497 bitillä) ilman, että hyökkäystä havaitaan. Teoriassa tätä lukua voidaan tiputtaa tästä vielä miljoona kertaa pienemmäksi, kun vastuksia yhdistävän johtimen paksuutta kasvatetaan kymmenkertaiseksi. [1] Tämän lisäksi monet MITM hyökkäykset havaitaan jo ennen kuin bitti on ehditty lähettämään. Tarkempaa tietoa suojautumisesta MITM hyökkäyksiä vastaan löytyy lähteistä [5] ja [1]. Kuvassa 3 esitetty julkinen kanava voi olla yksi autentikoitu kanava tai käsittää monta julkista yleislähetys (broadcast) kanavaa [1].

laajempi_leik.jpg

Kuva 3. Hieman laajennettu KLJN järjestelmä [1].

Näiden lisäksi järjestelmän suojaamiseen epäideaalisuuksilta on määritelty tiettyjä käytännön rajoituksia. Rajoituksissa määritellään mm. miten rajoitetaan jännitteen taajuuksia johtimessa alipäästösuodattimen avulla [1] ja miten johtimeen muodostuva kapasitanssi hävitetään [6].

Eroja muihin avaintenjako menetelmiin/järjestelmiin

Tässä luvussa verrataan KLJN järjestelmää lähimpään kilpakumppaniinsa QKD:en. Luku jakautuu kahteen osaan, joista ensimmäisessä käsitellään tarpeellisia termejä sekä tutustutaan QKD:en. Toisessa osassa esitetään vertailun tuloksia.

Taustaa vertailua varten

Ehdollisen turvallinen (conditionally secure), johon laskennallisesti turvallinen (computationally secure) kuuluu tarkoittaa, että turvallisuus on taattu tietyin ehdoin. Laskennallisesti turvallisen järjestelmän murtaminen oletetaan olevan työlästä, mutta ei mahdotonta [7]. Eli hyökkääjällä oletetaan olevan rajalliset resurssit, jonka seurauksena hyökkäystä ei ole mahdollista suorittaa järkevässä ajassa. Ehdottoman turvallinen (unconditionally secure tai information theoretically secure) järjestelmässä turvallisuus ei riipu hyökkääjän saatavilla olevasta laskentatehosta. Tämän lisäksi tulevaisuudessa ei voi olla mahdollista kehittää parempia matemaattisia järjestelmiä/algoritmeja, joilla ongelman voisi ratkaista nopeammin. [8, s. 143-144]

Jotta KLJN ja QKD eroja voidaan käsitellä, niin on tärkeää ymmärtää mihin molempien toiminta perustuu. QKD ja erityisesti BB84 protokollan toiminnasta löytyy hyvä selitys tarvittavine taustatietoineen lähteistä [9] ja [10], joiden lukemista ja katsomista suosittelen. QKD:ssa, lyhyesti sanottuna, hyökkääjän havainnointi perustuu kvanttifysiikan sääntöihin (esim. no-cloning theorem), joiden seurauksena kuuntelija (hyökkääjä) tuottaa tietoliikennekanavaan virheitä. Jo BB84 protokollan ideaalissa mallissa syntyy virheitä liikennöidessä, niin tästä johtuen lähetyksen jälkeen tutkitaan virheiden määriä tilastoiden avulla. Hyökkääjä havaitaan, mikäli virheiden määrä on enemmän kuin mitä tilastollisesti pitäisi tapahtua, mutta silloinkin arvioidaan kuinka todennäköisesti virheet johtuvat hyökkäyksestä.

Vertailun tuloksia

Kappaleessa verrataan KLJN järjestelmää lähimpään kilpakumppaniinsa QKD:en. Luku jakautuu kolmeen osaan, joista ensimmäisessä vertaillaan järjestelmiä hyvin yleisellä tasolla, toisessa aliluvussa keskitytään vertailemaan turvallisuuden näkökulmasta ja kolmannessa aliluvussa tiedonsiirron.

Yleistä

KLJN ja QKD ovat fyysisiä järjestelmiä, jotka eroavat selvästi perinteisistä avaintenjako järjestelmistä kuten Diffie-Hellmannista, jonka toiminta perustuu algoritmiin. KLJN ja QKD ideaaliset mallit ovat ehdottoman turvallisia ja Diffie-Hellman on laskennallisesti turvallinen.

QKD:ssa voi osa avaimesta vuotaa hyökkääjälle, koska hyökkäyksen havainnointi perustuu tilastoihin. Hyökkääjän tietoa avaimesta voidaan pienentää mielivaltaisen pieneksi käyttämällä yksityisyyden vahvistavista (privacy amplification), jonka seurauksena tosin avaimen pituus pienenee. Yksityisyyden vahvistamista voidaan käyttää myös KLJN järjestelmässä, mutta tätä aihetta ei käsitellä tässä työssä tarkemmin ja lisää tietoa löytyy asiasta kiinnostuneille lähteistä [11] ja [12].

KLJN järjestelmä pystytään tällä hetkellä valmistamaan pieneen kokoon ja halvalla toisin kuin QKD. Esimerkiksi lähteessä [12] tutkitun KLJN järjestelmän hinnaksi kerrottiin olevan muutamia satoja dollareita ja integroidun piirin valmistuskustannuksien arvioitiin olevan lähellä PC:hen asennettavan Ethernet verkkokortin hintaa [14].

KLJN järjestelmää on tutkittu hyvin vähäsen verrattuna QKD järjestelmään. Samoin KLJN järjestelmästä ei ole vielä kehitetty kaupallista järjestelmää siinä missä QKD järjestelmästä on jo kolme kaupallista järjestelmää saatavilla useita kehitteillä [10].

Turvallisuus

QKD:n vakavana ongelmana ovat tällä hetkellä käytännön epäideaalisuudet, joita hyödyntäen tutkijat ovat esittäneet niin teoriassa kuin käytännössä jopa kaupallisillakin järjestelmillä kuinka hyökkääjä voi selvittää koko avaimen ilman, että hyökkäystä havaitaan ollenkaan. Esimerkkejä QKD:n käytännön epäideaalisuuksista on mainittu mm. ettei tällä hetkellä ole varmatoimista yhden fotonin kerralla lähettävää lähetintä ja vastaanotin sensoreita voidaan sokaista. KLJN:n kehittäjä on koonnut listan tutkituista hyökkäyksistä QKD:ta vastaan, joka löytyy lähteestä [15].

Kuten aiemmin on jo mainittu, niin KLJN:n järjestelmässä hyökkääjä havaitaan jo ennen kuin bitti on ehditty siirtämään ja siten avainbittien tilastointia ei tarvita. KLJN järjestelmä on suojattu myös tällä hetkellä kaikilta vakavimmilta hyökkäyksiltä. [1] KLJN järjestelmä on myös toimintaperiaatteeltaan yksinkertaisempi kuin QKD.

Tiedonsiirto

QKD:n käyttöä rajoittaa tällä hetkellä etäisyys, kuinka kauas valokaapelilla voidaan liikennöidä, mikä on normaalisti noin 100km [16] ja joillain kaapeleilla päästään jopa 250km etäisyyteen [17]. Normaalisti tietoliikennetekniikassa käytetään liikennöinti etäisyyden kasvattamiseen toistimia, kuten tuhansia kilometrejä pitkissä merenpohjaan asennettavien valokaapeleiden ohena käytetään. Toistimia ei voida QKD:ssä käyttää, koska ne aiheuttavat kvanttifysiikan laeista johtuen saman efektin kuin kuuntelija (hyökkääjä) eli korruptoivat avaimen aiheuttamalla häiriötä (virheitä). Ja mikäli toistimia voisikin käyttää, niin hyökkääjä voisi siinä tapauksessa hyödyntää niitä hyväkseen. Ongelma kierretään luomalla verkko luotetuilla QKD toistimilla ja näin voidaan kommunikoida kauemmaksi.

KLJN on testattu toimivan jopa 2000km etäisyydellä. Tosin KLJN järjestelmän avaimenluontinopeus on testatussa järjestelmässä ollut hitaampi kuin QKD järjestelmissä etäisyyksillä, jossa molemmat järjestelmät voivat kommunikoida. [13] Molemmissa järjestelmissä avainten luontinopeus on riippuvainen etäisyydestä [13; 16]. Taulukossa 2 esitetään joitakin eri tutkimuksissa esitettyjä tiedonsiirto nopeuksia eri etäisyyksillä (huom. QKD:n nopeuksista kertovat luvut eivät ole kaupallisten järjestelmien nopeuksia).

Taulukko 2: QKD ja KLJN avaimen luontinopeuksia eri etäisyyksillä.

Etäisyys

(QKD) bit/s

(KLJN) bit/s [12]

20km 1 M [18] 10
100km 10,1 k [18] -
200km - 1
250km 15 [17] -
2000km - 0.1

Kuvasta 2 huomataan KLJN järjestelmän pystyvän viestimään vain 50% ajasta turvallisesti, sekä Taulukosta 2 nähdään kuinka KLJN on hitaampi luomaan avaimia kuin QKD. KLJN järjestelmän avaimen luontinopeuden parantamiseksi on kehitetty keinoja (esim. käytetään useampaa johdinta rinnakkain), mutta niihin ei tässä artikkelissa perehdytä tarkemmin, mutta lisää informaatiota löytyy lähteestä [4]. Järjestelmän on myös ehdotettu toimivan käytössä olevassa infrastruktuurissa kuten puhelinkaapeleissa, voimajohdoissa, jne [19].

Huomioita järjestelmästä lukijalle

KLJN järjestelmä on ymmärtääkseni otettu etenkin kryptologian piireissä hyvin skeptisesti vastaan, eikä suotta, sillä järjestelmästä on annettu vähän informaatiota ja moni tärkeä asia on annettu ilman minkäänlaisia perusteluita (esim. miksi käytetään lämpökohinaa muistuttavaa jännitettä?). Tämä saattaa johtua siitä, että tietääkseni KLJN järjestelmän keksijä Laszlo Kish on saanut idealleen patentin ja kehittää tällä hetkellä kaupallista järjestelmää.

Edellä mainittuun liittyen toinen ongelma on että KLJN järjestelmä on vielä vasta kehitteillä eikä käytännön järjestelmää ole kukaan muu tutkinut kuin itse järjestelmän kehittäjä. Joten kaikki väitteet siitä miten käytännön järjestelmä on suojattu kaikilta kehitetyiltä hyökkäyksiltä, perustuu ainoastaan järjestelmän kehittäjän omiin tutkimuksiin. Siksi väitteet on siten syytä ottaa tietyin varauksin, kunnes puolueeton kolmas osapuoli pääsee tutkimaan järjestelmää ja julkaisemaan omat tuloksensa.

Yhteenveto

Kun KLJN järjestelmästä saadaan kaupallinen versio kehitettyä ja sen turvallisuus todennettua kolmannen osapuolen toimesta, niin järjestelmä on hyvin varteenotettava kilpailija kvanttifysiikkaan perustuvalle QKD:lle. KLJN:n etuina QKD:en nähden on käytännön toteutuksen turvallisuus, yksinkertainen toimintaperiaate, pystytään valmistamaan halvalla ja pieneen kokoon, sekä sillä voidaan kommunikoida kauemmaksi. QKD:n selkeinä etuina on tällä hetkellä avainten luontinopeus, kaupallisia järjestelmiä on jo tarjolla, sekä järjestelmää on tutkittu huomattavasti enemmän.

Lähteet

SivuTiedotLaajennettu edit

Vaativuus Erityis
Valmius Valmis
Tyyppi Ydin
Luokitus Krypto
Mitä Luottamuksellisuus
Miltä Tahallinen uhka
Missä Järjestelmä
Kuka Titu-ammattilainen
Milloin Muu
Miksi Muu
Topic attachments
I Attachment Action Size Date Who Comment
KLJN_jannitteet.jpgjpg KLJN_jannitteet.jpg manage 4.7 K 31 Oct 2012 - 21:44 UnknownUser KLJN jännitetasot
KLJN_laajempi.jpgjpg KLJN_laajempi.jpg manage 50.2 K 31 Oct 2012 - 21:28 UnknownUser KLJN laajennettu malli
KLJN_simppeli.jpgjpg KLJN_simppeli.jpg manage 27.4 K 31 Oct 2012 - 21:27 UnknownUser KLJN ideaali malli
laajempi_leik.jpgjpg laajempi_leik.jpg manage 49.4 K 22 Nov 2012 - 19:29 UnknownUser  
simppeli.jpgjpg simppeli.jpg manage 26.5 K 22 Nov 2012 - 19:27 UnknownUser  
turvalliset_jannitetilat.jpgjpg turvalliset_jannitetilat.jpg manage 10.8 K 22 Nov 2012 - 19:29 UnknownUser  
Print version |  PDF  | History: r22 < r21 < r20 < r19 | 
Topic revision: r22 - 07 Dec 2012 - 22:00:57 - JuhoNurmi?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback