3.2. Firme digitali per pacchetti RHN

Tutti i pacchetti distribuiti attraverso RHN dovrebbero avere una Firma Digitale. La suddetta firma viene creata attraverso una chiave unica privata, e può essere verificata con la chiave pubblica corrispondente. Dopo aver creato un pacchetto, il SRPM (Source RPM) e l'RPM possono essere firmati in modo digitale tramite una chiave GnuPG. Prima di installare il pacchetto, è necessario utilizzare una chiave pubblica in modo da verificare che il pacchetto sia stato firmato da una entità fidata, e che lo stesso non sia stato modificato dopo l'ultima firma.

3.2.1. Generazione di una coppia di chiavi GnuPG

Una coppia di chiavi GnuPG consiste in due chiavi, una pubblica ed una privata. Per generare una coppia di chiavi digitate il seguente comando come utente root sul prompt della shell:
gpg --gen-key
Se eseguite il comando non come utente root, visualizzerete il messaggio di seguito riportato:
gpg: Warning: using insecure memory!
Questo messaggio viene visualizzato poichè gli utenti non root non possono bloccare le pagine della memoria. Poichè non è auspicabile che altre persone siano in possesso della vostra chiave GnuPG privata o parola chiave, sarà necessario generare come utente root una coppia di chiavi. L'utente root è in grado di bloccare le pagine della memoria, ciò significa che le informazioni non verranno mai scritte sul disco.
Dopo aver eseguito il comando per generare una coppia di chiavi, sarete in grado di visualizzare una schermata introduttiva contenente alcune opzioni della chiave, simili a quanto segue:
	gpg (GnuPG) 1.2.6; Copyright (C) 2004 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. Please select what kind of key you want: (1) DSA
	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
	Your selection?
Accettate l'opzione di default: (1) DSA and ElGamal. Questa opzione vi permetterà di creare una firma digitale e di eseguire una codifica/decodifica con due tipi di tecnologie. Digitate 1 e poi premete Invio.
Successivamente scegliete la misura della chiave, ciò indicherà la lunghezza della chiave. Più la chiave è lunga e più sarà resistente agli attachi. A questo scopo è consigliato la creazione di una chiave a 1024 bit.
L'opzione successiva vi richiederà di stabilire la validità della vostra chiave. Se selezionate una data di scadenza, ricordate che tutti gli utenti che utilizzano la vostra chiave pubblica, dovranno essere informati della suddetta data, e quindi forniti con una nuova chiave pubblica. È consigliato non selezionare alcuna data di scadenza. Se non impostate alcuna data, vi sarà chiesto di confermare la vostra scelta:
Key does not expire at all Is this correct (y/n)?
Premete y per confermare.
Il compito successivo sarà quello di fornire un User-ID contenente il vostro nome, il vostro indirizzo email, ed un commento aggiuntivo, ognuno di essi viene richiesto individualmente. Una volta terminato, vi verrà mostrato un sommario contenente le informazioni da voi inserite.
Una volta confermata la vostra selezione inserite una parola chiave.

Nota

In modo simile alle password una parola chiave efficace è fondamentale per la sicurezza in GnuPG. Utilizzate un giusto mix di lettere maiuscole e minuscole, numeri e/o punteggiatura.
Dopo aver inserito e verificato la vostra parola chiave verranno generate le vostre chiavi. A questo punto sarà visualizzato un messaggio simile al seguente:
We need to generate a lot of random bytes. It is a good idea to perform some
other action (type on the keyboard, move the mouse, utilize the disks) 
during the prime generation; this gives the random number generator a 
better chance to gain enough entropy. 

+++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
++++++++++++++++++++++++++++++++++++++..........................++++
Una volta terminato il tutto, le vostre nuove chiavi verranno posizionate all'interno della directory .gnupg nella home directory di root. Verrà utilizzata la suddetta posizione, poichè il comando in questione è stato eseguito come utente root. Per elencare le vostre chiavi root utilizzate il comando:
gpg --list-keys
L'output sarà simile al seguente:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
Per ripristinare la vostra chiave pubblica, utilizzate il seguente comando:
gpg --export -a 'Your Name' > public_key.txt
La vostra chiave pubblica è scritta sul file public_key.txt.
Questa chiave pubblica è molto importante, infatti essa risulta essere la chiave da impiegare su tutti i sistemi client che ricevono un software personalizzato attraverso up2date. Le tecniche utilizzate per impiegare questa chiave attraverso un'organizzazione, sono disponibili nella Red Hat Network Client Configuration Guide.