0% ont trouvé ce document utile (0 vote)
41 vues35 pages

Rapport Final Protocole HTTPS

Transféré par

lucressekemmegni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
41 vues35 pages

Rapport Final Protocole HTTPS

Transféré par

lucressekemmegni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE DU CAMEROUN FACULTE DES SCIENCE

Paix-Travail-Patrie FACULTY OF SCIENCE


REPUBLIC OF CAMEROON Département de Mathématique
Peace-Work-Fatherland et Informatique
UNIVERSITE DE DSCHANG Department of Mathematics and
Computer science
UNIVERSITY OF DSCHANG

RESEAU ET SYSTEME

THEME : PROTOCOLE HTTPS

GROUPE 32

MEMBRES DU GROUPE :
N0 NOMS PRENOMS MATRICULES
01 NANA NTONGME BETHANIE (chef de groupe) (CM-UDS-21SCI0605)

02 DIBAMY TEMGOUA SOSTHENES (CM-UDS-19SCI1550)

03 LONGO MPECK O’NEAL SHAQUILLE (CM-UDS-18SCI0573)

04 KAMDEM KAMGUIA LOIC RAYAN (CM-UDS-20SCI0363)


MOKO FOTSO LINDA (CM-UDS-18SCI0632)
05

Sous la supervision du:

Pr. KEGNE VIANNEY

Année Académique 2024/2025


PROTOCOLE HTTPS

Table des matières


I. GENERALITE SUR LE HTTP ............................................................................ 4
II. EVOLUTION DU HTTP AU HTTPS ................................................................... 4
III. LE HTTPS ................................................................................................... 7
1. GENERALITES........................................................................................................................... 7
2. FONCTIONNEMENT, ETABLISSEMENT DE CONNEXION ET ECHANGE DE DONNEES CHIFFREES . 8
3. COMMENT ACTIVER UN HTTPS ................................................................................................ 9
4. LES ATTAQUES QUE PEUT SUBIR UNE CONNEXION HTTPS ..................................................... 11
5. DIFFERENCE ENTRE LE HTTPS ET LE HTTP ............................................................................... 13
6. AVANTAGES ET INCONVENIENTS DU HTTPS ........................................................................... 13

IV. SSL / TLS .................................................................................................. 15


1. DÉFINITION GÉNÉRALE .......................................................................................................... 15
2. SSL (SECURE SOCKET LAYER) .................................................................................................. 15
3. TLS (TRANSPORT LAYER SECURITY) ........................................................................................ 15
4. FAILLES DE SECURITE DU PROTOCOLE SSL ............................................................................. 15
5. COMMENT TLS CORRIGE LES FAILLES DE SSL.......................................................................... 16
V. FONCTIONNEMENT DU HTTPS/SSL ......................................................... 18
1. Principe général du fonctionnement HTTPS/TLS .................................................................... 18
2. Les types de chiffrement utilisés............................................................................................ 19
3. CIPHER SUITE ........................................................................................................................ 20
4. LE PRE-MASTER SECRET ......................................................................................................... 21
VI. CONFIGURATION ET INSTALLATION PRATIQUE(APACHE) ........................ 24
VII. Configuration Apache HTTPS - Script Shell .............................................. 31
CONCLUSION .................................................................................................... 33
REFERENCES ..................................................................................................... 34
LEXIQUE ........................................................................................................... 35

Département Mathématique et Informatique Niveau : IN3 2


PROTOCOLE HTTPS

INTRODUCTION
À l’ère du numérique, la sécurité des échanges d’informations sur Internet est
devenue un enjeu majeur. Chaque jour, des millions de données sensibles telles que des
identifiants, des mots de passe, ou encore des coordonnées bancaires transitent sur le
web, exposant les utilisateurs à de nombreux risques. Le protocole HTTP, utilisé depuis
le début du web pour la communication entre les clients (navigateurs) et les serveurs, ne
garantit pas la confidentialité des données échangées. C’est dans ce contexte qu’a
émergé le HTTPS (HyperText Transfer Protocol Secure), une version sécurisée de
HTTP, reposant sur des mécanismes de chiffrement comme SSL/TLS.

Ce document propose une vue d’ensemble du HTTPS : de ses origines à son


fonctionnement, en passant par sa configuration et les menaces potentielles auxquelles
il peut être exposé. Nous aborderons également la différence entre HTTP et HTTPS, les
avantages et inconvénients de chaque protocole, et les fondements techniques sur
lesquels repose la sécurité des connexions HTTPS.

Département Mathématique et Informatique Niveau : IN3 3


PROTOCOLE HTTPS

I. GENERALITE SUR LE HTTP


Le protocole de transfert HTTP (hypertexte transfert Protocol) est un ensemble de
règles permettant de transférer des fichiers (images, vidéos, texte, son etc.) sur le Web
(internet étant un réseau mondial permettant d’interconnecter et de faire communiquer
les équipements et appareils en entre eux dans le monde).

Le HTTP est un protocole qui se situe dans la couche application du modèle OSI, ainsi
dès qu’un utilisateur ouvre son navigateur il l’utilise indirectement. C’est un protocole
Client-Serveur basé sur le schéma « requête-réponse » chaque action du client comme
la saisie d’un texte et envoie ou un clic sur un lien, est convertie en requête http vers un
serveur.

Réf : Google_processus de communication http (option image)

II. EVOLUTION DU HTTP AU HTTPS


D'où vient le protocole HTTPS?

Département Mathématique et Informatique Niveau : IN3 4


PROTOCOLE HTTPS

 En 1989 : l'inventeur du World Wide Web Tim Berners-Lee crée


concomitamment le protocole de communication HTTP, une des trois
technologies indispensables au fonctionnement d'internet. Au moment de sa
création, le protocole de communication navigateur-serveur fait transiter les
données en clair. Sans chiffrement, le risque de piratage est alors latent. De ce
fait, internet se développe progressivement, et la vente en ligne apparaît. Mais les
internautes n'ont pas suffisamment confiance en internet pour y renseigner les
données de leur carte bancaire, donc le volume des ventes en ligne reste faible.
 En 1995 : l'entreprise Netscape, pionnière d'internet avec son navigateur
Netscape Navigator, introduit le protocole SSL (Secure Sockets Layer) pour
sécuriser les échanges de données, et susciter ainsi la confiance des internautes.
HTTP devient HTTPS : un protocole de communication navigateur-serveur
enrichi d'un protocole de sécurisation des échanges des données.
 1999 : L’IETF (Internet Engineering Task Force), en charge de normaliser
internet, crée le protocole TLS (Transport Layer Security). Cette version
moderne de SSL propose des méthodes de chiffrement avancées, et des liaisons
plus rapides.
 2014 : Google annonce intégrer le protocole de communication sécurisée HTTPS
dans ses critères de référencement naturel. Le HTTPS, jusque-là majoritairement
utilisé par les sites web manipulant des données particulièrement sensibles, se
généralise.
 2015 : La sécurité des échanges sur internet devient d'intérêt général. L'autorité
de certification à but non lucratif Let's Encrypt naît, elle propose des certificats
TLS gratuits, pour passer de HTTP à HTTPS gratuitement.

Département Mathématique et Informatique Niveau : IN3 5


PROTOCOLE HTTPS

 2018 : Google sanctionne les sites web qui n'utilisent pas le HTTPS en affichant
l'avertissement « La connexion n'est pas sécurisée ». La confiance des
internautes, et la crédibilité du site web, décroissent en conséquence. Le trafic est
vraisemblablement impacté sur ces.
 2024 : Hostinger, OVHcloud ou encore IONOS, la majorité des prestataires
d'hébergement populaires incluent le certificat << SSL >> par défaut dans toutes
leurs offres d'abonnement, pour garantir la sécurité des données. Par conséquent,
tous les sites hébergés via ces prestataires utilisent le HTTPS. Les prestataires
parlent de certificats SSL, plus connu, mais en réalité il s'agit de certificats TLS.
Le protocole TLS évolue à mesure des nouvelles menaces envers la
cybersécurité. Des versions actualisées paraissent régulièrement, avec des
algorithmes de chiffrement adaptés.

Département Mathématique et Informatique Niveau : IN3 6


PROTOCOLE HTTPS

III. LE HTTPS
1. GENERALITES
Le HTTPS (HyperText Transfer Protocol Secure) est une version sécurisée du
protocole HTTP. Ce protocole est utilisé pour établir une communication sécurisée entre
un navigateur web et un serveur. Il garantit que les données échangées ne peuvent pas
être interceptées ou altérées par des tiers malveillants.

Le HTTPS repose sur deux technologies fondamentales :

 SSL/TLS (Secure Sockets Layer / Transport Layer Security) : Ce sont des


protocoles de chiffrement qui assurent la confidentialité, l'intégrité et
l'authentification des données transmises. Le TLS est la version moderne et plus
sécurisée du SSL.
 Certificats numériques : Ces certificats sont émis par des autorités de certification
(CA) et servent à prouver l'identité du site web. Ils contiennent des informations
comme le nom du domaine, la clé publique du serveur et la signature numérique
de l'autorité de certification.

Depuis plusieurs années, le HTTPS est devenu la norme pour les sites web, notamment
ceux qui traitent des informations sensibles comme les paiements en ligne, les
identifiants utilisateurs ou les données personnelles. Les navigateurs modernes
marquent même les sites HTTP comme "non sécurisés" par l’absence de cadenas pour
encourager l'adoption du HTTPS.

a- DIFFERENTE COUCHES DU PROTOCOL HTTPS

Le Protocol https comporte quartes couches allant du plus haut niveau au plus bas
niveau, ainsi nous avons :

 Couche Application : HTTP

C’est là où ton navigateur (ou une API) envoie des requêtes comme GET, POST, etc.

Gère les URL, les en-têtes, les cookies, les données de formulaire, etc.

Département Mathématique et Informatique Niveau : IN3 7


PROTOCOLE HTTPS

Sans HTTPS, ces données sont transmises en clair.

 Couche Sécurité : TLS (anciennement SSL)

TLS assure trois choses :

- Chiffrement : protège les données échangées.


- Authentification : vérifie l’identité du serveur (via certificat).
- Intégrité : empêche les modifications invisibles en transit.

TLS se situe entre la couche HTTP et TCP en chiffrant tout le contenu HTTP avant qu’il
parte vers le réseau.

 Couche Transport : TCP

Protocole de transport fiable. Gère la connexion, l’ordre des paquets, la retransmission


si besoin.

TLS utilise TCP comme base (et non UDP, sauf pour QUIC/HTTP/3).

 Couche Réseau : IP + Ethernet

C’est la couche la plus basse (souvent gérée par le système). Elle s’occupe de
l’acheminement des paquets via Internet jusqu’au serveur

Schéma simplifié des couches HTTPS :

[Application] -> HTTP

[Sécurité] -> TLS

[Transport] -> TCP

[Réseau] -> IP + Ethernet

2. FONCTIONNEMENT, ETABLISSEMENT DE CONNEXION


ET ECHANGE DE DONNEES CHIFFREES
Le fonctionnement du HTTPS repose sur une série d'étapes appelée "TLS
Handshake" (poignée de main TLS). Voici une explication détaillée de ce processus :

Département Mathématique et Informatique Niveau : IN3 8


PROTOCOLE HTTPS

 Coté client : Lorsqu'un utilisateur accède à un site HTTPS, son navigateur envoie
une requête au serveur pour établir une connexion sécurisée. Cette requête inclut
les versions de TLS supportées par le navigateur et une liste des algorithmes de
chiffrement qu'il peut utiliser (chiffrement asymétrique, symétrique et le hachage
crytographique).
 Coté du serveur : après réceptions de la requête client le serveur répond en
envoyant son certificat SSL/TLS, qui contient sa clé publique, un certificat est
signé par une autorité de certification (CA) pour prouver son authenticité.
 Coté client : Apres réceptions de la réponse serveur, le navigateur vérifie
l'authenticité du certificat en le comparant avec une liste de certificats approuvés.
Si le certificat est valide, le navigateur génère une clé de session symétrique
unique.
 Coté client : Après vérification du certificat le navigateur chiffre cette clé de
session avec la clé publique du serveur (extraite du certificat) et l'envoie au
serveur. Seul le serveur, qui possède la clé privée correspondante, peut déchiffrer
cette clé de session.
 Chiffrement des données : Une fois la clé de session partagée, toutes les données
échangées entre le navigateur et le serveur sont chiffrées à l'aide de cette clé
symétrique. Cela garantit que les données ne peuvent pas être lues ou modifiées
par des tiers pendant leur transit

Pour en savoir plus vous pouvez suivre le lien :


[Link]

Ce processus de chiffrement/déchiffrement est essentiel pour protéger les informations


sensibles comme les mots de passe, les numéros de carte bancaire ou les informations
personnelles.

3. COMMENT ACTIVER UN HTTPS


Activer le HTTPS sur un site web nécessite plusieurs étapes techniques. Voici un guide
détaillé :

Département Mathématique et Informatique Niveau : IN3 9


PROTOCOLE HTTPS

 Obtenir un certificat SSL/TLS :

Un certificat SSL/TLS peut être acheté auprès d'une autorité de certification (CA)
comme DigiCert, GlobalSign, ou Let's Encrypt (une option gratuite mais tout aussi
sécurisée).

Pour obtenir un certificat, il faut généralement fournir des informations comme le nom
de domaine et dans certains cas, des documents justificatifs pour prouver la propriété du
domaine.

 Installer le certificat sur le serveur :

Une fois le certificat obtenu, il doit être installé sur le serveur web. Cela implique de
configurer le serveur pour qu'il utilise le certificat lors des communications HTTPS.

Par exemple, sur un serveur Apache, cela se fait en modifiant le fichier de configuration
httpd. Conf ou ssl. Conf pour inclure le chemin vers le certificat et la clé privée.

 Rediriger le trafic HTTP vers HTTPS :

Pour forcer les utilisateurs à accéder au site via HTTPS, il est nécessaire de configurer
des redirections permanentes (code HTTP 301(redirection vers la nouvelle adresse
sécurisé). Cela peut se faire en ajoutant des règles dans le fichier .htaccess ou
directement dans la configuration du serveur.

Département Mathématique et Informatique Niveau : IN3 10


PROTOCOLE HTTPS

 Tester la configuration (illustration):

Une fois le certificat installé et la redirection configurée, il est important de tester la


mise en place du HTTPS. Des outils comme SSL Labs permettent de vérifier que le
certificat est correctement installé et que le site est sécurisé

4. LES ATTAQUES QUE PEUT SUBIR UNE CONNEXION


HTTPS
Bien que le HTTPS soit conçu pour être sécurisé, il n'est pas à l'abri de certaines attaques
sophistiquées. Voici quelques exemples :

 Attaque Man-in-the-Middle (MITM):

Dans une attaque MITM, un pirate intercepte la communication entre le client et le


serveur. Cela peut arriver si un attaquant réussit à usurper l'identité du serveur ou du
client en utilisant un certificat falsifié.

Ref: Google_Man in the middle (option image)

Département Mathématique et Informatique Niveau : IN3 11


PROTOCOLE HTTPS

 Attaque par rejeu (Replay Attack) :

Dans ce type d'attaque, l'attaquant capture des données chiffrées et les rejoue
ultérieurement pour tromper le système. Bien que le TLS inclue des mécanismes pour
prévenir cela, des failles peuvent exister dans certaines implémentations.

Ref: Google_replay attack (option image)

 Compromission de certificats :

Si un certificat est volé ou falsifié, un attaquant peut usurper l'identité d'un site légitime.
C'est pourquoi les certificats doivent être renouvelés régulièrement et stockés en toute
sécurité.

 Failles dans les implémentations TLS/SSL :

Des vulnérabilités comme Heartbleed (2014), POODLE (2014) ou encore BEAST ont
été découvertes dans des versions anciennes de SSL/TLS. Ces failles permettent aux
pirates d'exploiter des faiblesses dans le chiffrement pour accéder aux données

Département Mathématique et Informatique Niveau : IN3 12


PROTOCOLE HTTPS

5. DIFFERENCE ENTRE LE HTTPS ET LE HTTP


La principale différence entre HTTP et HTTPS réside dans la sécurité en effet:

Le HTTP transmet les données en clair, ce qui les rend vulnérables aux interceptions
(Toute personne capable d’intercepter les informations sur un trafic réseau peut lire ses
informations et les échangées, y compris les mots de passe et les données sensibles)
alors que le HTTPS, en revanche, utilise des protocoles de chiffrement (SSL/TLS) pour
sécuriser les données. Cela garantit la confidentialité, l’intégrité et l’authentification. De
plus, le HTTPS utilise des certificats numériques pour vérifier l'identité du serveur.

Ref : Google_difference entre le HTTP et HTTPS (option image)

Autres différences notables :

Port utilisé : HTTP utilise le port 80, tandis que HTTPS utilise le port 443.

Nécessité de certificats : HTTPS nécessite un certificat SSL/TLS valide, contrairement


à HTTP.

Impact SEO : Google privilégie les sites HTTPS dans ses résultats de recherche, ce qui
améliore leur visibilité et crée un sentiment de sécurité vis-à-vis du client.

6. AVANTAGES ET INCONVENIENTS DU HTTPS


 AVANTAGES :

Département Mathématique et Informatique Niveau : IN3 13


PROTOCOLE HTTPS

- Confidentialité : Les données sont chiffrées, ce qui empêche les interceptions.


Cela est crucial pour protéger les informations sensibles comme les mots de passe
ou les données bancaires.
- Intégrité : Les données ne peuvent pas être modifiées sans être détectées grâce
aux mécanismes de hachage intégrés dans le TLS.
- Authentification : Les certificats assurent que l'utilisateur communique avec le
bon serveur, évitant ainsi les attaques de phishing (est une attaque où un escroc
crée un faux site web qui ressemble trait pour trait à un site légitime (banque,
réseau social, service en ligne, etc.)).

Ref : Google

- Amélioration du référencement : Google a confirmé que les sites HTTPS


bénéficient d'un avantage en termes de classement dans les résultats de recherche

 INCONVENIENTS :

- Coût : Certains certificats SSL/TLS peuvent être coûteux, bien que des options
gratuites comme Let's Encrypt soient disponibles.
- Charge serveur : Le chiffrement/déchiffrement des données peut augmenter la
charge sur le serveur, surtout pour les sites à fort trafic.
- Complexité : La gestion des certificats et leur renouvellement peut être technique,
nécessitant des compétences en administration système

Département Mathématique et Informatique Niveau : IN3 14


PROTOCOLE HTTPS

IV. SSL / TLS


1. DÉFINITION GÉNÉRALE
Le SSL (Secure Socket Layer) et le TLS (Transport Layer Security) sont des protocoles
cryptographiques utilisés pour sécuriser les communications sur un réseau informatique,
en particulier sur Internet.
Ils sont principalement utilisés pour :

 Assurer la confidentialité des échanges.


 Garantir l’authenticité du serveur.
 Protéger l’intégrité des données échangées.

Ces protocoles interviennent notamment dans les connexions HTTPS afin de chiffrer les
informations échangées entre un client (navigateur web) et un serveur web.

2. SSL (SECURE SOCKET LAYER)


Le SSL est le premier protocole de sécurité développé par la société Netscape en 1994.
Il a connu plusieurs versions, notamment SSL 2.0 et SSL 3.0.

3. TLS (TRANSPORT LAYER SECURITY)


TLS est une version améliorée et plus sécurisée du protocole SSL. Il a été standardisé
par l’IETF (Internet Engineering TaskForce) et est devenu le protocole de référence pour
sécuriser les échanges sur Internet.

4. FAILLES DE SECURITE DU PROTOCOLE SSL


Malgré son rôle pionnier dans la sécurisation des communications web, le protocole SSL
présente de nombreuses vulnérabilités, en particulier dans ses versions 2.0 et 3.0 .

Département Mathématique et Informatique Niveau : IN3 15


PROTOCOLE HTTPS

 Failles de conception
- Négociation possible de suites de chiffrement faibles (clés de 40 ou 56 bits).
- Manque de protection contre les attaques par rejeu.
- Authentification souvent unidirectionnelle (le serveur seulement).

 Attaques connues
- POODLE : exploite le mode CBC de SSL 3.0 pour intercepter des données.
- DROWN : utilise la présence de SSLv2 pour casser une connexion TLS.
- BEAST : attaque CBC sur SSL 3.0 / TLS 1.0 visant à voler des cookies.
- FREAK : forçait l’utilisation de clés RSA faibles et vulnérables.

 Algorithmes faibles
- SSL repose parfois sur MD5 ou SHA-1, tous deux considérés comme vulnérables
aux attaques par collision.

5. COMMENT TLS CORRIGE LES FAILLES DE SSL


Le protocole TLS a été conçu pour combler les lacunes de SSL et renforcer la sécurité :

 Chiffrement renforcé
- Négociation stricte des suites cryptographiques modernes.
- Abandon des algorithmes faibles (RC4, export-grade, etc.).

 Résistance aux attaques


- POODLE : non vulnérable grâce à une meilleure gestion du padding.
- BEAST : contourné par des correctifs et TLS 1.1+.
- DROWN : évité par l’abandon complet de SSLv2.
- FREAK : désactivation possible des suites RSA faibles.

Département Mathématique et Informatique Niveau : IN3 16


PROTOCOLE HTTPS

 Hachage sécurisé
- Utilisation de SHA-2 (SHA-256, SHA-384) à la place de MD5 et SHA-1.

 TLS 1.3 : une avancée majeure


- Suppression des fonctionnalités obsolètes (CBC, RSA statique).
- Handshake plus rapide et la confidentialité persistante activée par défaut.

Département Mathématique et Informatique Niveau : IN3 17


PROTOCOLE HTTPS

[Link] DU HTTPS/SSL
1. Principe général du fonctionnement HTTPS/TLS
a) Les étapes d’une connexion HTTPS

Lorsqu’un utilisateur tente d’accéder à un site web sécurisé ([Link] plusieurs étapes
se déroulent en arrière-plan.

 Étape 1 : Client Hello


Le client (navigateur) envoie au serveur :
- Une liste des versions TLS qu’il supporte.
- Une liste des algorithmes de chiffrement qu’il accepte.
- Un nombre aléatoire (Random Client).
- Des informations diverses.
 Étape 2 : Server Hello
Le serveur répond en envoyant :
- La version TLS qu’il a choisie.
- L’algorithme de chiffrement retenu.
- Son certificat numérique (contenant sa clé publique).
- Un autre nombre aléatoire (Random Server).

NB : Ce certificat est délivré par une Autorité de Certification (CA) et permet au


client de vérifier l’identité du serveur.

 Étape 3 : Authentification du serveur


Le navigateur vérifie si le certificat du serveur est valide :
- Si le certificat est valide → la connexion continue.
- Sinon → message d’alerte (connexion non sécurisée).
 Étape 4 : Génération du secret partagé
- Grâce à la clé publique du serveur, le client chiffre un secret (appelé Pre-
MasterSecret) et l’envoie au serveur.
Seul le serveur, grâce à sa clé privée, peut déchiffrer ce message.
Ce Pre-Master Secret va servir à générer la clé de session (clé symétrique).

Département Mathématique et Informatique Niveau : IN3 18


PROTOCOLE HTTPS

 Étape 5 : Chiffrement symétrique

À partir du Pre-Master Secret, le client et le serveur génèrent la même clé de session.


Cette clé symétrique va être utilisée pour chiffrer et déchiffrer toutes les données
échangées jusqu’à la fin de la connexion.

2. Les types de chiffrement utilisés


a) Le chiffrement asymétrique

Utilisé au début de la connexion. Fait intervenir deux clés : Une clé publique (connue
de tous) et une clé privé (Connue uniquement du serveur).

Sert uniquement à échanger la clé de session en toute sécurité.

b) Le chiffrement symétrique

Utilisé pour échanger les données après l’établissement de la clé de session.

Utilise une seule clé secrète partagée entre le client et le serveur.

Rapide et efficace pour le transfert de données.

Département Mathématique et Informatique Niveau : IN3 19


PROTOCOLE HTTPS

3. CIPHER SUITE
Une cipher suite est un ensemble de plusieurs algorithmes de sécurité que le protocole
TLS (et donc HTTPS) utilise pour sécuriser une communication entre ton navigateur
(client) et un serveur web. C’est comme une formule de sécurité que le client et le
serveur choisissent ensemble au début de la connexion. Elle définit comment les
données seront :

 Chiffrées
 Authentifiées
 Intégrées (non modifiées)
 Échangées de manière sécurisée

Une cipher suite contient 4 éléments :

Élément Rôle Exemple

ECDHE, DHE,
Échange de clés Établir un secret partagé
RSA

Authentification Vérifier l’identité du serveur RSA, ECDSA

AES_128,
Chiffrement symétrique Chiffrer les données
ChaCha20

Fonction de hachage / Vérifier que les données n’ont pas été SHA256,
intégrité modifiées SHA384

Exemple :

Nginx

CopierModifier

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Département Mathématique et Informatique Niveau : IN3 20


PROTOCOLE HTTPS

Signifie que :

ECDHE = échange de clés sécurisé avec Diffie-Hellman éphémère (donc Perfect


Forward Secrecy)

RSA = le serveur s’authentifie avec RSA (certificat)

AES_128_GCM = chiffrement des données avec AES en 128 bits, mode GCM

SHA256 = pour l’intégrité (vérifier que rien n’a été modifié)

Il est important car il détermine le niveau de sécurité de ta connexion HTTPS.

Une mauvaise cipher suite peut rendre la connexion vulnérable à des attaques.

Les bonnes cipher suites protègent tes données contre l’espionnage ou la falsification

4. LE PRE-MASTER SECRET
Une fois la méthode d’échange de clés choisie, le client et le serveur collaborent pour
générer un secret commun :

Si c’est RSA, le client chiffre un Pre-Master Secret avec la clé publique du serveur, et
l’envoie.

Si c’est DHE/ECDHE, les deux parties échangent des paramètres et calculent un secret
commun avec l’algorithme de Diffie-Hellman.

 PERFECT FORWARD SECRECY (PFS)

PFS garantit que même si la clé privée du serveur est compromise plus tard, les sessions
passées ne peuvent pas être déchiffrées.

Pour cela, le TLS handshake doit utiliser DHE ou ECDHE, qui génère un secret unique
par session, non dérivable de la clé privée du serveur.

RESUME SIMPLE

Département Mathématique et Informatique Niveau : IN3 21


PROTOCOLE HTTPS

Sans PFS Avec PFS

Même clé utilisée longtemps Nouvelle clé par session

Pré-master envoyé chiffrer Pré-master calculé séparément

Risque en cas de vol de clé privée Sécurité même si la clé est volée

RSA pour échange de clé DHE / ECDHE

 MASTER SECRET & PRF (PSEUDO-RANDOM FUNCTION)

Le Master Secret est une valeur secrète principale calculée à partir du Pre-Master Secret,
du ClientRandom, et du ServerRandom.

C’est le cœur de la sécurité TLS : à partir du Master Secret, on dérive toutes les clés de
chiffrement symétrique, clés d’intégrité, et IVs (vecteurs d’initialisation) nécessaires
pour sécuriser la session HTTPS.

La PRF est une fonction spéciale qui :

Combine plusieurs entrées (secret, texte, données aléatoires)

Et produit une suite de bits pseudo-aléatoires totalement imprévisibles

Utilise des fonctions de hachage cryptographiques comme HMAC-SHA256 ou HMAC-


SHA384

Département Mathématique et Informatique Niveau : IN3 22


PROTOCOLE HTTPS

 Objectif :

Générer des clés solides, uniques à chaque session, une fois le Pré-Master Secret établi,
les deux parties utilisent une PRF (fonction pseudo-aléatoire) pour générer le Master
Secret :

Ini

CopierModifier

MasterSecret = PRF(PreMasterSecret, "master secret", ClientRandom +


ServerRandom)

Ensuite, ce Master Secret sert à dériver :

- Les clés de chiffrement symétrique


- Les clés de MAC (intégrité)
- Les IVs (initialization vectors)

 CHANGE CIPHER SPEC

À ce stade, les deux parties sont prêtes à chiffrer la communication. Chacune envoie un
message "ChangeCipherSpec", pour dire :

"À partir de maintenant, tous les messages seront chiffrés avec les clés dérivées."

Puis un message "Finished" est envoyé :

- Chiffré
- Signé avec un hash de tout le handshake, vérifiant ainsi que personne n’a modifié
les messages.
 ÉCHANGE SECURISE DES DONNEES

Désormais, les messages sont :

- Chiffrés (confidentialité)
- Signés/MACés (intégrité/authenticité)
- Grâce à des clés symétriques dérivées du Master Secret

Département Mathématique et Informatique Niveau : IN3 23


PROTOCOLE HTTPS

VI. CONFIGURATION ET INSTALLATION


PRATIQUE(APACHE)
 1er étape : Mise à jour de la liste des paquets

Etant sur une distribution linux (ubuntu), la première chose à faire est de s'assurer que
votre système Ubuntu est à jour au travers de la commande : ‘’ sudo apt update ’’

Réf : par nos soins

 2e étape : Installation du serveur Apache

Ayant mis les paquets à jour, nous allons passer à l’installation d’apache au travers de
la commande : ‘’ sudo apt install apache2 ’’

 3e étape: vérifier si le server apache est bien installer

Après son installation le server apache peut connaitre trois étapes à savoir

- Start ou en marche qui permet de lancer le serveur apache, la commande est la


suivante : ‘’ sudo service apache2 start ’’

Département Mathématique et Informatique Niveau : IN3 24


PROTOCOLE HTTPS

- Status qui permet de voir si le server apache est en marche ou en arrêt, la


commande est la suivante : ‘’ sudo service apache2 status ’’

Réf : par nos soins.

Si vous avez le résultat précèdent, suffit d’aller dans l’url d’un navigateur et de saisir
‘’http//localhost ’’ et vous obtiendrez le résultat suivant :

Réf : par nos soins.

Ici nous pouvons constate un manque de sécurité au niveau de l’url qui me matérialise
par l’absence du Cardenas.

- Stop qui permet d’arrêter le server apache la commande est la suivante :

Département Mathématique et Informatique Niveau : IN3 25


PROTOCOLE HTTPS

‘’sudo service apache2 stop ’’

Réf : par nos soins.

 4e étape : installation du module SSL/TLS pour apache

Il permet de sécuriser les requêtes http en https, la commande ‘’ sudo a2enmod ssl ’’
permettant ainsi ça mise en place

Réf : par nos soins.

Puis relancer apache à l’aide de la commande ‘’sudo service apache2 reload ’’

Réf : par nos soins.

 5e étapes : Création d’un certificat SSL auto-signé (si tu n’as pas de domaine)

La commande suivante permet sa réalisation

‘’ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \

-keyout /etc/ssl/private/[Link] \

-out /etc/ssl/certs/[Link] ’’

Département Mathématique et Informatique Niveau : IN3 26


PROTOCOLE HTTPS

Réf : par nos soins.

 6e étapes : Configurer un site HTTPS

Permet de créer les différents fichiers de configuration, la commande est la suivante :

‘’ sudo nano /etc/apache2/sites-available/[Link] ’’

Réf : par nos soins.

Et vous aurez une interface vierge qui se présentera et vous n’aurez qu’à copier le
script suivant et à coller :

<VirtualHost *:443>

ServerAdmin webmaster@localhost

ServerName [Link]

DocumentRoot /var/www/html

SSLEngine on

Département Mathématique et Informatique Niveau : IN3 27


PROTOCOLE HTTPS

SSLCertificateFile /etc/ssl/certs/[Link]

SSLCertificateKeyFile /etc/ssl/private/[Link]

<Directory /var/www/html>

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

ErrorLog ${APACHE_LOG_DIR}/[Link]

CustomLog ${APACHE_LOG_DIR}/[Link] combined

</VirtualHost>

Département Mathématique et Informatique Niveau : IN3 28


PROTOCOLE HTTPS

Et vous obtiendrez le résultat suivant :

Réf : par nos soins.

 7e etapes : Activer le site SSL

‘’ sudo a2ensite [Link] ’’

Réf : par nos soins.

Département Mathématique et Informatique Niveau : IN3 29


PROTOCOLE HTTPS

Puis relancer le server apache et puis revenez dans le navigateur ajouter un ‘’s’’ au
niveau du http et vous obtiendrez le résultat suivant :

Réf : par nos soins.

Et vous observer la présence du Cardenas au niveau de l’url, matérialisant la sécurité


du site.

Département Mathématique et Informatique Niveau : IN3 30


PROTOCOLE HTTPS

VII. Configuration Apache HTTPS - Script Shell


Script Shell : Installation et Configuration Apache avec HTTPS sur Ubuntu

#!/bin/bash

# Définir les variables DOMAIN="[Link]" SITE_DIR="/var/www/gci"


SSL_DIR="/etc/apache2/ssl"

CONF_FILE="/etc/apache2/sites-available/[Link]"

echo "Mise à jour des paquets..." sudo apt update

echo "Installation d'Apache..." sudo apt install -y apache2

echo "Activation du module SSL..." sudo a2enmod ssl

echo "Création du répertoire du site : $SITE_DIR" sudo mkdir -p $SITE_DIR

echo "<h1>Bienvenue sur $DOMAIN en HTTPS !</h1>" | sudo tee


"$SITE_DIR/[Link]"

echo "Création des certificats SSL auto-signés..." sudo mkdir -p $SSL_DIR

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout
"$SSL_DIR/[Link]" \

-out "$SSL_DIR/[Link]" \

-subj "/C=FR/ST=France/L=Paris/O=GCI/CN=$DOMAIN"

echo "Création du fichier de configuration HTTPS..." sudo bash -c "cat >


$CONF_FILE" <<EOF

<IfModule mod_ssl.c>

<VirtualHost *:443> ServerName $DOMAIN ServerAlias www.$DOMAIN


DocumentRoot $SITE_DIR

SSLEngine on

SSLCertificateFile $SSL_DIR/[Link] SSLCertificateKeyFile $SSL_DIR/[Link]

Département Mathématique et Informatique Niveau : IN3 31


PROTOCOLE HTTPS

ErrorLog \${APACHE_LOG_DIR}/monsite_error.log

CustomLog \${APACHE_LOG_DIR}/monsite_access.log combined </VirtualHost>

</IfModule> EOF

Configuration Apache HTTPS - Script Shell

echo "Activation du site HTTPS..." sudo a2ensite [Link]

echo "Redémarrage du serveur Apache..." sudo service apache2 reload

echo "Installation et configuration terminées !"

echo "Accédez à : [Link] -I | awk '{print $1}')"

Département Mathématique et Informatique Niveau : IN3 32


PROTOCOLE HTTPS

CONCLUSION
La transition du HTTP vers le HTTPS n’est plus une simple option, mais une nécessité
pour garantir la confidentialité, l’intégrité et l’authenticité des communications sur le
web. Grâce aux protocoles de sécurité comme SSL/TLS, le HTTPS permet de chiffrer
les échanges, rendant ainsi plus difficile l’interception ou la manipulation des données
par des attaquants.

Toutefois, bien que HTTPS offre un niveau de sécurité élevé, il n’est pas infaillible et
peut lui aussi être la cible d’attaques sophistiquées. Il est donc crucial de bien configurer
les serveurs (comme Apache), de suivre les bonnes pratiques en matière de cyber
sécurité et de rester informé des évolutions technologiques.

En somme, l’intégration du TLS dans le http sécurise la communication au niveau de la


couche application Layer et Transport Layer, mais ne chiffre pas les données de niveau
inferieur notamment le numéro de port et l’adresse IP. Ce qui nécessitera l’ajout des
protocoles tels que : IPSEC, VPN etc… pour une communication encore plus sécurisée
en masquant le numéro de port et l’adresse IP.

Département Mathématique et Informatique Niveau : IN3 33


PROTOCOLE HTTPS

REFERENCES
Comprendre les différences entre HTTP et HTTPS Keyfactor

Sécurité des applications web, failles et attaques courantes - Vaadata

HTTPS vs HTTP : Le Guide Complet pour Comprendre …… - AYRADE

Département Mathématique et Informatique Niveau : IN3 34


PROTOCOLE HTTPS

LEXIQUE
DHE : Diffie Hellman Ephemeral

ECDHE : Elliptic Curve Diffie-Hellman Ephemeral


RSA : Rivest–Shamir–Adleman

AES : Advanced Encryption Standard


CBC : Cipher Block Chaining
GCM : Galois/Counter Mode
SHA : Secure Hash Algorithm

MAC : Message Authentication Code

SNI: Server Name Indication


ALPN : Application-Layer Protocol Negotiation
UDP : User Datagram Protocol

VPN : Virtual Private Network

IPSEC : Internet Protocol Security

Département Mathématique et Informatique Niveau : IN3 35

Vous aimerez peut-être aussi