For ? kunne kryptere med PGP treng du eit n?kkelpar - ein privat og ein offentleg n?kkel. Den private n?kkelen er din og berre din; ingen andre skal nokon gong setje fingrane sine i den. Den offentlege n?kkelen kan du gje til kven du vil, og leggje ut offentleg slik at andre kan hente den og bruke den.
I dette tilfellet skal PGP nyttast i samband med e-post. Du b?r g? vegen om gpg i Unix, som er installert p? alle UiO-unixmaskiner. D? vert n?klane samla p? eit omr?de som kan vere autorativt for alle plasser du skal bruke pgp-kryptering. Blander du inn Thunderbird risikerer du ? misse det du har ved reinstallasjon, d? den konsekvent legg seg i din brukarprofil lokalt p? datamaskina.
Framgangsm?te
1: Opprett n?kkelparet (den private og den offentlege n?kkelen)
Logg inn p? ein unixserver med ssh og k?yr kommandoane i lista nedanfor:
linux@maskin~$ gpg --gen-key
Dette er kommandoen for ? generere n?kkelparet. Anbefalte verdiar:
Please select what kind of key you want: Velg: (1) RSA and RSA (default) What keysize do you want? (2048): Skriv 2048 bits Key is valid for? (0): Velg 0 Is this correct (y/n)?: Velg Y Real name: Skriv inn ditt eige namn. Email address: Skriv inn epostadressa di Comment: Skriv inn ein kommentar viss du vil. Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?: Kontroller dataene og avslutt med O Enter passphrase: Dette skal vera ein kompliser setning som du ogs? m? klare ? hugse. Litt sterk passordliknande passphrase er ikkje godt nok. Repeat passphrase: Repeter passphrase
N?kkelgenereringa tar litt tid.
Resultatet
pub 2048R/XXXXXXXX 2008-11-13 REAL NAME (COMMENTS)
No er n?kkelparet oppretta og du vil no ha f?tt oppretta ei mappe .gnupg p? heimeomr?det ditt som ser slik ut:
-rw------- 1 eigar gruppe 8075 Nov 3 14:29 gpg.conf -rw------- 1 eigar gruppe 1179 Nov 13 20:12 pubring.gpg -rw------- 1 eigar gruppe 600 Nov 13 20:12 random_seed -rw------- 1 eigar gruppe 1328 Nov 13 20:12 secring.gpg -rw------- 1 eigar gruppe 1240 Nov 13 20:12 trustdb.gpg
Innholdet i filene:
- gpg.conf = konfigurasjonsfila til gpg
- pubring.gpg = n?kkelknippet ditt med offentlege n?klar
- secring.ggp = n?kkelknippe med private n?klar
- trustdb.gpg = database over trust, kven du har valgt ? stole p? eller ikkje ? stole p? (webtrust)
2: Publiser den offentlege n?kkelen
Den offentlege n?kkelen skal brukast til ? verifisere og dekryptere meldingar fr? deg. Derfor m? denne publiserast slik at kven som helst kan laste den ned. Du kan leggje den tilgjengeleg p? ein n?kkelserver som finst rundt om kring p? Internett. Desse serverane snakker og synkroniserar seg med kvarandre, slik at den offentlege n?kkelen vert tilgjengeleg fr? alle n?kkelserverane.
linux@maskin~$ gpg --list-keys linux@maskin~$ gpg --send-keys --keyserver=subkeys.pgp.net XXXXXXX
XXXXXXX = N?kkel-ID til din public key. Den ser du fr? outputten til list-keys.
Det finst fleire n?kkelservere rundt omkring. Dette er ein tilfeldig valgt server.
3: Generering av revoke-sertifikat
Det kan g? gale med n?kkelparet. Derfor lyt du kunne seie i fr? til alle som nyttar den offentelege n?kkelen at han ute av drift, om den offentlege n?kkelen er kompromittert, passordet er mista eller at n?kkelen har g?tt ut p? dato. D? er det lurt ? ha eit revoke sertifikat tilgjengeleg. Dette sertifikatet og den private n?kkelen m? tas godt vare p?, d? begge kan gjere n?kkelparet ugyldig.
Kommando for ? genere revoke-sertifikat:
linux@maskin~$ gpg --gen-revoke --output email@addresse.uio.no-revoke.acs XXXXXXX
email@addresse.uio.no er den e-postadressa som er assosiert med n?kkelen du vil lage sertifikat til. Dersom du har fleire n?kkelpar p? same adresse, m? du angje N?kkel-ID. Anbefalte verdiar:
Create a revocation certificate for this key? y Your decision? 0 Enter an optional description; end it with an empty line: (legg inn dersom du vil) Is this okay? y Enter passphrase: (Passordet du har satt p? den private n?kkelen)
Kopier teksta som kjem opp p? skjermen. Sertifikatet skal sj? omlag slik ut p? fil:
-----BEGIN PGP PUBLIC KEY BLOCK----- Ein del rare teikn og bokstaver -----END PGP PUBLIC KEY BLOCK-----
NB! Flytt dette sertifikatet til ein sikker plass, slik at ingen uvedkommande f?r tak i dette. Sertifikatet vil gjere n?klane ugyldige i det dei vert importert inn i n?kkelringen din.
4: Gjer n?kkelparet ditt ugyldig
Dette skal du IKKJE gjere f?r det har skjedd noko som p?krev det. Operasjonen gjer n?kkelparet ditt ugyldig s? det ikkje kan brukast lenger.
linux@maskin~$ gpg --import my-revocation-sertifikate.asc
Legg endringa ut p? n?kkelserveren slik at alle andre ser at din offentelege n?kkel er ute av drift. Ein offentleg n?kkel kan aldri slettast fr? ein n?kkelserver, og m? derfor gjerast ugyldig.
Finn offentlege n?klar p? ein n?kkelserver
Normalt sett veit du ikkje kva n?kkel-IDen til andre er, men du kan s?ke etter n?klar p? namn.
linux@maskin~$ gpg --search-keys --keyserver=subkeys.pgp.net s?keord1 s?keord2....
S?keord = namnet du vil s?ke p?. Alle ord etter keyserver=... vert sl?tt saman for ? avgrense s?ket.
Du vil f? ei liste med namn og tilh?yrande n?kkel-ID.
linux@maskin ~/.gnupg $ gpg --search-keys --keyserver=subkeys.pgp.net XXX Y gpg: searching for "XXX Y" from HKP server subkeys.pgp.net Keys 1-3 of 3 for "XXX y" (1) XXX YYY xxx.yyy@domene.uio.no\>" 1024 bit DSA key D60F77F2, created 2008-11-05 (2) XXX YZZ xxx.yzz@domene.com>" 1024 bit DSA key 33F152S0, created 2006-08-25 (3) XXX YAA xxx.yaa@domene.it" 1024 bit DSA key 431BgDED, created 2006-01-16 Enter number(s), N)ext, or Q)uit
Du kan importere den offentlege n?kkelen n?r du har funne han.
Velg mellom 1,2 eller 3. Her skal du ikkje oppgje N?kkel-ID, men nummeret fr? s?ket.
Next blar vidare i resultata.
Sjekke opp fingerprintet til n?kkelen med eigaren, slik at du er sikker p? at det er den rette n?kkelen du henter ned.
Import og eksport av private og offentlege n?klar
For ? bruke n?kkelparet ditt, og andre offentlege n?klar, m? dei importerast inn i n?kkelknippa dine. I nokre tilfeller m? fyrst eksporterast til eit leseleg format. Det er enklast ? hente dei offentlege n?klane direkte fr? n?kkelserveren.
Import av andre offentlege n?klar fr? n?kkelserver:
linux@maskin~$ gpg --recv-keys --keyserver=subkeys.pgp.net XXXXXXX
XXXXXXX = N?kkel-ID. Den ser du fr? outputten til list-keys. Dersom du ikkje kjenner til ID kan du s?ke etter denne med kommandoen: gpg --search-keys --keyserver=subkeys.pgp.net s?keord1 s?keord2...
Import av andre sine offentlege n?klar fr? ascii armorert fil
linux@maskin~$ gpg --import filnamn
Filnamn er namnet p? fila som inneheld personens offentlege n?kkel i ASCII format.
Export av offentlege n?klar
For ? kunne bruke n?klane i andre program m? du ofte eksportere dei til ASCII-format for s? ? importere dei inn i programmet. Thunderbird gjer dette direkte fr? n?kkelringane.
linux@maskin~$ gpg --export --armor --output namnPubKey_XXXXXXXX.asc XXXXXXXX
Namnet er XXXXXXX-ID p? n?kkelen. N?r fila er eksportert kan du importere den der det m?tte passe.
Skal du flytte eller importere alle dei offentlege n?klane i ein operasjon, let du vera ? angje namnet: gpg --export --armor --output AllePubKeysInRing.asc
Verifisering
Nokre gonger kan offentlege n?klar endrast av andre, sj?lv om dette ikkje b?r skje. Alle n?klar har eitunikt fingravtrykk. Vert n?kkelen endra, vert ogs? fingravtrykket endra. Ved signering av n?klar skal du g? god for at n?kkelen faktisk h?yrer til den rettmessige eigaren. Derfor skal ein alltid sjekke opp med eigaren av n?kkelen at fingeravtrykket er likt p? n?kkelen du har og eigaren sin
linux@maskin~$ gpg --fingerprint XXXXXXXX
Der XXXXXXXX er ID for n?kkelen. Skal du liste alle, dropp ID-n?kkelen. Bruk: gpg --fingerprint.
N?r dette er i orden kan du signere, og g? god for n?kkel og eigar. Dette er utanfor dokumentets omr?de og kommandoen for dette finn ein i sidene til gpg.
Oppdatering av n?klar
Innimellom er det behov for ? oppdatere n?klane. ?rsaker kan vera at dei har vorte signert, at tidstempelet er oppdatert eller andre ting. For at folk rundt omkring skal f? med seg endringane m? n?kkelserverane oppdaterast.
Hent ned nye n?klar fr? n?kkelserveren:
linux@maskin~$ gpg --recv-keys --keyserver=subkeys.pgp.net XXXXXXXX
Oppdater n?kkelserveren:
linux@maskin~$ gpg --send-keys --keyserver=subkeys.pgp.net XXXXXXXX
Oppdater din n?kkelring:
linux@maskin~$ gpg --refresh-keys --keyserver=subkeys.pgp.net XXXXXXXX
Der XXXXXXXX er ID for n?kkelen. Skal du oppdatere alle, dropp ID-n?kkelen
Om noko g?r galt
- Du misser den offentlege n?kkelen - den private n?kkelen har ein kopi av den offentlege n?kkelen.
- Du misser din private n?kkelen - du m? lage nytt n?kkelpar dersom du ikkje har ein backup.
- Du gl?ymer passordet - uten passordet kan du ikkje bruke n?kkelparet. Du b?r ha eit revoke-sertifikat.
- N?kkelen g?r ut p? tid - oppdatere n?kkelen tidsnok. Det er vanskeleg n?r den er g?tt ut p? tid. Bruk kommandoen gpg --edit og skriv inn help.
- N?kkelen din er kompromitert - deaktivier n?kkelen med eit revoke-sertifikat.