[OpenBSD]


"The mantra of any good security engineer is: "Security is not a product, but a process." It's more than designing strong cryptography into a system; it's designing the entire system such that all security measures, including cryptography, work together."

-- Bruce Schneier, auteur de "Applied Cryptography".

Cryptographie

Index
Pourquoi est ce que nous fournissons de la cryptographie ?
OpenSSH.
Générateurs de nombres pseudo aléatoires (PRNG) : ARC4, ...
Fonctions de hachages cryptographiques : MD5, SHA1, ...
Transformations cryptographiques : DES, Blowfish, ...
Support de matériels cryptographiques
Cherche cryptographes internationaux
Lectures ultérieures


Pourquoi est ce que nous fournissons de la cryptographie ?

En quelques mots : parce que nous le pouvons.

Le projet OpenBSD est basé au Canada.

La liste de contrôle des exportations du Canada ne place aucune restriction significative sur l'exportation de logiciels cryptographiques, et est même très explicite quant à la libre exportation de logiciels cryptographiques disponibles librement. Marc Plumb a fait quelques recherches pour tester les lois sur la cryptographie.

à partir de là, le projet OpenBSD a intégré de la cryptographie dans de multiples portions du système d'exploitation. Il est indispensable que les logiciels de cryptographie que nous utilisons soient disponibles librement et avec des licences correctes. Nous n'utilisons pas de cryptographie avec des brevets. Il est tout aussi indispensable que ces logiciels soient originaires de pays avec des lois d'exportation sur la cryptographie souples parce que nous ne désirons pas être en désaccord avec les lois de ces pays. Les composants cryptographiques utilisés ont été écrits en Allemagne, Argentine, Australie, Canada, Grèce, Norvège et Suède.

Quand nous créons des versions d'OpenBSD ou des snapshots, ceux-ci sont compilés dans des pays libres pour être sûr que les sources et les binaires que nous fournissons soient libres de toutes restrictions. Autrefois, nos binaires étaient créés au Canada, en Suède et en Allemagne.

OpenBSD est fourni avec Kerberos IV. Le code utilisé est basé sur la version KTH venant de Suède. Notre source X11 a été étendu pour faire usage de Kerberos IV. Le support Kerberos V apparaîtra courant 2000.

Aujourd'hui la cryptographie est un important moyen d'améliorer la sécurité d'un système d'exploitation. La cryptographie incluse dans OpenBSD peut-être classée en plusieurs catégories, comme suit.

OpenSSH

Quelle est la première chose qui est faite après l'installation d'OpenBSD ? L'installation de Secure Shell (ssh) depuis les ports ou à l'aide d'un package sur un site FTP. Jusque là, c'était comme ça.

Depuis la version 2.6, OpenBSD contient OpenSSH, une version de ssh totalement libre et non encombrée de brevets. OpenSSH interopère avec ssh version 1, et possède de nombreuses caractéristiques en plus :

En gros, nous avons pris une version de ssh avec une licence libre et l'avons modifiée. Nous avons contourné le brevet déposé aux USA sur RSA en fournissant une méthode pour télécharger et installer un package RSA contenant les bibliothèques partagées libcrypto et libssl. Ces packages sont basés sur OpenSSL. Les personnes résidant à l'extérieur des USA peuvent utiliser librement le code breveté, tandis que les personnes résidant aux USA ne peuvent que l'utiliser dans un but non commercial. Il apparaît que les compagnies commerciales peuvent utiliser les bibliothèques RSA aussi du moment que ce n'est pas dans un but commercial.

De cette façon, tout le monde peut posséder ssh directement intégré dans le système d'exploitation.

NOUVEAU! OpenSSH supporte le protocole 2.0 !

Récemment, nous avons étendu OpenSSH de façon à pouvoir aussi utiliser le protocole SSH 2. Le démon ssh comprend les trois protocoles SSH utilisés (1.3, 1.5, 2.0), ce qui nous permet beaucoup de flexibilité. Le protocole 2.0 n'utilise pas RSA comme algorithme de cryptographie à clé publique, mais plutôt les algorithmes DH et DSA. Dans OpenBSD 2.7 (qui sera fournit avec le nouveau OpenSSH) vous obtiendrez le support du protocole 2.0 directement ! Si vous désirez obtenir le support pour les protocoles 1.3 et 1.5, il vous suffira juste d'installer le package RSA (comme décrit dans notre page du manuel ssl) et de relancer le démon.

Générateurs de nombres pseudo aléatoires

Un générateur de nombres pseudo aléatoires (Pseudo Random Number Generator: PRNG) fournit aux applications un flot de nombres qui possèdent certaines propriétés importantes en ce qui concerne la sécurité du système :

Un PRNG est normalement un algorithme où les mêmes variables en entrée donneront les mêmes résultats en sortie. Sur un système multi-utilisateurs, il existe de nombreuses sources qui permettent de fournir des données aléatoires au PRNG. Le noyau OpenBSD utilise le temps entre les interruptions dues à la souris, le temps entre les interruptions dues aux données réseau, le temps entre chaque appui de touches et les informations sur les entrées/sorties des disques pour remplir la réserve d'entropie. Les nombres aléatoires sont accessibles aux routines du noyau et sont exportés aux programmes utilisateurs par l'intermédiaire de périphériques. Les nombres aléatoires sont utilisés dans les endroits suivants :

Fonctions de hachages cryptographiques

Une fonction de hachage compresse les données fournies en une chaîne de taille constante. Pour une fonction de hachage cryptographique, il est impossible de trouver :

Dans OpenBSD MD5, SHA1, et RIPEMD-160 sont utilisés en tant que fonctions de hachage cryptographiques :

Transformations cryptographiques

Les transformations cryptographiques sont utilisées pour chiffrer et déchiffrer les données. Elles sont normalement utilisées avec une clé de chiffrement pour le chiffrement des données et une clé de déchiffrement pour le déchiffrement des données. La sécurité d'une transformation cryptographique ne doit reposer que sur la clé.

OpenBSD fournit des transformations telles que DES, 3DES, Blowfish et Cast pour le noyau et les programmes utilisateurs, qui sont utilisées dans de nombreux endroits tels que :

Support de matériels cryptographiques

OpenBSD 2.7 supporte quelques matériels cryptographiques tels que les accélérateurs cryptographiques et les générateurs de nombres aléatoires.

S'il y a des personnes interessées pour nous aider à écrire des pilotes, venez nous aider.

Cherche cryptographes internationaux

Évidemment, notre projet a besoin de personnes pour travailler sur ces systèmes. Si un cryptographe non Américain qui remplit les conditions énoncées précédemment est intéressé pour nous aider sur la cryptographie embarquée dans OpenBSD, qu'il n'hésite pas à nous contacter.

Lectures ultérieures

Un certain nombre de papiers ont été écrits par des membres du projet OpenBSD, au sujet des changements cryptographiques qui ont été faits dans OpenBSD. Les versions PostScript des documents sont disponibles ci-dessous.


OpenBSD www@openbsd.org
Originally [OpenBSD: crypto.html,v 1.72 2000/11/20 13:17:25 deraadt Exp ]
$Translation: crypto.html,v 1.23 2000/12/03 18:51:01 jjbg Exp $ $OpenBSD: crypto.html,v 1.10 2000/12/05 21:24:33 jufi Exp $