Salausprotokolla (tunnetaan myös nimellä kryptografinen protokolla tai turvallisuusprotokolla) on abstrakti tai olemassa oleva protokolla, joka suorittaa turvallisuuteen liittyvän toiminnon ja soveltaa salausmenetelmiä. Tällä tarkoitetaan määriteltyä tapaa käyttää kryptografisia algoritmeja, vaihtaa avaimia ja varmistaa viestin eheys sekä osapuolten aitous.
Protokolla kuvaa, miten salausalgoritmeja käytetään tietojen suojaamiseen. Hyvä salausprotokollakuvaus sisältää yksityiskohtaiset tiedot kaikista tarvittavista tietorakenteista ja esitystavoista sekä selkeät ohjeet siitä, miten protokollaa käytetään ohjelmissa ja laitteissa — mukaan lukien sanomat, avainten elinkaaren hallinta ja poikkeustilanteiden käsittely.
Ominaisuudet ja tavoitteet
Salausprotokollat on suunniteltu saavuttamaan tietoturvan perusominaisuudet:
- Salaus (confidentiality): estää luvattoman osapuolen pääsyn viestin sisältöön.
- Eheys (integrity): takaa, ettei viestiä ole muutettu matkalla; tätä voidaan toteuttaa esimerkiksi HMAC- tai digitaalisilla allekirjoituksilla.
- Aitous (authenticity): varmistaa viestin lähettäjän tai osapuolten identiteetin.
- Ei-kielteettävyys (non-repudiation): estää lähettäjää kiistämästä lähetystä (yleensä digitaalisilla allekirjoituksilla).
- Uudelleenkäytön ja jäljitettävyyden minimointi: mm. satunnaisuuden ja avainten kierron avulla estetään aiempien viestien hyödyntäminen hyökkäyksissä.
Keskeiset komponentit
Useimmilla kryptografisilla protokollilla on ainakin osa seuraavista osista:
- Avainsukupolvi — mekanismi satunnaisten tai determinististen avainten luomiseen, tärkeä turvallisuuden perusta.
- Osapuolten todennus — menetelmät, joilla varmistetaan kenen kanssa kommunikoidaan (esim. salasana-, avain- tai sertifikaattipohjaiset todennustavat).
- Keskeinen sopimus — avaintenvaihto- tai sopimusvaiheet, joissa osapuolet sopivat salausavaimesta (esim. Diffie–Hellman tai sen variaatiot).
- Siirrettyjen viestien symmetrinen salaus sovitun avaimen avulla — tehokas salausviestien salaamiseen käytön jälkeen, kun jaettu avain on muodostettu.
- Viestimarkaijat ja replay-suojaus — esimerkiksi sekvenssinumerot tai aikaleimat estämään viestien uudelleenlähetykset.
- Allekirjoitukset ja MAC:t — viestin aitouden ja eheyden varmistamiseksi.
Tyypilliset käyttötapaukset ja esimerkit
Salausprotokollia käytetään laajalti turvallisessa sovellustason tiedonsiirrossa siirrettyjen viestien suojaamiseksi. Käytännön esimerkkejä ja tyyppejä ovat:
- Avainenvaihtoprotokollat: protokollat, jotka mahdollistavat salausavainten turvallisen jakamisen osapuolten välillä. Monet sovellusprotokollat hyödyntävät erillistä avaintenvaihtoprotokollaa.
- HTTPS / TLS: verkkoliikenteen salaamiseen käytetty protokolla, joka yhdistää avainenvaihdon, palvelimen todennuksen ja symmetrisen salauksen. Esimerkkinä vanhempi Secure Sockets Layer) ja sen korvaaja TLS.
- SSH: etäyhteyksien suojaamiseksi suunniteltu protokolla, joka tarjoaa turvallisen komentoyhteyden ja tiedonsiirron.
- IPsec: verkkokerroksen salaus ja todennus VPN-yhteyksiä varten.
- Kerberos ja muut todennusprotokollat: keskitetty todennus ja avainten hallinta sisäisissä verkoissa.
- PGP / OpenPGP: sähköpostin salaukseen ja allekirjoituksiin käytetty hajautettu järjestelmä.
Termiä salausprotokolla käytetään eri tavoin. Esimerkiksi kryptografiset sovellusprotokollat käyttävät usein yhtä tai useampaa taustalla olevaa avaintenvaihtoprotokollaa, joita joskus kutsutaan myös "kryptografisiksi protokollaiksi", kuten SSL (Secure Sockets Layer), joka käyttää Diffie-Hellmanin avaintenvaihtoa. Diffie-Hellmania voidaan pitää täydellisenä kryptografisena protokollana itsessään muissa sovelluksissa, koska se määrittelee tavan muodostaa jaettu salainen arvo osapuolten välillä.
Suunnitteluperiaatteet ja haasteet
- Käytä hyväksi havaittuja primitiivejä: protokollan ei tule nojautua uudentyyppisiin tai epätarkistettuihin algoritmeihin ilman laajaa analyysiä.
- Satunnaisuus ja avainhallinta: heikot satunnaislähteet tai huono avainten hallinta heikentävät koko protokollan turvallisuutta.
- Edeltäjä- ja jälkikaikkamattomuus (forward secrecy): tärkeä ominaisuus, joka estää aiempien viestien paljastumisen vaikka pitkäaikaiset avaimet vaarantuisivat.
- Formaalit mallit ja verifiointi: protokollat kannattaa mallintaa ja verifioida muotovälineillä (esim. model checkers, theorem provers) suunnitteluvirheiden havaitsemiseksi.
- Implementaation sudenkuopat: aikapuuttumat, sivukanavahyökkäykset, virheellinen avainten tallennus ja huonot oletusasetukset ovat yleisiä käytännön uhkia.
Yhteenveto
Salausprotokolla on määritelty sarja sääntöjä ja menettelyjä, joiden avulla kryptografiaa sovelletaan käytännön tietoturvatehtäviin. Hyvin suunniteltu protokolla yhdistää turvalliset kryptografiset primitiivit, selkeän avainhallinnan ja huomioi käyttöympäristön uhkakuvat. Protokollien ymmärtäminen ja oikea käyttöönotto ovat keskeisiä tekijöitä tietojärjestelmien ja viestinnän turvallisuuden varmistamisessa.