WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

L'interception SSL/TLS : le fonctionnement, entre enjeux et risques, les bonnes pratiques

( Télécharger le fichier original )
par Edouard Petitjean
Université de Bordeaux - MIAGE SIID 2017
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.3 Un protocole fortement évolutif

Le TLS à une très forte capacité évolutive. Comme vu précédemment, le TLS va utiliser des moyens cryptographiques pour remplir ses objectifs. Or, même si ces derniers sont essentiels au TLS, celui-ci n'est pas dépendant d'algorithme de chiffrement précis. Aussi, tant qu'un algorithme reste compatible avec les besoins du TLS, celui-ci pourra être utilisé par ce dernier. Par conséquent, il est relativement simple pour TLS d'ajouter ou supprimer le support d'un algorithme pour augmenter la sécurité.

Par ailleurs, la structure du TLS se base sur un système d'extension permettant de rajouter des fonctionnalités sans pour autant devoir à modifier la structure du protocole. L'avantage de cette architecture permet d'assurer une interopérabilité minimale entre un client et un serveur même s'ils ne supportent pas les mêmes extensions. Ce service minimum regroupe bien entendu les trois objectifs vus précédemment. A titre d'information, nous pouvons citer le SNI ou l'ALPN4 comme extensions utiles. Mais leur non-support ne présente aucune incidence majeure sur le protocole TLS lui-même.

2.4 Rappel cryptographique

Avant d'aller plus loin, il est important de procéder à quelques rappels de base sur la cryptographie. Le protocole TLS va utiliser plusieurs notions cryptographiques différentes qui se compléteront entre elles afin de fournir un niveau de sécurité acceptable. Le but de cette section n'étant pas de voir en détail les algorithmes existants et utilisés, mais de comprendre les différentes notions cryptographiques qui sont utilisées par le TLS.

2.4.1 Chiffrement symétrique

Le chiffrement symétrique est un moyen de chiffrement qui utilisera la même clef pour chiffrer et déchiffrer les données. Cela repose sur un secret partagé entre toutes les identités ayant besoin d'échanger des données de façon sécurisée.

4. Application Layer Protocol Negotiation : Extension TLS permettant d'annoncer le protocole transporté par TLS.

Edouard Petitjean M2 MIAGE SIID 10

TLS : un protocole compliqué? - Rappel cryptographique

Soit,

m : le message

e : le message chiffré k : la clef symétrique

c : la fonction de chiffrement

d : la fonction de déchiffrement alors,

e = ck(m)

m = dk(e)

et,

m = dk(ck(m))

Ce type de chiffrement ne permet pas d'assurer que la confidentialité des données. À aucun moment il n'est possible de s'assurer de l'identité de l'expéditeur d'un message, ni même de fournir une garantie de l'intégrité du message. Pourtant, le chiffrement symétrique a deux atouts majeurs dans son utilisation. La première est le faible coût en ressource qu'il nécessite comparé à un algorithme asymétrique. D'autre part, les algorithmes symétriques sont plus complexes et donc plus sécurisés.

Pour finir, la principale faiblesse dont souffre le chiffrement symétrique est de savoir comment échanger les différentes clefs entre les différentes identités, sans que celles-ci ne puissent être interceptées par un tiers n'étant pas dans la confidentialité.

2.4.2 Chiffrement asymétrique

Les algorithmes de chiffrement symétrique ont la particularité d'avoir plusieurs rôles. En plus de pouvoir assurer la confidentialité en chiffrant les données, ils ont la capacité de générer leurs propres clefs ainsi que de pouvoir « signer » les données, répondant aux besoins de non répudiation et d'intégrité du TLS.

La plus grosse différence avec le chiffrement symétrique est l'utilisation d'une paire de clefs par identité. Chaque identité aura deux clefs, une dite publique et la seconde dite privée.

La clef publique sera annoncée à quiconque voulant s'adresser à son propriétaire. Elle servira à la fois à chiffrer les données qui devront être envoyées à son possesseur, ainsi qu'à la vérification de la signature envoyée.

La clef privée sera toujours gardée secrète par son propriétaire. C'est celle-ci qui permettra de déchiffrer les données reçues. Donc le principe de confidentialité est lié au fait que l'identité à destination du message soit la seule à pouvoir en comprendre le sens. La clef privée sera également utilisée pour signer un message envoyé, de ce fait, le destinataire du message pour vérifier l'identité de l'expéditeur en vérifiant la signature via la clef publique de l'expéditeur.

Edouard Petitjean M2 MIAGE SIID 11

TLS : un protocole compliqué? - Rappel cryptographique

Soit,

kpub : la clef publique kpri : la clef privée

m : le message

e : le message chiffré

s : la signature du message envoyé

c : la fonction de chiffrement

d : la fonction de déchiffrement

alors pour chiffrer,

e = ckpub(m)
m = dkpri(e)

et pour signer,

s = ckpri(m) m = dkpub(m)

Ce type d'algorithme propose clairement un principe de confidentialité plus important que le chiffrement symétrique, dans le sens où un message sera chiffré autant de fois qu'il y aura de destinataires. Également, en se basant sur un couple de clefs dont une est publique, le problème de communication des clefs de chiffrement ne se pose plus. Alors pourquoi TLS utilise-t-il le chiffrement symétrique?

Pour commencer, comme évoqués précédemment, les algorithmes asymétriques reposent sur des notions mathématiques simples. En effet, tous vont se reposer à la base sur un couple de nombres premiers, où leur multiplication sera annoncée de façon publique. Aussi, savoir factoriser un nombre en nombres premiers permet de « casser » la sécurité de ces algorithmes. Pour pallier cela, ces derniers utilisent maintenant des nombres très grands. De nos jours, il est courant que ces nombres utilisent une longueur de 2048 bits, soit des nombres avec plus de 600 décimales! Si les algorithmes asymétriques sont encore utilisés de nos jours, cela est uniquement dû à l'incapacité technique et mathématique à factoriser des nombres si grands en des temps raisonnables 5.

En reprenant le point précédent, les clefs des algorithmes asymétriques sont donc très grandes. Or, il n'est pas aisé, même en informatique, de faire des calculs avec des nombres si grands. Cela demande des algorithmes mathématiques spécifiques pour la gestion de la mémoire, mais aussi, des ressources très importantes, contrairement au chiffrement symétrique.

Néanmoins, les algorithmes de chiffrement ont deux rôles majeurs, le premier, assurer l'identité et l'intégrité des messages. Mais également de palier au principal défaut du chiffrement symétrique : l'échange des clefs. En effet, les algorithmes asymétriques seront utilisés pour chiffrer, non pas de la donnée directement, mais les clefs symétriques afin de pouvoir les échanger en toute quiétude.

A ce stade, il est important de faire attention à une autre limite des algorithmes asymétriques. Ils permettent de signer un message pour s'assurer l'identité de l'expéditeur, mais cette fonctionnalité a l'inconvénient de rendre le message lisible par tous et ne permettant plus d'assurer la confidentialité. Les fonctions utilisées pour signer le message et vérifier la signature sont les mêmes que pour chiffrer et déchiffrer le message. Par conséquent, en envoyant la signature, qui n'est rien d'autre que le message chiffré avec la clef privée de l'expéditeur, n'importe qui pourrait prendre connaissance du message en déchiffrant la signature avec la clef publique de cet expéditeur.

2.4.3 Empreinte numérique

Une empreinte numérique est une représentation chiffrée d'un message. Elle s'effectue au travers d'un algorithme de chiffrement irréversible aussi dit « hash ». Cela veut dire deux choses :

1. En utilisant un même algorithme, une donnée aura toujours la même empreinte numérique,

5. Nous parlons de temps raisonnable lorsque la durée de factorisation est inférieure à la durée de vie de l'information à déchiffrer

Edouard Petitjean M2 MIAGE SIID 12

TLS : un protocole compliqué? - Authentification: un principe de confiance

2. Il n'existe aucun algorithme permettant de retrouver une donnée à partir de son empreinte numérique6.

Soit,

m : le message

h : l'empreinte numérique du message

alors,

h = Hash(m)

Cette particularité d'irréversibilité sera utilisée par TLS pour combler le défaut de la signature des messages. Aussi, ça ne sera plus le message lui-même qui sera chiffré pour servir de signature, mais l'empreinte numérique de celui-ci. Aussi, peu importe si les personnes peuvent déchiffrer la signature, le résultat sera l'empreinte du message. Et par conséquent, impossible de retrouver le message. Pour ce qui en est du destinataire, celui-ci fera une comparaison de l'empreinte numérique reçue, avec l'empreinte numérique du message qu'il aura déchiffré avec sa propre clef privée.

Soit,

Alicepub : la clef publique d'Alice Alicepri : la clef privée d'Alice Bobpub : la clef publique de Bob Bobpri : la clef privée de Bob m : le message

e : le message chiffré

s : la signature du message envoyé

c : la fonction de chiffrement

d : la fonction de déchiffrement

Alice envoie un message à Bob,

e = cBobpub(m)

s = cAlicepri(Hash(m))

Bob reçoit le message,

m = dBobpri(e) h = Hash(m)

h' = dAlicepub(s)

Si h et h' sont identiques, Bob prend en compte le message et sait qu'il vient d'Alice.

Pour finir avec ce rappel, en combinant ces 3 types d'algorithmes de chiffrement, TLS peut répondre à deux de ses objectifs principaux : « Confidentialité » et « non répudiation et intégrité ».

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams