< Return to Video

38C3 - Breaking NATO Radio Encryption

  • 0:00 - 0:06
    Translated by Robert Ylitalo
    (KYBS2001 course assignment at JYU.FI)
  • 0:06 - 0:14
    ♪ (38C3 intromusiikki) ♪
  • 0:17 - 0:22
    Seuraava puhujamme on Lukas Stennes.
  • 0:22 - 0:27
    Hän on tohtoriopiskelija Ruhrin yliopistossa Bochumissa.
  • 0:27 - 0:30
    Hänen tutkimuksensa keskittyy kryptonalyysiin.
  • 0:30 - 0:37
    Hän oli myös osa tiimiä, joka paljasti haavoittuvuuden GPRS:ssä.
  • 0:37 - 0:42
    Itse asiassa hän sai parhaan julkaisun palkinnon tästä tutkimuksesta, jonka hän esittelee nyt.
  • 0:42 - 0:45
    Eli laatu on taattu.
  • 0:47 - 1:03
    Lukas puhuu NATOn radioliikenteen salauksen murtamisesta ja esittelee hyökkäyksen Yhdysvaltain armeijan ja NATOn käyttämää korkean taajuuden radioviestinnän salausalgoritmia vastaan.
  • 1:03 - 1:05
    Tervetuloa, antakaa suuret aplodit!
  • 1:14 - 1:19
    NATO ja Yhdysvaltain armeija käyttävät turvatonta salausta nimeltä Half Loop 24.
  • 1:19 - 1:22
    Tässä esityksessä kerron, miten sen voi murtaa.
  • 1:22 - 1:25
    Aloitetaan kuitenkin aivan alusta.
  • 1:25 - 1:29
    Selitetään ensin, mitä symmetrinen salaus oikeastaan on.
  • 1:29 - 1:33
    Tarvitsemme siihen kaksi päähenkilöämme: Alicen ja Benjaminin.
  • 1:35 - 1:40
    Huomasitte varmaan vitsin, yleensä kryptografiassa puhumme Bobista, ei Benjaminista.
  • 1:41 - 1:50
    Mutta koska käytän norsuja selityksissä, nimesin hänet Benjaminiksi.
  • 1:50 - 1:57
    Ja jos ihmettelet, miksi käytän norsuja, ne eivät ole tavallisia norsuja, vaan Casa-fantteja.
  • 1:57 - 2:05
    Casa-fantit ovat CASA:n maskotteja. CASA tarkoittaa "Cyber Security in the Age of Large-Scale Adversaries".
  • 2:05 - 2:10
    Se on Ruhrin yliopiston huippuyksikkö kyberturvallisuuden tutkimuksessa.
  • 2:11 - 2:16
    Nyt Alice ja Benjamin haluavat kommunikoida turvattoman kanavan yli.
  • 2:16 - 2:25
    Ongelmana on kolmas osapuoli, pahantahtoinen Charlie, joka salakuuntelee heidän viestintäänsä.
  • 2:25 - 2:32
    Tietenkään Alice ja Benjamin eivät halua Charlien kuuntelevan heitä.
  • 2:32 - 2:34
    Metaforana voidaan ajatella, että he tekevät näin:
  • 2:34 - 2:37
    He laittavat viestin erittäin vahvaan laatikkoon.
  • 2:37 - 2:40
    Laatikon täytyy olla niin vahva, ettei Charlie pysty avaamaan sitä.
  • 2:40 - 2:42
    Sitten he laittavat laatikkoon lukon.
  • 2:42 - 2:47
    Lukon täytyy olla niin vahva, ettei kukaan, ei edes Charlie voi murtaa sitä.
  • 2:47 - 2:49
    Sen jälkeen he voivat lähettää laatikon toisilleen.
  • 2:49 - 2:52
    Heillä molemmilla on avain, jolla laatikon voi avata ja sulkea.
  • 2:52 - 2:56
    Näin he voivat viestiä keskenään ilman, että Charlie voi salakuunnella.
  • 2:56 - 3:02
    Tätä samaa halutaan saavuttaa digitaalisessa maailmassa symmetrisellä salauksella.
  • 3:03 - 3:07
    Symmetriseksi sitä kutsutaan siksi, että avain on molemmilla osapuolilla sama.
  • 3:07 - 3:16
    Jos on symmetrinen salaus, on olemassa myös epäsymmetrinen salaus, jota kutsutaan myös julkisen avaimen salaukseksi. Symmetristä kutsutaan joskus salaisen avaimen salaukseksi.
  • 3:16 - 3:19
    Epäsymmetrisellä salauksella luodaan avain molemmille puolille.
  • 3:19 - 3:29
    Tämän jälkeen käytetään symmetristä salausta varsinaiseen viestien salaamiseen.
  • 3:31 - 3:35
    Salausta käytetään nykyään lähes kaikkialla.
  • 3:36 - 3:40
    Puhelimellasi, kun kirjoitat viestin esimerkiksi Signaliin, viestit salataan.
  • 3:40 - 3:44
    Toinen hyvä esimerkki on HTTPS eli TLS.
  • 3:44 - 3:51
    Kun avaat verkkosivun, selaimen osoitepalkissa näkyy lukon kuva, ja siitä näet lisätiedot.
  • 3:52 - 4:00
    Siellä lukee esimerkiksi jotain tyyliin: TLS, AES ja muuta vastaavaa.
  • 4:00 - 4:10
    Symmetrisessä salauksessa meitä kiinnostaa erityisesti AES, koska se on lohkosalaus, ja ei mikä tahansa lohkosalaus, vaan se lohkosalaus.
  • 4:10 - 4:13
    AES tarkoittaa "Advanced Encryption Standard".
  • 4:13 - 4:18
    Se on todennäköisesti maailman käytetyin salausalgoritmi.
  • 4:18 - 4:23
    AES ottaa syötteenä 128-bittisen tekstin.
  • 4:23 - 4:29
    Tätä syötettä kutsutaan selkotekstiksi, ja AES muuntaa sen salatekstiksi.
  • 4:29 - 4:35
    Salateksti on myös 128-bittinen, ja muunnos perustuu salausavaimeen.
  • 4:35 - 4:48
    AES:n turvallisuustakuu on se, että jos hyökkääjällä (Charliella) ei ole tietoa salaisesta avaimesta, hän ei pysty palauttamaan salatekstiä alkuperäiseksi.
  • 4:48 - 4:52
    Eli ilman avainta Charlie ei voi purkaa viestiä.
  • 4:53 - 4:58
    Se on jo itsessään erittäin hyödyllistä, mutta todellisessa maailmassa...
  • 4:58 - 5:01
    haluamme salata enemmän kuin vain yhden lohkon.
  • 5:02 - 5:11
    Siksi tarvitaan jotain, mitä kutsutaan toimintatavaksi (mode of operation), joka määrittelee, miten käsitellään useita lohkoja.
  • 5:12 - 5:15
    Kuten sanoin, AES on kehittynyt salausstandardi.
  • 5:15 - 5:20
    Se on standardi, jonka NIST määritteli 2000-luvun alussa.
  • 5:20 - 5:26
    Kyseessä on siis Yhdysvaltain standardi, ja siitä lähtien sitä on käytetty laajasti.
  • 5:28 - 5:37
    AES:n turvallisuustakuu on käytännössä se, ettei kukaan voi purkaa salausta ilman avainta. Mutta miksi näin on?
  • 5:37 - 5:39
    Miksi olemme niin varmoja, ettei kukaan voi tehdä sitä?
  • 5:39 - 5:42
    Koska kukaan ei ole vielä löytänyt toimivaa hyökkäystä.
  • 5:42 - 5:50
    Ei ole olemassa matemaattista todistetta, joka osoittaisi AES:n turvallisuuden, mutta kaikille tunnetuille hyökkäyksille se on osoittautunut vastustuskykyiseksi.
  • 5:50 - 5:57
    Siksi luotamme AES:iin, koska se on selvinnyt yli kahden vuosikymmenen ajan tutkimuksista.
  • 5:58 - 6:05
    Valitettavasti meillä ei ole aikaa käydä tänään läpi kaikkia yksityiskohtia tästä huippukiinnostavasta algoritmista.
  • 6:05 - 6:14
    Jos haluat tietää lisää, Christoph Parrin luento YouTubessa on ilmaiseksi katsottavissa kaikille.
  • 6:14 - 6:24
    Christoph on professori Bochumissa, ja kyseessä on kryptografian johdantoluento, jonka kyberturvallisuuden opiskelijat käyvät siellä.
  • 6:24 - 6:26
    Pieni sivuhuomautus.
  • 6:26 - 6:31
    Christoph on nykyään Bochumin Max Planck -instituutin perustajajohtaja.
  • 6:31 - 6:34
    Ja hän on todella hyvä.
  • 6:35 - 6:45
    Tässä oli siis lyhyt johdanto symmetriseen salaukseen, mutta tuskin olette täällä vain sen vuoksi. Olette täällä kuulemassa sotilasradiosta, eikö?
  • 6:45 - 6:45
    Niinpä.
  • 6:45 - 6:49
    Aloitetaan siis sotilasradiosta.
  • 6:49 - 6:53
    Aloitetaanpa näyttämällä teille tämä kuva.
  • 6:53 - 6:54
    Ja nyt...
  • 6:54 - 7:03
    Annan hetken aikaa miettiä, mikä on tämän kuvan ja tämän puheen eli sotilasradion välinen yhteys.
  • 7:04 - 7:06
    Itse asiassa mitään todellista yhteyttä ei ole.
  • 7:06 - 7:14
    Ainoa yhteys on minä itse, sillä otin tämän kuvan noin kaksi ja puoli vuotta sitten Ateenassa.
  • 7:15 - 7:18
    Olin Ateenassa ensimmäisessä tieteellisessä konferenssissani.
  • 7:18 - 7:24
    Kyseessä oli FSE, eli Fast Software Encryption -konferenssi, joka on
  • 7:24 - 7:27
    merkittävin konferenssi symmetrisessä kryptografiassa.
  • 7:28 - 7:43
    Konferenssin aikaan vietettiin myös Kreikan kansallispäivää, jolloin kaduille tuotiin panssarivaunuja ja taivaalle hävittäjiä. Tunnelma oli kaoottinen, ja silloin otin tämän kuvan.
  • 7:43 - 7:53
    Siellä konferenssissa osallistuin esitykseen, jonka nimi oli: "Cryptoanalysis of the SODA Cipher for HF Radio Automatic Link Establishment".
  • 7:53 - 7:57
    Tämä esitys kiinnitti huomioni, ja haluan lyhyesti selittää otsikon merkityksen.
  • 7:57 - 8:04
    Esityksen piti Marco Stanzari, joka myöhemmin työskenteli kanssamme Half Loop -salauksen murtamisessa.
  • 8:04 - 8:14
    Otsikossa "cryptanalysis" tarkoittaa salauksen analysointia eli yritystä murtaa se tai arvioida sen turvallisuutta.
  • 8:14 - 8:20
    SoDark on vain salauksen nimi, ja "cipher" tarkoittaa salausta.
  • 8:20 - 8:26
    Haluan kuitenkin puhua hieman HF-radiosta ja automaattisesta linkinmuodostuksesta.
  • 8:27 - 8:29
    Aloitetaan HF-radiosta.
  • 8:29 - 8:44
    HF tarkoittaa high frequency eli korkeataajuus. Kyseessä on 3–30 MHz välinen taajuusalue, joka mahdollistaa ns. skywave-ilmiön.
  • 8:44 - 8:53
    Skywave-ilmiössä radiosignaali heijastuu ylemmän ilmakehän hiukkasista takaisin maahan, jolloin se voi kulkea erittäin pitkiä matkoja.
  • 8:53 - 8:57
    Signaali voi jatkaa heijastumista uudelleen ja uudelleen.
  • 8:57 - 9:01
    Tämän vuoksi signaali voi kulkea todella pitkälle.
  • 9:02 - 9:10
    Tämän ansiosta viestintä onnistuu suurien etäisyyksien yli ilman mitään infrastruktuuria.
  • 9:10 - 9:14
    Et tarvitse satelliitteja, tukiasemia tai mitään muuta.
  • 9:14 - 9:17
    Tarvitset vain radiolaitteet molemmissa päissä.
  • 9:17 - 9:20
    Ketkä sitten ovat kiinnostuneita tällaisesta teknologiasta?
  • 9:20 - 9:21
    Tietysti armeija.
  • 9:21 - 9:25
    Myös diplomaatit ja kriisinhallintaviranomaiset.
  • 9:25 - 9:27
    On selvää, että jos
  • 9:27 - 9:35
    tapahtuu esimerkiksi maanjäristys, joka tuhoaa kaikki tukiasemat, tarvitaan viestintäjärjestelmä, joka ei vaadi infrastruktuuria.
  • 9:35 - 9:38
    Se on tällaisessa tilanteessa erittäin hyödyllinen.
  • 9:38 - 9:49
    HF-radion sisällä käytettiin SoDark-salausta, jota Marco analysoi. Half Loop tuli sen tilalle ja sitä käytettiin käsienpuristussanomien salaamiseen.
  • 9:49 - 9:57
    Sen avulla pyrittiin varmistamaan viestinnän luottamuksellisuus ja aitous.
  • 9:58 - 10:05
    Puhutaanpa automaattisesta linkinmuodostuksesta, sillä kuten ehkä arvaat, HF-radio ei ole niin yksinkertainen.
  • 10:05 - 10:07
    Kyse ei ole vain siitä, että lähetät signaalin ja se toimii.
  • 10:07 - 10:20
    Todellisuudessa se on monimutkaista, ja vielä 80-luvun puoliväliin saakka tarvittiin erittäin taitavia operaattoreita molemmissa päissä, jotta yhteys saatiin muodostettua.
  • 10:20 - 10:26
    Tämän helpottamiseksi kehitettiin automaattinen linkinmuodostusprotokolla, lyhyesti ALE.
  • 10:26 - 10:27
    Ja siinä
  • 10:27 - 10:30
    Emme mene nyt yksityiskohtiin.
  • 10:30 - 10:31
    Yksinkertaistamme paljon.
  • 10:31 - 10:36
    Perusidea on, että alussa tapahtuu kolmivaiheinen kättely.
  • 10:36 - 10:40
    Tämä on hyvin yleistä viestinnässä.
  • 10:40 - 10:44
    Alice lähettää viestin, jossa hän sanoo "Hei, olen Alice"
  • 10:44 - 10:46
    ja haluan puhua Bobille.
  • 10:46 - 10:49
    Sitten Bob vastaa vastaavalla viestillä: "Olen Bob"
  • 10:49 - 10:51
    ja haluan viestiä Alicen kanssa.
  • 10:51 - 10:55
    Sitten Alice lähettää uudelleen viestin: "Olen Alice"
  • 10:55 - 10:57
    ja haluan viestiä kanssasi, Bob.
  • 10:57 - 11:04
    Tässä siis hyvin yksinkertaistettuna linkki muodostetaan ja viestintä alkaa.
  • 11:04 - 11:08
    Se voi olla ääntä, keskustelua tai dataa.
  • 11:08 - 11:12
    Esimerkiksi sähköposteja voidaan lähettää tämän kautta.
  • 11:12 - 11:15
    Viestintä jatkuu, ja lopuksi lähetetään lopetusviesti.
  • 11:15 - 11:19
    Alice sanoo: "Haluan lopettaa viestinnän nyt."
  • 11:20 - 11:23
    Kuten huomaat, tässä näkyy lukon kuva.
  • 11:23 - 11:25
    Tämä johtuu siitä, että nämä viestit
  • 11:26 - 11:34
    kättely- ja lopetusviestit salataan joko SoDark:lla tai Half Loopilla.
  • 11:34 - 11:37
    SoDark on Half Loopin edeltäjä.
  • 11:37 - 11:45
    Sitä käytettiin todennäköisesti vuoteen 2017 saakka, mutta nykyään viestit salataan Half Loopilla.
  • 11:45 - 11:48
    Miksi salaus tarvitaan tässä?
  • 11:48 - 11:52
    Kun kättelyviestit salataan vahvasti...
  • 11:52 - 11:56
    saadaan aikaan useita hyviä ominaisuuksia.
  • 11:56 - 12:06
    Ensinnäkin viestien luottamuksellisuus, eli kukaan ilman avainta ei tiedä, ketkä viestivät.
  • 12:06 - 12:09
    Kuten sanoin, viesti sisältää Alicen ja Bobin identiteetit.
  • 12:09 - 12:14
    Ilman salausta kuka tahansa näkisi, että Alice ja Bob viestivät keskenään.
  • 12:14 - 12:18
    Ja kyllä, tiedän että sanoin alussa että Bob on Benjamin, mutta ei se haittaa.
  • 12:19 - 12:21
    Toinen hyöty on
  • 12:21 - 12:31
    todennus. Jos Alice ja Bob käyttävät salaista avainta, vain he voivat purkaa viestin ja varmistaa, että se todella tuli toiselta osapuolelta.
  • 12:31 - 12:42
    Jos Benjamin purkaa viestin ja se sanoo "Hei, olen Alice", hän voi luottaa siihen, että viesti todella tuli Alicelta. Tämä on tärkeää HF-radiolle, kun linkki muodostetaan.
  • 12:42 - 12:51
    Et voi vain kuunnella toisia ja muodostaa yhteyttä mihin tahansa, joten todennus tukee myös saatavuutta.
  • 12:52 - 12:54
    Se auttaa varmistamaan viestinnän jatkuvuuden.
  • 12:54 - 13:08
    Teoriassa kuka tahansa, jolla on voimakas lähetin, voi häiritä taajuutta ja estää Alicea ja Benjaminia viestimästä.
  • 13:08 - 13:18
    Mutta jos sinulla on avain, voit lähettää tarvittavat kolme viestiä ja linkki muodostuu. Sitten Benjamin ei enää voi muodostaa yhteyttä Aliceen.
  • 13:18 - 13:22
    Tämäkin osoittaa, miksi salaus on tärkeää.
  • 13:22 - 13:32
    Lopuksi tällä dialla haluan korostaa, että Half Loop, eli salaus jonka aiomme murtaa seuraavaksi, käytetään vain kättely- ja lopetusviesteissä.
  • 13:32 - 13:40
    Kaikki mitä selitän koskee vain kättelyviestejä, ei varsinaista siirrettävää sisältöä kuten puhetta tai tiedostoja.
  • 13:41 - 13:48
    Mennään siis seuraavaksi itse Half Loop 24 -algoritmin yksityiskohtiin, eli algoritmiin, jonka me murtoimme.
  • 13:48 - 13:50
    Half Loop on itse asiassa...
  • 13:50 - 13:53
    määritelty jossain sotilasstandardissa.
  • 13:54 - 14:04
    Jos tunnet FIPS 197 -standardin, eli AES:n virallisen spesifikaation, tämä näyttää sinusta ehkä tutulta.
  • 14:04 - 14:05
    Tässä on useita vaiheita.
  • 14:05 - 14:09
    SubBytes, RotateRows, MixColumns ja AddRoundKey.
  • 14:09 - 14:15
    Nuo vaiheet ovat hyvin samankaltaisia kuin AES:ssä, koska Half Loop muistuttaa paljon AES:ää.
  • 14:15 - 14:17
    Ja jos mietit, onko tämä
  • 14:18 - 14:19
    dokumentti salainen tai jotain sellaista,
  • 14:19 - 14:20
    niin ei ole.
  • 14:20 - 14:21
    Se on julkinen.
  • 14:21 - 14:29
    Kuten mainitsin, olin Ateenassa, ja Marcos piti esityksen Half Loopin edeltäjästä.
  • 14:29 - 14:34
    Esityksen lopussa hän mainitsi, että nyt käytetään tätä Half Loop -salausta.
  • 14:34 - 14:36
    Kysyin, onko se julkinen?
  • 14:36 - 14:36
    Hän sanoi kyllä.
  • 14:36 - 14:38
    Sen voi vain etsiä Googlesta.
  • 14:38 - 14:42
    Sieltä löytyy Yhdysvaltain puolustusministeriön sivu, josta PDF:n voi ladata.
  • 14:42 - 14:44
    Täytyy vain selata alaspäin.
  • 14:44 - 14:46
    Ehkä noin 300 sivua.
  • 14:46 - 14:50
    Liitteessä G on Half Loopin spesifikaatio.
  • 14:51 - 15:03
    Annan nyt lisää yksityiskohtia. Half Loopista on kolme versiota: 24, 48 ja 96. Tässä tarkastellaan versiota 24. Tämä numero tarkoittaa lohkon kokoa.
  • 15:03 - 15:04
    Eli lohkon koko on 24 bittiä.
  • 15:04 - 15:14
    Muistathan, että AES:ssä sekä selkoteksti että salattu teksti olivat 128 bittiä. Half Loopissa ne ovat 24, 48 tai 96 bittiä. Nyt käsittelemme pienintä versiota.
  • 15:14 - 15:18
    muut versiot jätetään tämän esityksen ulkopuolelle.
  • 15:18 - 15:26
    Half Loop on niin sanottu "tweakable" lohkosalaus, ja tässä diassa kutsun sitä kirjaimella E, koska en halua kirjoittaa "Half Loop" joka paikkaan.
  • 15:27 - 15:42
    Kuten mainitsin, se korvasi SoDark-salauksen. Sivuhuomautuksena: SoDark käytti vain 56-bittisiä avaimia, ja jos tiedät jotain kryptografiasta, 56 bittiä ei riitä.
  • 15:42 - 15:46
    Sen pystyy helposti murtamaan brute forcella.
  • 15:46 - 15:57
    Ensisilmäyksellä on hyvä, että vuodesta 2017 alkaen Half Loop on ollut virallisesti määritelty, ja siinä käytetään 128-bittistä avainta.
  • 15:57 - 16:07
    Oikealla olevassa kuvassa näkyy 24-bittinen selkoteksti, 24-bittinen salattu teksti ja 128-bittinen avain.
  • 16:07 - 16:13
    Mutta toisin kuin AES:ssä, tässä on lisäsyöte nimeltä T, joka on niin sanottu tweak.
  • 16:13 - 16:20
    Tweak koostuu nykyisestä ajasta, sanalaskurista ja käytetystä radiotaajuudesta.
  • 16:20 - 16:30
    Puhumme tästä lisää hetken kuluttua, mitä se tarkoittaa ja miksi se on hyödyllinen ominaisuus.
  • 16:30 - 16:42
    Kuten sanoin, Half Loop on vahvasti inspiroitunut AES:stä. Aluksi se voi tuntua hyvältä asialta, mutta yksityiskohdilla on merkitystä.
  • 16:43 - 16:48
    Miksi voidaan sanoa, että se on vahvasti inspiroitunut AES:stä?
  • 16:48 - 16:50
    Koska se käyttää samoja komponentteja.
  • 16:50 - 17:03
    Hetken kuluttua käymme läpi Half Loopin tarkemmin ja näemme, että S-Box, eli substitution box, on otettu suoraan AES:stä. Se on lohkosalauksen keskeinen osa.
  • 17:03 - 17:09
    He käyttävät samaa S-Boxia, mikä on järkevää, koska AES:n S-Box on vahva.
  • 17:09 - 17:12
    He käyttävät myös lähes samaa avainlaajennusta eli key schedulea.
  • 17:12 - 17:18
    Jos et tiedä mitä key schedule tarkoittaa, ei hätää. Käymme sen läpi pian.
  • 17:18 - 17:31
    AES:ssä tila on 16 tavua eli 128 bittiä, kirjoitettuna yleensä 4x4-matriisina. Half Loopissa se on kutistettu 3x1-matriisiksi.
  • 17:31 - 17:35
    Jokainen matriisin kohta on 1 tavu eli elementti joukossa F2^8.
  • 17:36 - 17:41
    AES:ssä käytetään 10 kierrosta, ja sama pätee täällä.
  • 17:42 - 17:44
    Nyt meillä on tämä valmis.
  • 17:44 - 17:46
    Haluan kertoa lisää tästä tweakista.
  • 17:46 - 17:48
    Miksi tarvitsemme sen?
  • 17:48 - 17:50
    Tai miksi haluamme tweakattavan lohkosalauksen?
  • 17:50 - 17:54
    Katsotaanpa kuuluisaa ECB-Tux-esimerkkiä.
  • 17:54 - 17:59
    Mitä tapahtuu, jos salaamme kuvan käyttäen ECB-tilaa eli electronic codebook -tilaa?
  • 18:00 - 18:07
    Muistathan, että AES tai muut lohkosalaimet salaavat yhden lohkon kerrallaan.
  • 18:07 - 18:09
    Mutta yleensä kuva...
  • 18:09 - 18:16
    on useampaa lohkoa. Kuvitellaan esimerkin vuoksi, että yksi lohko vastaa yhtä pikseliä.
  • 18:17 - 18:27
    Jos salaat jokaisen pikselin samalla avaimella ja ilman yhteyttä lohkojen välillä, eli electronic codebook -tilassa, niin silloin...
  • 18:27 - 18:31
    Lyhyesti sanottuna, ECB:n kanssa salattu kuva näyttää tältä.
  • 18:31 - 18:34
    Ja tietenkään tämä ei ole turvallista salausta, eikö?
  • 18:34 - 18:39
    Turvallinen salaus tarkoittaa, että alkuperäisestä viestistä ei paljastu mitään tietoa.
  • 18:39 - 18:45
    Mutta tässä on selvästi nähtävissä, että kyseessä on Tux-kuva.
  • 18:46 - 18:56
    Yleensä käytetään jotain toimintatilaa, kuten GCM. Esimerkiksi HTTPS:ssä käytetään GCM:ää.
  • 18:56 - 19:03
    Mutta jos käytät tweakattavaa lohkosalausta, jossa on lisäsyöte, voit käyttää ECB:tä. Se on kätevää, koska ECB on yksinkertainen.
  • 19:03 - 19:08
    Jos käytät tweakattavaa lohkosalausta ECB-tilassa, saat...
  • 19:08 - 19:09
    halutun lopputuloksen.
  • 19:09 - 19:13
    Saat vain kohinaa, eikä mitään tietoa paljastu.
  • 19:13 - 19:19
    Tweak on lisäsyöte, joka muuttuu vaikka selkoteksti ei muuttuisi.
  • 19:19 - 19:27
    Jos meillä on valkoinen pikseli ja toinen samanlainen valkoinen pikseli, saadaan ilman tweakia sama salattu tulos.
  • 19:27 - 19:37
    Mutta jos lisätään pikselin sijainti eli x- ja y-koordinaatit lisäsyötteenä salaimeen, saadaan eri salattu tulos, vaikka sisältö oli sama.
  • 19:37 - 19:40
    Tällöin saadaan taas turvallinen ja hyödyllinen lopputulos.
  • 19:40 - 19:44
    Ja tulos on taas turvallinen.
  • 19:45 - 19:55
    Lisäksi kannattaa käyttää esimerkiksi laskuria, jotta kun salataan eri kuvia, samassa kohdassa olevat pikselit eivät tuota samaa salaustulosta.
  • 19:55 - 19:59
    Mutta se on vain sivuhuomautus.
  • 19:59 - 20:06
    Mennään nyt syvemmälle ja tarkastellaan teknisesti Half Loop 24:n kierrosfunktiota.
  • 20:06 - 20:14
    Nämä ovat operaatioita, jotka toistetaan uudelleen ja uudelleen. Half Loopissa niitä suoritetaan 10 kertaa.
  • 20:15 - 20:18
    Näiden jälkeen saadaan salattu tulos eli ciphertext.
  • 20:18 - 20:24
    Vasemmalla puolella on syöte, eli joko selkoteksti tai nykyinen tila, jos ei olla ensimmäisellä kierroksella.
  • 20:24 - 20:30
    Tämä on 24 bittiä, joka jaetaan kolmeen tavuun, eli 3 kertaa 8 bittiä.
  • 20:30 - 20:33
    Ensimmäinen vaihe on kierrosavaimen lisäys.
  • 20:33 - 20:36
    Kierrosavain johdetaan
  • 20:36 - 20:43
    128-bittisestä pääavaimesta, ja se yhdistetään tilaan XOR-operaatiolla, eli eksklusiivisella TAI-operaatiolla.
  • 20:43 - 20:45
    Tämä tehdään jokaiselle bitille.
  • 20:45 - 20:47
    Jos bitit ovat samat, tulos on nolla.
  • 20:47 - 20:53
    Jos bitit ovat eri, tilabitti ja avainbitti, tulos on yksi.
  • 20:53 - 21:03
    Seuraava vaihe on S-box, ja kuten sanoin, tässä käytetään AES:n S-boxia. Toteutuksessa se on vain taulukko, jossa tehdään haku.
  • 21:03 - 21:08
    Syöte on 8-bittinen, joten mahdollisia arvoja on 256.
  • 21:08 - 21:12
    Taulukossa on jokaiselle syötteelle oma ulostuloarvo.
  • 21:12 - 21:21
    Turvallisuuden kannalta taulukon sisältö on tärkeä, mutta meille se ei ole nyt oleellista.
  • 21:21 - 21:27
    Seuraava vaihe on lineaarikerros, joka koostuu kahdesta osasta.
  • 21:27 - 21:31
    Ensimmäinen on RotateRow, joka tekee
  • 21:32 - 21:47
    bittien kierron jokaisessa tavussa. Sitten MixedColumn, joka voidaan kuvata matriisikertolaskuna binäärisellä 24x24-matriisilla.
  • 21:47 - 21:53
    Koska toimimme biteillä, laskut ovat XOR-operaatioita.
  • 21:53 - 21:57
    Toisin sanoen, kaikki lasketaan modulo 2, eli jokaisen bitin lopputulos on joko 0 tai 1.
  • 21:57 - 22:00
    Lopputulos on taas 24 bittiä.
  • 22:00 - 22:03
    24-bittinen tulos.
  • 22:03 - 22:05
    Tehdään lyhyt esimerkki.
  • 22:05 - 22:10
    Syöte on 0x01, 0x02 ja 0x03 heksadesimaaleina.
  • 22:10 - 22:15
    0 tarkoittaa 8 nollabittiä, 1 on kolme nollabittiä ja yksi ykkönen lopussa.
  • 22:15 - 22:20
    Meillä on myös kierrosavain, ja ensimmäinen vaihe on kierrosavaimen lisäys.
  • 22:20 - 22:23
    Tässä on sen operaation tulos.
  • 22:23 - 22:30
    Jos meillä on 0x7F ja 0x01, vähiten merkitsevä bitti käännetään, jolloin tulokseksi tulee 0x7E.
  • 22:30 - 22:31
    Ja nyt
  • 22:31 - 22:39
    Tässä diassa en tietenkään näytä kaikkia 256 S-boxin arvoa, mutta 0x7E löytyy, ja katsotaan mitä saadaan.
  • 22:39 - 22:42
    Syöte on 0x7E, ja ulostulo on 0xF3.
  • 22:42 - 22:44
    Aika yksinkertaista, vai mitä?
  • 22:44 - 22:54
    Lineaarikerros voi olla hieman vaikeampi ymmärtää, mutta luota siihen, että matriisikertolaskun tuloksena saadaan tämä uusi tila.
  • 22:54 - 22:59
    Kun tehdään välivaiheet, näet täällä rotaation ja sen jälkeen MixedColumn-vaiheen.
  • 22:59 - 23:00
    MixedColumn on myös...
  • 23:00 - 23:02
    operaatio AES:ssä.
  • 23:04 - 23:07
    Tämän jälkeen saadaan tämä ulostulo.
  • 23:07 - 23:09
    Kuten sanoin, Half Loopissa on 10 kierrosta.
  • 23:09 - 23:13
    Eli tämä kierrosfunktio suoritetaan 10 kertaa.
  • 23:13 - 23:20
    Ensimmäisessä kierroksessa lisätään kierrosavain 0, tehdään S-box, lineaarikerros ja siirrytään seuraavaan kierrokseen.
  • 23:20 - 23:27
    Lisätään kierrosavain 1, tehdään S-box, lineaarikerros ja niin edelleen.
  • 23:27 - 23:30
    Tämä toistetaan 10 kertaa, mutta
  • 23:30 - 23:35
    viimeinen kierros on hieman erilainen, koska lineaarikerros ei enää tuo lisäturvaa, joten se voidaan jättää pois.
  • 23:35 - 23:41
    Lisätään kuitenkin vielä yksi kierrosavain, muuten hyökkääjä voisi laskea takaisinpäin.
  • 23:41 - 23:44
    Tarvitaan siis avaimen lisäys aivan lopussa.
  • 23:44 - 23:45
    Siinä on koko Half Loop.
  • 23:45 - 23:46
    Tässä on koko algoritmi.
  • 23:46 - 23:52
    Syötetään selkoteksti vasemmalta, tehdään 10 kierrosta ja saadaan salattu teksti.
  • 23:52 - 23:58
    Mutta yksi asia puuttuu, en ole vielä selittänyt, miten kierrosavaimet saadaan, eikö niin?
  • 23:58 - 23:58
    Eli tietenkin...
  • 23:58 - 24:01
    Meillä on pääavain, mutta miten kierrosavaimet saadaan?
  • 24:01 - 24:03
    Tätä varten käytetään avainlaajennusta eli key schedulea.
  • 24:04 - 24:10
    Avainlaajennus on lainattu AES:stä pienin poikkeuksin, oikeastaan kahdella poikkeuksella.
  • 24:10 - 24:14
    Ensinnäkin kierrosavaimia tarvitaan vähemmän, joten määrä on pienempi.
  • 24:14 - 24:20
    Toiseksi meillä on tweak, joka XORataan alussa. Avain jaetaan kahteen osaan.
  • 24:20 - 24:24
    Ensimmäiset 64 bittiä ja loput 64 bittiä.
  • 24:24 - 24:27
    Ensimmäiseen 64 bittiin lisätään tweak T.
  • 24:27 - 24:29
    Tämä on siis
  • 24:29 - 24:33
    käytetty taajuus, aikaleima ja sanalaskuri.
  • 24:34 - 24:38
    Tämä XORataan avaimen ensimmäiseen osaan ja sitten suoritetaan AES-tyyppinen avainlaajennus.
  • 24:38 - 24:41
    AES:n key schedule on melko yksinkertainen.
  • 24:41 - 24:48
    Siinä käytetään XOR-operaatioita 32-bittisille sanoille, ja se on FISO-tyyppinen verkko.
  • 24:48 - 24:50
    Käytetään funktiota G.
  • 24:50 - 24:57
    Siitä ei tarvitse huolehtia, mutta siinä on lisää S-boxeja ja bittien uudelleenjärjestelyä.
  • 24:57 - 24:59
    Miten kierrosavaimet sitten saadaan?
  • 24:59 - 25:06
    Otetaan ensimmäiset 24 bittiä kierrosavaimeksi 0, seuraavat 24 bittiä kierrosavaimeksi 1 ja niin edelleen.
  • 25:06 - 25:09
    Lopulta jää yksi tavu jäljelle.
  • 25:09 - 25:13
    Sitten suoritetaan AES-avainlaajennus uudelleen.
  • 25:13 - 25:14
    Saadaan uusi tila.
  • 25:14 - 25:19
    Otetaan taas bitit käyttöön, jatketaan vain bittien käyttämistä.
  • 25:19 - 25:21
    Ja sitten ollaankin jo melkein valmiita.
  • 25:21 - 25:24
    Kierrosavain 10:stä on kasassa kaksi tavua.
  • 25:24 - 25:26
    Tarvitaan vielä yksi tavu.
  • 25:26 - 25:34
    Toistetaan funktio, mutta säilytetään vain ensimmäinen tavu ja hylätään loput.
  • 25:34 - 25:41
    Nyt meillä on kaikki 264 bittiä, eli 24 bittiä kertaa 11 kierrosta.
  • 25:44 - 25:49
    Nyt kun tiedämme, miten Half Loop toimii, katsotaan itse hyökkäystä.
  • 25:49 - 25:54
    Tämä hyökkäys perustuu kahteen tutkimusjulkaisuun.
  • 25:54 - 26:07
    Ensimmäinen artikkeli on "Breaking Half Loop 24", yhteistyössä Markus Dansarien kanssa, joka esitteli SoDarkin, Half Loopin edeltäjä, joka alun perin kiinnitti huomiomme.
  • 26:07 - 26:11
    Mukana oli myös Patrick Derbez Ranskasta ja ohjaajani Gregor Leander Bochumista.
  • 26:12 - 26:22
    Artikkelin lopputulos oli, että Half Loop 24 ei ole turvallinen. Meillä on toimiva hyökkäys, ja se on varsin vahva hyökkäys.
  • 26:22 - 26:23
    Sanotaanko näin...
  • 26:24 - 26:32
    Teoreettisesti katsoen, sanoimme että salaus voidaan murtaa, jos hyökkääjä voi salakuunnella 500 vuoden ajan.
  • 26:32 - 26:43
    Teoriassa tämä on erittäin vahva murtaminen, mutta käytännössä tuskin haittaa, jos hyökkääjän täytyy kerätä 500 vuoden viestintädataa.
  • 26:43 - 26:53
    Esitin tämän artikkelin viime vuonna Japanissa, FSE-konferenssissa, joka on Fast Software Encryption -konferenssi.
  • 26:53 - 27:03
    Kollegani Sharam, joka on nyt takaisin Bochumissa mutta tuolloin oli Nijmegenissä Alankomaissa, tuli luoksemme ja sanoi, että hyökkäystä voitaisiin ehkä parantaa.
  • 27:03 - 27:03
    Hyökkäystä voisi parantaa.
  • 27:03 - 27:06
    Panostimme siihen lisää aikaa.
  • 27:06 - 27:10
    Ja huomasimme, että sitä voi parantaa merkittävästi.
  • 27:10 - 27:14
    Tietenkin koska olemme akateemisessa maailmassa, kirjoitimme uuden artikkelin.
  • 27:14 - 27:20
    Esitin sen tänä vuonna FSE-konferenssissa Leuvenissa.
  • 27:20 - 27:22
    Saimme myös parhaimman paperin palkinnon.
  • 27:22 - 27:25
    Mikä oli tietysti meille todella hienoa.
  • 27:26 - 27:35
    Ennen kuin menemme yksityiskohtiin, haluan korostaa että kryptografiset hyökkäykset voivat tuntua oudoilta, koska hyökkääjät ovat todella voimakkaita.
  • 27:35 - 27:45
    Hyökkäyksissä hyökkääjällä, esimerkiksi Charliella, on usein oikeus pyytää Alicelta viestien salaamista, vaikka Alice säilyttää salaisen avaimen.
  • 27:45 - 27:50
    Charlie voi siis pyytää Alicea salaamaan jonkin selkotekstin.
  • 27:50 - 27:52
    Ja Alice tekee sen.
  • 27:52 - 27:55
    Tämä on tietysti hieman outoa, koska oikeassa elämässä näin ei pitäisi tapahtua.
  • 27:55 - 28:00
    Charlie ei voi vain mennä Alicen luo ja pyytää, että "salaisitko tämän puolestani".
  • 28:00 - 28:04
    Mutta se menee vielä oudommaksi: Charlie voi myös pyytää purkamaan salauksen.
  • 28:04 - 28:07
    Charlie voi sanoa "puratko tämän salatekstin C:n".
  • 28:07 - 28:13
    Alice vastaa selkotekstillä P, eli antaa alkuperäisen viestin.
  • 28:13 - 28:15
    Tätä jatketaan uudestaan ja uudestaan.
  • 28:15 - 28:20
    Lopulta Charlie yrittää ehkä selvittää salaisen avaimen.
  • 28:21 - 28:31
    Voisimme tehdä asiat vielä hullummiksi ja sanoa, että Charlie yrittää vain erottaa käyttikö Alice oikeaa salausta vai täysin satunnaista järjestelmää.
  • 28:32 - 28:36
    Mutta oletetaan, että Charlie yrittää selvittää avaimen.
  • 28:36 - 28:40
    Saatat miettiä, miksi hyökkääjät esitetään näin voimakkaina.
  • 28:40 - 28:46
    Syynä on se, että jos salaus kestää näin voimakkaita hyökkääjiä, voimme luottaa siihen entistä enemmän.
  • 28:46 - 28:53
    On monia esimerkkejä siitä, että tätä ei alun perin suunniteltu.
  • 28:53 - 29:12
    Esimerkiksi hyökkäyksissä, kuten Bleichenbacherin hyökkäyksessä, ei tarkoituksella anneta palautetta purkamisesta, mutta käytännössä saattaa paljastua esimerkiksi ensimmäinen bitti purusta.
  • 29:12 - 29:21
    Jos järjestelmäsi on turvallinen tällaisia hyökkäyksiä vastaan, olet hyvällä tiellä. Ja nyt viimeinen puuttuva palanen on differentiaalikryptoanalyysi.
  • 29:21 - 29:30
    Emme tietenkään mene tämän keskeisen menetelmän kaikkiin yksityiskohtiin. Se kehitettiin 1990-luvun alussa Bihamin ja Shamirin toimesta.
  • 29:31 - 29:38
    Muuten, Shamir-nimi voi kuulostaa tutulta, hän on sama henkilö kuin Shamirin salausjakojärjestelmässä ja RSA:ssa.
  • 29:38 - 29:40
    RSA:n S-kirjain tulee Shamirista.
  • 29:40 - 29:44
    Shamir oli erittäin aktiivinen ja arvostettu kryptografi.
  • 29:44 - 29:47
    He kehittivät differentiaalikryptoanalyysin.
  • 29:47 - 29:48
    Idea siinä on...
  • 29:48 - 29:53
    että ei katsota vain yhtä selkoteksti–salateksti-paria, vaan myös toista selkotekstiä.
  • 29:53 - 30:00
    Tässä on selkoteksti P ja toinen selkoteksti, joka on P XOR delta, niillä on siis tietty ero.
  • 30:00 - 30:04
    Eli kaksi selkotekstiä eroavat toisistaan tietyllä erotuksella delta.
  • 30:04 - 30:10
    Tässä käytän pientä delta-merkkiä kuvaamaan tätä arvoa.
  • 30:10 - 30:19
    Yleisesti käytämme isoa deltaa, kolmion muotoista merkkiä, osoittamaan että puhumme erotuksesta.
  • 30:19 - 30:23
    Delta P tarkoittaa P:n ja P XOR deltan välistä erotusta.
  • 30:23 - 30:32
    Koska kyseessä on XOR, P XOR P XOR delta antaa erotukseksi delta.
  • 30:32 - 30:46
    Differentiaalikryptoanalyysin idea on syöttää tietty ero sisään ja toivoa, että ulostulosta voi päätellä jotakin.
  • 30:46 - 30:52
    Merkintätavasta: emme näytä molempia salausajoja dioissa, vaan vain yhden ja sen erotuksen.
  • 30:52 - 30:55
    Näytämme vain sen erotuksen, joka kiinnostaa meitä.
  • 30:56 - 31:04
    Ja itse asiassa analyysiä ei tarvitse tehdä koko algoritmille, riittää, että se tehdään vain osalle algoritmista.
  • 31:06 - 31:09
    Nyt meillä on kaikki mitä tarvitsemme ja voimme siirtyä itse hyökkäykseen.
  • 31:09 - 31:12
    Mennään siis vielä teknisemmälle tasolle.
  • 31:12 - 31:13
    Tämän kuvan olet jo nähnyt.
  • 31:13 - 31:15
    Kyseessä on taas key scheluder.
  • 31:15 - 31:21
    Half Loopissa meillä on syötteenä paitsi selkoteksti myös tweak.
  • 31:21 - 31:25
    Oletetaan nyt, että hyökkääjä voi myös hallita tätä tweakia.
  • 31:25 - 31:27
    Käytännössä näin ei tietenkään ole.
  • 31:27 - 31:30
    Mutta oletetaan aluksi, että voimme hallita sitä täysin.
  • 31:30 - 31:37
    Katsotaan myöhemmin, miten tämä voidaan toteuttaa käytännössä.
  • 31:37 - 31:41
    Seuraavaksi asetamme eron tweak-arvoon.
  • 31:41 - 31:44
    Tässä kolmas tavu on se, jossa ero delta on.
  • 31:45 - 31:54
    Tweak on 64-bittinen ja kaikki muut tavut paitsi kolmas ovat nollia. Ero on siis vain kolmannessa tavussa.
  • 31:54 - 32:00
    Salaamme siis kaksi selkotekstiä, ja tweakit ovat samanlaisia paitsi kolmannen tavun kohdalla.
  • 32:01 - 32:05
    Nyt haluamme selvittää, mitä tapahtuu kierrosavaimille.
  • 32:05 - 32:07
    Tämä on itse asiassa melko yksinkertaista.
  • 32:07 - 32:12
    Jos ero on kolmannessa tavussa, myös ensimmäisen kierroksen avaimen kolmannessa tavussa on ero.
  • 32:12 - 32:13
    Eli ensimmäinen kierrosavain
  • 32:13 - 32:17
    on muuten sama, mutta kolmannessa tavussa on delta.
  • 32:17 - 32:24
    Kaikki muut ensimmäisen kierroksen bitit pysyvät samoina, koska ero on vain kolmannessa tavussa.
  • 32:24 - 32:30
    Seuraavaksi sovelletaan key scheluderin kierrosfunktiota.
  • 32:30 - 32:33
    Koska käytössä on XOR, ero jatkaa etenemistään.
  • 32:33 - 32:36
    Meillä on delta tässä, ja sitten delta myös tässä.
  • 32:36 - 32:39
    Eli ei eroa muissa kierrosavaimissa,
  • 32:39 - 32:43
    mutta kierrosavain 6:n ensimmäisessä tavussa ero ilmenee taas.
  • 32:43 - 32:56
    Eli jos salaamme P ja P-prime, joissa on eri tweakit, niin kierrosavaimen 6 ensimmäinen tavu eroaa näiden salausten välillä.
  • 32:58 - 33:06
    Ero etenee edelleen, joten myös kierrosavaimissa 7, 8 ja 9 on yhden tavun ero.
  • 33:06 - 33:09
    Ja jos ihmettelet,
  • 33:10 - 33:15
    Tämä data ei vaikuta muihin kohtiin, joten ne pysyvät samoina.
  • 33:15 - 33:20
    Nyt tarkastellaan Half Loopin koko rakennetta uudelleen.
  • 33:20 - 33:25
    Punaisella näkyvät ne kierrosavaimet, jotka eroavat näiden kahden salausajon välillä.
  • 33:25 - 33:27
    Voit jopa merkitä tarkat tavujen paikat.
  • 33:27 - 33:32
    Ero ilmestyy tänne, tänne, tänne, tänne ja tänne.
  • 33:32 - 33:39
    Hyökkäyksen tärkein vaihe on käyttää sellaista selkotekstiparia, jonka erotus vastaa tätä rakennetta.
  • 33:39 - 33:43
    Eli käytämme selkotekstejä, joiden kaksi ensimmäistä tavua ovat samat ja kolmas tavu eroaa delta-arvolla.
  • 33:43 - 33:51
    Delta voi olla mikä tahansa yhden tavun arvo, kunhan se ei ole nolla.
  • 33:51 - 33:54
    Kaikki paitsi nolla kelpaavat.
  • 33:55 - 34:00
    Erotukset kumoavat toisensa ja saamme tilan erotukseksi ison deltan nolla.
  • 34:00 - 34:08
    Tämä tarkoittaa, että ensimmäisen kierrosavaimen jälkeen salauksissa tila on sama, vaikka tweakit ja selkotekstit olivat eri.
  • 34:08 - 34:10
    Eli ensimmäisen kierrosavainvaiheen jälkeen tila on identtinen.
  • 34:10 - 34:16
    Jos syöte S-boxiin on sama, myös S-boxin ulostulo on sama.
  • 34:16 - 34:21
    Jos lineaarikerroksen syöte on sama, sen ulostulo on myös sama.
  • 34:21 - 34:26
    Jos syöte avaimenlisäykseen on sama ja kierrosavain on sama, myös tulos on sama.
  • 34:26 - 34:32
    Tämä toistuu kierrokseen 6 asti. Vasta silloin ero alkaa näkyä.
  • 34:32 - 34:38
    Ensimmäiset kuusi kierrosta voidaan käytännössä ohittaa ilmaiseksi.
  • 34:38 - 34:46
    Eli Half Loop 24 -algoritmissa, jossa on 10 kierrosta, voimme differentiaalihyökkäyksessä ohittaa 6 kierrosta.
  • 34:46 - 34:48
    Se ei tietenkään ole hyvä asia.
  • 34:48 - 34:53
    Meidän tarvitsee hyökätä vain jäljelle jääviä neljää kierrosta vastaan.
  • 34:54 - 35:04
    Kun tarkastelemme näitä neljää viimeistä kierrosta, tiedämme että näillä kahdella selkotekstillä ja eri tweak-arvoilla on erityinen yhteys.
  • 35:04 - 35:06
    Tässä kohdassa tiloissa ei ole vielä eroja.
  • 35:06 - 35:09
    Tilojen välillä ei ole eroja, joten ero on nolla.
  • 35:10 - 35:15
    Seuraavaksi ero tuodaan mukaan kierrosavainten avulla.
  • 35:15 - 35:18
    Täällä aivan lopussa ilmestyy viimeinen ero.
  • 35:18 - 35:21
    Ja oikealla puolella on lopullinen salattu teksti.
  • 35:21 - 35:27
    Koska voimme vaihtaa lineaarikerroksen ja kierrosavaimen lisäyksen paikkaa,
  • 35:27 - 35:35
    voimme ajatella, että sovelletaan ensin lineaarikerroksen käänteisfunktiota kierrosavaimeen ja sitten lisätään se.
  • 35:36 - 35:38
    Tällöin ero esiintyy tässä kohdassa.
  • 35:38 - 35:40
    Ja nyt voimme laskea.
  • 35:40 - 35:49
    Kuinka monta bittitietoa avaimesta tarvitaan, jotta voimme laskea salauksen takaisin ja saada selville tämän erotuksen?
  • 35:49 - 35:54
    Tarvitsemme selvästi kierrosavaimet 10, 9 ja 8.
  • 35:54 - 36:02
    Mutta kierrosavaimeen 7 tarvitaan vain ensimmäinen tavu, kun sovelletaan lineaarikerroksen käänteisfunktiota.
  • 36:02 - 36:07
    Tällä tavoin saamme tietoomme tämän erotuksen.
  • 36:08 - 36:10
    Kuinka monta bittiä tämä sitten on?
  • 36:10 - 36:19
    Kolme tavua täältä, kolme täältä, kolme täältä ja yksi täältä. Yhteensä siis 10 tavua eli 80 bittiä.
  • 36:19 - 36:28
    80 bittiä on paljon, jos haluaa tehdä brute force -hyökkäyksen, mutta vähemmän kuin 128 bittiä.
  • 36:28 - 36:33
    Joten tämä hyökkäys murtaa Half Loopin, ainakin teoreettisesti.
  • 36:34 - 36:38
    Hyökkäys toimii niin, että arvataan kaikki nämä 80 bittiä.
  • 36:38 - 36:45
    Symmetrisessä kryptografiassa arvaaminen tarkoittaa, että käydään kaikki mahdollisuudet läpi silmukassa.
  • 36:45 - 36:49
    Sitten lasketaan salaus takaisinpäin ja tarkistetaan, onko ero nolla.
  • 36:49 - 36:54
    Jos ero on nolla, avain on mahdollinen ehdokas, jota pitää tutkia lisää.
  • 36:54 - 36:55
    Jos ei ole, se hylätään.
  • 36:55 - 36:59
    Tällöin tiedämme, ettei kyseinen 80 bittiä ole oikea avain.
  • 36:59 - 37:01
    Sitten toistetaan prosessi.
  • 37:01 - 37:07
    Useilla selkoteksti–salateksti-pareilla lopulta löydämme oikean 80-bittisen avainyhdistelmän.
  • 37:07 - 37:11
    Eli hyökkäys toimii 2^80 laskennalla ja kuudella kyselyllä.
  • 37:11 - 37:18
    Kyselyt tarkoittavat viestejä, jotka Charlie lähettää Alicelle, selkoteksti ja salattu teksti.
  • 37:18 - 37:19
    Tämä on itse asiassa optimaalista.
  • 37:19 - 37:35
    Yksityiskohtiin menemättä on helppo osoittaa, että edes brute force -hyökkäys ei onnistu viidellä kyselyllä, koska vaihtoehtoja jää liikaa.
  • 37:35 - 37:37
    Tarvitaan siis vähintään kuusi kyselyä.
  • 37:37 - 37:42
    Mutta 2^80 on edelleen paljon.
  • 37:42 - 37:46
    Se vastaa suurin piirtein Bitcoin-verkon päivittäistä laskentatehoa.
  • 37:46 - 37:51
    Emme voi tehdä tätä yliopiston tietokoneella, mutta hyökkäystä voidaan parantaa.
  • 37:51 - 37:59
    Voidaan tehdä esilaskenta ja kokeilla vain kierrosavaimia 10 ja 9.
  • 37:59 - 38:06
    Tehdään etukäteen hakutaulukko, sitten haetaan sieltä ja tarkistetaan, toimiiko avain vai ei.
  • 38:06 - 38:11
    Tätä voi vielä parantaa, jos sallitaan kaksi lisäkyselyä, silloin tarvitsee vain 2^48 laskentaa.
  • 38:11 - 38:14
    2^48 on helposti suoritettavissa.
  • 38:15 - 38:18
    Me toteutimme hyökkäykset.
  • 38:18 - 38:21
    Selittämäni hyökkäykset ovat juuri nämä kaksi.
  • 38:21 - 38:22
    Tarvitset salauskyselyjä.
  • 38:22 - 38:27
    Eli voit pyytää Alicea salaamaan viestejä.
  • 38:27 - 38:31
    Mutta sinun ei tarvitse pyytää purkamaan mitään.
  • 38:31 - 38:34
    Jos saisit pyytää myös purkua, hyökkäyksestä tulisi paljon tehokkaampi.
  • 38:34 - 38:44
    Aikavaativuus tarkoittaa sitä, kuinka monta salausta tai purkua joudut itse suorittamaan. 2^10 on vain 1024.
  • 38:44 - 38:50
    Se on hyvin kevyt hyökkäys, mutta vaatii myös enemmän kyselyjä ja purkukyselyjä.
  • 38:50 - 38:54
    Se ei ole kovin realistinen hyökkäystilanne.
  • 38:54 - 39:03
    Mutta tässä tilanteessa, jossa tarvitsemme 2^56 tai 2^48 ja 5 gigatavua muistia, no, 5 Gt on mitätön määrä, helppo juttu.
  • 39:04 - 39:07
    Tämän voi oikeasti muuttaa käytännön hyökkäykseksi.
  • 39:07 - 39:13
    Tässä asetelmassa ei ole enää kyse teoriasta vaan ALE-protokollasta, eli automaattisesta linkinmuodostuksesta.
  • 39:14 - 39:17
    Tarvitaan jälleen 2^48, eli juuri tämä hyökkäys.
  • 39:17 - 39:24
    Lisäksi kahdeksan teoreettista kyselyä. Jos vain voimme pyytää Alicea salaamaan viestejä meille, se vastaa
  • 39:24 - 39:27
    kahden tunnin salakuuntelua Alicen ja Benjaminin välillä.
  • 39:27 - 39:30
    Seuraavaksi selitän, miten tämä toimii.
  • 39:30 - 39:35
    Mutta huomautetaan, että näiden kahden tunnin aikana pitää tietää myös selkotekstit.
  • 39:35 - 39:41
    Eli ei riitä, että sieppaat radioliikenteen, sinun täytyy salakuunnella tarkasti tiettyä asemaa.
  • 39:41 - 39:46
    Sinun täytyy tietää, mikä on viestinnän selkoteksti.
  • 39:48 - 39:50
    Tarkastellaan nyt hyökkäystä käytännössä.
  • 39:50 - 39:54
    Ensin täytyy ymmärtää, että ALE:ssa
  • 39:54 - 39:57
    kommunikoimassa ei ole vain kaksi osapuolta vaan koko verkko.
  • 39:57 - 40:00
    Kaikki verkon jäsenet jakavat saman symmetrisen avaimen.
  • 40:00 - 40:04
    Eli joukko käyttäjiä ja heillä on kaikilla sama avain.
  • 40:04 - 40:11
    Tavallisesti osapuolet ovat Alice ja Benjamin tai Bob.
  • 40:11 - 40:18
    Mutta tässä tapauksessa käytetään kutsutunnuksia, niin sanottuja call sign -koodeja.
  • 40:18 - 40:19
    Esimerkiksi Alice voi olla AAA.
  • 40:19 - 40:20
    Eli käytössä on kutsutunnukset.
  • 40:20 - 40:22
    Niitä voi verrata vaikka
  • 40:22 - 40:29
    lyhyisiin puhelinnumeroihin. Ne koostuvat kolmesta kirjaimesta, esimerkiksi AAA.
  • 40:29 - 40:39
    Zoomataan nyt kolmivaiheisen kättelyn ensimmäiseen viestiin, jonka Alice lähettää Benjaminille.
  • 40:39 - 40:51
    Meillä on Alice ja Benjamin, mutta nyt Alice on AAA ja Benjamin AQ. Ensimmäinen viesti, jonka AAA lähettää AQ:lle
  • 40:51 - 41:08
    ilmoittaa, että viesti on osoitettu AQ:lle. Se toistetaan ja lopussa sanotaan, että tämä on A. Kutsutunnukset ovat siis kolmikirjaimisia.
  • 41:08 - 41:21
    Jokainen kirjain on 7 bittiä, eli 3 x 7 = 21 bittiä. Jäljelle jää 3 bittiä, joita käytetään viestin tyypin "to" ja "this is" koodaukseen.
  • 41:21 - 41:31
    Muistat ehkä, että tweak T on 64-bittinen ja siihen koodataan aika, sanalaskuri ja käytetty taajuus.
  • 41:31 - 41:39
    Oletetaan, että käytetty taajuus pysyy samana ja aika on ajanhetki. Sanalaskuri kasvaa jokaiselle sanalle.
  • 41:39 - 41:42
    Ensimmäisessä sanassa laskuri on 1.
  • 41:42 - 41:46
    Toisessa 24-bittisessä sanassa laskuri on 2 ja luonnollisesti binaarimuodossa.
  • 41:46 - 41:50
    Kolmannessa sanassa laskuri on 3 eli binäärinä 11.
  • 41:52 - 42:06
    Oletetaan, että aikaa kuluu ja myöhemmin AAQ eli Benjamin lähettää saman viestin, koska hän haluaa muodostaa linkin AAA:n kanssa.
  • 42:06 - 42:13
    Tällöin viestit peilautuvat, 2AA, 2AA ja lähettäjänä AAQ.
  • 42:13 - 42:18
    Nyt kiinnostavaa on, mitä dataa on ennen tätä kohtaa.
  • 42:18 - 42:21
    Näemme, että selkoteksti on täysin sama.
  • 42:21 - 42:25
    Paitsi viimeinen tavu eroaa.
  • 42:25 - 42:32
    Ja tweakissä ero ilmenee kolmannessa tavussa. Siinä on neljä bittiä minuuteista ja neljä bittiä sekunneista.
  • 42:32 - 42:47
    Jos ero kutsutunnuksissa vastaa ajan eroa, saadaan sopiva pari, jossa on ero selkotekstissä ja tweakissa.
  • 42:47 - 42:50
    Silloin voimme suorittaa hyökkäyksemme.
  • 42:51 - 42:56
    Kerrataan, mitä viestityyppejä hyökkäys edellyttää.
  • 42:56 - 43:04
    Taajuuksien pitää olla samat, oletetaan ALE-verkon taajuuden pysyvän vakiona.
  • 43:04 - 43:11
    Sanalaskurien pitää olla samat, mutta tämä on helppoa koska molemmat aloittavat sanasta 1.
  • 43:11 - 43:16
    Kun vertaat kahta sanaa, laskuri on aina sama.
  • 43:17 - 43:18
    Lisäksi tarvitsemme sen, että
  • 43:18 - 43:20
    viestit lähetetään saman 60 minuutin aikaikkunan sisällä.
  • 43:20 - 43:36
    Eli minuutin ylemmät bitit ovat samat, ja ero on vain minuutin viimeisissä neljässä bitissä. Sekunneista kahden bitin täytyy myös täsmätä.
  • 43:36 - 43:45
    Oletetaan, että nämä arvot jakautuvat satunnaisesti, jolloin tämä osuu kohdalleen sattumalta.
  • 43:45 - 43:49
    Lisäksi tarvitsemme, että ero
  • 43:49 - 43:53
    ajan jäljellä olevissa 8 bitissä vastaa kutsutunnuksen erotusta.
  • 43:54 - 44:00
    Tämäkin tapahtuu lopulta sattumalta, jos verkko on riittävän suuri.
  • 44:00 - 44:10
    Näiden ehtojen ja lisäoletusten, kuten viestien määrän ALE-verkossa, perusteella voidaan laskea, että tarvitaan noin kaksi tuntia tiedonkeruuta.
  • 44:11 - 44:12
    Ja siinä se oikeastaan on.
  • 44:12 - 44:15
    Mutta ennen kuin mennään...
  • 44:15 - 44:28
    vastaan ensin muutamaan ilmeiseen kysymykseen. Ilmoitimmeko tästä Natolle? Kyllä ilmoitimme, mutta emme koskaan saaneet vastausta. Lähetimme heille paperin ennen julkaisua.
  • 44:28 - 44:38
    He eivät kuitenkaan koskaan palanneet asiaan, mikä tarkoittaa, että moni ilmeinen kysymys jäi vaille vastausta. Emme siis tiedä kaikkea.
  • 44:38 - 44:44
    Esimerkiksi emme tiedä, aikooko NATO korvata Half Loopin jollain toisella algoritmilla. Haluaisin tietää.
  • 44:44 - 44:45
    Valitettavasti emme tiedä.
  • 44:46 - 44:50
    Toinen ilmeinen kysymys on: miksi ei vain käytetä AES:ää?
  • 44:50 - 44:53
    AES on hyvin tutkittu salausalgoritmi.
  • 44:53 - 44:54
    Miksi ei siis AES?
  • 44:54 - 45:00
    Miksi kehitettiin uusi Half Loop -salaus, joka muistuttaa lähinnä AES:n supistettua versiota?
  • 45:00 - 45:02
    Taas kerran, hyvä kysymys.
  • 45:02 - 45:06
    En tiedä selkeää vastausta.
  • 45:06 - 45:09
    Sanotaan, että AES-lohkot ovat liian suuria.
  • 45:09 - 45:11
    Korkeataajuisessa radiossa kaistanleveys on rajallinen
  • 45:11 - 45:23
    eli voidaan lähettää vain pieniä lohkoja, ja siksi ehkä kehitettiin tämä pienimuotoinen versio. Tosin AES:ääkin voi käyttää pienille lohkoille, esimerkiksi counter-modessa.
  • 45:23 - 45:36
    Lisäksi voidaan lisätä erillinen autentikointi, mutta he tekivät näin. Tässä on vielä muutamia kuvia, jotka ehkä herättävät kysymyksiä, jos et halua kysyä nyt.
  • 45:36 - 45:38
    jos katsot tätä tallenteena myöhemmin, voit myös ottaa yhteyttä.
  • 45:38 - 45:43
    Jos katselet tallennetta tai jotain muuta, ole rohkeasti yhteydessä.
  • 45:43 - 45:46
    Keskustelen mielelläni. Kiitos, se oli siinä.
  • 45:46 - 45:46
    Kiitos.
  • 45:57 - 45:59
    Kiitos, Lukas.
  • 45:59 - 46:03
    Jos haluat esittää kysymyksen ja olet paikan päällä, mene mikrofonin luo.
  • 46:03 - 46:07
    Jos olet verkossa, laita kysymys IRC:n tallennekanavaan.
  • 46:07 - 46:12
    Ensimmäinen kysymys tulee netistä, Signal Angelin kautta.
  • 46:15 - 46:18
    Hei ja kiitos todella mielenkiintoisesta esityksestä.
  • 46:18 - 46:21
    Meillä on kysymys internetin kautta.
  • 46:21 - 46:28
    Näytätte onnistuneen käyttämään tunnettuja menetelmiä nykyistä sotilassalausta vastaan.
  • 46:28 - 46:33
    Tiedättekö, käyttääkö armeija vertaisarviointia vahvistaakseen algoritmejaan?
  • 46:33 - 46:39
    Huomasin myös, että yksi kirjoittajista vaikutti olevan sotilasyliopistosta.
  • 46:39 - 46:46
    Voisitteko sanoa, että siviili- ja sotilastutkijat tekevät nyt enemmän yhteistyötä kuin 20 vuotta sitten?
  • 46:49 - 46:51
    Tämä oli varmaan useampi kysymys.
  • 46:51 - 47:03
    Ensimmäinen taisi olla, onko vertaisarviointia käytössä. No, riippuu miten vertaisarviointi määritellään, mutta akateemisessa maailmassa se on itsestään selvää.
  • 47:03 - 47:05
    Juuri näin toimitaan.
  • 47:05 - 47:12
    Jos haluat suunnitella uuden salauksen, lähetät sen konferenssiin tai lehteen ja saat palautetta muilta tutkijoilta.
  • 47:12 - 47:15
    Mutta tässä tapauksessa en usko, että mitään vertaisarviointia on ollut.
  • 47:15 - 47:17
    Tämä standardi vain on olemassa.
  • 47:17 - 47:19
    En tiedä, onko sisäistä arviointia tehty.
  • 47:19 - 47:22
    Toivon, että olisi, mutta jos olisi, toivon että he olisivat huomanneet heikkouden.
  • 47:22 - 47:23
    Toivottavasti.
  • 47:23 - 47:27
    Mutta toisaalta, olisi myös toivonut, että he olisivat löytäneet haavoittuvuuden itse.
  • 47:27 - 47:28
    Selvä.
  • 47:29 - 47:32
    Sitten unohdinkin jo seuraavan kysymyksen.
  • 47:32 - 47:37
    Olisiko ollut kyse yhteistyöstä sotilas- ja siviilisektorin välillä?
  • 47:38 - 47:44
    Kyllä, kysymys oli, onko yhteistyö sotilaan ja siviilin välillä lisääntynyt?
  • 47:46 - 47:46
    No siis...
  • 47:47 - 47:53
    En oikeastaan osaa sanoa. Kuten sanoin, me ilmoitimme heille, mutta emme saaneet vastausta.
  • 47:53 - 47:59
    Ehkä se tarkoittaa enemmän ei kuin kyllä, mutta en voi sanoa mitä muualla tapahtuu.
  • 48:00 - 48:08
    Kuten aiemmin sanoin, viimeinen kysymys olikin miksei käytetä suoraan AES:ää.
  • 48:08 - 48:16
    Väittäisin, ettei kryptografiassa ole tarvetta käyttää erillisiä salauksia, koska yleisesti käytettävän salauksen tulisi olla niin turvallinen, että armeijakin voi käyttää sitä.
  • 48:16 - 48:20
    Sen pitäisi olla niin turvallinen, että myös sotilaskäyttö onnistuu huoletta.
  • 48:22 - 48:22
    Kiitos.
  • 48:22 - 48:25
    Mikrofoni täällä edessä.
  • 48:25 - 48:28
    Hei, kiitos esityksestä.
  • 48:29 - 48:34
    Halusin kysyä, onko todellisessa hyökkäyksessä tweak tiedossa vai ei?
  • 48:34 - 48:39
    Kyllä, ehkä voin palata tähän kalvoon.
  • 48:39 - 48:40
    Tässä näkyy tweak, kyllä?
  • 48:40 - 48:44
    T on tweak, ja se koostuu pääasiassa aikaleimasta.
  • 48:44 - 48:46
    Ja totta kai aika on tiedossa.
  • 48:46 - 48:48
    Voit katsoa kellosta.
  • 48:48 - 48:49
    Tiedät kellonajan.
  • 48:49 - 48:53
    Sanalaskuri alkaa ykkösestä ja kasvaa siitä ylöspäin.
  • 48:53 - 48:58
    Käytetty taajuuskin on tiedossa, koska sitä kuunnellaan radiosignaalina.
  • 49:00 - 49:00
    Kiitos.
  • 49:00 - 49:02
    Täällä seuraava.
  • 49:03 - 49:06
    Ensinnäkin, kiitos erittäin kiinnostavasta esityksestä.
  • 49:06 - 49:12
    Mainitsit, että tarvitaan noin 120 minuuttia dataa.
  • 49:13 - 49:17
    Ymmärtääkseni Half Loopia käytetään vain kädenpuristuksen salaamiseen.
  • 49:17 - 49:22
    Kuinka todennäköistä on, että oikeasti saadaan kasaan kaksi tuntia kädenpuristuksia?
  • 49:22 - 49:29
    Niin, kaksi tuntia on oletus. Oletetaan, että viesti lähetetään aina
  • 49:29 - 49:31
    unohdin tarkalleen, ehkä kymmenen sekunnin välein.
  • 49:31 - 49:33
    Sitten voidaan keskustella, kuinka monta viestiä oikeasti lähetetään.
  • 49:33 - 49:37
    Mutta tuo kymmenen sekuntia per viesti on yksi arvio.
  • 49:39 - 49:41
    Riippuu toki siitä, kuinka paljon liikennettä on.
  • 49:41 - 49:44
    Mutta nuo kaksi tuntia eivät tarkoita kahden tunnin viestimäärää.
  • 49:44 - 49:51
    Se tarkoittaa vain sitä, että joudut odottamaan kaksi tuntia, jotta tarvittavat viestit sattuvat kohdalleen.
  • 49:51 - 49:52
    Eli...
  • 49:52 - 49:56
    Sanot siis, että nämä viestit löytyvät kahden tunnin kuluessa?
  • 49:56 - 49:57
    Kahdessa tunnissa, kyllä.
  • 49:57 - 49:58
    Selvä, kiitos.
  • 50:00 - 50:01
    Kiitos.
  • 50:01 - 50:03
    Meillä on vielä yksi kysymys tuolla.
  • 50:03 - 50:12
    Tiedän, että AES:ää vastaan on hyökkäyksiä, jos sinulla on käytössä siihen liittyviä avaimia.
  • 50:12 - 50:16
    Joten kysyisin ensin, liittyykö tämä hyökkäys sellaiseen tapaukseen?
  • 50:16 - 50:24
    Tämä on itse asiassa hyvin samankaltainen. Kun hyökkääjällä on käytössään liittyviä tweakeja, se vastaa liittyviä avaimia.
  • 50:24 - 50:29
    Ja nyt, mitä tapahtuu... vaihdetaanpa kalvo nopeasti...
  • 50:29 - 50:35
    Tässä kalvossa, tai hetkinen, väärä kalvo.
  • 50:35 - 50:39
    Tässä siis lisätään tweak osaksi avainta.
  • 50:39 - 50:42
    Ja tämä on itse asiassa todella huono idea.
  • 50:42 - 50:47
    Ensimmäisessä tweakable block cipher -julkaisussa sanotaan selvästi: älä tee näin.
  • 50:47 - 50:53
    Jos teet näin, saat turvallisuutta vain suunnilleen puolet bittimäärästä.
  • 50:53 - 50:59
    Tämä johtaa geneeriseen hyökkäykseen, joka toimii, koska tweak on lisätty avaimen osaksi.
  • 51:00 - 51:09
    Kuten sanoit, tämä muistuttaa liittyvien avainten hyökkäystä, ja niissä hyökkäykset voivat olla erittäin tehokkaita. AES:ää vastaan on tiedettyjä liittyvien avainten hyökkäyksiä.
  • 51:09 - 51:10
    Näitä on dokumentoitu.
  • 51:10 - 51:16
    Luultavasti vain suuremmissa AES-versioissa, mutta kyllä, liittyvät tweakit ovat mahdollisia ja hyökkäykset muistuttavat niitä.
  • 51:16 - 51:18
    Jos saan, vielä yksi pieni lisäkysymys.
  • 51:18 - 51:18
    Kyllä.
  • 51:18 - 51:21
    Miksi he suunnittelivat salauksen tällä tavalla?
  • 51:21 - 51:26
    Ymmärtääkseni tämä oli jo tiedossa, kun Half Loop otettiin käyttöön.
  • 51:26 - 51:27
    Niin, sitäkin.
  • 51:27 - 51:30
    Se on yksi niistä kysymyksistä, joihin haluaisin vastauksen, mutta minulla ei ole sitä.
  • 51:30 - 51:33
    Ehkä he eivät vain tienneet siitä.
  • 51:33 - 51:37
    Tweakin lisääminen avaimeen on helppo tehdä, jos ei tiedä että se on huono idea.
  • 51:37 - 51:40
    Jos ei tiedä, että se ei ole hyvä ratkaisu.
  • 51:40 - 51:45
    Se saattaa näyttää hyvältä idealta ensisilmäyksellä, mutta ei se ole.
  • 51:47 - 51:48
    Täällä oli jatkokysymys.
  • 51:48 - 51:49
    Kiitos.
  • 51:49 - 51:49
    Eli...
  • 51:51 - 52:00
    Vaikka sanoit ettet käsittelisi 48- ja 96-versioita, niin mikä olisi arviosi siitä, kuinka paljon työtä tarvitaan niiden murtamiseen?
  • 52:00 - 52:10
    No, ensinnäkin, kuten sanoin, koska tweak XORataan avaimeen, se pätee myös Halfloop 48- ja 96-versioihin, mikä mahdollistaa geneerisen hyökkäyksen.
  • 52:10 - 52:13
    Se tarkoittaa, että hyökkäys toimii myös niissä.
  • 52:13 - 52:21
    Kryptografian näkökulmasta tämä tarkoittaa jo, että akateemisesti algoritmi katsotaan murretuksi.
  • 52:21 - 52:31
    Mutta hyökkäys, jonka datakompleksisuus on 2^64, ei ole kovin käytännöllinen, koska niin paljon dataa ei koskaan tulla salaamaan Halfloopilla.
  • 52:33 - 52:42
    Toisessa paperissamme käsittelemme näitä suurempia versioita ja joitain niin sanottuja "middle meet" -hyökkäyksiä.
  • 52:42 - 52:44
    Mutta nekään eivät ole käytännöllisiä.
  • 52:44 - 52:48
    Vaikea sanoa, kuinka paljon työtä tarvittaisiin.
  • 52:48 - 52:56
    Mutta yleisesti sanoisin: älä luota niihin, vaikka niitä ei ole vielä murrettu yhtä pahasti kuin Halfloop24, mutta parempi olla käyttämättä.
  • 52:57 - 52:58
    Kiitos.
  • 52:58 - 53:00
    Seuraava kysymys verkosta.
  • 53:00 - 53:01
    Signal Angelilta.
  • 53:02 - 53:03
    Kiitos.
  • 53:04 - 53:20
    Seuraava kysymys on: mitä tapahtuu, jos salaus tapahtuu ajassa 11.03.03.998 ja purkuajassa 11.03.04.001?
  • 53:20 - 53:23
    Eli sekunnit ovat eri.
  • 53:23 - 53:28
    Rehellisesti sanottuna, en tiedä, koska en tunne radioviestintää kovin hyvin.
  • 53:28 - 53:30
    Mutta pahimmassa tapauksessa kokeillaan molemmat.
  • 53:30 - 53:31
    Tarkoitan...
  • 53:31 - 53:36
    Halfloopin purku on todella nopeaa, ja koska selväteksti on hyvin rakenteellista...
  • 53:36 - 53:51
    Jos katsotaan tätä esimerkkiä, tunnisteet ovat täällä ja niiden täytyy täsmätä. Pahimmassa tapauksessa kokeillaan molempia sekuntiarvoja ja katsotaan tuleeko roskaa vai oikea arvo.
  • 53:51 - 53:59
    Mutta kannattaa olla varovainen. Jos tekee sen vain kerran tai kahdesti, ei se haittaa.
  • 53:59 - 54:01
    Mutta jos alat purkaa tuhansia viestejä eri tweak-arvoilla, se ei ole hyvä idea.
  • 54:01 - 54:08
    Silloin hyökkääjäkin saa tietoa ilmaiseksi, mikä ei ole hyvä juttu.
  • 54:08 - 54:14
    Hän saa ilmaiseksi jotain hyödyllistä.
  • 54:15 - 54:17
    Kiitos.
  • 54:17 - 54:18
    Täällä seuraava kysymys.
  • 54:18 - 54:23
    Voiko tämän algoritmin korjata, vai pitäisikö vain käyttää AES:ää?
  • 54:23 - 54:27
    Se riippuu siitä, miten "korjattava" määritellään.
  • 54:27 - 54:31
    Yksi ratkaisu olisi lisätä huomattavasti enemmän kierroksia.
  • 54:31 - 54:42
    Se kyllä estäisi tämän hyökkäyksen, mutta geneerinen ongelma on se, että tweak lisätään avaimeen. Se täytyisi korjata, ja siihen on olemassa ratkaisuja.
  • 54:42 - 54:54
    Tweakable block cipherien kohdalla kirjallisuudessa tiedetään, miten tämä tulisi tehdä. Esimerkiksi three key -viitekehys voisi auttaa.
  • 54:54 - 55:00
    Mutta onko sen korjaaminen vaivan arvoista? En tiedä. Yleisesti ottaen Halfloopin suunnittelu...
  • 55:00 - 55:03
    AES:n S-boksin käyttö on hyvä juttu.
  • 55:03 - 55:08
    Siirrot ovat vähän omituisia, ne voisi siirtää mix column -operaatioon.
  • 55:08 - 55:11
    Mutta yleisesti komponentit ovat vahvoja.
  • 55:11 - 55:14
    Eli meillä on vahva lineaarinen kerros ja vahva S-boksi.
  • 55:14 - 55:15
    Mutta yksityiskohdilla on väliä.
  • 55:15 - 55:19
    Jos todella haluat, sen voisi korjata.
  • 55:19 - 55:22
    Mutta en usko, että siinä olisi hirveästi järkeä.
  • 55:23 - 55:23
    Kiitos.
  • 55:23 - 55:26
    Takarivissä on joku mikrofonilla.
  • 55:27 - 55:34
    On olemassa hyökkäyksiä, jotka kohdistuvat lohkon kokoon eikä avaimen kokoon, kuten esimerkiksi Sweet32 triple DES:llä.
  • 55:34 - 55:36
    Tässä algoritmissa on pieni lohkokoko.
  • 55:36 - 55:38
    Luuletko, että se on haavoittuva tällaisille hyökkäyksille?
  • 55:38 - 55:40
    Kyllä, juuri niin.
  • 55:40 - 55:44
    Pienien lohkokokojen kanssa täytyy olla erittäin varovainen.
  • 55:44 - 55:53
    Selvätekstissä ei ehkä ole tarpeeksi materiaalia, mutta täällä on tweak, eli...
  • 55:53 - 55:54
    Siinä on kuitenkin jotain vaihtelua.
  • 55:54 - 55:55
    Eli jos teet sen oikein...
  • 55:55 - 55:58
    Saat vaihtelua, mutta silti täytyy olla tarkkana.
  • 55:58 - 56:13
    Mainitsit aiemmin differentiaalikryptanalyysin ja tällöin tutkitaan miten erot leviävät, myös ei-deterministisissä tilanteissa.
  • 56:13 - 56:21
    Yleensä ei voida sanoa kovin paljoa, mutta 24 bitin tapauksessa voidaan todennäköisesti laskea koko DDT-taulukko.
  • 56:21 - 56:32
    Se on siis ero-jakaumataulukko, mikä on hieman kiusallista, koska yleensä symmetrisessä kryptossa sitä ei voida tehdä koko salaukselle.
  • 56:32 - 56:35
    Mutta tässä se saattaa olla mahdollista.
  • 56:35 - 56:41
    Jos siis todella haluat tarkastella turvallisuutta tai korjata salauksen, se ei ole mitätöntä.
  • 56:41 - 56:45
    Tarvitaan kunnon analyysiä, jotta nähdään pysyykö se turvallisena vai ei.
  • 56:46 - 56:47
    Kiitos.
  • 56:52 - 56:55
    Tiedetäänkö mitään algoritmin suunnittelijoista?
  • 56:55 - 56:58
    Voiko se olla NSA:n lahjoittama?
  • 57:00 - 57:06
    Ja käsittääkseni, vaikka minulla ei ole lähteitä, tämä tuli enemmän...
  • 57:06 - 57:10
    Korkeataajuusradioyhteisöltä tämä suunnittelu.
  • 57:10 - 57:11
    Eli...
  • 57:12 - 57:13
    Sanotaan näin...
  • 57:13 - 57:14
    Tarkoitan...
  • 57:14 - 57:16
    Se ei ollut edes vitsi.
  • 57:16 - 57:18
    Tiedän, että lahjoituksia on tehty paljon...
  • 57:18 - 57:19
    Kyllä, kyllä, tiedän.
  • 57:19 - 57:21
    Mutta halusin sanoa, että...
  • 57:21 - 57:22
    On olemassa Schneierin laki.
  • 57:22 - 57:25
    Jokainen voi suunnitella salauksen, joka ei ole turvallinen.
  • 57:26 - 57:28
    Ei turvallinen, mutta jonka suunnittelija itse luulee olevan.
  • 57:28 - 57:39
    En siis syyttäisi suunnittelijoita, vaan niitä jotka standardisoivat tämän ilman kunnollista analyysiä. Heitä minä syyttäisin.
  • 57:40 - 57:43
    Selvä. Takarivin mikrofoni taas.
  • 57:43 - 57:46
    Hei, kiitos hyvästä esityksestä.
  • 57:46 - 57:50
    Onko sinulla käsitystä miksi he yhä käyttävät ECB:tä eivätkä jotain muuta tilaa?
  • 57:51 - 57:52
    Ehkä.
  • 57:53 - 57:54
    Missä se nyt olikaan...
  • 57:54 - 57:59
    ECB:n käyttö on itse asiassa ok, koska kyseessä on tweakable block cipher.
  • 57:59 - 58:02
    Ja koska tweak muuttuu jokaisella...
  • 58:03 - 58:10
    Koska tweak sisältää sanalaskurin ja aikaleiman, ECB:n käyttö on ihan hyväksyttävää.
  • 58:10 - 58:12
    Se ei siis ole haavoittuvuus.
  • 58:12 - 58:15
    Se tekee siitä jopa aika yksinkertaisen.
  • 58:17 - 58:19
    Selvä, täällä eturivissä.
  • 58:21 - 58:27
    Onko sinulla proof of concept tästä hyökkäyksestä, vai onko se juridisesti ongelmallista?
  • 58:27 - 58:29
    Meillä on toteutus.
  • 58:29 - 58:33
    Julkaisussa on linkki GitHubiin, ja siellä on toteutus.
  • 58:33 - 58:35
    Me teimme sen.
  • 58:35 - 58:39
    Emme tietenkään salakuunnelleet HF-radiota, vaan teimme tämän laboratoriossa.
  • 58:39 - 58:44
    Generoimme selvätekstit itse ja sitten ajoimme hyökkäyksen.
  • 58:44 - 58:45
    Hyökkäyksessä on käytännössä kaksi vaihetta.
  • 58:45 - 58:48
    Ensimmäinen on oikeastaan juuri se, mitä näytin.
  • 58:48 - 58:49
    Eli selvitetään...
  • 58:49 - 59:03
    viimeisten kierrosten avainbitit ja tämä vei jotain kahden viikon verran CPU-klusterilla. Ei mikään uusi kone, mutta jos haluat ja sijoitat rahaa, saat tämän puristettua ehkä tuntiin.
  • 59:03 - 59:10
    Kun sinulla on tämä osa, joudut brute forcaamaan loput avaimet ja se on hieman yksinkertaisempaa, koska kyse on vain suorasta brutepakko-hyökkäyksestä.
  • 59:10 - 59:15
    Tämän voi ajaa GPU:lla ja se vie ehkä kahdeksan tuntia lisää ja sitten se on siinä.
  • 59:17 - 59:19
    Selvä, tarkistetaan vielä.
  • 59:19 - 59:20
    Ei enää kysymyksiä salissa.
  • 59:20 - 59:24
    Joten suuret kiitokset loistavasta esityksestä Lukas Stennisille.
  • 59:34 - 59:39
    ♪ (38C3 outromusiikki) ♪
  • 59:39 - 59:44
    Translated by Robert Ylitalo
    (KYBS2001 course assignment at JYU.FI)
Title:
38C3 - Breaking NATO Radio Encryption
Description:

more » « less
Video Language:
English
Duration:
59:44

Finnish subtitles

Revisions Compare revisions