26
Salaustekniikat Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2012

Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

  • Upload
    lykien

  • View
    219

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Salaustekniikat

Tuomas Aura

T-110.2100 Johdatus tietoliikenteeseen

kevät 2012

Page 2: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Luennon sisältö

1. Tietoturvan tavoitteet lyhyesti

2. Kryptografia: salaus ja todennus

3. Salattu webbiyhteys

2

Page 3: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Tietoturvan tavoitteet

Tietoturvatavoitteita: – Tiedon luottamuksellisuus

– Tiedon aitous ja eheys

– Tiedon ja palvelujen saatavuus

(CIA = Confidentiality, Integrity, Availability)

Uhkia ja hyökkäyksiä: – Tietomurrot ja -vuodot, salakuuntelu

– Väärentäminen, tiedon luvaton muokkaus

– Palvelunesto: palvelun kaataminen, ylikuormitus

Tavoitteita ja uhkia on muitakin

Kryptografia suojaa luottamuksellisuutta ja eheyttä tiedonsiirron aikana

3

Page 4: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

KRYPTOGRAFIA:

SALAUS JA TODENNUS

4

Page 5: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Symmetrinen salakirjoitus

Salauksen ja avaukseen tarvitaan avainta – Lähettäjällä ja vastaanottajalla jaettu avain, tyypillisesti.

128-bittinen satunnaisluku, esim. 3149574a744a5f6d2a40584732hex

Salaus ja purku on nopeaa nykyaikaisilla prosessoreilla

5

Salaus

E

Avaus

D

Salakielinen

sanoma

EK(M)Selväkielinen

sanoma M

Selväkielinen

sanoma M

Avain K

TietoverkkoLähettäjä Vastaanottaja

Avain K

Esim. AES, 3DES, IDEA

Page 6: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Salauksesta Salaus suojaa sanoman luottamuksellisuutta,

ei eheyttä

Avain salainen, algoritmi julkinen

Toteutus perustuu tehokkaisiin bittioperaatioihin

Salattu data näyttää täysin satunnaiselta, jollei avain tiedossa

Lohkosalauksissa data jaetaan 64- tai 128-bittisiin lohkoihin ja salataan lohko kerrallaan

128-bittinen tai pitempi avain mahdoton arvata tai löytää kokeilemalla

Nykyaikainen vahva salakirjoitus (AES, 3DES) on käytännössä murtamaton

Ei ole mitään syytä käyttää heikkoja algoritmeja (esim. vanha DES tai itse keksitty epästandardi algoritmi)

6

(Viestin pituus kuitenkin paljastuu!)

Page 7: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Esimerkki

IDEA-lohkosalaus

64-bittiset datalohkot

Perustuu 16-bittisten lukujen xor-operaatioon, yhteenlaskuun modulo 216 ja kertolaskuun modulo 216+1

8 kierrosta (ks. oikealla), jotka vähitellen sotkevat selväkielen ja avaimen osia toisiinsa

Pitemmät sanomat salataan esim CBC-moodissa lohkoja ketjuttamalla

Julkaistu 1991, hitaampi kuin AES ja muut uudemmat algoritmit

7

64 bitin datalohko

64 bitin datalohko

Yksi IDEA:n kierros

Sala

us

Purk

u

Avaimen

bittejä

Page 8: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Epäsymmetrinen salaus

Avainpari: – Salaus julkisella avaimella, avaus yksityisellä avaimella

– Julkisen avaimen voi kertoa kaikille, yksityinen avain pidettävä salassa

Avaimet pitkiä, salaus ja avaus melko hidasta – Perustuu suurten kokonaislukujen (esim. 1024 bittiä)

aritmetiikkaan

8

Tietoverkko

EB(M)Salaus

(asymm.)

Bobin

julkinen

avain PK

Avaus

(asymm.)

Bobin

yksityinen

avain PK-1

Sanoma

M

Sanoma

M

Lähettäjä Alice Vastaanottaja Bob

Esim. RSA, ElGamal

Page 9: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Esimerkki RSA-salaus, julkaistu 1978

Perustuu lukuteoriaan ja Eulerin teoreemaan m^ϕ(n) mod n = 1, missä on Eulerin totienttifunktio

Avaimen generointi: – Generoidaan suuret salaiset alkuluvut p,q (512…1024 bittiä)

– Julkinen moduuli n = pq

– ϕ(n) = (p-1)(q-1)

– Julkinen eksponentti e, tyypillisesti 17 tai 216+1

– Ratkaistaan salainen eksponentti d kongruenssiyhtälöstä de ≡ 1 (mod ϕ(n))

– Julkinen avain on (e,n), yksityinen avain (d,n)

Viestin M salaus: C = Me mod n

Salakielen C avaus: M = Cd mod n

Turvalliseen toteutukseen vaaditaan muita yksityiskohtia; katso esim. PKCS#1-standardi

9

Page 10: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Example: RSA public key 30 82 01 0a 02 82 01 01 00 c7 3a 73 01 f3 2e

a8 72 25 3c 6b a4 14 54 24 e7 e0 ab 47 2e 9f 38 a7 12 77 dc cf 62 bc de 47 a2 55 34 a6 47 9e d6 13 90 3d 9f 72 aa 42 32 45 c4 4a b7 88 cc 7b c5 a6 18 4f d5 86 a4 9e fb 42 5f 37 47 53 e0 ff 10 2e cd ed 4a 4c a8 45 d9 88 09 cd 2f 5f 7d b6 9b 40 41 4f f7 a9 9b 7a 95 d4 a4 03 60 3e 3f 0b ff 83 d5 a9 3b 67 11 59 d7 8c aa be 61 91 d0 9d 5d 96 4f 75 39 fb e7 59 ca ca a0 63 47 bd b1 7c 32 27 1b 04 35 5a 5e e3 29 1a 06 98 2d 5a 47 d4 05 b3 22 3f fd 43 38 51 20 01 ad 1c 9e 4e ad 39 f4 d1 ae 90 7d f9 e0 81 89 d2 b7 ba cd 68 2e 62 b3 d7 ad 00 4c 52 24 29 97 37 8c 6e 36 31 bd 9d 3d 1d 4c 4c cc b0 b0 94 86 06 9c 13 02 27 c5 7c 1e 2e f6 e3 f6 13 37 d9 fb 23 9d e7 c7 d5 ce 94 54 7d ef ef df 7b 7b 79 2e f9 75 37 8a c1 ef a5 c1 2a 01 e0 05 36 26 6a 98 bb d3 02 03 01 00 01hex

10

2048-bittinen moduuli

Julkinen eksponentti (216+1) (avain on ASN.1-koodattu)

Page 11: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Hybridisalaus

Julkisen avaimen salausta käytetään yleensä vain lyhyen satunnaisen symmetrisen avaimen siirtoon salatun sanoman tai yhteyden alussa

11

Tietoverkko

ESK(M), EB(SK)Salaus

(symm.)

Salaus

(asymm.)

Bobin

julkinen

avain PK

EB(SK)

Uusi

satunnainen

symmetrinen

istuntoavain

SK

Avaus

(symm.)

Avaus

(asymm.)

Bobin

yksityinen

avain PK-1

SKEB(SK)

|| splitSanoma

M

Sanoma

M

Lähettäjä Alice Vastaanottaja Bob

Page 12: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Allekirjoitus

Allekirjoitus yksityisellä avaimella, allekirjoituksen tarkistus julkisella avaimella

Allekirjoitus suojaa viestin eheyttä, ei luottamuksellisuutta

Viestistä lasketaan lyhyt sormenjälki (hash) tiivistefunktiolla ja allekirjoitetaan vain sormenjälki

12

Sormenjälki

Sanoma M Sanoma M

Alicen yksityinen

avain PK-1

TietoverkkoLähettä Alice Vastaanottaja Bob

Sormenjälki

Allekirjoitus Tarkistus

M, SA(M)

Alicen julkinen

avain PK

Ok?

h(M) h(M)

|| jako

SA(M)

M

SA(M)

Esim. RSA, DSA

Page 13: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Todennuskoodi

”Symmetrinen allekirjoitus”, message authentication code MAC

Lähettäjällä ja vastaanottajalla jaettu avain, esim. 128-bittinen satunnaisluku

Toteutus perustuu tiivistefunktioon tai symmetriseen salausalgoritmiin

Nopea laskea suurelle määrälle dataa

13

MAC Vertaa

Sanoma M Sanoma M

Avain K

TietoverkkoLähettäjä Vastaanottaja

M, MACK(M)

MAC Ok?

Avain K

|| jako

MACK(M)M

M

MACK(M)

Esim. HMAC-SHA1, CBC-MAC-AES

Page 14: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Julkisen avaimen algoritmeista

Julkisia avaimia on yksi per osapuoli, symmetrisiä (eli jaettuja) avaimia tarvitaan yksi per yhteys

Julkisen avaimen voi kertoa kaikille, symmetrinen täytyy pitää salassa

Julkisen avaimen algoritmit ovat satoja kertoja hitaampia kuin symmetriset

Yleensä epäsymmetrisiä algoritmeja käytetään yhteyden alussa symmetrisen avaimen luomiseen

Julkisten avainten käyttö helpottaa avaintenjakelua, mutta silti pitää tietää, mikä julkinen avain kuuluu kenellekin!

14

Page 15: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Varmenne Varmenne eli sertifikaatti

– Varmentajan eli sertifiointiauktoriteetin (CA) allekirjoittama viesti, joka sitoo julkisen avaimen käyttäjän tai tietokoneen nimeen

– Voi kertoa muutakin tietoa avaimen omistajasta

Yleensä X.509-varmennestandardin mukainen

Varmenteita käytetään esim. webbipalvelimissa, langattomissa lähiverkoissa, luottokorteissa ja sähköisessä henkilökortissa

Kaupallisia varmentajia esim. Verisign ja TeliaSonera

Varmentajat voivat muodostaa hierarkian, jossa ylempi varmentaja valtuuttaa alemman

Varmentajia ja varmenteita kutsutaan julkisen avaimen infrastruktuuriksi (PKI)

15

Julkinen avain

Nimi

Voimassaoloaika

Allekirjoitus

Page 16: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

SALATTU WEBBIYHTEYS

16

Page 17: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Turvallinen webbisivu (https)

17

HTTPS-yhteys on

salattu, joten

siirrettävää tietoa ei

voi salakuunnella

verkosta.

Page 18: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

SSL-kerros

SSL toteuttaa salauksen ja todennuksen TCP-yhteyksille

SSL tarjoaa sovelluksille socket-rajapinnan tapaisen palvelun suojattuun tavuvirran siirtoon

– SSL käyttää TCP:tä suojatun datan siirtoon

TLS on SSL:n uudempi, standardoitu versio

18

Sovelluskerros:HTTP

Kuljetuskerros: TCP

Verkkokerros: IP

Linkkikerros

Socket API SSL API

Page 19: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

SSL-protokolla

Kaksi osaa: – Kättely eli todennettu avaintenvaihto luo

selaimelle ja palvelimelle symmetrisen istuntoavaimen

– Istuntoprotokolla suojaa istunnon käyttäen symmetristä salausta, todennuskoodeja (MAC) ja kättelyssä luotua istuntoavainta

Kättely perustuu varmenteeseen ja asymmetriseen salaukseen 1. Palvelin lähettää selaimelle varmenteen, josta

selviää palvelimen nimi ja julkinen RSA avain

2. Selain generoi satunnaisen istuntoavaimen ja lähettää sen palvelimelle salattuna palvelimen julkisella avaimella

19

!!!

Page 20: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Luottamusketju 1. Selaimessa on lista luotettujen kaupallisten varmentajien

(CA) julkisista avaimista (juurivarmenteet)

2. Selain vastaanottaa kättelyssä palvelimen varmenteen, jonka pitää olla jonkun luotetun varmentaja allekirjoittama

3. Palvelimen varmenne sitoo palvelimen DNS-nimen ja julkisen avaimen toisiinsa

4. Selain tarkistaa, että palvelimen osoitepalkissa näkyvä DNS-nimi on sama kuin nimi varmenteessa

5. Palvelimen julkista avainta käytetään palvelimen todentamiseen avaintenvaihdossa (selain lähettää istuntoavaimen palvelimelle salattuna varmenteesta otetulla julkisella avaimella)

6. Avaintenvaihdossa luotua symmetristä istuntoavainta käytetään HTTP-pyyntöjen ja vastausten salaamiseen ja todentamiseen

Myös asiakkaalla voi olla varmenne; yleensä ei ole ja käyttäjä todennetaan tarvittaessa salasanalla

20

!!!

Page 21: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

21

Palvelimen

webmail3.tkk.fi

varmenne

Varmentaja on

Sonera Class2 CA Luottamusketjun

ansiosta selain voi

tarkistaa, että tämä

palvelin todella on

webmail3.tkk.fi

Tyypillinen ongelma:

mistä käyttäjä tietää,

että webmail-

palvelimen nimi on

webmail3?

Page 22: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Varmenneketju Tarkkaan ottaen webbipalvelimella on yleensä

varmenneketju – Juurivarmenne sisältää ylimmän CA:n julkisen avaimen

– Ylempi CA varmentaa hierarkiassa alemman

– Alin CA varmentaa palvelimen

22

Page 23: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Varmenneketju luottamusketjun osana

Selain saa kättelyssä palvelimelta varmenneketjun

Selain tarkistaa, että ketju alkaa juurivarmenteella, jonka kopio on ennestään selaimen luotetussa CA-listassa

Selain käy varmenneketjun läpi: – Tarkistaa kunkin varmenteen allekirjoituksen

edellisestä varmenteesta saadulla julkisella avaimella

– Tarkistaa, että alivarmentajat saavat ylemmältä CA:lta oikeuden toimia CA:na

– Tarkistaa, että kaikkien varmenteiden voimassaoloajan ja joitain muita yksityiskohtia

Jos ketjun tarkistus onnistuu, alin varmenne sitoo palvelimen DNS-nimen ja julkisen avaimen toisiinsa tavalla, johon selain luottaa

23

Page 24: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Muut tietoturvaprotokollat

24

Tiedonsiirron

luottamuksellisuus

ja eheys

Verkko-

infrastrustuurin

luotettavuus

Sovellusten turvallisuus,

esim. sisäverkon palvelut

ja Internet-kaupankäynti Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP, ...

Verkkokerros: IPv4, IPv6

Linkkikerros: Ethernet, MPSL,

WLAN, GPRS ...

IPsec

AKA

HIP DNSsec Palo-

muuri

SSL/TLS

WPA

VPN

PGP

Kerberos Shibboleth

SSH

Page 25: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Lisää tietoturvasta

T-110.4206 Information Security Technology (syksy, periodi I)

T-110.5210 Cryptosystems tai

T-79.4502 Cryptography and Data Security (syksy)

T-110. 5241 Network Security (syksy, periodi II)

T-110.6220 Special Course in Information Security malware

analysis (kevät)

T-110.5200 Laboratory Works on Information Security (syksy)

(muuttuu: T-110.5102 Laboratory Works in Networking and Security)

T-110.6200 Special Assignment in Information Security

(muuttuu: T-110.6101 Special Assignment in Networking and Security)

T-110.5291 Seminar on Network Security

T-79.5501 Cryptology

25

Page 26: Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät · PDF filehitaampia kuin symmetriset ... T-110.6101 Special Assignment in Networking and Security) T-110.5291 Seminar on

Kurssin luennot 1. Aloitus: Miten Internet toimii, Tuomas Aura

2. Web 2.0 ja uudet sovellustekniikat, Ville Karavirta

3. Sovelluskerros: WWW, email, socket API, Sasu Tarkoma

4. Salaustekniikat, SSL, Tuomas Aura

5. Kuljetuskerros, TCP, Matti Siekkinen

6. Verkkokerros, IP, Matti Siekkinen

7. Linkkikerros, Ethernet ja WLAN, Matti Siekkinen

8. Tietoverkkojen turvallisuus, Tuomas Aura

9. Tiedonsiirron perusteet ja optiset verkot, Jouko Kurki

10. Nykypäivän matkapuhelinverkot, Jukka K. Nurminen

11. Tulevaisuuden langattomat laajakaistat, Jukka K. Nurminen

12. Tele- ja tietoverkon laskutus, Sakari Luukkainen

13. Liiketoiminta verkkoympäristössä, Sakari Luukkainen

14. Kertaus, Tuomas Aura

26