OpenPGP include la gestione delle chiavi
Dall'introduzione a RFC 4880, OpenPGP (l'evidenziazione è stata aggiunta a me):
OpenPGP software uses a combination of strong public-key and
symmetric cryptography to provide security services for electronic
communications and data storage. These services include
confidentiality, key management, authentication, and digital
signatures.
Con altre parole, OpenPGP non riguarda solo l'invio di messaggi crittografati, ma offre una funzionalità molto più ampia rispetto alla gestione delle chiavi. Gestione delle chiavi significa la possibilità di cercare la tua chiave sui server delle chiavi (ma non sono autenticate lì!), Ma anche gli utenti di OpenPGP che emettono certificazioni tra le loro chiavi OpenPGP per assicurare l'autenticità (ad esempio, leggere le parti di keysigning ). Tutto ciò richiede chiavi con nomi in allegato.
"Anonimo" Chiavi OpenPGP
Why am I asked for my name or email?
Non sei obbligato a farlo (sebbene alcune implementazioni di OpenPGP lo facciano): le chiavi OpenPGP possono esistere senza ID utente e tutte le date possono essere impostate piuttosto arbitrariamente (anche se è necessario fornire un timestamp di creazione della chiave, ma potresti solo fornire un timestamp di 0 uguale a 1970-01-01).
Considerate che le chiavi non avrebbero alcuna informazione utente allegata: dovreste scambiare l'intera chiave composta da migliaia di byte casuali manualmente e in qualche modo collegarla a un'identità se volete usarla.
Another suspicious thing was after what time the key should expire. Is the information about expiration date contained within the key (I don't think it is) ? So is the key stored on a server somewhere or what? How does it work?
Per la data di scadenza non è necessario, puoi averli validi per sempre. In realtà, la data di scadenza non aggiunge nulla alla sicurezza , potrebbe essere comunque ragionevole.
Devi distinguere tra la coppia di chiavi pubblica / privata effettiva (ad esempio, i numeri primi utilizzati per RSA) e una chiave OpenPGP. Una chiave OpenPGP è composta dai numeri per la crittografia funziona, ma anche informazioni aggiuntive come ID utente, certificazioni e impostazioni come la data di scadenza. Puoi facilmente dare un'occhiata a tutte le informazioni in una chiave OpenPGP eseguendo
gpg --export [key-id] | gpg --list-packets
(alcune letture in RFC 4880 collegate sopra potrebbero essere necessarie per ottenere una ragionevole comprensione dell'output).
OpenPGP è distribuito
The reason I ask is that this whole PGP thing seems more centralized than I thought.
Non c'è un'istanza centrale nell'ambiente OpenPGP. Le chiavi vengono scambiate attraverso una rete decentralizzata di server di chiavi, la fiducia viene convalidata attraverso la rete di fiducia di OpenPGP invece di un sistema di PKI gerarchico come noto da X.509 (usato per S / MIME, TLS, ...).
Ci sono alcune autorità piuttosto centrali nella comunità OpenPGP: autorità di certificazione come CAcert, la tedesca Heise Verlag e Governikus che rilasciano certificazioni per i titolari della nuova carta d'identità digitale tedesca esistono, ma non è necessario usare (o fidarsi) loro. C'è un coordinamento piuttosto centrale nella rete dei server delle chiavi (il pool SKS ), ma puoi anche scegliere un server arbitrario, non utilizzare i server delle chiavi affatto o addirittura ospitare il tuo!
OpenPGP è uno standard aperto
Why can't the PGP software just have a "Generate a new key" button which generates both the public and private key for me to copy and use (+ of course an option to encrypt/decrypt text)?
OpenPGP è uno standard aperto. Se qualcuno desidera un software che faccia esattamente questo (e come ho già detto, lo standard OpenPGP consente di avere chiavi piuttosto "semplici" senza molte meta informazioni), siete invitati a farlo. La ragione per cui tale software non esiste (o non è ampiamente noto) è che le persone non vedono una buona ragione per scrivere o avere un tale software.
Se vuoi semplicemente utilizzare RSA e AES senza la gestione delle chiavi e le funzionalità avanzate di OpenPGP, probabilmente stai meglio utilizzando solo standard più primitivi.