GPG – Salaisten tietojen lähettäminen sähköpostilla

Välillä tulee tilanteita, jolloin on tarvetta lähettää luottamuksellisia tai salaisia tietoja toisille henkilöille. Sähköposti ei ole mikään turvallisin tiedon välitysreitti, mutta sitä voi kuitenkin käyttää, mikäli suojaa lähetettävän tiedon tarpeeksi hyvin. Näin voidaan ehkäistä luottamuksellisen tiedon päätymistä vääriin käsiin.

Huom! Mikäli käytät Windowsia, niin suosittelen tutustumaan tämän ohjeen lisäksi myös erilliseen Gpg4win-ohjeeseen. Tässä ohjeessa kuvataan, kuinka GPG:tä käytetään komentoriviltä. Gpg4win on sen sijaan graafinen käyttöliittymä samalla ohjelmalle.

Tämä ohje on testattu 1/2017 GPG:n Windows versiolla Gpg4win 2.3.3 käyttöjärjestelmässä Windows 7.

1. GnuPG (GPG) avuksi tietojen salaukseen

GnuPG on yleisimmille käyttöjärjestelmille saatavilla oleva vapaa salausohjelmisto, joka perustuu OpenPGP-standardiin. Ohjelman idea on seuraava: matemaattisten kaavojen avulla henkilölle luodaan kaksi erillistä avainta, julkinen ja yksityinen. Julkisella avaimella salattu viesti on avattavissa vain sitä vastaavalla yksityisellä avaimella.

Esimerkki: Mikko haluaa lähettää Matille salaisen viestin. Mikko pyytää Matilta julkista avainta. Mikko salakirjoittaa viestinsä Matin julkisella avaimella ja lähettää viestin Matille. Vain Matti voi avata salatun viestin yksityisen avaimen avulla.

Tämä ohje kattaa vain GPG:n peruskäytön eli ns. salausavaimien luomisen, viestien salaamisen sekä salattujen viestien avaamisen. Mikäli käytät GPG:tä päivittäin aktiivisesti, niin suosittelen tutustumaan myös GPG:n muihin toimintoihin kuten mitätöintitiedoston (revocation file) tekemiseen, digitaaliseen allekirjoittamiseen sekä avainten hallintaan. Näistä löydät lisätietoja GPG:n omista manuaaleista.

2. GPG alkuasetelmat

Hae aivan ensimmäiseksi käyttöjärjestelmääsi sopiva GPG-asennuspaketti projektin sivustolta. Windows-ympäristössä voi käyttää esim. Gpg4win-asennuspakettia.

Tässä ohjeessa tutustutaan  GPG:n peruskäyttöön komentoriviltä, jotta ohje olisi mahdollisimman yleiskäyttöinen. GPG on mahdollista liittää myös sähköpostiohjelmiin, jolloin salaustoiminnot on käytettävissä suoraan kyseisistä ohjelmista käsin.

Asenna ohjelma. Projektin sivustolta ladattu Windows-versio asentuu oletuksena tähän kansioon:
Program Files/GNU/GNUPG/
Avaa komentorivityökalu. Windowsissa onnistuu helposti esim:
Käynnistä-valikko - Kirjoita Haku-kenttään: cmd.exe.
Komentorivin aukaisemisen jälkeen on aika syöttää muutamia komentoja. Kaikki esimerkit on tehty Windowsin komentoriviä käyttäen, mutta ne toimivat myös muissa järjestelmissä. Huom! Jos komentoja ei tunnisteta, niin siirry ensin komentorivillä ohjelman asennuskansioon esim:
cd Program Files (x86)\GNU\GnuPG

3. GPG-avainparin luominen

Ensimmäiseksi luodaan avainpari. Toinen avaimista on julkinen ja toinen yksityinen. Julkisen avaimen voi luonnollisesti luovuttaa sitä tarvitseville osapuolille. Salainen avain pidetään tietysti omana tietonaan. Mikäli salainen avain pääsee ulkopuolisten tietouteen, niin kaikki salaiset viestit ovat vaarassa!
Luo avaimet komennolla
gpg --gen-key
Ohjelma kysyy millainen avain luodaan. Syötä tarvittavat arvot ja paina Enter päästäksesi seuraavaan kohtaan.
What kind of key you want? – Oletuksena tarjottava 1 RSA and RSA on hyvä vaihtoehto.
What keysize do you want – 2048
How long the key should be valid? – Valitse 0 jos et halua, että avaimet täytyy luoda uudelleen tietyn väliajoin.
Lopuksi kysytään onko ok, että avain ei mene vanhaksi. Valitse y eli yes.

Seuraavaksi kysytään avaimiin liitettäviä tunnistetietoja.
Real name – nimesi
Email address – sähköpostiosoite
Comment – kommenttikenttä
Lopullinen tunnistetieto (User ID) näyttää tältä: nimesi (kommenttikenttä) sähköpostiosoitteesi Ohjelma kysyy varmistusta, että kaikki on OK. Paina o eli okay.
Enter Passphrase – Salainen avain suojataan lisäturvallisuuden vuoksi vielä salasanalla. Luonnollisesti mitä vahvempi salasana, sen turvallisempaa! Huom! Windowsissa tulee erillinen salasanaikkuna. Linuxissa salasana EI NÄY ruudulla. Ohjelma ottaa vastaan kirjaimia, vaikka se ei näyttäisikään reagoivan mitenkään.

Kun olet syöttänyt salasanan kahteen kertaan ohjelma alkaa generoida avaimia. Heiluttele hiiren kursoria tai kirjoittele näppäimistöllä jotain, se edesauttaa vahvojen avainten luomista. Lopuksi komentoriville tulostuu esimerkiksi tällainen tekstirivi:
gpg: key AABBCC marked as ultimately trusted
kohta AABBCC on kohdallasi eri, se on sinun avaimesi tunniste joka kannattaa ottaa hetkeksi talteen.

4. GPG-avainten listaaminen

Tämä kohta ei ole pakollinen, mutta sen avulla voi tarkistaa esimerkiksi jo luodut avaimet. Voit listata kaikki järjestelmän tunnistamat avaimet komentamalla gpg --list-keys
Tällä listalla pitäisi näkyä ainakin tuo edellisessä kohdassa mainittu avaimen tunniste (AABBCC).

5. Yksityisen avaimen varmuuskopiointi

Halutessasi voit ottaa yksityisestä avaimestasi varmuuskopion seuraavalla komennolla:
gpg --export-secret-key -a "sähköpostiosoitteesi" > oma_salainen_avain.key

Kyseinen komento tulostaa oma_salainen_avain.key tiedostoon sinun yksityisen avaimen varmuuskopion. Avain (ei salasana) on selkokielisesti luettavissa kyseisestä tiedostosta. Jos esimerkiksi hankit uuden koneen, niin voit palauttaa tällä tiedostolla käyttämäsi avaimet uudelle koneelle. Tai voit esimerkiksi tulostaa avaintiedoston varmuuskopion itsellesi talteen paperisena.

6. Julkisen GPG-avaintiedoston luominen

Seuraavalla komennolla luodaan julkinen avain
gpg -a --export sähköpostiosoitteesi > julkinen.pub
Lopputuloksena on tiedosto nimeltä ”julkinen.pub”. Tämän tiedoston voi nimensä mukaisesti toimittaa myös muille henkilöille. -a vipu komennossa tarkoittaa sitä, että lopputuloksen avain on selkokielinen eikä binäärimuodossa (”tietokonekielenä”). Tässä tapauksessa selkokielisellä tarkoitetaan selvästi erotettavaa tekstiä. Binääritiedosto sisältäisi esimerkiksi kummallisia merkkejä yms. Selkokielinen avain on myös helposti tulostettavissa tarvittaessa paperille ja uudelleen kirjoitettavissa. –export yhdessä > merkin kanssa kirjoittaa avaimen julkinen.pub tiedostoon.

7. Tiedoston salaaminen julkisen GPG-avaimen avulla

Jos esimerkiksi yhteistyökumppanisi haluaa lähettää sinulle GPGllä salatun tiedoston, niin hän tarvitsee itse 1. GPG yhteensopivan ohjelman sekä 2. SINUN julkisen avaimesi (julkinen.pub). Ensin yhteistyökumppani lisää sinun julkisen avaimesi hänen omaan avainnippuunsa komennolla
gpg --import julkinen.pub
Tämän jälkeen hän salaa haluamansa tiedoston käyttäen sinun julkista avaintasi. Salaaminen tapahtuu komennolla:
gpg -a --encrypt -r sinun_sähköpostiosoitteesi tiedosto_joka_salataan.txt
-r vipusella annetaan User ID eli tässä tapauksessa se olisi aikaisemmin mainittu sähköpostiosoitteesi. Ohjelma hakee tämän avulla julkisen avaimen avainnipusta.
–encrypt tarkoittaa että tiedostoa ollaan salaamassa.

Komennon suorittamisen jälkeen samaan kansioon pitäisi ilmestyä tiedosto, joka on .asc muotoinen. Tässä tapauksessa tiedosto_joka_salataan.txt.asc

Yhteistyökumppani lähettää .asc päätteisen tiedoston sinulle esimerkiksi sähköpostilla. Vain sinä voit avata sen, koska sinulla on yksityinen avain sekä salasana.

8. GPG-salatun tiedoston avaaminen

Kun olet saanut haltuusi .asc päätteisen tiedoston, voit avata (”decryptata”) sen tällä komennolla:
gpg -o tiedosto.txt --decrypt salattu_tiedosto.txt.asc
-o vipu määrittelee minkä niminen avattu tiedosto tulee olemaan. Ohjelma kysyy vielä salasanaasi. Tiedoston pitäisi nyt olla sellaisenaan avattavissa asianmukaisilla ohjelmistoilla!

Extrahuomio!

Yksityinen avaimesi suojattiin avainparin tekovaiheessa salasanalla. Pidä huolta tuosta salasanasta, sillä sitä ei voi millään keinolla palauttaa. Jos kadotat salasanasi, et voi enää avata julkisella avaimellasi salattuja tiedostoja!

Kommentit

5 vastausta artikkeliin “GPG – Salaisten tietojen lähettäminen sähköpostilla”

  1. Pasi

    Kiitos hyvästä ja selkeästä _suomenkielisestä_ dokumentista. Tällä pääsee hienosti alkuun GPG:n kanssa. Seuraavaksi voi sitten opetella käyttämään gpg:tä esim. Thunderbird-sähköpostiohjelman kanssa. 🙂

    1. matti

      Kiitos kommentista Pasi! Kannattaa tosiaan tuntea aiheen perusidea ensin ja siirtyä sitten käyttämään salaukseen liittyviä apuohjelmia sähköpostiohjelmistoissa (Thunderbird, Outlook jne).

  2. Juuso

    Nyt tämän tekoälyn myötä on pakko siirtyä Thunderbird ohjelmassa salaukseen, koska esimerkiksi hot tis mail osoite on alkanut hankalaksi. Menee paljon aiheettomia ja täysin viattomia viestejä silppuriin, niin siksi pakko alkaa salaamaan viestit ja vieläpä päästä – päähän mallilla.

  3. Juuso

    Sain toimimaan PGP-salauksen eli nyt onnistuu päästä päähän -salaus oikein loistavasti. Pitää vaan ensin itse ymmärtää: -Mitä tarkoittaa julkisella avaimella salaaminen:

    Julkisen avaimen salausmenetelmä eli epäsymmetrinen salausmenetelmä.

    Epäsymmetrisen salausmenetelmä tarkoittaa menetelmää, jossa viesti salataan eri avaimella kuin se puretaan. Menetelmä käyttää kahta toisistaan riippuvaa avainta, joista toinen on julkinen ja toinen on salainen.

    Onneksi tämän tekeminen Thunderbird:ssä on helppoa ja avaimien vaihto puolin ja toisin helppoa. Suosittelen.

    Nyt ei pääse botit ja sun muut TEKOÄLY silppuri paskiaiset väliin, kun salaus on päästä päähän.

    1. matti

      Ilmaiset sähköpostipalvelut tosiaan skannailevat posteja eri syistä, joista yksi on haittaohjelmat ja muut huijaukset. Tämän takia postia siirtyy tahattomasti myös roskakorin puolelle. Salattuja viestejä on hankala skannailla, joten en tulevat varmaankin paremmin perille. Mielenkiintoinen näkökulma sekin, että salaus edesauttaa viestinnän toteutumista, koska postit ei mene roskiin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *