[OpenBSD]


"Il mantra di ogni buon esperto di sicurezza e': "La sicurezza non e' un prodotto, ma un processo."E' piu' che progettare crittografia forte in un sistema; e' progettare l'intero sistema in modo tale che tutte le misure adottate per migliorare la sicurezza, inclusa la crittografia, lavorino insieme."

-- Bruce Schneier, autore di "Applied Cryptography".

Crittografia


Indice
Perche' noi abbiamo la crittografia?
OpenSSH
Generatori di Numeri Pseudo Casuali (PRNG): ARC4, ...
Funzioni di crittografia Hash: MD5, SHA1, ...
Trasformazioni crittografiche: DES, Blowfish, ...
Supporto hardware alla Crittografia
Ricerca internazionale di crittografi
Ulteriori letture


Perche' noi abbiamo la crittografia?

In tre parole: perche' noi possiamo.

Il progetto OpenBSD ha sede in Canada.

L'Export Control List del Canada non pone alcuna significativa restrizione all'esportazione di software di crittografia, ed e' persino piu' esplicito per quanto riguarda la libera esportazione di software di crittografia disponibile gratuitamente. Marc Plumb ha effettuato alcune ricerche per verificare le leggi sulla crittografia.

Quindi il progetto OpenBSD ha inserito la crittografia in numerose parti del sistema operativo. Noi richiediamo che il software di crittografia che usiamo sia liberamente disponibile e con buone licenze. Noi non usiamo crittografia con licenze non libere. Inoltre chiediamo che il software provenga da paesi che consentono l'esportazione delle licenze perche' non intendiamo infrangere la legge in nessun paese. Le componenti software crittografiche che attualmente utilizziamo sono state scritte in Argentina, Australia, Canada, Germania, Grecia, Norvegia, e Svezia.

Quando realizziamo nuove versioni o snapshot di OpenBSD assembliamo i binari in paesi liberi cosi' da fornire agli utenti sorgenti e binari privi di restrizioni. In passato i binari delle nostre versioni sono stati realizzati in Canada, Svezia e Germania.

OpenBSD e' corredato di Kerberos V. Il codice base che usiamo e' la versione Heimdal esportabile dalla Svezia. ll nostro sorgente X11 e' stato esteso per fare uso anche di Kerberos.

VPNC TEST PARTNER OpenBSD e' stato il primo sistema operativo corredato di stack IPsec. Abbiamo incluso IPsec sin dalla versione 2.1 di OpenBSD nel 1997. Il nostro stack in-kernel IPsec, pienamente conforme, con acceleratore hardware costituito da un certo numero di schede, e il nostro demone gratuito ISAKMP, e' usato come una delle macchine nel sistema di prove di conformita' IPsec eseguito da VPNC.

Oggi la crittografia assume un importante significato per il miglioramento della sicurezza di un sistema operativo. La crittografia utilizzata in OpenBSD puo' essere classificata sotto vari aspetti descritti di seguito.

OpenSSH

A partire dalla versione 2.6 OpenBSD contiene OpenSSH, una versione assolutamente gratuita e libera di ssh. OpenSSH interagiva con la versione 1 di ssh con numerose funzioni aggiunte,

Detto in breve, iniziando con una versione con licenza libera di ssh, noi l'abbiamo OpenBSD-izzata. Circa un anno dopo estendemmo OpenSSH anche al protocollo SSH2, e il risultato è stato di offrire il supporto a tutti e tre i maggiori protocolli SSH 1.3, 1.5, 2.0.

Generatori di Numeri Pseudo Casuali

Un generatore di numeri pseudo casuali (PRNG) fornisce le applicazioni di una serie di numeri con determinate proprieta' importanti per la sicurezza del sistema:

Un PRNG solitamente e solo un algoritmo dove gli stessi valori iniziali danno la medesima sequenza di output. Su un sistema operativo multiutente ci sono molte sorgenti che permettono di fornire il PRNG di dati casuali. Il kernel di OpenBSD usa il tempo di interrupt del mouse, la latenza degli interrupt dei dati di rete, il tempo tra la pressione dei tasti e le informazioni di IO per creare un insieme entropico. I numeri casuali sono disponibili per le routine del kernel e sono esportate mediante dispositivi ai programmi degli utenti. Finora i numeri casuali sono usati per le seguenti applicazioni:

Funzioni di crittografia Hash

Una funzione Hash comprime i dati di ingresso in una stringa di lunghezza costante. Per una funzione di crittografia Hash non può capitare che:

In OpenBSD MD5, SHA1, e RIPEMD-160 sono usati come funzioni di crittografia Hash per esempio:

Trasformazioni crittografiche

Le trasformazioni crittografiche sono usate per cifrare e decifrare dati. Di solito sono usate insieme ad una chiave di cifratura per cifrare i dati e con una chiave decifratura per decifrarli. La sicurezza di una trasformazione crittografica dovrebbe dipendere solo dal tipo di chiave.

OpenBSD fornisce trasformazioni come DES, 3DES, Blowfish e Cast per kernel e programmi utente e molte applicazioni:

Supporto hardware di crittografia

OpenBSD, a partire con la versione 2.7, ha iniziato a supportare hardware di crittografia come acceleratori e generatori di numeri casuali.

Se qualcuno desiderasse aiutarci a scrivere driver, venite e aiutateci.

Ricerca internazionale di crittografi

E' chiaro, il nostro progetto ha bisogno di persone che si occupino di questi sistemi. Ogni crittografo, non americano, con i vincoli elencati precedentemente, interessato a fornire aiuto nella crittografia in OpenBSD, per cortesia ci contatti.

Ulteriori letture

Un certo numero di documenti sono stati scritti dai membri del gruppo di OpenBSD, per descrivere i cambiamenti crittografici in OpenBSD. La versione postscript di questi documenti sono disponibili di seguito.


OpenBSD www@openbsd.org
$OpenBSD: crypto.html,v 1.2 2008/02/08 16:52:36 saad Exp $