Let's Encrypt: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riordino paragrafi
Riga 62:
[[File:Letsencrypt screenshot 2 ___domain choice.png|thumb|Schermata di selezione dei domini]]
[[File:Letsencrypt screenshot 4 success.png|thumb|Schermata di successo]]
Nel giugno 2015, Let's Encrypt ha generato un certificato root [[RSA]] che si trova attualmentetrovava su un [[hardware security module]] (HSM) attualmentepoi messo offline.<ref name="irsg-ca-cert">{{Cita web|url=https://letsencrypt.org/2015/06/04/isrg-ca-certs.html
|titolo=Let's Encrypt Root and Intermediate Certificates | sito=letsencrypt.org | accesso=28 febbraio 2016|lingua=en}}</ref> Il certificato root è stato utilizzato per firmare due certificati intermedi, i quali sono a loro volta ''cross-signed'' da parte di [[IdenTrust]]<ref name="irsg-ca-cert"/>. Uno dei certificati intermedi viene utilizzato per la firma dei certificati rilasciati, mentre l'altro viene mantenuto offline a scopo di backup nel caso ci fossero problemi con il primo certificato<ref name="irsg-ca-cert"/>.
 
Riga 68:
|titolo=Let's Encrypt is Trusted | sito=letsencrypt.org | accesso=28 febbraio 2016|lingua=en}}</ref>.
 
Gli sviluppatori di Let's Encrypt prevedono di generare anche un certificato root [[ECDSA]] entro l'iniziola prima parte del 2016<ref name="irsg-ca-cert"/><ref name="ec-support">{{Cita web|url=https://community.letsencrypt.org/t/elliptic-curve-cryptography-ecc-support/34/30
|titolo=Elliptic Curve Cryptography (ECC) Support | sito=community.letsencrypt.org | accesso=28 febbraio 2016|lingua=en}}</ref>.
 
=== Protocollo ===
 
Il protocollo utilizzato da Let's Encrypt per l'autenticazione e il rilascio dei certificati si chiama [[Automated Certificate Management Environment]] (ACME), è un protocollo del tipo ''[[challenge-response]]''. Il server (Let's Encrypt) presenta al client (il [[web server]]) un insieme di challenges''challenge'' che il proprietario del dominio deve risolvere per provare di essere il responsabile del dominio<ref name="how-it-works">{{Cita web|url=https://letsencrypt.org/how-it-works/|titolo=How it works | sito=letsencrypt.org | accesso=28 febbraio 2016|lingua=en}}</ref>.
 
Nella versione attualebeta di Let's Encrypt è supportata solamente la ''challenge'' di tipo [[HTTP]]: si richiede al gestore del web server di ritornare un ''[[token (sicurezza)|token]]'' a fronte di una richiesta [[Hyper Text Transfer Protocol#Riga di richiesta|GET]] eseguita sul web server<ref name="how-it-works"/>.
 
Il protocollo ACME prevede anche altri tipi di ''challenge'', in particolare Let's Encrypt prevede di supportare le ''challenge'' di tipo [[DNS]]: si richiede di inserire un record di tipo TXT contenente un ''token'' presso il server DNS del dominio per cui si richiede il certificato<ref name="dns-is-staging">{{Cita web|url=https://community.letsencrypt.org/t/dns-challenge-is-in-staging/8322|titolo=DNS challenge is in staging | sito=community.letsencrypt.org | accesso=28 febbraio 2016|lingua=en}}</ref>.
 
Tutte le richieste effettuate tramite il protocollo ACME avvengono attraverso [[JSON]] firmati (anche detti [[JSON web signature]], JWS) scambiati su connessioni [[HTTPS]]<ref name="jws">{{Cita web|url=https://www.cryptologie.net/article/274/lets-encrypt-overview/
Riga 83:
 
=== Implementazioni software ===
 
La [[certification authority]] consiste in un software chiamato Boulder e scritto in [[Go (linguaggio di programmazione)|Go]], che implementa il protocollo lato server. Boulder viene rilasciato come [[software libero]] sotto licenza [[Mozilla Public License]] (MPL)<ref name="boulder-licence">{{Cita web|url=https://github.com/letsencrypt/boulder/blob/master/LICENSE.txt|titolo= Boulder LICENCE | sito=[[GitHub]] | accesso=28 febbraio 2016|lingua=en}}</ref>, di fatto offre delle [[Application programming interface|API]] [[Representational State Transfer|RESTful]] che possono essere invocate tramite canale cifrato con [[TLS]].
 
Il software che esegue sul lato client (sul web server) si chiama <code>''letsencrypt</code>'', è scritto in [[Python]] ed è rilasciato con [[licenza Apache]]<ref name="le-licence">{{Cita web|url=https://github.com/letsencrypt/letsencrypt/blob/master/LICENSE.txt|titolo=letsencrypt LICENCE | sito=[[GitHub]] | accesso=28 febbraio 2016|lingua=en}}</ref>. Il software client si occupa della gestione dei certificati, del processo di validazione del dominio, dell'installazione dei certificati, della configurazione [[HTTPS]] sul web server e del rinnovo dei certificati. Il client permette di configurare in automatico i web server [[Apache]] ed [[nginx]]<ref name="plugins">{{Cita web|url=https://letsencrypt.readthedocs.org/en/latest/using.html#plugins|titolo=Read the Docs - Let's Encrypt plugins | sito=Read the docs | accesso=28 febbraio 2016|lingua=en}}</ref>.
 
== Soggetti coinvolti ==