presentazione-gnupg/content/_index.md

343 lines
6.7 KiB
Markdown
Raw Permalink Normal View History

2018-10-26 21:14:26 +02:00
+++
title = "GnuPG"
outputs = ["Reveal"]
+++
2018-10-28 12:54:38 +01:00
![Gnupg](gnupg_logo.png)
2018-10-26 21:14:26 +02:00
---
# Crittografia
2018-10-28 12:54:38 +01:00
## A cosa serve:
2018-10-26 21:14:26 +02:00
* a difendere la propria privacy
* {{% fragment %}} chi non ha nulla da nascondere non ha nulla da temere {{% /fragment %}} {{% fragment %}}(Adolf Hitler, 1936) {{% /fragment %}}
* {{% fragment %}} comunicazioni private di qualsiasi natura {{% /fragment %}}
* {{% fragment %}} crittazione di documenti {{% /fragment %}}
* {{% fragment %}} verifica autenticita' di documenti {{% /fragment %}}
* {{% fragment %}} verifica integrita' di documenti {{% /fragment %}}
---
# Crittografia
2018-10-28 12:54:38 +01:00
### Privacy e anonimato
2018-10-26 21:14:26 +02:00
2018-10-28 23:05:45 +01:00
* La privacy riguarda la riservatezza del contenuto delle comunicazioni/dati
* L'anonimato riguarda la riservatezza dell'identita'
2018-10-26 21:14:26 +02:00
---
2018-10-28 12:54:38 +01:00
# SICUREZZA
2018-10-26 21:14:26 +02:00
![security](security.png)
2020-04-26 18:50:44 +02:00
2018-10-26 21:14:26 +02:00
---
{{% section %}}
## Storia
#### PGP (Pretty Good Privacy)
##### Nasce nel 1991 ad opera di Phil Zimmerman
---
## Storia
#### OPENPGP
E' uno standard divenuto ufficiale nel 2007 che definisce come devono funzionare i servizi per le comunicazioni elettroniche e il data storage riguardo:
* Confidenzialità
* Gestione delle chiavi
2020-04-26 18:50:44 +02:00
* Autenticazione
2018-10-26 21:14:26 +02:00
* Firma digitale
---
## Storia
#### GnuPG (Gnu Privacy Guard)
2020-04-26 18:50:44 +02:00
* E' una implementazione open source dello standard OpenPGP
2018-10-26 21:14:26 +02:00
* Non ha nessuna interfaccia grafica nativa
2020-04-26 18:50:44 +02:00
2018-10-26 21:14:26 +02:00
{{% /section %}}
---
#### crittografia simmetrica
2018-10-28 12:54:38 +01:00
###### *la stessa chiave si usa per crittare e decrittare*
2020-04-26 18:50:44 +02:00
2018-10-28 12:54:38 +01:00
problema: come scambiarsi la chiave in modo sicuro ?
2018-10-26 21:14:26 +02:00
![crittografia simmetrica](Symmetric-Encryption.png)
---
#### crittografia asimmetrica
2018-10-28 12:54:38 +01:00
###### *ci sono due chiavi, una per crittare (pubblica) e una per decrittare (privata)*
2018-10-26 21:14:26 +02:00
2018-10-28 12:54:38 +01:00
non serve scambiarsi la chiave in modo sicuro
2018-10-26 21:14:26 +02:00
![crittografia asimmetrica](Asymmetric-Encryption.png)
---
2018-10-28 12:54:38 +01:00
### La firma elettronica
2018-10-26 21:14:26 +02:00
* autenticazione
* integrità
2018-10-28 23:05:45 +01:00
* E' possibile firmare anche senza cifrare e/o viceversa
* Si possono firmare messaggi e/o files/documenti
2018-10-26 21:14:26 +02:00
---
#### chiave pubblica e chiave privata
2018-10-28 12:54:38 +01:00
###### *La chiave pubblica serve agli altri che la usano per:*
2018-10-26 21:14:26 +02:00
1. crittare i messaggi che poi invieranno a te
2. verificare la firma dei msg che ricevono da te
2018-10-28 12:54:38 +01:00
#### ____________________
2018-10-26 21:14:26 +02:00
2018-10-28 12:54:38 +01:00
###### *La chiave privata e' usata da te per:*
2018-10-26 21:14:26 +02:00
1. firmare i messaggi che invierai ad altre persone
2. decrittare i messaggi che ricevi da altre persone
3. firmare le chiavi di altre persone
---
{{% section %}}
2018-10-28 12:54:38 +01:00
## Le chiavi e la loro gestione
2018-10-26 21:14:26 +02:00
---
2020-04-26 18:50:44 +02:00
### User ID
2018-10-26 21:14:26 +02:00
2018-10-28 12:54:38 +01:00
**_email, non necessariamente nome e cognome_**
2018-10-26 21:14:26 +02:00
---
##### la password di protezione della chiave
![password](password_strength.png)
---
2020-04-26 18:50:44 +02:00
#####
2018-10-26 21:14:26 +02:00
2020-04-26 18:50:44 +02:00
## la scadenza
2018-10-26 21:14:26 +02:00
* a cosa serve
* estensione della scadenza
---
2018-10-28 23:05:45 +01:00
## Le sottochiavi (subkeys)
2018-10-26 21:14:26 +02:00
---
2018-10-28 23:05:45 +01:00
## Revoca delle chiavi
2018-10-26 21:14:26 +02:00
2018-10-28 23:05:45 +01:00
#### Il certificato di revoca
2018-10-26 21:14:26 +02:00
2020-04-26 18:50:44 +02:00
```
Se ci si dimentica la passphrase o se la propria chiave privata viene
compromessa o persa, questo certificato di revoca può essere pubblicato
per segnalare ad altri che la chiave pubblica non deve più essere usata.
2018-10-28 23:05:45 +01:00
2020-04-26 18:50:44 +02:00
Una chiave pubblica revocata non può più essere usata per cifrare futuri
messaggi.
2018-10-28 23:05:45 +01:00
2020-04-26 18:50:44 +02:00
La revoca non influisce sulla propria capacità di decifrare messaggi spediti
in passato, se si possiede ancora l'accesso alla chiave privata.
2018-10-28 23:05:45 +01:00
2020-04-26 18:50:44 +02:00
Il certificato deve essere stampato e/o salvato offline.
Chiunque abbia accesso al certificato di revoca può rendere la chiave
2018-10-28 23:05:45 +01:00
pubblica inutilizzabile.
```
---
## Revoca delle chiavi
#### I revocatori designati
2020-04-26 18:50:44 +02:00
> Potete designare il possessore di un'altra chiave per revocare la vostra
2018-10-28 23:05:45 +01:00
> Deve godere della vostra massima fiducia
2018-10-26 21:14:26 +02:00
---
## i keyservers
2018-10-28 23:05:45 +01:00
Un keyserver e' un database contenente chiavi pubbliche
* sono disponibili anche via web: [https://pgp.mit.edu](https://pgp.mit.edu)
* servono a:
1. recuperare le chiavi di altri
2. caricare le proprie chiavi
* **una volta caricate le chiavi non si possono eliminare, solo revocare**
* e' cmq possibile modificare una chiave caricata, ad es. per aggiungere firme,
o cambiare la scadenza.
2020-04-26 18:50:44 +02:00
---
## i keyservers
c'e' un nuovo tipo di keyserver per risolve alcuni problemi dei vecchi keyservers,
ma non e' retrocompatibile:
> https://keys.openpgp.org/
2018-10-26 21:14:26 +02:00
---
## web of trust
2020-04-26 18:50:44 +02:00
OpenPGP anziché basarsi su un'autorità centralizzata o su una struttura gerarchica
prevede che ogni contatto imposti la fiducia verso gli altri e, a seconda della
fiducia che gli viene riconosciuta, possa garantire per quella di terzi.
È un metodo molto pratico per gruppi che non hanno un ordine gerarchico,
come possono essere appunto i contatti email e per cui sarebbe eccessivamente
oneroso o di difficile gestione il ricorso a una Certificate Authority.
2018-10-26 21:14:26 +02:00
---
2020-04-26 18:50:44 +02:00
## firma delle chiavi
2018-10-26 21:14:26 +02:00
2018-10-28 23:05:45 +01:00
#### pgp key signing party
2018-10-26 21:14:26 +02:00
2018-10-28 23:05:45 +01:00
Si imposta il livello di confidenza riguardo l'autenticita' della chiave pubblica e la sua corrispondenza con un dato contatto.
2018-10-26 21:14:26 +02:00
2020-04-26 18:50:44 +02:00
Firmando una chiave pubblica si garantisce della sua autenticita'.
2018-10-28 23:05:45 +01:00
Di default la firma e' solo locale, ma se si esporta quella chiave pubblica
2020-04-26 18:50:44 +02:00
su un keyserver, la propria firma diventera' pubblica, e in tal caso la propria firma
avra' il ruolo di garante dell'autenticita' di quella chiave.
2018-10-26 21:14:26 +02:00
{{% /section %}}
---
2018-10-28 23:05:45 +01:00
Esempio di msg cifrato:
```
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1 (GNU/Linux)
owE1jMsNwjAUBH3gZMk9PClnUoBPUANpwElW2OBPZD8H0gd1UCP2gduuNDNfI
T4zCbQmtlbzGFM9T0jSD7QVvEzaPcUlBSSWHQclbnR9YWJNp5BFSLdR9CijF3
ybry/1Rsqn4la3a0JiIhLvnYGCu9HFtiC8oIxnlkeuIYe+EH=HgDq
-----END PGP MESSAGE-----
```
Esempio di msg firmato:
```
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
2020-04-26 18:50:44 +02:00
Ciao,
2018-10-28 23:05:45 +01:00
2020-04-26 18:50:44 +02:00
messaggio di prova
2018-10-28 23:05:45 +01:00
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.1 (GNU/Linux)
iQGGBAEBCgBwBQJQRL0KMBSAAAAAACAAB3ByZWZlcnJlZC1lbWFpbC1lbmNvZGlu
Z0BwZ3AuY29tcGdwbWltZTgUgAAAAAAVABpwa2EtYWRkcmVzc0BnbnVwZy5vcmdt
CKV1lrxDLqrQeDE5Zbep3J1XL5ZJ4e98+CrRyKJkVXmKwH5+A/ySMk3CTNXKtoWT
3H34WvVdMTJb
=qU7I
-----END PGP SIGNATURE-----
```
---
2018-10-26 21:14:26 +02:00
{{% section %}}
2020-04-26 18:50:44 +02:00
# Clients
2018-10-26 21:14:26 +02:00
[https://www.gnupg.org/software/frontends.html](https://www.gnupg.org/software/frontends.html)
---
# Windows
[gpg4win.org](https://www.gpg4win.org)
[emailselfdefense (in italiano)](https://emailselfdefense.fsf.org/it/windows.html)
---
# Linux
[gnupg.org](https://www.gnupg.org)
[https://emailselfdefense.fsf.org/it/index.html](https://emailselfdefense.fsf.org/it/index.html)
---
# Mac
[gpgtools.org](https://www.gpgtools.org)
[emailselfdefense (in italiano)](https://emailselfdefense.fsf.org/it/mac.html)
---
# Enigmail
#### [enigmail.net](https://www.enigmail.net)
##### plugin per thunderbird
guide molto ben fatte, ma in inglese:
* [https://ssd.eff.org/en/module/how-use-pgp-linux](https://ssd.eff.org/en/module/how-use-pgp-linux)
* [https://ssd.eff.org/en/module/how-use-pgp-mac-os-x](https://ssd.eff.org/en/module/how-use-pgp-mac-os-x)
* [https://ssd.eff.org/en/module/how-use-pgp-windows](https://ssd.eff.org/en/module/how-use-pgp-windows)
{{% /section %}}
---
# FINE