Ero sivun ”GNU Privacy Guard” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(typo)
(integrointi Tampereen Linkkusivustolta: avaimen luonti)
Rivi 14: Rivi 14:


=== Avainparin luominen ===
=== Avainparin luominen ===
Gpg:tä käytettäessä on luotava avainpari (tai tuotava jo olemassa oleva). Avainpari luodaan komennolla
Gpg:tä käytettäessä on luotava avainpari (tai tuotava jo olemassa oleva). Avainpari luodaan, mikäli mahdollista paikallisella koneella verkko alhaalla, komennolla
  $ gpg --gen-key
  $ gpg --gen-key
Tämän jälkeen gpg kysyy, minkä tyyppinen avain luodaan ja kuinka suuri avain (bitteinä) luodaan. Oletusasetukset ovat hyvät. Seuraavaksi kysytään, kuinka pitkään luotava avain on voimassa. Oletuksena avain ei vanhene koskaan mikä on usein hyvä vaihtoehto.
Tämän jälkeen gpg kysyy, minkä tyyppinen avain luodaan ja kuinka suuri avain (bitteinä) luodaan. Oletusasetukset ovat hyvät. Seuraavaksi kysytään, kuinka pitkään luotava avain on voimassa. Oletuksena avain ei vanhene koskaan mikä on usein hyvä vaihtoehto.


Näiden tietojen jälkeen gpg kysyy nimen, sähköpostiosoitteen ja kommentin luotavaa avainta varten. Näiden tietojen antamisen jälkeen luodaan varsinainen avainpari. Se voi kestää hetken ja jopa pysähtyä hetkeksi, jos tietokoneella ei tehdä muuta. Tällöin saat ilmoituksen
Näiden tietojen jälkeen gpg kysyy nimen, kommentin ja sähköpostiosoitteen luotavaa avainta varten. Kommenttina voi olla vaikka privat, work tai home. Skandinaavisten ja muiden erikoismerkkien käyttö annetuissa arvoissa voi tuoda myöhemmin ongelmia. Real namen lisäksi avainpariin voi myöhemmin lisätä muita aliavaimia (identiteettejä, sähköpostiosoitteita), joten voit käyttää samaa avainta monella sähköpostitunnuksella.
Not enough random bytes available. Please do some other work to give
 
the OS a chance to collect more entropy!
<pre>
Email address: pera@linux.fi
Comment: Mun GPG-avain \o/
You selected this USER-ID:
    "Pertti Peruskayttaja (Mun GPG-avain \o/) <pera@linux.fi>"
 
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
</pre>
 
Nyt salaiselle avaimelle pyydetään salasana.
Voit käyttää salasanan keksimiseen apuna ohjelmaa pwgen. Salasana suojaa hiukan salaista avainta, jos se hukkuu tai joku saa kopion siitä käsiinsä.
 
<pre>
You need a Passphrase to protect your secret key.
 
Enter passphrase:  [tarPEKs1_randoomi15salasana]
Repeat passphrase: [tarPEKs1_randoomi15salasana]
</pre>
 
 
Näiden tietojen antamisen jälkeen kone luo varsinainen avainparin. Se voi kestää hetken ja jopa pysähtyä hetkeksi, jos tietokoneella ei tehdä muuta. Tällöin saat ilmoituksen
<pre>
Not enough random bytes available. Please do some other  
work to give the OS a chance to collect more entropy!
</pre>
Tässä tapauksessa liikuttele hiirtä tai selaa wikiä, jotta satunnaislukugeneraattori sekoittuu tarpeeksi.
Tässä tapauksessa liikuttele hiirtä tai selaa wikiä, jotta satunnaislukugeneraattori sekoittuu tarpeeksi.


Kun kaikki tämä on tehty, gpg tulostaa tiedot juuri luodusta avaimesta
Kun kaikki tämä on tehty, gpg tulostaa tiedot juuri luodusta avaimesta, allekirjoittaa julkisen avaimen salaisella avaimella (itsellään) sekä lisää sen korkeimmalle luottamustasolle (ultimate) avainrenkaaseen trustdb.gpg, joka luodaan, jos sitä ei vielä ole olemassa.
<pre>
<pre>
gpg: /home/pertti/.gnupg/trustdb.gpg: trustdb created
gpg: key 7AF6D4B4 marked as ultimately trusted
gpg: key 7AF6D4B4 marked as ultimately trusted
public and secret key created and signed.
public and secret key created and signed.
Rivi 33: Rivi 58:
pub  1024D/7AF6D4B4 2007-08-12
pub  1024D/7AF6D4B4 2007-08-12
       Key fingerprint = 6C00 8FC4 274D 441E F220  03F4 14D6 E291 7AF6 D4B4
       Key fingerprint = 6C00 8FC4 274D 441E F220  03F4 14D6 E291 7AF6 D4B4
uid                  Pentti Perussurffaaja (Mun GPG-avain \o/) <pera@linux.fi>
uid                  Pertti Peruskayttaja (Mun GPG-avain \o/) <pera@linux.fi>
sub  2048g/49EF6931 2007-08-12
sub  2048g/49EF6931 2007-08-12
</pre>
</pre>
Tässä 7AF6D4B4 on avaimen tunnistenumero, 1024 salauksen pituus (bittiä) ja 6C00 8FC4 274D 441E F220  03F4 14D6 E291 7AF6 D4B4 sen sormenjälki. Viimeisellä rivillä on avaimen luontipäivä.
Tässä 7AF6D4B4 on avaimen tunnistenumero, 1024 salauksen pituus (bittiä), D DSA-algoritmilla luotu ja 6C00 8FC4 274D 441E F220  03F4 14D6 E291 7AF6 D4B4 sen sormenjälki. Viimeisellä rivillä on avaimen luontipäivä.
Huomaa skandien syrjiminen.


Kaikki käytössä olevat avainparit näet komennolla
Kaikki käytössä olevat avainparit näet komennolla

Versio 30. syyskuuta 2008 kello 21.58

GNU Privacy Guard

Käyttöliittymä teksti
Lisenssi GPL
Kotisivu www.gnupg.org

GNU Privacy Guard (GPG tai GnuPG) on vapaa versio tiedostojen salaamiseen ja allekirjoittamiseen tarkoitetusta PGP-ohjelmasta. Siitä on saatavissa versiot Linuxin lisäksi myös Windowsille, MacOS:lle ja PocketPC:lle.

Salaiset ja julkiset avaimet

Ggp:ssä käytetään kahdenlaisia avaimia, salaisia ja julkisia. Kuten nimistä voi päätellä, julkinen avain on tarkoitettu levitettäväksi julkisesti tai esimerkiksi lähetettäväksi avainpalvelimelle ja salainen avain on tarkoitus pitää vain käyttäjän omassa käytössä.

Kun käyttäjällä on toisen henkilön julkinen avain tämä voi salata viestin (tai tiedoston) siten, että sen avaamiseen tarvitaan vastaanottajan salainen avain. Vastaavasti salaista avainta käyttämällä on mahdollista lisätä viestiin allekirjoitus, jonka aitouden voi tarkistaa julkisella avaimella.

Salaista avainta käytettäessä tarvitaan myös avaimen salasana.

Käyttö

Gpg:tä käytetään komentoriviltä, mutta sille on olemassa myös graafisia käyttöliittymiä.

Avainparin luominen

Gpg:tä käytettäessä on luotava avainpari (tai tuotava jo olemassa oleva). Avainpari luodaan, mikäli mahdollista paikallisella koneella verkko alhaalla, komennolla

$ gpg --gen-key

Tämän jälkeen gpg kysyy, minkä tyyppinen avain luodaan ja kuinka suuri avain (bitteinä) luodaan. Oletusasetukset ovat hyvät. Seuraavaksi kysytään, kuinka pitkään luotava avain on voimassa. Oletuksena avain ei vanhene koskaan mikä on usein hyvä vaihtoehto.

Näiden tietojen jälkeen gpg kysyy nimen, kommentin ja sähköpostiosoitteen luotavaa avainta varten. Kommenttina voi olla vaikka privat, work tai home. Skandinaavisten ja muiden erikoismerkkien käyttö annetuissa arvoissa voi tuoda myöhemmin ongelmia. Real namen lisäksi avainpariin voi myöhemmin lisätä muita aliavaimia (identiteettejä, sähköpostiosoitteita), joten voit käyttää samaa avainta monella sähköpostitunnuksella.

Email address: pera@linux.fi
Comment: Mun GPG-avain \o/
You selected this USER-ID:
    "Pertti Peruskayttaja (Mun GPG-avain \o/) <pera@linux.fi>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o

Nyt salaiselle avaimelle pyydetään salasana. Voit käyttää salasanan keksimiseen apuna ohjelmaa pwgen. Salasana suojaa hiukan salaista avainta, jos se hukkuu tai joku saa kopion siitä käsiinsä.

You need a Passphrase to protect your secret key.

Enter passphrase:  [tarPEKs1_randoomi15salasana]
Repeat passphrase: [tarPEKs1_randoomi15salasana]


Näiden tietojen antamisen jälkeen kone luo varsinainen avainparin. Se voi kestää hetken ja jopa pysähtyä hetkeksi, jos tietokoneella ei tehdä muuta. Tällöin saat ilmoituksen

Not enough random bytes available. Please do some other 
work to give the OS a chance to collect more entropy!

Tässä tapauksessa liikuttele hiirtä tai selaa wikiä, jotta satunnaislukugeneraattori sekoittuu tarpeeksi.

Kun kaikki tämä on tehty, gpg tulostaa tiedot juuri luodusta avaimesta, allekirjoittaa julkisen avaimen salaisella avaimella (itsellään) sekä lisää sen korkeimmalle luottamustasolle (ultimate) avainrenkaaseen trustdb.gpg, joka luodaan, jos sitä ei vielä ole olemassa.

gpg: /home/pertti/.gnupg/trustdb.gpg: trustdb created
gpg: key 7AF6D4B4 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
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/7AF6D4B4 2007-08-12
      Key fingerprint = 6C00 8FC4 274D 441E F220  03F4 14D6 E291 7AF6 D4B4
uid                  Pertti Peruskayttaja (Mun GPG-avain \o/) <pera@linux.fi>
sub   2048g/49EF6931 2007-08-12

Tässä 7AF6D4B4 on avaimen tunnistenumero, 1024 salauksen pituus (bittiä), D DSA-algoritmilla luotu ja 6C00 8FC4 274D 441E F220 03F4 14D6 E291 7AF6 D4B4 sen sormenjälki. Viimeisellä rivillä on avaimen luontipäivä. Huomaa skandien syrjiminen.

Kaikki käytössä olevat avainparit näet komennolla

$ gpg --list-keys

Avaimen mitätöintitiedosto

Avainta luotaessa kannattaa samalla luoda tiedosto, jolla on mahdollista mitätöidä avain. Jos esimerkiksi tulevaisuudessa unohdat avaimen salasanan tai avainparin salainen osa joutuu vääriin käsiin, on avain mahdollista mitätöidä avainpalvelimilta tällä tiedostolla.

Kumoamistiedoston luomiseen tarvitaan avaimen salainen osa ja sen salasana. Se tehdään komennolla

gpg --gen-revoke tunnistenumero

Tämän jälkeen gpg kysyy syyn avaimen mitätöintiin ja kommentin mitätöinnille. Tämän jälkeen gpg tulostaa mitätöintiosan muodossa

-----BEGIN PGP PUBLIC KEY BLOCK-----
ohjelman versio ja muita tietoja
pitkä mystinen merkkisarja
-----END PGP PUBLIC KEY BLOCK-----

Tallenna tämä osa esimerkiksi CD-levylle. Lisäksi se kannattaa varmuuden vuoksi esimerkiksi tulostaa.

Mitätöintitiedostolla avain voidaan sitten poistaa esimerkiksi julkiselta avainpalvelimelta. Ohjeet tähän löytyy yleensä palvelimen kotisivulta.

Avainten tuominen ja vieminen

Jotta Gpg:n salauksista ja allekirjoituksista saataisiin jotain hyötyä, on käyttäjien pystyttävä antamaan julkisia avaimiaan toisilleen.

Tietyn avaimen julkinen osa voidaan tallentaa tiedostoon komennolla

gpg --export -a tunnus > tiedosto.key

Valitsin -a ei ole pakollinen, mutta se tallentaa avaimen teksti- eikä binäärimuodossa, jolloin se on selkeämpi lukea ja riski sen korruptoitumiseen on pieni.

Tällä tavalla tallennettu tiedosto voidaan tuoda toisessa Gpg:ssä käyttöön komennolla

gpg --import avain.key

Viestien salaaminen ja purkaminen

Tämän jälkeen viestin salaaminen onnistuu valitsimen -e (tai --encrypt) avulla:

gpg --encrypt tiedosto

Jolloin Gpg luo tiedoston tiedosto.gpg jossa tiedoston sisältö on salattuna. Tämän jälkeen Gpg kysyy, millä julkisella avaimella viesti salataan (listan näet komennolla gpg --list-keys). Jos esimerkiksi haluataan salata tiedoston käyttäen yllä luodun avaimen julkista osaa, annetaan avaimen tunnukseksi avaimen tunnistenumero 7AF6D4B4 ja painetaan entteriä. Avaimen tunnistenumero voidaan antaa myös valitsimella -r:

$ gpg -e -r 7AF6D4B4 tiedosto

Salattu viesti puretaan vastaavasti valitsimen --decrypt avulla:

gpg --decrypt tiedosto.gpg

Jolloin Gpg kysyy avaimeen kuuluvaa salasanaa. Avaimen salaisen osan on myös oltava käytettävissä.

Allekirjoittaminen

Allekirjoitettaessa tiedostoa annetaan gpg:lle valitsin -s (tai --sign) ja allekirjoitettava tiedosto:

$ gpg --sign tiedosto

Jonka jälkeen gpg pyytää salasanan ja allekirjoittaa tiedoston oletusavaimella. Jos halutaan käyttää jotain muuta kuin oletuksena käytettävää avainta, se voidaan antaa valitsimella -u:

$ gpg -s -u 7AF6D4B4 tiedosto

Tällöin tuloksen on tiedosto tiedosto.gpg jossa on allekirjoitettu viesti ja allekirjoitus pakattuna. Pakkaamattomana tiedosto allekirjoitetaan valitsimella --clearsign:

$ gpg --clearsign tiedosto

Jonka jälkeen tiedoston tiedosto.asc sisältö on seuraavanlainen:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Moi

Terveiset linux.fi-wikille
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGvza7FNbikXr21LQRAlZpAKCLpxonnAAT5A8szsRXKkRyO4mNoQCfUbe+
GFHRIF6LK6UnPxYVcoTdSC0=
=hZ5I

Allekirjoituksen saa tallennettua erilliseen tiedostoon valitsimella -b. Tämä on kätevää etenkin allekirjoitettaessa binääritiedostoja:

$ gpg -b tiedosto

Jolloin tuloksena on tiedosto tiedosto.sig jossa on allekirjoitus pakattuna.

Allekirjoitus tarkistettaan antamalla gpg:lle valitsin --verify:

$ gpg --verify tiedosto
gpg: Signature made Sun 12 Aug 2007 19:35:07 EEST using DSA key ID 7AF6D4B4
gpg: Good signature from "Pentti Perussurffaaja (Mun GPG-avain \o/) <pera@linux.fi>"

Tällöin gpg siis kertoo, millä avaimella ja milloin allekirjoitus on tehty. Jos tiedostoa on muutettu allekirjoituksen jälkeen, toinen rivi muuttuu muotoon

gpg: BAD signature from "Pentti Perussurffaaja (Mun GPG-avain \o/) <pera@linux.fi>"

Jos allekirjoitus on erillisessä tiedostossa, annetaan se parametrina gpg:lle

$ gpg --verify tiedosto.sig

Avainpalvelimet

Avainpalvelimet ovat palvelimia, jonne käyttäjät voivat lähettää julkiset avaimensa ja josta muiden käyttäjien julkisia avaimia on mahdollista hakea.

Oma avain lähetetään avainpalvelimelle komennolla

$ gpg --keyserver palvelin --send-key tunniste

Esimerkiksi edellä luomamme avain lähetettäisiin palvelimelle wwwkeys.eu.pgp.net komennolla

$ gpg --keyserver wwwkeys.eu.pgp.net --send-key 7AF6D4B4

Vastaavasti tietty avain haettaisiin sieltä komennolla

$ gpg --keyserver wwwkeys.eu.pgp.net --recv-key tunniste

Joitain avainpalvelimia:

  • wwwkeys.eu.pgp.net
  • wwwkeys.us.pgp.net
  • pgp.dtype.org
  • wweys.pgp.net
  • search.keyserver.net

Luottamusverkot ja avainten allekirjoittaminen

PGP-avaimella on siis mahdollista allekirjoittaa tiedostoja ja viestejä. Mutta miten vastaanottaja voi luottaa siihen, että allekirjoittaja on oikeasti se, kuka väittää olevansa? Tätä varten PGP-avaimia on mahdollista allekirjoittaa.

Allekirjoittaminen tarkoittaa sitä, että PGP:tä käyttävät henkilöt tapaavat toisensa ja tarkistavat toistensa henkilöllisyyden virallisella kuvallisella henkilöllisyystodistuksella (ajokortti, passi tms.) ja vaihtavat avaintensa sormenjälkiä ja tietoja avainten salauksen vahvuudesta. Avaimen sormenjälki on tietyn avaimen tunnistemerkkijono. Gpg:llä avainten sormenjäljet näkee komennolla

gpg --fingerprint

--fingerprint-valitsimen perään voi laittaa myös hakusanan, esimerkiksi

gpg --fingerprint henkilön nimi

Nyt kun sinulla on toisen käyttäjän avaimen sormenjälki ja olet tarkistanut tämän henkilöllisyyden (henkilöllisyyden tulee toki vastata avaimen tiedoissa olevaa nimeä), voit allekirjoittaa henkilön avaimen seuraavasti:

  • Tuo henkilön julkinen avain käyttäen joko avainpalvelimia tai lataamalla julkisen avaimen sisältävä tiedosto esim. kyseisen henkilön kotisivuilta
  • Avaa avain muokattavaksi komennolla
gpg --edit-key tunniste
  • Aukeavassa listassa on avaimen tiedot ja tämän jälkeen yksi tai useampi rivi tyyliin
[ unknown] (1). Käyttäjän Nimi (kommentti) <sähköposti>
  • Kirjoita uid n, jossa n on suluissa oleva numero. Valitse näin uid:t, jotka haluat allekirjoittaa. Enterin painaminen valitsee kaikki uid:t.
  • Gpg näyttää avaimen sormenjäljen ja salauksen vahvuuden. Tarkista, että tiedot ovat samat, jotka sait henkilöltä tapaamisen yhteydessä.
  • Allekirjoita avain komennolla sign.
  • Jos salauksen vakavuutta kysytään, valitse "arkinen" (casual).
  • Poistu muokkaustilasta komennolla quit.

Avaimen allekirjoitukset näkee komennolla

gpg --list-sigs tunniste

Lopuksi allekirjoitettu avain voidaan lähettää takaisin sen omistajalle tallentamalla se normaalisti tiedostoon (gpg --export -a tunniste > tiedostonimi). Jos joku allekirjoittaa avaimesi, kannattaa se sen jälkeen lähettää avainpalvelimelle tavalliseen tapaan (gpg --keyserver palvelin --send-keys tunniste).

Katso myös

Aiheesta muualla