GPG

Odeslání podepsaného e-mailu

  1. Aby mohl příjemce e-mailu ověřit náš podpis, musíme mít náš veřejný klíč nahraný na keyserveru (viz návod Nahrání našeho veřejného klíče na keyserver u návodů k třetímu testu).
  2. Pokud jsme ještě e-mailového klienta na serveru bis.vse.cz nepoužili, nemáme zde vytvořenou schránku, a proto si odkudkoliv pošleme e-mail na adresu xname@bis.vse.cz (pokud jsme to ještě neudělali).
  3. Připojíme se přes SSH k serveru a do konzole napíšeme mutt a potvrdíme. Tím spustíme e-mailového klienta.
    
    q:Quit  d:Del  u:Undel  s:Save  m:Mail  r:Reply  g:Group  ?:Help
    
       1 O + Mar 09 jmeno@server.com (  31) Zpráva
    
       2  sF Mar 10 To xname00@bis. (  24) Test
    
       3 NsF Mar 10 To xname00@bis. (  26) Ahoj
    
    
    
    ---Mutt: /var/mail/xname00 [Msgs:3 New:1 Old:1 6.2K]---(threads/date)---(all)---
    
    
  4. Stiskneme m pro vytvoření nového e-mailu.
    
    ...
    
    
    
    ---Mutt: /var/mail/xname [Msgs:3 New:1 Old:1 6.2K]---(threads/date)---(all)---
    
    To:
    
    
  5. Ve spodní části klienta se zobrazí To:. Napíšeme zde adresu příjemce e-mailu a potvrdíme.
    
    ...
    
    
    
    ---Mutt: /var/mail/xname [Msgs:3 New:1 Old:1 6.2K]---(threads/date)---(all)---
    
    Subject:
    
    
  6. Ve stejné části se dále zobrazí Subject:. Vyplníme předmět e-mailu a potvdíme. Nyní můžeme napsat text e-mailu (v případě testu odpověď na zadanou otázku). Zkopírovaný text můžeme do konzole vkládat stiskem pravého tlačítka myši.
    
      GNU nano 2.2.6  File: /tmp/mutt-bis-26129-8805-19025011272092206289 Modified  
    
    
    
    Ahoj,
    
    
    
    dneska je středa.
    
    
    
    ^G Get Help  ^O WriteOut  ^R Read File ^Y Prev Page ^K Cut Text  ^C Cur Pos
    
    ^X Exit      ^J Justify   ^W Where Is  ^V Next Page ^U UnCut Text^T To Spell
    
    
  7. Po dokončení psaní textu zprávy stiskneme Ctrl+X. Poté stiskneme Y pro uložení změn a Enter pro zapsání dočasného souboru s textem e-mailu.
  8. Jsme zpět v e-mailovém klientovi. Stiskneme p pro podepsání zprávy.
    
    y:Send  q:Abort  t:To  c:CC  s:Subj  a:Attach file  d:Descrip  ?:Help
    
        From: Nase Jmeno <xname@bis.vse.cz>
    
          To: nekdo@server.cz
    
          Cc:
    
         Bcc:
    
     Subject: Nechal jsi se přejmenovat?
    
    Reply-To:
    
         Fcc: ~/sent
    
         Mix: <no chain defined>
    
    Security: None
    
    
    
    -- Attachments
    
    - I     1 /tmp/mutt-bis-26129-8805-190250112720922[text/plain, 8bit, utf-8, 0.5K
    
    
    
    -- Mutt: Compose  [Approx. msg size: 0.5K   Atts: 1]----------------------------
    
    PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?                           
    
    
  9. Pro podepsání zprávy naším defaultním klíčem stiskneme s. (Pokud máme více privátních klíčů a chceme e-mail podepsat jiným než defaultním klíčem, stiskneme a a vedle Sign as: napíšeme část jména klíče a potvrdíme. Zobrazí se nalezené odpovídající klíče, ze kterých můžeme vybrat požadovaný klíč k podepsání.)
  10. V klientovi nyní vedle Security: vidíme Sign (PGP/MIME). Zpráva je podepsaná. Stiskneme y pro odeslání, zadáme heslo k privátnímu klíči, který jsme vybrali k podepsání, a potvrdíme.
    
    q:Quit  d:Del  u:Undel  s:Save  m:Mail  r:Reply  g:Group  ?:Help
    
       1 O + Mar 09 jmeno@server.com (  31) Zpráva
    
       2  sF Mar 10 To xname00@bis. (  24) Test
    
       3 NsF Mar 10 To xname00@bis. (  26) Ahoj
    
    
    
    ---Mutt: /var/mail/xname [Msgs:3 New:1 Old:1 6.2K]---(threads/date)---(all)---
    
    Mail sent.                                                                    
    
    
  11. Dole vidíme Mail sent.. Podepsaný e-mail byl odeslán.

Podepsání určeného klíče

  1. Vyzkoušíme si podepsat klíč Rudolfa Booczecha (1B4A15F7). Pokud ho nemáme, stáhneme si ho z keyserveru (gpg --keyserver bis.vse.cz --recv-key 1B4A15F7).
  2. Pro podepsání klíče zadáme gpg --sign-key "Rudolf Booczech" a potvrdíme (místo "Rudolf Booczech" můžeme zadat i ID klíče nebo adresu majitele klíče).
    
    How carefully have you verified the key you are about to sign actually belongs
    
    to the person named above?  If you don't know what to answer, enter "0".
    
    
    
       (0) I will not answer. (default)
    
       (1) I have not checked at all.
    
       (2) I have done casual checking.
    
       (3) I have done very careful checking.
    
    
    
    Your selection? (enter `?' for more information):
    
    
  3. Osobně ověříme identitu Rudolfa Booczecha. Do konzole zadáme 2 a potvrdíme.
    
    Are you sure that you want to sign this key with your
    
    key "Nase Jmeno <xname@bis.vse.cz>" (12345678)
    
    
    
    I have done casual checking.
    
    
    
    Really sign? (y/N)
    
    
  4. Podepsání klíče odsouhlasíme zadáním y a potvrzením. Poté ještě budeme muset zadat heslo k našemu přivátnímu klíči, kterým právě podepisujeme, a potvrdit ho. Tím je klíč uživatele Rudolf Booczech podepsán naším klíčem.

Změna důvěryhodnosti již podepsaného klíče

  1. Chceme-li změnit důvěryhodnost nějakého klíče, zadáme do konzole gpg --edit-key "Jmeno Klice" (místo "Jmeno Klice" můžeme zadat i jeho ID nebo adresu, tedy například gpg --edit-key 12345678 nebo gpg --edit-key xname@bis.vse.cz) a potvrdíme.
    
    gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc.
    
    This is free software: you are free to change and redistribute it.
    
    There is NO WARRANTY, to the extent permitted by law.
    
    
    
    gpg: checking the trustdb
    
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    
    gpg: depth: 0  valid:   1  signed:   7  trust: 0-, 0q, 0n, 0m, 0f, 1u
    
    gpg: depth: 1  valid:   7  signed:   0  trust: 5-, 1q, 0n, 1m, 0f, 0u
    
    gpg: next trustdb check due at 2015-10-24
    
    pub  2048R/12345678  created: 2015-03-13  expires: 2016-03-12  usage: SC
    
                         trust: undefined     validity: full
    
    sub  2048R/12345678  created: 2015-03-13  expires: 2016-03-12  usage: E
    
    [  full  ] (1). Jmeno Klice <xname@bis.vse.cz>
    
    
    
    gpg>
    
    
  2. Došlo k vypsání informací o zkoumaném klíči. Chceme změnit naši důvěru v tento klíč, proto napíšeme trust a potvrdíme.
    
    Please decide how far you trust this user to correctly verify other users' keys
    
    (by looking at passports, checking fingerprints from different sources, etc.)
    
    
    
      1 = I don't know or won't say
    
      2 = I do NOT trust
    
      3 = I trust marginally
    
      4 = I trust fully
    
      5 = I trust ultimately
    
      m = back to the main menu
    
    
    
    Your decision?
    
    
  3. Chceme-li klíči důvěřovat na úrovni marginal, napíšeme 3 a potvrdíme.
    
    pub  2048R/12345678  created: 2015-03-13  expires: 2016-03-12  usage: SC
    
                         trust: marginal      validity: full
    
    sub  2048R/12345678  created: 2015-03-13  expires: 2016-03-12  usage: E
    
    [  full  ] (1). Jmeno Klice <xname@bis.vse.cz>
    
    Please note that the shown key validity is not necessarily correct
    
    unless you restart the program.
    
    
    
    gpg>
    
    
  4. Došlo ke změně důvěry klíče na marginal. Pro ukončení módu editace zadáme quit a potvrdíme.

Odeslání klíče na keyserver

  1. Pro odeslání klíče na keyserver potřebujeme znát jeho ID (pro vypsání všech klíčů můžeme napsat gpg --list-keys).
  2. Vyzkoušíme si na keyserver odeslat podepsaný a ověřený klíč Rudolfa Booczecha z předchozích návodů. Do konzole napíšeme gpg --keyserver bis.vse.cz --send-key 1B4A15F7 a potvrdíme.
    gpg: sending key 1B4A15F7 to hkp server bis.vse.cz
  3. Došlo k odeslání klíče s ID 1B4A15F7 na keyserver bis.vse.cz.

Odeslání podepsaného a ověřeného klíče e-mailem

  1. Chceme-li nějaký klíč poslat jako přílohu e-mailu, musíme ho nejprve exportovat do souboru. Zkusíme si exportovat a odeslat klíč Rudolfa Booczecha. Do konzole zadáme gpg --export --armor "Rudolf Booczech" > klic a potvrdíme (místo "Rudolf Booczech" můžeme opět napsat ID klíče nebo e-mail klíče).
  2. Vznikl soubor s názvem klic, který obsahuje veřejný klíč Rudolfa Booczecha, který jsme v předchozích příkladech označili za pro nás důvěryhodný. Ten odešleme e-mailem.
  3. Do konzole napíšeme mutt -s "Posílám klíč Rudolfa" -a klic -- adresa@prijemce.cz < /dev/null a potvrdíme. Došlo k odeslání e-mailu s předmětem Posílám klíč Rudolfa s přiloženým souborem klic na adresu adresa@prijemce.cz bez dalšího obsahu (část < /dev/null říká, že tělo zprávy bude prázdné).
  4. Pokud bychom chtěli exportovaný klíč odeslat e-mailem jako textový obsah zprávy (ne jako přílohu), mohli bychom napsat mutt -s "Posílám klíč Rudolfa" -- adresa@prijemce.com < klic. V tomto případě se obsah souboru klic neodešle jako příloha, ale jako samotné tělo e-mailu (to můžeme, protože jsme klíč exportovali s parametrem --armor).

    Poznámka: Soubor můžeme odeslat i tak, že si spustíme interaktivní rozhraní e-mailového klienta mutt, kde postupujeme stejně jako v prvním návodu na odeslání podepsaného e-mailu, avšak před odesláním zprávy stiskneme ještě a pro připojení přílohy a napíšeme klic pro připojení souboru klic.

    Další poznámka: Existuje nástroj caff, který souží přímo k podepisování a odesílání klíčů. Tento nástroj klíč automaticky podepíše, zašifruje a pošle e-mailem na adresu majitele klíče, čímž se zkontroluje funkčnost této e-mailové adresy a zároveň schopnost příjemce zprávu rozšifrovat (tím se ověří, že majitel námi podepsaného klíče doopravdy vlastní jeho privátní část). Pro použití nástroje caff ho je nejprve nutné nakonfigurovat v souboru .caffrc v našem domovském adresáři. Poté stačí do konzole napsat caff 12345678, což za nás automaticky podepíše klíč s ID 12345678, zašifruje ho a pošle na e-mailovou adresu jeho majitele. (Pro účely testu tento nástroj použít nepotřebujeme.)

Import klíče ze souboru

  1. Pokud bychom byli v roli příjemce souboru klic s klíčem z předchozího příkladu, mohli bychom si ho importovat zadáním gpg --import klic a potvrzením.

Domů

Toto jsou soukromé studijní materiály. Všechny návody jsou poskytovány bez jakékoliv záruky. Všechny postupy provádíte na vlastní nebezpečí.