Export page to Open Document format View page as slide show

Tietoturva

Digitaalinen allekirjoitus

  • Tehtävät samat kuin tavallisella allekirjoituksella
    • varmistetaan että tietty taho on hyväksynyt tietyn dokumentin
    • Allekirjoitettua viestiä ei voi muuttaa ilman että allekirjoitus mitätöityisi
    • Allekirjoitusta ei voi siirtää toisen viestiin
    • Allekirjoittaja ei voi kiistää allekirjoitusta
    • Allekirjoituksen voi varmistaa kuka tahansa

Allekirjoitus epäsymmetrisellä kryptografialla

  1. A laskee tiivistearvon viestistä
  2. A salaa tiivisteen salaisella avaimellaan
  3. A lähettää salatun tiivisteen B:llesends the encrypted has to B
  4. B purkaa tiivisteen A:n julkisella avaimella ja vertaa sitä itselaskemaansa tiivisteeseen viestistä.
    • Tiivisteiden ollessa samoja voidaan todeta allekirjoitus oikeaksi
  • Protokollan vahvuudet
    • T tarvitaan vain varmistamaan julkinen avain.
    • Allekirjoitus on autenttinen, väärentämätön, kiistämätön eikä sitä voi käyttää uudestaan.
    • Allekirjoitusta ei voi muuttaa
  • Tiivisteen käytön edut
    • Allekirjoitus voidaan tallentaa erikseen dokumentista
    • Allekirjoitus vie vähän tilaa
    • Arkistointi järjestelmä voi varmentaa dokumentin olemassa olon ja oikeudet tallentamatta itse dokumenttia.
    • A voi varmistaa oikeutensa dokumenttiin paljastamatta sitä heti (tekijänoikeudet, patentit)
  • Heikkoudet
    • B voi joissain tapauksissa huijata.
      • Sama dokumentti voidaan käyttää uudelleen. (sopimus vai shekki)
  • Aikaleima
    • Aikaleima liitetään nykyiseen hetkeen tarvittavalla tarkkuudella (päivä, kellonaika)
      • Joskus pelkkä sarjanumero riittää.
    • Aikaleiman avulla voidaan varmistaa onko dokumentti jo käsitelty.
    • Aikaleima voi varmentaa myös dokumentin luonti ajan.
      • Kuinka varmentaa että aikaleima dokumentissa on oikein tehty?
    • Dokumentti tulee allekirjoittaa aikaleiman liittämisen jälkeen.

Useampi allekirjoitus samaan dokumenttiin

  • A allekirjoittaa tiivisteen jonka jälkeen B allekirjoittaa sen jne.
    • Allekirjoituksen tarkistus vaatii että kaikki allekirjoitukset tarkistetaan
    • Allekirjoittajat allekirjoittavat erilaiset kopiot
      • B:n allekirjoittama dokumentti pitää sisällään A:n allekirjoituksen.
  • Erilliset allekirjoitukset
    1. A allekirjoittaa dokumentin tiivisteen
    2. B allekirjoittaa dokumentin tiivisteen ja lähettää sen A:lle
    3. A lähettää allekirjoitukset ja dokumentin C:lle
    4. C tarkistaa allekirjoitukset
  • Vaiheet 1 ja 2 voidaan tehdä rinnakkain
  • Vaiheessa 5 voidaan tarkistaa pelkästään haluttu allekirjoitus
  • Jokainen allekirjoitus kasvattaa lähetettävän datan määrää

Kiistämättömyys (Non-repudiation)

  • A Allekirjoittaa dokumentin ja myöhemmin väittää ettei ole tehnyt allekirjoitusta.
  1. A allekirjoittaa dokumentin
  2. A julkistaa anonyymisti salaisen avaimensa
  3. A väittää että allekirjoitus on tehty paljastuneella avaimella
  • Aikaleima voi rajoittaa toimintaa
    • A voi kuitenkin väittää avaimen paljastuneen aiemmin
    • Vaatii A:lta hyvää ajoitusta
  • Avaimet säilytetään suojatulla (tamper-resistant) sirulla (esim. sähköinen henkilökortti)
    • Siru tekee kaikki avainta vaativat operaatiot
    • Salaisen avaimen käyttö vaatii salasanan, jolla autentikoidutaan kortille
    • Käyttäjällä ei ole pääsyä omaan salaiseen avaimeensa, joten hän ei voi sitä julkaista

Headline

• General protocol to avoid repudiation of signatures after long time

1. A signs message 2. A geneerates header where is identifying information about her. 3. A combines the header to the signed message and signs the whole thing 4. A sends the message with identity to T 5. T verifies signature and confirms A's identity. T adds timestamp to both timestamp and A's identity, signs everything and then sends it all to both A and B 6. B verifies signature of T identifying information and the signature of A 7. A verifies the message that she sent to B. If she didn't sent the message she has to react quickly.

Allekirjoitus ja salaus

  • Turvallinen kirjekuori
    • Salaus takaa luottamuksellisuuden (kirjekuori)
    • Allekirjoitus takaa autenttisuuden ja eheyden (entä reaalimaailman allekirjoitus?)
  • Allekirjoitus tehdään ennen salausta
    • Allekirjoitetaan viesti ei kirjekuorta
    • Salatun viestin allekirjoitus voidaan tulkita sokkona allekirjoittamiseksi
    • Allekirjoitusta ei voi varmistaa purkamatta salausta
    • On olemassa hyökkäyksiä allekirjoitusta vastaan jos salattu viesti allekirjoitetaan
  • Asymmetristä salausta käyettäessä on salaukseen ja allekirjoitukseen käytettävä eri avainpareja.
    • estää erilaisia hyökkäyksiä (allekirjoitus == salauksen purku)
    • Salainen avain jolla puretaan salatut viestit voidaan luovuttaa vaikka poliisille (key escrow), allekirjoitus avain säilyy silti käyttökelpoisena
    • Avaimien pituuksilla ja voimassaolo ajoilla ei ole riippuvuutta

Proxy allekirjoitus

  • Allekirjoituksen tekeminen siirretään tietylle taholle, toisen henkilön nimissä.
    • Esimerkiksi A lähtee matkalla jolloin hän myöntää B:lle oikeudet allekirjoittaa sopimukset hänen nimissään.
  • Halutut ominaisuudet
  • Proxy allekirjoitus pitää pystyä erottamaan normaalista allekirjoituksesta.
  • Vain alkuperäinen allekirjoittaja ja proxy allekirjoittaja voivat luoda hyväksyttävän allekirjoituksen
  • Proxy allekirjoittajan ei pidä pystyä tekemään allekirjoitusta niin ettei sitä voi tunnistaa proxy allekirjoitukseksi
  • Allekirjoituksen tarkistajan on pystyttävä varmistumaan että alkuperäinen allekirjoittaja
  • proxy oikeuksien myöntäjän tulee pystyä tunnistamaan proxy allekirjoituksen tekijä.
  • proxy allekirjoittajan ei pidä pystyä kiistämään allekirjoitusta

Ryhmä allekirjoitus

  • Ryhmän jäsen voi tehdä allekirjoituksen niin että:
    • Vastaanottaja voi tunnistaa että allekirjoitus on ryhmältä
    • Vastaanottaja ei tiedä kenen tekemä allekirjoitus on
    • Ongelma tapauksessa luotettu taho voi pasljastaa kuka ryhmästä allekirjoituksen teki
  • T luo nipun epäsymmetrisiä avainpareja josta antaa listan avainpareja jokaiselle ryhmän jäsenelle.
    • Samaa avainparia ei ole useammalla listalla
    • jos ryhmään kuuluu m jäsentä ja jokaisella on n avainpareja tarvitaan siis yhteensä n*m avainparia
  • Luotettu taho T julkaisee koko ryhmän julkiset avaimet satunnaisessa järjestyksessä
  • Ryhmän jäsenen halutessa allekirjoittaa viestin hän valitsee salaisen avaimen satunnaisesti listastaan ja allekirjoittaa sillä viestin
  • Kun joku haluaa varmistaa allekirjoituksen joka on tehty ryhmän nimissä hän kokeilee kaikki ryhmän julkisia avaimia kunnes toimiva avain löytyy.
    • Toimiva julkinen avain voidaan kertoa myös viestin mukana, jolloin vastaanottajan pitää varmistaa että avain löytyy myös ryhmän listasta.
  • T voi paljastaa allekirjoittajan mikäli ongelmia ilmenee.
  • Heikkoudet
    • Vaatii T:n
    • T tuntee kaikki avaimet (voi luoda allekirjoituksia kenen tahansa nimissä)
    • Vaatii paljon avaimia
    • Uuden käyttäjän lisääminen vaikeaa (uudet avaimet paljastavat uuden käyttäjän)
  • Erilaisia muita tapoja löytyy (etsi tutkimuspapereita aiheesta)

Aikaleima palvelu

  • Tarvitaan dokumentin tai allekirjoituksen luonnin ajankohdan todistamiseksi
  • Ominaisuudet
    • Ei riippuvuutta käyttäjien fyysisestä mediasta
    • Aikaleimattua dokumenttia ei pidä pystyä muuttamaan
    • Aikaleimaa ei pidä pystyä muuttamaan tai vaihtamaan uutta leimaa vanhan tilalle
  • Arbitrator approach
    • A lähettää kopiondokumentista T:lle
    • T tallentaa dokumentin ja sen saapumisajan.
  • Ongelmat
    • T voi lukea dokumentin
    • Dokumentti voidaan varastaa lähetyksestä T:lle
    • T tarvii paljon tallennustilaa (kopio kaikista aikaleimatuista viesteistä)
    • Dokumentti voi korruptoitua siirron aikana, eheyden tarkistus tärkeää ennen leimausta
    • Täysi luotto T:hen
      • T voi tehdä millaisia aikaleimoja haluaa
  • Parannettu versio
  1. A lähettää T:lle tiivisteen aikaleimattavaksi
    • T tietää vain tiivisteen ei dokumentin sisältöä
  2. T yhdistää tiivisteen ja sen saapumisajan
    • Ei tallenattavaa kopiota, T ei tarvi tallennustilaa.
  3. T allekirjoittaa tuloksen ja lähettää sen takaisin A:lle
  4. A tarkistaa allekirjoituksen, tiivisteen ja aikaleiman
    • Siirtovirheet huomataan.
  • Edelleen on luotettava että T toimii oikein.
    • A ja T voivat esimerkiksi luoda minkä aikaleiman haluavat
  • Linkitetty protokolla
    • Aikaleima on linkitetty T:n aiemmin tekemiin aikaleimoihin. A ja T eivät voi muuttaa aikaleimaa aikaisemmaksi kuin edellinen aikaleima jonka T on tehnyt
    • A lähettää T:lle n:nen tiivisteen H_{n} ja identiteettisensä I_{n}=A.
    • T lähettää A:lle T_{n}=S_{Tsal}(n,I_{n},H_{n},t_{n},I_{n-1},H_{n-1},T_{n-1},L_{n}) , jossa t_{n} on tiivisteen H_{n} saapumisaika.
    • T lähettää A:lle myös linkitystiedon L_{n}=H(I_{n-1},H_{n-1},T_{n-1},L_{n-1})
    • Kun T allekirjoittaa seuraavan dokumentin hän lähettää I_{n+1} A:lle eli ilmoittaa A:lle kenen dokumentti on aikaleimattu hänen jälkeensä.
  • Hajautettu protokolla
  1. Käyttäen aikaleimattavaa tiivistettä syötteenä A luo turvallisella pseudosatunnaislukugeneraattorilla arvot V_{1},V_{2},V_{3},\ldots,V_{k}
  2. generoidut arvot vastaavat identiteettejä, joille A lähettää tiivisteen aikaleimattavaksi.
  3. vastaanottajat aikaleimaavat ja allekirjoittavat tiivisteet ja lähettävät tulokset A:lle
  • Huijatakseen, on A:n tehtävä sopimus kaikkien aikaleimaajien kanssa

Hyökkäyksiä RSA allekirjoituksia vastaan

  • Hyökkäys 1: E haluaa tietää mitä A on lähettänyt
  • E kuuntelee A:n kommunikkatiot ja hankkii salatekstin c joka on salattu RSA:lla
    • E haluaa selvittää viestin m eli toteuttaa operaation: m=c^{d}
    • E valitsee satunnaisen arvon r, joka on pienempi kuin n ja hakee A:n julkisen avaimen e.
    • E laskee x=r^{e}\: mod\: n  y=x*c\: mod\: n t=r^{-1}\: mod\: n
      • kun x=r^{e}\: mod\: n niin r=x^{d}\: mod\: n
    • Jos E saa A:n allekirjoittamaan y:n eli purkamaan salauksen, saa E arvon u=y^{d}\: mod\: n
    • Nyt E voi laskea tu\: mod\: n=r^{-1}y^{d}\: mod\: n=r^{-1}x^{d}c^{d}mod\: n=c^{d}mod\: n=m
  • Hyökkäys 2: M haluaa T:n allekirjoittavan viestin jota T ei normaalisti allekirjoittaisi
    • Olkoon viesti joka halutaan allekirjoitettavaksi m'
    • M valitsee satunnaisen luvun x ja laskee y=x^{e}mod\: n  m=ym'\: mod\: n
    • M lähettää viestin m T:lle allekirjoitettavaksi.
    • T palauttaa m^{d}mod\: n
    • M laskee (m^{d}mod\: n)*x^{-1}mod\: n=m'^{d}mod\: n joka on allekirjoittu m'
  • Hyökkäys käyttää hyväkseen heikkoutta (xm)^{d}mod\: n=x^{d}m^{d}mod\: n
  • Hyökkäys 3: M haluaa T:n allekirjoittaa viestin m_{3} jota T ei normaalisti allekirjoittaisi
    • M luo kaksi viesti niin että m3\equiv_{n}m_{1}m_{2} ja lähettää ne T:lle allekirjoitettavaksi
    • T allekirjoittaa viestit m_{1} ja m_{2} : m_{1}^{d}mod\: n and m_{2}^{d}mod\: n
    • M laskee m_{3}^{d}=(m_{1}^{d}mod\: n)(m_{2}^{d}mod\: n)
  • Hyökkäys 4: kun salaus tehdään ennen allekrijoitusta
    • A lähettää viestin B:lle salaten sen ensin B:n julkisella avaimella ja sen jälkeen allekirjoittaa sen omalla salaisella avaimella (m^{e_{B}}\: mod\: n_{B})^{d_{A}}\: mod\: n_{A}
    • Jos B haluaa väittää että A lähetti hänelle viestin m' viestin m sijaan hän laskee arvon x kaavasta m'^{x}=m\: mod\: n_{B}
    • Tämän jälkeen B ilmoittaa että hänen julkinen avaimensa on s xe_{B} ja julkinen modulus on n_{B}ja voi näin ilmoittaa että A on allekirjoittanut viestin m'

opit hyökkäyksistä

  • Allekirjoita vain tiivisteitä, älä koko viestejä
    • Käytä eri avaimia allekirjoitukseen ja salaukseen
  • Allekirjoita viesti ennen salausta
    • Allekirjoita viesti älä kirjekuorta
  • Tiedä mitä allekirjoitat
Last modified: 2013/07/01 14:42