83593 Tietoliikenneprotokollien jatkokurssi, 2-4 ov, 1999
21.12.1998
Tänä vuonna 1999 kurssilla käsitellään tietoturvaprotokollia ja
tutustutaan niiden formaaliin verifiointiin. Jatkossa näiden aiheiden on
määrä olla osa jokavuotista opetustarjontaa. Kurssin tavoitteita on
selvitelty jäljempänä.
Opetusjärjestelyt
Kurssin luennot ja harjoitukset muodostavat viikottain kolmen
oppitunnin mittaisen kokonaisuuden, oppikerran, jonka
Jukka Koskinen pitää
tiistaisin klo 9-12 salissa HC413.
Harjoitustehtäviä tehdään missä tahansa oppikerran vaiheessa ja tekeminen
tarkoittaa, että opiskelijat tekevät. Kotitehtävänä on lukea joka
kerraksi jokin artikkeli, jonka opiskelijat voivat monistaa
kansiosta tai joissain tapauksissa tulostaa www:stä. Monet artikkeleista
on jo valittu, mutta tuoreempia saattaa ilmestyä kevään kuluessa.
Oppikertojen aiheista on aikataulu, joka
toisen periodin osalta täsmentyy vasta kurssin alettua.
Aikataulusta on linkit kunkin kerran muutaman sivun mittaiseen
käsikirjoitukseen, joka avataan nähtäväksi oppikerran jälkeen.
Käsikirjoitus sisältää muun tekstin lomassa harjoitustehtävät ja osaan
niistä myös ratkaisun.
Kurssiin lähinnä liittyvä kirja: Bruce Schneier: Applied Cryptography, 2nd
ed. Wiley 1996. Vaikka kaikkea ei käsitellä tämän kirjan mukaan, voi
luennot ja harjoitukset huoletta jättää käymättä, kunhan lukee kirjan
sekä artikkelit.
Tällä kurssilla kryptograafisten algoritmien sisältö tavallaan
abstrahoituu osittain piiloon. Peruskryptologiaa esitellään toisella
oppikerralla.
Esitiedoiksi suositellaan silti perustietoja kryptoalgoritmeista: esim.
Schneierin kirjan luvuista 1, 11.1-3, 12.2 ja 19.1-3, tai
Kryptologian kurssilta tai mainitun kurssin kirjasta: Arto Salomaa:
Public-Key Cryptography (Springer-Verlag 1996),
luvut 1, 2, 4.1, App. A ja B.
Seminaariesitykset ajoittuvat kurssin kolmelle tai neljälle
viimeiselle viikolle. Niiden valmistelu tapahtuu kuitenkin hyvissä ajoin
yhteistyössä luennoitsijan kanssa ja ne tulevat osaksi kurssin opetusta
sisältäen myös harjoitustehtäviä sekä ennakkoon luettavaa materiaalia
(esim. www:stä). Toisin sanoen huomattava osa seminaarityön tekijän
opiskelupanoksesta jaetaan muiden osallistujien opittavaksi ja myös
edellytetään heiltä osana kurssin vaatimuksia. Töiden aihealueita on
mainittu jäljempänä sisällön yhteydessä, jossa on
myös (alustavasti) selostettu eri aihealueiden vaikutusta työn
luonteeseen.
Seminaarityön voi tehdä 1:n tai 2:n opintoviikon laajuisena. Opintoviikon
mitta on tietenkin 40 tuntia, mutta seminaariesityksen kesto ja
kirjallisen työn laajuus vaihtelevat aiheen mukaan, koska eri aiheiden
paino opetuksessa on erilainen. Karkeasti voisi ajatella, että kahden ov:n
työn tuloksena on vähintään tunnin mittainen opiskelupaketti (puolet
esitelmää ja puolet harjoitusta) sekä kaksikymmensivuinen raportti, josta
puolet eli jonkinlainen "yleinen osa" voidaan sisällyttää kurssin
tutkintovaatimuksiin.
Seminaaritöihin liittyviä harjoituksia voi toteuttaa myös työaseman
ääressä. Seminaaritöiden aiheet käsittelevät käytännön
tietoturvatoteutuksia tai -hankkeita ja ainakin kahden opintoviikon työhön
pitäisi sisällyttää jokin suppeahko omakohtainen käytännöllinen osuus:
jonkin järjestelmän testausta, suunnitelma sellaisen asentamiseksi tai
implementoimiseksi, tms. Yhden opintoviikon työstä tämä omakohtainen
käytäntö voi puuttua. Muuten työn pitää edustaa vähintään puolta em.
mitoista.
Kurssin tavoitteet
Opinto-oppaan mukaan tavoitteena on oppia
- määrittämään tietoturvan tavoitetaso,
- soveltamaan olemassaolevia ja
- suunnittelemaan uusia tietoturvaprotokollia
- käytännön tietoliikenneprotokollien yhteyteen tai
- osaksi,
- analysoimaan näin saavutettavan tietoturvan taso sekä
- ymmärtämään tällaisen analyysin rajoitukset.
Selityksiä:
- Tietoturvalla on eri ulottuvuuksia ja näissä voidaan edetä eri
syvyydelle (tasolle) tilanteen vaatimusten mukaisesti.
- Jotta voisi perustellusti soveltaa yhtä menetelmää täytyy tuntea
hieman myös sitä, millaisen "populaation" edustaja se on. Tällöin
olemassaolevan mutta itselle uuden menetelmän käyttöönottokin sujuu.
- Mainitun "populaation" piirteiden tuntemus edistää
myös sitä, että havaitsee milloin tarvitaan jotain
aiemmasta poikkeavaa. Uuden luomista oppii harjoittelemalla
ongelmanratkaisua sellaisissa yhteyksissä missä tuloksena on jotain
itselle uutta, vaikka se olisikin jo muille tunnettua.
- Tietoturvapalikoita voidaan joutua sovittamaan
olemassaolevien tietoliikenneprotokollien yhteyteen, siis lisäosiksi.
- Toisaalta tietoliikennesuunnittelija voi saavuttaa aiempaa parempia
tuloksia laatimalla uusia protokollia, joissa tietoturva on mukana alusta
pitäen.
- Tietoturvaprotokollia voidaan analysoida formaaleilla
menetelmillä.
-
Ensisijaisesti tässä viitataan formaalin analyysin rajoituksiin.
Toisaalta, suhteutettuna kohtaan 1, pitää muistaa
tietoturvan yleiset rajoitukset ja erityisasema moniin muihin
tekniikan aloihin verrattuna. Tietoturvatekniikan substanssi eli "tieto"
elää ympäristössä, jonka ei ainoastaan muutu muun teknologian
ympäristöä nopeammin (esim. kryptosysteeminen murtamiseen vaadittava
ajan lyheneminen nykyisilläkin menetelmillä) vaan tätä muutosta ovat alati
kiihdyttämässä tekijät, jotka aktiivisesti heikentävät tietoturvaa.
Yhdistämällä tällä kurssilla saatava oppi tietoliikennetekniikan
muihin opintoihin pitäisi olla mahdollista esimerkiksi
parantaa jonkin olemassaolevan tietoliikennetoiminnon turvallisuutta
tai toteuttaa jokin uudentyyppinen palvelu tietoverkkoon. Tällaista
yhdistelyä toivottavasti tapahtuu seminaaritöiden yhteydessä.
Tällä kurssilla ei yritetä opettaa kovinkaan paljon, vaan pyrkimys on
tarjota tilaisuus oppia paljon. Tätä varten paitsi luetaan artikkeleita ja
tehdään harjoituksia, myös käydään keskusteluja. Menetelmä voi olla aluksi
järkytys niille, jotka ovat tottuneet enempi valmiiksi pureskeltuun
materiaaliin.
Nähtävinä on joitakin kysymyksiä, jotka omalla
tavallaan määrittävä tavoitteita, ja johdattelevat toivottavasti
kiinnostumaan kurssilla esiteltävän teorian soveltamisesta käytäntöön
jonkin seminaariaiheen puitteissa.
Kurssin sisältö
Suluissa olevat numerot ilmaisevat montako oppikertaa aihealueeseen on
tarkoitus käyttää.
- Tietoturvan tavoitteiden ja käsitteistön yleinen määrittely (1).
- Kryptograafiset primitiivit (1).
- Perusprotokollat (kaksi "kierrosta") (4).
- Protokollan spesifiointi ja automaattinen verifiointi (2).
- Erityisiä sovelluksia (silti abstraktilla tasolla, 3):
e-raha, nollatietotodistus ja piilokanava,
äänestys, salaisuuden jakaminen, key escrow
monen osapuolen yksityinen laskenta,
liikkuvista agenteista.
- Käytännön järjestelmiä, standardeja, hankkeita (3).
Näiden (tai vastaavien) puitteissa tehdään kurssin seminaarityöt. Aiheita
on kolmen tyyppisiä (itse aiheiden jakautumien eri tyyppeihin ei liene
vielä aivan lopullinen)
-
Seuraavia esitellään luentojen puitteissa pidettiinpä niistä seminaari tai
ei: X.509, PGP, ssh, IPSEC. Luennon esitys on yleisellä tasolla ja
mahdollinen seminaariesitys jatkaa siitä käytännön tasolle.
- Luennoilla ei pidetä esittelyä, jos
seminaariesitys pidetään: PKIX, TLS / SSL, SET, HST (henkilön sähköinen
tunnistaminen, suomalainen hanke). Näissä seminaariesitys
siis sisältää myös yleisen johdannon ja mahdollisen "teorian".
- Seuraavia käsitellään vain mikäli niistä pidetään seminaariesitys:
S/MIME, PEM, verkonhallinta, VPN, OTP, Kerberos, ....
Rajauksia
Kurssilla ei käsitellä (kattavasti tai lainkaan):
- Kryptograafisia algoritmeja sen enempää kuin on tarpeen protokollien
ymmärtämiseksi. (Tämä on Kryptologian kurssin aihepiiriä)
- Salasanojen valintaa (Unixissa ym.), tiedostojen sijoittelua,
oikeuksia, salaamista tai varmuuskopiointia
- Käyttöjärjestelmän toimia sen jälkeen kun käyttäjä on kirjoittautunut
sisään.
Näin siitä huolimatta, että "It doesn't make much sense if everything is
authenticated and encrypted when private keys are obtainable by filtering
the swap files used by a virtual memory system." (Lähde: DigiCash)
- Viruksia tai ohjelmistoasennuksia paitsi lyhyesti mobiiliagenttien
tapausta.
- Tietoturvapolitiikkaa
- Digitaalista vesileimausta
- Kaupallisia tuotteita: laitteita ei lainkaan ja
ohjelmistoja enintään esimerkinomaisesti.
-