Vous êtes sur la page 1sur 12

Sécurité des systèmes d’informations

en se basant sur les algorithmes


cryptographiques
Mohammed ERRITALI, Mohamed Fakir ,Belaid Bouikhalen
mederritali@yahoo.fr
Faculté des sciences et techniques de Benimellal

Résumé:

Dans cet article, nous allons dresser un panorama sur l’utilisation de la cryptographie et la signature numérique
pour sécuriser un système d’information, nous commençons par un état de l’art sur les algorithmes
cryptographies et les algorithmes de signature numérique et on termine par quelques applications.

Mots clés : chiffrement symétrique, chiffrement asymétriques ,signature numérique ,ICP,SSL.

1. Introduction informatique doit être étudiée de telle


Les systèmes d’informations font manière à ne pas empêcher les
désormais partie intégrante du utilisateurs de développer les usages qui
fonctionnement des administrations leur sont nécessaires, et de faire en sorte
publiques, de l’activité des entreprises, qu'ils puissent utiliser le système
et du mode de vie des citoyens. d'information en toute confiance.
Les services qu’ils assurent nous sont En effet la notion de cryptographie est
tout aussi indispensables que née à partir du moment où l’on a voulu
l’approvisionnement en eau ou en communiquer à l’abri d’oreilles
électricité. indiscrètes. De Jules César et son armée,
Dans la vie de tous les jours, la dématérialisation, à Roméo et Juliette, en passant par
les échanges numériques, font que chacun est de toutes les cartes au trésor, il a fallu
plus en plus dépendant des outils mis à sa chiffrer certains renseignements. La
disposition : suivis et transactions bancaires, période contemporaine n’a rien amélioré
déclarations d’impôts, achats en ligne,...etc dans ce domaine. Au contraire, la société
S’il en était besoin, des événements récents sont là de consommation a fait apparaître de
pour nous le prouver. Que le SI (système nouveaux besoins cryptographiques.
d’information) défaille et c’est toute une machine, Bien entendu sont restées présentes les
une chaine de production, une entreprise, un secteur applications militaires des
d’activité qui s’arrête ! communications secrètes, ainsi que les
Dans ce contexte, il est naturel de prendre des transactions bancaires.
mesures pour sécuriser le SI au juste niveau . Mais en outre il faut assurer le secret des
D’où la nécessité d'identifier les menaces communications sur des réseaux télé-
potentielles, et donc de connaître et de prévoir la informatiques, ainsi qu’empêcher les
façon de procéder de l'ennemi. pirates des temps modernes de s’infiltrer
La sécurité des systèmes informatiques dans ces réseaux d’ordinateurs. La
se cantonne généralement à garantir les cryptographie sert de plus en plus dans
droits d'accès aux données et ressources des domaines variés.
d'un système en mettant en place des Jusqu’à récemment, la sécurité de ces
mécanismes d'authentification et de systèmes reposait sur une information
contrôle permettant d'assurer que les secrète que se partageaient les
utilisateurs des dites ressources utilisateurs, et qui permettait de
possèdent uniquement les droits qui leur communiquer de manière confidentielle.
ont été octroyés. Ces mécanismes de Pour cette raison, l’ensemble de ces
sécurité mis en place peuvent systèmes est appelé cryptographie à clé
néanmoins provoquer une gêne au secrète. Comme systèmes à clé secrète,
niveau des utilisateurs et les consignes on se sert d’algorithmes utilisant la
et règles deviennent de plus en plus même clé en chiffrement et en
compliquées au fur et à mesure que le déchiffrement et qui, pour cela, sont
réseau s'étend. Ainsi, la sécurité appelés algorithmes de chiffrement

1
symétriques. Le DES, l’AES, IDEA en sont
les exemples les plus célèbres. Bien que
ces algorithmes soient encore très
utilisés pour le chiffrement de messages
en raison du très haut débit, ceux-ci ne
satisfont plus les besoins nouveaux.
La cryptographie à clé publique a été
formalisée et a permis de répondre à ces
besoins. Il s’agit de l’ensemble des
moyens qui permettent de fournir une
solution aux nouveaux problèmes qui
sont l’identification, l’authentification et
la confidentialité de messages. Figure 1: Chiffrement symétrique
La cryptographie à clé publique
intervient dans de nombreuses Les techniques cryptographiques s’appliquent aux
applications quotidiennes, de l’utilisation différents besoins de sécurité pour les échanges de
de cartes à puce en passant par la données informatisées :
téléphonie mobile, jusqu’à la connexion • L’authentification : par challenge cryptographique
d’un utilisateur à un ordinateur. (défi-réponse), c’est à dire transformation, à l’aide
Cependant, la sécurité de ces d’une valeur secrète, d’une valeur (le défi) pour
applications repose essentiellement sur donner une valeur attendue par le vérificateur (la
deux problèmes réputés difficiles de réponse).
théorie des nombres : le problème de • L’intégrité : par calcul d’une empreinte numérique
factorisation et le problème du du texte à protéger avec un algorithme résistant aux
logarithme discret. Bien que ces deux collisions (risque que deux textes différents donnent
problèmes résistent encore aux la même empreinte).
cryptanalystes, ils ne sont pas à l’abri • La confidentialité : par transformation
d’une percée théorique ni même de cryptographique, avec l’aide d’une clé secrète, du
l’ordinateur quantique qui mettrait en texte à protéger.
danger la difficulté de les résoudre. • La non-répudiation : par calcul d’une valeur
Alors que la cryptographie tente de propre à l’acteur qui a fait telle ou telle action.
protéger les secrets des attaques
d’éventuels fraudeurs. 2.1-Data Encryption Standard (DES)

2-Chiffrement symétrique à clé secrète Le premier système de chiffrement informatique


normalisé fut créé par le cryptographe américaine
De l’époque de Jules César à la fin des années d'origine allemande , Horst Feistel en 1934[2]. Sa
1970, un grand nombre de systèmes de chiffrement nationalité et son métier de cryptographe lui
ont été inventés ( DES,AES,RSA…) [2], qui valurent quelques difficultés avec la National
consistaient à faire subir à un texte clair une Security Agency (NSA), désireuse avant tout de
transformation plus ou moins complexe pour en garder la maîtrise des moyens de chiffrement et de
déduire un texte, dit chiffré. La transformation pouvoir percer les codes utilisés par des personnes
repose sur deux éléments : une fonction privées. Finalement il mit ses compétences au
mathématique et une clé secrète. Seule une service d’IBM, pour qui il développa au début des
personne connaissant la fonction et possédant la clé années 1970 le cryptosystème Lucifer, base du futur
peut effectuer la transformation inverse, qui Data Encryption Standard (DES).
transforme le texte chiffré en texte clair. C’est la Le DES repose sur les principes suivants : le texte
même clé qui sert au chiffrement et au clair est codé en numération binaire et découpé en
déchiffrement, et pour cette raison elle doit rester blocs de 64 bits. Chaque bloc est découpé en demi-
secrète. blocs dont les bits subissent des permutations
La Figure 1 est une illustration du processus de complexes, puis les demi-blocs sont additionnés et
chiffrement symétrique soumis à d’autres transformations. L’opération est
recommencée seize fois. La fonction de
transformation comporte des variations en fonction
de la clé, qui est un nombre arbitraire choisi par les
utilisateurs du code. Le nombre de valeurs possibles
pour la clé détermine le nombre de façons dont un
message peut être chiffré. La Figure 2 illustre
les étapes de l'algorithme DES .
L’émetteur du message secret le chiffre selon
l’algorithme DES au moyen de la clé, le

2
destinataire applique la fonction inverse avec la (National Institute of Standards and Technology) en
même clé pour le déchiffrer. 2001 [9,10]. De plus, son utilisation est très
pratique car il consomme peu de mémoire et n'étant
La NSA a obtenu que la normalisation du DES en pas basé sur un schéma de Feistel, sa complexité est
1976 [2] comporte une limitation de la taille de la moindre et il est plus facile à implémenter.
clé à 56 bits. Aujourd’hui cette valeur est L'algorithme prend en entrée un bloc de 128 bits
notoirement trop faible, et l’on utilise le triple DES, (16 octets), la clé fait 128, 192 ou 256 bits. Les 16
avec une longueur de clé de 112 bits. octets en entrée sont permutés selon une table
La postérité actuelle du DES procure un définie au préalable. Ces octets sont ensuite placés
chiffrement qui peut être considéré comme robuste, dans une matrice de 4x4 éléments et ses lignes
à condition que soit résolu le problème crucial de subissent une rotation vers la droite. L'incrément
tous les systèmes qui reposent sur une clé secrète pour la rotation varie selon le numéro de la ligne.
utilisée aussi bien pour le chiffrement que pour le Une transformation linéaire est ensuite appliquée
déchiffrement : les participants doivent s’échanger sur la matrice, elle consiste en la multiplication
des clés de façon secrète, ce qui n’est pas simple. binaire de chaque élément de la matrice avec des
L'algorithme DES polynômes issus d'une matrice auxiliaire, cette
multiplication est soumise à des règles spéciales
selon GF(28) (groupe de Galois ou corps fini)
[9,10]. La transformation linéaire garantit une
meilleure diffusion (propagation des bits dans la
structure) sur plusieurs tours.
Finalement, un XOR entre la matrice et une autre
matrice permet d'obtenir une matrice intermédiaire.
Ces différentes opérations sont répétées plusieurs
fois et définissent un « tour ». Pour une clé de 128,
192 ou 256, AES nécessite respectivement 10, 12
ou 14 tours.
La Figure 3 illustre les différents opérations de
l'algorithme AES .

Figure 2: Data Encryption Standard

2.2-Advanced Encryption Standard (AES)


Il est issu d'un appel à candidatures international
lancé en janvier 1997 et ayant reçu 15 propositions.
Parmi ces 15 algorithmes, 5 furent choisis pour une
évaluation plus poussée en avril 1999 : MARS,
RC6, Rijndael, Serpent, et Twofish . Au bout de
cette évaluation, ce fut finalement le candidat
Rijndael, du nom de ses deux concepteurs Joan
Daemen et Vincent Rijmen (tous les deux de
nationalité belge) qui a été choisi [9,10]. Ces deux
experts en cryptographie étaient déjà les auteurs
d'un autre algorithme : Square. AES est un sous-
ensemble de Rijndael : il ne travaille qu'avec des
blocs de 128 bits alors que Rijndael offre des tailles
de blocs et de clefs qui sont des multiples de 32
(compris entre 128 et 256 bits). Figure 3: Advanced Encryption Standard
Ce faisant, l'AES remplace le DES (choisi comme
standard dans les années 1970) qui de nos jours 2.3-Protocole Diffie et Hellman
devenait obsolète, car il utilisait des clefs de 56 bits
seulement. L'AES a été adopté par le NIST
3
Si Ayoub veut entretenir une correspondance 1.Ayoub choisit un nombre qui restera son secret,
secrète avec Mohammed, ils peuvent convenir de disons A.
chiffrer leurs messages avec une algorithme tel que 2.Mohammed choisit un nombre qui restera son
le triple DES ou AES, que nous venons de secret, disons B.
présenter. Cette algorithme présente toutes les 3.Ayoub et Mohammed veulent échanger la clé
garanties de robustesse, mais il faudra que Ayoub et secrète, qui est en fait , mais ils
Mohammed conviennent d’une clé secrète : pour ce ne la connaissent pas encore, puisque chacun ne
faire, ils devront se rencontrer, ce qui peut être connaît que A ou B, mais pas les deux.
impossible, ou se communiquer la clé par la poste . 4.Ayoub applique à A la fonction à sens unique,
Dans les deux cas, l’instant de l’échange est celui
soit α le résultat :
dont un espion peut profiter pour dérober leur secret
et ainsi réduire à néant la sûreté de leurs 5. Mohammed applique à B la fonction à sens
communications. C’est le problème de l’échange de unique, soit β le résultat :
clés. 6.Ayoub envoie α à Mohammed, et Mohammed lui
envoie β, comme représenté par la, ils peuvent être
connus de la terre entière sans que le secret d’
2.3.1-Le problème de l’échange de clés Ayoub et de Mohammed soit divulgué.
Depuis des siècles le problème de l’échange des 7. Ayoub a reçu β et calcule (c'est-à-
clés était considéré comme un inconvénient naturel dire en passant par , mais il ne
du chiffrement.
Avec l’utilisation de l’ordinateur et des connaît pas B) :
télétransmissions, et la dématérialisation de 8. Mohammed a reçu α et calcule (c'est-
l’information qu’ils autorisent, le problème se pose à-dire en passant par, ,mais il ne
différemment. Dans les années 1970 un chercheur
indépendant, Whitfield Diffie [2], réfléchissait au connaît pas A) :
moyen pour deux utilisateurs du réseau ARPANET Ayoub et Mohammed obtiennent à la fin de leurs
d’échanger des courriers électroniques chiffrés sans calculs respectifs le même nombre qui n’a jamais
se rencontrer physiquement au préalable pour été exposé à la vue des indiscrets : c’est la clé S .
convenir de la clé de chiffrement qu’ils
utiliseraient. En 1974 il donna une conférence sur le 3-Le chiffrement asymétrique à clé
sujet au centre de recherche Thomas J. Watson
d’IBM à Yorktown Heights (déjà le lieu de travail
publique
de Horst Feistel), et là il apprit que Martin Hellman,
professeur à l’université Stanford à Palo Alto, avait La méthode de Diffie et Hellman permet l’échange
donné une conférence sur le même sujet. Aussitôt il de clés, mais elle impose une concertation préalable
prit sa voiture et traversa le continent pour entre les acteurs. Parfois ce n’est pas pratique : si
rencontrer Hellman[2]. Ayoub veut envoyer à Mohammed un courrier
Diffie et Hellman cherchaient une méthode pour électronique chiffré pendant qu’il est en vacances, il
convenir d’un secret partagé sans le faire circuler sera obligée d’attendre son retour pour établir la clé
entre les participants, en d’autres termes une avec lui.
fonction mathématique telle que les participants Whitfield Diffie avait eu une autre idée, pour
puissent échanger des informations dont eux seuls laquelle il n’avait pas trouvé de solution
pourraient déduire le secret. Les caractéristiques mathématique appropriée : un système où l’on
souhaitées d’une telle fonction sont la relative utiliserait une clé pour chiffrer et une autre pour
facilité de calcul dans le sens direct, et la quasi- déchiffrer. Ainsi, Mohammed proposerait à Ayoub
impossibilité de calculer la fonction réciproque. une clé de chiffrement, avec laquelle il coderait le
Ainsi, si s est le secret en clair, F la fonction de message, et Mohammed le décoderait avec une clé
chiffrement, c le secret chiffré, D la fonction de différente, la clé de déchiffrement (Figure 4). La clé
déchiffrement, il faut que c = F(s) soit facile à de chiffrement ne permet que de chiffrer, même
calculer, mais s = D(c) pratiquement impossible à Ayoub serait incapable de déchiffrer son propre
calculer pour tout autre que les participants . message avec cette clé, seul Mohammed le peut
avec sa clé de déchiffrement. Comme la clé de
2.3.2-Mise en œuvre de l’algorithme Diffie- chiffrement ne fonctionne que dans un sens, elle
Hellman permet de créer des secrets mais pas d’en dévoiler,
Le protocole d’échange de clés de Diffie- et elle peut donc être publique, inscrite dans un
Hellman ,repose sur une fonction de la forme annuaire ou sur un site Web.
, avec P premier et W < P. Quiconque veut envoyer un message chiffré à
Une telle fonction est très facile à calculer, mais la Mohammed peut la prendre et l’utiliser.
connaissance de K ne permet pas d’en déduire Il faut seulement être sûr que personne ne pourra
facilement X. Cette fonction est publique, ainsi que calculer la clé de déchiffrement à partir de la clé de
les valeurs de W et P. chiffrement. Et là l’intuition mathématique est
décisive.

4
Si l’idée du chiffrement asymétrique à clés asymétrique qui fut inventée dans le milieu des
publiques revient à Diffie et Hellman, la réalisation années 70. En effet la cryptographie moderne ne se
de cette idée revient à Rivest, Shamir et Adleman. limite plus à assurer la confidentialité des
Ils ont trouvé une solution mathématique RSA informations, mais elle permet aussi
permettant sa mise en œuvre . l’authentification de celles–ci grâce à la signature
Une personne désireuse de communiquer selon numérique.
cette méthode doit procéder ainsi : La signature numérique est donc un mécanisme qui
1. Prendre deux nombres premiers p et q. En permet d'authentifier un message, autrement dit de
cryptographie réelle on choisira de très grands prouver qu'un message provient bien d'un
nombres, de 150 chiffres décimaux chacun. expéditeur donné.
2. Calculer n = pq. Selon la norme ISO 7498-2 relative à l’architecture
3. Calculer z = (p − 1)(q − 1). (Ce nombre est la de sécurité pour les systèmes ouverts, la définition
valeur de la fonction φ(n), dite fonction d’Euler, et de la signature numérique : « Données ajoutées à
on notera qu’elle donne la taille du groupe une unité de données, ou transformation
multiplicatif modulo n, ). cryptographique d’une unité de données,
4. Prendre un petit entier e, impair et premier avec permettant à un destinataire de prouver la
source et l’intégrité de l’unité de données et
z. Dans la pratique, e sera toujours petit devant .
protégeant contre la contrefaçon par le
5. Calculer l’inverse de e (mod z), c’est-à-dire d tel destinataire» [7].
que e.d = 1 mod z. Les théorèmes de l’arithmétique La signature est réalisée en utilisant la clé privée du
modulaire nous assurent que, dans notre cas, d signataire, tous ses partenaires pouvant alors
existe et est unique. vérifier sa signature en utilisant sa clé publique.
6. La paire P = (e, n) est la clé publique. Dans tous les protocoles opérationnels, c’est en fait
7. Le triplet S = (d, p, q) est la clé privée. une empreinte numérique, et non pas l’ensemble du
Ayoub veut lui envoyer un message M. il se procure document, qui est signée, ce pour des raisons de
la clé publique de Mohammed sur son site Web et il performance, les algorithmes asymétriques étant
procède au chiffrement de son message M pour très consommateurs de ressources.
obtenir le chiffré C comme ceci: La technique utilisée pour calculer l'empreinte
C = P(M) = numérique est le hachage. Cette technique permet
Pour obtenir le texte clair T, Mohammed décode de produire un condensé de message qui est une
avec sa clé secrète ainsi : représentation réduite et unique du message
T = S(C) = complet. La Figure 5 illustre les étapes de
En fait c’est très logique : la signature numérique. Les algorithmes de
S(C) = hachage sont des algorithmes de chiffrement
unidirectionnels; il est donc impossible de retrouver
= le message d'origine à partir du condensé .Les
= mod n raisons principales pour lesquelles on produit un
= M mod n condensé de message sont :
1. l'intégrité du message envoyé est préservée; toute
Le dernier résultat, = M (mod n) découle du altération du message sera aussitôt détectée;
fait que e et d sont inverses modulo n, il se 2. la signature numérique sera appliquée au
démontre grâce au petit théorème de Fermat . condensé dont la taille est habituellement beaucoup
plus petite que le message lui-même;
3. les algorithmes de hachage sont bien plus rapides
que n'importe quel algorithme de chiffrement (que
ce soit à clé publique ou à clé symétrique).
Le condensé de message est fort probablement
unique dans le sens où il est presque impossible de
trouver deux messages significatifs qui produiront
simultanément le même condensé. Par conséquent,
la probabilité qu'un message trafiqué produise le
même condensé que l'original est quasiment nulle.

Figure 4 : Chiffrement asymétrique

4-Signature numérique
4.1-Introduction
La signature électronique est une
application très concrète de la cryptographie

5
La structure des certificats est normalisée par le
standard X.509 de l'UIT (U n i o n
Internationale des
T é l é c o m m u n i c a t i o n s ), qui définit les
informations contenues dans le certificat :
• La version de X.509 à laquelle le certificat
correspond ;
• Le numéro de série du certificat ;
• L'algorithme de chiffrement utilisé pour
signer le certificat ;
• Le nom (DN, pour Distinguished Name)
de l'autorité de certification émettrice ;
• La date de début de validité du certificat ;
• La date de fin de validité du certificat ;
Figure 5: Signature numérique • L'objet de l'utilisation de la clé publique ;
• La clé publique du propriétaire du
La signature numérique nécessite l'utilisation de certificat ;
certificats électroniques. Ceux-ci sont générées par • La signature de l'émetteur du certificat
des Autorités de Certification (CA), qui permettent (thumbprint).
d'identifier de façon unique la personne (ou l'entité) L'ensemble de ces informations (informations + clé
qui détient les clés publiques et privées : ils peuvent publique du demandeur) est signé par l'autorité de
être vus comme la carte d'identité numérique de certification, cela signifie qu'une fonction de
cette personne ou entité. En plus de ce rôle, les hachage crée une empreinte de ces informations,
certificats peuvent permettre de chiffrer des puis ce condensé est chiffré à l'aide de la clé privée
informations. de l'autorité de certification (Figure 6); la clé
publique ayant été préalablement largement
4.2-Certificat diffusée afin de permettre aux utilisateurs de
Les algorithmes de chiffrement vérifier la signature avec la clé publique de
asymétrique sont basés sur le partage entre les l'autorité de certification.
différents utilisateurs d'une clé publique.
Généralement le partage de cette clé se fait au
travers d'un annuaire électronique.
Toutefois ce mode de partage a une grande lacune :
rien ne garantit que la clé est bien celle de
l'utilisateur a qui elle est associée. En effet un
pirate peut corrompre la clé publique présente dans
l'annuaire en la remplaçant par sa clé publique.
Ainsi, le pirate sera en mesure de déchiffrer tous les
messages ayant été chiffrés avec la clé présente
Figure 6: Création d'un certificat par l'autorité de
dans l'annuaire.
certification
Ainsi un certificat permet d'associer une clé
publique à une entité (une personne, une
Lorsqu'un utilisateur désire communiquer avec une
machine, ...) afin d'en assurer la validité. Le
autre personne, il lui suffit de se procurer le
certificat est en quelque sorte la carte d'identité de
certificat du destinataire. Ce certificat contient le
la clé publique, délivré par un organisme appelé
nom du destinataire, ainsi que sa clé publique et est
autorité de certification (souvent notée CA pour
signé par l'autorité de certification. Il est donc
Certification Authority).
possible de vérifier la validité du message en
L'autorité de certification est chargée de délivrer les
appliquant d'une part la fonction de hachage aux
certificats, de leur assigner une date de validité
informations contenues dans le certificat, en
(équivalent à la date limite de péremption des
déchiffrant d'autre part la signature de l'autorité de
produits alimentaires), ainsi que de révoquer
certification avec la clé publique de cette dernière et
éventuellement des certificats avant cette date en
en comparant ces deux résultats.
cas de compromission de la clé (ou du propriétaire).
La Figure 7 illustre cette vérification .
Structure d'un certificat

Les certificats sont des petits fichiers divisés en


deux parties :
• La partie contenant les informations
• La partie contenant la signature de
l'autorité de certification
6
L’AC peut déléguer tout ou partie de la réalisation
des fonctions dont elle est responsable . La fonction
qui est le plus souvent déléguée est celle de
l’Autorité d’Enregistrement (AE ou RA
Registration Authority).
• L’autorité d’enregistrement collecte les
demandes de certificats avec les
informations nécessaires aux vérifications
d’identité.
• Elle transmet cette demande à l’AC et sert
d’intermédiaire pour la distribution de
Figure 7: Vérification d'un certificat supports physiques de certificats (cartes à
puces par exemple) et de mot de passes
Signatures de certificats utilisés dans les échanges avec les
utilisateurs.
• Elle peut servir également d’intermédiaire
On distingue différents types de certificats selon le pour les révocations (en cas de perte de
niveau de signature : cartes par exemple).
• Les certificats auto-signés sont Tiers de séquestre : Opérateur qui fournit les
des certificats à usage interne. moyens de déchiffrer un message quand le
Signés par un serveur local, ce détenteur des clefs de déchiffrement ne peut ou ne
type de certificat permet de veut pas le déchiffrer et que les nécessités ou la loi
garantir la confidentialité des l’y oblige. Un tiers de séquestre, séquestre donc
échanges au sein d'une des clefs de déchiffrement.
organisation, par exemple pour le Horodatage de confiance: Il s’agit d’offrir un
besoin d'un intranet. Il est ainsi accès à un serveur de temps permettant de dater de
possible d'effectuer une documents faisant l’objet de signatures
authentification des utilisateurs électroniques. Les propriétés de ce serveur doivent
grâce à des certificats auto- couvrir les attaques d’anti et post datage du
signés. document. Toutes entités impliquées dans un
• Les certificats signés par un schéma à clef publique doit détenir la clef publique
organisme de certification de l’autorité de certification.
sont nécessaires lorsqu'il s'agit Tout accès à un certificat doit être contrôlé:
d'assurer la sécurité des • Vérifier que la signature est valide
échanges avec des utilisateurs • Vérifier que la date courante est dans la
anonymes, par exemple dans le période de validité
cas d'un site web sécurisé Pour éviter les rejeux de certificats invalidés le
accessible au grand public. Le serveur d ’annuaire doit :
certificateur tiers permet • Soit s’authentifier
d'assurer à l'utilisateur que le • Soit dater et signer sa réponse
certificat appartient bien à • Soit transmettre périodiquement des listes
l'organisation à laquelle il est de révocation datée et signées
déclaré appartenir.
4.4-Fonctionnement d'une ICP (Infrastructure à
Clé Publique)
4.3-Infrastructure à clés publiques
Une ICP est une combinaison de logiciels et de
l’autorité de Certification (AC ou CA Certification méthodes offrant un moyen de gérer les clés et les
Authority) : certificats et de les utiliser efficacement. Il suffit de
C’est le cœur du système. Elle a la responsabilité songer à la complexité des opérations décrites plus
de la qualité du service de certification, définie par tôt dans cet article pour comprendre l'absolue
un document qui doit être connu de tous les nécessité de fournir aux utilisateurs un soutien
utilisateurs des certificats : La Politique de logiciel approprié en matière de cryptographie et de
Certification (PC) (Certification Policy PC). signature numérique. Mais rien n'a été dit encore au
• Celle ci peut être précisée par des DPC sujet de la gestion.
(Déclaration de Procédures de Gestion des clés et des certificats
Certifications) (Certification Practice La gestion des clés et des certificats englobe la série
Statement CPS). d'opérations requises pour créer et maintenir les
• Une PC est une déclaration d’engagement clés et les certificats. La liste qui suit décrit les
qui doit permettre à un tiers de juger s’il principaux aspects pris en charge par une solution
peut utiliser un certificat pour une de gestion ICP :
application donnée.
7
1. Création des clés et des certificats : Comment Chaque fois qu'une clé est mise à jour, une nouvelle
générer des paires de clés? Comment délivrer des paire de clés est générée. Les fichiers qui ont été
certificats aux utilisateurs? chiffrés à l'aide d'une ancienne clé publique ne
Une ICP doit offrir un soutien logiciel pour la peuvent être déchiffrés qu'avec la clé
génération des paires de clés et les demandes de privée correspondante. Si la gestion de l'historique
certificat. De plus, des méthodes doivent être mises des clés n'est pas assurée, l'utilisateur devra lui-
en place pour vérifier l'identité de l'utilisateur avant même déterminer quelle clé il doit utiliser pour
de l'autoriser à demander un certificat. déchiffrer un fichier donné.
2. Protection des clés privées : Comment 7. Accès aux certificats : Comment un utilisateur
l'utilisateur protégera-t-il sa clé privée pour qui veut envoyer un message à plusieurs
empêcher d'autres utilisateurs de s'en servir à destinataires pourra-t-il obtenir leurs certificats?
mauvais escient? Une ICP doit offrir un moyen facile et commode
Les certificats sont librement accessibles parce d'accéder à ces certificats. Un répertoire LDAP
qu'ils sont utilisés pour le chiffrement ou la (Lightweight Directory Access Protocol) est
vérification de signature. Les clés privées couramment utilisé à cette fin .
requièrent un niveau de protection raisonnable car
elles sont utilisées pour le déchiffrement ou la 4.5-Principe de la signature
signature numérique. Un solide mécanisme de mot
de passe doit faire partie des caractéristiques d'une numérique
ICP efficace.
3. Révocation de certificat : Comment gérer la • M= ensemble des messages à signer,
situation quand la clé privée d'un utilisateur est • S = ensemble de signatures,
compromise? Ou encore, comment gérer la • K = ensemble de clés
situation quand un employé quitte la compagnie? Pour une clé donnée k ∈ K, on a une fonction de
Comment savoir si un certificat a été révoqué? signature : M → S, et une fonction de
Une ICP doit offrir un moyen de révoquer un
certificat. Une fois révoqué, le certificat doit être vérification : M×S → {vrai,faux} telles que
inclus dans une liste de révocation accessible à tous pour chaque message m ∈ M et chaque signature
les utilisateurs. Un mécanisme doit être fourni pour s∈ S on ait (m,s)= vrai⇔ (m)= s
vérifier cette liste de révocation et interdire
l'utilisation d'un certificat révoqué.
4.5.1-La signature RSA
4. Sauvegarde et récupération des clés : Qu'arrive-t-
il aux fichiers chiffrés quand un utilisateur perd sa • M= S = , ou n est le produit de deux nombres
clé privée? premiers p et q.
Si la sauvegarde des clés n'est pas assurée, tous les • K = {(n,e,d) | ed≡ 1 (mod ϕ(n))} n et e sont
messages et fichiers qui ont été chiffrés à l'aide de publics, d est secret.
sa clé publique ne peuvent plus être déchiffrés et La fonction de signature se calcule par
sont donc perdus à jamais. Une ICP doit offrir un s= (m)=
mécanisme de sauvegarde et de récupération des La Figure 8 illustre le processus de
clés privées afin que l'utilisateur puisse récupérer sa création de la signature RSA.
clé privée et accéder à ses fichiers.
5. Mise à jour des clés et des certificats : Qu'arrive-
t-il quand un certificat atteint ou est sur le point
d'atteindre sa date d'expiration?
Les clés et certificats ont une durée limitée. Une
ICP doit offrir un mécanisme permettant au moins
de mettre à jour la date d'expiration des certificats.
Il est de bonne pratique, toutefois, d'assurer la mise
à jour des clés et des certificats. Cette mise à jour
peut se faire automatiquement, auquel cas
l'utilisateur final reçoit un avis l'informant que la
mise à jour a été effectuée, ou elle peut nécessiter
une intervention de l'utilisateur au moment ou avant
le moment où ses clés et certificats arrivent à
expiration; dans ce cas, l'ICP doit informer au Figure 8: Création du signature RSA
préalable l'utilisateur qu'une intervention de sa part
est nécessaire. La vérification s’effectue en calculant m' =
6. Gestion de l'historique des clés : Après plusieurs
mises à jour des clés, comment l'utilisateur saura-t- (mod n) et on a (m,s)= vrai⇔ m= m'
il quelle clé privée utiliser pour déchiffrer les La Figure 9 illustre le processus de
fichiers? vérification de la signature RSA.

8
On choisie les paramètres suivant:
Un nombre premier p
Un deuxième nombre premier q diviseur q de p-1
Un générateur g du groupe cyclique d'ordre q de
Un entier x<q , on calcule y= mod p
La clé publique est (p,q,g,y).
La clé privée est x
Pour signer un message m:
Choisir un entier k<q aléatoire
Calculer :
Figure 9: Vérification du signature RSA ( r= ) mod q
s= (H(m)+xr)mod q
4.5.2-La signature El Gamal La signature de m est (r,s)
Pour vérifier la signature :
Processus de signature Vérifier que r et s sont dans l'intervalle [1,q-1]
Choix d'un nombre premier p. Calculer :
Générateur g du groupe multiplicatif w=
Choix d'un entier x compris entre 0 et p-1 u=wH(m) mod q
On calcule y= mod p v=rw mod q
La clé public est (p,g,y) z=( mod p) mod q
La clé privée est x Accepter si z=r
Pour signer un message m:
Choisir k<p-1 aléatoire et premier avec p-1.
5-Sécurité des échanges sur
Calculer r= mod p et s= (H(m)-xr) mod p-1
La signature de m et (r,s).
Internet
5.1-Introduction
La Figure 10 illustre le processus de
Avec le développement d'Internet, de
création de la signature EL GAMAL .
nombreuses sociétés commerciales commencent à
proposer des achats en ligne pour les particuliers.
L'offre se met à croître régulièrement, mais le
chiffre d'affaires dégagé par le commerce
électronique restera encore modeste, tant que les
clients n'auront pas une confiance totale dans le
paiement par carte bancaire. Une des façons de
sécuriser ce paiement est d'utiliser des protocoles
d'authentification et de chiffrement tels que TLS
(Transport layer Secure).
La première version de SSL (Secure Socket layer )
à être parue [3], SSL 2.0, possédait un certain
nombre de défauts de sécurité, parmi lesquels la
possibilité de forcer l'utilisation d'algorithmes de
chiffrement plus faibles, ou bien une absence de
protection pour la prise de contact et la possibilité
pour un attaquant d'exécuter des attaques par
troncature . Le protocole SSL 3.0, fut développé
Figure 10: Signature ELGAMAL pour résoudre la majeure partie de ces problèmes,
devenant rapidement le protocole le plus populaire
Pour vérifier une signature : pour sécuriser les échanges sur Internet.
Tester si 0<r<p Avec un système SSL/TLS, la sécurité a été
Calculer u= mod p et v= mod p sensiblement améliorée, et les risques pour le client
sont minimisés. Le degré de confiance à placer dans
Accepter si u=v
cette technologie, doit être comparé aux solutions
de paiement par chèque ou par mandat. Dans celles-
4.5.3-Signature DSA(Digital Signature Algorithm)
ci, d'après différentes études, le risque est près de
20 fois supérieur au risque lié à la toute première
Un standard Américain (FIPS 186) datant de 1995
version de SSL. De plus il est à noter que les
de signature basé sur le principe de la signature
distributeurs bancaires courants utilisent presque
ELGamal , il utilise une fonction de hachage
tous cette même technologie pour faire transiter les
résistante aux collisions.
informations vers la banque, et utilisent parfois
Processus de signature:
9
même une version plus ancienne de SSL que les besoin pour communiquer avec lui en
sites de e-commerce actuels, ce qui tend à prouver utilisant SSL.
la fiabilité de cette solution. 2. Le serveur envoie au client sa version de
La session chiffrée est utilisée généralement lors de SSL ses paramètres de chiffrement, des
l'envoi du numéro de carte bancaire, mais elle peut données générées aléatoirement, et toutes
l'être dans d'autres cas. Le chiffrement est réalisé autres informations dont le client à besoin
par un chiffrement asymétrique (qui va permettre pour communiquer avec lui en utilisant
une authentification), comme par exemple SSL. Le serveur envoie également son
l'algorithme RSA, et par un chiffrement symétrique propre certificat et, si le client demande
(qui est plus léger à réaliser qu'un chiffrement une ressource serveur nécessitant une
asymétrique) et qui va assurer la transmission des authentification client, il demande le
informations (comme par exemple le AES). On y certificat client.
adjoint une fonction de hachage, comme le SHA-1, 3. Le client utilise certaines informations
pour s'assurer que les données sont transmises sans envoyées par le serveur pour l'authentifier.
être corrompues. Si le serveur ne peut pas être authentifié,
En 2009, TLS est utilisé par la plupart des l'utilisateur est averti du problème et il est
navigateurs Web. On reconnaît qu'une transaction informé que la connexion chiffrée et
est chiffrée lorsqu'une clé ou un cadenas fermé authentifiée ne peut pas être établie. Si le
s'affiche dans un coin inférieur de l'écran ainsi qu'à serveur peut être correctement authentifié,
gauche dans la barre d'adresse, l'adresse commence le client procède alors à l'étape 4.
par https://.. 4. En utilisant toutes les données générées
pendant la négociation SSL, le client (avec
Dans la pile de protocole TCP/IP, SSL se situe la coopération du serveur, suivant les
entre la couche application (comme HTTP, et la chiffrements utilisés) crée un code secret
couche transport TCP. Son utilisation la plus préliminaire pour la session, le chiffre avec
commune reste cependant en dessous de la clef publique du serveur (obtenue dans
http(Hypertext Transfer Protocol). La couche SSL le certificat du serveur envoyé à l'étape 2),
est implémentée par la couche session de la pile, ce et envoie le code secret préliminaire
qui a deux conséquences : chiffré au serveur.
• pour toute application existante, il peut 5. Si le serveur requiert une authentification
exister une application utilisant SSL. Par client (une étape optionnelle dans la
exemple, l'application HTTPS (Hypertext négociation), le client doit alors signer une
Transfer Protocol secured) correspond à autre portion de données limitée à cette
HTTP au-dessus de SSL ; négociation et connue par le client et le
• une application SSL se voit attribuer un serveur. Dans ce cas, le client envoie les
nouveau numéro de port par données chiffrées et son propre certificat
l'IANA(Internet Assigned Numbers au serveur ainsi que le code secret
Authority). Par exemple HTTPS est préliminaire chiffré.
associé au port 443. 6. Si le serveur a requis une authentification
client, il tente cette authentification . Si le
client ne peut être authentifié, alors la
2-Authentification du client SSL par certificat session prend fin. Si le client est
numérique authentifié avec succès, le serveur utilise
Une session SSL débute toujours par un échange de sa clef privée pour déchiffrer le code secret
messages appelé négociation SSL. La négociation préliminaire, puis procéder à une série
permet au serveur de s'authentifier auprès du client d'étapes (également exécutée par le client,
en utilisant les techniques par clef publique, puis à partir du même code secret préliminaire)
autorise le client et le serveur à coopérer pour la pour générer le code secret principale.
création de clefs symétriques utilisées pour le 7. Le client et le serveur utilise tout les deux,
cryptage rapide, le décryptage, et la détection de le code secret principale pour générer des
l'altération des données pendant la session qui suit. clefs de sessions, qui sont des clefs
Éventuellement, la négociation SSL peut également symétriques utilisées pour chiffrer et
permettre au client de s'authentifier auprès du déchiffrer les informations échangées
serveur. La Figure 11 illustre cette authentification. pendant la session SSL et pour vérifier leur
Les détails exacts des messages échangés pendant intégrité, afin de détecter tout changement
la négociation SSL peuvent être résumées comme : intervenu dans les données entre leur
envoie et leur réception durant la
1. Le client envoie au serveur sa version de connexion SSL.
SSL, ses paramètres de chiffrement, des 8. Le client envoie un message au serveur
données générées aléatoirement, et toutes pour l'informer que les futures données
autres informations dont le serveur à transmises seront chiffrées avec la clef de
session. Il envoie alors séparément un

10
message (chiffré) indiquant que la digest 5) ou les signer avec DSA(Digital
négociation côté client est finie. Signature Algorithm)
9. Le serveur envoie un message au client La figure 12 illustre un exemple des fenêtres de
pour l'informer que les futures données l'application:
transmises seront chiffrées avec la clef de
session. Il envoie alors séparément un
message chiffré indiquant que la
négociation SSL côté serveur est finie.
10. La négociation SSL est maintenant
terminée et la session SSL peut
commencer. Le client et le serveur utilisent
les clefs de session pour crypter et
décrypter les données échangées et pour
valider leur intégrité.

Figure 12: Exécution de l'algorithme DES

Ensuite nous avons abordé la comparaison des


temps d'exécutions de ces implémentations
logiciels afin de montrer que les algorithmes à clés
publiques sont très lentes et consommateurs de
ressources.
Figure 11: Processus d'authentification avec une Enfin pour de tester le fonctionnement
certificat X.509 des certificat X.509 utilisés au niveau du
protocole SSL nous avons écrit un
Dans la majorité des cas, l'utilisateur programme qui permet simplement
authentifie le serveur TLS sur lequel il se connecte. d'utiliser les fonctionnalités de SSL en
Cette authentification est réalisée par l'utilisation créant une SSLSocket et une
d'un certificat numérique X.509 délivré par une SSLServerSocket.
autorité de certification (AC). Mais de plus en plus L'application dans sa partie serveur va chercher elle
d'applications web utilisent maintenant même le fichier de certification en utilisant :
l'authentification du poste client en exploitant TLS.
Il est alors possible d'offrir une authentification String keystore = "serverkeys";
mutuelle entre le client et le serveur. Le certificat ks.load(new FileInputStream(keystore),
client peut être stocké au format logiciel sur le keystorepass);
poste client ou au format matériel (carte à puce, Le client doit accepter le certificat du serveur ,pour
token USB) pour augmenter la sécurité du lien cela il utilise le fichier :truststore.
TLS. Cette solution permet d'offrir des mécanismes
d'authentification forte.
7- Conclusion et perspectives
6-Application La cryptographie est un domaine qui attire
de plus en plus l’attention des groupes de
Dans ce travail notre but et de tester le recherche.
fonctionnement des systèmes cryptographique ainsi En effet la cryptographie à clé publique est
que de la signature numérique. extrêmement attrayante et riche en perspectives,
Pour que ces algorithmes soit accessible aux intégrant à la fois le chiffrement et la signature
utilisateurs ,dans une première étape, nous numérique. Elle constitue une véritable percée par
avons développé une application en java qui fournie rapport aux systèmes cryptographiques à clé
aux utilisateurs la possibilité de donner des textes symétrique.
claires à chiffrer ou a déchiffrer en utilisant les Au-delà de l'aspect technique, il faut voir la
quatre algorithmes cryptographique DES,AES, nécessité de mettre en place une architecture, soit
Blowfish et RSA ,de vérifier l'intégrité des fichier une ICP, qui comprend les outils nécessaires pour
avec les fonctions de hachages MD5 (message gérer et utiliser efficacement les clés et certificats.

11
Dans ce travail, nous avons d’abord présenté
quelques notions sur la cryptographie et la signature [1] Ewelle Ewelle Richard ,TPE : Connectivité et
numérique et leurs utilisations pour sécuriser les sécurité des réseaux sans fils, Institut de la
échanges sur internet . J’aimerais en guise de francophonie pour l'informatique, rapport final,
conclusion évoquer quelques pistes de travail Hanoï, Juillet – 2009
connexes que je n’ai malheureusement pas eu le [2] Laurent Bloch et Christophe Wolfhugel
temps d’approfondir lors de mon projet de fin ,Sécurité informatique Principes et méthode,
d'études : le cryptanalyse et la cryptographie avec éditions Eyrolles 2007.
les courbes elliptiques . [3] Cédric Llorens , Laurent Levier et Denis
Pour les courbes elliptiques je pense qu'ils Valois ,Tableaux de bord de la sécurité réseau,
commencent à être connues d’un plus large public. éditions Eyrolles ,2éme édition 2006.
Gageons que dans un monde dominé par la [4] CGI, Étude technique : Cryptographie à clé
cryptographie à clef publique RSA, ces dernières publique et signature numérique Principes de
deviennent à terme une alternative crédible. fonctionnement, Septembre 2002 .
Certaines idées et le prototype du [5] Mohammed C Kocher, Timing Attacks on
système cryptographique présentés dans Implementations of Diffie-Hellman, RSA, DSS,
ce travail restent à compléter. Mais les and Other Systems, Advances in Cryptology -
concepts cryptographique qui sont CRYPTO’96,LectureNotes in Computer Sciences,
développés permet de voir plus clair Springer, 1996.
l'importance du chiffrement est signature [6] David Brumley et Dan Boneh, Remote Timing
numériques dans la sécurité des Attacks Are Practical, 12th USENIX Security
échanges au sein des systèmes Symposium, 2003.
d'information. [7] La Lettre d'ADELI n°46 ,Signature
Aujourd’hui, deux types de chiffrement cryptographique : du numérique à l’électronique ,
permettent de sécuriser les échanges Janvier 2002.
numériques Cependant, il n’existe pas à [8]Sammy POPOTTE-Laboratoire SUPINFO
notre connaissance des systèmes qui des technologies Microsoft ,Présentation
regroupent ces deux techniques . d'IPSEC dans un environnement Windows 2000,
Nous concluent que ces deux techniques http://www.laboratoire-
peuvent être complémentaires et microsoft.org/articles/network/ipsec/.
combinés dans un seul système si on [9] National institute of standards and technology
souhaite obtenir un système de (NIST),Advanced Encryption standard (AES)
chiffrement non seulement performant, Conference, (Rome, Italy), March 1999.
mais surtout répondant aux besoins et [10] National institute of standards and technology
attentes des utilisateurs. (NIST),Advanced Encryption standard (AES),
Federal Information Processing Standards (FIPS)
publication197,2001.
8-Bibliographie:

12