Tietoliikenteen perusteet

Samankaltaiset tiedostot
Luento 11: Tiedonsiirron turvallisuus: kryptografiaa ja salausavaimia. Syksy 2014, Tiina Niklander

Salaustekniikat. Kirja sivut: ( )

SALAUSMENETELMÄT. Osa 2. Etätehtävät

Tietoturva P 5 op

Tietoturvatekniikka Ursula Holmström

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Salakirjoitusmenetelmiä

Tietoturvan perusteet - Syksy SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Luku II: Kryptografian perusteita

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

Yritysturvallisuuden perusteet. 11. Luento Tietotekninen turvallisuus

Tietoturva-kurssit: kryptografian perusteet IPSec

Salausmenetelmät 2015/Harjoitustehtävät

Luku II: Kryptografian perusteita

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

Luku II: Kryptografian perusteita

Kvanttiavainjakelu (Kvantnyckeldistribution, Quantum Key Distribution, QKD)

Kryptologia Esitelmä

Lyhyt oppimäärä mistä salauksessa on kyse? Risto Hakala, Kyberturvallisuuskeskus, Viestintävirasto

Lyhyt oppimäärä mistä tietojen salauksessa on oikeasti kyse? Risto Hakala, Kyberturvallisuuskeskus, Viestintävirasto

Salausmenetelmät (ei käsitellä tällä kurssilla)

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017

myynti-insinööri Miikka Lintusaari Instrumentointi Oy

5. SALAUS. Salakirjoituksen historiaa

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne.

Tietoliikenteen perusteet. Tietoturvasta

A TIETORAKENTEET JA ALGORITMIT

T Cryptography and Data Security

Kuljetus/Sovelluskerroksen tietoturvaratkaisut

Tämän luennon aiheet. Kuljetus/Sovelluskerroksen tietoturvaratkaisut. TLS:n turvaama HTTP. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n turvaama HTTP. TLS:n suojaama sähköposti

Osa4: Julkisen avaimen salaukset: RSA ja Elliptisten käyrien salaus. Tiivistefunktiot ja HMAC, Digitaalinen allekirjoitus RSA

Osa1: Peruskäsitteitä, klassiset salakirjoitukset. Salausmenetelmät. Jouko Teeriaho LapinAMK

Tietoliikenteen salaustekniikat

Pikaviestinnän tietoturva

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

NÄIN TOIMII. alakirjoituksen historia ulottuu tuhansien

Sähköinen asiointi hallinnossa ja HST-järjestelmä. Joensuun yliopisto Tietojenkäsittelytieteen laitos Laudaturseminaari Tapani Reijonen 21.3.

Luento 12: Tietoliikenteen turvallisuus: protokollat (kuten SSL, VPN, IPsec, WEP) Syksy 2014, Tiina Niklander

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2012

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) ja Secure Shell (SSH)

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

Datan turvallisuus, yleistä tietojen luokittelusta I

ECC Elliptic Curve Cryptography

Varmennepalvelu Yleiskuvaus Kansallisen tulorekisterin perustamishanke

Kymenlaakson Kyläportaali

Langattomat lähiverkot. Matti Puska

Julkisen avaimen infrastruktuuri ja varmenteet

Tietoturvan perusteita

Kryptovaluuttoista ja lohkoketjuista osa 3. Jyväskylä Henri Heinonen

Tietoliikenteen salaaminen Java-sovelluksen ja tietokannan välillä

DNSSec. Turvallisen internetin puolesta

MS-A0402 Diskreetin matematiikan perusteet

WL54AP2. Langattoman verkon laajennusohje WDS

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Internet Protocol version 6. IPv6

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

Tietoliikenteen perusteet. Tietoturvasta. Kurose, Ross: Ch 1.6, Ch 8.1, Ch Tietoliikenteen perusteet /2009/ Liisa Marttinen 1

Tietoliikenteen perusteet. Tietoturvasta. Kurose, Ross: Ch 1.6, Ch 8.1, Ch Tietoliikenteen perusteet /2009/ Liisa Marttinen 1

OSI ja Protokollapino

Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen - kansalliset suojaustasot

Yritysturvallisuuden perusteet

Tietoturvan Perusteet : Tiedon suojaaminen

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

5. Julkisen avaimen salaus

IPsec-SA:n perustaminen. Kuljetus/Sovelluskerroksen tietoturvaratkaisut. Luottamuksenhallinta. Arkkitehtuuri Internetin turvallisuudelle

Modernien salausalgoritmien aikajana

Y k s i t y i s y y s j a t i e t o s u o j a v e r k o s s a. Mikko Rauhala Vaalimasinointi.org

Koostanut Juulia Lahdenperä ja Rami Luisto. Salakirjoituksia

Tietoverkon käyttäjän tietoturvan parantaminen salausmenetelmiä käyttäen

IDENTITEETTIIN PERUSTUVISTA JULKISEN AVAIMEN KRYPTOSYSTEEMEISTÄ

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

Ohjelman välitys ja salaus IPTV-järjestelmässä

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

AH-otsake. Turvallisuus verkkokerroksella. AH-otsake. AH-otsake. ESP-otsake. IP-otsake

HELIA TIKO ICT03D Tieto ja tiedon varastointi T.Mikkola, O.Virkki. Tietoturva tiedon varastoinnissa

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Yritysturvallisuuden perusteet

Kuljetus/Sovelluskerroksen tietoturvaratkaisut

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

Introduction to Network Security basic algorithms, technology, trust

Algoritmit 2. Luento 3 Ti Timo Männikkö

Varmennepalvelu Yleiskuvaus Kansallisen tulorekisterin perustamishanke

Tietoliikenteen perusteet

Algoritmit 2. Luento 3 Ti Timo Männikkö

OpenPGP-standardia käyttävän salausrajapinnan suunnittelu

Langaton linkki. Langaton verkko. Tietoliikenteen perusteet. Sisältö. Linkkikerros. Langattoman verkon komponentit. Langattoman linkin ominaisuuksia

TW-EAV510AC-LTE OpenVPN ohjeistus

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

SAMLINK VARMENNEPALVELU PALVELUKUVAUS OHJELMISTOTALOILLE

Kaikki oppaassa mainitut ohjelmat löytyvät VALO-CD:ltä: Mozilla Thunderbird, GPG ja Engimail.

VETUMA-PALVELUN PALVELINVARMENTEET

Transkriptio:

Tietoliikenteen perusteet Luento 11: Tiedonsiirron turvallisuus: kryptografiaa ja salausavaimia Syksy 2015, Timo Karvi Kurose&Ross: Ch 8 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved Tietoliikenteen perusteet, syksy 2015 Timo Karvi 16.2.2005

paketti tai datagrammi, sanoma segmentti kehys H l H n H n H t H t H t M M M M Lähettäjä (source) Sovellusk. Kuljetusk. Verkkok. Linkkik. Fyysinen k. Luennon sisältöä linkki fyysinen Kytkin (switch) message segment datagram frame H l Vastaanottaja (destination) H n H n H t H t H t M M M M application transport network link physical H l H n H n H t H t M M network link physical H n H t M Reititin (router) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 2

Sisältö Ymmärtää tietoliikenteen turvallisuuden periaatteet: Salaus (ja sen monet käyttötavat) Todentaminen (authentication) Viestien aitous ja eheys Tietoturva käytännössä: Palomuurit ja tunkeutumisenhavaitsemisjärjestelmät Turvallisuus eri kerroksilla Oppimistavoitteet: - Ymmärtää ja osaa selittää käsitteet ja niiden merkitykset - Osaa kuvata turvallisen protokollan periaatteita Tietoliikenteen perusteet, syksy 2015 Timo Karvi 3

VERKON TIETOTURVA Tietoliikenteen perusteet, syksy 2015 Timo Karvi 4

Verkon tietoturvan käsitteitä http://www.tsk.fi/fi/info/tiivistietoturvasanasto.pdf Luottamuksellisuus (confidentiality): vain lähettäjä ja oikea vastaanottaja ymmärtävät viestin sisällön Lähettäjä salaa (encrypt) viestin Vastaanottaja purkaa (decrypt) viestin Todentaminen (authentication), tunnistus (identification): lähettäjä ja vastaanottaja haluavat varmistua vastapuol. Eheys (integrity): lähettäjä ja vastaanottaja haluavat varmistaa, että viestiä ei ole muutettu (siirron aikana, jälkeenpäin) ilman, että se havaitaan. Pääsy (access) ja käytettävyys (availability): Palvelun pitää olla käytettävissä käyttäjille. Tähän kuuluu sekä käytettävyys (ent. saatavuus) että pääsynvalvonta Tietoliikenteen perusteet, syksy 2015 Timo Karvi 5

Ystäviä ja vihamiehiä: Alice, Bob, Trudy Tunnettu esimerkki tietoliikenteen turvallisuudesta! Bob ja Alice haluavat keskustella turvallisesti Trudy (tunkeilija) voi salakuunnella, tulla väliin, poistaa tai lisätä viestejä Alice channel data, control messages Bob data secure sender s secure receiver data Trudy Tietoliikenteen perusteet, syksy 2015 Timo Karvi 6

Keitä/mitä Bob ja Alice ovat? todellisia ihmisiä! www-selaimia ja palvelimia: esim. verkkokauppa tai vastaavia elektronisia transaktioita. Verkkopankin asiakkaita ja palvelimia Nimipalvelimia (DNS servers) luento 4 Reitittimiä, jotka vaihtavat reititystaulutietojaan luento 8 ja vastaavia Transaktio (transaction) tapahtumaketju tai toimenpidesarja, Joka tehdään kokonaan tai ei ollenkaan. (Voi olla osatransaktioita) Erityisesti pankkitoiminnot, tietokannat käyttävät käsitettä Tietoliikenteen perusteet, syksy 2015 Timo Karvi 7

Mitä Trudy puuhii? Koputtelee koneen portteja (mapping) Turva-aukkojen löytämiseksi ja koneen valtaamiseksi Salakuuntelee (eavesdropping, sniffing) Sieppaa sanoman matkalla ja tutkii sisällön Väärentää, peukaloi, tekeytyy (impersonation, spoofing) Vaihtaa paketin tietoja, esim. IP-osoitteen Tekeytyy toiseksi osapuoleksi Tehtailee sanomia, satuilee (fabrication) Tekee ja lisää liikenteeseen ylimääräisiä sanomia Kaappaa yhteyden (hijacking) Vaihtaa oman IPosoitteen lähettäjän / vastaanottajan tilalle Estää palvelun (DoS, Denial of Service) Kuormittaa palvelinta, jotta se ei ehdi palvella oikeita käyttäjiä Tietoliikenteen perusteet, syksy 2015 Timo Karvi 8

VÄHÄN KRYPTOGRAFIAA Tietoliikenteen perusteet, syksy 2015 Timo Karvi 9

Kryptografian merkintätapa (~ kieli) K A Alicen salausavain (encyption key) K B Bobin salausavain Selväkielinen (plaintext) salausalgoritmi Salattu (ciphertext) purkualgoritmi Selväkielinen Normaalissa salauksessa K A = K B. Julkisen avaimen salauksessa salaus- ja purkuavain erilaiset. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 10

Merkintöjä m selväkielinen viesti Salaukselle ja purulle erilaisia merkintöjä kirjallisuudessa: E(K,m) tai E K (m) viestin m salaus avaimella K, D(K,c) tai D K (c) salatun viestin c purku avaimella K. Salatulle viestille myös merkintä {m} K. Kirjan merkintä K(m) salaukselle ja K(K(m)) purulle eivät ole loogisia (miten merkitään kaksinkertainen salaus?). Käytämme kuitenkin tätäkin merkintää toisinaan. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 11

Salauksen murtaminen (break) Vain salattu viesti (cipher-text only) Trudyllä on vain salattu viesti, jota hän voi tutkia Kaksi vaihtoehtoa: Raaka voima (brute force): kokeile kaikki mahdolliset avaimet Tilastollinen analyysi (statistical analysis) Tunnettu selväkielinen teksti (known-plaintext) Trudyllä on salatun viestin lisäksi sisältöä vastaavaa selväkielistä tekstiä esim, kirjainten vaihtoon perustuvassa salauksessa Trudy voi päätellä kirjaimet, a,l,i,c,e,b,o Valittu selväkielinen (chosen-plaintext): Trudy voi saada haluamaansa selväkielistä vastaavan salatun (esim. huijaamalla Alicea) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 12

Salauksen murtaminen (2) Edellä mainitut keinot eivät nykyisin johda tulokseen, sillä salausmenetelmät ovat vahvoja. Tavallisimmin salaus voidaan murtaa protokolla- tai algoritmivirheiden vuoksi: avain saadaan selville. Esimerkiksi satunnaislukugeneraattori on huono tai hyökkääjä voi ujuttaa omia pakettejaan istuntoon ja saada aikaan tilanteen, jossa avain paljastuu. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 13

Symmetrisen avaimen salakirjoitus K K Selväk. viesti, m salausalgoritmi salattu c=e (K,m) purkualgoritmi Selväk. viesti m = D(K,c)) Symmetrisen avaimen salaus (symmetric key crypto): Bob ja Alice jakavat saman (symmetrisen) avaimen: K Q: Miten Alice ja Bob sopivat avaimesta? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 14

AES (Advanced Encryption Standard) Symmetrisen avaimen salaus, korvasi DESin (2001) NIST standardi National Institute of Standards and Technology Käsittelee dataa 128 bitin lohkoina Avaimen pituus: 128, 192, tai 256 bittiä NIST 2001 väitti, että jos DES salauksen purku raakaa voimaan käyttäen vie 1s, veisi AESin purku 149 biljoonaa vuotta (engl. 149 trillion years) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 15

AES(2) 128 bitin tekstilohko jaetaan neljälle riville. Tämän jälkeen näin saatua taulukkoa sekoitetaan ilman salaista avainta. Ensimmäinen sekoitus on ShiftRows: 1. riviä ei siirretä, 2. rivi 1 askel vasemmalle sivuttaissiirtona, 3. rivi 2.askelta ja 4. rivi 3 askelta. Toinen operaatio on SubBytes: Taulukon jokainen tavu toisella tavulla, joka saadaan kiinteästä julkisesta taulukosta. Kolmas operaatio on MixColumns: Taulukko tulkitaan matriisiksi, joka kerrotaan toisella, julkisella vakiomatriisilla. Matriisien alkiot tulkitaan äärellisen kunnan alkioiksi (polynomeja mod 2!). Tietoliikenteen perusteet, syksy 2015 Timo Karvi 16

AES(3) Nämä kolme operaatiota tehdään ilman salaista avainta. Neljäs operaatio on varsinainen salaus: Taulukko tulkitaan taas bittijonoksi ja lasketaan yhteen biteittäin xor-operaatiolla salaisen avaimen kanssa. Sama salaus tehdään myös aivan aluksi, ennen sekoituksia. Tätä toistetaan 10 kertaa. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 17

Salauskäytäntö Olisi huono idea salata ja lähettää jokainen lohko erikseen, koska säännöllisyydet saattavat paljastua. Seuraavat kuvat valaisevat tilannetta. Ensin salaamaton kuva: Tietoliikenteen perusteet, syksy 2015 Timo Karvi 18

Salauskäytäntö (2) Kuva salattu erikseen lohkottain: Tietoliikenteen perusteet, syksy 2015 Timo Karvi 19

Salauskäytäntö (3) Kolmas kuva on salattu ketjutusmenetelmällä, joka esitetään seuraavaksi: Tietoliikenteen perusteet, syksy 2015 Timo Karvi 20

Lohkojen ketjutus Cipher Block Chaining (CBC) Aloituslohko (lohko c(0)) - satunnaisvektori, joka lähetetään selväkielisenä Kullekin datalohkolle M(i) Laske XOR (M(i), C(i-1)) ja sitten salaa yhdistetty lohko C(i) = K s (m(i) c(i-1)) Täydennä tarvittaessa viimeinen lohko satunnaisella sisällöllä Tietoliikenteen perusteet, syksy 2015 Timo Karvi 21

Julkisen avaimen salaus Public Key Cryptography Symmetrinen avain Lähettäjän ja vastaanottajan tunnettava salainen symmetrinen avain Q: Kuinka avaimesta sovitaan viestinnän alussa (varsinkin, jos ei koskaa tavata )? Julkinen avain Erilainen idea [Diffie- Hellman76, RSA78] Ei jaettua salaista avainta Julkinen (public) salausavain kaikkien tiedossa Salainen, yksityinen (private) salausavain vain vastaanottajan tiedossa Tietoliikenteen perusteet, syksy 2015 Timo Karvi 22

Julkisen avaimen salaus + K B Bobin julkinen avain - Bobin salainen K B avain Selväk. viesti, m salaus algoritmi salattu + K B (m) purku algoritmi Selväk. viesti - B + m = K (K (m)) B Tietoliikenteen perusteet, syksy 2015 Timo Karvi 23

Julkisen avaimen salausalgoritmi vaatimuksia: 1 2 + - tarvitaan K ( ) ja K ( ) siten, että B B - + K (K (m)) = m B B Julkisesta avaimesta K ei pidä B voida päätellä salaista avainta - K B + RSA: Rivest, Shamir, Adleman algoritmi Tietoliikenteen perusteet, syksy 2015 Timo Karvi 24

Esitietoa: moduloaritmetiikka x mod n = jakojäännös, kun x jaetaan n:llä peruskaavoja: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a mod n) - (b mod n)] mod n = (a-b) mod n [(a mod n) * (b mod n)] mod n = (a*b) mod n joten (a mod n) d mod n = a d mod n lasketaan : x=14, n=10, d=2: (x mod n) d mod n = 4 2 mod 10 = 6 x d = 14 2 = 196 x d mod 10 = 6 Tietoliikenteen perusteet, syksy 2015 Timo Karvi 25

RSA: taustaideaa viesti: vain jono bittejä, bittijono Kukin bittijono voidaan kuvata yhdellä kokonaisluvulla Näin ollen viestin salaus on ekvivalentti kokonaisluvun salaukselle. esimerkki: m= 10010001. Tätä viestiä vastaa kokonaisluku 145. Viestin m salaamiseksi salataan vastaava kokonaisluku ja näin saadaan uusi luku (eli salattu viesti). Tietoliikenteen perusteet, syksy 2015 Timo Karvi 26

RSA: Julkinen/salainen avainpari 1. Valitse kaksi suurta alkulukua p, q. (e.g., 1024 bits each) 2. Laske n = pq, z = (p-1)(q-1) 3. Valitse e (e<n) s.e. ei yhteisiä tekijöitä luvun z kanssa (e, z ovat keskenään alkulukuja ). 4. Valitse d s.e. ed-1 on tasan jaollinen z:lla. (toisin sanoen: ed mod z = 1 ). 5. Julkinen avain on pari (n,e). Salainen avain (n,d). K + K - B B Tietoliikenteen perusteet, syksy 2015 Timo Karvi 27

RSA: salaus ja purku 0. Avaimet (n,e) ja (n,d) laskettu kuten edellä 1. Sanoman m (<n) salaus: laske c = m e mod n 2. Vastaanotetun sanoman c purku: laske m = c d mod n magic happens! m = (m e mod n) c d mod n Tietoliikenteen perusteet, syksy 2015 Timo Karvi 28

RSA esimerkki: Bob valitsee p=5, q=7. Silloin n=35, z=24. e=5 (e ja z ei yhteisiä tekijöitä). d=29 (ed-1 tasan jaollinen z:lla). Alice salaa 8-bittisen viestin Salaus: Purku: bit pattern m m e c = m e mod n 0000l000 12 24832 17 c c d m = c d mod n 17 481968572106750915091411825223071697 12 Tietoliikenteen perusteet, syksy 2015 Timo Karvi 29

Miksi RSA toimii? Täytyy osoittaa, että c d mod n = m kun c = m e mod n tiedetään: Kaikille x ja y: x y mod n = x (y mod z) mod n kun n= pq ja z = (p-1)(q-1) siten, c d mod n = (m e mod n) d mod n = m ed mod n = m (ed mod z) mod n = m 1 mod n = m Tietoliikenteen perusteet, syksy 2015 Timo Karvi 30

RSA: toinen tärkeä piirre! Avainten vaihdettavuus on erittäin hyödyllinen ominaisuus - + K (K (m)) = m B B = + - B B K (K (m)) Ensin julkinen avain ja sitten salainen avain Ensin salainen avain ja sitten julkinen avain Lopputulos on sama! Tietoliikenteen perusteet, syksy 2015 Timo Karvi 31

- + Miksi K (K (m)) = m = K (K (m))? B B + - B B Perustuu puhtaasti moduloaritmetiikkaan: (m e mod n) d mod n = m ed mod n = m de mod n = (m d mod n) e mod n Tietoliikenteen perusteet, syksy 2015 Timo Karvi 32

Miksi RSA on turvallinen? Oletetaan, että tiedät Bobin julkisen avaimen (n,e). Kuinka vaikeaa on selvittää d? Periaatteessa tarvitaan vain tekijöihinjako. Täytyy löytää luvun n tekijät p ja q, kun emme tiedä niitä. Tekijöihin jako on laskennallisesti vaativa ongelma, kun selvitettävänä on suuri luku. Wikipedia: Kokonaislukujen tekijöihinjako Tietoliikenteen perusteet, syksy 2015 Timo Karvi 33

RSA käytännössä: istuntoavaimet RSAn käyttämä potenssiin korottaminen on laskennallisesti haastavaa DES on ainakin 100 kertaa nopeampi kuin RSA Siispä: Käytetään julkisen avaimen salausta suojatun yhteyden muodostamiseen, sitten käytetään toista, erillistä symmetristä istuntoavainta salaukseen suojatun yhteyden aikana Istuntoavain (session key), K S Bob ja Alice käyttävät RSA:ta symmetrisestä avaimesta K S sopimiseen Kun molemmilla on K S, käytetään sitä salaamiseen Tietoliikenteen perusteet, syksy 2015 Timo Karvi 34

KÄYTTÄJÄN TODENTAMINEN (AUTENTIKOINTI) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 35

Todentaminen (authentication) Tavoite: Bob haluaa, että Alice todentaa henkilöllisyytensä Protokolla ap1.0: Alice väittää I am Alice I am Alice Virhetilanteita/ epäonnistumisia?? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 36

Todentaminen (authentication) Tavoite: Bob haluaa, että Alice todentaa henkilöllisyytensä Protokolla ap1.0: Alice väittää I am Alice I am Alice Verkossa Bob ei voi nähdä Alicea, joten Trudy voi vain väittää I am Alice Tietoliikenteen perusteet, syksy 2015 Timo Karvi 37

Todentaminen: Uusi yritys Protokolla ap2.0: Alice väittää I am Alice IP-paketissa, jossa mukana lähettävän koneen (=Alice) IP. Alice s IP address I am Alice Virhetilanteita/ epäonnistumisia?? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 38

Todentaminen: Uusi yritys Protokolla ap2.0: Alice väittää I am Alice IP-paketissa, jossa mukana lähettävän koneen (=Alice) IP. Trudy luo IP-paketin, jossa väärennetty lähettäjän osoite (IP spoofing) Alice s IP address I am Alice Tietoliikenteen perusteet, syksy 2015 Timo Karvi 39

Todentaminen: kolmas yritys Protokolla ap3.0: Alice väittää I am Alice ja lähettää salaisen salasanansa todentaakseen sen. Alice s IP addr Alice s password I m Alice Alice s IP addr OK Virhetilanteita/ epäonnistumisia?? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 40

Todentaminen: kolmas yritys Protokolla ap3.0: Alice väittää I am Alice ja lähettää salaisen salasanansa todentaakseen sen. Alice s IP addr Alice s password I m Alice Alice s IP addr Alice s IP addr OK Alice s password I m Alice Toistohyökkäys (playback attack): Trudy nauhoittaa Alicen viestit ja toistaa ne Bobille Tietoliikenteen perusteet, syksy 2015 Timo Karvi 41

Todentaminen: yritys 3.1 Protokolla ap3.1: Alice väittää I am Alice ja lähettää salatun salasanansa todentaakseen sen. Alice s IP addr encrypted password I m Alice Alice s IP addr OK Virhetilanteita/ epäonnistumisia?? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 42

Todentaminen: yritys 3.1 Protokolla ap3.1: Alice väittää I am Alice ja lähettää salatun salasanansa todentaakseen sen. Alice s IP addr encrypted password I m Alice Alice s IP addr OK Nauhoitus ja toistohyökkäys toimii edelleen! Alice s IP addr encrypted password I m Alice Tietoliikenteen perusteet, syksy 2015 Timo Karvi 43

Todentaminen: neljäs yritys Tavoite: Estetään toistohyökkäys Haaste (nonce): luku (R) vain kerran, ei saa esiintyä uudelleen ap4.0: varmistaakseen Alicen olemassaolon, Bob lähettää haasteen (nonce) R. Alice palauttaa R:n salattuna jaetulla salaisella avaimella I am Alice R Virhetilanteita, ongelmia? K A-B (R) Alice on elossa, ja vain Alice tietää salausavaimen, joten täytyy olla Alice! Tietoliikenteen perusteet, syksy 2015 Timo Karvi 44

Todentaminen: ap5.0 ap4.0 käyttää jaettua salaista avainta Voisiko todentamisen tehdä julkisen avaimen avulla? ap5.0: käyttää haastetta ja julkisen avaimen salausta R I am Alice - K A (R) send me your public key + K A K A Bob laskee + - (K (R)) = R A ja olettaa, että vain Alicella voi olla salainen avain, jolla R salattu s.e. + - K A (K (R)) = R A Tietoliikenteen perusteet, syksy 2015 Timo Karvi 45

Digitaalinen allekirjoitus Julkisen avaimen systeemissä digitaalisen allekirjoituksen voi tehdä salaisella avaimella. Kuka tahansa voi tarkistaa allekirjoituksen julkisella avaimella. Mutta vain salaisen avaimen haltija on voinut tehdä allekirjoituksen. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 46

ap5.0: turvallisuusaukko man (or woman) in the middle hyökkäys: Trudy tekeytyy Aliceksi (Bobille) ja Bobiksi (Alicelle) - + m = K (K (m)) A A I am Alice R - K (R) A Send me your public key K + A + K (m) A I am Alice Trudy saa - + m = K (K (m)) T T ja lähettää m:n Alicelle salattuna Alicen julkisella avaimella R - K (R) T Send me your public key K + T + K (m) T Tietoliikenteen perusteet, syksy 2015 Timo Karvi 47

ap5.0: turvallisuusaukko man (or woman) in the middle hyökkäys: Trudy tekeytyy Aliceksi (Bobille) ja Bobiksi (Alicelle) Vaikea havaita: Bob vastaanottaa kaiken mitä Alice lähettää, ja päin vastoin. (Bob ja Alice voivat tavata myöhemmin ja palauttaa keskustelun mieleensä!) Ongelma on, että myös Trudy saa kaikki viestit! Ratkaisu: varmenteet, mutta luotatko varmentajaan? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 48

Hyökkäys: julkisen avaimen salaus Trudy pilailee pizzatilauksella Bobin nimissä Trudy tekee sähköposti tilauksen: Hyvä Pizzapalvelu, Toimittaisitteko minulle 4 pepperoni pizzaa. T. Bob Trudy allekirjoittaa tilauksen omalla salaisella avaimellaan Trudy lähettää tilauksen Pizzapalveluun Trudy toimittaa Pizzapalveluun myös oman julkisen avaimensa, mutta väittää sitä Bobin julkiseksi avaimeksi Pizzapalvelu varmentaa allekirjoituksen ja toimittaa 4 pepperonipizzaa Bobille Bob ei syö pepperonipizzaa Ongelma: Miten Pizzapalvelu voi varmistua julkisen avaimen ja henkilön yhteydestä? Tietoliikenteen perusteet, syksy 2015 Timo Karvi 49

Varmennepalvelu Varmentaja (certification authority, CA): sitoo julkisen avaimen ja entiteetin, E, identiteetin toisiinsa. E (henkilö, reititin, palvelu) rekisteröi julkisen avaimensa varmentajalle CA. E todistaa henkilöllisyytensä varmentajalle CA. CA luo varmenteen (certificate), joka sitoo E:n ja sen julk. avaimen (Varmenne ~ Tämä on E:n julkinen avain ) Varmenne on salattu varmentajan salaisella avaimella. Bobin henkilöllisyystodistus Bobin julkinen + avain K B Digitaalinen allekirjoitus (salaus) CA salainen avain K - CA + K B - K CA Varmenne Bobin julkiselle avaimelle, CA:n allekirjoittama Tietoliikenteen perusteet, syksy 2015 Timo Karvi 50

Varmennepalvelu Kun Alice haluaa tietää Bobin julkisen avaimen: Hän hakee/saa Bobin varmenteen (Bobilta tai muualta). Purkaa varmenteen CAn julkisella avaimella ja saa näin puretun sisällön, joka on Bobin julkinen avain + K B Digitaalinen allekirjoitus (purku) + K B Bobin julkinen avain - K CA CAn julkinen avain + K CA Tietoliikenteen perusteet, syksy 2015 Timo Karvi 51

VIESTIN EHEYS, DIGITAALINEN ALLEKIRJOITUS Tietoliikenteen perusteet, syksy 2015 Timo Karvi 52

Digitaalinen allekirjoitus (digital signature) Salaustekniikka, joka analoginen käsintehdyn allekirjoituksen sitovuuden kanssa: Lähettäjä (Bob) digitaalisesti allekirjoittaa dokumentin ja näin todistaa, että hän on dokumentin omistaja/laatija. Todennettavissa (verifiable): vastaanottaja (Alice) voi todistaa jollekin muulle, että Bob eikä kukaan muu on allekirjoittanut tämän dokumentin ei väärennettävissä (nonforgeable) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 53

Digitaalinen allekirjoitus Yksinkertainen digit. allekirjoitus viestille m: Bob allekirjoittaa m:n salaamalla sen omalla salaisella avaimellaan K- B ja luo näin allekirjoitetun viestin K - B (m) Bobin viesti, m Dear Alice Oh, how I have missed you. I think of you all the time! (blah blah blah) Bob - Bobin salainen K B avain Julkisen avaimen salausalg. - m,k (m) B Bobin viesti, m, allekirjoitettuna (salattuna) hänen salaisella (private) avaimellaan Tietoliikenteen perusteet, syksy 2015 Timo Karvi 54

Digitaalinen allekirjoitus Alice vastaanottaa viestin m, jossa allekirjoitus: m, K B (m) Alice todentaa Bobin allekirjoittaman viestin m käyttämällä + - Bobin julkista avainta by K B allekirjoitukseen K B (m) ja tarkistaa että K B + - (K B (m) ) = m. + - Jos K B (K B (m) ) = m, niin allekirjoittaja on käyttänyt Bobin salaista yksityistä avainta (olipa allekirjoittaja kuka tahansa) Alice siis todentaa, että: Bob on allekirjoittanut viestin m Kukaan muu ei ole allekirjoittanut viestiä m Bob allekirjoitti viestin m eikä viestiä m Kiistämättömyys (non-repudiation): Alice voi näyttää viestin m ja allekirjoituksen K B (m) oikeudessa ja näin osoittaa, että Bob on allekirjoittanut viestin m - - Tietoliikenteen perusteet, syksy 2015 Timo Karvi 55

Viestin tiiviste (message digest) Laskennallisesti vaativaa käyttää julkisen avaimen salausta pitkille viesteille pitkä viesti m H: Tiivistefunktio H(m) tavoite: kiinteänmittainen, yksinkertaisesti laskettava sormenjälki Tee tiivistefunktiolla (cryptographic hash function) H viestille m kiinteänmittainen tiiviste H(m). Tiivistefunktion ominaisuuksia: Surjektio (monta yhteen) Tuottaa kiinteänmittaisen tiivisteen ( sormenjälki ) Jos tunnetaan tiiviste x, on laskennallisesti vaikeaa selvittää m, s.e. x = H(m) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 56

Internetin tarkistussumma : kryptografisesti huono hajautus Internetin tarkistussumma täyttää osan tiivistefunktion ominaisuuksista: Kiinteän mittainen tiiviste (16-bittinen summa) viestille Surjektio (monta yhteen) MUTTA on aivan liian helppoa löytää joku viesti, joka täsmää annettuun tiivisteeseen (=hajautusarvoon): viesti I O U 1 0 0. 9 9 B O B ASCII merkistöllä 49 4F 55 31 30 30 2E 39 39 42 D2 42 B2 C1 D2 AC viesti I O U 9 0 0. 1 9 B O B Eri viestit, MUTTA identtinen tarkistussumma! ASCII:na 49 4F 55 39 30 30 2E 31 39 42 D2 42 B2 C1 D2 AC Tietoliikenteen perusteet, syksy 2015 Timo Karvi 57

Digitaalinen allekirjoitus = salattu tiiviste Bob lähettää digitaalisesti allekirjoitetun viestin: Iso viesti m + H: Tiiv. funktio Bob s salainen avain - K B H(m) digitaalinen allekirjoitus (salaus) salattu tiiviste - K B (H(m)) Alice tarkistaa allekirjoituksen oikeellisuuden vertaamalla tiivisteitä: Iso viesti m H: Tiiv. funktio H(m) Bob s julkinen avain + K B samat? salattu tiiviste - K B (H(m)) digitaalinen allekirjoitus (purku) H(m) Tietoliikenteen perusteet, syksy 2015 Timo Karvi 58

Digitaalinen allekirjoitus Lähde: wikipedia Tietoliikenteen perusteet, syksy 2015 Timo Karvi 59

Tiivistefunktioita ja -algoritmeja MD5 tiivistefunktio yleisesti käytetty (RFC 1321) laskee 128-bittisen tiivisteen 4-vaiheisella prosessilla Vaikuttaa haastavalta konstruoida viesti m, jonka MD5 tiiviste olisi tietty (ennalta satunnaisesti valittu) x SHA-1 myös käytössä US standardi [NIST, FIPS PUB 180-1] 160-bittinen tiiviste Tietoliikenteen perusteet, syksy 2015 Timo Karvi 60

Tiivistefunktioita Tiivistefunktioita MD5, SHA-1, SHA-2, RIPEMD-160 ei pidetä enää turvallisina. Uusin on SHA-3. MD5 (pituus 128 bittiä) on ehdottomasti vanhentunut, SHA-1:tä (160 b) ei myöskään ole suositeltu enää vähään aikaan. Sen sijaan SHA-2 -versiot (224, 256, 384, 512 bittiä) toiminevat vielä käytännössä jonkin aikaa. Tietoliikenteen perusteet, syksy 2015 Timo Karvi 61

SOVELLUSKERROS: SÄHKÖPOSTIN SUOJAUS Tietoliikenteen perusteet, syksy 2015 Timo Karvi 62

Sähköpostin salaus Alice lähettää luottamuksellisen sähköpostin Bobille m K S. K S ( ) K S (m ) K S (m ). K S ( ) m K S Alice: K+. B ( ) K+ B K+ B (K S ) + - Internet K+ B (K S ) K- B K S -. K B ( ) generoi satunnaisen symmetrisen salausavaimen K S salaa viesti tällä avaimelle K S (tehokkuus!) salaa avaimen K S Bobin julkisella avaimella lähetä salatun viesti K S (m) ja avaimen K B (K S ) Bobille Tietoliikenteen perusteet, syksy 2015 Timo Karvi 63

Sähköpostin salaus Alice lähettää luottamuksellisen sähköpostin Bobille m K S. K S ( ) K S (m ) K S (m ). K S ( ) m K S K+. B ( ) K+ B K+ B (K S ) + - Internet K+ B (K S ) K- B K S -. K B ( ) Bob: käyttää salaista avaintaan ja purkaa esiin avaimen K S käyttää avainta K S ja purkaa salatun viestin K S (m), ja saa näin alkuperäisen viestin m Tietoliikenteen perusteet, syksy 2015 Timo Karvi 64

Sähköpostin suojaus (jatkuu) Alice haluaa varmentaa lähettäjän ja allekirjoittaa viestin m K A -. H( ) KA ( ) -. K- A (H(m)) K- A (H(m)) K+ A. K+ A ( ) H(m ) + - Internet compare m m. H( ) H(m ) Alice laatii digitaalisen allekirjoituksen (=tiivisteen) viestille käyttäen omaa salaista avaintaan Lähettää sekä (selväkielisen) viestin että allekirjoituksen Tietoliikenteen perusteet, syksy 2015 Timo Karvi 65

Sähköpostin suojaus (jatkuu) Alice haluaa lähettää allekirjoitetun ja salatun viestin. m m - K A. H( ) KA ( ) -. K- A (H(m)) + K S. K S ( ) K+. B ( ) K+ B Alice käyttää KOLMEA AVAINTA: oma salainen avain, Bobin julkinen avain, uusi luotu symmetrinen avain Tietoliikenteen perusteet, syksy 2015 Timo Karvi 66 K S + K+ B (K S ) Internet

Sähköpostin suojaus (jatkuu) Bob purkaa Alicelta saamansa salatun viestin tekemällä operaatiot käänteisessä järjestyksessä Bob käyttää myös kolmea avainta: Omaa salaista avaintaan Symmetristä avainta (viestin mukana) Alicen julkista avainta Tietoliikenteen perusteet, syksy 2015 Timo Karvi 67