Tiedonsalaus sähköpostissa
Sisällysluettelo
- 1 Johdanto
- 1.1 Miten tiedon voi salata?
- 1.2 Kuka haluaisi lukea postiasi?
- 1.3 Miltä pitäisi suojautua?
- 1.3.1 Viestien seulonta
- 1.3.2 Liikenneanalyysi
- 1.3.3 Toisena esiintyminen, spoofing
- 2 Yleistä salauksesta
- 2.1 Historiaa
- 2.2 Symmetriset algoritmit
- 2.3 Julkisen avaimen algoritmit
- 3 Sähköpostiviestin salaaminen
- 3.1 Salaus käytännössä
- 3.2 Autentifikaatio
- 3.3 Viestin salaaminen ja allekirjoittaminen
- 3.4 Viestin alkuperän tarkastaminen ja viestin purkaminen
- 4 Sertifikaatit
- 5 Sähköpostin lähettäminen nimettömästi
- 6 Eri sähköpostin salausohjelmia ja -standardeja
- 6.1 PGP - Pretty Good Privacy
- 6.2 PEM - Privacy Enhanced Mail
- 6.3 S/MIME - Secure MIME
- 7 Salausalgoritmeja
- 7.1 DES - Data Encryption Standard
- 7.2 Kolminkertainen DES, Triple-DES
- 7.3 IDEA - International Data Encryption Algorithm
- 8 Termejä
1 Johdanto
The world of electronic mail is the world of postcards
Alice kirjoittaa viestin Bobille tietokoneella ja
laittaa Bobin osoitteen viestin alkuosaan ja lopulta lähettää viestin.
Viesti kulkee matkallaan tietokoneesta toiseen. Kun viesti saapuu tietokoneeseen,
tarkastaa kone, onko viesti tarkoitettu jollekin sen käyttäjistä. Jos ei, niin viesti lähetetään
edelleen seuraavalle koneelle, muutoin se laitetaan vastaanottajan postilaatikkoon.
Todellisuudessa sähköpostiviestit eivät satunnaisesti poukkoile koneiden välillä, vaan
järkevällä reitityksellä viestin reitti saadaan pysymään kohtalaisen lyhyenä.
Viestin reitti ei kuitenkaan ole välttämättä vakio. Alicen Bobille lähettämä viesti
saattaa ohjautua eri reittiä eri päivinä.
Sähköpostiviesti on täysin suojaton matkallaan Alicelta Bobille.
Eve voi lukea viestin millä tahansa sen matkalle
sattuvalla koneella. Eve voi olla esimerkiksi jonkun koneen ylläpitäjä,
taitava hakkeri tai sitten yksinkertaisesti koneen tietoturva on niin
heikko, että kuka tahansa käyttäjä voi lukea sen kautta kulkevat viestit.
Eve voi nähdä kaikki systeeminsä läpi kulkevat viestit, hän voi
tulostaa niitä, näyttää kavereilleen tai lähettää lehteen julkaistavaksi.
Kaikki tämä riippumatta siitä, kenelle viestit oikeasti on osoitettu.
Alice ja Bob eivät voi vaikuttaa siihen, ketkä lukevat viestin
sen matkalla Alicelta Bobille. Lähettäessään viestin Alice luottaa tietoturvaan
kaikkissa koneissa, joiden kautta viesti kulkee.
Jos sähköpostiviesti sisältää asioita, jotka tavallisessa postissa lähettetään
kirjeessä postikortin sijaan, se kannattaisi salata.
Viestin salaaminen ei suinkaan tarkoita sitä, että viestin lähettäjällä
olisi jotain muilta salattavaa. Pikemminkin kyseessä on se, että lähettäjä ei halua
viestinsä sisältöä postinkantajan, naapureidensa tai muiden tietoon.
Salaus ei siis ole vain rikollisten tai vakoojien käyttöön tarkoitettu apuväline, vaan
se on käyttäjiensä yksityisyyttä palveleva apuväline.
1.1 Miten tiedon voi salata?
Viestit voi salata käyttämällä jotain sovittua salakirjoitusmenetelmää
tai käyttämällä salaamiseen tarkoitettuja ohjelmia, jotka käyttävät
salaamiseen erilaisia salausalgoritmejä.
Tiedon salaamiseksi voi riittää, että se koodataan pois selkokielisestä
muodosta esimerkiksi uu-koodauksella, jolloin viestin sisältö ei ole
kenenkään vahingossa luettavissa vaan se vaatii
koodauksen purkamisen ennen lukemista. Tieto ei kuitenkaan ole
turvassa, sillä kuka tahansa voi muuttaa tekstin takaisin selkokieliseen muotoon.
Varminta on kuitenkin käyttää salaukseen tarkoitettuja ohjelmistoja, jolloin
viestit voi lukea ainoastaan viestin purkamisen tarvittavan avaimen haltija.
Itseasiassa myös salausohjelmilla salatut viestit on mahdollista purkaa ilman
avainta, mutta siihen tarvitaan aikaa ja laskentatehoa. Purkamiseen kuluva aika lyhenee kuitenkin
varsin nopeasti tietokoneiden tullessa tehokkaammiksi (taulukko 1). [2]
Taulukko 1. Brute-Force hyökkäyksen kesto miljoonan dollarin laitteistolla
|
40 bits |
56 bits |
64 bits |
80 bits |
112 bits |
128 bits |
Vuonna 1995 |
.2 sek |
3.6 h |
38 d |
7000 y |
10E13 y |
10E18 y |
Vuonna 2005 |
2 ms |
2 min |
9 h |
70 y |
10E11 y |
10E16 y |
Vuonna 2015 |
.02 ms |
1 s |
5.5 min |
251 d |
10E9 y |
10E14 y |
Vuonna 2025 |
.2 mcs |
1 ms |
0.3 s |
2.5 d |
10E7 y |
10E12 y |
1.2 Kuka haluaisi lukea postiasi?
Sähköpostiviesti on siis matkansa aikana luettavissa monella koneella. Viestejä kulkee
koneiden läpi kuitenkin valtavasti. Kuka haluaisi lukea juuri sinun viestisi? Vastaus
riippuu paljolti siitä kuka olet, missä työskentelet, mitä teet ja kuka siitä on kiinnostunut.
Kylmästä sodasta lähtien eri valtiot ovat miljoonia markkoja kerätessään
ja analysoidessaan tietoja muista maista. Vieraan maan kansalaisten toimia on seurattu hyvinkin tarkkaan varsinkin, jos he ovat toimineet yhteiskunnallisesti tai liike-elämässä merkittävillä paikoilla.
Monet armeijat tarkoituksella tarkkailevat
rutiininomaisesti muiden maiden siviiliyrityksiä ja luovuttavat tietoa
oman maansa yrityksille. Varsinkin Ranskaa ja Japania on syytetty vakoilusta omien
yritystensä hyväksi. Tiedustelupalvelujen teollinen vakoilu todennäköisesti lisääntyy
kokoajan.
Hallituksen toimesta tarkkaillaan oman maan kansalaisia monessa maassa. Ei pelkästään totalitäärisissä maissa kuten
Kiina, Pohjois-Korea ja Kuuba vaan todisteita vastaavasta toiminnasta on lähestulkoon kaikista maista, joissa
toimii vahva tiedusteluorganisaatio, kuten USA:sta, Ranskasta, Norjasta ja Singaporesta.
Yritykset ovat kiinnostuneita toistensa tiedoista mm. asiakaslistat, markkinointisuunnitelmat, finanssitiedot.
Tiedot pahimman kilpailijan tulevaisuuden suunnitelmista on kiinnostanut aina muita yrityksiä.
Jos toimittajat ovat tonkineet ihmisten roskapönttöjä, miksi he jättäisivät sähköpostin lukematta?
Yhdysvalloissa toimittaja murtautui Tonya Hardingin sähköpostiin Harding-skandaalin
ollessa kuumimmillaan. Koskahan toimittajat alkavat kaivella esiin vaaliehdokkaiden
lähettelemiä viestejä?
Rikolliset saattavat etsiä luottokorttien numeroita, tunnuslukuja, salasanoja.
Sähköinen ostaminen lisääntyy valtavalla vauhdilla, joten kerättävä materiaali
lisääntyy jatkuvasti.
Myös viestien sisällön perusteella voi kiristää. Jos rikolliset saavat käsiinsä
arkaluintoista materiaalia nämä eivät varmasti jätä tilaisuutta käyttämättä.
Työpaikalla utelias kolleega saattaa olla hyvinkin utelias lukemaan
työkaverinsa yksityispostin. Myös työnantaja saattaa olla
kiinnostunut alaistensa kirjeenvaihdosta.
Salaisen suhteen salassa pitäminen sukulaisilta voi olla hyvinkin
tärkeää, puhumattakaan omasta puolisosta.
1.3 Miltä pitäisi suojautua?
Luvattoman lukijan suurin ongelma toisten viestien lukemisessa on niiden saaminen käsiinsä. Erilaisia viestejä
on liikkeellä maailmalla valtavia määriä.
Esimerkiksi National Security Agency (NSA) todennäköisesti
tarkkailee kaikkea Yhdysvaltoihin menevää ja sieltä tulevaa viestivirtaa. NSA:n on
jotenkin pystyttävä erottamaan sen kannalta mielenkiintoiset viestit kuukausittain
liikkuvista miljoonista viesteistä.
1.3.1 Viestien seulonta
Yksi mahdollisuus on etsiä viesteistä tiettyjä sanoja, kuten nuclear, bomb, assassination,
"shoot the president", Iraq, Saddam, sex, pedofilia, "Secret Plans to Rule the Universe".
Seulonnassa on tärkeää, ettei päivässä oteta viestejä talteen enempää kuin samassa ajassa ehditään
analysoida. Jos analysointi jää jälkeen, on vaikea saada kiinni tilannetta, sillä seuraavana päivänä
tulee taas uusia viestejä. Analysointi pitää siis tehdä reaaliaikaisesti.
Salaamalla viestit analysointia voidaan vaikeuttaa. Salatut viestit todennäköisesti joutuvat analysoitavaksi,
mutta salauksesta riippuen viestin purkamiseen voi kukua 5 minuuttia 386:lla tai 3 päivää Cray III:lla.
Jos NSA pitää viestiä tarpeeksi mielenkiintoisena, se kyllä purkaa sen, mutta vastineeksi se joutuu
uhramaan laskentatehoa.
Seulominen käy kuitenkin käytännössä mahdottomaksi, jos suurin osa viesteistä
on salattuja. Tämä nimittäin tarkoittaisi kaikkien viestien purkamista. Viestien seulonnalta voi siis
suojautua sillä, että salausta tarvitsemattomatkin viestit salataan. Silloin mielenkiintoisten viestien seulominen käy
käytännössä mahdottomaksi.
1.3.2 Liikenneanalyysi
Vaikka mielenkiintoisten viestien seulominen onnistutaankin tekemään vaikeaksi, voi
liikenneanalyysillä selvittää kenen lähettämiä viestejä kannattaa seuloa.
Menetelmä perustuu siihen, että seurataan kenelle kukin lähettää viestejä.
Salatussakin viestissä on vastaanottajan ja lähettäjän tiedot selvästi luettavissa.
Liikenneanalyysin tekemistä voi vaikeuttaa houmattavasti käyttämällä anonyymipostipalvelimia
ja anonyymejä viestien jälleenlähettäjiä (anonymous remailers). Liikenneanalyysilla saadaan
seulottua mielenkiintoiset käyttäjät. Esimerkissä (taulukko 2) Bob herättänee tarkkailijoiden mielenkiinnon.
Mahdollisesti myös Carol pääsee tarkkailtavaksi.
Alice: Äiti Bob: Abu Nidal
Sisko Saddam Hussein
Ystävä KGB:n puhelinvaihde
Fred: Barney Carol: Valkoinen Talo
Mr. Slate The New York Times
Taukukko 2. Liikenneanalyysin tuloksia.
1.3.3 Toisena esiintyminen, spoofing
Sähköpostin lähettäminen väärällä nimella tai toisen nimellä on varsin helppoa.
Varsinaiseksi ongelmaksi väärällä nimellä lähetetyt viestit ovat nousseet
Netscapen yleistymisen myötä, sillä selaimen asetuksiin on helppo laittaa
väärät tiedot, sillä niitä ei tarkisteta mitenkään. Väärällä nimellä voi lähettäää myös vahingossa, jos unohtaa konfiguroita asetukset oikeiksi.
Ongelma johtuu pitkälti siitä, että SMTP, eli postin lähetysprotokolla ei
sisällä käyttäjän tietojen tarkastamista tai salasanaa. Tämä ongelma ratkeaa käyttämällä digitaalisia allekirjoituksia, joista
selviää viestin oikea lähettäjä ja se, onko viestiä muutettu sen matkalla vastaanottajalle.
2 Yleistä salauksesta
Salauksen tarkoituksena on muuttaa luettavissa oleva teksti sellaiseen muotoon, että
se ei ole ymmärrettävissä ilman sen muuntamista käänteisellä tempulla takaisin
luettavaksi.
2.1 Historiaa
1800-luvun loppuun saakka salaus perustui siihen, että algoritmi pidettiin salassa.
Silloin ei käytetty lainkaan salausavaimia, kuka tahansa pystyi purkamaan viestin, algoritmin ollessa tiedossa.
Algoritmin pitäminin salaisena ei kuitenkaan ole helppoa ja koska jokaisten viestijöiden välille
piti kehittää uusi algoritmi, se ei ollut lainkaan yksinkertaista.
Lisäksi jos algoritmiin perustuva laite ja se joutui vihollisen
haltuun, oli koko algoritmi käyttökelvoton.
Ratkaisuksi tähän ongelmaan kehitettiin avaimelliset algoritmit. Näissö algoritmin lisäksi
tarvitaan myös avain viestin avaamiseen.
Avaimelliset algoritmit jakautuvat kahteen ryhmään:
symmetrisiin eli tavallisiin ja julkisen avaimen algoritmeihin.
Nykyään salaus perustuu siihen että käytetään tunnettua algoritmia (DES, IDEA,...)
ja salaista avainta. Salausalgoritmien ollessa luotettavia,
salauksen luotettavuus riippuu avaimen salaisuudesta.
2.2 Symmetriset algoritmit
Symmetristen algoritmien purkuavain on laskettavissa salausavaimesta ja päinvastoin.
Näitä algoritmeja sanotaan myös salaisen avaimen algoritmeiksi tai yhden avaimen algoritmeiksi.
Näissä algoritmeissä lähettäjän ja vastaanottajan on edeltäkäsin sovittava käytettävä
avain. Algoritmin turvallisuus riippuu kokonaan avaimen valinnasta.
Esimerkkeinä algoritmeistä ovat DES ja IDEA, joita käsitellään luvussa 7.
2.3 Julkisen avaimen algoritmit
Julkisen avaimen algoritmit (public-key algorithms, asymmetric algorithms) on suunniteltu siten, että
että niissä käytetään eri avainta salaukseen ja eri avainta purkuun. Lisäksi
avaimia ei voi (kohtuullisessa ajassa) laskea toisistaan.
Salausavain on julkinen eli sen voi vaaratta kertoa kenelle tahansa.
Salausavainta sanotaankin julkiseksi avaimeksi (public key) ja purkuavainta
yksityiseksi tai salaiseksi avaimeksi (private key, secret key).
Esimerkki julkisen avaimen algoritmista on RSA.
3 Sähköpostiviestin salaaminen
Julkisen avaimen algoritmit ovat monimutkaisia ja hitaita käyttää.
Siksi käytännössä niitä käytetään vain salaamaan symmetrisen algoritmin avain.
3.1 Salaus käytännössä
Alicen käyttäessä PGP:tä viestin salaukseen, menee salaus seuraavasti:
1) Alice kirjoittaa viestin.
2) Alice generoi satunnaisen salausavaimen.
3) Alice salaa allekirjoitetun viestin symmetrisellä algoritmilla (IDEA).
4) Alice hankkii Bobin julkisen avaimen.
5) Alice salaa satunnaisen avaimen (2) ja Bobin julkisen avaimen
julkisen avaimen algoritmilla (RSA).
6) Alice liittää salatun viestin (3) ja salatun avaimen (5) uudeksi
viestiksi.
7) Alice lähettää salatun (6) viestin Bobille.
3.2 Autentifikaatio
Sähköpostiviesti on helppo lähettää väärällä nimellä. Julkisen avaimen algoritmien
yksi sovellus on digitaalinen allekirjoitus. Sillä on samat ominaisuudet kuin
tavallisella dokumenttiin tehtävällä allekirjoituksella.
1) Se on väärentämätön sillä vain Alice tietää salaisen avaimensa.
2) Se on luotettava. Kun Bob tarkistaa allekirjoituksen Alicen julkisella avaimella,
hän tietää onko Alice allekirjoittanut viestin.
3) Allekirjoitus ei ole uudelleen käytettävissä. Allekirjoitusta ei voi siis siirtää toiseen viestiin.
4) Allekirjoitettua viestiä ei voi muuttaa.
5) Allekirjoitusta ei voi kieltää. Alice, eli allekirjoittaja ei voi väittää, ettei ole tehnyt allekirjoitusta, sillä
jos allekirjoitus voidaan varmentaa Alicen julkisella avaimella, se
on pakostakin Alicen allekirjoittama.
Bob ei myöskään tarvitse Alicen apua allekirjoituksen
varmentamiseen.
3.3 Viestin salaaminen ja allekirjoittaminen
Kun Alice haluaa lähettää allekirjoitetun ja salatun viestin Bobille, hän toimii näin:
1) Alice kirjoittaa viestin.
2) Alice luo satunnaistusarvon (hash value) viestistä (MD5). Satunnaistusarvo on eräänlainen tarkistussumma.
3) Alice allekirjoittaa satunnaistusarvon allekirjoituksellaan. (Alicen salainen avain viedään
läpi digitaalisesta allekirjoitusalgoritmista, kuten RSA:sta.)
4) Alice yhdistää viestin ja allekirjoituksen (3) uudeksi viestiksi.
5) Alice luo satunnaisen salaus avaimen.
6) Alice käyttää avainta (5) viestin (4) salaamiseen (IDEA).
7) Alice hankkii Bobin julkisen avaimen.
8) Alice salaa satunnaisen avaimen (5) ja Bobin julkisen avaimen
julkisen avaimen algoritmilla (RSA).
9) Alice liittää salatun viestin (6) ja salatun avaimen (8) uudeksi
viestiksi.
10) Alice lähettää salatun viestin (9) Bobille.
3.4 Viestin alkuperän tarkastaminen ja viestin purkaminen
Bob on saanut Alicen lähettämän salatun ja allekirjoitetun viestin ja hän haluaa
lukea sen ja varmistaa sen alkuperän. Bobin on toimittava seuraavasti:
1) Bob erottaa salatun viestin ja siihen liitetyn salatun avaimen.
2) Bob purkaa salatun avaimen käyttäen julkisen avaimen algoritmia ja salaista avaintaan.
3) Symmetristä algoritmia (IDEA) ja purettua avainta (2) käyttäen Bob purkaa salatun viestin.
4) Bob erottaa allekirjoituksen puretusta viestistä (3).
5) Käyttäen yksisuuntaista satunnaistusfunktiota Bob laskee viestistä satunnaistusarvon.
6) Bob hankkii Alicen julkisen avaimen.
7) Käyttäen julkisen avaimen algoritmia ja Alicen julkista avainta (6), Bob
purkaa Alicen allekirjoituksen.
8) Bob vertaa Alicen purettua allekirjoitusta ja laskettua (5) arvoa. Jos ne
ovat samat, viesti on Alicen lähettämä.
4 Sertifikaatit
Alicen ja Bobin ei tarvitse tavata toisiaan ja vaihtaa avaimiaan, jotta
he voivat lähettää toisilleen julkiseen avaimeen perustuvia viestejä.
Riittää, että he hankkivat toistensa julkiset avaimet. Avaimen voi hankkia
fingerillä, sähköpostiviestillä tai erityisistä avainpalvelimista.
Tässä menettelytavassa on kuitenkin ongelma, jos Eve haluaa esiintyä
vaikka Bobina ja lähettää Bobina julkisen avaimensa Alicelle.
Kun Alice nyt lähettää viestin Bobille "Bobin" eli Even julkisella avaimella
salattuna, se onkin itseasiassa Even ja vain Even luettavissa.
Miten Alice voi sitten luottaa, että julkinen avain on juuri Bobin? Ratkaisu piilee
erityisissä salatuissa sähköpostiviesteissä, sertifikaateissa, jotka pitävät
sisällään mm. Bobin nimen, osoitteen ja julkisen avaimen. Sertifikaatti on sen lähettäjän
allekirjoittama. Jos lähettäjä on joku, johon sen saaja, Alice, luottaa, voi Alice luottaa
myös Bobin julkiseen avaimeen. Se, keneen Alice luottaa riippuu mm. käytetystä salausohjelmistosta.
Luvussa 6.2 esiteltävä PEM käyttää hierarkista luottorakennetta, jossa jokainen luottaa yläpuolellaan oleviin.
Luvun 6.1 PGP:ssä on käytössä hajautettu systeemi, jossa jokainen käyttäjä toimii avainten varmentajana.
Koska sertifikaatioita ei voi muuttaa ilman, että se huomataan, kannattaa niitä levittää niin laajalle,
kuin mahdollista.
5 Sähköpostin lähettäminen nimettömästi
Sähköpostiviestin voi lähettää anonyymina Cypherpunk remailer osoitteiden kautta. Cyphrpunk remailer on
tietyn sähköpostisoitteen takana oleva ohjelma, joka poistaa kaikki lähettäjätiedot viestistä ja
lähettää sen edelleen haluttuun osoitteeseen. Eri remailereita voi ketjuttaa yhteen, jolloin viesti kulkee
läpi useammasta palvelimesta ennen matkaansa varsinaiselle vastaanottajalle.
Viestin lähettäminen tapahtuu siten, että viesti on muotoa:
::
Request-Remailing-To: saajan@osoite
[viesti]
Toisenlaisen systeemin anonyyminpostin lähettämiseen tarjosi Johan Helsingiuksen
anon.penet.fi-palvelin, joka on kuitenkin tällä hetkellä (syksy 1996) suljettuna.
Anon.penet.fi käytti erilaista syntaksia lähetettäville viesteille. Lisäksi
se automaattisesti tuki anonyymia vastausmahdollisuutta.
Lähetettävän viestin osoite oli esim. saajan%osoite@anon.penet.fi.
Liikenneanalyysin kannalta on otettava huomioon, että varmasti NSA tarkkailee
Yhdysvalloissa sijaitseviin anonyymipostittimiin tulevaa liikennettä. Lisäksi
Yhdysvalloista anon.penet.fi:hin suuntauitunut liikenne on varmasti ollut tarkkailtavana.
6 Sähköpostin salausohjelmia ja -standardeja
Sähköpostin salaamiseen tarkoitetut ohjelman eroavat toisistaan
lähinnä käytettyjen salausalgoritmien ja käytetyn julkisen avaimen
varmennushierarkian mukaan.
Salausohjelma on yhtä heikko, kuin sen heikoin osa on.
Sähköpostin salausohjelman turvallisuuden kannalta pitää kunnossa olla seuraavien kohtien:
- symmetrinen algoritmi (esimerkiksi DES, Triple-DES, IDEA),
- julkisen avaimen algoritmit avainten hallintaan (esimerkiksi RSA, ElGamal),
- julkisen avaimen algoritmit digitaaliseen allekirjoitukseen (esimerkiksi RSA, DSA),
- yksisuuntainen satunnaistusfunktio (one-way hash function); (esimerkiksi SHA, MD5),
- satunnaislukugeneraattori symmetrisen salauksen avaimen luomiseen,
- alkulukugeneraattori julkisen avaimen algoritmien avainten luontiin,
- julkisten ja salaisten avainten säilytys,
- avaintenhallintamenetelmät,
- perusteellinen tiedoston poistaminen sekä
- käyttöliittymä.
6.1 PGP - Pretty Good Privacy
PGP on Internetistä vapaasti saatavissa oleva salausohjelma. PGP on alunperin Philip Zimmermanin
kehittämä ohjelma.
PGP:n keskeiset algoritmit ovat seuraavia:
Salausalgoritmi: IDEA (CBC moodi)
Avainten hallintaalgoritmi: RSA
Allekirjoitusalgoritmi: MD5 ja RSA
PGP:n RSA-avain voi olla 384, 512 tai 1024 bittiä pitkä.
PGP ei ole salausstandardi, vaan pelkkä ohjelma, mutta se on levinnyt
varsin laajalle.
PGP-viestin lähettämiseen kuuluvat seuraavat kohdat:
1) allekirjoitus (vapaaehtoinen),
2) pakkaus, kompressio,
3) salaus (vapaaehtoinen), ja
4) sirtokoodaus (vapaaehtoinen).
PGP-allekirjoitus näyttää seuraavanlaiselta:
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: latin1
iQCVAgUBMX5mIrCfd7bM70R9AQHoJwQAyRKKfCXYzOiKXOCb1AVuun3J5pU1qYgG
mWwpKJFfZAjNY8XIeMi6/m3JCkA2kRtcazcAm0W97T+77IkFfeHT0D5r8edctB3u
+80Npt31xFMbV5WOGrFdK/46iJ2Foy6oLkCngl5yEbFe6DX4i7ZWAxIgvzZ4KLcW
z0Tn3TPEa+g=
=mvq4
-----END PGP SIGNATURE-----
6.2 PEM - Privacy Enhanced Mail
PEM ei ole ohjelma vaan standardi, jonka erilliset ohjelmat toteuttavat.
PEMissa on mahdollista käyttää salaísen avaimen salausta tai julkisen avaimen salausta.
PEMilla toteutetut ohjelmat ovat kuitenkin keskittyneet käyttämään vain julkisen avaimen
salausta.
Kuvaus PEM-standardista löytyy neljästä Internetin RFCstä, 1421-1424.
PEMin keskeiset algoritmit ovat seuraavia:
Salausalgoritmi: DES (CBC moodi)
Avainten hallinta algoritmi: DES (EBC moodi),
DES (CBC moodi) ja
RSA
Viestin eheyden tarkastus: RSA ja MD5,
RSA ja MD2
Allekirjoitus algoritmi: RSA ja MD2,
RSA ja MD5
PEM-viestin lähettämiseen kuuluvat seuraavat vaiheet:
1) Kanonisointi, jossa tabulaattorimerkit korvataan välilyönneilla, rivinvaihtomerkit
muutetaan yhtenäisiksi.
2) Viestin eheyden ja alkuperän varmistaminen.
3) Salaus (vapaaehtoinen).
4) Siirtokoodaus (vapaaehtoinen)
Kohta (1) tekee PEMistä huonon vaihtoehdon 8-bittisen tiedon siirtoon.
PEM ei ole standardi asemastaan huolimatta levinnyt kovin laajalle.
Syynä tähän on ollut lähinnä vain suurten organisaatioiden käyttöön
soveltuva sertifikaatiojärjestelmä sekä sen sopivuus hyvin vain 7-bittisten viestien käsittelyyn.
PEM-viesti voi näyttää seuraanavlaiselta:
-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type: 4,MIC-ONLY
Content-Domain: RFC822
Originator-Certificate:
MIIB1TCCAScCAWUwDydw987WEJWD9652MMWQIE7CQW9X99QW9W99D88D9QNDW9W
BAoRWER7277F82387F28HKDFDFJUWUEEFWNEFWIEFUWEIFUWOJJFOWEFWEOWJJW
(osa poistettu...)
U729D7D8178989RFFrW0DQ3R2OT23WERERI987rc8423k2343423432TQDODIID
5XSISDUQUDIQIWDQW8D789QWD98Q00N4w==
Issuer-Certificate:
MIIB1TCCAScCAWUwDydw987WEJWD9652MMWQIE7CQW9X99QW9W99D88D9QNDW9W
U729D7D8178989RFFrW0DQ3R2OT23WERERI987rc8423k2343423432TQDODIID
(osa poistettu...)
BAoRWER7277F82387F28HKDFDFJUWUEEFWNEFWIEFUWEIFUWOJJFOWEFWEOWJJW
MIC-Info: RSA-MD5,RSA,
jV20fhWERIWEOR8WER923O23R823RRRRROP2392R32RRI20RVNALre9W23Rr0ms
(osa poistettu...)
et0933erEWRWERWERWERfA==
-----END PRIVACY-ENHANCED MESSAGE-----
6.3 S/MIME - Secure MIME
RSA Data Security Inc on kehittänyt PEMin korvaajaksi S/MIME-standardin, jota
se tulee myöhemmässä vaiheessa esittämään Internet-standardiksi.
Salausalgoritmi: Des,
Tripple-DES,
RC2.
Avainten hallinta algoritmi: RSA
S/MIME perustuu siihen, että standardi esittelee uudet MIME-tyypit;
application/x-pkcs7-mime,
application/x-pkcs10,
application/x-pkcs7-signature ja
multipart/signed.
PKCS#7 on RSAn kehittämä viestistandardi; (Cryptographic Message Syntax Standard).
PKCS#10 on RSAn määrittelemä sertifikaatiostandardi; (Certification Request Syntax Standard).
S/MIME-viestin viestiosa voi näyttää seuraavalta:
Content-Type: application/x-pkcs7-mime
Content-Transfer-Encoding: base64
ghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6
4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj
n8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4
7GhIGfHfYT64VQbnj756
7 Salausalgoritmeja
Algoritmin luotettavuudesta riippuu paljolti salausmenetelmän luotettavuus.
Jos algoritmin purkamiseksi kehitetään keino, ei avaimen koolla ole enää paljoakaan
merkitystä viestin purkamiseen kuluvan ajan kannalta. Algoritmin mukana
menee turva sillä salatuilta viesteiltä.
Kryptografia ei pysty sanomaan algoritmistä, onko se turvallinen.
Ainoastaan sen, että jos algoritmi ei ole turvallinen. Algoritmi voi siis vielä tällä hetkellä olla turvallinen, mutta
sen turvallisena pysymistä ei voida todistaa.
7.1 DES - Data Encryption Standard
DES kehitettiin 1970-luvun puolessa välissä. Se syntyi IBM:n ja NSA:n yhteistyönä.
NSA:n osallistuminen sen kehittämiseen on otettu vastaan epäillen. Lisäksi algoritmiin
liittyy salaperäisiä S-laatikoita, jotka sisältävät ison joukon
vakioita, joiden arvoja ei ole selitetty mitenkään.
Ei ole varmaa laittoiko NSA salaoven DES-algoritmiin, mutta myöhemmin
on keksitty, että S-laatikoiden arvot on optimoitu siten, että
DES kestää mahdollisimman hyvin differentiaalikryptoanalyysin (differential cryptanalysis, DC)
siihen kohdistamat hyökkäykset. Merkillepantavaa on kuitenkin se, että
virallisesti DC keksittiin vasta 1990-luvun alkupuolella. NSA on siis tiennyt sen olemassaolon
jo 1970-luvun puolenvälin paikkeilla.
DES syntyi IMB:n Lucifer-algoritmin pohjalta. Alkuperäisessä algoritmissä oli avaimen pituus
128-bittiä, mutta DESissä se pudotettiin 56:een.
DES on iteratiivinen (16 iteraatiota) lohkosalaaja (8-bittiset lohkot).
7.2 Kolminkertainen DES, Triple-DES
Triple-DES on yksinkertainen muunnos DESistä. Siinä yksinkertaisesti
salataan kolmesti käyttäen DES-algoritmia. Voidaan osoittaa, että kaksinkertainen DES
ei ole yhtään turvallisempi kuin DES, mutta kolminkertainen DES on.
Jokaiseen salaukseen voidaan käyttää eri avainta.
Triple-DES voidaan toteuttaa monella tavalla, mutta yleisin (ja PEMin käyttämä) menetelmä
on DES-EDE, jossa salataan avaimella 1, puretaan avaimella 2 ja salataan
uudelleen avaimella 1.
DES-EDEn avaimen pituus on 112 eli kaksi itsenäistä 56-bitin avainta.
Triple-DES on nykytietämyksen mukaan yksi turvallisimmista menetelmistä nyt ja
todennäköisesti tulevaisuudessa.
7.3 IDEA - International Data Encryption Algorithm
IDEA on varsin uusi algoritmi. Se keksittiin vasta 1991 Sveitsissä.
IDEA on iteratiivinen (8 iteraatiota) lohkosalaaja (64-bittiset lohkot).
Avaimen pituus on peräti 128-bittiä.
IDEA sai alkunsa PESinä (Proposed Encrypted Standard), mutta sitä vahvennettiin
tietynlaisia hyökkäyksiä vastaan ja se nimettiin IPESiksi (Improved Proposed Encryption Standard).
Vuodesta 1992 lähtien se on tunnettu nimellä IDEA.
7.3.1 IDEAn idea
64-bitin datalohko jaetaan neljään 16-bitin lohkoon: X1,X2,X3 ja X4.
Nämä neljä lohkoa ovat ensimmäisen kierroksen syöte.
Jokainen IDEAn kahdeksasta iteraatiosta on seuraavanlainen:
1) Kerro keskenään X1 ja ensimmäinen aliavain.
2) Laske yhteen X2 ja toinen aliavain.
3) Laske yhteen X3 ja kolmas aliavain.
4) Kerro keskenään X4 ja neljäs aliavain.
5) XOR tulokset askelista (1) ja (3).
6) XOR tulokset askelista (2) ja (4).
7) Kerro keskenään tulos askelesta (5) ja viides aliavain.
8) Laske yhteen tulokset askelista (6) ja (7).
9) Kerro keskenään tulos askelesta (8) ja kuudes aliavain.
10) Laske yhteen tulokset kohdista (7) ja (9).
11) XOR tulokset askelista (1) ja (9).
12) XOR tulokset askelista (3) ja (9).
13) XOR tulokset askelista (2) ja (10).
14) XOR tulokset askelista (4) ja (10).
Lopputulos on neljä alilohkoa, tulokset askelista (11), (12), (13) ja (14).
Keskenään vaihdetaan kaksi keskimmäistä lohkoa ja alilohkot muodostavat
syötteen uudelle kierrokselle.
Viimeisen kahdeksannen iteraation jälkeen tehdään lopullinen temppu.
1) Kerrotaan keskenään X1 ja ensimmäinen aliavain.
2) Lasketaan yhteen X2 ja toinen aliavain.
3) Lasketaan yhteen X3 ja kolmas aliavain.
4) Kerrotaan keskenään X4 ja neljäs aliavain.
Yhteenlaskun tulos otetaan 16:sta alimmasta bitistä eli (mod 2^16). Kertolaskun tulos
on (mod 2^16) + 1.
8 Termejä
Salausalgoritmeista puhuttaessa käytetään vakiintuneita nimiä
salaukseen jollainlailla osallistuvista henkilöistä. Yhtenäinen nimikäytäntö
helpottaa eri algoritmien ja ohjelmien kuvauksien ymmärtämistä.
Alice viestin lähettäjää.
Bob viestin vastaanottaja.
Carol osallistuja kolmen tai neljän käyttäjän protokollissa.
Dave osallistuja neljän käyttäjän protokollissa.
Eve salakuuntelija; henkilö, jonka luettavaksi viesti ei ole tarkoitettu.
Mallory aktiivinen hyökkääjä.
Trent luotettu välitystuomari.
Walter vartija.
Peggy todistaja.
Victor varmistaja.
Lähteet
Schneier Bruce, Applied Cryptography, 2nd edition, John Wiley & Sons, 1996
Schneier Bruce, E-mail Security, John Wiley & Sons, 1995.
Schneier Bruce, IDEA encryption algorithm,Dr.Dobbs Journal, Nov 1993.
Zimmermann Philip R,PGP(tm) User's Guide Volume I: Essential Topics. 1994
Yksinkertainen IDEA-salausohjelma.
Koodi on peräisin sekä Dr.Dobbs Journal lehden numerosta Nov 1993.
Lisäksi sama listaus löytyy Bruce Schneierin kirjasta Applied Cryptography.
Liite 1. IDEA koodi
Liite 2. sähköpostiviestin lähettäminen väärillä lähettäjätiedoilla