sarja 8 45318D, 45356D 1. Salausmenetelmät =================== 1. Yksinkertainen korvausmenetelmä. Jokainen selväkielisen tekstin kirjain korvataan systemaattisesti jollain toisella. Jos salatusta tekstistä voidaan olettaa joitain tilastollisia ominaisuuksia, voidaan koodiaakkosto selvittää nopeasti. 2. Monimutkaisempi korvausmenetelmä, jossa käytetään montaa eri korvausaakkostoa. Selväkielisen tekstin kirjaimet korvataan vuorotellen kunkin korvausaakkoston mukaan. 3. Kirjainten uudelleen järjestäminen. Selväkielisen tekstin kirjaimet järjestetään uudelleen. Jos salattun tekstin muoto voidaan arvata, tämä on helppo purkaa. 4. Muutetaan kirjaimet numeroiksi, ja kootaan kirjainryhmistä matriiseja. Matriiseille tehdään jokin operaatio joka voidaan tehdä käänteisessti, ja tuloksena on salattu teksti. 5. Nk. Product cipherit, joissa selväkielisen tekstin bittejä järjestetään uudelleen, mahdollisesti kloonataan, joitakin voidaan tiputtaa pois. Tuloksena on salattuja merkkejä. Kaikki yo. menetelmät ovat heikkoja eikä niillä näin tietokoneiden ja tilastollisten analyysien aikana voida salata mitään turvallisesti, pikkuveljeltä ehkä. 2. Kryptoanalyysi ================ 1. salattuun tekstiin perustuva hyökkäys (ciphertext-only attack) Yritetään pelkän salatun tekstin perusteella saada selville selväkielinen teksti tai avain. Hankitaan siis mahdollisimman paljon (samoilla avaimilla) salattuja tekstejä: C1 = Ek(P1), ..., Ci = Ek(Pi), ja yritetään päätellä joko P1, ..., Pi, tai tapa johtaa Ci = Ek(Pi) :stä Pi. 2. tunnettuun selväkieliseen tekstiin perustuva hyökkäys (known-plaintext attack) Tiedetään useita selväkielisiä viestejä sekä niitä vastaavat salatut viestit. Yritetään saada selville salausavain, tai algoritmi jolla voidaan purkaa samalla avaimella salatut viestit: hankitaan P1, C1 = Ek(P1), ..., Pi, Ci = Ek(Pi). päätellään joko k, tai tapa johtaa Ci = Ek(Pi) :stä Pi. 3. valittuun selväkieliseen tekstiin perustuva hyökkäys (chosen-plaintext attack) Sen lisäksi että saadaan selville selväkielisiä tekstejä ja niitä vastaavat salatut tekstit, voidaan valita mitä tekstejä salataan. Tämä on tehokkaampi tapa kuin edellinen, koska valitsemalla sopivat kryptattavat tekstit voidaan saada selville enemmän tietoa avaimesta ja salausalgoritmista. hankitaan P1, C1 = Ek(P1), ..., Pi, Ci = Ek(Pi), joista saadaan valita vapaasti P1, ..., Pi. päätellään joko k, tai tapa johtaa Ci = Ek(Pi) :stä Pi. 4. valittuun salakieliseen tekstiin perustuva hyökkäys (chosen- ciphertext attack) Saadaan valita haluttuja salakielisiä tekstejä ja saadaan niitä vastaavat selväkieliset tekstit. Esim. jos käytössä on laite, joka purkaa salakieliset tekstit (mutta on rakennettu niin ettei sitä voi purkaa ja tutkia), voidaan käyttää tällaista menetelmää. Tämä menetelmä sopii käytännössä lähinnä julkisen avaimen algoritmeihin, mutta joskus myös symmetristen algoritmien purkamiseen. hankitaan C1, P1 = Dk(C1), ..., Ci, Pi = Dk(Ci). päätellään k 5. kumiletkumenetelmä (rubber-hose cryptanalysis) Uhkaillaan, kiristetään ja lahjotaan sopivia osapuolia kunnes heiltä saadaan salausavain tai vastaava ratkaiseva tieto. Tämä on hyvin tehokas tapa ja usein luultavasti tehokkain menetelmä algoritmin murtamiseen. 3. Vahva ja heikko salaus ========================= 1. Salattuja viestejä ei voi purkaa riittävän pitkässä ajassa ilman avaimia. Mahdollisten avainten määrän pitää siis käytännössä olla niin suuri, että kaikkien avainten kokeiluun menee liikaa aikaa, sekä algoritmin niin hyvä että brute force on ainoa tapa ratkaista se. 2. Algoritmin turvallisuus perustuu avaimen salaisuuteen eikä salausmenetelmän salaisuuteen; algoritmi on julkinen. 3. Vaikka voitaisiin käyttää chosen plaintext -hyökkäystä, ei siitä saada huomattavaa etua. Esim. RSA ei täytä tätä vaatimusta. Yleensä tällainen hyökkäys on kaiken lisäksi helppo tehdä; lähetetään jollekin suurlähettiläälle tms. tekaistu selväkielinen viesti, jonka lähettiläs salaa ja lähettää kotimaahansa arvioitavaksi. 4. Salattua viestiä ei voi muuttaa ilman että sitä huomataan. Viestin joukkoon ei siis voi lisätä mitään, välistä ei voi poistaa mitään eikä sisältöä voi muuttaa. 5. Menetelmä on yhtä vahva kuin sen heikoin lenkki. Kaikkien osa-alueiden, avainten hallinnan ja jakamisen, avainten luonnin, yms. pitäisi täyttää ylläolevat vaatimukset. 4. Termejä ========== 1. brute force -hyökkäys Salatta teksti selvitetään kokeilemalla purkaa se jokaisella mahdollisella avaimella, ja katsomalla onko tuloksessa mitään järkeä. Menetelmä kuluttaa aikaa yhteen purkamiseen kuluvan ajan kertaa avainten määrä. Esim. 64-bittisillä avaimilla ja sadan miljoonan kokeilun sekuntivauhdilla kaikkien avaimien kokeiluun menisi vajaat 6 tuhatta vuotta. 2. Hash funktiot Funktio, joka laskee jostain datasta tietyn mittaisen hash-arvon. Kryptografiassa käytetyt hash-funktiot ovat yksisuuntaisia, eli hash-arvosta ei pysty mitenkään helposti konstruoimaan dataa josta se on laskettu. Käytetään esim. tiedostojen "sormenjäljen" laskentaan, jonka perusteella voidaan myödemmin tutkia onko tiedostoa muutettu. 3. Digitaalinen allekirjoitus Digitaalinen allekirjoitus on datan oheen lisättävä yksiselitteinen tunniste lähettäjästä. Tunnistetta ei voida irroittaa viestistä, vaan jokaisella viestillä on oma allekirjoituksensa. Voidaan toteuttaa esim. julkisen ja salaisen avaimen menetelmällä (vaikkapa RSA) viestejä salattaessa. 4. julkisen avaimen salausmenetelmät Käytetään kahta erilaista avainta, julkinen salausavain ja salainen purkuavain. Vaikka avaimet riippuvat toisistaan matemaattisesti, toisesta avaimesta ei voi helposti johtaa toista. Kun A haluaa lähettää B:lle viestin, A salaa viestin B:n julkisella avaimella ja lähettää salatun viestin. Salatun viestin voi purkaa ainoastaan B:n salaisella avaimella. 5. salaisen avaimen salausmenetelmät Kutsutaan myös symmetriseksi menetelmäksi. Samaa avainta käytetään sekä viestin salaamiseen että purkamiseen. Vaikka tällaiset menetelmät ovatkin yksinkertaisia ja nopeita, niitä voi käyttää vain yksinkertaiseen salaamiseen eikä esim. digitaaliseen allekirjoitukseen. Ongelmaksi muodostuu avainten hallinta ja levittäminen. 6. steganografia Steganografia tarkoittaa tiedon piilottamista harmittomalta näyttävän datan joukkoon siten, että mahdollinen salakuuntelija tms. ei edes huomaa, että joukossa on salaisia tietoja. Esimerkiksi kuvadataan voidaan alimpiin bitteihin sijoittaa muuta dataa ilman, että kuvan ulkonäkö juurikaan muuttuu. 7. nollatietotodistus Nollatietotodistuksella osapuoli voi todistaa että hänellä on jokin tieto, esim. jonkin ongelman ratkaisu, ilman että ratkaisua itseään paljastetaan muille osapuolille. 5. Lyhenteitä ============= 1. ACL Access Control List. Lista joka sisältää eri käyttäjien oikeudet johonkin kriittisiin tietoihin tai resursseihin. 2. C = Ek(P) C = ciphertext = salattu teksti P = plaintext = selväkielinen teksti Ek = Encryption key = salausavain Eli, salattu teksti muodostetaan selväkielisestä tekstistä salausavaimen funktiona. Vastaavasti purkua kuvaisi kaava E = Dk(C), jossa Dk = Decryption key = purkuavain 3. CBC Cipher block chaining mode. Mekanismi jolla block ciphereihin saadaan takaisinsyöttö-ominaisuus. Edellisten lohkojen tulokset vaikuttavat seuraavien lohkojen salaukseen. 4. CFM Cipher feedback mode (usein lyhennetään myös CFB). CFM:ssä data voidaan salata pienemmissä osissa kuin mitä yksi lohko on, esim. 8 bittiä eli merkki kerrallaan. Tämä on hyödyllistä jos salaus suoritetaan sarjaliikenne- liitännässä. Esim. DES -piirit käyttävät tätä menetelmää. 5. DES Data Encryption Standard. 1977 standardoitu salausmenetelmä. Data salataan 64 bitin lohkoissa, avain on 56-bittinen. Avaimen lyhyydestä johtuen DES ei ole kovinkaan turvallinen. 6. ECB Electronic codebook mode. Ilmiselvin tapa käyttää lohkosalausta: kukin selväkielisen tekstin lohko salautuu joksikin salatuksi lohkoksi, samanlainen lohko salautuu aina samalla tavalla. 7. OFB Output-feedback mode. Tapa käyttää lohkosalausta synkronisena stream-salauksena. Muistuttaa CFB:tä, paitsi käytössä on nk. internal feedback. 8. RSA Saa nimensä kehittäjiensä nimien (Rivest, Shamir, Adleman) mukaan. Julkisen avaimen salausmenetelmä joka perustuu suurten lukujen faktoroinnin (luvun esittäminen kahden luvun tulona, joilla ei ole yhteisiä kertoimia) vaikeuteen. 9. SPKI Simple Public Key Infrastructure. SPKI tarkoittaa SPKI-työryhmän työn tuloksia, eli protokolla ja määrityksiä jotka tarjoavat turvapalveluja erilaisille Internetin sovelluksille kuten IPSEC-protokollat, salattu sähköposti, WWW-dokumentit ja maksuprotokollat. 10. TTP Trusted Third Party. TTP tarkoittaa turvallisuusviranomaista tai tämän valtuuttamaa tahoa, johon käyttäjän luottavat ja joka tarjoaa tietoturvallisuuteen liittyviä palveluita. TTP:n tarjoamat palvelut liittyvät luottamuksellisuude eheyden, todentamisen ja kiistämättömyyden toteuttamiseen.