Sunteți pe pagina 1din 34

DÉDICACES

Je dédie ce travail :

A ma mère
qui a été présente a chaque fois que j'en avais besoin, dans la douleur, dans le
bonheur, dans la pluie .A chaque fois que j’ai la morale tu as été aussi la.les mots
me manque pour te dit merci.une chose est sure je vais pas te décevoir.
À yamadjako Florent qui ma toujours ouvrir sa porte quand j'en avais besoin.
À tous ceux qui m'ont aidé de diverses manières.
A toutes les personnes qui me respectent, m'apprécie et m'aime

À moi-même.

REMERCIEMENT

Mes remerciements sont adressés :

En premier lieu a DIEU pour m'avoir accordé la santé, le savoir afin d'accomplir
ce travail.
À mon encadreur NELSON Saho pour sa patience, ces conseils et pour sa
disponibilité.
A l’institut de formation et de recherche en informatique pour la formation de
qualité reçu.
À Monsieur le directeur du système d’information du ministère des Finances pour
m’avoir accordé les stages au sein de son département.
A ma grand sœur Dolivera Peguy et son marie pour tous leur apport
A Monsieur amoussou Virgile pour ces conseil ,ces motivations et son soutiens
financiére .
A monsieur yamadjako Clotaire pour son soutien

RÉSUMER
Le présent mémoire porte sur la mise en place d'une PKI open source pour la
sécurité d'un serveur web. Le choix est porté ici sur l’EJBCA. Il a pour but de
procédé à une authentification via certificat délivré par notre PKI avant tout accès
au serveur .Il permet ainsi de donné accès aux utilisateurs qui possède uniquement
un certificat valide. Nous allons présenter dans un premier temps les notions
essentielles en matière de sécurité informatique pour une bonne compréhension du
travail ensuite effectué une présentation complète des PKI et enfin nous allons
mettre en œuvre notre PKI .Pour la mise en œuvre de notre PKI nous avons besoin
d’une machine d’administration de l’EJBCA sur Linux, d’une machine client sous
Windows .Dans chacun machine il sera installé tous les logiciels requis. Le travail
sera terminé par un texte de validation du certificat serveur avec captures d’écran
à l’appui de la réussite de connexion.
Mot clé:PKI, serveur web, sécurité, EJBCA, certificat,
ABSTRACT

TABLE DES FIGURES


 1.1 chiffrement et Déchiffrement d’un message
 1.2 chiffrements à clé secrète
 1.3 chiffrements à clé publique
 1.4 Fonction de hachage
 1.5 Signature numérique simple d’un message
 1.6 Signature numérique sécurisé d’un message
 1.7 Structure du certificat X.509
 1.8 Négociations TLS
 1.9Shémat de principe PKI
 2.1Shemat de principe PKI
 2.2 Illustration du modèle hiérarchique
 2.3 Illustration du modèle P2P
 2.5 illustration du modèle en Pont
 2.5 Cycle de vie certificats
 2.6 Illustration demande de certification
 2.7Fonctionnement du protocole LDAP

TABLEAUX

 1.1 Algorithme symétrie


 1.2 Algorithme asymétrie
LISTES DES ABREVIATIONS
 AC: Autorité de certification
 AE: Autorité d’enregistrement
 AES : Advanced Encryption Standard
 ASN :
 BYOD :
 CMP :Certificate Management Protocol
 CRL :Certificates Revocation List
 CSR :
 CTL :
 DES :Data Encryption Standard
 DN :Distinguished Name
 EJBCA :Entreprise Java Bean Certificate Authority
 GLC :
 HTTP:Hyper Text Transfer Protocol
 ICP : Infrastructure à clé publique
 IETF : Internet Engineering Task Force
 IDEA :international Data Encryption Algorithm
 IP :
 MD5 :Message Digest 5
 OCSP : Online Certificate Status Protocol
 OOB:Out of Band Mechanon
 OSI :international Organization for Standardization
 PC :Privacy Enhanced Mail
 PEM :
 PGP :
 PKI : Public-Key Infrastructure
 PKCS : Public-Key Cryptography Standards
 P2P :
 RC6 :
 RFC :
 RIDN :
 RSA :.Rivest, A.Shamir et l.Adleman.
 SCEP :
 SGBD :
 SHA :Secure Hash Algorithm
 SHS :Secure Hash Standard
 SSL :Secure Socket Layer
 TCP :
 TLS : Transport Layer Security
 URL :

Introduction Générale

Aujourd'hui la sécurité est devenue la préoccupation première de toute entreprise.


Le besoin se ressent le plus au niveau des entreprises qui offre des services en
ligne. En effet plusieurs techniques sont utilisées pour sécuriser ces systèmes
d'informations. Mais aujourd'hui vue l'accroissement des réseaux informatiques
ces techniques ne sont plus fiables pour garantir une bonne sécurité au sein du
système d'information.
Les serveurs web qui font partir intégrante de ces systèmes d'information sont la
cible de plusieurs attaques.
Il est donc nécessaire de mettre en place des mécanismes adéquats pour assurer la
sécurité du système d'information .L'un des mécanismes utilisés aujourd'hui est
celui basé sur les Pki.
Face à une telle situation notre travail prend toute sa place à travers la mise en
place d'une PKI avec EJBCA pour la sécurité d'un serveur web.

A-Problématique

Le développement croissant des services en ligne comme la banque à distance ou


l'e-commerce rend indispensable le renforcement de la sécurité des systèmes
d’information (serveur web, base de donné, utilisateurs etc.). Les serveurs web sur
lequel transite une masse de données sont la cible de plusieurs attaques. En effet il
existe plusieurs moyens d'authentification dont le plus utilisés est l'authentification
par mot de passe ce qui n'est plus fiable.
Face à ce problème, il s'avère d'une grande importance la mise en place de
mécanismes cryptographiques appropriés pour garantir la sécurité du système
d'information .L'un des mécanismes cryptographique approprié est celui basé sur
les Pki.
Comment assurer la sécurité d'un serveur web avec une PKI?
B-Contexte du projet

Il s’agit de mettre en place une infrastructure de gestions des clés publiques


permettant un accès sécurisés au serveur web. Elle vise:
-Une identification de l'utilisateur afin de lui donner le droit requis pour avoir
accès a une ressource.
-Garantir la confidentialité des échanges de données, la confidentialité,
l’authentification des utulisateurs
-l'intégrité des transactions et la nom -répudiation des transactions

C-Objectifs

L'objectif général de notre étude consiste a la mise en place d'une pki pour
délivrer les certificats numérique a un utulisateur,une machine ou un
périphériques de manière d'être sure avant de l'octroyer l'accès a une ressources
sur le serveur.les objectifs spécifiques sont les suivantes:
-UNE architecture PKI pour délivrer des certificats
-Facilités l'émission de certificats pour les utilisateurs
-garantir l’authentification, la confidentialité, l’intégrité ainsi que la nom
répudiation au cour d'une communication réseau.

D-Organisation du mémoire
Ce travail de décompose en trois grand chapitre. Dans le premier chapitre il sera
présenté les notions de bases en matières de sécurité informatiques tout en
définissant les objectifs de la sécurité informatiques, présenté quelques notions
cryptographiques et définir quelques protocoles de sécurités. Le deuxièmes
chapitre présentera les PKI dans leur globalités .Dans le troisièmes chapitre il
sera question présenté l'environnement de travail, installation de l'ejbca survie des
captures d'écran a l'appui et finissant pas les testes de vérification avec le
serveur.
Chapitre N°1 :Notions de base sur la sécurité informatique

Introduction
La sécurité informatique est l'ensemble des techniques qui assurent que les
ressources du système d'information (matérielles ou logicielles) d'une organisation
sont utilisées uniquement dans le cadre où il est prévu qu'elles le soient.
Aujourd’hui vue l’accroissement massive des réseaux de communication, la
sécurité des communications est devenir une préoccupation importante pour les
utilisateurs et les entreprices.Tous cherche a se protéger contre une utilisation
frauduleuse de leur donnée ainsi que contre les attaques malveillant dans les
systèmes d’informations. Dans ce chapitre nous allons présenter les notions de
bases en matière de sécurité informatique.

1.1 Les objectifs de la sécurité informatique


La sécurité informatique repose sur les objectifs suivant : l’authentification, la
confidentialité, la disponibilité, l’intégrité et la non-répudiation.

1.1.1 Confidentialité, Authentification


La confidentialité  : est le fait de s'assurer que l'information n'est accessible qu'à
ceux dont l'accès est autorisé. Elle a donc pour but d’assurer que seul le
destinataire peut connaître le contenu des messages ou des données sensibles dites
«confidentielles » qui lui sont transmises.

Authentification: elle consiste à assurer que seules les personnes autorisées aient
accès aux ressources. Elle repose sur trois facteurs essentielle a savoirs :

 Ce que je suis (une emprunte digital, rétinienne, les facteurs


biométrique...) ;
 Ce que je possède (un téléphone mobile, un badge, une carte a puce, un
jeton...);
 Ce que je connais (un mot de passe, un code pine... ).
La combinaison d’au moins deux facteurs permet la mise en place d’une
authentification forte.
1.1.2 Intégrité

L’intégrité: elle consiste a assurer que le traitement, la transmission et la


conservation des données, ne subissent aucune modification ou destruction
volontaire (par un intrus) ou accidentelle.
Si les données d’origines envoyées par l’expéditeur sont modifiés par un
intermédiaire malveillant le destinataire final devrait être capable de détecter qu’il
y a eu des changements.

1.1.3 Disponibilité

La disponibilité: fournir l’accès a l’information pour que les utilisateurs autorisé


puis la lire ou la modifier en d’autre thème elle garantir que les informations
peuvent être accessible et utilisable par les utilisateurs autorisés.

1.1.4 Nom-répudiation

La non-répudiation: est définie par l’impossibilité pour une des entités impliquées
dans une communication de nier avoir participé à l’ensemble ou à une partie de la
communication. Elle assure, ainsi, une protection contre le faux démenti d’une
entité d’être impliquée dans une communication.

1.2 Notions cryptographique

1.2.1 Chiffrement et Déchiffrement

 Le chiffrement est un procédé de cryptographie grâce auquel on souhaite


rendre la compréhension d’un message(fichier, courriel ,etc.) impossible à toute
personne qui n’a pas la clé de (dé)chiffrement. Ce principe est généralement lié au
principe d’accès conditionnel.

 Le déchiffrement consiste à retrouver le texte original (aussi appelé clair)


d’un message chiffré dont on possède la clé de (dé)chiffrement..
1
.1 Chiffrement et Déchiffrement d’un message

1.2.2 Les clés et PKCS

Une clé est un paramètre constitué d'une séquence de symboles et utilisé, avec un
algorithme cryptographique, pour transformer, valider, authentifier, chiffrer ou
déchiffrer des données. La taille d’une clé se mesure en bits .A l’heure actuelle la
taille minimum acceptable pour de telles clés est 1024 bits et la taille
recommandée est de 2048 bits. Il est important de savoir que plus la clé est longue
plus les attaques contre l’algorithme seront complexes. Elle assure les fonctions de
chiffrement ou déchiffrements.

Ils existent de type de clés :

 Clé publique : la clé publique permet de chiffrer un message ou un


document. Elle est clé créée lors de la génération d'un CSR et peut être distribuée
au public.
 Clé privée : la clé privée permet de déchiffrer un message ou un
document .les clés privées restent secrètes, ce qui garantit que seul leur
propriétaire peut déchiffrer du contenu et créer des signatures numériques. Une
clé privée est créée en convertissant une portion de texte générée automatiquement
en un fichier clé à l'aide d'un algorithme mathématique, ce qui lui donne une
valeur unique.

PKCS : en cryptographie un PKCS est l’une des normes de la famille Public-Key


Cryptography Standards (PKCS).IL définit un format de fichier couramment
utilisé pour stocker les clés privées X.509 accompagnant les certificats de clés
publique, protégé par un mot de passe symétrique.
Le format PKCS#12 est utilisé pour stocker les clés privées et des certificats dans
un seul fichier chiffré. L’extension des fichiers PKCS#12 est « .p12 ».

1.2.3 Les familles cryptographiques

La cryptographie est une méthode permettant de sécuriser les données entre un


émetteur et un récepteur .Elle repose sur deux grandes familles a savoir: la
cryptographie symétrie et la cryptographie asymétrie

1.2.3.1 Cryptographiques symétries

La cryptographie symétriques ou a clé secrète utilise la même et seul clé pour les
processus chiffrements et déchiffrements. En effet toute la sécurité de l’algorithme
à clé secrète repose sur le secret de la clé . La cryptographie symétrique est très
utilisée et se caractérise par une grande rapidité, des implémentations aussi bien
software ce qui accélère nettement les débits et autorise son utilisation massive.
Pour de tels algorithmes, l’émetteur et le destinataire doivent se mettre d’accord
sur une clé à utiliser avant d’échanger des messages chiffrés.
1.2chiffrement a clé secrète
Tableaux Récapitulatif de quelques algorithme symétrie
Algorithme Description
AES(Advanced Encryption Il est conçu par J. Daemen et V. Rijmen.Cet
Standard) systèmes s’appuie sur un chiffrement par bloc avec
une longueur de clé allant de 128 à 256 bits. La
taille de la clé utilisée pour un chiffrement AES
spécifie le nombre de cycles de transformation qui
convertissent l'entrée.
Il est conçu par IBM. Il s'agit d'un système de
DES(Data Encryption Standard) chiffrement symétrique par blocs de 64 bits, dont 8
bits(un octet) servent de test de parité (pour vérifier
l'intégrité de la clé). Chaque bit de parité de la clé (1
tous les 8 bits) sert à tester un des octets de la clé
par parité impaire, c'est-à-dire que chacun des bits
de parité est ajusté de façon à avoir un nombre
impair de '1'dans l'octet à qui il appartient. La clé
possède donc une longueur « utile » de 56 bits, ce
qui signifie que seuls 56 bits servent réellement
dans l'algorithme.
IDEA (International Data Il est Conçu par X. Lai et J. Massey. Il est un
Encryption algorithme de chiffrement symétrique par blocs
Algorithm) utilisé pour chiffrer et déchiffrer des données. Il
manipule des blocs de texte en clair de 64 bits. Une
clé de chiffrement longue de 128 bits(qui doit être
choisie aléatoiement) est utilisée pour le chiffrement
des données. La même clé secrète est requise pour
les déchiffrer.
RC6 est un algorithme de chiffrement par bloc publié en
1998et dérivé de RC5. Conçu par Ron Rivest, Matt
Robshaw, Ray Sidney et Yiqun Lisa Yin dans le
cadre du concour AES.RC6 est fondé sur un bloc de
128 bits et supporte des clés de 128, 192 et 256 bits.

1.1 Algorithme symétrie

1.2.3.2 Cryptographiques asymétries

La cryptographie a clés publique ou asymétrie est une méthodes cryptographique


faisant intervenir une paire de clé asymétriques: une clé publique et une clé privée.
Une clé pour le chiffrement et l’autre pour le déchiffrement.

La clé publique est rendue publique et distribuée librement. La clé privée n'est
jamais distribuée et doit être gardée secrète. Etant donnée une paire de clés, les
données chiffrées à l'aide de la clé publique ne peuvent être déchiffrées qu'avec la
clé privée correspondante; inversement, les données chiffrées à l'aide de la clé
privée ne peuvent être déchiffrées qu'avec la clé publique correspondante. Il offre
plus avantages par rapport a la cryptographie symétrie a savoir :

 distribution simplifiée des clés;


 signature numérique;
 chiffrement de longue durée
1.3 Chiffrements à clé publique

Tableau recaputilatif de quelques algorithme asymétrie


Algorithme Description
RSA(Rivest Shamir RSA est un algorithme de cryptographie asymétrie, très
Adleman) utilisé dans le commerce électronique, et plus
généralement pour échanger des données
confidentielles sur internet. Cet algorithme a été décrit
en 1977 par RonaldRivest, Adi shamiret
LeonardAdleman.Le chiffrement RSA est asymétrique :
il utilise une paire de clés (des nombres entiers)
composée d'une clé publiquepour chiffreret d'une clé
privéepour déchiffrerdes données confidentielles.
Diffie-Hellman, Conçu par W. Diffie et
M. E. Hellman, cet
algorithme permet de partager un secret
commun après un protocole d’échange de
données. La sécurité du schéma de Diffie-
Helman repose sur la difficulté de calculer un
logarithme discret. L’algorithme a été rendu
public.
DSA :Digital Signature Est un algorithme de signature numériques standardisés
Algorithm par la NIST. Le processus se fait en trois
étapes :Génération des clés, Signature du document
,vérification du document signé.

1.2 Algorithme asymétrie

1.2.4 Fonction de hachage


Une fonction de hachage est une méthode permettant de caractériser une
information. Elle prend en entrée un message de taille quelconque, applique une
suite de traitements reproductibles à cette entrée et obtient à la sortie une chaîne
de caractères hexadécimaux, une empreinte servant à identifier la donnée initiale
appelée aussi le condensé. Cette sortie résume en quelque sorte l’information et a
une taille fixe qui varie selon les algorithmes.

Présentation de quelques fonctions de hachage :

 SHA-1
Développé à partir de SHA-0 par la NSA en 1995, il est capable de traiter des
messages de 264 bits maximum, en les découpant en blocs de 512 bits pour générer
une empreinte de 160 bits. L’attaque Il est encore largement utilisé.

 SHA-256 : C’est une fonction de hachage cryptographique dérivée de SHA-1


quifournit une empreinte de 256 bits.
 MD5
Mis au point par Ronald Rivest en 1991, Message Digest 5 est une évolution de
MD4 développée pour combler les failles de ce dernier. MD5 découpe les
messages en blocs de 512 bits et calcule une empreinte de 128 bits.

 SHS : Il fournit des empreintes de 160 bits. Sa structure est identique à MD4
et MD5,mais potentiellement plus fiable, la taille de la clé étant de 160 bits au lieu
de 128 bits.
 

1.4 Fonction de hachage

1.2.5 Signature numérique et certificats numérique

 La signature numérique est un procédé d'identification du signataire d'un


document électronique, basé sur l'utilisation d'un algorithme de chiffrement, qui
permet de vérifier l'intégrité du document et d'en assurer la non-répudiation. Elle
équivaut à une signature manuscrite, en ce sens qu'elle offre une preuve de
l'identité du signataire du message ou du document électronique reçu.
Une signature numérique permet en fait d'attribuer trois qualités à un document
électronique : l'authentification, l'intégrité et la non-répudiation des données. Une
vérification réussie de la signature numérique permet au destinataire de confirmer
l'identité de l'expéditeur (authentification), de s'assurer que le document reçu est
identique au document expédié (intégrité des données) et d'empêcher l'expéditeur
de répudier le document, c'est-à-dire de nier l'avoir transmis (non-répudiation). Il
existes de sorte de signature numériques a savoir :

 Signature numérique simple :le message est signé directement par la clé


privée et la vérification est faite en utilisant la clé publique
1.5 Signature numérique simple d’un message

 Signature numérique sécurisé :le message à signer subit d’abord une


fonction de hachage produisant ainsi un condensé. Après, le hach résultant est
signé avec la clé privée.
1.6 Signature numérique sécurisé d’un message

La signature numérique comprend deux étapes :

 Évaluation du condensé de message. Le but principal de l'évaluation d'un


condensé est de s'assurer que le message ne sera pas altéré; c'est ce qu'on entend
par intégrité du message.

 Signature du condensé. Une signature est en fait un chiffrement à l'aide de la


clé privée de l'émetteur . On retrouve également dans cette signature le nom de
l’algorithme de hachage utilisé par l'émetteur. La clé publique de l'émetteur est
aussi annexée à la signature. Grâce à ces informations, n'importe qui peut
déchiffrer et vérifier la signature à l'aide de la clé publique et de l'algorithme de
hachage de l'émetteur. Étant donné les propriétés du chiffrement à clé publique et
des algorithmes de hachage, le destinataire a la preuve que :

 Le condensé a été chiffré à l'aide de la clé privée de l'émetteur;


 Le message est protégé contre toute altération.

 Un certificat numérique est une sorte de passeport électronique qui permet à


une personne, un ordinateur ou une organisation d’échanger de manière sûre des
informations sur Internet en s’appuyant sur une infrastructure à clé publique
(PKI).Ils existent plusieurs formats de certificats .Le format le plus utilisé pour la
création des certificats numérique est le X.509.

Un certificat X.509 :

 Prouve l’identité d’une personne au même titre qu’une carte d’identité, dans
le cadre fixé par l’autorité de certification qui l’a validé ;

 Pour une application il assure que celle -ci n’a pas été détournée de ses
fonctions;

 Pour un site il offre la garantie lors d’un accès vers celui- ci que l’on est
bien sur le site auquel on veut accéder.

1.2.6 Les composantes du certificat numérique


Les utilisateurs de certificats étant de plus en plus nombreux, le format de ce
certificat doit de ce fait être commun à tous les utilisateurs. Sans cela, il sera
impossible d’intégrer ces certificats dans des applications logicielles développées
par différents fournisseurs. Pour cette raison, les certificats numériques sont
soumis à un standard.

Bien qu’il existe plusieurs formats de certificats : X.509, PGP, PEM, ASN.1,
PKCS.le format X.509 est aujourd’hui la norme le plus utilisés .Il est fréquemment
utilisé au niveau des navigateurs web.

Un certificat numérique X.509 est composé globalement :

 Sujet du certificat (DN) : Ce champ identifie l’identité du propriétaire du


couple clés privée/publique à certifier. Il existe là aussi un formalisme pour
nommer ce champ.
·
 Version du protocole X.509 (v3 actuellement) : Ce champ identifie la version
de la norme X.509 qui est utilisée dans le certificat. À ce jour, trois versions de la
norme X.509 ont été définis. la dernière version utilisée est la version 3.
·
 Numéro de série (unique par CA) : Le numéro de série est un numéro unique
qui est utilisé pour identifier le certificat X.509.
·
 Algorithme de signature de l’autorité de certification : Ce champ identifie
l'algorithme utilisé par l'autorité de certification pour signer numériquement le
certificat X.509.
·
 Nom du CA (DN) : Permet d’identifier l’autorité de certification qui a
délivré le
certificat. Il existe un formalisme bien défini pour attribuer un nom à chaque entité
sans ambiguïté (la position géographique entre en compte).
·
 Période de validité : Ce champ définit la période pendant laquelle la clé
publique du
certificat X.509est valide.
 Extensions (facultatif) : Ce champ a été introduit dans la version 3 du X509.
Il permet aux autorités de certification de rajouter leurs propres informations aux
certificats qu’elles délivrent.

 Signature numérique : Contient l’identifiant de l’algorithme (fonction de


hachage) utilisé par
l’autorité de certification pour signer le certificat, ainsi que la valeur de la
signature numérique.

Sujet DN
Version
Numéro de série
Algorithme de Signature
Nom du CA
Période de validité
Extension
Signature numérique

1.7 Struture du certificats X.509

1.3 Les serveurs web


Internet est pour nous une source d’informations inépuisables. Et tout ce que nous
devons faire, si nous voulons une information, est d’interroger Internet afin
d’obtenir la réponse souhaitée.
Mais qui nous fournit ces informations et comment ? Tout cela est possible grâce à
ce qu’on appelle le serveur Web.

1.3.1 Définitions
Les serveurs Web sont essentiellement des programmes informatiques simples qui
distribuent la page Web à la demande du client Web. Les machines sur lesquelles
ce programme est exécuté sont généralement appelées serveurs, les noms serveur
Web et serveur étant presque utilisés de manière interchangeable. Lorsque
quelqu’un fait référence à un serveur Web, cela désigne principalement le logiciel
pouvant être téléchargé sur une machine plus ou moins puissante (vous pouvez
créer un serveur Web sur votre ordinateur familial).
Le rôle du serveur est d’abord d’aller chercher, lorsqu’on lui en fait la requête, le
fichier réclamé, puis de le renvoyer au demandeur.

1.3.2 Comment fonctionne les serveurs web ?

Une page sur Internet peut être affichée lorsque le navigateur la demande au
serveur Web et que celui-ci répond en renvoyant au navigateur le code de cette
page. Une représentation schématique simple de ceci est donnée ci-dessous :

1.21 Fonctionnement serveur web


Ce processus se compose de 4 étapes, qui sont :
 Obtenir l’adresse IP du nom de domaine: notre navigateur Web obtient
d’abord l’adresse IP à laquelle le nom de domaine est rattaché. Il peut
obtenir l’adresse IP de deux manières-
 En cherchant dans son cache.
 En demandant à un ou plusieurs serveurs DNS (Domain Name
System).
 Le navigateur demande l’URL complète  : après avoir connu l’adresse IP,
le navigateur demande maintenant une URL complète au serveur Web.
 Le serveur Web répond à la demande: le serveur Web répond au navigateur
en envoyant les pages souhaitées. Si les pages n’existent pas ou si une autre
erreur se produit, il envoie le message d’erreur approprié.
 Navigateur affiche la page Web: Le navigateur récupère les pages Web et
les affiche ou affiche le message d’erreur.
1.3.3 Protocole du web
Le web repose sur le protocole HTTP. HTTP est le protocole spécifique du web.
HTTP est donc la langue dans laquelle le serveur et le client dialogue.
1.4 Protocole SSL/TLS

SSL/TLS est un protocole ayant pour but de créer un canal de communication


authentifié, protégé en confidentialité et en intégrité.

1.4.1 Définitions

TLS (Transport Layer Security) et SSL (Secure Socket Layers) sont tous deux des
protocoles cryptographiques qui cryptent les données et authentifient une
connexion lors du transfert de données sur Internet.

TLS est un protocole de communication client-serveur pour


Sécuriser les communications. Son ancêtre SSL a été créé dans le but de sécuriser
les communications Web en offrant les services de sécurité suivant :

 Intégrité
 Confidentialité
 Authentification du serveur

TLS est en fait juste une version plus récente de SSL. Il corrige certaine
vulnérabilité de sécurité dans les anciens protocoles
1.3.2 Fonctionnement
Voici le processus de fonctionnement des protocoles SSL et TLS
Lorsque vous installer un certificat ssl/tls sur votre serveur Web (souvent appelé
simplement « certificat SSL »), il comprend une clé publique et une clé privée qui
authentifient votre serveur et permettent à celui-ci de crypter et de décrypter les
données.
Lorsqu’un visiteur se rend sur votre site, son navigateur recherchera le certificat
SSL / TLS de votre site. Ensuite, le navigateur effectuera un « handshake » pour
vérifier la validité de votre certificat et authentifier votre serveur. Si le certificat
SSL n’est pas valide, vos utilisateurs peuvent être confrontés à l’erreur « votre
connexion n’est pas privée», ce qui pourrait les inciter à quitter votre site web.
Une fois que le navigateur d’un visiteur détermine que votre certificat est valide et
authentifie votre serveur, il crée essentiellement un lien crypté entre lui et votre
serveur pour transporter les données en toute sécurité.
Le protocole TLS dispose de plusieurs types de paquets a savoir :
 Handshake : négotiation
 Alerte : contrôle
 ChangeCipherSpec : changement de chiffrement, de clés
 Application Data : les données applicatives

1.4.3 Négociation TLS

1) ClientHello : Le client envoie une liste de suite chiffrements


2) ServerHello : le serveur choisi une suite de chiffrement
3) Certificate : le serveur envoie son certificat contenant sa clé publique
4) ServerKeyExchange : le serveur envoie un secret chiffré avec sa clé privée
5) ServerHelloDone : mise en attente du serveur, pas d’authentification client
6) ClientKeyExchange : envoie d’un secret par le client chiffré avec la clé publique
du serveur
7) ChangeCipherSpec : le client envoie les informations sur le chiffrement ( algo +
clés)
8) Finished : le client envoie de manière chiffré l’empreint des échanges
précédents
9) ChangeCipherSpec : le serveur confirme les infos sur le chiffrement
10) Finished : le serveur envoie l’empreinte des échanges
1.8 Négociation TLS

Conclusion
Au terme de notre premier chapitre, il est a retenir que la sécurité informatique
devient un facteur important pour assurer la protection des ressources d’un
systèmes d’information.
Dans le chapitre suivant, nous allons présenté les infrastructures a clé publique.

Chapitre n°2: Infrastructures à clés public

Introduction

L’infrastructure de gestion de clés publiques (ICP), communément appelée PKI


(Public Key Infrastructure), crée un espace de confiance qui permet de gérer tous
les aspects de sécurité : authentification des utilisateurs et des entités techniques,
confidentialité, intégrité des données et non répudiation des transactions. Elle offre
aussi la possibilité de signer du courrier électronique, de crypter des données sur
les serveurs ou de mettre en place un site web sécurisé.
Dans ce chapitre, nous allons effectuer une étude détaillée de l’infrastructure de
gestion de clés publiques.
2.1 PKI

2.1.1 Définition
 Comme son nom l’indique Public Key Infrastructure (PKI) est un ensemble de
composants, fonctions et procédures dédié à la gestion de clés et de certificats
utilisés par des services de sécurité basés sur la cryptographie à clé publique .Il
peut être aussi définir comme un ensemble des matériels, logiciels, personnes,
règles et procédures nécessaire à une Autorité de Certification pour créer, gérer et
distribuer des certificats.

La PKI permet aux utilisateurs et aux systèmes d'échanger des données en toute
sécurité sur Internet et de vérifier la légitimité des entités détentrices de certificats,
telles que les serveurs Web, d'autres serveurs authentifiés et des individus.

.2.1.2 Les composantes d'une PKI

Une infrastructure de gestion de clés délivre un ensemble de services portant sur


l’enregistrement des utilisateurs, la génération de certificats, le renouvellement de
certificats, la révocation de certificats, la publication de certificats, l’identification
et l’authentification des utilisateurs, la publication des listes de révocation, et
l’archivage et recouvrement des certificats.

On distingue ainsi 5 entités dans la PKI dont l’autorité de certification (AC),


l’autorité d’enregistrement (AE), l’autorité de dépôt (Repository), l’entité finale
(End Entity) et l’autorité de séquestre (Key Escrow).

 L’autorité de certification(AC) : L’autorité de certification est la plus


importante entité dans l’infrastructure de gestion de clés, car c’est elle qui est
chargée de valider les demandes de certificat et les listes de révocation.

 L’autorité d’enregistrement (AE OU RA) : L’autorité d’enregistrement est


celle qui a créé les certificats numériques qui sont nominatifs et uniques pour
l’ensemble du PKI. Elle effectue aussi les vérifications d’usage sur l’identité du
titulaire de certificat.

 L’autorité de dépôt(Repository) :L’autorité de dépôt est chargée de stocker


les certificats numériques et les listes de révocation.
 L’entité final(End Entity) :L’entité finale est celle qui utilise le certificat
numérique. Il s’agit d’un cliente-mail, un serveur Web ou un navigateur Web.
Elles ne sont pas autorisées à délivrer des certificats à d'autres entités.

 L’autorité de sequestre(Key Escrow) : l’autorité de séquestre est chargée de


stocker et d’assurer la sécurité des clés de chiffrement générées par les autorités
d’enregistrement afin de les restaurer, le cas échéant.

Il existes d’autre composantes important tel que :

 L’émetteur de liste de révocation de certificats (CRL) : Composante qui


s’acquitte de la génération des listes de révocation de certificats.

 Serveur OCSP : Composante ayant pour but de vérifier la validité d’un


certificat numérique en obtenant son statut de révocation. Le protocole OCSP est
définit dans la norme IETF RFC2560. Il est un protocole de requête / réponse où
un client OCSP récupère le statut de révocation de certificats à partir d'un serveur
(répondeur) OCSP au lieu de le récupéré dans la liste de révocation.

 Serveur d’horodatage : Composante ayant pour mission de garantir


électroniquement la date et l’heure d’une opération selon la méthode décrite dans
la norme IETF [RFC3161].

1.9 Shemat de principe


2.1.3 Les fonctions d’une PKI

L’infrastructure de gestion de clés publiques offre les fonctions suivants :

 Enregistrer et vérifier les demandes de certificats


 Créer et distribuer des certificats
 Vérification de la validité de certificats
 Gérer à tout moment l’état des certificats et prendre en compte leur
révocation
 Publier les certificats dans un dépôt

2.1.4 Les architecture de PKI


L’infrastructure PKI est généralement composée de plusieurs CA reliés par des«
trust paths » ou chemins de confiance. Selon l’environnement, les CAs peuvent être
organisés de manière complètement différente et de leur architecture dépendra
l’adaptabilité du modèle de confiance. Ainsi, les architectures les plus couramment
utilisées sont les suivantes :

 L’architecture hiérarchique

Le fonctionnement de cette architecture dans le cas de deux autorités de


certification (CA1 et CA2) régies par une autorité de certification centrale ou«
CAroot » est le suivant : CA1 et CA2 envoient leur clé publique au CA central qui
génère un certificat pour chacun des deux CA. Au sein de cette architecture, le «
CAroot » a le plus haut niveau d’autorité et possède donc un certificat auto signé.
Aussi, cela implique que tous les composants de l’architecture placent leu
confiance dans le CA central.

2.1 Illustration du modèle hiérarchique

 L’architecture P2P (Peer-to-peer)

En opposition à l’architecture hiérarchique, l’architecture Peer-to-Peer place les


différents CA au même niveau d’autorité. On arrive alors à une situation dans
laquelle les certificats sont cosignés, le CA1 pouvant signer des certificats pour le
CA2 et vice-versa. L’inconvénient de cette architecture est alors le besoin
d’échange mutuel des différentes clés publiques pour qu’un CA génère des
Certificats pour ses homologues.
2.2 Illustration du modèle P2P

 L’architecture en pont
L’architecture en pont ou « Bridge » est une association des deux architectures
précédemment abordées. Comme l’architecture hiérarchique a pour principales
lacunes la disponibilité et la sécurité et que le modèle pair-à-pair est ralentit par
la multitude d’échanges qui y sont générés, alors l’architecture en pont palie aux
lacunes des deux architectures précédentes. Son fonctionnement est similaire à
celui du P2P à la différence que les échanges entre CA qui ralentissaient le P2P
sont réduits dans la mesure où les Cas n’échangent leurs clés qu’avec l’autorité
pont. On peut aussi définir cette architecture comme une architecture hiérarchique
où le CAroot est au même niveau d’autorité que les autres CAs qui y sont affiliés.

2.3 Illustration du modèle en Pont


2.2.3 Cycle des certificats
Les certificats ont un cycle de vie composé des phases suivantes :

 Demande de certification ;
 Vérification des attributs ;
 Création et signature du certificat ;
 Remise au demandeur (publication) ;
 Utilisation du certificat ;
 Suspension ou révocation du certificat ;
 Expiration du certificat (possible renouvellement).
2.3 Cycle de vie certificat

2.3.1La politique d'une PKI

La politique d'une PKI se définit à deux niveaux:

 La politique de certification : Une politique de certification est un ensemble


de règles, qui fournit un renseignement sur la possibilité d’utiliser un
certificat pour une communauté particulière ou des applications ayant des
besoins de sécurité communs. Elle spécifie entre autre les conditions et les
caractéristiques de délivrance du certificat. Dans le cas général, un
certificat est utilisable par n’importe quelle application pour autant que ces
conditions et ces caractéristiques sont jugées satisfaisantes. Cependant, une
politique de certification peut éventuellement restreindre l’usage du
certificat à un ensemble données d’applications, voir même à une seule
application.
 La politique de sécurité : est la partie juridique de la PKI. En effet, lorsqu'on
met en place une PKI, il faut fournir trois documents :
 Rapport pratique de certification : qui spécifie les critères de
certification et la politique de révocation des certificats,
 — Politique du certificat : qui explique et limite l'utilisation du
certificat numérique,
 Considérations légales : qui permet de responsabiliser les utilisateurs
en cas de perte ou de fraude à l'intérieur même de la PKI.
2.3.2 Les protocoles d'une PKI
Un protocole est une convention de communication entre deux ordinateurs. Les
protocoles permettent aux utilisateurs de faire appel aux différents services offerts
par la PKI. Nous allons définit ici les principaux protocoles que l’on retrouve dans
les composantes d’une PKI

 OCSP :Le protocole OCSP permet de vérifier la validité d'un certificat en


interrogeant en temps réel l'autorité de certification. Ce protocole est plus pratique
que la consultation de CRL dans le sens où il n'est plus nécessaire au navigateur
de télécharger toute la CRL. Il permet aussi de révoquer en certificat en quelques
minutes, alors qu'il faut souvent plusieurs heures avec les CRLs.

 CRL :est la liste des identifiants des certificats qui ont été révoqués ou
invalidés et qui ne sont donc plus dignes de confiance. Cette liste est signée par
l'autorité de certification pour empêcher toute modification par une personne non
autorisée. Elle comprend une date d'émission, une date de mise à jour (toutes 2
optionnelles) et la liste proprement dite sous la forme de paire (numéro de série du
certificat révoqué ; motif éventuel de révocation). Le motif ne peut être présent que
dans les CRL au format version 2.

 CMP (Certificate Management Protocol) : Le certificat de gestion de


protocole (CMP) est un protocole Internet utilisé pour l'obtention des certificats
numériques X.509 dans une infrastructure de gestion de clés.

 SCEP()est un protocole couramment utilisés pour les équipement réseau


pour s’inscrire au certificat
2.3.3 Étude de cas d’une demande de certification et quelques avantages d’une
PKI

Il sera présenté ici un exemple d’une demande de certification d’un utilisateur au


prés d’une entreprise utilisant une PKI.
2.5 Shemat illustrative demande de certification

L'utilisateur demande à l'autorité d'enregistrement, une demande de certificat.


Lorsque l'autorité d'enregistrement reçoit la demande de l'utilisateur, il vérifie
l'identité de l'utilisateur et valide sa demande s'il est apte à recevoir un certificat.
Par la suite, il passe cette demande à l'autorité de certification qui va appliquer les
procédures. Une fois que ces procédures sont faites, l'autorité de certification va
générer une paire de clef. Dans notre exemple, le support du certificat est une
carte à puce (d'autre cas d'utilisations comme une clef USB, la biométrie, etc. sont
possibles). L'autorité de certification va signer un certificat contenant la clef
publique de l'utilisateur avec sa clef privée. Par la suite, le certificat et la clef
privée de l'utilisateur seront insérés dans la carte à puce. De plus, le certificat sera
ajouté dans l'annuaire étant été signé par l'autorité de certification (la clef privée
pourrait aussi être ajoutée dans l'annuaire dans le cadre du recouvrement de clef).
La carte à puce sera remise à l'utilisateur.
2.5 Shemat illustrative demande de certification

Lorsque l'utilisateur voudra s'authentifier dans le système, il insérera sa carte à


puce dans un lecteur. Le lecteur générera un nombre aléatoire à chaque fois. Ce
nombre aléatoire devra être le plus grand possible afin d'éviter les redondances.
La carte chiffrera ce nombre aléatoire avec la clef privée qu'il contient. Ensuite, le
système va vérifier les informations du certificat contenue dans la carte à puce afin
de vérifier l'identité de l'utilisateur et du certificat (on pourra aussi ajouter des
contrôles d'accès en fonction du certificat). Une fois que la vérification est faite, on
déchiffre le nombre chiffré avec la clef publique. Si le nombre déchiffré est
identique au nombre généré, alors l'authentification s'est bien déroulée (dans le
cas de la biométrie, la clef privée de l'utilisateur est une partie de son corps: yeux,
doigt, etc.).
2..4 ANNUAIRE
2..4.1 Définitions
Les certificats émis par les autorités de certification doivent être rendus
accessibles
Afin que les utilisateurs du système puissent y accéder. Pour cela, ils sont publiés à
travers un annuaire à accès libre. Il constitue en quelque sorte une base de
données centrale accessible en mode de lecture, en mode d’ajout (nouveau
certificat) et en mode de suppression (révocation
d’un certificat). Il contient également une liste de révocation de certificats(CRL)
qui comporte
la liste de l’ensemble des certificats révoqués depuis la création de l’annuaire,
datés et signés
par les autorités de certification.

2.4.2 Annuaire et pki

2.4.3 Annuaire et PKI


L’annuaire est généralement cité comme un élément essentiel dans la PKI d’un
Système. Comme les certificats numériques sont largement distribués, il sera
nécessaire de disposer d’un système d'annuaire permettant la publication des
certificats révoqués et par la même occasion les certificats en cours de validité. Il
offre aussi aux utilisateurs la possibilité de récupérer les clés publiques destinées à
décrypter les documents et permet de stocker les clés privées des utilisateurs pour
les utiliser en cas de recouvrement de clé.
L'annuaire doit accepter le protocole X.509 pour le stockage des certificats
révoqués
(CRLs) et le protocole LDAP (Lightweight Directory Access Protocol) qui est le
standard
pour l’accès aux données par annuaire.

2.4.3.1 Protocole d’accès au répertoire


Pour comprendre mieux le service d’annuaire, il est nécessaire de bien connaître
les
bases sur les protocoles d’accès à l’annuaire que sont X .500 et LDAP.

2.4.3.2 X.500

X.500 est certainement le plus ancien modèle d’accès à l’annuaire. Il définit


l'ensemble des normes informatiques sur les services d'annuaire définies par l'UIT-
T. Mais seule la partie X.509 concernant l'authentification est utilisée actuellement
; pour le reste, la plupart des services d'annuaire actuels utilisent une norme
beaucoup moins lourde : LDAP.

2.4.3.3 LDAP (Lightweight Directory Access Protocol)

LDAP est un protocole permettant l'interrogation et la modification des services


d'annuaire. Ce protocole repose sur TCP/IP ; il est très nettement moins lourd en
ressources que son prédécesseur X.500. Cette raison a permis d’amener très
rapidement ce protocole au niveau d’un standard d’Internet. La version LDAPv3
est définie dans la RFC2251.

Un annuaire LDAP respecte généralement le modèle X500 : c'est une structure


arborescente dont chacun des nœuds est constitué d'attributs associés à leurs
valeurs. Plus précisément, la structure d’un annuaire est comme suit :
 · Un annuaire est un arbre d'entrée.
 · Une entrée est constituée d'un ensemble d'attributs.
 · Un attribut possède un nom, un type et une ou plusieurs valeurs.
 · Les attributs sont définis dans des schémas.

2. Fonctionnement du ptotocole LDAP

Cette figure donne un exemple simple d'un échange entre un client et un serveur
LDAP. Le client ouvre une connexion TCP, se connecte au serveur, émet une
requête de
recherche, et récupère les entrées correspondantes à sa recherche, puis se
déconnecte du
serveur et ferme la connexion TCP
Conclusion
Pour comprendre mieux le service d’annuaire, il est nécessaire de bien connaître
les bases sur les protocoles d’accès à l’annuaire que sont X .500 et LDAP.
Dans ce chapitre, nous avons présenté de manière détaillée les infrastructures
à clés publique.

Chapitre n°3:Mise en œuvre d'une infrastructure à clés publique e

Introduction

3.1 Présentation du Projet


3.1.1 Présentgation du produit EJBCA
3.1.1.1 Définition
3.1.1.2 Architecture
EJBCA proposes quatre niveau fonctionnels. Chaque ou l’ensensemble des niveaux
fonctionel peut etre deployer de manière unitaire ou consolidé sur une meme
marchine ou dans une meme application.
Les quatres niveaux fonctionnels de l’architecture de l’EJBCA se présente comme
suit :
 Guichet public ou authorité d’enregistrement local(AEL)
Elle est composé d’élement permettant de réaliser des requetes de
certificats,derévocation ou pour récuperer les élements publics de la PKItel
que les certificats d’AC,CRL,Certificat utuliateur ,etc.
 Autorité de l’IGC ou autorité de certification :
Elle sont responsale de la délivrance et de la révocation de ceertificat.
 Entité administrative ou autorité d’enregistrement(AE)
Elle en globe les foncctions de PKI,telles que les fonctions
d’authentification,de gestion de vie des certificat,de journalisation,de
publication et de parametrage de la PKI
 Composantes additionel :
 Ces composants sont proposés en omplément de la PKI EJBCA.
3.1.1.3 Caractéristique de l'EJBCA
Les caractéristique sont présente dans le tableaux suivant
3.2 Mise en oeuvre
3.2.1 Description de l'environnement
3.2.2 Les logiciels requis
3.2.3 Installation de l'EJBCA
3.2.4 installation du serveur web
3.3 Architecture de la PKI
3.4 Créaction des autorités de certification et entités
3.5
3.5 Teste de vérification avec le serveur
https://wiki.e-odyssey.net/ejbca/french-tuto

https://translate.google.com/translate?
hl=fr&sl=en&u=https://download.primekey.com/docs/EJBCA-
Enterprise/6_7_0/installation.html&prev=search&pto=aue

https://www.vast.fr/wp/2017/11/05/des-certificats-avec-ejbca-6-5/

S-ar putea să vă placă și