OpenSSL

Da Wikipedia, l'enciclopedia libera.
OpenSSL
Logo
Sviluppatore The OpenSSL Project
Ultima versione 1.0.1h (5 giugno 2014; 6 mesi fa)
Sistema operativo Multipiattaforma
Linguaggio C
Genere Crittografia
Licenza Licenza Apache-style
(Licenza libera)
Sito web www.openssl.org

OpenSSL è un'implementazione open source dei protocolli SSL e TLS.

Originariamente basato sulle librerie SSLeay di Eric Young e Tim Hudson, è disponibile per la maggior parte dei sistemi operativi unix-like, inclusi GNU/Linux e Mac OS X, ed 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:

Cifrari
Blowfish, Camellia, CAST, DES, RC2, RC4, RC5, IDEA, AES
funzioni hash crittografiche
MD5, MD2, SHA, MDC-2
Crittografia a chiave pubblica
RSA, DSA, Scambio di chiavi Diffie-Hellman
Funzioni di Autenticazione dei messaggi
HMAC, MD2, MD4, MD5, MDC2, RIPEMD, SHA
Certificati
X.509

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.

I bugs[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.

Heartbleed Bug[modifica | modifica wikitesto]

Logo convenzionale del bug Heartbleed

Il bug scoperto nella versione 1.0.1f da un gruppo di ricercatori del team Codenomicon permette ad 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à da due anni 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 dei rilasci principali[modifica | modifica wikitesto]

  • OpenSSL 0.9.3 rilasciata il 25 maggio 1999
  • OpenSSL 0.9.4 rilasciata il 9 agosto 1999
  • OpenSSL 0.9.5 rilasciata il 28 febbraio 2000
  • OpenSSL 0.9.6 rilasciata il 25 settembre 2000
  • OpenSSL 0.9.7 rilasciata il 31 dicembre 2002
  • OpenSSL 0.9.8 rilasciata il 5 luglio 2005
  • OpenSSL 1.0.0 rilasciata il 29 marzo 2010
  • OpenSSL 1.0.1 rilasciata il 14 marzo 2012
  • OpenSSL 1.0.1g rilasciata il 11 aprile 2014

Alternative[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

  1. ^ Heartbleed: la falla era sfruttata dalla NSA di Giacomo Dotta da webnews.it 12 aprile 2014
  2. ^ 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.
  3. ^ OpenSSL: la madre di tutte le vulnerabilità di Giacomo Dotta da webnews.it, 9 aprile 2014

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]