\documentclass[a4paper,12pt,catalan]{article}

\usepackage{graphicx} 
\usepackage[usenames,dvipsnames]{color}
%\usepackage[dvips,colorlinks=true,citecolor=blue,linkcolor=blue]{hyperref}
%\usepackage[dvips,colorlinks=true]{hyperref}
\usepackage[dvips]{hyperref}
%dvipdfm,
%\usepackage[dvipdfm]{hyperref}
\usepackage[catalan]{babel}
\usepackage{amssymb}
\usepackage{url}
\usepackage{fancyhdr}
%\usepackage{chapterbib}
%\usepackage{apalike}
\usepackage{epsfig,subfigure}
%\usepackage{floatflt}
%\usepackage{calc}
\usepackage{fancybox}

%\usepackage{supertabular}
%\date{22-03-06}

\usepackage{ucs}
\usepackage[utf8x]{inputenc}


%\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{charter}
%\usepackage[T1]{fontenc}
\setlength{\paperwidth}{210mm}
\setlength{\paperheight}{297mm}
%
% the offsets are to simplify calculations. Like this (-1in and -1.75 where
% the 0.75 is the difference between lettersize and A4), the
% reference point is at the upper left point of the paper.
\setlength{\hoffset}{-1in}
\setlength{\voffset}{-1in}
%
% textheight and textwidth are the sizes of the body of text (without
% headers or footers)
\setlength{\textheight}{230mm}
\setlength{\textwidth}{160mm}
%
\setlength\oddsidemargin  {\paperwidth}
\addtolength\oddsidemargin{-160mm}
\divide\oddsidemargin by 2
\addtolength\oddsidemargin{-1in}
\addtolength\oddsidemargin{-\hoffset}
\setlength\evensidemargin {\oddsidemargin}
%
% topmargin is extra space at the top of the page, before the header.
% It shifts the whole thing vertically
\setlength{\topmargin}{2.3cm}   %def=27pt=0.95cm
%
% headheight is the height of the header and headsep the separation
% between the header and the body. Hence the space from the top
% of the page to the body is (topmargin+headheight+headsep) (in the
% case that voffset=-1in, if not the above + 1in).
%% \setlength{\headheight}{12pt}        % def=12pt=0.42cm
\setlength{\headsep}{25pt}              % def=25pt=0.702cm
%
% footskip is vertical distance separating the last line of text
% from the bottom of the footer (page number).
\setlength{\footskip}{1.2cm} %def=30pt=1.054cm

%%
%Versió 0.1 Original d'en Frederic. Són les pràctiques de Linux i pipelines
%Versió 0.2 Fusió de les dues pràctiques i afegit encapçalament
\newenvironment{mitemize}{%
\begin{list}{$\bullet$}{\setlength{\rightmargin}{0em}
 \setlength{\leftmargin}{1em}
 \setlength{\topsep}{1ex}
 \setlength{\parsep}{0ex}
 \setlength{\parskip}{0ex}
 \setlength{\itemsep}{0ex}
 \setlength{\listparindent}{0em}
 \setlength{\labelsep}{0.5em}
 \setlength{\labelwidth}{1em}
}}
{\end{list}}


\title{Pràctica 3: GnuPG\footnote{Aquest document està basat ampliament en el document font original d'en René Mérou}}

\begin{document}

\maketitle

\section{Enunciat de la pràctica}

La pràctica consisteix en enviar un missatge criptografiat (xifrat) i signat. Per poder realitzar-la, cal primer generar-se un parell de claus (privada i pública), configurar-se el gestor de correu. Per últim, cal enviar un correu al professor, però ha d'estar signat i xifrat. Per fer-ho us haureu de comprovar les vostres rtespectives claus públiques i identitats.

\section{Generar la clau}

Al servidor hi ha instal·lat el programa GnuPG. Des d'un terminal seguiu els següents passos:

\begin{verbatim}
leo@ranganathan:~$ gpg --gen-key
gpg (GnuPG) 1.4.3; 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.
\end{verbatim}
\noindent 
Aleshores ens farà una sèrie de preguntes que haurem de respondre:
\begin{mitemize}
\item Tipus de clau?. Trieu l'opció predeterminada: 1
\begin{verbatim}
Seleccioneu quin tipus de clau voleu:
   (1) DSA and Elgamal (default)
   (2) DSA (només signar)
   (5) RSA (només signar)
La vostra selecció?            
\end{verbatim}
\item Mida de la clau? Accepteu el valor per defecte 2048. 
\begin{verbatim}
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)          
La grandària sol·licitada és 2048 bits
\end{verbatim}
\item Temps de validesa? Introduiu 1m, que vol dir un mes i ratifiqueu-lo.
\begin{verbatim}
Especifiqueu el temps de validesa de la clau.
         0 = la clau no caduca
      <n>  = la clau caduca als n dies
      <n>w = la clau caduca a les n setmanes
      <n>m = la clau caduca als n mesos
      <n>y = la clau caduca als n anys
Indiqueu la validesa de la clau (0) 1m
Key expires at dl 19 jun 2006 12:26:54 CEST
Is this correct? (y/N) y
\end{verbatim}
\item Nom i Cognoms? Posa les teves dades:
\begin{verbatim}
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>"

Nom i cognoms: Shiyali Ramamrita Ranganathan
\end{verbatim}
\item Adreça electrònica? Poseu la de ranganathan o qualsevol altre vostre.
\begin{verbatim}
Adreça electrònica: shiyalirr@ranganathan.ub.es
\end{verbatim}
\item Comentari? Poseu algun comentari que us identifiqui aquella adreça o el que creieu convenient.
\begin{verbatim}
Comentari: Adreça Documentació
\end{verbatim}
\item A partir d'allà només cal seguir la confirmació de tots els passos. Per sortir, premeu la tecla 'o'. 
\begin{verbatim}
Esteu usant el joc de caràcters `utf-8'.
Heu triat l'identificador d'usuari:
"Shiyali Ramamrita Ranganathan (Adreça Documentació) <shiyalirr@ranganathan.ub.es>"

Canvia (N)om, (C)omentari, (E)mail o (O) d'acord / (X) ixo
\end{verbatim}
\item Cal una contrasenya per a protegir la clau secreta. És important que pogueu recordar aquesta contrassenya, però no és recomanable escriure-la enlloc.
\begin{verbatim}
Introduïu la contrasenya:

Cal generar molts bits aleatòriament. És bona idea fer alguna altra cosa
(teclejar, moure el ratolí, usar els discos) durant la generació de
nombres primers; açò dóna oportunitat al generador de nombres aleatoris
d'aconseguir prou entropia.
+++++++++++++++++++++++++.+++++.++++++++++..++++++++++++++++++++++++++++
++.+++++.+++++..++++++++++....+++++..++++++++++.+++++.+++++.+++++++++++
+++++++++>+++++>...+++++....
\end{verbatim}
\item Finalment, després de generar quelcom d'entropia, obtindrem la nostra clau
\begin{verbatim}
gpg: key 70EDBB59 marked as ultimately trusted
s'han creat i signat les claus pública i secreta.

gpg: s'està comprovant la base de dades de confiança
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   3  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: la pròxima comprovació de la base de dades de confiança serà el 2006-06-09
pub   1024D/70EDBB59 2006-05-20 [expires: 2006-06-19]
      Key fingerprint = E555 61C8 0914 490A C525  6AF8 358E 895D 70ED BB59
uid  Shiyali Ramamrita Ranganathan (Adreça Documentació) <shiyalirr@ranganathan.ub.es>
sub   2048g/2E182CC0 2006-05-20 [expires: 2006-06-19]
\end{verbatim}
\end{mitemize}

\section{Generar el certificat de revocació}

Un certificat de revocació serveix per si un dia s'extravia la clau, no la fem servir, etc. Per crear-lo fem:
\begin{verbatim}
gpg --output cert_revoc_arch.asc --gen-revoke -armor 70EDBB59

sec  1024D/70EDBB59 2006-05-20 Shiyali Ramamrita Ranganathan (Adreça Documentació) <shiyalirr@ranganathan.ub.es>

Create a revocation certificate for this key? (y/N)        
\end{verbatim}
\noindent
Ara, cal respondre a les preguntes:

\begin{verbatim}
Seleccioneu la raó de la revocació:
  0 = No s'ha especificat cap raó
  1 = La clau ha estat compromesa
  2 = La clau ha estat substituïda
  3 = La clau ja no s'usa
  Q = Cancel·la
(Segurament voleu seleccionar 1 ací)
La vostra decisió?                             
\end{verbatim}

\noindent
podem posar 3, ja que no la fem servir i en el text \textit{certificat per si perdem la clau o el password}.
\begin{verbatim}
La vostra decisió? 3
Introduïu una descripció opcional; finalitzeu amb una línia en blanc:
> certificat per si perdem la clau o el password
>
Raó de la revocació: La clau ja no s'usa
certificat per si perdem la clau o el password
Is this okay? (y/N) y

You need a passphrase to unlock the secret key for
user: "Shiyali Ramamrita Ranganathan (Adreça Documentació) <shiyalirr@ranganathan.ub.es>"
1024-bit DSA key, ID 70EDBB59, created 2006-05-20
\end{verbatim}
\noindent
I ja veiem el resultat final.
\begin{verbatim}
S'ha creat un certificat de revocació.

Si us plau, mogueu-lo a un medi que pugueu amagar; si Mallory aconsegueix
accés a aquest certificat pot utilitzar-lo per a fer la vostra clau
inservible. És intel·ligent imprimir aquest certificat i amagar-lo, per
si el vostre medi es torna illegible. Però aneu amb compte: el sistema
d'impressió de la vostra màquina podria emmagatzemar les dades i fer-les
disponibles a altres!
\end{verbatim}

Si cal més endavant activar definitivament la revocació, només caldrà importar aquest (\texttt{cert-revoc-arch.asc}) i després enviar-lo al servidor.
\begin{verbatim}
$gpg --import cert-revoc-arch.asc
$gpg --send-keys 70EDBB59
\end{verbatim}

\section{Enviar i rebre claus al servidor de claus}
Si no tenim cal problema de configuració, només cal enviar la clau al servidor per defecte (en el nostre cas hkp://subkeys.pgp.net) fent servir la comanda:

\begin{verbatim}
gpg --send-keys 70EDBB59
\end{verbatim}

\noindent
on 70EDBB59 és el ID de la nostra clau. Per acabar, si volem mostrar l'empremta de la clau (\texttt{fingerprint}), només cal:
\begin{verbatim}
gpg --fingerprint 70EDBB59
\end{verbatim}

\section{I ara què?}

Un cop tenim la nostra la nostra clau generada podem configurar el gestor de correu per signar i/o encriptar els nostres missatges. S'ha de tenir en compte que:
\begin{mitemize}
\item Signar un correu és posar unes marques de forma que, qualsevol persona que tingui la part pública amb la que s'ha  signat aquell missatge, pugui verificar-lo.
\item Xifrar un missatge és un procés on l'emisor codifica el missatge mitjançant la clau pública del destinatari i només es pot desxifrar amb la clau privada del destinatari.
\item Disposar de la clau pública d'una persona no vol dir res en especial. Per assegurar-nos que és aquella la persona que ha emès el missatge, hem de verificar amb un document d'indentitat que aquella persona és qui diu qui és i que aquella és la seva clau pública.
\item Un cop verificat l'autenticació de la persona, aleshores podem signar la clau d'aquella persona.

\end{mitemize}
\section{Fonts d'informació}
\noindent
Font original del document \\
\url{http://bulma.net/body.phtml?nIdNoticia=1684}

\end{document}

