2.2.1.2 Les mécanismes de chiffrement
Le chiffrement est un mécanisme issu d'une
transformation cryptographique. Le mécanisme inverse du chiffrement est
le déchiffrement. La normalisation dans ce domaine est quelque peu
complexe, pour des raisons essentiellement politiques. De ce fait, l'ISO a
supprimé ce type de normalisation de son cadre de travail à la
suite de la publication des algorithmes DES (Data Encryption Standard). L'ISO
est alors devenue une simple chambre d'enregistrement des algorithmes de
chiffrement.
La première norme ISO du domaine, ISO 9979, se
préoccupe du problème relatif aux « procédures pour
l'enregistrement des algorithmes cryptographiques ». Une vingtaine
d'algorithmes sont aujourd'hui déposés à l'ISO ou chez
d'autres organismes de normalisation.
Des normes complémentaires, comme les procédures
de chiffrement de messages (ISO 10126), les modes opératoires d'un
algorithme de chiffrement par blocs de n bits (ISO 10116) ou les
caractéristiques d'interfonctionnement avec la couche physique (ISO
9160) ont été publiés par l'ISO.
Les principaux mécanismes de chiffrement
normalisés par l'ISO sont les suivants :
i' Le mécanisme de bourrage de trafic
consiste à envoyer de l'information en permanence en
complément de celle déjà utilisée de façon
à empêcher les fraudeurs de repérer si une communication
entre deux utilisateurs est en cours ou non.
i' L'authentification utilise un
mécanisme de cryptographie normalisé par la série de
normes ISO 9798 à partir d'un cadre conceptuel défini dans la
norme ISO 10181-2. Dans cette normalisation, des techniques de chiffrement
symétrique et à clés publiques sont utilisées.
i' L'intégrité est
également prise en charge par l'ISO. Après avoir défini
les spécifications liées à la normalisation de
l'authentification dans la norme ISO 8730, cet organisme a décrit le
principal mécanisme d'intégrité, le CBC (Cipher Block
Chaining), dans la norme ISO 8731. La norme ISO 9797 en donne une
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 20
Sécurisation d'un réseau intranet : cas de
CAMTEL
généralisation. La norme ISO 8731 décrit
un second algorithme, le MAA (Message Authenticator Algorithm).
? La signature numérique est
un mécanisme appelé à se développer de plus en
plus. Pour le moment, la normalisation s'adapte aux messages courts, de 320
bits ou moins. C'est l'algorithme RSA, du nom de ses inventeurs (Rivest,
Shamir, Adleman), qui est utilisé dans ce cadre (ISO 9796). Le
gouvernement américain possède son propre algorithme de signature
numérique, le DSS (Digital Signature Standard), qui lui a
été délivré par son organisme de normalisation, le
NIST (National Institute for Standards and Technology).
? La gestion des clés peut
également être mise en oeuvre dans les mécanismes de
sécurité.
Elle comprend la création, la distribution,
l'échange, le maintien, la validation et la mise à jour de
clés publiques ou secrètes. En matière d'algorithmes
symétriques, la norme ISO 8732 fait référence. De
même, la norme ISO 11166 fait référence pour les
algorithmes asymétriques.
Les mécanismes de sécurité pour la
messagerie électronique ont été définis par l'UITT,
dans la série de recommandations X.400. Cette série fournit la
description des menaces et les clés d'utilisation de l'algorithme
cryptographique RSA pour résoudre ces problèmes.
Le second apport de l'UIT-T en matière de
sécurité concerne les annuaires et fait l'objet de la
recommandation X.509. Les annuaires électroniques peuvent
également être le lieu de dépôt des clés
publiques, et l'UIT-T a introduit des concepts de certificats de clés
publiques et des mécanismes de gestion de ces certificats.
2.2.1.2.1 Les algorithmes de chiffrement
Les algorithmes de chiffrement permettent de transformer un
message écrit en clair en un message chiffré, appelé
cryptogramme. Cette transformation se fonde sur une ou plusieurs clés.
Le cas le plus simple est celui d'une clé unique et secrète, que
seuls l'émetteur et le récepteur connaissent.
Les systèmes à clés secrètes sont
caractérisés par une transformation f et une
transformation inverse f - 1, qui s'effectuent à l'aide de la
même clé. C'est la raison pour laquelle on appelle ce
système « à chiffrement symétrique ». Cet
algorithme est illustré à la figure 2.2.
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 21
Sécurisation d'un réseau intranet : cas de
CAMTEL
Figure 2.2: algorithme de chiffrement
symétrique [2]
Le plus connu des algorithmes de chiffrement est le DES. Pour
chaque bloc de 64 bits, le DES produit un bloc chiffré de 64 bits. La
clé, d'une longueur de 56 bits, est complétée par un octet
de détection d'erreur. De cette clé de 56 bits, on extrait de
manière déterministe 16 sous-clés de 48 bits chacune.
À partir de là, la transformation s'effectue par des sommes
modulo 2 du bloc à coder et de la sous-clé correspondante, avec
des couplages entre les blocs à coder.
Les algorithmes à sens unique sont ceux dont la
transformation en sens inverse est quasiment impossible à effectuer dans
un laps de temps admissible. Diffie-Hellman constitue un premier exemple de ce
type d'algorithme. Soit X et Y un émetteur et un récepteur qui
veulent communiquer. Ils se mettent d'accord sur deux valeurs non
secrètes, du et p.
L'émetteur X choisit une valeur a
secrète et envoie à Y la valeur x =
dua mod p. De même, Y choisit une valeur
b secrète et envoie à X une valeur y = dub
mod p. Si les valeurs du et p sont suffisamment
grandes, le fait de retrouver a ou b à partir de x
ou y est à peu près impossible. X et Y
décident que la clé commune est le produit ab et que le
message chiffré est obtenu par duab mod p.
Les algorithmes de chiffrement à clé publique
sont des algorithmes asymétriques. Le destinataire est le seul à
connaître la clé de déchiffrement. La
sécurité s'en trouve accrue puisque même l'émetteur
ne connaît pas cette clé. L'algorithme le plus classique et le
plus utilisé est RSA, qui utilise la quasi-impossibilité
d'effectuer la fonction d'inversion d'une
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 22
Sécurisation d'un réseau intranet : cas de
CAMTEL
fonction puissance. La clé permettant de
déchiffrer le message et que seul le destinataire connaît est
constituée de deux nombres, p et q, d'environ 250 bits
chacun. La clé publique est n = pq.
Comme n est très grand, il est quasiment
impossible de trouver toutes les factorisations possibles. La connaissance de
n ne permet pas d'en déduire p et q. À
partir de p et de q, on peut choisir deux nombres, e
et d, tels que ed = 1 mod (p - 1)(q -
1). De même, la connaissance de e ne permet pas de
déduire la valeur de d.
L'algorithme de chiffrement s'effectue de la façon
suivante : si M est le message à chiffrer, le message
chiffré est obtenu par Me mod n et
l'algorithme de déchiffrement par (Me)d.
La figure 2.3 illustre le fonctionnement de l'algorithme
asymétrique.
Les signatures électroniques font également
partie de la panoplie des mécanismes indispensables à la
transmission de documents dans un réseau. La signature a pour fonction
d'authentifier l'émetteur. Celui-ci code le message de signature par une
clé qu'il est le seul à connaître. La vérification
d'une signature s'effectue par le biais d'une clé publique.
En utilisant l'algorithme RSA, l'émetteur signe le
message M par Me mod n, et le
récepteur porte cette valeur à la puissance d pour
vérifier que (Me)d = M. Si cette
égalité se vérifie, la signature est authentifiée.
[2]
2.2.1.2.2 Solutions de chiffrement
Le chiffrement représente la méthode suivie pour
que l'information ne puisse pas être lue par une autre personne que le
destinataire. Les techniques de chiffrement que l'on utilise sont toutes a
priori violables, mais il faudrait pour cela utiliser une machine de
calcul extrêmement puissante et la faire tourner pendant plusieurs
années.
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 23
Sécurisation d'un réseau intranet : cas de
CAMTEL
Figure 2.3 : algorithme de chiffrement
asymétrique [2]
Nous allons introduire les principaux algorithmes qui
permettent de chiffrer une suite d'éléments binaires en la
transformant en une nouvelle suite d'éléments binaires, qui,
elle, ne peut être lue sans la clé de déchiffrement :
'( DES, de 1977, à clés symétriques. Les
données sont codées par blocs de 64 bits avec une clé de
56 bits. Cet algorithme est très utilisé dans les applications
financières.
Il est également utilisé dans un chaînage
dit par bloc CBC (Cipher Block Chaining). Il existe de nombreuses variantes de
l'algorithme DES, comme 3DES, qui utilise trois niveaux de chiffrement, ce qui
implique une clé de chiffrement sur 168 bits.
'( RC4, RC5 (Rivest's Code #4, #5), de 1987, à
clés symétriques. Ce sont des algorithmes propriétaires,
diffusés par la société RSA Security Inc. Ils utilisent
des clés de longueur variable pouvant atteindre 2 048 bits. Ils sont
surtout utilisés au niveau applicatif lorsqu'une application a besoin
d'être fortement sécurisée. Ils demandent une puissance de
calcul importante, qui ne pourrait être maintenue sur un flot continu
à haut débit à des niveaux inférieurs de
l'architecture.
'( IDEA (International Data Encryption Algorithm), de 1992,
à clés symétriques. Cet algorithme développé
en Suisse est surtout utilisé pour la messagerie sécurisée
PGP, que nous détaillons un peu plus loin dans ce chapitre.
'( Blowfish, de 1993, à clés symétriques.
'( AES (Advanced Encryption Standard), de 1997, à
clés symétriques.
'( RSA (Rivest, Shamir, Adleman), de 1978, à clés
asymétriques (RFC 2437).
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 24
Sécurisation d'un réseau intranet : cas de
CAMTEL
" Diffie-Hellman, à clés asymétriques.
" El Gamal, à clés asymétriques.
L'ensemble des techniques que nous venons
d'énumérer est difficile à mettre en oeuvre dès que
le débit d'une application, d'un flot ou d'un lien augmente. C'est la
raison pour laquelle, les techniques symétriques et asymétriques
sont utilisées conjointement. Pour cela, on recourt à des
clés de session, qui ne sont valables que pour une communication
déterminée. Les informations de la session sont codées
grâce à une clé secrète permettant de
réaliser un chiffrement avec beaucoup moins de puissance qu'une
clé asymétrique.
Seule la clé secrète est codée par un
algorithme de chiffrement asymétrique pour être envoyée au
destinataire.
2.2.1.2.3 Les certificats
Une difficulté qui s'impose à la station d'un
réseau qui communique avec beaucoup d'interlocuteurs consiste à
se rappeler de toutes les clés publiques dont elle a besoin pour
récupérer les clés secrètes de session. Pour cela,
il faut utiliser un service sécurisé et fiable, qui
délivre des certificats. Un organisme offrant un service de gestion de
clés publiques est une autorité de certification, appelée
tiers de confiance. Cet organisme émet des certificats au sujet de
clés permettant à une entreprise de les utiliser avec
confiance.
Un certificat est constitué d'une suite de symboles
(document M) et d'une signature. Le format de certificat le plus courant
provient du standard X.509 v2 ou v3. La syntaxe utilisée est l'ASN.1.
2.2.1.2.4 L'authentification
L'authentification a pour objectif de vérifier
l'identité des processus communicants.
Plusieurs solutions simples sont mises en oeuvre pour cela,
comme l'utilisation d'un identifiant (login) et d'un mot de passe (password).
L'authentification peut s'effectuer par un numéro d'identification
personnel, comme le numéro inscrit dans une carte à puce, ou code
PIN (Personal Identification Number).
Des techniques beaucoup plus sophistiquées, comme les
empreintes digitales ou rétiniennes, se développent de
façon industrielle en ce début des années 2000. Cependant,
leur utilisation est assez complexe et ne peut être mise en place que
dans un contexte particulier, comme un centre de recherche de
l'armée.
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 25
Sécurisation d'un réseau intranet : cas de
CAMTEL
L'authentification peut être simple ou mutuelle. Elle
consiste essentiellement à comparer les données provenant de
l'utilisateur qui se connecte à des informations stockées dans un
site protégé. Des attaques sur les sites mémorisant les
mots de passe forment une classe importante de piratage.
2.2.1.2.5 L'intégrité des données
L'intégrité des données consiste à
prouver que les données n'ont pas été modifiées.
Elles ont éventuellement pu être copiées, mais aucun bit ne
doit avoir été changé.
Une première possibilité pour garantir
l'intégrité des données transportées dans un paquet
est de les chiffrer. En effet, si les données sont impossibles à
déchiffrer par le récepteur, c'est qu'elles ont été
modifiées. Cette solution permet à la fois de garantir la
confidentialité et l'intégrité.
Une seconde possibilité provient des techniques de
signature. Une signature, déterminée par l'ensemble des
éléments binaires composant un message, est nécessaire
pour en assurer l'intégrité. Le chiffrement joue le rôle de
signature dans la première possibilité. Une signature plus simple
que le chiffrement est suffisante dans le cas d'une demande
d'intégrité uniquement. Pour cela, on utilise des fonctions de
hachage, qui calculent une empreinte digitale qu'il suffit de vérifier
au récepteur pour prouver que la suite d'éléments binaires
n'a pas été modifiée. Pour que l'empreinte ne puisse
être modifiée par hasard lors de la transmission,
c'est-à-dire pour que le pirate ne puisse à la fois
déterminer l'algorithme de hachage utilisé et recalculer une
nouvelle valeur de l'empreinte sur la suite d'éléments binaires
modifiés, une fonction de chiffrement doit être appliquée
à la signature.
Les plus célèbres techniques de signature sont
les suivantes :
? MD5 (Message Digest #5), de 1992, défini dans la RFC
1321. Ce sont des fonctions conçues par Ron Rivest qui produisent des
empreintes de 128 bits.
? SHA-1 (Secure Hash Algorithm), de 1993, pour les fonctions
de hachage. Cette technique permet de réaliser une empreinte de 160
bits.
2.2.1.2.6 La non-répudiation
Les services de non-répudiation consistent à
empêcher le démenti qu'une information a été
reçue par une station qui l'a réclamée. Ce service permet
de donner des preuves, comme on peut le faire par télex. De
manière équivalente, on peut retrouver la trace d'un appel
téléphonique, de telle sorte que le récepteur de l'appel
ne puisse répudier cet appel.
Mémoire présenté et soutenu par Bertrand
MOHOTE TADZONG Page 26
Sécurisation d'un réseau intranet : cas de
CAMTEL
La fonction de non-répudiation peut s'effectuer
à l'aide d'une signature à clé privée ou publique
ou par un tiers de confiance qui peut certifier que la communication a bien eu
lieu.
|