Kryptoprotokollat, luento 1 (A), 2.2.2009

Luennolla esitetty kurssin johdanto
ei sisälly tähän tekstiin, mutta
suuri osa siitä löytyy kurssin verkkosivuilta.

Harjoitus: Millaiset olivatkaan kryptologian tasot ja miten protokollat sijaitsevat niissä?

Lukuharjoitus: Ote Schneierin kirjasta "Secrets and lies" (2000, sivuilta 111-115)

Kertausesimerkki 1. Miten Diffie-Hellman menee? Miten välimies särkee kahden osapuolen autenttisuuden? Miten Diffie-Hellmanilla saataisiin yhteinen avain kolmelle osapuolelle? Voisiko vaiheita vähentää? Kolmenvälinen protokolla on periaatteessa ok, mutta ei kovin käytännöllinen. Monenvälinen avaintenhallinta on kuitenkin hyvin tärkeää ja sitä hoitavien protokollien pitäisi olla skaalautuvia. Yksi ehdotus on artikkelissa: Chung Kei Wong, Mohamed Gouda, Simon S. Lam, Secure Group Communications Using Key Graphs, IEEE/ACM Trans. Netw. vol8, no1, Feb 2000.

STS. Yksi monista tunnetuista DH-variaatioista on ns. Station-to-Station-protokolla. Siinä käytetään paitsi allekirjoituksia myös sopimisen kohteena olevaa symmetristä avainta heti, kun se on mahdollista. A:n ensimmäinen viesti B:lle on kuten perus-DH:ssa (siis gx) ja samoin on B:n viesti A:lle alkuosaltaan (siis gy), mutta sen perään B liittää allekirjoituksen SB (gy, gx) salattuna avaimella k = (gx)y. Kolmannessa viestissä A lähettää B:lle vastaavan allekirjoituksen SA (gx,gy), salattuna k:lla. (Modulolasku on tässä jätetty merkitsemättä.)

Kumpikin osapuoli soveltaa omaa SX:äänsä peräkkäin asetettuihin (katenoituihin) lukuihin. Kunhan kummankin osapuolen julkinen avain (allekirjoituksen todentamiseen) on autenttinen, STS-protokollalla saavutetaan molemminpuolinen autentikointi ja lisäksi eksplisiittinen avaimen aitous (ts. kumpikin osapuoli tietää, että toisella on sama avain k).

Jatkoesimerkki. Vaikka autenttisuus olisi hoidossa (esim. allekirjoituksin), seuraavassa protokollassa on jotain vikaa. Mitä?

Kumpikin osapuolista A ja B generoi ensin kaksi riittävän pitkää satunnaista bittijonoa. Olkoot A:n jonot KA ja RA ja B:n jonot vastaavasti. Kumpikin osapuoli tekee sitten symmetrisesti operaatiot, jotka seuraavassa on kuvattu A:n näkökulmasta:
Tämän epäonnisen protokollan perusideana on ottaa selville ja käyttöön ne bitit, jotka ovat yhteisiä jonoissa KA ja KB. Tätä muistuttaa etäisesti yksi yhteisen informaation pohjalta lähtevä avaimen muodostamistapa, joka on todistettavasti turvallinen! Siinä yhteistä mutta ei täysin yhteneväistä informaatiota (joka on lähtöisin esim. satelliitista) ensin "tislataan" iteratiivisesti pariteettibittien vertailulla, sitten pariteetteja ja binäärihakua käytetään virheiden (eroavuuksien) korjaamiseen. Lopuksi yksityisyyttä vahvistetaan tiivistefunktiolla siten, että salakuuntelijalle ei lopulta jää kuin bitin murto-osan verran informaatiota salaisen avaimen selvittämiseksi.

Kertausesimerkki 2. Jäljittyvä anonyymi bittikäteinen kertaa useita protokollia. [id=390]

Laajempi systeemiesimerkki 2. SET, Secure Electronic Transactions

Artikkelissa J.Guttman: Security Protocol Design via Authentication Tests (2002) on SETiä vastaava ATSPECT, Authentication Test-based Secure Protocol for Electronic Commerce Transactions:

In this paper, we have illustrated a protocol design methodology, based on the authentication tests. The method has led to a protocol, ATSPECT, that demonstrably meets precisely stated security goals. The ATSPECT design process required less than three weeks of labor, by contrast with the major effort invested in SET. ATSPECT appears to provide security guarantees similar to those of SET.
Artikkeli johdattaa suunnitteluun ja formaaleihin menetelmiin: Strand spaces -tekniikka --- esillä aikanaan B-osassa. Artikkelin esittämät suunnittelutavoitteet ovat esillä ensi kerralla.

LUE seuraavasta ensi kerraksi muut osat paitsi paitsi luvut 3.2 ja 6: M. Abadi: Security Protocols and their Properties, Foundations of Secure Computation, NATO Science Series, IOS Press (2000), 39-60.