1 / 23

Avaimesta sopiminen

Avaimesta sopiminen. Key agreement protocols. Mihin tarvitaan avaimesta sopimista ?. Kun käytetään esim. AES:ia, on yhteyden osapuolilla oltava symmetrinen, ts. sama salausavain käytössään.

Download Presentation

Avaimesta sopiminen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Avaimesta sopiminen Key agreement protocols

  2. Mihin tarvitaan avaimesta sopimista ? Kun käytetään esim. AES:ia, on yhteyden osapuolilla oltava symmetrinen, ts. sama salausavain käytössään. Jos järjestelmässä on esim 10 000 käyttäjää, tarvittaisiin keskinäisiä avaimia 10000 + 9999 + 9998 + … + 2 + 1 kpl = 50 miljoonaa Onneksi näitä avaimia ei tarvitse tallentaa mihinkään, vaan on olemassa keinoja, joilla avaimet voidaan generoida muutamassa millisekunnissa jokaista yhteyttä varten erikseen. Seuraavassa perusmenettelytavat.

  3. 1. Digitaalinen kirjekuori • Digitaalisella kirjekuorella (digital envelope) tarkoitetaan seuraavaa. • Viestin lähettäjä generoi viestiä varten symmetrisen avaimen K • Viestin lähettäjä salaa viestin avaimella K käyttäen esim. AES:ia • Viestin lähettäjä salaa salausavaimen K vastaanottajan julkisilla RSA – avaimilla ja lähettää salakirjoitetun avaimen viestin liitteenä. • Vastaanottaja purkaa ensin liitteen RSA -dekryptausavaimellaan ja saa varsinaisen salausavaimen K • Vastaanottaja avaa salakirjoitetun viestin.

  4. Diffie – Hellmanin avaimesta sopimisen protokolla Järjestelmässä on sovittu suuri alkuluku (modulus) p, sekä generoiva alkio g, jonka potenssit mod p käyvät läpi kaikki joukon 1 , … , p-1 luvut. A generoi satunnaisen eksponentin a B generoi satunnaisen eksponentin b A lähettää B:lle ga mod p B lähettää A:lle gb mod p A laskee istuntoavaimen K = (gb)a mod p B laskee istuntoavaimen K = (ga)b mod p Salakuuntelija ei kykene laskemaan viestien vaihdosta eksponentteja a ja b, mikäli järjestelmän modulus p on esim. 1024 bittinen.

  5. Avaimesta sopiminen GSM:ssä Liittymän omistajan kännykän SIM – kortissa on 64 bittinen avain Ki. Sama luku on tiedossa myös operaattorilla. Operaattori generoi 64 bittisen satunnaisluvun RND ja lähettää tämän kännykkään puhelun alussa. Kännykkä laskee luvusta RND ja SIM – avaimesta Ki algoritmilla A8 Istuntoavaimen K Operaattori laskee istuntoavaimen K samalla tavoin A8 algoritmilla. Algoritmi A8 voi olla jopa operaattorikohtainen. Yksinkertaisimmillaan se voi olla pelkkä XOR satunnaisluvun RND ja SIM avaimen Ki bittien välillä.

  6. Tiivisteet eli hashit Engl. hash, digital fingerprint, message digest Käyttö: 1.Viestin muuttumattomuuden varmistaminen 2. Salasanatiivisteet

  7. Miksi tiivisteen pitää olla turvallinen? • Mitä seuraisi siitä, että hakkeri lukiessaan salasanatiivisteesi palvelimen käyttäjätiedostosta, voisi kehittää salasanan, jolla olisi sama tiiviste? • Mitä seuraisi siitä, että joku tuntisi tekniikan, jolla viestiä voi sopivasti muuttaa niin, että viestillä olisi edelleen sama tiiviste?

  8. Hyvän tiivisteen ominaisuuksia • Tiivisteestä ei voi laskea taaksepäin itse viestiä • Jos tuntee tiivisteen ja viestin, ei voi generoida toista viestiä, jolla olisi sama tiiviste. • Ei yleensäkään ole mahdollista generoida kahta viestiä, joilla olisi sama tiiviste. Tiivisteen pituus: 128 bittiä eli 16 tavua (vvm:n ohjeet) Huom! On itsestään selvää, että koska tiivisteen pituus on äärellinen, on varmaankin ainakin teoriassa olemassa törmäyksiä, joissa kaksi viestiä antaa saman tiivisteen. Nämä ovat hyvin harvinaisia 128 bittisessä tiivisteessä. Tärkeintä on, että ei ole systemaattista keinoa luoda näitä törmäyksiä.

  9. Tiivisteitä • SHA – 1 ja SHA – 2 • RD5 • UNIX salasanatiivisteen tekee DES Kiinalainen XiaoYun Wang mursi 2004 -2005 lähes kaikki tunnetut tiivisteet. Tällä hetkellä turvallista tiivistettä ei oikein ole.

  10. MAC = Message Authentication Code Tiiviste (hash) takaa vain viestin muuttumattomuuden MAC takaa lisäksi lähettäjän autenttisuuden Tavallisin MAC – tyyppi on HMAC, jossa luodaan tiiviste viestistä käyttäen jotain tavanomaista tiivistefunktiota, kuten SHA-1 tai RD5. Erona tiivisteeseen on se, että tiivisteen syötteenä on viestin lisäksi symmetrinen salausavain. HMAC = Hash(K, m) MAC vastaa täysin digitaalista allekirjoitusta. Kun viestin vastaanottaja saa viestin ja sen mukana MAC – tiivisteen, hän laskee viestistä ja symmterisestä samalla MAC – algoritmilla oman tiivisteen. Tämän jälkeen hän vertaa tulosta viestin liitteenä tulleeseen tiivisteeseen. Mikäli tulokset ovat identtiset hän tietää, että viesti ei ole muuttunut tiedonsiirrossa ja lähettäjä on autenttinen, koska hän selvästikin tuntee avaimen K.

  11. Digitaalinen allekirjoitus Digital signature algorithm • Päämääränä on, että digitaalisella allekirjoituksella taataan, että • 1) viesti ei ole muuttunut, eikä sitä ole muutettu matkalla • 2) viestin lähettäjän henkilöllisyys on kiistaton Yhtä sitova kuin todistajien läsnä ollessa suoritettu allekirjoitus

  12. Digital signature CA avainpalvelin Lähettäjän julkinen avain Lähettäjän yksityinen avain Kyllä/ Ei allekirjoitus allekirjoitus verifiointi tiiviste tiiviste H(m) H(m) viesti lähettäjä vastaanottaja Verifiointi = varmennus H(m) = tiivistefunktio

  13. Kaavion selostus • 1. A laskee viestistään tiivisteen ( esim. SHA tai RD6). • 2. A muodostaa tiivisteestä digitaalisen allekirjoituksen yksityisellä avaimellaan d . Sitten A lähettää viestin ja allekirjoituksen B:lle • 3. B avaa allekirjoituksen A:n julkisilla avaimilla saaden näin A:n lähettämän tiivisteen. • 4. B laskee tiivisteen itse saamastaan viestistä • B vertaatiivisteitä. • Mikäli ne ovat samat, allekirjoitus on pätevä: lähettäjästä ei ole epäilystä ja viestin eheys on varma.

  14. Digitaalinen allekirjoitus RSA:lla • Esim. Anne allekirjoittaa kauppakirjan verkossa. Annen RSA – avaimet ovat n = 77, e = 23 ja d = 47. • Anne laskee dokumentista tiivisteen S = 13 • Anne allekirjoittaa dokumentin digitaalisesti: S’ = Sd mod n • PowerMod[13,47,77] = 62 • Vastaanottaja purkaa allekirjoitusen Annen julkisilla avaimilla. PowerMod[62,23,77] = 13 • Vastaanottaja laskee saamastaan kauppakirjasta tiivisteen samoin kuin Annekin alussa oli tehnyt saaden 13. • Lopuksi vastaanottaja vertaa viestistä laskemaansa tiivistettä ja allekirjoituksesta purettua tiivistettä. Koska ne ovat samat, on hän varma siitä, että • Viesti ei ole muuttunut eikä sitä ole muutettu • Anne on sen lähettänyt, koska allekirjoitus voitiin avata nimenomaan Annen julkisilla avaimilla.

  15. Digitaalisen allekirjoituksen algoritmeja * USA:ssa suosituin on ollut DSS ( digital signature standard), joka käyttää tiivisteenä SHA – 1 algoritmia. * Suomen sähköinen henkilökortti käyttää RSA:n digitaalista allekirjoitusta. * Myös ECDSA on hyväksytty kaikkialla, mutta ehkä toistaiseksi vähemmän käytetty (ECDSA = elliptisten käyrien digitaalinen allekirjoitus)

  16. Autentikointi Autentikointi = henkilöllisyyden todistaminen verkossa, esim. online palveluissa, pankkiautomaatilla,…

  17. Autentikointi- tyypit • Heikko autentikointi: • salasana- autentikointi • kertakäyttösalasana – autentikointi (pankit) Vahva autentikointi: = kryptografinen autentikointi Haaste – vaste autentikointi Nollatieto - protokollat Autentikointi ja digitaalinen allekirjoitus ovat sukua toisilleen. Autentikointi on kuitenkin hetkellinen tapahtuma, jonka tuloksena on joko pääsy palveluun tai hylkäys. Digitaalinen allekirjoitus ei liity niiin kiinteästi ajanhetkeen. Siihen ei liity palveluun hyväksymis/ hylkäys tapahtumaa. Allekirjoitettu kirje voi olla kauan sähköpostissa avaamatta eikä se vanhene. Esim. Pankkikortti autentikoidaan joka kerta kun se laitetaan pankkiautomaattiin ( autentikointi ei perustu vain pin koodiin) GSM puhelin autentikoidaan aina verkon taholta, kun virta kytketään siihen.

  18. Haaste vaste -autentikoinnin periaate Satunnaislukuautentikointi Palvelu varmistuu käyttäjän identiteetistä siten, että se lähettää käyttäjälle haasteena satunnaisluvun, jonka käyttäjän tulee lähettää salattuna takaisin. Symmetrisen avaimen järjestelmässä molemmilla on sama avain K, joten palvelu avaa salatun satunnaisluvun avaimella K. Jos tulos on sama kuin palvelun lähettämä haasteluku, on käyttäjä autentikoitu. Julkisen avaimen järjestelmässä käyttäjä salaa haasteluvun yksityisellä avaimellaan d. Palvelu purkaa salauksen käyttäjän julkisella avaimella. Mikäli tämä tuottaa haasteluvun, on käyttäjä autentikoitu, koska vain hänellä on hallussaan käytetty yksityinen avain. Hei. Salaapa luku 450234056 ! Ok. Vaste on 354768543 Oikein meni. Pääset palveluun

  19. Aikaleima: 15.3.2007 17:24:34 Aikaleima- autentikointi Yksinkertaisimmillaan palveluntarjoajan ei tarvitse lähettää mitään haastelukua asiakkaalle, vaan autentikointi voidaan suorittaa aikaleiman avulla. 1. Asiakas lähettää symmetrisellä avaimellaan K salattuna laitteensa kellonajan palvelimelle 2. Palvelin purkaa saamansa viestin avaimella K. Tämän jälkeen se vertaa saamaansa aikaleimaa omaan kelloonsa. Mikäli aikaero on pienempi kuin hyväksytty viiveraja, asiakas hyväksytään palveluun Huom! Aikaleima autentikointi vaatii asiakkaan ja palvelimen kellojen synkronointia.

  20. Esim. A3 GSM autentikointi Asiakkaan SIM – kortin avain Ki on molemmilla tiedossa. Haasteluku RND Puhelin laskee vasteen A3 -algoritmilla luvuista RND ja Ki Operaattori laskee vasteen myös itse ja autentikoi puhelimen.

  21. Nollatietoprotokollat Algoritmeja, joissa ei käytetä asiakkaan SIM – kortin avainta tai esim. Pankkikortin RSA avainta – ei myöskään niihin liittyviä salausalgoritmeja. Periaate on, että autentikointialgoritmi on erillinen, eikä salakuuntelija saa irti siihen liittyvästä viestien vaihdosta mitään tietoa, jota voisi hyödyntää itse salauksen tai salausavaimien murtamiseen. Mm. Fiat Shamir protokollassa älykortti pyrkii vakuuttamaan automaattia siitä, että se tuntee korttiin talletetun salaisen luvun ilman, että lukua välitetään automaatille. Algoritmi muistuttaa kolikon heittoa: Automaatti heittää satunnaisesti kortille haasteena nollia ja ykkösiä. Kortti vastaa niihin siten, että joka kerta kun se vastaa oikein, puoliintuu todennäköisyys sille, että kortti olisi väärennetty. Esim. 10 haasteluvun jälkeen ( mikäli kortti on vastannut oikein), on aitouden todennäköisyys 1 – (1/2)10 = 99.9 %

  22. Tehtäviä: • Diffie Hellman avaimesta sopimisen protokollassa modulus p = 409 • ja generoiva alkio g = 21. • Arja generoi itselleen salaisen eksponentin 45 ja Paavo generoi itselleen 101. • Mikä on heidän keskinäinen istuntoavaimensa ? • Kalle laskee viestistään tiivisteen S = 34 ja käyttää sitä digitaaliseen allekirjoitukseen lähettäessään viestiä Pirjolle. • Missä muodossa Pirjo saa digitaalisen allekirjoituksen viestin liitteenä. • Kallen RSA-avaimet: n = 589 , e = 41 d = 461 • Pirjon RSA –avaimet n = 667 , e = 23 d = 375 • Näytä, miten Pirjo avaa digitaalisen allekirjoituksen 3. Kodaa viesti “Kemi” kokonaisluvuksi m RSA – salausta varten. (Käytä ASCII – koodia ja 256 – kantaista lukujärjestelmää) 4. Montako keskinäistä avainta pitäisi olla 500 työntekijän yrityksessä, mikäli jokaisella käyttäjäparilla tulisi olla yksilöllinen keskinäinen avain ?

  23. Kysymykset ? • Mitä tarkoittaa “digitaalinen kirjekuori” ? • Miten GSM puhelin autentikoidaan? • Mitä tarkoittaa “vahva autentikointi”? • Mikä on digitaalisen allekirjoituksen ja autentikoinnin ero? • Mitä hyvältä tiivistefunktiolta vaaditaan? • Mikä on tiivisteen ja MAC:n ero ? • Mitä haittaa on tiivisteen murtamisesta ?

More Related