Ciao Stefano, Stefano Zacchiroli <zack@upsilon.cc> writes:
On Sun, Aug 23, 2020 at 11:53:52AM +0200, Giovanni Biscuolo wrote:
Sull'uso di S/MIME piuttosto che OpenPGP ho già detto: questioni prettamente di FILOSOFIA della burocrazia, che però hanno anche importanti ripercussioni fattuali: infatti la PKI dei certificati X.509 è architetturalmente BACATA [1] e troppo facilmente compromessibile. [2]
Ho lasciato la citazione sopra per due motivi: 1. chiarisco che non era mia intenzione sostenere che OpenPGP è esente da problemi tecnici 2. ritengo (concordando con altri più bravi di me) che i problemi architetturali delle PKI basate su CA siano insanabili [...]
Sono sempre stato un grande sostenitore del Web of Trust (WoT), in particolare come alternativa a soluzioni di PKI più centralizzate. Ma ricordi qui che, ad oggi, l'infrastruttura cardine del Web of Trust per OpenPGP, ovvero i key server SKS,
Non sono d'accordo nel considerare i server di ricerca e distribuzione delle chiavi infrastruttura cardine, però è certo un servizio molto importante.
risulta compromessa/inutilizzabile a causa degli attacchi di certificate flooding (c.f. https://lwn.net/Articles/792366/ ; ci sono probabilmente riferimenti più recenti sul tema, ma non li avevo sotto mano)
Da quello che ho letto in giro mi sento di dire che la miglior analisi (e sunto) di quello che è successo con gli attacchi di "poisoning" dei certificati OpenPGP è quella di Robert J. Hansen https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f Non voglio sminuire la portata di questo problema, tuttavia voglio sottolineare che si tratta di problemi tecnici (non architetturali) *seri* dovuti sostanzialmente al fatto che il software SKS è abandonware da tempo [1]. La soluzione che la community ha *rapidissimamente* adottato per uscire dal "SKS bug" è stata quella di adottare https://keys.openpgp.org/ che, in circa tre mesi dal suo lancio, è diventato il keyserver (non distribuito e non federato) di riferimento per molti progetti, tra cui Debian. Questo keyserver è tutt'altro che perfetto ma almeno risolve i problemi che c'erano con la rete SKS. Forse, dico *forse*, avere avuto l'attenzione delle istituzioni e qualche risorsa in più (non solo in termini finanziari) avrebbe consentito di creare un'infrastruttura di distribuzione delle chiavi OpenPGP ancora migliore.
contro i quali non esiste una vera soluzione a cause di scelte fatte in OpenPGP (scelte che avevano un senso decadi fa, ma che purtroppo si sono rivelata liabilities nella internet di oggi).
Questo vale praticamente per quasi tutti i protocolli della internet di oggi, per questo va rifatta :-D [...]
Ci sono proposte di alternative ai key server per WoT, ma ad oggi mi risulta che abbiano un'adozione molto ma molto limitata.
https://keys.openpgp.org/ è una alternativa a SKS molto utilizzata
Prima di consigliare quindi oggi un'adozione massiva di WoT veramente distribuito a livello di uno Stato ci penserei quindi molte molte volte.
Ci ho pensato molte molte volte e mi permetto di insistere :-) : i sistemi basati su WoT sono architetturalmente superiori a quelli basati sulle CA, al netto dei problemi tecnici (che hanno anche i software usati nell'ecosistema X.509)… non c'è proprio partita :-D
Una soluzione ibrida a-la Debian sarebbe certamente fattibile. Ma a quel punto non si capisce bene quale sarebbe il vantaggio rispetto ad una PKI centralizzata, con chiavi/certificati distribuiti direttamente dallo Stato.
Ma intendi creazione delle coppie o distribuzione? Se intendi creazione, non è certo quello che succede con il sistema semi-centralizzato di distribuzione delle chiavi pubbliche dei propri membri che effettua Debian, ma probabilmente non ho capito io quello che intendi dire. Semplificando un pochino, il problema architetturale con le CA è esattamente quello che la creazione della coppia chiave/certificato viene effettuata dalla CA e la verifica lato client si fonda sulla fiducia che **la catena** di firma del certificato ricevuto non sia stata compromessa. Dulcis in fundo, come tu sai l'architettura basata su CA non prevede nemmeno un sistema di *distribuzione* dei certificati, tanto che tali certificati sono distribuiti sotto forma di pacchetti da installare localmente (e aggiornare quando vengono aggiornati); Debian, per esempio, li distribuisce nel pacchetto ca-certificates [2] che nella descrizione dice: --8<---------------cut here---------------start------------->8--- Contiene le autorità di certificazione fornite con il browser di Mozilla che permettono alle applicazioni basate su SSL di verificare l'autenticità delle connessioni SSL. Notare che Debian non può né confermare né negare che sia stata in alcun modo verificata l'affidabilità o la conformità con la RFC 3647 delle autorità di certificazione, i cui certificati sono inclusi in questo pacchetto. La responsabilità di verificarle ricade completamente sull'amministratore del sistema locale. --8<---------------cut here---------------end--------------->8--- Le stesse CA sono utilizzate anche da S/MIME per le email. Questo sostanzialmente vale per ogni sistema operativo. Non credo che la situazione sarebbe sostanzialmente migliore se ca-certificates fosse distribuito dallo Stato. [...] Ciao, Giovanni. [1] https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f#why-hasnt-... [2] https://packages.debian.org/buster/ca-certificates