OpenSSL: differenze tra le versioni
gesto |
m Prosa Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata |
||
(11 versioni intermedie di 8 utenti non mostrate) | |||
Riga 17: | Riga 17: | ||
|Lingua = |
|Lingua = |
||
}} |
}} |
||
'''OpenSSL''' è un'[[implementazione]] ''[[open source]]'' dei protocolli [[Transport Layer Security|SSL]] e [[Transport Layer Security|TLS]]. |
|||
Basato, in origine, sulle librerie ''SSLeay'' di Eric Young e Tim Hudson, è disponibile per la maggior parte dei [[Sistema Operativo|sistemi operativi]] ''[[unix-like]]'', tra cui [[GNU/Linux]] e [[macOS]], ma anche per [[Microsoft Windows]]. |
|||
== Caratteristiche == |
== Caratteristiche == |
||
Riga 27: | Riga 27: | ||
Supporta diversi algoritmi crittografici: |
Supporta diversi algoritmi crittografici: |
||
* [[cifrario|Cifrari]]: [[Blowfish]], [[Camellia (cifrario)|Camellia]], [[CAST-128|CAST]], [[Data Encryption Standard|DES]], [[RC2]], [[RC4]], [[RC5]], [[International Data Encryption Algorithm|IDEA]], [[Advanced Encryption Standard|AES]] |
|||
* [[Funzione crittografica di hash|Funzioni hash crittografiche]]: [[MD5]], [[MD2]], [[Secure Hash Algorithm|SHA]], [[MDC-2]] |
|||
* [[Crittografia a chiave pubblica]]: [[RSA (crittografia)|RSA]], [[Digital Signature Algorithm|DSA]], [[Scambio di chiavi Diffie-Hellman]] |
|||
* [[Message authentication code|Funzioni di Autenticazione dei messaggi]]: [[HMAC]], [[MD2]], [[MD4]], [[MD5]], [[MDC2]], [[RIPEMD]], [[Secure Hash Algorithm|SHA]] |
|||
* [[Certificato digitale|Certificati]]: [[X.509]] |
|||
=== Conformità allo standard FIPS === |
=== Conformità allo standard FIPS === |
||
Riga 51: | Riga 51: | ||
Questo bug è stato rapidamente corretto ma tutte le chiavi generate su sistemi Debian e derivati nel frattempo andrebbero rigenerate. |
Questo bug è stato rapidamente corretto ma tutte le chiavi generate su sistemi Debian e derivati nel frattempo andrebbero rigenerate. |
||
=== Il bug |
=== Il bug Heartbleed === |
||
{{Vedi anche|Heartbleed}} |
|||
[[File:Heartbleed.svg|thumb|upright=0.6|Logo convenzionale del bug Heartbleed]] |
[[File:Heartbleed.svg|thumb|upright=0.6|Logo convenzionale del bug Heartbleed]] |
||
Il [[bug]], scoperto nella versione 1.0.1f da un gruppo di ricercatori del team [[Codenomicon]], permette a un malintenzionato di accedere in chiaro a tutti i dati criptati inviati dall'utente, senza lasciare alcuna traccia. La [[National Security Agency]] statunitense, secondo le rivelazioni di [[Edward Snowden]], sarebbe stata a conoscenza già |
Il [[bug]], scoperto nella versione 1.0.1f da un gruppo di ricercatori del team [[Codenomicon]], permette a un malintenzionato di accedere in chiaro a tutti i dati criptati inviati dall'utente, senza lasciare alcuna traccia. La [[National Security Agency]] statunitense, secondo le rivelazioni di [[Edward Snowden]], sarebbe stata a conoscenza già due anni prima del pericoloso difetto del programma, tacendo al riguardo.<ref>[http://www.webnews.it/2014/04/12/heartbleed-nsa/?ref=post ''Heartbleed: la falla era sfruttata dalla NSA'' di Giacomo Dotta da webnews.it 12 aprile 2014]</ref> |
||
Nel 2014 è stato valutato che oltre il 66% dei siti Web sia vulnerabile all'attacco.<ref>{{Cita news|autore=|url=http://www.repubblica.it/tecnologia/2014/04/09/news/internet_falla_in_openssl_heartbleed_mette_a_rischio_la_sicurezza_di_password_e_carte_di_credito-83101437/|titolo=Internet, falla in OpenSSL: 'Heartbleed' mette a rischio password e carte di credito in due terzi dei siti web|pubblicazione=La Repubblica|giorno=9|mese=aprile |anno=2014|accesso=10 aprile 2014}}</ref><ref>[http://www.webnews.it/2014/04/09/openssl-vulnerabilita/?ref=post ''OpenSSL: la madre di tutte le vulnerabilità'' di Giacomo Dotta da webnews.it, 9 aprile 2014]</ref> |
Nel 2014 è stato valutato che oltre il 66% dei siti Web sia vulnerabile all'attacco.<ref>{{Cita news|autore=|url=http://www.repubblica.it/tecnologia/2014/04/09/news/internet_falla_in_openssl_heartbleed_mette_a_rischio_la_sicurezza_di_password_e_carte_di_credito-83101437/|titolo=Internet, falla in OpenSSL: 'Heartbleed' mette a rischio password e carte di credito in due terzi dei siti web|pubblicazione=La Repubblica|giorno=9|mese=aprile |anno=2014|accesso=10 aprile 2014}}</ref><ref>[http://www.webnews.it/2014/04/09/openssl-vulnerabilita/?ref=post ''OpenSSL: la madre di tutte le vulnerabilità'' di Giacomo Dotta da webnews.it, 9 aprile 2014]</ref> |
||
== Cronologia |
== Cronologia principali versioni pubblicate == |
||
* OpenSSL 0.9.3 pubblicata il 25 maggio 1999 |
* OpenSSL 0.9.3, pubblicata il 25 maggio 1999 |
||
* OpenSSL 0.9.4 pubblicata il 9 agosto 1999 |
* OpenSSL 0.9.4, pubblicata il 9 agosto 1999 |
||
* OpenSSL 0.9.5 pubblicata il 28 febbraio 2000 |
* OpenSSL 0.9.5, pubblicata il 28 febbraio 2000 |
||
* OpenSSL 0.9.6 pubblicata il 25 settembre 2000 |
* OpenSSL 0.9.6, pubblicata il 25 settembre 2000 |
||
* OpenSSL 0.9.7 pubblicata il 31 dicembre 2002 |
* OpenSSL 0.9.7, pubblicata il 31 dicembre 2002 |
||
* OpenSSL 0.9.8 pubblicata il 5 luglio 2005 |
* OpenSSL 0.9.8, pubblicata il 5 luglio 2005 |
||
* OpenSSL 1.0.0 pubblicata il 29 marzo 2010 |
* OpenSSL 1.0.0 pubblicata il 29 marzo 2010 |
||
* OpenSSL 1.0.1 pubblicata il 14 marzo 2012 |
* OpenSSL 1.0.1, pubblicata il 14 marzo 2012 |
||
* OpenSSL 1.0.1g pubblicata il 11 aprile 2014 |
* OpenSSL 1.0.1g, pubblicata il 11 aprile 2014 |
||
* OpenSSL 1.0.1t pubblicata il 3 maggio 2016 |
* OpenSSL 1.0.1t pubblicata il 3 maggio 2016 |
||
*OpenSSL 1.0.2t, pubblicata il 10 settembre 2019 |
|||
*OpenSSL 1.1.0l pubblicata il 10 settembre 2019 |
|||
*OpenSSL 1.1.1j, pubblicata il 16 febbraio 2021 |
|||
*OpenSSL 1.1.1m pubblicata il 14 dicembre 2021 |
|||
== Alternative == |
== Alternative == |
||
Riga 88: | Riga 93: | ||
* {{cita web | 1 = http://ardoino.com/20-openssl-rsa-implementation/ | 2 = Introduzione ed esempi (codice sorgente C) per l'algoritmo: RSA | accesso = 21 febbraio 2008 | urlarchivio = https://web.archive.org/web/20080829165721/http://ardoino.com/20-openssl-rsa-implementation/ | dataarchivio = 29 agosto 2008 | urlmorto = sì }} |
* {{cita web | 1 = http://ardoino.com/20-openssl-rsa-implementation/ | 2 = Introduzione ed esempi (codice sorgente C) per l'algoritmo: RSA | accesso = 21 febbraio 2008 | urlarchivio = https://web.archive.org/web/20080829165721/http://ardoino.com/20-openssl-rsa-implementation/ | dataarchivio = 29 agosto 2008 | urlmorto = sì }} |
||
* {{cita web|https://www.debian.org/security/2008/dsa-1571|Debian Security Advisory del bug nel pacchetto openssl|lingua=en}} |
* {{cita web|https://www.debian.org/security/2008/dsa-1571|Debian Security Advisory del bug nel pacchetto openssl|lingua=en}} |
||
* {{cita web|http://www.compago.it/index.php/manuali/34-linux/166-connessioni-tunnel-con-ssh|Guida alle connessioni tunnel con SSH (forwarding)}} |
* {{cita web | 1 = http://www.compago.it/index.php/manuali/34-linux/166-connessioni-tunnel-con-ssh | 2 = Guida alle connessioni tunnel con SSH (forwarding) | accesso = 10 settembre 2008 | dataarchivio = 25 settembre 2008 | urlarchivio = https://web.archive.org/web/20080925062642/http://www.compago.it/index.php/manuali/34-linux/166-connessioni-tunnel-con-ssh | urlmorto = sì }} |
||
* {{cita web|http://heartbleed.com/|The Heartbleed Bug|lingua=en}} |
* {{cita web|http://heartbleed.com/|The Heartbleed Bug|lingua=en}} |
||
Versione attuale delle 20:41, 20 lug 2024
OpenSSL software | |
---|---|
Genere | Crittografia |
Sviluppatore | The OpenSSL Project |
Data prima versione | 1998 |
Ultima versione | 3.4.0 (22 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C linguaggio assembly Perl |
Licenza | Licenza Apache-style (licenza libera) |
Sito web | www.openssl.org/ |
OpenSSL è un'implementazione open source dei protocolli SSL e TLS.
Basato, in origine, sulle librerie SSLeay di Eric Young e Tim Hudson, è disponibile per la maggior parte dei sistemi operativi unix-like, tra cui GNU/Linux e macOS, ma anche per Microsoft Windows.
Caratteristiche
[modifica | modifica wikitesto]Nei diversi linguaggi di programmazione sono disponibili procedure che permettono di accedere alle funzioni della libreria OpenSSL. Le librerie di base (scritte in linguaggio C) eseguono le funzioni crittografiche principali.
Algoritmi implementati
[modifica | modifica wikitesto]Supporta diversi algoritmi crittografici:
Conformità allo standard FIPS
[modifica | modifica wikitesto]Negli USA l'Open Source Software Institute, un'organizzazione senza fini di lucro formata da rappresentanti del governo, dell'industria e del mondo accademico allo scopo di promuovere l'adozione dei programmi open source nelle università e negli enti governativi, sta tentando di far ottenere a OpenSSL la conformità FIPS 140-2 (Federal Information Processing Standard FIPS Publication 140-2), uno standard per la sicurezza informatica usato per certificare i programmi crittografici.
Licenza
[modifica | modifica wikitesto]OpenSSL utilizza un sistema dual-license (doppia licenza), la OpenSSL License e la SSleay License. Normalmente in un sistema a doppia licenza è possibile scegliere quale delle due licenze adottare; nel caso della OpenSSL occorre seguire entrambe. La licenza risultante è simile a quella di Apache.
La licenza richiede che la frase "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit" appaia come clausola pubblicitaria, che la rendono incompatibile con la licenza GPL. Non è ben chiaro se la OpenSSL rientri nella eccezione della GPL riguardo alle librerie di sistema. Alcuni autori preferiscono inserire una esplicita GPL linking exception per permettere l'utilizzo della OpenSSL nel loro software. Altri hanno preferito sostituirla con la GnuTLS.
Bug
[modifica | modifica wikitesto]Debian
[modifica | modifica wikitesto]Il 13 maggio 2008 è stato scoperto un grave problema di sicurezza nel pacchetto OpenSSL di Debian GNU/Linux. La versione implementata in Debian, Ubuntu e altre distribuzioni derivate generava infatti chiavi vulnerabili. Una correzione risalente al settembre 2006, infatti, aveva eliminato il codice che utilizzava parti della memoria non inizializzate per aumentare l'entropia del generatore di chiavi, utilizzando come valore variabile solo il numero del processo. Questa modifica aveva ridotto il numero di chiavi generabili da 21024 o 22048 a solo 215, quindi ad appena 32768 valori possibili.
Questo bug è stato rapidamente corretto ma tutte le chiavi generate su sistemi Debian e derivati nel frattempo andrebbero rigenerate.
Il bug Heartbleed
[modifica | modifica wikitesto]Il bug, scoperto nella versione 1.0.1f da un gruppo di ricercatori del team Codenomicon, permette a un malintenzionato di accedere in chiaro a tutti i dati criptati inviati dall'utente, senza lasciare alcuna traccia. La National Security Agency statunitense, secondo le rivelazioni di Edward Snowden, sarebbe stata a conoscenza già due anni prima del pericoloso difetto del programma, tacendo al riguardo.[1]
Nel 2014 è stato valutato che oltre il 66% dei siti Web sia vulnerabile all'attacco.[2][3]
Cronologia principali versioni pubblicate
[modifica | modifica wikitesto]- OpenSSL 0.9.3, pubblicata il 25 maggio 1999
- OpenSSL 0.9.4, pubblicata il 9 agosto 1999
- OpenSSL 0.9.5, pubblicata il 28 febbraio 2000
- OpenSSL 0.9.6, pubblicata il 25 settembre 2000
- OpenSSL 0.9.7, pubblicata il 31 dicembre 2002
- OpenSSL 0.9.8, pubblicata il 5 luglio 2005
- OpenSSL 1.0.0 pubblicata il 29 marzo 2010
- OpenSSL 1.0.1, pubblicata il 14 marzo 2012
- OpenSSL 1.0.1g, pubblicata il 11 aprile 2014
- OpenSSL 1.0.1t pubblicata il 3 maggio 2016
- OpenSSL 1.0.2t, pubblicata il 10 settembre 2019
- OpenSSL 1.1.0l pubblicata il 10 settembre 2019
- OpenSSL 1.1.1j, pubblicata il 16 febbraio 2021
- OpenSSL 1.1.1m pubblicata il 14 dicembre 2021
Alternative
[modifica | modifica wikitesto]- GnuTLS della Free Software Foundation è una libreria analoga che svolge le stesse funzioni, ma compatibile con la licenza GNU Lesser General Public License.
Note
[modifica | modifica wikitesto]- ^ Heartbleed: la falla era sfruttata dalla NSA di Giacomo Dotta da webnews.it 12 aprile 2014
- ^ Internet, falla in OpenSSL: 'Heartbleed' mette a rischio password e carte di credito in due terzi dei siti web, in La Repubblica, 9 aprile 2014. URL consultato il 10 aprile 2014.
- ^ OpenSSL: la madre di tutte le vulnerabilità di Giacomo Dotta da webnews.it, 9 aprile 2014
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su OpenSSL
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su openssl.org.
- OpenSSL / OpenSSL (altra versione) / OpenSSL (altra versione) / OpenSSL (altra versione), su packages.debian.org.
- (EN) OpenSSL, su GitHub.
- Repository sorgenti di OpenSSL, su github.com.
- Sito di segnalazione bug, su github.com.
- (EN) OpenSSL, su Free Software Directory.
- (EN) GnuTLS, su gnu.org.
- Introduzione ed esempi (codice sorgente C) per gli algoritmi: DES, Blowfish, Idea, MD5, su ardoino.com. URL consultato il 21 febbraio 2008 (archiviato dall'url originale il 16 ottobre 2008).
- Introduzione ed esempi (codice sorgente C) per l'algoritmo: RSA, su ardoino.com. URL consultato il 21 febbraio 2008 (archiviato dall'url originale il 29 agosto 2008).
- (EN) Debian Security Advisory del bug nel pacchetto openssl, su debian.org.
- Guida alle connessioni tunnel con SSH (forwarding), su compago.it. URL consultato il 10 settembre 2008 (archiviato dall'url originale il 25 settembre 2008).
- (EN) The Heartbleed Bug, su heartbleed.com.