OpenSSL: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Niculinux (discussione | contributi)
Wikificazione
m Annullata la modifica di 188.12.152.50 (discussione), riportata alla versione precedente di E-Soter
Etichetta: Rollback
 
(44 versioni intermedie di 28 utenti non mostrate)
Riga 5:
|Didascalia =
|Sviluppatore = The OpenSSL Project
|UltimaVersione = 1.0.1g
|DataUltimaVersione = {{data e tempo|7|4|2014}}
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio = c
|Genere = crittografia
|Licenza = [[Licenza Apache]]-style
|SoftwareLibero = sì
|SitoWeb =
|Lingua =
|SitoWeb = [https://www.openssl.org www.openssl.org]
}}
'''OpenSSL''' è un'[[implementazione]] ''[[open source]]'' dei protocolli [[Transport Layer Security|SSL]] e [[Transport Layer Security|TLS]]. Le librerie di base (scritte in [[linguaggio C]]) eseguono le funzioni [[Crittografia|crittografiche]] principali.
 
OriginariamenteBasato, basatoin origine, sulle librerie ''SSLeay'' di Eric Young e Tim Hudson, è disponibile per la maggior parte dei [[Sistema Operativo|sistemi operativi]] ''[[unix-like]]'', inclusitra cui [[GNU/Linux]] e [[Mac OS XmacOS]], edma anche per [[Microsoft Windows]].
Nei diversi [[Linguaggio di programmazione|linguaggi di programmazione]] sono disponibili procedure che permettono di accedere alle funzioni della libreria OpenSSL.
 
Originariamente basato sulle librerie ''SSLeay'' di Eric Young e Tim Hudson, è disponibile per la maggior parte dei [[Sistema Operativo|sistemi operativi]] ''[[unix-like]]'', inclusi [[GNU/Linux]] e [[Mac OS X]], ed anche per [[Microsoft Windows]].
 
== Caratteristiche ==
Nei diversi [[Linguaggio di programmazione|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 [[Crittografia|crittografiche]] principali.
==Algoritmi implementati==
'''OpenSSL''' supporta diversi algoritmi crittografici:
 
===Algoritmi implementati===
;[[cifrario|Cifrari]]:
'''OpenSSL''' supportaSupporta diversi algoritmi crittografici:
:[[Blowfish]], [[Camellia (cifrario)|Camellia]], [[CAST-128|CAST]], [[Data Encryption Standard|DES]], [[RC2]], [[RC4]], [[RC5]], [[International Data Encryption Algorithm|IDEA]], [[Advanced Encryption Standard|AES]]
 
* [[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]]
 
;* [[Funzione crittografica di hash|funzioniFunzioni hash crittografiche]]: [[MD5]], [[MD2]], [[Secure Hash Algorithm|SHA]], [[MDC-2]]
;[[Crittografia a chiave pubblica]]:
:[[RSA]], [[Digital Signature Algorithm|DSA]], [[Scambio di chiavi Diffie-Hellman]]
 
* [[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]]
 
;* [[Message authentication code|Funzioni di Autenticazione dei messaggi]]: [[HMAC]], [[MD2]], [[MD4]], [[MD5]], [[MDC2]], [[RIPEMD]], [[Secure Hash Algorithm|SHA]]
;[[Certificato digitale|Certificati]]:
 
:[[X.509]]
;* [[Certificato digitale|Certificati]]: [[X.509]]
 
=== Conformità allo standard FIPS ===
Negli [[Stati Uniti d'America|Stati UnitiUSA]] l'''[http://www.oss-institute.org/ 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 [[Crittografia|crittografici]].
 
=== Licenza ===
Line 50 ⟶ 45:
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 [[GNU General Public License|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]].
 
== I bugsBug ==
=== Debian ===
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 2<sup>1024</sup> o 2<sup>2048</sup> a solo 2<sup>15</sup>, quindi ad appena 32768 valori possibili.
Line 56 ⟶ 51:
Questo bug è stato rapidamente corretto ma tutte le chiavi generate su sistemi Debian e derivati nel frattempo andrebbero rigenerate.
 
=== HeartbleedIl Bugbug Heartbleed ===
{{Vedi anche|Heartbleed}}
[[File:Heartbleed.svg|thumb|140pxupright=0.6|Logo convenzionale del bug Heartbleed]]
Il [[bug]], scoperto nella versione 1.0.1f da un gruppo di ricercatori del team [[Codenomicon]], permette ada un malintenzionato di accedere in chiaro a tutti i dati criptati inviati dall'utente, senza lasciare alcuna traccia. SiLa valuta[[National cheSecurity oltreAgency]] ilstatunitense, 66%secondo deile sitirivelazioni Webdi sia[[Edward 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=InternetSnowden]], falla in OpenSSL: 'Heartbleed'sarebbe mettestata a rischioconoscenza passwordgià edue carteanni diprima creditodel inpericoloso duedifetto terzidel deiprogramma, sititacendo web|pubblicazione=Laal Repubblica|giorno=9|mese=aprile |anno=2014|accesso=10 aprile 2014}}</ref>riguardo.<ref>[http://www.webnews.it/2014/04/0912/opensslheartbleed-vulnerabilitansa/?ref=post ''OpenSSLHeartbleed: la madrefalla diera tuttesfruttata ledalla vulnerabilitàNSA'' di Giacomo Dotta da webnews.it, 912 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>
== Cronoogia dei rilasci principali ==
 
*OpenSSL 0.9.3 rilasciata il 25 maggio [[1999]]
== Cronologia principali versioni pubblicate ==
*OpenSSL 0.9.4 rilasciata il 9 agosto [[1999]]
* OpenSSL 0.9.53, rilasciatapubblicata il 2825 febbraiomaggio [[2000]]1999
* OpenSSL 0.9.64, rilasciatapubblicata il 259 settembreagosto [[2000]]1999
* OpenSSL 0.9.75, rilasciatapubblicata il 3128 dicembrefebbraio [[2002]]2000
* OpenSSL 0.9.86, rilasciatapubblicata il 525 lugliosettembre [[2005]]2000
* OpenSSL 1.0.09.7, rilasciatapubblicata il 2931 marzodicembre [[2010]]2002
* OpenSSL 1.0.19.8, rilasciatapubblicata il 145 marzoluglio [[2012]]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.9.31t rilasciatapubblicata il 253 maggio [[1999]]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 ==
Line 79 ⟶ 83:
* [[Protocollo di rete]]
* [[Transport Layer Security]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{en}} [https://www.openssl.org/ Sito web OpenSSL]
* {{en}}cita [httpweb|https://www.gnu.org/software/gnutls/ |GnuTLS]|lingua=en}}
* [{{cita web | 1 = http://ardoino.com/21-openssl-des-blowfish-idea-md5-implementation/ | 2 = Introduzione ed esempi (codice sorgente C) per gli algoritmi: DES, Blowfish, Idea, MD5] | accesso = 21 febbraio 2008 | urlarchivio = https://web.archive.org/web/20081016001702/http://ardoino.com/21-openssl-des-blowfish-idea-md5-implementation/ | dataarchivio = 16 ottobre 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ì }}
* {{en}}cita [httpweb|https://www.debian.org/security/2008/dsa-1571 |Debian Security Advisory del bug nel pacchetto openssl]|lingua=en}}
* [{{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ì }}
* {{en}}cita [web|http://heartbleed.com/ |The Heartbleed Bug]|lingua=en}}
 
{{Portale|crittografia|informatica|Sicurezza informatica|software libero}}
 
[[Categoria:Tecniche di difesa informatica]]