Johdanto
- Sisältö
-
[1] Viitekehystelyä; IT:n uskottavuudesta
-
[2] Turvallisuuden käsite
-
Tietoturvallisuuden käsite ja prosessi
-
Tietoturvamekanismeja
-
Uhkien jäsennystä
-
[1] Tietoverkoista, yleistä ja uhkia
-
[2] Turvamekanismeja verkoissa
-
Kryptoprotokollista
Viitekehystelyä
Motivointia
Olisi hyvä, jos opiskelija voisi kiinnittää kaikki tämän(kin) kurssin asiat
johonkin kehykseen. Se auttaisi hallitsemaan opittavaa tietoa ja oikeastaan vasta
mahdollistaisi itse oppimisen. Viitekehys on toisaalta jokaisen itse luotava
itselleen, mutta toisaalta on tietenkin paljon yleistä ainesta ja rakennetta,
johon se kannattaa perustaa. Tässä on esillä kaksi aihetta:
tietojenkäsittelyn uskottavuus sekä yleinen turvallisuuskäsite. Kummankin
on tarkoitus muodostaa pohjaa tietoturvallisuuden viitekehykselle.
Sisältöä ja tavoitetta
Tässä jaksossa jaotellaan hieman turvallisuuden käsitettä
yleisesti ja toisaalta pohditaan tietojenkäsittelyn uskottavuutta.
Tiedon ja sen käsittelyn kentän jäsentämiseen pyritään harjoitustehtävän
kautta.
Tässä on myös yksi tavoitekysymys. Vastaamiseen tulee tietenkin lisää
perusteita myöhemmiltä sivuilta, mutta tällä voinee hieman aktivoida
ajatteluaan jo näin alussa. Kehotus "esitä" on tässä kuten
muuallakin luonnollisesti hieman vaativampi kuin "luettele" ja
toisaalta hieman vähemmän vaativa kuin "esittele".
- Tietoturvallisuuden kenttää voi jaotella monella tavalla. Esitä
jokin sellainen jaottelu, jonka osiksi sopivat hallinnollinen turvallisuus ja
käyttöturvallisuus.
Toinen aktivointikeino on käydä DigiCrimen
sivuilla, jotka lupaavat olla vahingoittamatta konettasi mutta eivät takaa
samaa sille luottamukselle, jota tunnet konettasi kohtaan. Yksi koko kurssin
tavoitteita on sen ymmärtäminen, mitä DigiCrimen tarjoamat lukuisat palvelut
oikeastaan tarkoittavat.
|
Viitekehystelyä
Harjoitus:
Aloitellaan viitekehyksen rakentelua, mutta ei tehdä tällä kerralla vielä
mitään valmista, vaan kotitehtäväksi tulee piirtää "käsitekartta"
vastaukseksi kysymykseen: Mistä tietojenkäsittelyssä onkaan kyse?
Kysymys pitää "ratkaista" kokonaisvaltaisesti, mutta karttaa piirtäessä saa
tietenkin muistaa, että näkökulmana on lopulta turvallisuus, josta
tällä kerralla annetaan erilaisia virikkeitä.
Käsitteen kartoittamiseen voi lähteä kyselemällä. Tässä tapauksessa
kysymyksiä voisivat olla: Mitä tieto on, millaista se on, mistä se tulee, miten
sitä muutetaan, mihin se menee, miksi, ... ? Turvallisuusnäkökulma
löytyy erityisesti, kun kysytään, mitä ei saa tapahtua.
(Kysymys "Mitä pitää tapahtua" tuo myös turva-asioita esille,
mutta tässä vaiheessa riittää katsoa toisinpäin.)
Yleensä tietoturvan esittely aloitetaankin maalailemalla uhkakuvia.
Joitakin voi käydä katsomassa monille läheisen TOAS-verkon turva-ohjeesta.
Tässä voitaneen kuitenkin uskoa, että uhkia tulee riittävästi esille kurssin
kuluessa, joten aloitetaan vähän yleisemmin seuraavasti:
Tietojenkäsittelyn uskottavuudesta yleisesti
Seuraavien ajatusten lähteenä on artikkeli Credibility
and Computing Technology (CACM, May 1999).
On sellaista tietojenkäsittelyä, jossa ihminen ei yleensä paljon välitä
uskottavuudesta:
- käyttäjä ei edes tiedosta tietokoneen läsnäoloa (sulautettu järjestelmä
kuten auton polttoaineen ruiskutus);
- käyttäjä ei huomaa mahdollisuutta, että kone olisi epäluotettava
(esim. taskulaskin);
- vuorovaikutus on käyttäjälle merkityksetöntä (esim. surffailu);
- kone on vain välityslaite (esim. videokonferenssi, jossa voi toki olla
muita laadullisia puutteita, mutta tietoa ei ole tarpeen epäillä, ainakaan
koneen takia).
Sellaista ihmisen ja tietokoneen vuorovaikutusta, jossa uskottavuudella voi olla
keskeinenkin merkitys, voidaan erotella seitsemää lajia. Tällöin kone
- on tietovarastona (staattisesta tietokannasta tms., tai dynaamisesti
laskennan perusteella, ...)
- ohjaa tai opettaa käyttäjää (asiantuntijajärjestelmät, online-help,
asennusohjelman "defaultit", ...)
- raportoi mittauksista (oskilloskooppi, verenpaine, GPS, ...)
- raportoi omasta toiminnastaan (ohjelman asennus, virustarkistus, tiedoston
siirto, ...)
- raportoi omasta tilastaan (levytila, prosessorin kuorma, akun kesto, ...)
- simuloi (prosesseja, liikettä, ...)
- luo virtuaaliympäristöjä.
Tässä jaottelussa ei kunnolla oteta huomioon sitä, että koneet kyllä
välittävät käyttäjiltä toisille sellaistakin tietoa, josta on syytä olla
huolissaan monella tavalla: onko saatu tieto oikeaa, meneekö tieto, esim.
sähköposti, perille ja vain tarkoitettuun paikkaan, säilyykö se
muuttumattomana. Kahdeksanneksi kohdaksi pitäisi siis lisätä koneen
hoitama tietoliikenne.
Turvallisuus
Tietoturvallisuus on huomattavan laaja-alainen kokonaisuus ja
tämä kurssi käsittelee sen osa-alueita tietyin melko teknisin
painotuksin. Silti kyseessä on vain osa paljon laajempaa turvallisuuden
käsitettä. Yritysturvallisuuden
neuvottelukunta jaottelee turvallisuusaiheen seuraavasti:
- Turvallisuusjohtaminen
- Tuotannon ja toiminnan turvallisuus
- Työsuojelu
- Ympäristönsuojelu
- Pelastustoiminta
-
Valmiussuunnittelu (contingency plan). Tässä on kyse varautumisesta
toiminnan mahdolliseen jatkamiseen poikkeusoloissa, jollaisia on
erilaajuisia sähkökatkoista luonnonkatastrofeihin. Käytetään myös
nimitystä jatkuvuussuunnittelu.
- Tietoturvallisuus
- Henkilöturvallisuus
- Kiinteistö- ja toimitilaturvallisuus
- Ulkomaantoimintojen turvallisuus
- Rikosturvallisuus
Näitä osa-alueita ei tässä selitetä enempää, mutta seuraava luettelo jakaa
tietoturvallisuuden saman lähteen mukaisesti 10 osa-alueeseen. Jaottelun
kahdeksan ensimmäistä kohtaa ovat samat kuin ne, jotka valtioneuvoston Internet-suositus (3.12.1998) mainitsee
yleisimmin käytetyiksi. Samoja 8:a käyttää mm. Juhani Paavilainen kirjassaan. Juha E. Miettisen kirjassa puolestaan ovat
käytössä kaikki 10 kohtaa ja lisäksi "tietojenkäsittelyn suojaaminen".
Tämän kurssimateriaalin perusjaottelu on hieman toisenlainen, mutta
käyttö(toimintojen) turvallisuutta lukuunottamatta kaikkia osa-alueita on
käsitelty jossain määrin yhtenäisesti, viimeinen kohta tosin vain mainintana.
Luetteloon on lisätty materiaalin sisäisiä linkkejä ja mainintoja
painotuksista.
Tietoturvallisuuden osa-alueita ovat siis:
Tällainen jaottelu määrittelee tietoturvakäsitteen ekstensiota
eli ulottuvuutta, mutta ei oikeastaan kerro mitä käsite tarkoittaa.
Tietenkin siihen päästäisiin, jos katsottaisiin tarkemmin osa-alueiden
sisältöä, intensiota. Sitä ei tässä kuitenkaan tehdä eo. linkkejä
lukuunottamatta, vaan tietoturvakäsitteen intensio määritellään toisaalla.
Harjoitus:
Lähtien siitä mitä tietoturvan osa-alueiden nimet tuovat sinulle
mieleen, keksi muutamaan luettelon kohtaan jokin uhka,
jolta pitäisi suojautua, ja jokin keino, jota tällaisen uhkan varalta
käytetään. Jatketaan tietoturvauhkien pohdiskelua ja luokittelua vielä
myöhemmin, mutta luokittele jokainen keksimäsi keino johonkin seuraavista
luokista:
- Välttäminen (avoidance)
- Pelottaminen (deterrence)
- Estäminen (prevention)
- Havaitseminen (detection)
- Toipuminen (recovery)
- Korjaaminen (correction)
Luokittele lisäksi tietoturvallisuutta edistävät keinot seuraavasti (ja
kehittele samalla merkitykset näille luokille):
- laitteistollinen
- informaatiollinen
- hallinnollinen
Mainittakoon, että Internet-tietoturva
-kirja (Nikander et al.) nimeää likimain samat kaksi ensimmäistä
luokkaa fyysisiksi ja loogisiksi suojautumismenetelmiksi ja kolmas luokka
jaetaan ylläpidon toimiin ja hallinnollisiin menetelmiin.
Tässä yhteydessä sopii vielä todeta, että Petteri Järvinen esittää kirjassaan
tietoturvaan neljä näkökulmaa, jotka ovat yksilön, yrityksen, yhteiskunnan
sekä kansainvälinen näkökulma. Hänkin jakaa yrityksen tietoturvan 10
kohtaan (lähteenä valtioneuvoston periaatepäätös vuodelta 1993, VM
1/73/93).), mutta luettelo eroaa edelläolevasta siten, että mukana on
"Tietojenkäsittelyn turvallisuus" ja siitä puuttuu kohta
"Salassapitosopimukset (joka luontevasti sisältyykin
henkilöturvallisuuteen).
Tietoturvallisuuden käsite ja prosessi
Motivointia
Käsitteiden määritelyistä on hyvä aloittaa, varsinkin silloin kun terminologiassa
on hieman horjuvuutta, kuten tietojenkäsittelyn alalla on tapana. Tietoturva on
paitsi käsite myös prosessi. Pysähtynyttä tietoturvallisuutta ei liene muualla
kuin hiekkaan hautautuneissa antiikin aikaisissa kirjastoissa ja sielläkin on
saatavuuden kanssa vähän niin ja näin ...
Sisältöä ja tavoitetta
Tämän jakson määrittelyt kertautuvat ja täydentyvät moneen otteeseen, eikä niitä
sen vuoksi kannattane tiivistää eikä tavoitteistaa.
|
Tietoturvallisuuden käsite ja prosessi
Peruskäsitteiden määrittely
Tietoturvallisuus määritellään valtioneuvoston
Internetin käyttö- ja tietoturvallisuussuosituksessa (3.12.1998)
seuraavasti (hakasuluissa muutama kommentti, jotka
täsmentävät käsitteitä kurssin tarpeisiin):
Tietoturvallisuudella tarkoitetaan tietojen, järjestelmien ja palveluiden
asianmukaista suojaamista sekä normaali- että poikkeusoloissa
hallinnollisilla, teknisillä ja muilla toimenpiteillä. Tietojen
luottamuksellisuutta, eheyttä ja käytettävyyttä turvataan laitteisto- ja
ohjelmistovikojen, luonnontapahtumien sekä tahallisten, tuottamuksellisten
tai tapaturmaisten tekojen aiheuttamilta uhilta ja vahingoilta.
Tietoturvallisuuden keskeisillä käsitteillä tarkoitetaan seuraavaa:
Luottamuksellisuus; tiedot ja järjestelmät ovat vain niiden käyttöön oikeutettujen
käytettävissä. Tietoja ei paljasteta sivullisille eikä heille anneta
mahdollisuutta muuttaa tai tuhota tietoja.
[Luottamuksellisuutta sinänsä ei loukkaa, vaikka tiedot muuttuisivat tai
katoaisivat!]
Eheys; tiedot ja järjestelmät ovat luotettavia, oikeellisia ja ajantasaisia,
eivätkä ne ole hallitsemattomasti muuttuneet tai muutettavissa laitteisto- tai
ohjelmistovikojen, luonnontapahtumien tai inhimillisen toiminnan seurauksena.
[Eheytenä riittää pitää sitä, että tieto on ehjää eli
ei-särkynyttä. Luotettavuus, oikeellisuus ja ajantasaisuus ovat hieman
korkeammaan tason ominaisuuksia tiedolle.]
Käytettävyys; järjestelmien tiedot ja palvelut ovat niihin oikeutettujen
käytettävissä etukäteen määritellyn vasteajan puitteissa. Tiedot eivät ole
tuhoutuneet tai tuhottavissa vikojen, tapahtumien tai muun toiminnan
seurauksena.
Muita yleisiä tietoturvallisuuteen kuuluvia vaatimuksia ovat
autentikointi ja kiistämättömyys, jotka ovat erityisen tärkeitä silloin,
kun järjestelmän käyttäjät täytyy pystyä tunnistamaan (esim.
vuorovaikutteiset sähköiset asiointipalvelut tai järjestelmien
etäkäyttö). Autentikointi tarkoittaa osapuolten (henkilö tai
järjestelmä) luotettavaa tunnistamista. Kiistämättömyys tarkoittaa
tapahtuneen todistamista jälkeenpäin, jolloin tavoitteena on juridinen
sitovuus. Kiistämättömyys varmistaa sen, ettei toinen osapuoli voi
kieltää toimintaansa jälkeenpäin.
Perustavoitteiden eli luottamuksellisuuden, eheyden ja käytettävyyden
englanninkieliset vastineet ovat confidentiality, integrity ja availability
(eli saatavuus, jota termiä myös yleisesti käytetään) ja näiden
alkukirjaimista muodostuu suosittu muistisääntö. Kiistämättömyys on
englanniksi nonrepudiation - jossain yhteydessä käytetään myös termiä
accountability, vastuu(llisuus). Termin authentication suoran väännöksen
"autentikointi" rinnakkaismuotona esiintyy usein "autentisointi", jonka
taustana lienee sana "autenttisuus".
Edellä tuli määritellyksi tietoturvallisuuden käsitteelle sisältö.
Ulottuvuutta määritellään toisaalla
osa-alueiden avulla ja koko kurssi tarjoaa tietynlaisen esittelyn siitä
mitä kaikkea tietoturvallisuuteen kuuluu. Usein sanotaan, että tietoturva
ei ole tulos vaan prosessi. Niinpä tässä määrittelyjen yhteydessä on
hyvä alustavasti tarkastella tätäkin näkökulmaa.
Peruskäsitteistä tietoturvan rakennusprosessiin
Tietoturvan Common Criteria-standardi
esittää seuraavan kaavion tietoturvan peruskäsitteistä ja niiden
suhteista.
Epälineaarisen kaavion voi tiivistää vaikkapa seuraaviin
lauseisiin: "Owners impose countermeasures to reduce
risk to assets" ja "Threat agents give rise to
threats that exploit vulnerabilities leading to risk
to assets". Nämä käsitteet esiintyvät seuraavassa.
Asiaa katsotaan tarkemmin erikseen, mutta tässä
johdantovaiheessa on jo hyvä
oivaltaa, että jonkin järjestelmän suojaaminen tietoturvauhkilta
tapahtuu useassa vaiheessa, esimerkiksi seuraavasti:
0 Ota selvää, mikä on arvokasta ja suojeltavaa (assets).
1 Tunnista uhkat, haavoittuvuudet, hyökkäykset.
2 Arvioi riskit. Jos ne ovat tarpeeksi alhaiset,
lopeta ja palaa aiheeseen uudelleen sopivan ajan kuluttua.
3 Aseta haavoittuvuudet tärkeysjärjestykseen.
4 Valitse ja asenna suojatoimet, palaa kohtaan 1.
Kaikessa pitää ottaa huomioon kustannukset.
Niitä kasvattavat aiheettomasti sekä kovin tiukat turvatoimet (hankinnan ja
ylläpidon hinta nousee) että niiden puute (menetysten hinta nousee) .
Jostain välimaastosta pitää löytää kompromissi, mutta on epätodennäköistä, että
optimoinnille voi koskaan olla tarkkaa numeerista perustaa.
Vaiheissa 0-3 täytyy tuntea oma järjestelmä, mutta vaiheessa 4 täytyy olla
paljon tietoa turvamekanismeista. Tämän kurssin tavoitteena on kertoa
joistakin sellaisista ja tarjota viitteitä muihin. Vaikka monet
mekanismeista ovat periaatteessa yksinkertaisia, haasteena on näiden
mekanismien moninaisuus, erityisyys ja yksityiskohtaisuus ja silti tietty
epävarmuus, varsinkin kun useita mekanismeja yhdistellään.
Tietoturvamekanismien luettelo
Motivointia
Tietoturvan rakentamisprosessin yhtenä vaiheena on suojatoimien
valitseminen ja asentaminen. Siinä vaiheessa voi toki olla tarjolla jokin
ohjelmisto X, joka lupaa täyttää vaativimmatkin toiveet. Lienee kuitenkin
syytä jo varhaisessa vaiheessa olla perillä siitä, millaisia toiveita
ylipäätään voi olla.
Sisältöä ja tavoitetta
Tässä on tavoitekysymys, joka on ollut kurssin tentissä. Se tiivistää tämän
sivun sisällön, mutta siihen vastaamiseksi täytyy olla jonkinlainen
käsitys myös virusten torjunnasta:
-
Kurssin johdannossa esitellään lyhyesti seuraavat 22 informaatiollista
tietoturvamekanismia:
salakirjoitus -- tarkistussumma (yleisemmin: tiivistefunktio) -- allekirjoitus
-- nimettömyys (anonymiteetti) -- tunnistus (identification)
-- olion autentikointi -- pääsynvalvonta
-- erottelumekanismit -- auditointi
-- oikeutus, auktorisointi -- omistusoikeus
-- valtuutus, delegointi -- validointi, kelpuutus
-- varmentaminen (certification)
-- aikaleimaus -- todistaminen (witnessing)
-- kuittaus -- konfirmointi
-- kiistämättömyys -- peruutus (revocation)
-- tietoliikennemekanismit -- toipumismekanismit
Valitse näistä kolme sellaista, joilla ei ole mitään tekemistä virustorjunnassa.
Selitä miksi ei ja mihin ne sitten liittyvät.
|
Millaisia tietoturvamekanismeja on olemassa
Tietoturvaa määriteltäessä nousee esille lukuisia toivottavia asioita
kuten eheys tai kiistämättömyys. Mitä näiden hyväksi voidaan yleisesti ottaen
tehdä?
Seuraava jaottelu on mukaeltu ja täydennetty kirjassa Handbook of Applied Cryptography esitetystä
tietoturvatavoitteiden luettelosta. Useat mekanismit voidaankin nähdä
palveluina, jotka toteuttavat tavoitteita melko suoraan. Toisaalta monet
luettelon kohdista ovat sikäli abstrakteja, etteivät ne suoraan kerro,
miten käytännössä pitää menetellä.
Esimerkiksi 'aikaleimaus' näyttää
selvältä: varustetaan vain data päiväyksellä ja kellonajalla. On
kuitenkin haastavampaa tehdä tämä niin, että leima voidaan tulkita
oikein ja siihen voidaan luottaa, eikä sitä voi poistaa. Luettelo
pitääkin tässä nähdä vain johdantona myöhemmille tarkennuksille (tai
tiivistelmänä niistä). Sanastosta on linkkejä niihin (joskin myös
takaisin tähän luetteloon).
- salakirjoituksella voidaan saavuttaa luottamuksellisuus: tieto tulee
vain siihen oikeutettujen nähtäväksi. Samalla voidaan yleensä saavuttaa myös
eheys.
- tarkistussummaa (yleisemmin: tiivistefunktiota)
voidaan käyttää eheyden toteamiseen: jos summa on oikea (eikä sitä ole
peukaloitu) niin tieto on alkuperäisessä muodossaan. Tällä voidaan
tarkastaa myös ohjelmakoodin puhtautta viruksista.
- allekirjoitus: tiedon (myös digitaalisen) kytkeminen olioon
mahdollistaa viestin autentikoinnin eli varmistumisen viestin
lähde-/lähettäjäoliosta.
- nimettömyys (anonymiteetti): asiointi voi toteutua ilman yksilöintiä.
- tunnistus (identification): kuka tai mikä olio väittää olevansa
(erotuksena nimettömänä esiintymisestä).
- olion autentikointi: varmistuminen siitä, kenestä tai mistä oliosta on
kyse (tunnistuksen jälkeen/yhteydessä).
- pääsynvalvonta: vain tietyille olioille annetaan oikeudet tiettyihin
resursseihin.
- erottelumekanismit, joilla pääsynvalvonta toteutetaan.
- kirjanpito tapahtumista (auditointi) ja sen perusteella tunkeutumisen
havaitseminen.
- oikeutus, auktorisointi: (jonkun myöntämä) lupa tehdä jotakin tai olla
jokin.
- omistusoikeus: ominaisuus, joka antaa oikeutuksen käyttää jotakin.
resurssia tai siirtää kyseinen oikeutus jollekulle muulle.
- valtuutus, delegointi: lupa tehdä jotain jonkun toisen puolesta.
- validointi: kelpuutus, jolla oikeutus todetaan voimassaolevaksi.
- varmentaminen (certification): luotettu (yleensä "kolmas") osapuoli
todistaa (vaikkapa henkilökortin tai tutkinnon) yleensä allekirjoituksellaan.
- aikaleimaus: osoittaa milloin tieto (viimeistään) on syntynyt.
- todistaminen (witnessing): tiedon olemassaolon tai syntymisen
todentaminen jonkun muun kuin tuottajan toimesta.
- kuittaus: ilmoitus tiedon vastaanottamisesta.
- konfirmointi: ilmoitus palvelun vastaanottamisesta.
- kiistämättömyys: ominaisuus, joka tekee oliolle mahdottomaksi kiistää jokin
sen lähettämä viesti tai suorittama toimenpide.
- peruutus (revocation): koskee esim. avainta (tai sellaisen
varmennetta) tai jotain oikeutta.
- tietoliikennemekanismit:
perinteisenä menetelmänä virheenkorjaavat koodit; satunnainen
"tyhjäkäyntiliikenne", pakettien yhdenmukaistaminen jne.
- toipumismekanismit: perusmenetelmänä redundanssi ("kahdennus") eli
varmuuskopiot ja vaihtoehtoiset laitteet ja reitit, erikoisempana
kryptografinen tiedon paloittelu.
Kuten tästäkin jo huomaa, luettelon kohdat kytkeytyvät monin tavoin
toisiinsa. Kaikki kohdat eivät myöskään ole käsitteellisesti
samantasoisia,
vaan jotkin niistä tulevat erityisesti tällä kurssilla esille vain toisten
asioiden yhteydessä, esim. oikeutus liittyy pääsynvalvontaan. Luettelon
kohdat todistaminen, kuittaus ja konfirmointi jäävät ilman tämän enempää
käsittelyä.
Harjoitus. Jos näit mekanismiluettelon nyt ensi kertaa, laadi siitä
käsitekartta, jossa ryhmittelet toisiinsa liittyviä mekanismeja lähekkäin
tai yhdistät niitä viivoilla. Myöhemmin tai kun olet jo kertaamassa,
korjaile ja täydennä karttaa tai piirrä se uudestaan. Ota mukaan esim.
viittauksia, joita koskevaan materiaaliin pääset käsiksi sanaston tai
sisällysluettelon kautta.
Tietoturvauhkien jäsentelyä
Motivointia
Tietoturvauhkat ja niiden toteutumisesta mahdollisesti aiheutuvat vahingot
motivoivat tietoturvamekanismit. Luonnollisesti myös uhkamaisema täytyy
tuntea ja jos sitä pystyy jotenkin jäsentämään sen parempi, sillä silloin
asia on paremmin hallussa, esim. riskianalyysia tehdessä.
Sisältöä ja tavoitetta
Tässä esitellään saksalainen verkossa olevan tietoturvakäsikirjan uhkaluetteloa
sekä näissä tavoitekysymyksissä mainittu Howardin taksonomia:
- Tietokoneeseen tai tietoverkkoon kohdistuvia hyökkäyksiä voidaan
mallintaa esim. Howardin esittämän taulukkomuotoisen taksonomian avulla.
Seuraavassa on mainittu kyseisen taulukon sarakkeet. Tehtäväsi on mainita
jokaiseen kohtaan vähintään kolme toisensa poissulkevaa vaihtoehtoa.
(c-kohdassa
ei enempää ollut esitettykään, joten siinä tarvitset eniten huolellisuutta
erillisten vaihtoehtojen tuottamiseksi. Taksonomian edellyttämää
kaikenkattavuutta ei missään kohdassa nyt vaadita. Sen voisi saada aikaan
neljännellä vaihtoehdolla "muut".)
a) hyökkääjä.
b) hyökkääjän käyttämä väline
c) hyväksikäytetty haavoittuvuus.
(Tämä on ensimmäinen pääsyyn (access) liittyvä vaihe. Seuraavana on
sitten joko oikeudeton käsiksipääsy tietoon tai oikeudeton käyttö. Toiminta
kanavoituu tämän jälkeen jonkin prosessin kautta ja kohdistuu tiedostoon tai
liikkeellä olevaan tietoon.)
d) tietoon liittyvän "tulos", jonka hyökkääjä saa aikaan.
e) tavoite, joka motivoi hyökkääjän.
- Jos kaikki tietoturvauhat pitäisi luokitella, mitä muuta pitäisi ottaa
huomioon kuin ne asiat, jotka esiintyvät Howardin taksonomiassa? Siinähän
esitellään taulukkomuodossa toisensa poissulkevat luonnehdinnat hyökkääjälle,
hänen käyttämälleen välineelle, keinolle päästä käsiksi tietoon, tulokselle jonka
hän saa aikaan suhteessa tietoon sekä tavoitteelle, joka hänet motivoi.
|
Tietoturvauhkien luettelo ja jaotteluja
Tutustutaan lyhyesti saksalaisen
tietoturvakäsikirjan uhkaluetteloon, joka on jaoteltu seuraaviin osiin
(suluissa on uhkien määrä v. 2001; se tuntuu aina päivitysten yhteydessä
kasvavan)
- Force majeur (13)
- Hallinnolliset puutteet (67)
- Käyttäjien virheet (47)
- Tekniset häiriöt (43)
- Tahalliset teot (102)
LUE näistä lyhin eli ylivoimaisten uhkien luettelo (katso myös selityksiä
ja esimerkkejä). Muut luettelot ovat sellaisinaan liian pitkiä, jotta
niistä olisi paljon hyötyä lukijalle. Käsikirja tuokin uhkat esille
useassa eri yhteydessä, jotka jaottelevat tietojenkäsittelyn kenttää.
Keskeisiä osia ovat:
- infrastruktuuri (lähinnä fyysinen)
- erilliset ja asiakkaan asemassa olevat laitteet
- tietoliikennejärjestelmät
- verkot ja palvelimet
Näiden osa-alueiden sisällä jaottelu tarkentuu ja tuo esille myös
nimettyjä järjestelmiä (Unix, MS-Windows ja Novell). Lisäksi on joitakin
osa-alueita, joissa vastaavaa tarkempaa jakoa ei tehdä, tärkeimpinä organisaatio
ja henkilöstö.
Osa-alueittaiset uhkalistat eivät enää ole toisensa poissulkevia.
Esimerkiksi hallinnollinen uhka "Lack of evaluation of protocol data"
esiintyy useassa kohdassa, mm. "Monen käyttäjän DOS-PC" ja "Heterogeeninen
verkko". Toisaalta osa-alueiden uhkaesittelyt ovat vain tyypillisiä
skenaarioita, eikä mainittu uhka esiinny kaikissa kohdissa, joissa voisi.
Pitäisihän esimerkkinä oleva protokollatieto (eli yleisemmin
auditointitieto tai tapahtumaloki) tutkia kaikissa järjestelmissä, joihin
ulkopuolinen tai asiaton voi tunkeutua ja joissa tämä voitaisiin havaita
kerätyn tiedon perusteella.
Taksonomia on sellainen luokittelu, joka jakaa koko kentän toisensa
poissulkeviin luokkiin. Tällaista luokittelua voidaan käyttää vaikkapa
toteutuneiden tietoturvauhkien tilastointiin, jolloin niiden esiintymisen
tiheydestä voidaan tehdä johtopäätöksiä esim. uhkien todennäköisyyksistä. Tätä
tietoa taas voidaan soveltaa riskianalyysin kautta
tietoturvasuunnitteluun. Näitä asioita käsitellään erikseen.
Hyökkäysten taksonomia
John D. Howard esittää väitöskirjassaan:
An Analysis of Security Incidents on the Internet 1989-1995
määritelmän tietoturvalle:
"Computer security is preventing attackers from achieving objectives
through unauthorized access or unauthorized use of computers and networks."
Sen pohjalta hän tiivistää (luvussa 6) alla olevaan taulukkoon taksonomian,
jossa tietokoneeseen tai verkkoon hyökkäävä voidaan luokitella ensimmäisen
sarakkeen mukaisesti ja tavoite (motivaatio), johon hän tähtää, on jokin
viimeisessä sarakkeessa mainituista. Tavoitteeseen päästään jonkin
tietoon liittyvän tuloksen kautta.
Tulos muodostuu siitä, että jollain välineellä pääsee käsiksi tietoon.
Pääsy on jaoteltu neljään vaiheeseen.
Ideana on siis, että erilaisia hyökkäyksiä voidaan mallintaa
valitsemalla kustakin sarakkeesta yksi (tai usea) vaihtoehto.
| Attackers |
|
Tools |
|
----------------- Access ----------------- |
|
Results |
|
Objectives |
| Hackers |
|
User Command |
|
Implementation Vulnerability |
|
Unauthorized Access |
|
Files |
|
Corruption of Information |
|
Challenge, Status |
| Spies |
==> |
Script or Program |
==> |
Design Vulnerability |
=> |
Unauthorized Use |
=> |
Processes |
=> |
Data in Transit |
==> |
Disclosure of Information |
==> |
Political Gain |
| Terrorists |
|
Autonomous Agent |
|
Configuration Vulnerability |
|
Theft of Service |
|
Financial Gain |
| Corporate Raiders |
|
Toolkit |
|
Denial-of-service |
|
Damage |
| Professional Criminals |
|
Distributed Tool |
|
|
| Vandals |
|
Data Tap |
|
|
Verkot ja hajautetut järjestelmät
Motivointia
Suurin osa kurssilla esille tulevista ilmiöistä liittyy tietoverkkoihin.
Näitä ovat niin sähköposti, seittiselaus käytännön
kysymyksineen kuin sellaiset abstraktimmatkin asiat kuin julkisten avainten
varmenteet ja autentikointi. Tietoverkkoa on syytä katsoa myös hieman eri
suunnasta, jonkinlaisesta verkkoteknisestä näkökulmasta. Tämä täydentää
muita tarkasteluja, mikä osittain tapahtuu liikkumalla niiden tason alapuolella
- ainakin OSI-mallin mukaan ajateltuna.
Sisältöä ja tavoitetta
Tässä johdantojaksossa esitellään verkostona toimivan tietojenkäsittelyn
yleispiirteitä tietoturvan kannalta. Jotkin piirteet liittyvät siihen,
että tietokoneet ylipäätään ovat yhteydessä toisiinsa ja toiset siihen,
että ne tarjoavat toisilleen palveluja. Teksti ei erityisesti jaottele
näitä seikkoja eikä niiden välimuotoja, joten voit itse jäsentää asiaa
myös tästä näkökulmasta.
Tavoitteena on yleisnäkemys, johon myöhempiä yksityiskohtia voi kytkeä.
Yleistäkin voi testata kysymyksellä:
- Mitä uusia ongelmia tietojenkäsittelyn verkottuminen aiheuttaa
tietoturvan kannalta? Eli (suurinpiirtein) mitä kaikkea uudenlaista voi
tapahtua ja miksi, kun yhdet vaihtuvat moniksi seuraavassa: "Yksi
keskustietokone hoitaa yhdessä rakennuksessa olevan yhden yrityksen
tietojenkäsittelytarpeet siten että kullakin työntekijällä on yksi
pääteyhteys siihen yhdestä työhuoneestaan."
|
Tietoverkon olemus tietoturvan kannalta
Mistä verkoissa on kyse
Tietoverkko on sellainen tietojenkäsittelyn ympäristö, jossa on useita
itsenäisiä tietokoneita, jotka pystyvät kommunikoimaan keskenään. Kullakin
koneella voi olla useita käyttäjiä, mutta muuten koneiden koolla eikä
niiden välisellä etäisyydellä ole merkitystä verkon toimintaperiaatteiden
kannalta.
Verkon käsitteitä. Näistä olisi hyvä olla jonkinlainen käsitys:
Isäntäkone (host), palvelin (server), asiakas (client), lähiverkko (LAN),
topologia, verkkojen väliset yhdyskäytävät, verkkojen yhteysverkot
(internetit), osoitteet, nimet, reititin, protokollat ja niiden
kerroksellinen rakenne (OSI-malli ja TCP/IP-malli).
Resursseja, joita riskianalyysissa pitää ottaa huomioon, läheltä kauas
lueteltuina: paikalliset solmut ja niiden väliset linkit, lähiverkko, sen
laitteet, prosessit ja talletetut tiedot, mm. kontrolli-informaatio;
yhdyskäytävä ulkoiseen verkkoon, ja linkit yhdyskäytävästä ulospäin,
ulkoisen verkon reitittimet ja resurssit kuten tietokannat.
Verkolla on monia hyödyllisiä piirteitä, jotka aiheuttavat samalla
turvattomuutta:
- Resurssien jakaminen (joka on yksi verkon etuja) aiheuttaa sen, että
(1) mahdollisia käyttäjiä (ja samalla väärinkäyttäjiä) on aiempaa enemmän ja (2)
kullakin on pääsy aiempaa useampaan koneeseen (mikä ei ehkä olekaan aina oikein
siihenastisten käyttöoikeuksien perusteella).
- Monimutkaisuus: jo yhden koneen käyttöjärjestelmä on niin laaja ja
monitahoinen, että sitä on vaikea saada turvalliseksi, ainakaan niin että
asiaan voitaisiin aidosti luottaa. Useamman koneen hieman ehkä erilaiset
järjestelmät muodostavat kokonaisuuden, jonka mutkikkuus on lähempänä
yksityisten järjestelmien tuloa kuin summaa.
- Epämääräiset rajat. Verkon laajennettavuus on yksi verkon etuja, mutta
varsinkin verkkojen yhdistely aiheuttaa sen, ettei käyttäjä välttämättä tiedä,
mitä muita (ja millaisia!) tahoja kulloinkin voi olla siihen yhteydessä.
- Useita hyökkäyskohtia. Samalla kun tietojenkäsittelyn vaiva (prosessit ja
tiedostot) jakautuu useampaan paikkaan (mikä on hyvä asia), lisääntyvät ne
paikat, joissa hyökkäyksiä voi tapahtua, ja käyttäjä joutuu luottamaan usean
koneen pääsynvalvontamekanismiin ja muihin turvajärjestelyihin.
- Anonyymius: hyökkäys voi tapahtua hyvin kaukaa ja usean väliaseman kautta,
jolloin tekijää on vaikea saada kiinni tai edes tunnistaa. Koneiden välinen
autentikointi ei myöskään ole vastaavalla tavalla luotettavaa kuin
ihmisten välinen. Se voi kyllä olla luotettavampaakin, mutta tätä varten tarvitaan
huolella laadittuja protokollia.
- Arvaamattomat polut: Tietojenkäsittelyn saatavuutta parantaa vaihtoehtoisten
palvelimien tai liikennöintireittien käyttö, mutta samalla voidaan päätyä
käyttämään huonommin turvattuja solmuja tai linkkejä kuin haluttaisiin.
Uhkakuvia
Verkkoympäristössä tapahtuvaa viestintää koskevat uhkat vastaavat niitä,
joiden on yleisemmin jo nähty uhkaavan tietoa: viestin paljastuminen, viestin
muuntuminen matkalla, keksityn viesti ilmestyminen, viestin
estyminen. Lisäksi on etäresurssin luvaton käyttö verkon yli.
Katsotaan tarkemmin, mitä kaikkea ikävää verkkoympäristössä voikaan tapahtua
ja miten:
- Salakuuntelu, "langalla olo":
- kaapeli, lähiverkossa kaikki kuulevat kaiken: nuuskinta "pakettisnifferillä";
sähkömagneettinen kenttä johtimen (tms.) ympärillä antaa mahdollisuuden
induktion käyttöön. Valokaapelissa tätä ongelmaa ei ole, eikä tällaiseen
kaapeliin voi myöskään vastaavalla tavalla tunkeutua. Lähiverkkojen
ulkopuolella lähetykset ovat multipleksoituja ja siksi hankalampia
selvitettäviä.
- radiotie: kohdistus ei tarkkaa - satelliittilähetyksessä hyvin laaja hajonta,
mutta ongelma ei multipleksoinnin ansiosta ole kovin suuri.
- Henkilöllisyyden harhauttaminen, toisena esiintyminen (impersonointi):
- salasanan selvittäminen arvaamalla tai salakuuntelulla
- autentikoinnin välttäminen (jonkin virheen, esim. puskurin ylivuodon
seurauksena)
- sisäänpääsy luotettuna "naapurista" (.rhosts-tiedosto ja rlogin-komento)
tai vieraana avoimesta ovesta (guest) tai tunnetulla/vakioisella keinolla
(asennussalasana).
- Edellisten lisäksi luottamuksellisuus voi särkyä seuraavasti:
- väärä osoite viestillä (teknisen vian takia tai väärin kirjoitettuna)
- paljaana "viuhahtaminen" väliasemilla (kytkimissä, reitittimissä, silloissa,
välillä olevissa palvelimissa) ja työmuistialueilla (viestiä käsittelevien
ohjelmien)
- liikenneanalyysi: viestin olemassaolo (tai viestintätiheys) jo
paljastaa jotain (vrt. tiedon olemassaolo tietokantapäättelyssä), myös
reititysrakenne voi paljastua, tai jonkin lähiverkon nimistö.
- Viestin eheyden särkeminen:
viestin tai sen osan muuttaminen, viestin korvaaminen toisella, vanhan viestin
käyttö (replay), ilmaistun lähettäjän muuttaminen, uudelleen suuntaaminen, viestin
hävittäminen; (tahaton) kohina, jota virheenkorjaavilla koodeilla hallitaan varsin
hyvin.
- Koodin eheys:
Palvelut erityisesti seitissä sisältävät tilanteita, joissa verkon yli ladataan
tai latautuu koodia, jonka olemusta käyttäjä ei yleensä tunne, eikä aina edes
tiedä että näin tapahtuu tai ei ainakaan pääse vaikuttamaan latautumiseen. Tästä
oli puhetta jo edellä.
- Palvelun esto:
Verkoissa on yleensä redundanssia reitityksen ja palveluidenkin osalta,
mutta kriittisten polkujen häiriytyminen/häirintä kaataa verkon. Tämä voi tapahtua
"tulvan" takia: joku lähettää erityisesti jollekulle ehkä jopa autenttisen
näköisiä viestejä tai sitten yleisesti "puurouttaa" verkkoa viesteillä, jotka
vielä
monistuvat kuittauksina tai virheilmoituksina. Toisenlainen estotilanne syntyy
reitityksen sotkeutuessa virheellisten tai hyökkääjän modifioimien
"tienviittojen" takia.
Turvamekanismeja verkossa
Erityisistä verkon turvamekanismeista ovat esimerkkeinä sellaiset kuin
PGP, SSL, SSH ja IPSec, jotka tulevat esille tällä kurssilla. Nyt
johdantona asiaa katsotaan vain yleisellä tasolla. Todettakoon tässä
kuitenkin, että tietoturvapolitiikkaa ja -mekanismeja
ei voi varsinkaan verkon tapauksessa täysin pitää erossa toisistaan.
Mekanismit nimittäin riippuvat verkkoteknologiasta, joka määrää paljolti
sen, missä kohdin uhkia voi esiintyä, ja se puolestaan vaikuttaa siihen
millaisia sääntöjä politiikkaan täytyy määrätä, jotta ylemmän tason
turvatavoitteet voitaisiin saavuttaa.
Seuraavassa on lueteltu noin kuudenlaisia mekanismeja. Harjoitus.
Vertaa tätä luetteloa pitempään ja yleisempään mekanismiluetteloon ja täydennä siitä
piirtämääsi käsitekarttaa näkemyksesi mukaan.
- Liikenteen salaus: päästä päähän, linkeittäin vai jokin välimuoto. Tällä
ratkaistaan
- kuinka suuri osa liikkeellä olevasta viestistä on salattuna: minkä
tasoisen osoite- ja otsikkokentän on oltava selväkielisenä;
- minkä osapuolten pitää vaihtaa tieto symmetrisestä avaimesta;
- missä vaiheissa pitää suorittaa salauksen purkua ja edelleen salausta,
kuinka suuri osa viestistä on tällöin paljaana ja minkä tahon nähtävillä
se silloin on.
- Käyttäjien autentikointi: alkeellisin periaate eli salasanan käyttö
on kaikille tuttua. Yleisissä verkoissa korostuvat sellaiset menetelmät
(protokollat), jotka perustuvat julkisiin avaimiin ja erityisesti niiden
infrastruktuuriin. Rajatummissa yhteyksissä voidaan tulla toimeen ilman
sertifikaattejakin ja jopa symmetrisillä menetelmillä (jollainen
salasanakin on). Esimerkiksi Kerberos on tunnettu symmetriseen salaukseen
perustuva autentikointijärjestelmä. Se käyttää kahta luotettua kolmatta
osapuolta: ensimmäinen autentikoi käyttäjän ja toinen sallii sitten tämän
pääsyn eri palveluihin (lippujen, 'tickets' avulla).
- Järjestelmien autentikointi: verkoissa pitää käyttäjien lisäksi
pystyä autentikoimaan laitteita tai ainakin prosesseja, joita niissä
ajetaan (ja joiden kanssa esimerkiksi tehdään kauppaa). Kun kommunikoivien
laitteiden välillä on useita muita solmuja ja linkkejä, jotka eivät ole
minkään yhden tahon hallinnassa, laitteiden aitouden toteamiseen tarvitaan
aivan vastaavia protokollia kuin käyttäjienkin autentikointiin.
- Pääsynvalvonta: Eri yhteyksissä esille tulevien menetelmien
(perusteina esim. "kuka?", "mikä rooli?", "need-to-know?") lisäksi
verkossa voidaan pääsyoikeuksia eriyttää sen mukaan, mistä fyysisestä
paikasta yhteys otetaan. Esimerkiksi modeemeitse otettava yhteys voidaan
automaattisella takaisinsoitolla rajoittaa tiettyihin ennalta sovittuihin
numeroihin. Sen lisäksi voidaan rajoittaa niitä resursseja, joihin
sallitaan pääsy tällaisten vähemmän luotettavien yhteyksien kautta.
- Liikenteen hallinta: liikenneanalyysin torjumiseksi ja tavanomaiseen
viestintään mahdollisesti kätkettyjen sanomien estämiseksi verkon kontrolli
saattaa poiketa tehokkuusvaatimuksistaan ja esimerkiksi
- pitää yllä joutoliikennettä;
- täyttää paketteja vakiomittaisiksi;
- muunnella hieman reititystä;
- hävittää tahallaan paketin silloin tällöin.
- Eheyden turvaaminen: Liikennöintiprotokollien tehtävänä on havaita ja
toipua, jos viestejä tai paketteja katoaa, kopioutuu, muuntuu, pilkkoutuu
tai niiden järjestys vaihtuu. Tämä ei yleensä riitä turvallisuuden
kannalta, vaan ainakin osasta näitä ongelmia on myös tietoturvasta
huolehtivien protokollien oltava tietoisia. Eheysmekanismeina voidaan
käyttää eri yhteyksissä esiteltävien tarkistussummien ja allekirjoitusten
lisäksi - mutkikkaammissa sovelluksissa - myös kolmatta osapuolta, esim.
notaari- tai aikaleimapalvelua.
Yleistä kryptoprotokollista
Motivointia
Tällä kurssilla tutustutaan ideatasolla joihinkin kryptografisiin
algoritmeihin. Vastaavasti puhutaan useista tietoturvaa edistävistä
ohjelmistoista ja opitaan ehkä jopa käyttämään joitakin. Ohjelmistot
käyttävät algoritmeja, mutta jos mukana on myös tietoliikennettä,
todennäköisesti näiden tasojen välissä on myös jokin kryptografinen
protokolla. Niitäkin tulee useita esille tällä kurssilla, joskin tarkempi
perehtyminen jää toiselle kurssille. Tällä
sivulla hankitaan yleiskäsitys protokollatasosta.
Sisältöä ja tavoitetta
Katsotaan johdannonomaisesti mitä, miksi ja millaisia kryptoprotokollat ovat ja
millaista niiden laatiminen on.
Jälkimmäiseen tavoitekysymyksistä ei selvästikään voi vielä johdannon
perusteella vastata kunnolla. Sen tarkoitus on luonnehtia, millaisia asioita
kryptoprotokollista pitäisi tällä kurssilla oppia.
- Mikä on kryptografinen protokolla? Mainitse esimerkkejä
sellaisista. Miksi niiden laatiminen on niin vaikeaa?
- Esittele kolme kryptografista protokollaa siten, että kerrot,
a) mitkä tavoitteet osapuolet saavuttavat;
b) käytetäänkö julkisen avaimen kryptosysteemiä ja kumman osapuolen avaimia;
c) käytetäänkö symmetristä salausta.
Olkoon ainakin yksi protokolla sellainen, jossa tavoitteet ovat samanlaiset ja
yksi sellainen, jossa ne ovat erilaiset.
|
Yleistä kryptoprotokollista
Kryptografisella protokollalla tarkoitetaan joihinkin
tietoturvatavoitteisiin tähtäävää kahden tai useamman osapuolen välisen
yhteydenpidon käytäntöä, jossa sovelletaan jotain kryptografista primitiiviä
eli lähinnä salausta, allekirjoitusta tai yksisuuntaista tiivistämistä.
Yhteyskäytäntö on toimijoiden näkökulmasta oikeastaan vain jotain ongelmaa
ratkova algoritmi, mutta sille on oleellista, että samaa ongelmaa ratkotaan
useammassa eri paikassa ja näillä on vuorovaikusta, jota hoidetaan viestien
välityksellä. Sama protokolla voi ilmetä eri osapuolille hieman erilaisena
algoritmina, jos roolit ovat erilaiset, mutta kaikkien algoritmien pitää olla
yksikäsitteisiä ja kyetä ottamaan huomioon kaikki tilanteet. Joka tapauksessa
protokollan pitää olla sovittu etukäteen, jos kohta version ja parametrien
(esim. käytettävien kryptoalgoritmien) osalta tämä usein tehdään protokollan
jo käynnistyttyä.
Tärkeä ominaisuus tietoturvaprotokollissa on, että osapuolet voivat
protokollan päätyttyä vakuuttua siitä, että tavoite tuli saavutetuksi ja
havaita, mikäli näin ei käynyt. Tätä varten voidaan tarvita luotettua
kolmatta osapuolta. Sellainen voi kuulua osaksi protokollaa joko välittäjänä
tai siten, että jossain vaiheessa ollaan siihen yhteydessä (esim.
sertifioija), tai sitten kolmannen osapuolen roolina on jälkikäteen
tarvittaessa kaivaa esiin mahdolliset väärinkäytökset.
Kryptoprotokollien suunnittelussa pätee, varmaan paremmin kuin missään
muussa, että jos jokin voi mennä pieleen niin se menee. Tämä johtuu siitä,
ettei riitä, että protokolla suoriutuu tehtävästään kaikki tunnetut
hyökkäykset välttäen. Sen pitäisi välttää kaikki mahdolliset
hyökkäykset. Toisin kuin ohjelmistoissa ja tekniikassa yleensä, käyttäjien ei
voida olettaa edes aikovan toimia sääntöjen mukaisesti. Vaikka tämän kurssin
perusteella ei suunnitellakaan uusia protokollia, on hyvä tuntea kaksi
tärkeintä suunnittelussa huomioitavaa periaatetta:
- Jokaisen viestin täytyy ilmaista merkitys: viestin tulkinta saa
riippua vain sen sisällöstä (eikä siis esim. näennäisestä kuulumisesta
tiettyyn vaiheeseen tietyn protokollan ajossa, tai viestipaketin otsikossa
mainitusta lähettäjän nimestä).
- Ehdot, joilla viestin on tarkoitus aiheuttaa toimenpiteitä, pitää
eritellä riittävän tarkasti, jotta protokollaa tarkasteleva voi
ratkaista, ovatko ne hyväksyttävissä niissä olosuhteissa, joissa hän aikoo
protokollaa soveltaa. (Olosuhteet tarkoittavat esim. verkkoympäristöä, sen
käyttäjiä, vastuita. Toimenpiteenä voi olla vaikka tiedoston lukeminen tai
tilisiirto.)
Avaintenvaihto on yksi tärkeimmistä kryptografisista protokollista.
Sen tarkoituksena on saada sama salausavain molempien osapuolten, ja vain
heidän, tietoon. Esimerkkinä tulee esille Diffie-Hellmanin protokolla, joka vaatii
lisäkseen "vain" osapuolten autentikoinnin, eli vakuuttumisen
siitä, että molemmissa päissä on oikeat toimijat (ks. miksi). Useimmat protokollat keskittyvätkin
autentikointiin ja sisältävät sen ohella yleensä avainten vaihdon.
Avainten vaihto tulee esille useassa yhteydessä: PGP, SSH ja
IPSec-standardi. Avaintenhallinta (key management) kattaa
avaintenvaihdon lisäksi koko avaimen elinkaaren. Asia tulee esille paitsi
PGP:n myös X.509-standardin esittelyn yhteydessä.
Monet erikoisiin tavoitteisiin esim. sähköisessä kaupankäynnissä tähtäävät
kryptoprotokollat ovat varsin monimutkaisia ja niissä sovelletaan usein
sellaisia aliprotokollia, jotka irrallaan tuntuvat kummallisilta.
Tälläkin kurssilla esitellään jossain määrin seuraavia:
- unohtava tiedonsiirto (oblivious transfer): lähettävä osapuoli ei
tiedä, mitä vastaanottaja oikeastaan saa.
- salaisuuden salattu myynti: ostaja saa selville (vain) haluamansa joukosta
salaisuuksia mutta myyjä ei tiedä minkä (sovellus edellisestä)
- bittiin sitoutuminen, jossa sitoutuja valitsee bitin ja ilmoittaa sen
kryptattuna toiselle niin, että voi myöhemmin avata sen vain
alkuperäisenä eli ei voi muuttaa mieltään.
- sokea allekirjoitus, jossa allekirjoittaja ei oikeastaan tiedä mitä
allekirjoittaa.
- nollatietotodistus, jossa verifioija vakuuttuu siitä, että
todistaja tietää ratkaisun, saamatta silti bitinkään vertaa tietoa siitä.