tiistaina, joulukuuta 18, 2007

PGP linuxissa!
Muutama sana "Julkisen avaimen" salaustekniikasta.
PGP (tulee sanoista Pretty Good Privacy) on ohjemisto, jolla voidaan salata tiedostoja ja myös vaikkapa sähköposteja (mihin tässä ohjeessa erityisesti keskitytäänkin). Ohjelman toiminta perustuu ns. julkisen avaimen tekniikkaan, jonka avulla voidaan helposti suojata tiedostot, varmistaa että vain haluttu henkilö voi muuntaa ne selväkielisiksi, sekä varmistaa tietojen lähettäjä oikeaksi henkilöksi.

Normaalit salausmenetelmät perustuvat yleensä siihen, että tiedostoa salatessa käytetään ns. avainta, esimerkiksi numerosarjaa, sanaa tai muuta vastaavaa, avuksi muunnettaessa tiedostoa. Jotta tiedot voitaisiin sitten muuntaa takaisin normaaliin muotoon, täytyy tuo avain olla tiedossa myös salauksen purkajalla. Julkisen avaimen menetelmässä jokaisella henkilöllä on kaksi toisiinsa liittyvää avainta: ns. julkinen ja salainen avain.

Julkinen avain voi olla nimensä mukaisesti kaikkien saatavilla, salainen avain taas on vain sen omistajan tiedossa. Kun julkisella avaimella salataan tiedosto, voi salauksen purkaa vain salaisen avaimen avulla. Kun taas tiedoston salaa salaisella avaimella, voi sen purkaa jokainen, joka tietää ko. henkilön julkisen avaimen (joka siis voi olla yleisesti saatavilla esimerkiksi henkilön www-sivulla).

Näinollen, jos henkilö A haluaa lähettää B:lle salatun viestin, hän voi käydä hakemassa B:n julkisen avaimen tämän kotisivulta, salata viestin sillä, ja vain B itse voi salauksen purkaa. Jos taas B haluaa lähettää A:lle, C:lle ja D:lle viestin, ja haluaa näiden voivan olla varmoja että lähettäjä on juuri B, niin hän voi salata viestin omalla salaisella avaimellaan. Tällöin tuon viestin voi purkaa vain A:n julkisella avaimella, tätä voidaankin pitää eräänlaisena digitaalisena allekirjoituksena. PGP:ssä voi lisäksi valita, onko näin "signeerattu" viesti luettavissa myös ilman julkista avainta.

Yllättävän helposti onnistuu PGP asennus ja käyttö verrattuna Windowssiin vaikka toisin luulis.
Mutta näin se vain on.
Ensinnäkin aloitetaan siitä että asennetaan PGP linuxiin. Tähän löytyy monia työkaluja.
Esim. Konsolissa on mahdollista asentaa pgpgpg niminen työkalu.
Komento: sudo apt-get install pgpgpg
Asennus etenee seuraavasti:
Seuraavat UUDET paketit asennetaan: pgpgpg 0 päivitetty, 1 uutta asennusta, 0 poistettavaa ja 0 päivittämätöntä. Noudettavaa arkistoa 14,9kt. Purkamisen jälkeen käytetään 94,2kt lisää levytilaa. Nouda:1 http://archive.ubuntu.com gutsy/universe pgpgpg 0.13-9 [14,9kB] Noudettiin 14,9kt ajassa 0s (45,4kt/s) Valitsen aikaisemmin valitsemattoman paketin pgpgpg. (Luetaan tietokantaa... 138034 tiedostoa ja hakemistoa tällä hetkellä asennettuna.) Puretaan pakettia pgpgpg (.../pgpgpg_0.13-9_i386.deb)... Säädän asetukset: pgpgpg (0.13-9) ...
Sitten avaimen luonti tällä työkalulla.
Komento: sudo pgp -kg
Tätä ennen on hyvä luoda kansio pgp koti kansion alle. Komento: mkdir pgp
Myös kansiolle .gnupg on hyvä antaa täydet oikeudet, muuten joudutaan käyttämään sudo komentoa pgp -kg komennon yhteydessä.
Ainakin näin kokemus sen osoitti monen yrityksen jälkeen kun operaatio tyssäsi oikeuksien puutteeseen.
Kun avainta aletaan luomaan tapahtuu seuraavaa: (lihavoitu ja kursivoitu mitä käyttäjän pitää valita tai täyttää)
gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: avainrengas "/home/nikohal/.gnupg/secring.gpg" luotu
Valitse millaisen avaimen haluat:
(1) DSA ja ElGamal (oletus)
(2) DSA (vain allekirjoitus)
(5) RSA (vain allekirjoitus)
Valintasi? 1
DSA-avainparissa tulee olemaan 1024 bittiä.
ELG-E keys may be between 1024 and 4096 bits long.
Minkä kokoisen avaimen luodaan? (2048) 1024
Halutun avaimen koko on 1024 bittiä
Kuinka kauan avaimen tulee olla voimassa.
0 = Avain ei vanhene koskaan
<n> = Avain vanhenee n päivän kuluttua
<n>w = Avain vanhenee n viikon kuluttua
<n>m = Avain vanhenee n kuukauden kuluttua
<n>y = Avain vanhenee n vuoden kuluttua
Avain on voimassa? (0) 0
Avain ei vanhene koskaan
Onko tämä oikein? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Oikea nimi: Oma Nimi
Sähköpostiosoite: oma.sahkoposti@huti.fi
Huomautus:
Valitsit seuraavan käyttäjätunnuksen:
"Oma Nimi <oma.sahkoposti@huti.fi>"

Muuta (N)imi, (H)uomautus, (S)ähköposti vai (O)k/(L)opeta? o
Tarvitset salasanan suojaamaan salaista avaintasi.

gpg: gpg-agent ei ole käytettävissä tässä istunnossa
Tarvitaan paljon satunnaislukuja. Voit suorittaa muita toimintoja
(kirjoittaa näppäimistöllä, liikuttaa hiirtä, käyttää levyjä)
alkulukujen luomisen aikana, tämä antaa satunnaislukugeneraattorille
paremmat mahdollisuudet kerätä riittävästi entropiaa.
+++++.++++++++++.++++++++++.+++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++....+++++++++++++++++++++++++..+++++.++++++++++++++++++++...............>.+++++.............................................+++++
Tarvitaan paljon satunnaislukuja. Voit suorittaa muita toimintoja
(kirjoittaa näppäimistöllä, liikuttaa hiirtä, käyttää levyjä)
alkulukujen luomisen aikana, tämä antaa satunnaislukugeneraattorille
paremmat mahdollisuudet kerätä riittävästi entropiaa.
.+++++++++++++++..++++++++++++++++++++.+++++.+++++.+++++..+++++.++++++++++++++++++++..++++++++++..++++++++++...++++++++++...++++++++++++++++++++..+++++>+++++........................................................................<.+++++>++++++++++^^^
gpg: key 040A7B9F marked as ultimately trusted
julkinen ja salainen avain on luotu ja allekirjoitettu.

gpg: tarkistetaan trustdb:tä
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 1024D/040A7B9F 2007-12-14
Key fingerprint = 2E46 93CD 59FA 9124 7730 C1E8 EDF9 154D 040A 7B9F
uid Niko Hallikainen <niko.hallikainen@fotopaja.net>
sub 1024g/99BBC6A4 2007-12-14
Sitten graaffisen työkalun pariin.
KGpg









Asenna myös Enigmail liitännäinen ThunderBirdiin. Liitännäinen löytyy myös lisää/poista ohjelma valikoimasta.
Luo avain seuraavan videon mukaan.

Lisää Thunderbirdissä luotu avain seuraavasti.

Kohdassa OpenPGP -> Select Key...
Aukeaa seuraava ikkuna jossa voit valita avaimen jota käytetään valitussa tilissä.
Ja sitten ei muuta kuin kokeilemaan miten pelaa.

1 kommentti:

Juhani kirjoitti...

Asiallinen kirjoitus! Linuxissa on selvästi panostuttu myös tähän puoleen. Kokeilin tota samaa KDE:n Kmail sähköpostiohjelmalla ja toimihan se silläkin. Se osasi suoraan tuoda Kgpg:stä nuo avaimet, kun kävi kertomassa sen suojausaseutuksissa.