PGP-kryptering/-signering av data


Med PGP kan du signere data for ? seie at du er opphavet, og kryptere data slik at berre dei med rette n?kler kan lese dei. 

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

  1. Du misser den offentlege n?kkelen - den private n?kkelen har ein kopi av den offentlege n?kkelen. 
  2. Du misser din private n?kkelen - du m? lage nytt n?kkelpar dersom du ikkje har ein backup.
  3. Du gl?ymer passordet - uten passordet kan du ikkje bruke n?kkelparet. Du b?r ha eit revoke-sertifikat.
  4. 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.
  5. N?kkelen din er kompromitert - deaktivier n?kkelen med eit revoke-sertifikat.
Emneord: S
Publisert 3. mai 2010 09:51 - Sist endret 16. nov. 2021 11:55