[OpenBSD]


"Le mantra de tout bon ingénieur en sécurité est: « La sécurité n'est pas un produit, mais un processus. » C'est plus que de concevoir une cryptographie forte au sein d'un système; c'est concevoir l'ensemble du système de telle sorte que toutes les mesures de sécurité, notamment la cryptographie, travaillent ensemble."

-- 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 car 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 en 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 toute restriction. Autrefois, nos binaires étaient créés au Canada, en Suède et en Allemagne.

OpenBSD est fourni avec Kerberos V. La base du code que nous utilisons est la version exportable Heimdal de Suède. Nos sources X11 ont été étendues afin de pouvoir utiliser Kerberos IV.

VPNC TEST PARTNER OpenBSD a été le premier système d'exploitation à être fourni avec une pile IPsec. Nous avons fourni IPsec depuis la version 2.1 d'OpenBSD en 1997. Notre pile IPsec dans le noyau est totalement conforme aux standards, avec support de l'accélération matérielle s'appuyant sur plusieurs cartes, ainsi que notre démon ISAKMP libre. Elle est utilisée dans une des machines du test de conformité IPsec organisé par VPNC.

Aujourd'hui la cryptographie est un moyen important pour 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

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 résumé, nous avons pris une version de ssh avec une licence libre et l'avons adapté à OpenBSD. Environ un an plus tard, nous avons étendu OpenSSH en ajoutant le support du protocole SSH 2, si bien que les trois protocoles SSH majeurs sont désormais supportés : 1.3, 1.5 et 2.0.

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 provoquées par 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 vers les 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 intéressé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 documents 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
$OpenBSD: crypto.html,v 1.68 2013/03/30 19:05:19 ajacoutot Exp $