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
  

Disponible en mode multipage

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

    Formation: M2 MIAGE SIID

    L'interception SSL/TLS

    Le fonctionnement,

    Entre enjeux et risques,
    Les bonnes pratiques.

    Edouard Petitjean

    25 août 2017

    Préambule

    La sécurisation des échanges numériques, un domaine difficile à appréhender. Autrefois réservés aux forces militaires, les moyens permettant de chiffrer des données se sont répandus aux organisations privées et étatiques. Suite à la démocratisation du SSL/TLS qui permet de sécuriser des échanges liés au web, aux mails et d'autres moyens de communication, le mode d'utilisation d'Internet a radicalement changé. Le lieu où la confiance ne pouvait régner, voir qualifié de « sans foi ni loi » 1, est devenu depuis lors le réseau des communications privées, des achats, de la gestion administrative, etc...

    Après que les banques et les sites de e-commerces utilisaient le SSL/TLS pour sécuriser les échanges avec leurs clients, ce sont les plates-formes de communications (webmails, réseaux sociaux, etc...) qui ont adopté cette technologie. Avec cette dernière pratique, ce fut les principes du respect de la vie privée et du secret des correspondances qui faisaient office de justification pour sécuriser les échanges. Mais c'est avec les révélations d'Edward Snowden sur PRISM2 que l'échange des données sécurisé entre un client et un serveur et de façon qu'aucun intermédiaire ne puisse comprendre la communication

    est devenu l'argument commercial majeur pour la plupart des acteurs du web. Par conséquent, nous pouvons voir de plus en plus de ces communications sécurisées, souvent via SSL/TLS, apparaître.

    Il est tout à fait normal de nos jours, que les utilisateurs d'un système informatique d'une entreprise accèdent à ces sites sécurisés, que ça soit dans le cadre professionnel ou personnel. Or, ces échanges sécurisés, entre un utilisateur et le site distant, ne laissent aucune visibilité à l'entreprise sur leurs contenus. Loin de vouloir « espionner » les employés, ce sont les éventuelles fuites de données et la récupération de fichiers malveillants qui posent problème. En effet, sans pouvoir comprendre les échanges, les différents systèmes de sécurité permettant à une entreprise de se protéger deviennent aveugle. La solution? L'interception SSL/TLS. Mais est-elle bénéfique? Sans risques?

    Ce présent article va présenter la technique dite interception SSL. Il sera découpé en trois parties. La première expliquera le protocole SSL/TLS ainsi que la technique d'interception SSL/TLS. Puis dans un second temps, cet article traitera des enjeux et risques que présente l'interception SSL/TLS. Nous terminerons par les bonnes pratiques en matière de déploiement et d'utilisation de cette technique.

    1.

    Edouard Petitjean M2 MIAGE SIID 1

    Expression dite par Alain Finkielkraut le 31/01/2014 sur la chaîne de BFMTV

    2. Vaste programme de surveillance des communications mondiales mis en place par la NSA en 2007

    Edouard Petitjean M2 MIAGE SIID 2

    Sommaire

    I

    L'interception SSL

    4

    1

    Quelle différence entre SSL et TLS?

    5

     

    1.1

    Historique du SSL et du TLS

    5

     

    1.2

    Obsolescence du SSL

    5

     

    1.3

    Un abus de langage historique

    7

    2

    TLS : un protocole compliqué?

    8

     

    2.1

    Les objectifs du TLS

    8

     

    2.2

    Le positionnement du TLS dans le modèle TCP/IP

    8

     

    2.3

    Un protocole fortement évolutif

    9

     

    2.4

    Rappel cryptographique

    9

     
     

    2.4.1 Chiffrement symétrique

    9

     
     

    2.4.2 Chiffrement asymétrique

    10

     
     

    2.4.3 Empreinte numérique

    11

     

    2.5

    Authentification: un principe de confiance

    12

     
     

    2.5.1 Certificat X.509 : La carte d'identité numérique

    13

     
     

    2.5.2 La relation de confiance

    14

     
     

    2.5.3 PKI : La confiance via un tiers

    15

     

    2.6

    TLS : le protocole en détail

    17

     
     

    2.6.1 Les messages d'extension

    17

     
     

    2.6.2 TLS Record Protocol

    17

     
     

    2.6.3 Handshake Protocol

    19

     
     

    2.6.4 Alert Protocol

    22

     
     

    2.6.5 Change Cipher Spec Protocol

    22

    3

    L'interception TLS

    23

     

    3.1

    L'interception TLS sortante

    24

     
     

    3.1.1 Le placement du proxy TLS

    25

     
     

    3.1.2 Une autorité de certification interne

    25

     

    3.2

    L'interception TLS entrante

    26

     
     

    3.2.1 Le placement du proxy TLS

    27

     
     

    3.2.2 Hébergement des clefs privées

    27

    II Des Enjeux et Des Risques 28

    4 L'origine du chiffrement des échanges 29

    5 Aspect technique 31

    5.1 Enjeux sécuritaires 31

    5.1.1 Les pare-feux nouvelle génération: l'analyse poussée 31

    5.1.2 Utilisation d'un proxy 32

    5.1.3 Journalisation des connexions 32

    5.2 Risques : les contraintes techniques 33

    5.2.1 La performance 33

    Edouard Petitjean M2 MIAGE SIID 3

     
     
     

    SOMMAIRE - SOMMAIRE

     

    5.3

    5.2.2 L'interception

    5.2.3 Les protections des clients

    5.2.4 La protection des serveurs

    Récapitulatif

    34

    36

    37

    38

    6

    Une législation complexe

    39

     

    6.1

    Un chiffrement libre sous condition

    39

     

    6.2

    Les obligations légales

    40

     
     

    6.2.1 Données personnelles : la protection quoiqu'il arrive

    40

     
     

    6.2.2 L'interception TLS dans la protection des données

    40

     
     

    6.2.3 La responsabilité en cas de crime ou délit

    41

     
     

    6.2.4 L'obligation d'une journalisation

    42

     
     

    6.2.5 La loi HADOPI

    42

     
     

    6.2.6 Interception dans le cadre judiciaire

    42

     

    6.3

    La légalité de l'interception TLS

    43

     
     

    6.3.1 Des atteintes aux secrets

    43

     
     

    6.3.2 La sous-traitance

    44

     
     

    6.3.3 Atteinte au STAD?

    44

     

    6.4

    Récapitulatif

    44

    7

    L'impact sociologique

    46

     

    7.1

    La destruction de la relation de confiance

    46

     

    7.2

    Une surveillance en trop ?

    46

     

    7.3

    La nécessité d'informer

    47

    III Quelques bonnes pratiques 48

    8 Des réflexes à avoir 49

    9 La mise en oeuvre technique 50

    9.1 L'interception sortante 50

    9.1.1 Gestion de l'AC interne 50

    9.1.2 Protection des clefs privées 50

    9.1.3 Sécurité des connexions entre les clients internes et le proxy TLS 50

    9.1.4 Sécurité des connexions entre le proxy TLS et les serveurs 51

    9.1.5 Protection de la vie privée 51

    9.2 L'interception entrante 51

    9.2.1 Sécurisation entre les clients externes et le reverse proxy TLS 51

    9.2.2 Protection des clefs privées 52

    10 Informations et obligations légales 53

    10.1 Vis à vis des utilisateurs 53

    10.2 Rappel sur l'obligation des administrateurs 53

    11 Conclusion 54

    Edouard Petitjean M2 MIAGE SIID 4

    Première partie

    L'interception SSL

    Edouard Petitjean M2 MIAGE SIID 5

    Chapitre 1

    Quelle différence entre SSL et TLS?

    Avant de commencer à expliquer le fonctionnement du protocole, l'article va traiter de la différence entre SSL 1 et TLS 2. Ceci afin d'éviter toutes confusions sur la suite de ce texte.

    1.1 Historique du SSL et du TLS

    Pour la petite histoire, le SSL fut créé par Netscape en 1994. Baptisée « SSL 1.0 », cette version resta dans le domaine de la théorie. C'est en 1995 avec l'arrivée du « SSL 2.0 » que le protocole fut utilisé. Mais cette version présentait plusieurs failles, par conséquent, la version « SSL 3.0 » fut créée en 1996. Avec cette nouvelle version, et une nouvelle RFC3 (6101), le protocole devint de plus en plus utilisé et permet une nouvelle utilisation d'internet. Notamment, l'émergence du e-commerce est fortement due à la sécurisation des connexions que procurait le « SSL 3.0 ».

    En janvier 1999, un nouveau protocole fut défini, le « TLS 1.0 » mais par l'IETF4 et non plus par Netscape. Ce « nouveau » protocole découle directement du « SSL 3.0 », au point où le numéro de version de « TLS 1.0 » est 3.1 : « SSL 3.1 ». La structure reste la même, seules quelques fonctionnalités liées à la cryptographie sont améliorées. Ces modifications empêchent une compatibilité directe entre le « SSL 3.0 » et le « TLS 1.0 », mais ce dernier à la capacité de basculer en « SSL 3.0 » selon le besoin. Ce qui permet au TLS de se déployer petit à petit tout en gardant l'utilisation du SSL possible. Par la suite, le TLS va subir des modifications afin qu'il soit plus sécurisé et plus abouti. On peut noter le support du Kerberos5, de l'AES6 ou encore du SNI7.

    Par la suite, les versions « TLS 1.1 » (2006) et « TLS 1.2 » (2008) furent créées, chacun apportant son lot d'amélioration et surtout de sécurisation dans l'établissement du canal entre le client et le serveur. De nos jours, seules les versions « TLS 1.1 » et « TLS 1.2 » sont épargnées de vulnérabilité connue. La version « TLS 1.0 » fut victime de BEAST8, ce sont les navigateurs qui permettent la protection contre cette attaque. Par conséquent, le « TLS 1.0 » est considéré comme vulnérable même si c'est le protocole le plus utilisé à ce jour. Le graphique fig. 1.1 p.6 9 présente l'évolution d'utilisation des différents protocoles entre 2014 et 2016.

    1.2 Obsolescence du SSL

    Comme nous l'avons vu précédemment, les versions « SSL 2.0 » et « SSL 3.0 » datent respectivement de 1995 et 1996. La première fut remplacée à cause des vulnérabilités découvertes. Par conséquent, la RFC 6176 créée en 2011, prohibe l'utilisation de cette version.

    1. Secure Socket Layer, protocole permettant de créer un canal d'échange sécurisé entre un client et un serveur.

    2. Transport Layer Security, protocole permettant de créer un canal d'échange sécurisé entre un client et un serveur. Successeur du SSL.

    3. Request for comments : document décrivant un aspect technique

    4. Internet Engineering Task Force : regroupement de personnes créant des RFC

    5. Protocole d'authentification et d'autorisation basé sur des tickets

    6. Advanced Encryption Standard: protocole de chiffrement symétrique

    7. Server Name Indication : extension TLS permettant d'annoncer le CommonName du certificat à demander

    8. Browser Exploit Against SSL/TLS : attaque via injection de cookie pour détourner une session SSL/TLS

    9. Source : https://www.trustworthyinternet.org/ssl-pulse/

    Edouard Petitjean M2 MIAGE SIID 6

    Quelle différence entre SSL et TLS? - Obsolescence du SSL

    FIGURE 1.1 - Evolution d'utilisation des protocoles entre 2014 et 2016

    Edouard Petitjean M2 MIAGE SIID 7

    Quelle différence entre SSL et TLS? - Un abus de langage historique

    Néanmoins, elle n'est pas la seule impactée, en effet, suite à l'attaque POODLE 10 (2014), la version « SSL 3.0 » fut considérée comme peu sûre et une RFC (7568) mit la version au statut « désapprouvé » en 2015.

    Par conséquent, depuis 2015, tout système informatique qui se respecte devrait avoir supprimé toute utilisation des versions SSL.

    1.3 Un abus de langage historique

    Pourquoi le terme de SSL est encore très présent dans le monde informatique alors que depuis 2015, les versions SSL ne devraient plus être utilisées?

    Cet abus de langage de nos jours est surtout historique. En effet, alors même que les versions TLS se développaient, énormément de serveurs présentèrent du « SSL 3.0 ». Beaucoup l'utilisèrent encore à cause de la méconnaissance des administrateurs de l'époque. En effet, il n'est pas évident de comprendre par exemple la numérotation de version du TLS qui reprend celle du SSL dans les échanges alors que le protocole est défini avec d'autres numéros. Le SSL et le TLS utilisent des notions, que nous verrons par la suite, qui ne sont pas simples à appréhender. Aussi, dans certains domaines comme le e-commerce, il était compliqué de s'aventurer dans la migration d'un protocole de sécurisation que peu de personnes maîtrisaient, et surtout où aucune attaque sérieuse n'avait été découverte. Ce n'est qu'en 2014 suite aux attaques BEAST et POODLE que les entreprises ont compris que même si un protocole permettait de sécuriser une connexion, celui-ci peut lui-même être vulnérable.

    Dans la suite de cet article, le terme SSL sera supprimé pour ne garder que le terme TLS.

    10. Padding Oracle On Downgraded Legacy Encryption : attaque utilisant le « downgrade dance » et exploite le manque de vérification du « SSL 3.0 »

    Edouard Petitjean M2 MIAGE SIID 8

    Chapitre 2

    TLS : un protocole compliqué?

    Afin de bien comprendre comment fonctionne l'interception TLS, il est déjà important de bien comprendre ce qu'est le TLS.

    2.1 Les objectifs du TLS

    Le TLS a été développé pour répondre à 3 fonctions bien identifiées :

    Authentification : Le TLS a pour but de fournir une garantie de l'identité d'un serveur à un client. Optionnellement, le TLS peut également assurer l'identité du client auprès du serveur. Cette fonction sera assurée par des algorithmes cryptographiques basés sur des clefs asymétriques et de certificats numériques. Actuellement, c'est l'emploi de certificat X.509 1 qui est utilisé pour authentifier les serveurs.

    Confidentialité : Le TLS va s'assurer que les communications entre un client et un serveur ne puissent être comprises par un tiers. Un algorithme de chiffrement à base de clefs hybrides fournit cette confidentialité. Un système à base de clefs asymétriques permettra l'échange des clefs de symétriques, qui elles, permettront le chiffrement des données.

    Non répudiation et intégrité : Le TLS doit gérer l'intégrité des données2 échangées et vérifier de façon certaine l'émetteur des données. La signature des données sera utilisée pour remplir cette fonction.

    2.2 Le positionnement du TLS dans le modèle TCP/IP

    Savoir positionner un protocole sur des modèles comme OSI ou TCP/IP peut paraître négligeable, pourtant, savoir positionner un protocole permet de mieux comprendre son utilité et sa définition.

    Le TLS fut conçu pour répondre à un besoin de sécurisation des applications ayant une architecture basée sur le modèle « client-serveur3 ». De ce fait, le protocole TLS est donc lui-même basé sur un modèle client-serveur. Mais attention, le TLS ne fait pas partie de la couche application du modèle TCP/IP. le TLS aura pour but de créer un canal d'échange sécurisé pour une application donnée, mais ne va pas agir ou formater des données comme le ferait une application. Il en ressort donc qu'il agit plus comme un protocole de transport qu'un protocole applicatif. Néanmoins, il n'est pas non plus un protocole de transport à proprement parler. Puisqu'il se base sur le protocole TCP pour échanger entre deux hôtes. De plus, le TLS permet également une gestion des sessions TLS entre deux hôtes (que nous verrons par la suite). Or, cette gestion de la session est complètement indépendante à la fois de la session de l'application encapsulée, que de la session TCP. Par conséquent, nous pouvons placer le TLS entre les couches 3 et 4 du modèle TCP/IP. Il encapsule mais ne transporte pas, et ne gère pas à proprement parler des données. La figure fig. 2.1 p.9 donne une représentation du modèle TCP/IP avec la position du TLS.

    1. Certificat qui base sa validité sur une autorité centralisée hiérarchisée.

    2. L'intégrité des données permet de garantir que les données n'ont subi aucune modification (intentionnelle ou non)

    3. Modèle basé sur une entité mettant à disposition des ressources, et une multitude de tiers venant accéder ces ressources.

    TLS: un protocole compliqué? - Un protocole fortement évolutif

    Edouard Petitjean M2 MIAGE SIID 9

    FIGURE 2.1 - SSL sur le modèle TCP/IP

    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é ».

    2.5 Authentification: un principe de confiance

    Le dernier objectif auquel TLS doit répondre est « l'authentification ». Mais pas n'importe laquelle. Puisque le TLS est censé répondre à un comportement de « client-serveur », il doit pouvoir permettre aux clients d'authentifier de façon sûre le serveur à joindre. L'authentification des clients est également

    6. Nous ne prendrons pas en compte les diverses attaques par collisions permettant de retrouver éventuellement une donnée.

    Edouard Petitjean M2 MIAGE SIID 13

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

    FIGURE 2.2 - Structure d'un certificat X.509

    prévue par le TLS mais d'une manière optionnelle, aussi, seule la présentation de l'authentification du serveur sera expliquée.

    Comme dit précédement, les systèmes à chiffrement asymétrique permettent de répondre au besoin d'« identification ». Or, quelle est la différence entre « identification » et « authentification »? Dans le cas présent, le premier va permettre de s'assurer qu'un message a bien été envoyé à partir d'une clef privée précise (conjointe de la clef publique connue). Mais nous nous retrouvons dans un problème de sécurité important : comment peut-on être sûr de l'identité derrière ce couple de clefs? En reprenant l'exemple d'Alice et Bob, comment Alice peut-elle être sûre que c'est bien Bob qui soit derrière la clef publique? Inversement, comment Bob peut s'assurer que c'est Alice qui lui envoie un message? C'est là qu'intervient le principe d'« authentification » : s'assurer de l'identité derrière une clef publique.

    Cette partie d'« authentification » va être gérée par un certificat. Le rôle d'un tel certificat est de jouer la carte d'identité numérique.

    2.5.1 Certificat X.509 : La carte d'identité numérique

    Un certificat X.509 suit une structure spécifique décrite dans la RFC 5280. Elle se compose de champs basiques, et de champs d'extensions. Cela permet une véritable évolutivité de ce type de certificat, au même titre que le TLS. En effet, l'utilisation d'extension permet de rajouter des rôles à ce type de certificat, sans pour autant perturber l'objectif de base qui est d'authentifier son propriétaire. Par ailleurs, le certificat sera signé par une AC . La figure fig. 2.2 p.13 montre la structure d'un certificat X.509.

    Un certificat signé est donc conçu de trois champs majeurs :

    7. Autorité de Certification : est une entité ayant pour rôle de délivrer des certificats et d'attester de l'identité précise derrière ces certificats

    Edouard Petitjean M2 MIAGE SIID 14

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

    · Un certificat regroupant toutes les informations permettant d'établir l'identité publique de son propriétaire.

    · L'algorithme de signature utilisé par l'AC, défini dans le certificat, pour signer ledit certificat. Ce champ sera généralement défini par deux algorithmes : un algorithme de hash8 et un algorithme asymétrique.

    · La valeur de la signature qui sera utilisée pour confirmer la relation de confiance entre le certificat et l'AC.

    Le certificat est donc défini par:

    · Version: désigne un numérique, utilisé selon l'implémentation visée du certificat.

    · Numéro de série : un numéro qui doit être unique parmi tous les certificats délivrés par une AC. Le but étant que le couple d'information (numéro de série, AC) doit être unique pour tous certificats.

    · Signature: désigne les algorithmes utilisés par l'AC pour créer la signature. Ce champ doit être identique à « L'algorithme de signature » vu précédemment.

    · Émetteur : est le DN9 (Distinguished Name) de l'AC qui a signé et délivré le certificat.

    · Validité : va définir une date de début et de fin pour le certificat.

    · Sujet : est le DN pour lequel le certificat a été créé. Souvent, le CN 10 du DN sera le nom de domaine pour lequel le certificat a été créé.

    · Info clef publique du sujet : contient deux champs, l'un contient la clef publique, l'autre indique les algorithmes qui seront utilisés avec la clef de chiffrement.

    · Identifiant unique émetteur/sujet : sont deux champs optionnels. Ils permettent de donner un deuxième nom à l'émetteur ou au sujet, si le premier peut-être commun à plusieurs AC.

    · Extensions : va regrouper plusieurs champs qui définiront des paramètres optionnels. En règle général, ces paramètres ont pour but de faciliter et optimiser la gestion des certificats. Une des extensions la plus utile est sans doute le « Noms alternatifs de sujet de certificat » qui permet de rendre le certificat compatible avec plusieurs noms de domaines, au lieu d'un seul à la base.

    2.5.2 La relation de confiance

    Maintenant, voyons comment l'utilisation d'un certificat peut permettre d'accéder à un site web sécurisé (fig. 2.3 p.14). C'est le cas le plus classique et le plus simple à comprendre. Dans ce schéma, la signature d'une AC ne sera pas prise en compte.

    FIGURE 2.3 - Echange avec un serveur utilisant un certificat non signé

    Dans cet exemple simple, la relation de confiance entre le client et le serveur est très forte. En effet, le client ne va reposer sa confiance que sur la correspondance entre le nom de domaine qu'il a demandé

    8. Un algorithme de chiffrement irréversible permettant de générer une empreinte numérique

    9. Distinguished Name : l'identifiant unique d'un objet situé dans un ensemble de données hiérarchisé (ex : LDAP). Le DN d'un objet est aussi appelé le chemin de l'objet.

    10. Common Name: nom commun d'un objet dans un ensemble de données hiérarchisé. Permet d'appeler rapidement un objet quand le CN est unique.

    Edouard Petitjean M2 MIAGE SIID 15

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

    et le sujet du certificat qu'il aura reçu. Or, cette forte confiance pose un problème majeur : comment repérer une usurpation d'identité? Prenons le cas d'un serveur malveillant qui serait configuré pour répondre au même nom de domaine que notre exemple, soit « www.edouard.petitjean.com ». Celui-ci proposerait également un certificat valide pour le nom « www.edouard.petitjean.com » mais avec une clef publique complètement différente. Dans ce cas, comment Bob peut s'assurer de communiquer avec le bon serveur et non pas le malveillant? Dans le contexte de l'exemple, c'est impossible. Pour pallier ce défaut, un système basé sur plusieurs relations de confiance fut pensé : la PKI (Public Key Infrastructure).

    2.5.3 PKI : La confiance via un tiers

    Le système de PKI a été pensé pour renforcer la confiance qu'un client peut avoir envers un certificat. Le principe de base est simple et se repose sur une chaîne de relation de confiance. Lorsqu'un client voudra vérifier l'authenticité d'un certificat, il vérifiera l'entité qui l'a signé (l'entité s'engage donc sur l'authenticité du certificat). Si cette entité fait partie de la liste de confiance du client, alors le client fera confiance au certificat.

    Pour cela, la PKI à plusieurs fonctions : la création, le renouvellement et la publication des certificats, gérer une liste de révocation et la publier pour définir les certificats n'étant plus de confiance. Pour remplir ses fonctions, une PKI reposera sur plusieurs entités :

    · Autorité de certification (AC) : signe les demandes de certificats (CSR11) et gère la liste de révocation. Cette entité est la plus critique car les clients en ont besoin pour vérifier les certificats. Il est aussi important de noter que dans les PKI publiques, il existe des AC racines et des AC intermédiaires. Les clients font confiance aux AC racines mais afin de se protéger12, ces dernières vont déléguer la signature de certificats à une ou plusieurs AC intermédiaires.

    · Autorité d'enregistrement (AE) : vérifie les informations sur l'identité des propriétaires de certificats.

    · Autorité de dépôt : stocke les certificats et les listes de révocation.

    · Entité finale (EE : End Entity) : est l'entité qui va utiliser le certificat (serveur web, mail, client, etc...).

    · Autorité de séquestre 13 : stocke les clefs privées liées aux certificats.

    Le schéma fig. 2.4 p.16 montre en détail le déroulement des étapes qui sont effectuées pour que la relation de confiance entre un serveur et un client soit à l'oeuvre.

    Ce schéma n'est pas exhaustif dans l'ensemble des vérifications qui sont réellement faites dans la réalité, mais il donne une bonne image du mécanisme de confiance qui est mis en jeu. En effet, avec l'ajout d'une entité tierce, les clients ne font pas confiance au serveur directement, mais aux entités qui ont attesté de l'identité du serveur. Aussi, les risques qu'un serveur malveillant se fasse passer pour un serveur légitime sont très limités, car il existe peu de chance qu'il parvienne à avoir une signature d'une AC de confiance.

    11. Certificate Signing Request : requête envoyée à une AC pour signer un certificat. L'AC renvoie un nouveau certificat avec sa signature.

    12. La protection évoquée ici est la mise hors ligne de l'AC racine. Celle-ci est remise en ligne uniquement pour la création d'une AC intermédiaire.

    13. Contrairement aux quatre précédents, cette entité n'est pas définie par l'IETF.

    Edouard Petitjean -- M2 MIAGE SIID 16

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

    Certiica client final

    Sujet: wwe .edouard.petitjean.com
    E metteu r : petitj ean. interm ediaire

    Certtica signé par

    « petitjean. intermédiaire »

    www.edouard.petitjean.com

    3-- L'AC renvoi le certiftat sgné

    --Le certificat est valide.
    Bob peut établir une rely ion de
    confiance avec

    r www.edouard.petitjeancom

    A -- Bob veut établir une con nation sécurisée avec

    evvrw.edouard.petitjean.com e

    2 --Le serveur envoi un CSR pour

    saner son certifica

    5-- Le serveur envoi son certificat et la

    chaire de

    certification

    7 -- Bob demande l liste de révocaion auprés de rAC intermédiaire

    AC intermédiaire :
    petit jean.intermédiaire

    Bob

    8 - L'AC intermédiaire envoi sa liste de révocation

    1 - Délégation de la gestion

    des oertificetsé une AC Irrtermediaire

    6 -- Le certificat reçu est signé par uneAC Intermédiaire
    dé pende nt ô un AC Racine.
    Bob va vérifier la signature de l'AC Racine avec celle
    de sa base de connaissances erti lccA sur sorti poste

    1

     
     

    Base c rAC Racine de confiance

    FIGURE 2.4 - Echange avec un serveur utilisant un certificat signé

    Edouard Petitjean M2 MIAGE SIID 17

    TLS : un protocole compliqué? - TLS : le protocole en détail

    2.6 TLS : le protocole en détail

    Comme dit précédemment, le TLS est un protocole à mi-chemin entre le transport et l'applicatif. Cette ambiguïté est fortement marquée quand nous regardons de plus près les spécifications détaillées dans la RFC 5246. Le TLS communique entre le client et le serveur au travers de 4 types de messages principaux différents (appelés aussi high-level) :

    · Handshake protocol: permet d'échanger sur les algorithmes de chiffrements qui seront utilisés, mais également sur les différentes valeurs pour générer les clefs de chiffrement. L'authentification des parties via un certificat est gérée par ce type de message, et est considérée comme optionnelle. Néanmoins, dans le contexte de cet article, l'authentification du serveur sera considérée comme obligatoire.

    · Alert protocol : est en charge de la notification d'erreurs repérées lors d'un échange TLS.

    · Change cipher spec protocol: notifie une volonté de changer les algorithmes de chiffrement utilisés pour une session TLS en cours.

    · Application data protocol : contient la charge utile du TLS, c'est-à-dire, les données appli-catives chiffrées.

    Et un dernier pour les transporter tous : le TLS Record Protocol qui a pour rôle d'annoncer et encapsuler les différents messages du protocole.

    2.6.1 Les messages d'extension

    Il existe d'autres types de message mais qui sont liés à des extensions TLS. Ces messages permettent d'ajouter des paramètres lors de l'établissement d'une session TLS. Pour exemple, il existe le type de message CertificateURL qui permet, lors de l'authentification du client, que celui-ci n'envoie pas un certificat, mais une URL vers un certificat pour l'authentifier. Cet article ne s'attardera pas sur ces messages annexes, mais il est important de connaître leur existence pour comprendre certaines problématiques de l'interception TLS qui seront abordées dans d'autres chapitres.

    2.6.2 TLS Record Protocol

    Le TLS Record Protocol a plusieurs rôles à son actif qui seront tous décrits :

    · La gestion des états des connexions

    · La fragmentation des données

    · La compression et décompression des données

    · Le chiffrement des données envoyées

    La gestion des états de connexions

    C'est un concept important dans le TLS. Pour rappel, le TLS va utiliser un chiffrement asymétrique en début de session puis par la suite utiliser un chiffrement symétrique. Or, une des attaques les plus fréquentes contre ce genre de chiffrement est l'analyse de fréquence et l'attaque par message connu. Pour faire simple, un même message chiffré avec la même clef donnera fatalement le même message chiffré. Or, le TLS chiffre des informations provenant de diverses applications, qui elles-mêmes utilisent un formalisme pour la présentation des données. Par conséquent, les en-têtes des messages applicatifs sont souvent les mêmes et font des cibles parfaites pour l'attaque par message connu. Pour pallier cela, il est important de changer régulièrement la clef de chiffrement afin de limiter le nombre de messages chiffrés avec la même clef. TLS propose donc de découper une session en plusieurs connexions à état.

    C'est-à-dire que chaque connexion aura son propre environnement les valeurs qui permettent la
    création des clefs de chiffrement symétrique changeront entre chaque connexion.

    Pour cela, le client et le serveur vont générer une structure de données, appelée SecurityParame-ters(fig. 2.5 p.18), qui établira le contexte de la connexion.

    Cette structure s'instancie suite aux premiers échanges entre le client et le serveur à travers des messages Handshake protocol. Nous y reviendrons en détail par la suite.

    Une fois cette structure remplie, les champs prf_algorithm, master_secret, client_random et ser-ver_random seront utilisés pour générer six nouvelles clefs :

    Edouard Petitjean M2 MIAGE SIID 18

    TLS : un protocole compliqué? - TLS : le protocole en détail

    uint8 enc_

    key_length ;

    length;

    uint8 block_

    iv_length ;

    uint8 fixed_

    uint8 record_

    iv_length ;

    MACAlgorithm mac_algorithm ;

    uint8 mac_

    uint8 mac_

    CompressionMethod compression_algorithm ;

    opaque master_secret [ 4 8 ] ;

    opaque client_random [ 3 2 ] ;

    opaque server_random [ 3 2 ] ;

    } SecurityParameters ;

    key_length ;

    length;

    struct {

    ConnectionEnd entity;

    PRFAlgorithm prf_algorithm ;

    BulkCipherAlgorithm bulk_cipher_algorithm ;

    CipherType cipher_type ;

    FIGURE 2.5 - Définition de SecurityParameters dans la RFC5246

    struct {

    ContentType type;

    ProtocolVersion version;

    uint16 length;

    opaque fragment [ TLSPlaintext . length];

    } TLSPlaintext ;

    FIGURE 2.6 - Définition de TLSPlaintext dans la RFC5246

    -- client write MAC key

    -- server write MAC key -- client write encryption key -- server write encryption key -- client write IV

    -- server write IV

    Ce sont ces six clefs qui seront utilisées pour chiffrer et signer les messages. Les clefs client write seront utilisées par le serveur quand il recevra des messages du client, tandis que le client utilisera les clefs server write. Une fois ces clefs générées, l'échange de message chiffré pourra se faire. Pour finir, chaque connexion se verra attribuer un identifiant unique appelé sequence number

    Record Layer

    C'est la couche en charge du transport des données TLS. Pour que le client et le serveur puissent comprendre les données TLS, celles-ci doivent être formatées de façon précise. Notamment, le TLS utilise une notion de message de base (TLS record Protocol) et de message high-level, or ces derniers seront eux-mêmes encapsulés dans des messages de base. Le formatage des données va respecter la structure TLSPlaintext (fig. 2.6 p.18) définie par la RFC5246.

    A ce stade, il est important de comprendre chaque attribut de cette structure.

    · type : est un champ sur 1 octet qui permet de définir le type de message qui sera contenu dans fragment. Ce champ peut prendre les valeurs suivantes:

    -- 20 : change_cipher_spec

    -- 21 : alert

    -- 22 : handshake

    Edouard Petitjean M2 MIAGE SIID 19

    TLS : un protocole compliqué? - TLS : le protocole en détail

    -- 23 : application_data

    · version : est un champ composé de 2 octets représentant respectivement la version majeure et mineure du protocole utilisé. Le passage de SSL à TLS rend ce champ peu instinctif pour ceux ne connaissant pas l'historique. Ce champ peut prendre les valeurs suivantes:

    -- 2 et 0 : SSL 2.0

    -- 3 et 0 : SSL 3.0 -- 3 et 1 : TLS 1.0 -- 3 et 2 : TLS 1.1 -- 3 et 3 : TLS 1.2

    · length : est un champ sur 2 octets donnant la taille du buffer stocké dans fragment. Cette valeur ne pas excéder 214, taille maximale pour fragment

    · fragment : est un buffer contenant la charge utile. C'est-à-dire les messages high-level. La fragmentation de fragment.

    La taille maximale prévue pour le buffer fragment est de 214 octets. Il est rare que toutes les données d'un message puissent être stockées dans un buffer de cette taille. Par conséquent, le TLS record Protocol va procéder à la fragmentation des données, puis envoyer plusieurs messages TLS. Par la suite, le correspondant récupérera tous ces fragments puis les concaténera pour reformer le message envoyé.

    La compression des messages

    Elle permet de réduire la taille de la charge utile à travers le TLS. Même si la compression n'est pas utilisée, la structure TLSPlaintext sera transformée en une structure TLSCompressed. Les attributs de la structure ne changent pas. Mais son utilisation apporte quelques changements quant à la structure utilisée pour échanger des messages. La taille limite du buffer fragment (qui est donc de la donnée compressée) est de 214 + 1024. Afin de prendre en compte l'en-tête lié à l'algorithme de compression utilisé. Mais il existe aussi une vérification lors de la décompression. Si la donnée décompressée dépasse les 214 octets, alors TLS générera une erreur fatale et mettra fin à la connexion en cours.

    La protection de fragment

    Elle va procéder au chiffrement de fragment. Comme précédemment, la structure va changer et devenir une structure TLSCiphertext. Cette fois, la taille limite de fragment passe à 214 + 2048 octets. De plus, fragment ne contiendra plus la donnée (compressée ou non), mais la donnée chiffrée ainsi que la signature MAC. Cette dernière sera un hash créé à partir de la MAC write key, ainsi que de la concaténation des éléments suivants : sequence number de la connexion, type, version, length et fragment. Après cette dernière étape, le message est envoyé au correspondant.

    2.6.3 Handshake Protocol

    Le Handshake Protocol est constitué de messages permettant de gérer les échanges sur les informations liées à l'établissement d'une session TLS. La compréhension du Handshake Protocol est capitale pour comprendre la technique de l'interception TLS que nous verrons par la suite. Donc, ce type de message sera détaillé afin d'appréhender sereinement la suite. Parmi les informations échangées par le Handshake Protocol, il y a :

    · session identifier : une séquence d'octets permettant d'identifier une session.

    · peer certificate : l'échange des certificats et leur authentification.

    · compression method : l'algorithme de compression utilisé par TLS avant le chiffrement de données

    · cipher spec : les différents algorithmes de chiffrement qui seront utilisés par TLS (génération de clefs, chiffrement, signature). Également certaines valeurs sur la longueur des clefs ou de la signature.

    Edouard Petitjean M2 MIAGE SIID 20

    TLS : un protocole compliqué? - TLS : le protocole en détail

    FIGURE 2.7 - Echange TLS Handshake Protocol

    · master secret : une séquence de 48 octets qui est un secret partagé entre le client et le serveur. Ce secret sera par la suite utilisé comme source entropique pour générer les clefs de chiffrement vues précédemment.

    · is resumable : un indicateur permettant de définir si la session peut être réutilisée pour une nouvelle connexion.

    Toutes ces informations vont s'échanger en un minimum d'échange pour accélérer l'établissement des sessions. Le schéma fig. 2.7 p.20 donne un aperçu des échanges.

    Les échanges en bleus sont obligatoires dans le protocole TLS alors que les échanges en jaunes sont facultatifs. La flèche verte indique l'utilisation d'un autre protocole qui sera vu par la suite.

    Client Hello est le message envoyé par le client au serveur qui va permettre le début de communication TLS. Ce message est composé des éléments suivants :

    · client_version : la version du protocole la plus récente que le client supporte. La version reprend la codification indiquée au paragraphe Record Layer p.18.

    · random : un nombre composé de la concaténation d'un horodatage représentant le nombre de secondes depuis le 1er janvier 1970 sur 4 octets. Ainsi que d'un nombre aléatoire de 28 octets généré via un algorithme de génération sécurisée. Cette valeur sera utilisée pour générer les clefs décrites au paragraphe La gestion des états de connexions p.17.

    · session_id : un nombre permettant d'identifier la session en cours. Un champ vide (égale 0) représente la volonté du client d'ouvrir/réinitialiser la session actuelle.

    · cipher_suites : la liste des suites de chiffrements que le client supporte. Cette liste est ordonnancée par ordre de préférence du client. Souvent, les protocoles les plus sécurisés sont annoncés en début de liste, mais certains clients peuvent préférer d'annoncer les suites de chiffrement les plus stables en fonction de leur implémentation.

    · compression_methods : une liste des méthodes de compression supportées par le client. Son ordonnancement suit la même logique que l'élément précédent.

    · extensions : une suite d'éléments, tous indépendants les uns des autres, que le client voudrait utiliser avec le serveur. La structure d'un élément extension sera composée d'un identifiant numérique de 2 octets, ainsi que de la donnée que l'extension va utiliser. Il n'existe pas d'ordre de préférence pour annoncer les extensions, mais chaque extension ne peut être annoncée qu'une seule fois.

    Server Hello est le message envoyé par le serveur au client pour notifier le choix des options qu'il aura établi en fonction des préférences du client et de ses capacités. Les éléments qui composent ce message sont les mêmes que pour Client Hello :

    · server_version : la version la plus faible du client et qui correspond à la version la plus haute du serveur.

    Edouard Petitjean M2 MIAGE SIID 21

    TLS : un protocole compliqué? - TLS : le protocole en détail

    · random: un nombre généré aléatoirement par le serveur en se servant de la même méthode que le client. A l'instar de la valeur contenue dans le Client Hello, cette valeur sera utilisée lors de la génération des clefs vues précédemment.

    · session_id : un nombre permettant d'identifier la session en cours. Si lors du message Client Hello, la valeur est nulle, alors le serveur va renvoyer les valeurs qu'il aura choisies pour cette session. Dans le cas contraire, le serveur va vérifier si la valeur est en cache ou non. Si oui, alors le serveur va reprendre les valeurs en cache. Sinon, il renvoie un session_id nul pour notifier au client qu'un échange complet est nécessaire.

    · cipher_suites : la suite de chiffrement qui aura été retenue par le serveur. Pour choisir, le serveur parcourra la liste envoyée par le client et récupérera la première valeur qu'il supporte.

    · compression_methods : la méthode de compression retenue par le serveur. Son choix est similaire au cipher_suites.

    · extensions : les extensions demandées par le client. Seules les extensions à l'initiative du client peuvent être présentes.

    Server Certificate est le message contenant le certificat du serveur et est envoyé au client. Si besoin, ce message est envoyé directement après le Server Hello sans attendre une réponse du client. Le Server Certificate n'est obligatoire que si la méthode d'échange de clefs utilise des certificats pour l'authentification. A savoir que dans la RFC 5246 qui définit le TLS 1.2, seule la méthode d'échange anonyme (DH_anon) n'utilise pas de certificat. Donc le certificat du serveur est une quasi-obligation lors de l'utilisation du TLS 1.2.

    Le certificat du serveur n'est pas la seule donnée qui transite dans ce message. Pour rappel, les clients ne connaissent généralement que les autorités de certificats racines. Par conséquent, c'est souvent un certificat chaîné14 qui sera utilisé dans ce message.

    Server Key Exchange est envoyé immédiatement après un Server Certificate sans attendre de réponse du client. Il est utilisé dans le cas où le message précédent ne contient pas de données permettant au client d'échanger de façon sécurisée la clef premaster secret, qui servira à générer la clef master secret vu au paragraphe Handshake Protocol p.19.

    Si ce message est utilisé, alors il fournira au client une clef publique permettant l'utilisation d'un algorithme de chiffrement asymétrique pour générer (Diffie-Hellman) ou chiffrer (RSA) la clef premaster secret.

    Certificate Request est envoyé quand le serveur à besoin d'authentifier formellement le client. Cette demande est envoyée directement après un message Server Certificate ou un message Server Key Exchange et uniquement si le serveur s'authentifie auprès du client. Un serveur anonyme ne peut pas demander une authentification à un client.

    Ce message contiendra une liste de tous les DN des autorités de certification qui devront avoir signé le certificat du client. Aussi, le client ne peut pas présenter un certificat signé par une AC ne se trouvant pas dans la liste envoyée par le serveur.

    Server Hello Done est le message envoyé par le serveur au client pour notifier qu'il a terminé d'envoyer les informations relatives à l'établissement de session. Ce message ne contient aucune information. Une fois ce message envoyé, le serveur se met en attente de réponse de la part du client. Quant à ce dernier, son rôle à ce moment est de procéder à la vérification du certificat du serveur, puis, si celui-ci est valide, de finir la génération des clefs qui seront utilisées par la suite.

    Client Certificate est le premier message envoyé par le client suite au Server Hello Done si le serveur a procédé au préalable à un Certificate Request. Le client envoie donc une chaîne de certificat comportant son certificat ainsi que ceux des autorités de certification intermédiaires. Si le client n'a pas de certificat, alors il renvoie un message avec une chaîne vide. Par la suite, c'est au serveur de prendre la décision s'il accepte ou non de traiter avec un client anonyme.

    14. une succession de certificat permettant de retrouver le certificat du serveur, mais également les certificats des autorités de certification intermédiaires

    Edouard Petitjean M2 MIAGE SIID 22

    TLS : un protocole compliqué? - TLS : le protocole en détail

    Client Key Exchange est le message qui permet de finaliser l'échange de la clef premaster secret, soit par génération conjointe (Diffie-Hellman), soit par échange chiffré (RSA). Si le client est authentifié par un message auprès du serveur, et qu'il utilise une clef publique statique, alors le contenu de ce message sera vide. Néanmoins, même vide, ce message doit être envoyé.

    Certificate Verify est envoyé pour fournir une vérification explicite du certificat du client. Suite à ce message, le client et le serveur ont généré les différentes clefs de chiffrement symétriques énoncées au paragraphe Handshake Protocol p.19.

    Finished est le premier message chiffré et signé avec les clefs générées. Le but de ce message, envoyé par le client au serveur et inversement, est de s'assurer que les deux protagonistes puissent échanger de manière compréhensible avec les nouvelles clefs. Si c'est le cas, alors ces clefs seront utilisées pour chiffrer et signer tous les autres messages de la session TLS.

    2.6.4 Alert Protocol

    Le protocole Alert Procotol a pour rôle la notification des erreurs à l'interlocuteur. Il permet d'envoyer des messages avec un niveau d'alerte : warning ou fatal le premier notifie seulement, le second indique que la session doit être interrompue. Ainsi qu'une description du message d'erreur codé sur un octet.

    2.6.5 Change Cipher Spec Protocol

    Ce protocole est très simple car il ne comporte qu'un message contenant un seul octet défini à 1. Ce protocole est utilisé par le client et le serveur pendant la phase de négociation juste avant les messages Finished. Il permet de signaler que les échanges qui auront lieu par la suite seront chiffrés symétriquement via les nouvelles clefs générées.

    Edouard Petitjean M2 MIAGE SIID 23

    Chapitre 3

    L'interception TLS

    L'interception TLS est une technique basée sur Man In The Middle (l'homme du milieu) qui consiste à interposer un proxy TLS entre un client et un serveur, puis usurper l'identité de chacun auprès de l'autre comme le montre le schéma fig. 3.1 p.23.

    Ce schéma très grossier représente parfaitement l'idée derrière cette technique. Détruire l'idée d'un canal de bout en bout afin de créer deux canaux, un du client au proxy TLS, l'autre du proxy TLS au serveur. Ainsi, il n'y a pas de déchiffrement mais juste deux connexions TLS bien distinctes permettant au proxy TLS de voir le contenu en clair. Bien sûr, cette technique est loin d'être anodine et demande une grande vigilance quant à son exécution. Pour rappel, le TLS se base sur l'authentification de chaque partie pour s'assurer de l'identité de chaque partie. En outre, c'est surtout le client qui a besoin de connaître l'identité du serveur. Or, avec cette technique d'usurpation, comment faire pour outrepasser le système d'authentification? En effet, l'identité du serveur est censée être approuvée et contrôlée par une autorité de certification indépendante ce qui permet d'éviter toutes formes d'usurpations à partir des éléments publics. Pour répondre à cette question, il est nécessaire de voir en détail les étapes permettant de mettre en place cette technique.

    L'interception TLS n'est pas une technique normalisée, notamment parce qu'elle met à mal la sécurité du TLS définie dans la RFC 5246. Par conséquent, tous les équipements et logiciels permettant de mettre en place cette technique ont leur propre implémentation. Cet article va présenter la façon générale et les détails qui doivent être pris en compte pour réussir cette technique. Pour cela, il est important de comprendre qu'il existe deux types d'interception TLS : l'interception sortante et entrante. Pour mieux saisir ces notions d'entrant et sortant, le schéma fig. 3.2 p.24 les illustre.

    L'interception sortante portera donc sur les flux initiés depuis l'environnement géré (ex : Petitjean Corp) vers d'autres environnements (ex : Internet). A l'inverse, l'interception entrante se basera sur les connexions venant depuis d'autres environnements (ex : Internet) que celui qui est géré (ex : Petitjean Corp).

    FIGURE 3.1 - Man In The Middle

    Edouard Petitjean M2 MIAGE SIID 24

    L'interception TLS - L'interception TLS sortante

    FIGURE 3.2 - Différence entre connexion entrante et sortante

    3.1 L'interception TLS sortante

    L'interception TLS sortante est la pratique la plus courante et la plus compliquée à mettre en place. Elle va permettre d'intercepter toutes les connexions dont les sources sont souvent les utilisateurs d'une entreprise vers des sites distants. Pour cela, les utilisateurs passeront, de façon transparente', par un proxy TLS qui interceptera les requêtes, puis ce dernier va initialiser lui-même les connexions vers les diverses destinations. Néanmoins, cette pratique à une limite : la rupture de la confiance. En effet, il ne faut pas oublier que le client va vérifier l'identité du serveur de son côté. Or, dans cette architecture basée sur l'interception, le client va établir une session TLS avec le proxy TLS à son insu, donc le certificat que va renvoyer le proxy TLS ne correspondra pas, tant sur son nom que sur l'AC, à ce qu'aura demandé le client.

    Pour pallier cette limitation, le proxy TLS devra avoir la capacité de générer des certificats à la volée et considérés comme valides par le client. Comment? Le proxy TLS devra utiliser une autorité de certification reconnue par les clients. Le schéma fig. 3.3 p.25 montre un exemple.

    1. Chris veut établir une connexion avec « www.site-sécurisé.com ». Pour cela, il envoie une requête Client Hello à « www.site-sécurisé.com »

    2. Le proxy TLS est positionné dans l'architecture réseau de telle sorte qu'il soit sur le chemin allant vers « www.site-sécurisé.com ». Lorsqu'il voit une requête TLS, il va l'intercepter et mettre le client en attente. Puis il va établir une connexion avec « www.site-sécurisé.com », soit en reprenant exactement les paramètres que le client a indiqués dans son Client Hello, soit en modifiant certaines valeurs pour accentuer les paramètres de sécurité par exemple.

    3. Le serveur « www.site-sécurisé.com » établit une connexion sans problème particulier. Pour lui, le proxy TLS est un client comme un autre. Par conséquent, le serveur renvoie les paramètres qu'il aura choisis ainsi que son certificat et sa chaîne de certificat. Dans le schéma, le certificat a été

    1. Pour que cette technique fonctionne, le client ne doit pas repérer une quelconque interception du flux. Puisque le TLS a été pensé pour justement éviter les interceptions.

    Edouard Petitjean M2 MIAGE SIID 25

    L'interception TLS - L'interception TLS sortante

    FIGURE 3.3 - Interception TLS sortante

    créé pour répondre au nom « www.site-sécurisé.com » et il a été signé par « AC Intermédiaire » (une AC publique quelconque mais dont la racine est reconnue par les navigateurs).

    4. Après que le proxy TLS ait reçu le certificat du serveur et sa chaîne, il procède aux vérifications d'usage et décide si la connexion peut-être établie. Une fois la session TLS établie, elle reste en attente jusqu'à ce que le vrai client envoie des données. Par la suite, le proxy TLS va reprendre les données du certificat du serveur pour en recréer un autre temporaire et qui sera signé par son AC interne à l'entreprise « proxytls.local » et qui est connu par les navigateurs de l'entreprise. Puis ce nouveau certificat sera utilisé par le proxy TLS pour usurper l'identité de « www.site-sécurisé.com » auprès du client.

    Le faux certificat généré par le proxy TLS aura donc les caractéristiques suivantes :

    -- Sujet : www.site-sécurisé.com -- Emetteur : proxytls.local

    Par conséquent, lorsque le client voudra vérifier le certificat qui lui est présenté, il pourra constater que le sujet correspond au domaine et que l'AC qui a signé le certificat est reconnue par le client. Il établira donc une connexion TLS sécurisée avec le proxy TLS en pensant être directement connecté à « www.site-sécurisé.com »

    3.1.1 Le placement du proxy TLS

    Le proxy TLS doit avoir une position particulière sur le réseau afin de mener sa tâche. Même s'il est couramment appelé Proxy TLS, il est assez rare qu'il représente un équipement dédié. En effet, c'est souvent un proxy ou pare-feu qui porte ce rôle. Une préférence d'ailleurs pour les pare-feux qui font maintenant de l'analyse protocolaire et donc portent des analyses d'inspections. Le rôle d'interception TLS est tout indiqué pur ces équipements qui mutualisent les analyses de haut niveau.

    L'emplacement du proxy TLS dans l'architecture du réseau est également une notion importante. Il doit être « transparent » pour le client, donc il doit être un noeud obligatoire du chemin réseau entre le(s) client(s) et les sites distants. Les proxy TLS seront donc très souvent proches des accès Internet, voir sont les équipements frontaliers entre le réseau d'entreprise et Internet. Cette transparence n'est pas anodine. Le TLS a été conçu pour créer des canaux sécurisés pour la confidentialité et se repose sur des systèmes d'authentification (certificat X.509) afin d'éviter les usurpations d'identités. Donc, il n'est pas prévu pour les clients d'avoir une fonctionnalité permettant de passer par un serveur mandataire TLS qui ferait de l'interception comme pour des services proxy tels que HTTP, FTP, IMAP, etc...

    3.1.2 Une autorité de certification interne

    Pour recréer des certificats et les signer à la volée, le proxy TLS devra contenir une autorité de certification qui permettra de procéder à ces opérations. Or cette autorité ne se sera pas reconnue par défaut par les clients. Seules les autorités racines publiques le sont, et aucune d'entre elles n'accepterait de délivrer une autorité de certification intermédiaire à un tiers quelconque pour deux raisons.

    La première est que ça voudrait dire que l'autorité de certification publique délègue le droit à un tiers de créer et signer des certificats à son nom. Ce genre de délégation peut-être dangereuse et engagerait la responsabilité de l'autorité. La deuxième raison est que la technique d'interception TLS va en l'encontre de ce que protège les autorités de certification : l'identité derrière les certificats. Le

    Edouard Petitjean M2 MIAGE SIID 26

    L'interception TLS - L'interception TLS entrante

    FIGURE 3.4 - Interception TLS Entrante

    risque pour une autorité de certification d'outrepasser ce principe est très important. L'histoire de MCS Holding qui avait reçu une délégation de la part de la CNNIC2, avait outrepassé ses droits en créant un faux certificat Google pour tester une technique d'interception TLS. Google ayant repéré ce certificat avait décidé de révoquer dans son navigateur Chrome l'autorité de certification racine provenant de la CNNIC. Conséquence, les utilisateurs utilisant Chrome (environ 45% de part de marché au moment des faits 3) pouvaient accéder à ces sites mais une erreur de certificat apparaissait.

    Puisqu'il n'est pas possible de passer par une autorité publique pour obtenir une AC permettant de faire de l'interception TLS, il faut utiliser une AC interne au système informatique. Pour cela, plusieurs solutions sont possibles.

    -- PKI interne: elle est souvent utilisée dans les grandes organisations qui utilisent des certificats pour authentifier leurs équipements en interne. Avec une PKI interne, il est possible d'exporter les clefs (publique et privée) pour les importer dans le proxy TLS. Une bonne pratique serait de créer une sous-autorité dédiée au proxy TLS.

    -- Le déploiement par GPO : les structures se basant sur Active Directory ont la possibilité de déployer massivement des certificats sur les postes. Pour cela, le proxy TLS hébergera une autorité de certification auto signée puis son certificat sera déployé par une GPO 4.

    -- Autres déploiements: Dans les autres architectures utilisant des navigateurs comme Firefox, d'autres moyens de déploiement doivent être pensés. C'est souvent cette problématique qui freine les entreprises voulant mettre en place cette technique. Il existe cependant plusieurs techniques nécessitant ou non une manipulation des utilisateurs. Par exemple pour Firefox, celui-ci utilise son propre magasin de certificat, néanmoins, la version ESR et les dernières versions basiques ont une fonction permettant d'utiliser le magasin Windows. Autre exemple, il est possible de publier le certificat de l'autorité sur une page Web, ajoutable par action manuelle de l'utilisateur, ou encore via du code JavaScript dans un fichier de configuration du navigateur. D'autres techniques existent en fonction du contexte. Le plus compliqué étant de trouver la meilleure méthode de déploiement en fonction des contraintes propres aux réseaux de l'entreprise.

    3.2 L'interception TLS entrante

    Cette fois, le serveur accessible par les clients se situe en interne du système géré alors que les clients proviennent de n'importe où. Cette technique est plus simple à mettre en place, et pour cause, l'identité que le proxy TLS doit usurper est gérée par le système d'information. Ainsi il n'y aura pas de création de certificats à la volée. Mais un doublon de clefs (publiques et privées) sera présent sur le réseau. En effet, le proxy TLS portera les deux clefs du serveur interne qu'il présentera aux différents clients. Le schéma fig. 3.4 p.26 montre un exemple de cette interception.

    2. China Internet Network Information Center, autorité de certification chinoise

    3. Mars 2015 : https://www.w3counter.com/globalstats.php?year=2015&month=3 et http://gs.statcounter.com/ browser-market-share/all/worldwide/2015

    4. Les GPO (Group Policy Object) sont des ensembles de paramétrages de postes Windows, récupérés depuis un serveur, qui sont appliqués à divers moments selon des critères précis.

    Edouard Petitjean M2 MIAGE SIID 27

    L'interception TLS - L'interception TLS entrante

    1. Bob veut établir une connexion sécurisée avec « www.edouard-petitjean.com ». Il envoie une requête Client Hello à « www.edouard-petitjean.com »

    2. Le proxy TLS intercepte la requête du client. Il récupère les différents paramètres que le client a initié et établi une connexion TLS avec le serveur interne.

    3. Le proxy répond au client avec un Server Hello et envoie le certificat du serveur. La connexion TLS s'établit normalement. Puisque le certificat est valide (il correspond au domaine requêté et est signé par une AC publique), aucune erreur n'est détectée par les clients.

    3.2.1 Le placement du proxy TLS

    Comme pour la technique précédente, le proxy TLS devra se placer en coupure réseau entre les clients et le serveur. Sauf que cette fois, sa position sur le réseau peut-être à plusieurs endroits selon l'architecture en place. Il peut être proche de l'accès externe tout comme proche du serveur. Bien que la seconde option est préférable de par la présence des clefs privées des serveurs qu'il héberge et la possibilité d'ajouter des couches de sécurité réseau entre le client et le serveur.

    3.2.2 Hébergement des clefs privées

    Cette technique ne va pas se baser sur une AC interne qui va régénérer des certificats. A la place, le proxy TLS va stocker toutes les paires de clefs des serveurs dont il devra usurper l'identité. Ainsi, comme le proxy TLS va intercepter les requêtes des clients, il pourra présenter sans problème le certificat concerné et déchiffrer le trafic grâce à la clef privée. La « simplicité » de cette technique tient au fait que le système informatique gère le serveur ainsi que le certificat et la clef privée associée. Il est donc simple d'importer cette paire de clefs à un proxy TLS qui répondra favorablement aux requêtes des clients.

    Deuxième partie

    Edouard Petitjean M2 MIAGE SIID 28

    Des Enjeux et Des Risques

    Edouard Petitjean M2 MIAGE SIID 29

    Chapitre 4

    L'origine du chiffrement des

    échanges

    Le TLS permet à la fois d'assurer l'identité, l'intégrité, la non-répudiation et la confidentialité des données lors d'un échange biparti. Les trois premiers points sont purement « bénéfiques ». C'est-à-dire qu'ils apportent une sécurité sans compromis. En effet, ils permettent de s'assurer que nous échangeons bien avec la personne voulue, que la donnée reçue soit identique à celle envoyée, et donc que personne ne l'a modifiée en cours de route. Ainsi que de permettre de dire que l'émetteur à bel et bien envoyé un message et ne pourra pas le nier. Ces trois points sont donc essentiels à un échange sécurisé mais surtout, n'apporte aucune problématique particulière.

    A l'inverse, le rôle de confidentialité qu'apporte le TLS est au centre de débats importants et houleux. Comme vu précédemment, la confidentialité des données est garantie par la cryptographie. Or, ce chiffrement des données est assez mal vu par certains organismes. Et pour cause, reprenons rapidement l'évolution du chiffrement dans l'histoire.

    Le but de la cryptographie a toujours été d'assurer la confidentialité d'une donnée en la rendant illisible pour tout individu n'ayant pas les connaissances suffisantes pour décoder le message. Cette pratique remonterait, au moins, au XVIième avant J.C. Un document retrouvé en Irak semble avoir fait l'objet d'une technique cryptographique, en effet, un potier a voulu protéger sa recette, en modifiant l'orthographe de certains mots et en supprimant des consonnes 1.

    Par la suite, la cryptographie a eu une place importante dans les stratégies et tactiques militaires. Elle permettait de pouvoir communiquer entre différentes parties sans vraiment se soucier que le message puisse être intercepté. Par conséquent, une cryptographie bien pensée offrait un avantage important lié à la communication. Dans les cas les plus connus de cryptographie militaire, nous pouvons citer le décalage de César2 ainsi que la machine Enigma3 utilisée par l'Allemagne lors de la Seconde Guerre Mondiale. C'est donc assez naturellement, qu'en France, la cryptographie a longtemps été considérée comme une arme militaire, par conséquent les civils n'avaient pas le droit d'utiliser cette pratique.

    A partir de 1990, les moyens cryptographiques ne sont plus considérés comme armes militaires sauf exception 4. Néanmoins, les moyens permettant d'assurer la confidentialité des données restent sous le contrôle de l'Etat. En effet, toutes utilisations permettant de rendre un message illisible doivent forcément faire l'objet d'une demande d'autorisation auprès d'un organisme dédié. Par la suite, la démocratisation d'Internet et des outils s'en rapprochant et l'arrivée du SSL, obligèrent la France à revoir sa législation. le 26 juillet 1996, une réforme vint modifier la loi de 1990 afin d'assouplir le contrôle de la cryptographie. Désormais, les moyens « peu sûrs » 5 n'était plus soumis à autorisation,

    1. https://fr.wikipedia.org/wiki/Histoire\_de\_la\_cryptologie et « The Codebreakers : A Comprehensive History of Secret Communication from Ancient Times to the Internet, Revised and Updated » de David Kahn

    2. Technique cryptographique basée sur la substitution de lettre. Cette technique utilisait un alphabet décalé de N lettres vers la droite et le message originel était écrit en fonction de ce deuxième alphabet. Le destinataire du message connaissant N, décalait l'alphabet du message de N lettres sur la gauche pour retrouver le message originel.

    3. Technique basée sur la substitution de lettre. En utilisant une clef de départ et qui change à chaque lettre substituée, elle permet que lors de l'utilisation à plusieurs reprises d'une même lettre, cette dernière ne soit pas remplacée systématiquement par une même lettre. Cela complexifiant le travail de cryptanalyse sur les messages.

    4. Loi n° 90-1170 du 29 décembre 1990 sur la réglementation des télécommunications

    5. Moyens de chiffrement utilisant des clefs inférieures ou égales à 40 bits

    Edouard Petitjean M2 MIAGE SIID 30

    L'origine du chiffrement des échanges -

    mais uniquement à déclaration. Mais surtout, la totalité des techniques de chiffrement était libre d'usage à la seule condition que les clefs de chiffrement soient stockées dans un système de séquestre. Dans lequel, une personne agréée aurait le droit d'utiliser les clefs pour déchiffrer des messages. Par la suite, en 1999, certaines contraintes ont encore été assouplies car les outils de chiffrement utilisant des clefs comprises entre 40 et 128 bits ne sont plus soumis à autorisation mais à déclaration uniquement. Néanmoins, ces restrictions restèrent lourdes pour les entreprises de e-commerce et banque en ligne qui ont besoin d'assurer une sécurité maximale à leurs clients. Avec l'arrivée de la LCEN6, l'utilisation des moyens de chiffrement est désormais complètement libre de déclarations et d'autorisations pour l'usage. La fourniture, importation et exportation en fonction des pays restent tout de même soumises à des démarches. Avec la LCEN, tout individu est libre de naviguer de façon sécurisée sur Internet.

    Cette liberté a permis la forte croissance des sites de e-commerce et des banques en ligne puisque ces derniers pouvaient proposer des moyens de confidentialité sûrs. Mais d'autres types d'activités ont profité de cette liberté : les réseaux sociaux et les webmails. Pour l'utilisateur, ces sites sont tout aussi sensibles puisqu'il est question d'échanger sur leur vie privée. Ainsi, en plus de permettre à l'économie numérique de croître, l'étendard du respect de la vie privée et du secret de la correspondance est utilisé pour justifier l'utilisation des moyens cryptographiques forts.

    Cependant, le 6 juin 2013, un citoyen américain, Edward Snowden, fit des révélations accablantes sur un programme étatique américain: PRISM 7. Ce programme, géré pas la NSA (National Security Agency) et supervisé par le FISC (Foreign Intelligence Surveillance Court), portait sur une surveillance massive des individus ne vivant par le sol des États-Unis. Une des révélations la plus troublante a été les liens entre la NSA et les entreprises américaines (Microsoft, Google, Facebook, Apple, etc...) qui permettaient aux renseignements américains, de glaner des informations stockées sur les serveurs de ces entreprises concernant des individus ciblés.

    Même si dans le scandale de PRISM, l'organisme étatique se fournissait directement à la source, le monde d'Internet à pris conscience de l'ampleur de la surveillance de masse. Aussi, même s'il n'est pas possible d'empêcher des structures d'état de demander des informations à une entreprise du même pays si la loi le permet, les échanges pouvaient être protégés avec le TLS et éviter cette surveillance. Aussi, de plus en plus de sites, de toute nature, proposent d'accéder à leurs ressources en TLS. Le mode classique, c'est-à-dire la navigation non chiffrée, est de plus en plus rare, notamment dû à la technologie HSTS8, mais surtout par la préconisation qu'en font la CNNum9(Conseil National du Numérique) et l'ANSSI 10(Agence Nationale de la Sécurité des Systèmes d'Information).

    Le TLS étant de plus en plus répandu, il devient compliqué pour les entreprises de maîtriser leurs flux. En effet, que ce soit pour des raisons professionnelles ou personnelles, les utilisateurs d'un système informatique sont amenés à accéder à divers sites web. Or, vu que le TLS chiffre de bout en bout entre le client et le serveur, les équipements de sécurité de l'entreprise deviennent inopérants. C'est dans ce cadre-là que l'interception TLS est mise en place.

    6. Loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique

    7. https://www.theguardian.com/us-news/prism

    8. HTTP Strict Transport Security, mécanisme HTTP permettant de signaler à un client qu'il doit communiquer de façon sécurisée (HTTPS) et non en clair.

    9. https://cnnumerique.fr/cp-chiffrement/

    10. https://fr.scribd.com/document/319975624/Note-de-l-Anssi-sur-le-chiffrement\#download\&from\_embed

    Edouard Petitjean M2 MIAGE SIID 31

    Chapitre 5

    Aspect technique

    5.1 Enjeux sécuritaires

    Pour la partie technique de l'interception TLS, les enjeux sont surtout sécuritaires. Après tout, la mise en place de l'interception se fait car le TLS rendait les équipements de sécurité sur un mode de fonctionnement dégradé. C'est-à-dire un mode de fonctionnement ne permettant pas aux équipements de remplir leurs fonctions avec efficacité. Les différentes notions qui seront vues par la suite, sont celles rendues inopérantes par le TLS mais que l'interception TLS permet de rendre opérationnelles.

    5.1.1 Les pare-feux nouvelle génération : l'analyse poussée

    Depuis quelques années, les pare-feux nouvelle génération ont vu le jour. Ils permettent des analyses de flux plus poussées et embarquent maintenant des composants permettant de reconnaître les protocoles. Aussi, ces pare-feux ne se basent plus uniquement sur des informations de bas niveau (3 et 4 du modèle OSI), mais également de haut niveau en étant capables de reconnaître un flux HTTP par exemple. Ainsi, avec cette capacité d'analyse, ces équipements proposent de plus en plus d'outils de filtrage en fonction des applications. Notamment, ils sont souvent eux-mêmes utilisés comme proxy TLS pour faire de l'interception.

    Analyse protocolaire

    Comme dit précédemment, ces pare-feux nouvelle génération permettent de reconnaître une application utilisée dans un flux (HTTP, TLS, SSH, SMTP, etc...). Pour cela, ils se basent sur des RFC et pattern de données pour différencier les applications. Cette protection est plus efficace que le simple filtrage d'un ou plusieurs ports. En effet, les anciens pare-feux se limitaient uniquement aux réseaux et transports (TCP ou UDP) utilisés. Aussi, il était possible d'utiliser n'importe quel protocole à partir du moment où le port était bon. De plus, ces nouveaux équipements permettent également de garantir la fiabilité du protocole filtré. En effet, sachant reconnaître les applications, les pare-feux peuvent détecter des anomalies d'utilisation (mauvaises requêtes à un mauvais moment par exemple, tailles d'en-têtes anormales, etc...) et même appliquer des analyses IDS/IPS 1 (exemple : détection d'injection de code dans du HTTP). Ce genre d'analyse est très précieux pour les flux allants et venants d'Internet. Comme il est impossible de maîtriser les différents tiers se situant sur Internet, l'analyse protocolaire permet de protéger fortement les utilisateurs d'un réseau contre les diverses attaques provenant d'Internet, voire de protéger les serveurs publiés sur Internet des nombreuses attaques.

    Analyses « classiques »

    Les analyses « classiques » vont regrouper toutes les analyses liées aux malwares2 et les spams. Généralement, les postes clients sont équipés d'un antivirus local pour se protéger. Cette protection se

    1. Intrusion Detection/Prevention System, Système d'analyse de données permettant de détecter ou prévenir des attaques connues

    2. Malware est un terme généraliste pour désigner les divers programmes nuisibles (virus, spywares, chevaux de Troie, vers, backdoors, rootkits, keyloggers, publiciels, etc...)

    Edouard Petitjean M2 MIAGE SIID 32

    Aspect technique - Enjeux sécuritaires

    base souvent sur une analyse basée sur la signature 3, qui par nature permet de détecter rapidement des malwares connus. Le principal risque de ce genre d'analyse est la latence entre la création d'un nouveau malware et la notification de sa signature. Pour pallier cela, les analyses heuristiques4 sont nécessaires. Or, ce type d'analyse demande une certaine puissance de calcul que les postes bureautiques n'ont pas. A la place, les entreprises ont soit des équipements d'analyses dédiées (sandbox 5), soit des services hébergés par des prestataires de sécurité qui ont de fortes capacités d'analyses auxquelles sont envoyées les données à analyser.

    Prévention de perte/fuite de données

    La perte et la fuite de données sont une hantise pour toutes les entreprises. Les causes de ces pertes sont très nombreuses: fuite de données suite à une attaque interne ou externe, transmission de données bancaire suite à une campagne de phishing6, utilisation d'une plateforme d'échange non autorisée par l'entreprise, etc...

    Contre ça, les techniques de prévention de pertes de données (Data Loss Prevention) ont vu le jour. Ces techniques utilisent l'analyse en profondeur des données pour détecter des patterns bien particuliers dans des contextes donnés. Aussi, si une personne essaye d'envoyer une donnée sensible à travers un moyen de communication considérée comme non sécurisée par l'entreprise, l'équipement en charge de la prévention pourra supprimer tout ou une partie du flux concerné.

    5.1.2 Utilisation d'un proxy

    En fonction de son utilisation, l'interception TLS est placée soit en mode proxy TLS, soit en mode reverse proxy TLS 7. Dans les deux cas, cela permet de scinder un flux entre deux tiers passant par l'équipement. Ce faisant, il est possible de limiter le taux d'exposition des clients et serveurs d'une entreprise à Internet. L'autre avantage d'un proxy est le cache pour les pages web, permettant de limiter le nombre de connexions vers Internet et donc l'économie de la bande passante qui est onéreuse.

    5.1.3 Journalisation des connexions

    Un inconvénient majeur du TLS et de son chiffrement est l'impossibilité de journaliser les informations des protocoles encapsulées dans le TLS. Même si la problématique majeure de la journalisation est liée aux aspects juridiques que nous verrons par la suite, le côté technique a également un fort besoin de ces journaux. Que ce soit pour résoudre des incidents ou auditer l'utilisation du système dans sa globalité ou partiellement, les logs sont une composante importante dans la vie d'un système informatique.

    Aide à l'exploitation

    Les journaux sont la première source de données permettant d'assurer l'exploitation au quotidien d'un système. Sans trace, il est impossible de comprendre une anomalie passée, ni même de comprendre l'état actuel du système. En particulier, les métadonnées des protocoles sont une source d'information précieuse qui permet de définir le contexte dans lequel s'est déroulée la connexion (l'heure, la source, la destination, l'action, les paramètres, etc...). Ainsi, ces éléments sont très importants pour toutes actions d'investigations sur des anomalies rencontrées. Ils permettent de comprendre, voire de reproduire, les incidents afin de mettre en place des contre-mesures adéquates pour protéger la production de l'entreprise.

    3. Cette analyse se repose sur une base locale, mise à jour régulièrement, contenant des signatures de malwares.

    4. Cette analyse se base sur le comportement d'un programme, en évaluant son code ou en l'exécutant dans un espace protégé, pour définir s'il est nuisible ou non.

    5. Aussi appelé bac à sable, est un environnement d'exécution de programme isolé pour inspecter leur comportement.

    6. Technique permettant de récupérer des informations confidentielles en se faisait passer pour un tiers de confiance (banque, assurance, compagnie d'énergie ou télécoms, etc...)

    7. Dans le cas d'une connexion d'un client interne allant vers une ressource externe, nous parlerons de proxy. Dans le cas d'un client externe arrivant sur une ressource interne, nous parlerons de reverse proxy (proxy inversé).

    Edouard Petitjean M2 MIAGE SIID 33

    Aspect technique - Risques : les contraintes techniques

     

    HTTP

    TLS

    TLS intercepté

    Temps de traitement global (en s)

    132,552

    171,716

    772,082

    Requêtes traitées par seconde

    37,72

    29,12

    6,48

    Requêtes échouées

    0

    0

    99

    TABLE 5.1 - Comparaison traitement des requêtes Déterminer la volumétrie

    Les journaux sont aussi très utiles à la détermination de la volumétrie d'un système informatique. Selon la configuration de la journalisation, celle-ci peut permettre d'évaluer le nombre de connexions (total ou dans une période donnée) d'un ou plusieurs protocoles. Ainsi que de déterminer la quantité de données échangées dans les protocoles (si la journalisation ressort bien ce type de données). Ces deux informations sont cruciales pour un système informatique car elles permettent de connaître l'évolution de son utilisation et anticiper un dépassement des limites imposées par le système.

    5.2 Risques : les contraintes techniques

    Pour la partie technique, les risques de l'interception TLS vont se concentrer sur la limitation technique des équipements utilisés, mais aussi sur la modification d'utilisation du TLS entraînée par l'interception.

    5.2.1 La performance

    La principale limite à prendre en compte pour l'interception TLS est la ressource qu'elle va utiliser. Le TLS repose sur plusieurs algorithmes mathématiques utilisant de grands nombres, complexifiant ainsi les calculs. Par conséquent, l'utilisation du TLS est en soi consommatrice de ressources. En effet, l'équipement utilisé comme proxy TLS va établir deux sessions, là où les clients et serveurs n'en utiliseront qu'une seule. Le tableau tab. 5.1 p.33 et le graphique fig. 5.1 p.34 montrent un comparatif basé sur l'envoi de 5000 connexions HTTP, dont 30 sont envoyées simultanément, en clair, en TLS et en TLS intercepté8.

    Avec ce comparatif, il est facile de voir que l'interception TLS a des impacts significatifs sur la gestion des flux. En effet, par rapport à un flux TLS classique, le fait d'intercepter demande plus de puissance de calcul, et avec la gestion parallèle des connexions, le nombre de requêtes pouvant être gérées chute brutalement. Autre point à prendre en compte : le taux d'échec de l'interception TLS. Comme il est possible le voir dans l'exemple, l'interception TLS échoue dans la transmission des requêtes. Ces anomalies proviennent surtout sur des erreurs d'échange dans l'établissement TLS.

    Bien que l'impact directement visible repose sur le nombre de connexions simultanées pouvant être gérées, la problématique provient surtout des éléments physiques de l'équipement dédié à être proxy TLS. En effet, que l'équipement soit équipé de cryptoprocesseurs9 ou non, l'interception TLS peut entraîner une saturation du système de calcul. Or, si le système de calcul est saturé, alors les divers flux vont être mis en file d'attente jusqu'à leur traitement. Mais si le cryptoprocesseur n'est pas assez performant, alors la file d'attente ne cessera de s'agrandir jusqu'à ce que des comportements anormaux apparaissent (blocages de flux, flux non déchiffrés, etc...). Le problème étant plus grave si l'équipement ne fournit pas de cryptoprocesseur et utilise son processeur classique. Dans ce cas, c'est tout le système d'exploitation de l'équipement qui peut être en péril. Et puisque le proxy TLS doit être placé en coupure de réseaux entre les clients et les serveurs, sa saturation peut entraîner un arrêt complet du réseau sur lequel il se situe.

    8. Ce comparatif provient d'un environnement laboratoire conçu spécialement pour ce test. Par conséquent, cela ne reflète pas les capacités des équipements en production dans les entreprises, mais permet de comprendre l'impact de l'interception TLS sur un environnement donné.

    9. Processeurs optimisés pour les tâches cryptographiques

    Edouard Petitjean M2 MIAGE SIID 34

    Aspect technique - Risques : les contraintes techniques

    FIGURE 5.1 - Comparaison traitement des requêtes

    5.2.2 L'interception

    Outre les problèmes liés à la performance, l'interception TLS apporte de lui-même un lot de contrainte à prendre en compte. Si ces contraintes sont mal estimées avant le déploiement de cette technique, les impacts sur le système d'information peuvent être préjudiciables à l'organisme voulant la mettre en place.

    Évolution des algorithmes de chiffrement

    Comme pour la plupart des équipements d'un système informatique, les éléments de sécurité ont généralement une durée de vie de 5 années. Or, le monde des chiffrements sécurisés évolue plus vite. En effet, de nouveaux algorithmes (notamment pour la génération de grands nombres premiers avec Diffie-Hellman 10) voient le jour et sont implémentés sur les serveurs web au détriment des plus anciens. La problématique pour un proxy TLS dans ce contexte d'évolution est d'être en capacité de suivre cette évolution. Si le proxy TLS n'est pas capable d'apprendre les nouveaux algorithmes, ou uniquement en étant mise à jour, cette contrainte devient sérieuse afin de limiter les temps de coupure.

    Pour prendre un exemple, le site « moodle.com » 11 a récemment mis à jour sa configuration TLS. Depuis cette modification, ce site n'accepte les algorithmes Diffie-Hellman que s'ils utilisent une méthode appelée elliptic curve 12. Chez un client, j'avais mis en place de l'interception TLS via une solution tierce, avant cette modification opérée par « moodle.com ». Or, cette solution ne sait pas gérer cette notion de courbe elliptique dans les algorithmes de chiffrement. Pour être mise à jour, la solution a besoin d'une montée de version majeure qui aura un impact significatif sur le système informatique. Sans cette montée de version, le client n'a d'autre choix que d'autoriser « moodle.com » sans le déchiffrer. Ainsi, le choix qui s'impose au client est le suivant :

    1. Ne pas déchiffrer le flux vers ce site, au risque de laisser tous les échanges sans surveillance

    2. Prévoir une montée de version majeure de son proxy TLS qui entraînera un travail de refonte de la solution (problème de comptabilité de version) ainsi qu'un risque de coupure de service lié à la montée de version (erreur de paramétrage, comportement anormal, etc...)

    Dans ce genre de cas, le choix est cornélien et peut poser une véritable problématique sur l'évolution future du système informatique. En effet, la décision sera prise en calculant l'impact économique prévisionnel dans les deux cas de figure, l'impact le plus bas sera le plus déterminant. Or, l'évaluation de l'impact peut être très compliquée à prendre en compte si la direction manque d'informations sur la multitude de facteurs à appréhender.

    10. Méthode permettant à deux tiers de générer une paire de clefs asymétriques sans avoir à les échanger.

    11. Plateforme d'apprentissage en ligne.

    12. La courbe elliptique est un cas particulier de courbe algébrique utilisée dans divers domaine dont la cryptographie pour trouver des nombres premiers très grands rapidement

    Edouard Petitjean M2 MIAGE SIID 35

    Aspect technique - Risques : les contraintes techniques

    La souplesse des proxy TLS

    Un problème récurrent lié aux proxy TLS est leur « souplesse ». Souvent dans leurs configurations, les proxy TLS vont proposer un ou plusieurs paramétrages possibles pour l'interception TLS en fonction des cas de figure. Or, ce nombre de paramétrages reste toujours limité et lié à des critères de reconnaissance de flux précis. A cela s'ajoute souvent la difficulté de spécifier les algorithmes de chiffrement voulu. Il y aura souvent des notions de niveau cryptographique dans les équipements qui regrouperont des suites cryptographiques, mais il reste rare de pouvoir personnaliser ces niveaux.

    Par conséquent, le choix de limiter ou non les suites cryptographiques demande une sérieuse réflexion en fonction des besoins. Soit, la décision est de n'accepter que des chiffrements robustes, dans quel cas une multitude de sites divers ne sera plus acceptée. Soit, les algorithmes plus faibles sont acceptés, ce qui augmente le risque qu'un individu malveillant puisse déchiffrer le flux.

    Attention toutefois, autoriser des algorithmes de chiffrement moins robustes ne veut pas forcément dire que ces derniers présentent des failles importantes, mais au vu des techniques de cryptanalyses 13 actuelles, « moins » de temps est nécessaire pour déchiffrer un flux, mais cela reste impossible pour un simple poste de procéder à la cryptanalyse en un temps raisonnable 14.

    Le cache TLS

    Nous avons vu précédemment que l'interception TLS à un impact significatif sur la vitesse de traitement des requêtes. Une des causes est que lors de l'interception sortante, le proxy TLS, avant de créer un faux certificat pour le client, va procéder à des vérifications d'usage sur le certificat serveur. En effet, il va tester qui a signé le certificat, sa date de validité, si le nom du certificat correspond au domaine requêté, etc... Afin de minimiser le temps de traitement lié à la validation du certificat, certaines solutions proposent un cache de certificats TLS générés à la volée. Ainsi, le proxy TLS a, par le passé, procédé aux vérifications d'usages d'un certificat puis généré le faux pour le client, alors il garde ce dernier en mémoire pour un temps. Lorsqu'un client, le même ou un autre, vont vouloir accéder au site présentant le certificat en question, le proxy TLS ne procédera pas aux vérifications et présentera le certificat généré précédemment.

    Cette fonctionnalité de cache permet de gagner un temps précieux, notamment si un nombre conséquent de requêtes sont à traiter simultanément, mais elle peut également être une source de risque important. Le proxy TLS va donc se reposer sur son cache qui garde généralement quelques jours. Durant cette période, le proxy TLS n'effectuera aucune vérification sur le certificat serveur. Or, si ce dernier a été corrompu récemment, alors il y a un vrai risque que la confidentialité des données soit remise en cause le temps que le cache soit purgé.

    Authentification des clients par certificat

    Lors de l'établissement d'une session TLS, le serveur peut demander au client une authentification via un certificat afin de s'assurer de l'identité du client. L'interception TLS pose un réel problème pour ce mode d'authentification. En effet, il est impossible de procéder à l'identification du client via un certificat.

    Pour être plus précis, ce n'est pas le fait de transférer la demande du serveur et le certificat client qui pose problème, mais l'utilisation du certificat client par la suite. Pour rappel, le proxy TLS placé en coupure se fait passer à la fois pour un client et un serveur en fonction de son interlocuteur. Il établit donc deux sessions TLS avec le client et le serveur, et par conséquent, chaque échange qu'il effectue est signé afin d'assurer l'intégrité et l'identification du message. Or, dans le cas d'une authentification client par certificat, les deux protagonistes ne savent pas que leurs trafics sont interceptés. Donc, lorsque le client voudra échanger avec le serveur, ce dernier connaîtra le certificat du client, et voudra vérifier que tous les messages qu'il reçoit ont bien été signés avec le certificat du client. Ceci impossible, car le trafic étant intercepté, les messages seront signés avec le certificat du proxy TLS.

    Pour ce genre de connexion, seule une liste blanche permettant d'outrepasser l'interception TLS est envisageable pour rendre les sites demandant une authentification accessible. Dans le cas contraire, le flux sera bloqué.

    13. La science de déchiffrer un message sans en posséder la clef.

    14. En cryptanalyse, déchiffrer un message en un temps raisonnable signifie réussir à déchiffrer le message avant la fin de la durée de vie contenue dans le message.

    Edouard Petitjean M2 MIAGE SIID 36

    Aspect technique - Risques : les contraintes techniques

    Le flux en clair

    Évidemment, le but de l'interception TLS est d'avoir le trafic en clair pour y apporter des analyses diverses, mais cela reste un risque en soi. L'utilisation du TLS permet la confidentialité lors d'un échange où les données sont censées être sensibles, or, sur le proxy TLS, le trafic est momentanément stocké en clair. Par conséquent, si le proxy TLS est compromis (accès par un individu non autorisé), la confidentialité des flux est également compromise.

    La gestion des certificats

    Dans le cas d'une interception de flux sortants, nous avons vu que le proxy TLS a besoin d'agir comme une autorité de certification interne pour générer de faux certificats à la volée. Pour cela, plusieurs solutions existent mais chacune apporte des risques.

    Pour la mise en place de l'interception TLS, il faut réfléchir au mode de déploiement du certificat de l'autorité de certification interne auprès des divers clients internes. La principale difficulté réside souvent dans hétérogénéité des systèmes d'exploitation et navigateurs utilisés. Pour rappel, plusieurs méthodes ont été évoquées à la sous-section Le placement du proxy TLS p.25. Même si plusieurs méthodes de déploiement existent, aucune ne permet de prendre en compte tous les cas de figure. Notamment à cause du nombre considérable de navigateurs internet qui existent, et qui utilisent leur propre magasin de certificats. Il faudra donc prévoir comment déployer le certificat de l'autorité de certification sur tous les navigateurs utilisés au sein du système informatique.

    Dans tous les cas, le principal risque restera la compromission du certificat et notamment de la clef privée qui lui correspond. Si cette dernière tombe entre de mauvaises mains, alors la confidentialité des flux interceptés n'existera plus. Mais aussi, cette compromission peut permettre à une personne compétente de créer des certificats de confiance auprès des utilisateurs faisant confiance à l'autorité de certification interne. Si une telle situation arrive, la priorité pour le système informatique sera de révoquer le certificat de l'autorité de certification interne au plus vite. De ce fait, dans le cas d'une utilisation d'une PKI interne, il est très important de dédier une sous-autorité de certification pour l'interception TLS afin de limiter l'impact d'une révocation du certificat de l'autorité utilisée. En effet, si un certificat d'une autorité ou sous-autorité est révoqué dans une PKI, alors la totalité des certificats générés par cette autorité ou sous-autorité seront invalides car l'autorité de certification intermédiaire ne sera plus de confiance. Ce risque peut-être très critique dans les architectures où le déploiement du certificat de l'autorité de certification doit se faire manuellement, cela veut dire que pour la révocation auprès des clients, elle devra également être également manuelle.

    Dernier point concernant l'interception des flux sortants : il est fortement déconseillé d'utiliser les certificats d'autorité de certifications embarqués dans les solutions de proxy TLS. La raison évidente est d'éviter d'utiliser une paire de clefs connue par d'autres entités utilisant cette même solution. Par ailleurs, rien n'affirme comme n'infirme que l'éditeur de la solution n'a pas gardé une copie des clefs sur les équipements lors de leur production avant vente.

    Pour l'interception entrante, le risque est tout autre. Le reverse proxy doit connaître toutes les paires de clefs dont il sera en coupure des serveurs internes. Par conséquent, il sera également concentrateur de certificats et clefs privées prévues initialement pour authentifier les serveurs hébergés en interne. Or cette fois-ci, les certificats sont bel et bien valides et reconnus publiquement. Par conséquent, la compromission du reverse proxy TLS va permettre aux personnes mal intentionnées de se faire passer pour les serveurs légitimes. La réplique directe devrait être de révoquer les certificats compromis, hélas, les temps de mise à jour sur Internet sont longs et beaucoup d'utilisateurs peuvent se faire avoir par des usurpateurs.

    5.2.3 Les protections des clients

    Même si l'interception TLS est tolérée dans un cadre précis que nous verrons par la suite, il ne fait pas le bonheur des éditeurs de navigateurs web, qui eux, veulent assurer la sécurisation des échanges, et notifier tout comportement suspect. Or, l'interception TLS agit comme une attaque dite Man In The Middle15 connue notamment pour usurper une identité sur un réseau. Ce genre de comportement fait partie des comportements suspects que les navigateurs web essayent de détecter. Dans le cas du TLS, les éditeurs redoublent d'efforts pour détecter les faux certificats. Ce qui est très bien pour les

    15. Cf. L'interception TLS p.23

    Edouard Petitjean M2 MIAGE SIID 37

    Aspect technique - Risques : les contraintes techniques

    utilisateurs, beaucoup moins pour les structures ayant besoin de l'interception TLS pour garantir un niveau de sécurité optimal de leur système.

    La principale technique utilisée pour détecter les faux certificats est le HPKP 16 (HTTP Public Key Pinning). C'est une technique se basant sur la confiance au premier accès. C'est-à-dire que si le client et le serveur utilisent cette fonctionnalité, alors à la première connexion au serveur, celui-ci va renvoyer une liste des clefs publiques lui appartenant. Si lors de nouvelles connexions, la clef publique reçue n'est pas présente dans la liste de la première connexion, alors le navigateur coupe la connexion. Au bout d'une certaine période (envoyée par le serveur à la première connexion), la liste est purgée et la prochaine connexion sera autorisée pour récupérer la liste.

    Il existe également d'autres techniques, ne provenant pas de RFC, qui voient également le jour comme CheckMyHTTP17 qui se base sur un tiers de vérification. C'est à dire que lorsque le client récupère un certificat en visitant un site, le client va envoyer une requête à un serveur de confiance se situant dans un autre réseau pour que celui-ci requête le certificat du site en question. Une comparaison entre le certificat reçu par le client et celui reçu par le serveur de confiance va permettre de déterminer si une attaque MITM (Man In The Middle) est en cours ou non.

    La démocratisation de ces moyens de détection rend l'application de l'interception TLS très délicate. En effet, ce sont des mécanismes de détection que les navigateurs web proposent et donc ils nécessitent des paramétrages particuliers afin de les outrepasser. Selon la taille, hétérogénéité d'une structure et des droits accordés aux utilisateurs, il peut être très compliqué de trouver un processus permettant la configuration massive des postes clients. A l'instar des sites proposant une authentification des clients par certificat, il faudra prendre la réflexion du comportement des postes vis à vis de ces protections. Les sites doivent-ils faire partie d'une liste blanche outrepassant l'interception TLS au risque d'exposer le système informatique à des attaques? Ou alors, les sites doivent-ils rester bloquer? Ou encore, faut-il prévoir une configuration de tout ou une partie des postes du parc pour que les sites en question deviennent accessibles même avec l'interception TLS? Si ces questions sont simples à poser, elles restent difficiles à répondre en fonction du contexte dans lequel elles sont présentées.

    5.2.4 La protection des serveurs

    Les postes clients ne sont pas les seuls à présenter des protections contre les attaques MITM. Les sites sécurisés trouvent des astuces pour détecter ces comportements et protéger leurs clients. C'est notamment le cas des sites bancaires et du gouvernement qui arrive à détecter les attaques MITM. Chaque site voulant détecter une attaque MITM procède à sa manière. Par conséquent, il n'est pas possible d'énumérer toutes les techniques existantes, ni même de les expliquer en détail car une grande partie de la détection se déroule en background des systèmes informatiques. Néanmoins, cet article va citer deux méthodes pour montrer ce qui peut être utilisé en matière de détection pour les serveurs.

    Dans un article appelé The Security Impact of HTTPS Interception18, les auteurs proposent une méthode de détection d'interception TLS en se basant sur des analyses heuristiques portant sur le comportement des navigateurs connus lors de l'établissement d'une session TLS. Pour faire simple, ils ont découvert que chaque navigateur a une manière d'établir une session TLS (ordre des suites cryptographiques, extensions proposées, etc...). Si lors de l'établissement de la connexion TLS, le serveur détecte un comportement ne faisant pas partie de ceux connus en fonction du navigateur annoncé via l'en-tête User-Agent, alors le serveur considérera que la connexion est interceptée.

    A l'instar des protections proposées par les clients, les serveurs peuvent aussi utiliser un tiers de confiance pour détecter une interception. Le projet open-source snuck.me19 permet au client d'avoir un comportement similaire proposé par CheckMyHTTP vu précédemment. Sauf que cette fois, ce sont les pages web du site qui embarquent du code JavaScript qui va permettre d'effectuer la vérification. Aussi, il n'est pas possible de configurer le poste client pour outre passer la vérification, puisque c'est le site lui-même qui effectue la vérification depuis le poste client.

    Contrairement aux protections des postes clients, les protections des serveurs contre les attaques MITM sont très pénibles à prendre en compte pour un système informatique. Puisque les vérifications sont faites, soit par les pages web reçues, soit par les serveurs distants. Il n'est pas possible d'agir

    16. https://tools.ietf.org/html/rfc7469

    17. https://checkmyhttps.net/info.php

    18. https://jhalderm.com/pub/papers/interception-ndss17.pdf

    19. https://jlospinoso.github.io/node/javascript/security/cryptography/privacy/2017/02/20/snuckme-cert-query.html

    Edouard Petitjean M2 MIAGE SIID 38

    Aspect technique - Récapitulatif

    Enjeux

    Risques

    L'analyse protocolaire (reconnaissance des applica-Peut tions)

    poser des problèmes de performances réseaux

    La détection des malwares dans les flux

    Évolution rapide des suites cryptographiques

    La détection de la prévention de perte/fuite de don- nées

    Le manque de modularité des proxy TLS dans la gestion des suites cryptographique

    Avoir une coupure entre client et serveur comme pour un proxy

    Le cache TLS peut autoriser des certificats non valides sur une courte période

    Avoir la même politique de journalisation des pro- tocoles comme s'ils étaient en clairs

    Authentification des clients TLS par certificats im-possibles

     

    Le proxy TLS stocke les flux en clair le temps d'appliquer les analyses

    La gestion (création, déploiement, révocation) des certificats peut être compliquée en fonction du contexte

    Protections des clients qui peuvent être compliquées à contourner

    Protections des serveurs qui ne sont pas outrepas-sables

    TABLE 5.2 - Récapitulatif de l'aspect technique

    directement pour outre passer la vérification. La plupart du temps, la question à se poser concernant ces sites sont : doit-on les laisser inaccessibles? Doit-on les mettre en liste blanche?

    5.3 Récapitulatif

    Afin d'y voir plus clair dans les enjeux et les risques liés aux éléments techniques de l'interception TLS, le tableau tab. 5.2 p.38 va reprendre les divers points vus précédemment. Même si à première vue, il existe plus de risques que d'enjeux à mettre en place l'interception TLS sur un plan technique, il ne faut pas se fier au seul nombre de points enjeux/risques. En effet, la pondération de ces points est primordiale car variera fortement en fonction du contexte. Par exemple, le risque lié aux problèmes de performances réseau n'est valable que dans le cas où un fort trafic est analysé.

    Edouard Petitjean M2 MIAGE SIID 39

    Chapitre 6

    Une législation complexe

    Chaque pays possède sa propre législation en matière de chiffrement et de son utilisation, aussi, cet article ne traitera que la législation française. Pour cela, ce document va fortement se baser sur les publications de la CNIL et de l'ANSSI. Mais nous verrons que ces entités n'ont pas toutes les réponses juridiques car l'interception TLS n'est tout simplement pas encadrée par la loi française. Aussi, l'objectif ne sera pas d'être conforme à la loi, mais d'éviter le plus possible d'être en infraction.

    6.1 Un chiffrement libre sous condition

    Avant de s'attaquer à la législation concernant le déchiffrement, voyons d'abord celle qui réglemente le chiffrement. Depuis l'année 2004, la LCEN1 prévoit par son article 30 la libre utilisation des moyens cryptographiques permettant les fonctions d'identification, d'intégrité et de confidentialité des données 2. C'est-à-dire que toute personne en France est dans son droit d'utiliser toutes formes de chiffrement afin de préserver la confidentialité d'une donnée. Néanmoins, cela ne veut pas dire que l'échange des données doit être opaque en toutes circonstances. En effet, par son article 37, la LCEN à créé l'article 132-79 du code pénal qui définit les peines privatives de libertés en cas de crime ou délit, et les moyens de chiffrement ont permis ou facilité leur préparation ou commission. Ces peines peuvent monter jusqu'à la réclusion criminelle à perpétuité, mais, elles ne sont applicables que si l'auteur ou complice n'est pas en mesure de fournir les messages en clair (non chiffrés), ni les moyens de chiffrement (algorithmes et clefs) utilisés aux autorités judiciaires ou administratives.

    Pour résumer, l'utilisation de tout type de chiffrement est légale tant qu'il est possible de fournir les données en clair et les moyens cryptologiques utilisés, à la demande des autorités compétentes. Aussi, l'utilisation du TLS est parfaitement autorisée en France, ce qui permet à de nombreux sites web de proposer du chiffrement.

    Dans la réalité, il est rare que les autorités demandent aux clients de fournir de telles données. Pour rappel du fonctionnement de TLS, lors de l'établissement de la connexion, le client n'a pas l'obligation de fournir un certificat, par conséquent, la paire de clefs qu'il utilisera pour une session TLS sera dynamique et dépendra en partie de la clef publique du serveur distant. Au vu de cette complexité, voire de l'impossibilité de récupérer ces clefs, ce sont souvent les propriétaires des serveurs qui sont sollicités pour répondre aux besoins des autorités lors d'une enquête. Or, nous avons pu voir également que pour les serveurs, leurs certificats peuvent servir uniquement pour l'authentification. Si tel est le cas, le serveur utilisera également des paires de clefs dynamiques en fonction des clients. Autant

    ce mode de fonctionnement permet d'accroître la sécurité le serveur n'utilise pas qu'une paire de

    clefs statiques, mais plusieurs dynamiques autant il peut être compliqué pour l'administrateur de

    fournir la paire de clefs utilisée pour une session précise. Ce qui peut entraîner des sanctions pénales en fonction de la gravité du crime ou délit sur lequel les autorités enquêtent. L'interception TLS peut permettre de stocker les données nécessaires sans pour autant prévoir un archivage de toutes les clefs utilisées dans le temps.

    1. Loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique.

    2. Définition des moyens cryptologies donnée par l'article 29 de la LCEN.

    Edouard Petitjean M2 MIAGE SIID 40

    Une législation complexe - Les obligations légales

    6.2 Les obligations légales

    Toute organisation a besoin de manipuler des données pour produire et prospérer. Ces données peuvent concerner soit secrets internes (secrets de productions, méthodes de travail, etc...) ou des données personnelles recueillies au fil du temps. Dans ces deux cas, il existe un besoin réel de protéger ces informations. Tant parce qu'elles permettent le bon fonctionnement de l'organisation qui les emplois, que par les obligations légales qui en découlent.

    La croissance forte de l'utilisation du TLS dans les usages du quotidien empêche bon nombre d'organismes de procéder à des contrôles de sécurité satisfaisants. Or, le manque de contrôle sur les données transitant sur un réseau peut avoir des répercussions juridiques importantes. L'interception TLS est donc un réel enjeu juridique sur le fonctionnement d'une structure.

    6.2.1 Données personnelles: la protection quoiqu'il arrive

    La CNIL définit par données personnelles « toutes informations relatives à une personne physique identifiée ou qui peut être identifiée, directement ou indirectement, par référence à un numéro d'identification ou à un ou plusieurs éléments qui lui sont propres. Pour déterminer si une personne est identifiable, il convient de considérer l'ensemble des moyens en vue de permettre son identification dont dispose ou auxquels peut avoir accès le responsable du traitement ou toute autre personne » 3.

    Donc tous les systèmes d'informations permettant à une structure de vivre utiliseront forcément des données personnelles telles qu'elles sont définies par la CNIL. Que ça soit par la gestion des ressources humaines, la gestion commerciale, les services de santé et d'aide à la personne et autres, l'acquisition de données personnelles et leurs traitements se fait naturellement selon le besoin de la structure. Aussi, les traitements liés à ces données personnelles doivent faire l'objet d'une déclaration concernant la finalité et les moyens de ces traitements auprès de la CNIL. Pour cela, un responsable de traitement est nécessairement identifié (personne physique, service ou organisme) pour tout traitement déclaré 4. Il est par conséquent possible d'avoir plusieurs responsables de traitement au sein d'une même entreprise. Le DRH (Directeur des Ressources Humaines) sera responsable des traitements dédiés aux informations personnelles liées aux ressources humaines, tandis que le DSI (Directeur du Système d'Information) sera responsable des données personnelles liés à l'utilisation quotidienne de son système par les utilisateurs.

    Lorsqu'un responsable de traitement est identifié, plusieurs obligations en matière de protection des données lui incombent. L'article 34 de la Loi 78-17 du 6 janvier 1978, ainsi qu'une directive européenne5 oblige un responsable de traitement de prendre toutes les mesures nécessaires afin de préserver la sécurité des données. Pour cela, il doit empêcher toutes corruptions ou accès à des tiers non autorisés. Pour le responsable, manquer à cette obligation l'expose à un risque pénal pouvant monter à cinq ans de prison et 300 000 euros d'amende6.

    6.2.2 L'interception TLS dans la protection des données

    Même s'il peut y avoir plusieurs responsables de traitement au sein d'une entreprise, la gestion du système d'information reste à la charge du service associé. De plus, les données propres à l'entreprise doivent faire l'objet d'une sécurisation importante afin d'éviter des problèmes de production, d'espionnage, etc... Aussi, il n'est pas rare de voir un service informatique proposer, voire vendre, des « services » aux autres secteurs de l'entreprise. Cela permet à la fois de centraliser les responsabilités légales mais aussi d'optimiser la protection des données de l'entreprise et de mutualiser les outils de sécurisation.

    Pour la CNIL, l'employeur doit assurer la sécurité de son système d'information, par conséquent, l'interception TLS est parfaitement légitime si elle est encadrée 7. Pour cela, plusieurs critères doivent être respectés.

    Premièrement, l'utilisation de l'interception et de l'utilisation des flux interceptés doivent être en accord avec les cinq principes clefs de la CNIL qui sont : la finalité du traitement, la proportionnalité

    3. Article 2 de la Loi 78-17 du 6 janvier 1978

    4. Article 3-I de la Loi 78-17 du 6 janvier 1978

    5. Article 17 de la directive 95/46/CE du Parlement européen et du Conseil, du 24 octobre 1995, relative à la protection des personnes physiques à l'égard du traitement des données à caractère personnel et à la libre circulation de ces données

    6. Article 226-17 du code pénal.

    7. https://www.cnil.fr/fr/analyse-de-flux-https-bonnes-pratiques-et-questions

    Edouard Petitjean M2 MIAGE SIID 41

    Une législation complexe - Les obligations légales

    des moyens mis en oeuvre et la pertinence des données analysées, la durée de conservation des données traitées, la sécurité et confidentialité des données recueillies, et pour finir, le respect des droits à la personne 8.

    Deuxièmement, puisque l'interception TLS va donner la possibilité à des personnes habilitées de l'entreprise, la possibilité de visualiser des informations normalement confidentielles aux utilisateurs, plusieurs mesures sont nécessaires9.

    L'information aux utilisateurs

    Il est important que si la technique d'interception TLS est mise en pratique, les utilisateurs im-pactés soient avertis. Une explication claire et précise sur les raisons qui ont amené la mise en oeuvre de cette technique doit être donnée aux utilisateurs. Également, le détail des flux interceptés devra être communiqué (population d'utilisateurs impactée, protocoles interceptés, sites présents dans une liste blanche non soumise à l'interception, les données recueillies, etc...) afin de laisser la liberté aux utilisateurs de naviguer ou non en toute connaissance de cause.

    Cette notification peut très bien se faire au travers de la charte informatique. Néanmoins, il ne faut pas oublier que pour qu'une charte informatique soit opposable aux salariés, elle doit être déployée au même titre que le règlement intérieur.

    L'accès aux courriers électroniques

    L'interception des courriers électroniques est soumise aux mêmes règles que leur exploitation sur un serveur de messagerie. Il est nécessaire de définir précisément des processus d'accès (administrateurs, droits, méthodes, contextes) aux courriers électroniques des utilisateurs. Pour rappel, tous les courriers électroniques envoyés et reçus par la messagerie de l'entreprise sont présumés professionnels à moins d'être explicitement identifiés comme étant personnels.

    Minimisation des traces conservées

    Un des enjeux de l'interception TLS est la journalisation des flux. Il est très important que la journalisation des flux interceptés se base sur les mêmes critères que la journalisation d'un flux en clair le permet. Aussi, il est possible de journaliser la source et destination d'un flux, le protocole utilisé, quelques métadonnées, etc... Mais le contenu des messages échangés ne doit pas faire l'objet d'un stockage ciblé. Aussi, il n'est pas autorisé de conserver les identifiants, mots de passe, codes personnels et autres.

    Une protection des données d'alertes extraite de l'analyse

    C'est-à-dire que tout résultat suite à un traitement ne doit être accessible que par des personnes habilitées à voir ces résultats.

    6.2.3 La responsabilité en cas de crime ou délit

    Comme je l'ai évoqué dans la section Un chiffrement libre sous condition p.39, il existe un risque que le chiffrement des moyens de communication puisse permettre ou faciliter les crimes ou délits. Dans tel cas, la LCEN prévoit d'alourdir la peine de prison en fonction de la gravité du crime ou délit. Mais dans le cadre d'un organisme, il ne faut pas oublier que chaque salarié est sous la responsabilité d'une personne, et qu'en cas de crime ou délit commis par le salarié, le responsable de ce salarié, ainsi que le service informatique, peut voir sa responsabilité civile engagée. Il est donc nécessaire de déployer les moyens adéquats pour prévenir et bloquer l'utilisation illégale du système informatique.

    La responsabilité du responsable du salarié

    Dans le cas où un salarié utilise les outils professionnels, pendant ses heures et sur son lieu de travail, pour commettre un crime ou un délit, la responsabilité civile de la personne qui répond du salarié peut être engagée sur le fondement de l'article 1242 du code civil. Cette responsabilité a déjà

    8. https://www.cnil.fr/sites/default/files/typo/document/Guide_employeurs_salaries.pdf.pdf

    9. https://www.cnil.fr/fr/analyse-de-flux-https-bonnes-pratiques-et-questions

    Edouard Petitjean M2 MIAGE SIID 42

    Une législation complexe - Les obligations légales

    été engagée en 2003. En effet la société Estoca avait attaqué la société Lucent Technologies pour un site web litigieux créé par un de ses employés. La société Lucent Technologies a bel et bien été déclarée responsable sur le fondement de l'article précédemment cité10.

    La responsabilité du service informatique

    Toujours dans le cas où un salarié commet un crime ou délit en utilisant les outils informatiques de l'entreprise, la responsabilité civile du DSI et/ou de son équipe peut être engagée. Non pas qu'ils doivent répondre du salarié, mais sur la base que si le salarié a pu commettre le crime, c'est grâce aux moyens fournis sans avoir mis en place des contre-mesures ou avoir notifié la direction des risques possibles. Aussi, la direction peut engager la responsabilité du service informatique sur le principe de la négligence en se basant sur l'article 1241 du code civil.

    6.2.4 L'obligation d'une journalisation

    La LCEN prévoit une disposition particulière pour les fournisseurs d'accès à Internet (FAI). La définition d'un FAI se résume à « toute personne physique ou morales dont l'activité est d'offrir un accès à des services de communication au public en ligne » 11. Pour ces FAI, la LCEN leur impose de concourir à la lutte contre « l'apologie des crimes contre l'humanité, la provocation à la commission d'actes de terrorisme et de leur apologie, l'incitation à la haine raciale, la haine à l'égard de personnes à raison de leur sexe, de leur orientation ou identité sexuelle ou de leur handicap ainsi que de la pornographie enfantine, de l'incitation à la violence, notamment l'incitation aux violences faites aux femmes, ainsi que des atteintes à la dignité humaine » 12. Cela se traduit pour les FAI à détenir et conserver toutes « les données de nature à permettre l'identification de quiconque a contribué à la création du contenu ou de l'un des contenus des services dont elles sont prestataires » 13.

    Mais en 2006, la loi antiterrorisme étend les obligations des FAI à toutes structures et personnes permettant un accès Internet, privé ou public 14. Par conséquent, à partir du moment où un accès Internet est déployé dans n'importe qu'elle organisme, il est obligatoire de converser tous éléments permettant l'identification tel que définie dans l'article 6-II de la LCEN. La loi oblige la conversation de ces données pour la période d'un an avant de pouvoir anonymiser ou supprimer ces données 15.

    6.2.5 La loi HADOPI

    La loi HADOPI est surtout connue en France pour être une loi antipiratage des oeuvres circulant sur les réseaux peer-to-peer16. Pour les entreprises, cette loi est un risque à prendre en compte puisqu'elle introduit une nouvelle notion : la négligence caractérisée 17. Ainsi, si le réseau d'entreprise est utilisé a des fins malveillantes, l'entreprise peut être tenue pour responsable car elle n'aura pas ou mal mis en oeuvre les moyens de protections sur son réseau. Cette obligation de surveillance et de protection est appuyée par l'article L336-3 du Code de la propriété intellectuelle quand il s'agit d'une atteinte aux droits d'auteurs (téléchargement illégal, distribution de contrefaçon).

    6.2.6 Interception dans le cadre judiciaire

    Nous l'avons vu précédemment, l'utilisation du chiffrement est libre mais à condition de pouvoir communiquer les clefs de chiffrement. Mais pas seulement, il existe une obligation légale de déchiffrement lors d'une interception judiciaire 18, ou dans le cadre d'interception de sécurité 19 ou encore lors d'une enquête ou instruction20.

    10. TGI Marseille, 11 juin 2003, D. 2003

    11. Article 6-I-1 de la LCEN

    12. Article 6-I-7 de la LCEN

    13. Article 6-II de la LCEN

    14. Article 34-1-I du Code des postes et des communications électroniques

    15. 34-1-II du Code des postes et des communications électroniques

    16. Est un modèle de réseaux informatiques basé sur le client-serveur mais dans lequel tous les clients sont serveurs et inversement.

    17. Article R335-5 du Code de la propriété intellectuelle

    18. Article 100 à 100-8 du Code de la procédure pénale

    19. Article L241-1 à 245-3 du Code de la sécurité intérieure

    20. Article 230-1 du Code de la procédure pénale

    Edouard Petitjean M2 MIAGE SIID 43

    Une législation complexe - La légalité de l'interception TLS

    Même si ces obligations concernent toutes formes d'interceptions des communications, le TLS est un peu particulier car il est extrêmement compliqué, même pour un organisme étatique d'intercepter une communication chiffrée avec TLS. Aussi, il est possible que dans le cadre d'une interception judiciaire, une entreprise soit sollicitée pour mener à bien cette interception.

    6.3 La légalité de l'interception TLS

    Pour le moment, nous n'avons traité que les risques légaux que le chiffrement de données entraîne pour un individu ou à une entité. Aussi, nous pourrions croire qu'il faudrait impérativement mettre en place cette technique afin d'éviter des risques judiciaires importants, mais nous allons voir que la mise en place du déchiffrement expose également à des risques juridiques loin d'être anodins.

    6.3.1 Des atteintes aux secrets

    En mettant en pratique l'interception TLS, beaucoup de problèmes de confidentialité peuvent subvenir. En effet, il n'est possible d'analyser le contenu qu'une fois un message déchiffré, or, le simple fait de déchiffrer le message peut être considéré comme une infraction.

    Le secret des correspondances privées

    Le premier problème auquel il est facile de penser est celui lié au secret des correspondances privées. Puisque l'interception d'un message électronique est punie d'un an d'emprisonnement et 45 000 euros d'amende21, un mécanisme permettant de tous les intercepter est clairement contraire à cette loi.

    La protection des données personnelles

    Précédemment, nous avons vu l'importance de protéger les données personnelles au sein d'un or-ganisme22. Néanmoins, il ne faut pas oublier que l'interception TLS est en soi un traitement appliqué aux diverses données qu'il manipulera. Par conséquent, son utilisation non déclarée ni encadrée peut entraîner une peine de cinq ans de prison et de 300 000 euros d'amende23.

    Un autre problème relatif aux données personnelles est celles non gérées par l'entreprise. Pour qu'une déclaration auprès de la CNIL soit valable, il faut détailler les finalités et moyens mis en place, mais aussi les données qui feront l'objet du traitement. Or, avec l'interception TLS qui peut déchiffrer beaucoup de choses, il est plus que probable qu'il analyse des données personnelles qui ne seront pas déclarées auprès de la CNIL (par exemple : numéro de carte bancaire, dossiers administratifs ou médicaux). Même, il peut permettre de prendre connaissance de données personnelles que l'entreprise n'a pas à connaître.

    Même si la CNIL autorise et recommande l'analyse des flux chiffrés tant qu'elle est encadrée, cela n'ôte pas pour autant les risques juridiques liés aux traitements de données personnelles.

    La vie privée des utilisateurs

    Les utilisateurs ont le droit d'utiliser les outils professionnels pour des activités personnelles pendant les heures de travail, tant que cette utilisation personnelle reste acceptable 24. Par conséquent, l'utilisateur est susceptible de communiquer des propos, photos et vidéos sur des plateformes publiques ou privées. Dans de tels cas, l'interception de ces données, sans le consentement de son auteur peut valoir un an d'emprisonnement et 45 000 euros d'amende25. Pour aller plus loin, la détention d'un dispositif technique permettant cette interception non consentie expose à un risque de cinq années de prison et 300 000 euros d'amende26.

    21. Article 226-15 du Code pénal

    22. Cf. Données personnelles : la protection quoiqu'il arrive p.40

    23. Articles 226-16 à 226-24 du Code pénal

    24. Arrêt Nikon, le 2 octobre 2001

    25. Article 226-1 à 226-7 du Code pénal

    26. Article 226-3 du Code pénal

    Edouard Petitjean M2 MIAGE SIID 44

    Une législation complexe - Récapitulatif

    La sensibilité des informations

    Cela a été dit précédemment, l'interception TLS va analyser et prendre connaissance de beaucoup de données. Cela peut être problématique pour certaines activités. D'une part, les divers secrets professionnels, auxquels seules les personnes habilitées doivent avoir connaissance, peuvent être connus des personnes travaillant sur l'interception TLS. Cela peut être plus gênant quand il s'agit d'informations hautement confidentielles et/ou pouvant entraîner un risque de conflit d'intérêts. Par exemple, des informations sur une restructuration de l'entreprise, une négociation de salaire d'un collègue, ou encore un échange entre des salariés protégés.

    Nous pouvons aussi avoir des données qui sont protégées par une réglementation spécifique, comme la réglementation relative à la protection du patrimoine scientifique et technique de la nation. Ou encore des données relatives aux secrets de la défense nationale27.

    6.3.2 La sous-traitance

    Dans un modèle de gestion où les compétences informatiques sont de plus en plus sous-traitées, il n'est pas rare que des employés d'une autre entité manipulent les équipements de sécurité relatifs au système d'information, et bien sûr, à l'interception TLS. Aussi, il est important de bien encadrer le périmètre précis et les actions que le prestataire pourra effectuer. En effet, la sous-traitance de la compétence ne signifie pas la délégation des risques juridiques. L'entreprise qui emploie la sous-traitance est toujours responsable si le sous-traitant commet des crimes et délits avec les moyens de l'entreprise. Dans l'affaire du piratage de Greenpeace par un sous-traitant d'EDF, EDF a vu sa responsabilité pénale engagée et a été condamnée à verser 1 500 000 euros 28.

    6.3.3 Atteinte au STAD ?

    La question la plus problématique auquelle même la CNIL ne saurait répondre est la suivante : l'interception TLS porte-t-elle atteinte au STAD29 ?

    Le terme de STAD est un terme bien trop vague pour en définir un périmètre précis. Par exemple, le réseau de France Telecom dans son ensemble est un STAD. Un disque dur peut être aussi considéré comme un STAD. Donc, est-ce que la mise en place de l'interception TLS porte atteinte dans le sens où elle intercepte un trafic entre deux entités formant à ce moment-là un STAD? Ou bien l'interception TLS fait elle-même partie du STAD?

    Même si cette question peut sembler déroutante, il est nécessaire de ne pas être certains de son interprétation. Les infractions concernant les STAD sont définies par les articles 323-1 à 323-7 du code pénal, Les peines pouvant varier de deux ans de prison et 60 000 euros d'amende à dix ans de prison et 300 000 euros d'amende.

    La principale incertitude concernant cette question est que malgré la croissance de l'interception TLS dans les entreprises, il n'y a eu à ce jour, aucune affaire, et donc aucune jurisprudence concernant ce point.

    6.4 Récapitulatif

    La véritable problématique de l'interception TLS est qu'il n'existe aucun cadre légal qui lui est consacré. La CNIL et l'ANSSI l'autorisent car elle permet d'accroître la sécurité des systèmes d'informations mais leurs autorisations ne valent pas la loi. Par conséquent, tant qu'il n'y aura pas de texte l'encadrant spécifiquement, tant qu'il n'y aura pas eu de jurisprudence sur son utilisation, et tant que le terme STAD sera toujours aussi large, la mise en place ou non de l'interception sur un plan légal se résumera à cette question : ne pas déchiffrer et être responsable par manque d'informations, ou mettre en place et être responsable d'atteintes aux STAD et données diverses?

    27. n°1300/SGDSN/PSE/PSD du 30 novembre 2011

    28. https://www.legalis.net/jurisprudences/tribunal-correctionnel-de-nanterre-jugement-du-10-novembre-2011/

    29. Système de Traitement Automatisé de données, un terme juridique extrêmement large désignant un ensemble composé d'une ou plusieurs unités de traitement, de mémoire, de logiciel, de données, d'organes d'entrées-sorties et de liaisons, qui concourent à un résultat déterminé, cet ensemble étant protégé par des dispositifs de sécurité.

    Edouard Petitjean M2 MIAGE SIID 45

    Une législation complexe - Récapitulatif

    Enjeux

    Risques

    Une cryptographie libre à condition de pouvoirAtteinte fournir des données en clair

    aux secrets des correspondances

    Responsable de traitement des données en charge de les protéger

    Atteinte aux données personnelles non gérées par l'entreprise

    L'employeur doit assurer la sécurité de son système

    Atteinte à la vie privée des utilisateurs

    L'employeur et le service informatique peuvent êtreAtteinte responsables en cas de crimes ou délits commis

    à des données sensibles

    Obligation de journaliser si un accès Internet est fourni

    Gestion des sous-traitants ayant accès aux données déchiffrées

    Se prémunir de la négligence caractérisée (loi HA-Incertitude DOPI)

    sur l'atteinte aux STAD

    Obligation légale de déchiffrement lors d'enquête judiciaire

     

    TABLE 6.1 - Récapitulatif de la législation française

    Comme pour l'aspect technique, le tableau tab. 6.1 p.45 va présente les enjeux et risques légaux de mettre en place cette technique.

    Edouard Petitjean M2 MIAGE SIID 46

    Chapitre 7

    L'impact sociologique

    Nous allons terminer cette partie en parlant un peu1 de l'impact sociologique que peut avoir cette technique sur les utilisateurs. En effet, très souvent dans les diverses présentations techniques de sécurisation, on nous présente les divers enjeux et risques d'un point de vue technique et surtout légal. Ce n'est pas pour rien, car à la vue des diverses condamnations qui peuvent être sévères, l'argument légal fait souvent mouche auprès des DSI et des employeurs.

    Or, il est aussi important de comprendre que certaines techniques de sécurisation2 peuvent avoir un impact sur les utilisateurs, qui se répercute par la suite sur leur relation vis à vis du système d'information. Il existe plusieurs cas de figure sur l'évolution des utilisateurs, mais deux me viennent directement à l'esprit : utiliser le moins possible le système et essayer de contourner la sécurité. Dans ces deux cas, cela entraîne souvent une baisse de la productivité ainsi qu'une mauvaise utilisation du système.

    7.1 La destruction de la relation de confiance

    Dans une époque où les réseaux sociaux et les diverses messageries prennent une place importante dans la vie quotidienne, l'interception TLS peut être vue comme une tentative d'atteinte à la vie privée par les utilisateurs. Il est vrai que les différents réseaux sociaux et messageries web proposent des conditions d'utilisation très intrusives dans la vie privée des utilisateurs. Pour autant, ces derniers les acceptent. A côté de cela, le fait que les administrateurs de l'entreprise aient accès aux données déchiffrées choque ces mêmes utilisateurs peut prêter à sourire. Mais les utilisateurs ont une relation plus directe avec les administrateurs de leur société. En effet, contrairement aux sites distants utilisés par les salariés pour partager leurs informations, ils n'ont aucun contact avec les personnes gérant leurs données sur ces sites. Ce n'est pas le cas pour le service informatique de leur entreprise, que les utilisateurs sont amenés à joindre assez régulièrement ou à côtoyer quotidiennement pour diverses raisons. Aussi, il faut se poser la question de savoir si ces personnes ne seront pas gênées à parler avec des administrateurs qui peuvent potentiellement voir tous leurs échanges sur divers sites.

    7.2 Une surveillance en trop?

    C'est la question que beaucoup d'utilisateurs peuvent se poser. En effet, de plus en plus de sites, notamment les réseaux sociaux, prônent le chiffrement et n'hésitent pas à publier des articles permettant d'expliquer en quoi c'est nécessaire. L'interception TLS peut être vue comme un moyen de censurer ou de détecter des comportements déviants, voir même un moyen de trouver des preuves pour licencier des personnes. Ce genre de réaction est d'autant plus probable si de la prévention de perte de données est mise en place, car c'est typiquement une technique permettant de censurer des données allant vers Internet.

    1. Ce chapitre sera très court car n'ayant pas de réelle étude pour accompagner les propos, juste quelques idées seront évoquées.

    2. L'impact sociologique ne concerne pas uniquement les techniques de sécurisation, mais nous ne traiterons que celles-ci dans cet article pour rester dans le thème.

    L'impact sociologique - La nécessité d'informer

    De plus, il est probable que des salariés changent d'attitude suite à l'ajout d'une surveillance. Ce qui est parfaitement naturel pour chacun d'entre nous. Autant, une surveillance supplémentaire peut amener à stopper des utilisations frauduleuses qui sont faites du système d'informatique. Autant, il est tout aussi possible que des utilisateurs qui utilisaient correctement le système changent leur façon de travailler, croyant que leurs anciennes méthodes allaient contre les règles. Or, ces changements de moyens de travailler peuvent entraîner une baisse de la productivité. Un article intitulé La surveillance n'améliore pas la productivité3 écrit par « Hubert Guillaud » 4 propose l'idée qu'une surveillance trop importante est contre-productive pour une entreprise car restreignent trop les salariés.

    7.3 La nécessité d'informer

    L'impact social ne se limite pas uniquement à ce qui a été dit, c'est un domaine très complexe qui demande beaucoup de réflexion car chaque personne peut réagir de façon propre. C'est pour cela qu'il est difficile de prévoir tous les cas de figure, mais le meilleur moyen de limiter son impact est de passer par une explication claire et précise des raisons de la mise en place de l'interception TLS. Que ce soit par une note explicative qui désignera les personnes étant habilités à voir les données déchiffrées et dans quels cas ils le pourront, ou part l'animation de séances en groupe pour expliquer mais surtout répondre aux interrogations des utilisateurs.

    Un rappel sur le secret professionnel afférant aux administrateurs et de l'impossibilité à toutes personnes de demander des données personnelles peuvent aussi être une bonne chose pour rassurer les utilisateurs.

    3.

    Edouard Petitjean M2 MIAGE SIID 47

    http://internetactu.blog.lemonde.fr/2014/06/07/la-surveillance-nameliore-pas-la-productivite/

    4. Journaliste français connu pour son travail au sein de la fondation internet nouvelle génération

    Troisième partie

    Edouard Petitjean M2 MIAGE SIID 48

    Quelques bonnes pratiques

    Edouard Petitjean M2 MIAGE SIID 49

    Chapitre 8

    Des réflexes à avoir

    Dans cette partie, je vous propose une liste des bonnes pratiques lors de la mise en place de l'interception TLS. Cette liste ne se serait être exhaustive car il existe beaucoup de solutions proposant cette fonctionnalité et chacune de ces solutions peuvent avoir des spécificités.

    Nous verrons d'abord quelques pratiques à prendre en compte pour la partie technique, puis dans un second temps, les réflexes pour éviter les risques juridiques.

    Edouard Petitjean M2 MIAGE SIID 50

    Chapitre 9

    La mise en oeuvre technique

    Pour exposer les différentes pratiques, nous diviserons la partie technique en deux sections. L'une traitera de l'interception sortante, qui est plus complexe, la seconde portera sur l'interception entrante.

    9.1 L'interception sortante

    9.1.1 Gestion de l'AC interne

    -- Utiliser une sous-autorité de certification dédiée à l'interception TLS dans le cas d'une utilisation d'une PKI.

    -- Ne jamais utiliser les autorités de certification intégrées nativement dans les diverses solutions. C'est prendre le risque d'utiliser les mêmes clefs que les autres entités qui ont la même solution, ou utiliser un certificat obsolète.

    -- Recenser toutes les solutions de navigation utilisées par les utilisateurs afin de prévoir un déploiement de certificat pour toutes ces solutions.

    9.1.2 Protection des clefs privées

    -- L'utilisation d'un HSM 1 est fortement conseillée pour le stockage des clefs et leur utilisation. L'ANSSI propose une liste de solutions certifiées 2.

    -- Revoir les droits systèmes liés aux fichiers contenant les clefs privées. Seul le service qui utilisera les clefs privées devrait avoir les droits de lecture sur ces clefs. Tous les autres accès provenant d'un autre service devront être prohibés.

    9.1.3 Sécurité des connexions entre les clients internes et le proxy TLS

    -- Limiter l'utilisation du TLS aux versions 1.2 et 1.1, en proposant un ordre décroissant des versions.

    -- Lors de la génération du certificat de l'AC utilisé par le proxy TLS ainsi que les certificats générés à la volée, il est conseillé d'utiliser des suites cryptographiques robustes. L'ANSSI a publié une annexe (RGS B1 3) pour savoir comment choisir les bonnes suites cryptographiques.

    -- L'utilisation du PFS (Perfect Forward Secrecy) est importante. Il permet de protéger les connexions passées en cas de compromission de la clef privée.

    -- La désactivation de la compression permet d'éviter les attaques CRIME4 et ses variantes. -- Limiter le cache TLS afin de se prémunir d'une absence de vérification trop longue.

    1. Hardware Security Module, est un composant matériel permettant la génération, stockage et protection des clefs cryptographique. Il permet également une protection lors de calcul cryptographique.

    2. https://www.ssi.gouv.fr/entreprise/qualifications/

    3. https://www.ssi.gouv.fr/uploads/2015/09/RGS\_B\_1.pdf

    4. Compression Ratio Info-leak Made Easy, est une attaque se basant sur une vulnérabilité qui apparaît pendant l'utilisation de l'algorithme de compression DEFLATE.

    Edouard Petitjean M2 MIAGE SIID 51

    La mise en oeuvre technique - L'interception entrante

    9.1.4 Sécurité des connexions entre le proxy TLS et les serveurs

    -- Si possible, limiter l'utilisation du TLS aux versions 1.2 et 1.1, en proposant un ordre décroissant des versions.

    -- Si le point précédent bloque l'utilisation de certains sites distants, il faut utiliser une liste d'exception qui permettra un accès avec les versions TLS 1.0 ou SSL 3.0. Cela permet d'éviter d'autoriser ces versions à tout site alors que ces versions sont vulnérables.

    -- Le comportement du proxy TLS en cas de présentation d'un certificat invalide par un serveur doit être personnalisable. A défaut, le proxy TLS devrait interdire toutes connexions utilisant des certificats invalides.

    -- Il faut définir les suites cryptographiques utilisables ou non. A l'instar de la version du TLS, une liste d'exception devra pouvoir être définie pour autoriser des suites moins robustes.

    -- La mise à jour régulière des suites cryptographiques est également importante pour faire face à l'évolution de la sécurité des sites distants.

    -- Si la renégociation des sessions TLS est activée, elle doit être sécurisée5 afin d'éviter des attaques MITM

    -- La désactivation de la compression permet d'éviter les attaques CRIME et ses variantes.

    -- Vérifier lors de l'installation la liste des AC publiques connues par le proxy TLS. Il faut également pouvoir la mettre à jour quotidiennement.

    9.1.5 Protection de la vie privée

    -- Éviter de procéder au déchiffrement des sites personnels à moins que les conditions de sécurité ne l'exigent. Les sites relatifs à la gestion bancaire, médicale et à l'administration publique sont des sites qui ne devraient pas être interceptés au vu de la sensibilité des informations personnelles. Les messageries et les réseaux sociaux sont des sujets plus délicats. Leurs interceptions peuvent retourner de l'atteinte aux secrets des correspondances, mais ces sites restent les principales sources d'infections (téléchargement de fichier, mails malveillants) et de fuites de données (phishing), donc leurs interceptions peuvent se justifier dans une certaine mesure et dans un encadrement spécifique.

    -- Si possible, éviter de déchiffrer les données qui sont explicitement identifiées comme personnelles, sans la présence de l'utilisateur, qui serait une atteinte à la vie privée.

    -- La journalisation des flux déchiffrés doit rester cohérente avec la journalisation des flux non chiffrés. Seules les données nécessaires afin de garantir le bon fonctionnement du système et à l'identification des utilisateurs sont permises. La conservation des contenus des messages n'est pas autorisée.

    -- Dans le cas d'une utilisation tierce d'analyse de flux (exemple : ICAP) qui recevrait le flux déchiffré, l'interconnexion entre ces deux éléments devra être sécurisée. Soit isolé physiquement en dédiant un lien direct entre le proxy TLS et la solution tierce, soit en prévoyant un chiffrement entre les deux équipements.

    9.2 L'interception entrante

    9.2.1 Sécurisation entre les clients externes et le reverse proxy TLS

    -- Limiter l'utilisation du TLS aux versions 1.2 et 1.1, en proposant un ordre décroissant des versions.

    -- Limiter l'utilisation des suites cryptographiques aux plus robustes. Les navigateurs évoluant plus vite, il ne seront pas bloqués par cette limitation cryptographique.

    -- Si une renégociation des sessions TLS est nécessaire, le reverse proxy TLS ne doit accepter que celles qui sont sécurisées.

    -- La désactivation de la compression permet d'éviter les attaques CRIME et ses variantes.

    5. RFC 5746

    Edouard Petitjean M2 MIAGE SIID 52

    La mise en oeuvre technique - L'interception entrante

    9.2.2 Protection des clefs privées

    -- Un processus de gestion des certificats est nécessaire. Contrairement à l'interception sortante qui utilise un certificat d'autorité valable plusieurs années, les certificats serveur sont généralement valables un an. De plus, il faudra penser à la synchronisation du renouvellement des certificats sur les serveurs et le reverse proxy TLS.

    -- L'utilisation d'un HSM est fortement conseillée pour le stockage des clefs et leur utilisation.

    -- Revoir les droits systèmes liés aux fichiers contenant les clefs privées. Seul le service qui utilisera les clefs privées devrait avoir les droits de lecture sur ces clefs. Tous les autres accès provenant d'un autre service devront être prohibés.

    Edouard Petitjean M2 MIAGE SIID 53

    Chapitre 10

    Informations et obligations légales

    10.1 Vis à vis des utilisateurs

    -- L'employeur a un devoir de transparence et loyauté envers ses salariés. Pour cela, le comité d'entreprise doit être « informé et consulté, préalablement à la décision de mise en oeuvre dans l'entreprise, sur les moyens ou les techniques permettant un contrôle de l'activité des salariés » 1.

    -- Le contexte précis (finalités, moyens, populations ciblées, etc...) de l'interception TLS doit être inscrit dans une charte informatique. Celle-ci doit être imposable aux salariés.

    -- Il est important que l'interception TLS soit nécessaire et proportionnelle au but recherché comme la sécurité du réseau2.

    -- Pour les déclarations auprès de la CNIL, l'interception TLS n'est pas une finalité mais un moyen. Par conséquent, il n'y a pas de déclaration spécifique à faire. Néanmoins, toutes les déclarations précédentes où l'interception TLS va agir (journalisation, dispositif de sécurité, etc...) devront être refaites pour être mises à jour.

    -- Prévoir la gestion des accès aux outils de chiffrement (qui? comment? quand?) et les contrôles qui en découlent ainsi qu'une journalisation de ces accès et contrôles.

    10.2 Rappel sur l'obligation des administrateurs

    -- Dans leurs missions, les administrateurs sont susceptibles d'accéder à des informations confidentielles et/ou personnelles. Par conséquent, ils sont soumis à une obligation de confidentialité sur les informations dont ils auraient pu prendre connaissance dans le cadre de leurs fonctions. Il est par conséquent interdit de dévoiler toute information, ni même de les fournir sur demande de la hiérarchie.

    -- Néanmoins, l'accès à ces informations est uniquement valable dans les cas suivants:

    · Nécessité de maintenir le bon fonctionnement du réseau

    · Assurer la sécurité du réseau

    · Il n'a pas été possible d'assurer les deux points précédents sans avoir eu recours à un moyen moins intrusif

    · Si dans les données portées à la connaissance de l'administrateur, certaines sont explicitement identifiées comme personnelles, alors l'auteur de ces données doit être appelé et présent pendant le traitement de ses données3.

    -- Pour les fonctionnaires et agents publics contractuels, si dans le cadre de ses fonctions, un administrateur détecte un comportement délictueux d'un utilisateur, il est dans l'obligation de dénoncer ce comportement 4.

    1. Article L2323-32 du Code du travail

    2. Article L1121-1 du Code du travail

    3. Cass, Soc., 17 juin 2009, n° pourvoi 08-40274 et Cass, Soc., 17 mai 2005, n° pourvoi 03-40017

    4. Article 40-2 du Code de la procédure pénale

    Edouard Petitjean M2 MIAGE SIID 54

    Chapitre 11

    Conclusion

    Pour conclure, l'interception TLS va devenir une pratique de plus en plus courante au fil du temps. Le chiffrement devient une pratique courante pour les sites web, même pour ceux qui ne proposent pas d'informations sensibles. Néanmoins, le chiffrement permet de rendre très complexe le suivi des contenus des échanges des utilisateurs. Pour cela, il est nécessaire pour tous les organismes de procéder au déchiffrement des flux sortants avec leurs connexions Internet. Il est primordial pour eux de pouvoir sécuriser leurs réseaux des diverses attaques, ainsi que de toute utilisation malveillante qui pourrait en être faite.

    Pour l'instant, il existe encore une incertitude juridique concernant la mise en place de l'interception TLS car elle n'est pas encadrée par la loi. Même si la technique n'est pas récente, son utilisation l'est. Et le fait qu'il n'existe encore aucune jurisprudence concernant la technique montre qu'elle est très jeune dans le monde juridique. Il est plus que probable qu'à l'avenir, il existera un réel statut concernant le déchiffrement encadré, comme c'est le cas pour le chiffrement. En attendant, il convient de prendre la meilleure décision possible pour sa structure et d'en assumer le risque.

    Edouard Petitjean M2 MIAGE SIID 55

    Liste des tableaux

    5.1 Comparaison traitement des requêtes 33

    5.2 Récapitulatif de l'aspect technique 38

    6.1 Récapitulatif de la législation française 45

    Edouard Petitjean M2 MIAGE SIID 56

    Liste des figures

    1.1

    Evolution d'utilisation des protocoles entre 2014 et 2016

    6

    2.1

    SSL sur le modèle TCP/IP

    9

    2.2

    Structure d'un certificat X.509

    13

    2.3

    Echange avec un serveur utilisant un certificat non signé

    14

    2.4

    Echange avec un serveur utilisant un certificat signé

    16

    2.5

    Définition de SecurityParameters dans la RFC5246

    18

    2.6

    Définition de TLSPlaintext dans la RFC5246

    18

    2.7

    Echange TLS Handshake Protocol

    20

    3.1

    Man In The Middle

    23

    3.2

    Différence entre connexion entrante et sortante

    24

    3.3

    Interception TLS sortante

    25

    3.4

    Interception TLS Entrante

    26

    5.1

    Comparaison traitement des requêtes

    34

    Références

    Présentation du TLS

    https://fr.wikipedia.org/wiki/Transport\_Layer\_Security https://fr.wikipedia.org/wiki/Pretty_Good_Privacy https://tools.ietf.org/html/rfc5246

    http://www.authsecu.com/ssl-tls/ssl-tls.php https://www.trustworthyinternet.org/ssl-pulse/ https://www.w3counter.com/globalstats.php?year=2015&month=3 http://gs.statcounter.com/browser-market-share/all/worldwide/2015 http://www.cert.ssi.gouv.fr/site/CERTA-2005-REC-001/

    https://developer.mozilla.org/fr/docs/Introduction\_\%C3\%A0\_la\_cryptographie\ _\%C3\%A0\_clef\_publique/Certificats\_et\_authentification

    https://fr.wikipedia.org/wiki/X.509

    https://tools.ietf.org/html/rfc5280

    http://cryptosec.lautre.net/?Certificats-X509-v3

    https://www.certeurope.fr/les-dossiers-certeurope/autorite-de-certification http://nicolasbroisin.fr/blog/etude-infrastructure-pki/

    Interception TLS

    http://www.silicon.fr/5-questions-comprendre-dechiffrement-ssl-100250.html https://www.ssi.gouv.fr/uploads/IMG/pdf/NP\_TLS\_NoteTech.pdf

    Législation

    https://www.legifrance.gouv.fr/

    https://www.cnil.fr/fr/analyse-de-flux-https-bonnes-pratiques-et-questions

    https://www.cnil.fr/sites/default/files/typo/document/Guide\_employeurs\_salaries. pdf.pdf

    https://www.ssi.gouv.fr/uploads/IMG/pdf/NP\_TLS\_NoteTech.pdf http://www.lexagone.fr/Jurisprudence-CNIL

    https://www.legalis.net/

    https://www.jurisexpert.net/quelle\_responsabilit\_en\_mati\_re\_de\_s\_cur/

    https://www.olfeo.com/proteger-votre-entreprise/maitriser-les-enjeux/maitriser-les-enjeux-juridiques

    Enjeux

    https://www.cnil.fr/fr/analyse-de-flux-https-bonnes-pratiques-et-questions https://www.ssi.gouv.fr/uploads/IMG/pdf/NP\_TLS\_NoteTech.pdf Histoire du chiffrement

    https://fr.wikipedia.org/wiki/Histoire\_de\_la\_cryptologie

    https://www.ssi.gouv.fr/administration/reglementation/controle-reglementaire-sur-la-cryptographie/

    Edouard Petitjean M2 MIAGE SIID 57

    Edouard Petitjean M2 MIAGE SIID 58

    LISTE DES FIGURES - LISTE DES FIGURES

    http://www2.droit.parisdescartes.fr/warusfel/articles/reglcrypto\_warusfel.pdf http://strategique.free.fr/analyses/cryptographie.pdf Protection des clients contre l'interception TLS

    https://www.certificate-transparency.org

    https://jhalderm.com/pub/papers/interception-ndss17.pdf https://tools.ietf.org/html/rfc7469

    https://checkmyhttps.net/info.php

    https://jlospinoso.github.io/node/javascript/security/cryptography/privacy/2017/ 02/20/snuckme-cert-query.html

    Autres

    https://www.theguardian.com/us-news/prism https://cnnumerique.fr/cp-chiffrement/

    https://fr.scribd.com/document/319975624/Note-de-l-Anssi-sur-le-chiffrement\#download\ &from\_embed

    http://internetactu.blog.lemonde.fr/2014/06/07/la-surveillance-nameliore-pas-la-productivite/

    https://www.ssi.gouv.fr/entreprise/qualifications/ https://www.ssi.gouv.fr/uploads/2015/09/RGS\_B\_1.pdf

    Edouard Petitjean M2 MIAGE SIID 59

    Lexique

    A

    AC : Autorité de Certification, une entité de la PKI ayant pour rôle la gestion (création, signature, publication, révocation) des certificats.

    AE : Autorité d'Enregistrement, une entité de la PKI ayant pour rôle la vérification des identités des entités finales utilisant les certificats.

    AES : Advanced Encryption Standard, protocole de chiffrement symétrique créé en 1999.

    ALPN : Application Layer Protocol Negotiation, extension TLS permettant d'annoncer le protocole transporté par TLS.

    Analyse basée sur la signature : se repose sur une base locale, mise à jour régulièrement, contenant des signatures de malwares.

    Analyse heuristique : se base sur le comportement d'un programme, en évaluant son code ou en l'exécutant dans un espace protégé, pour définir s'il est nuisible ou non.

    ANSSI : Agence Nationale de la Sécurité des Systèmes d'Information : assure la mission d'autorité nationale en matière de sécurité des systèmes d'information.

    Autorité de dépôt : une entité de la PKI ayant pour rôle le stockage des certificats ainsi que des listes de révocations.

    Autorité de séquestre : une entité de la PKI ayant le stockage sécurisé des clefs privées liées aux certificats. Cette entité est surtout utilisée en entreprise pour garder une copie des clefs de chiffrement en cas de perte par un utilisateur et pouvoir déchiffrer les données de l'utilisateur. Cette entité n'est pas définie par l'IETF mais son utilisation ou non n'impacte pas le fonctionnement de la PKI.

    B

    BEAST : Browser Exploit Against SSL/TLS, attaque via injection de cookie pour détourner une session SSL/TLS.

    C

    Certificat X.509 : certificat qui base sa validité sur une autorité centralisée hiérarchisée. Cela permet aux clients de vérifier rapidement la validité des certificats en se basant sur des acteurs de confiance reconnus. De plus, cette centralisation permet aux autorités de publier les révocations de certificats expirés et/ou douteux rapidement.

    Client-Serveur : modèle basé sur un tiers mettant à disposition des ressources, et une multitude de tiers venant accéder ces ressources.

    CN : Common Name, nom commun d'un objet dans un ensemble de données hiérarchisé. Permet d'appeler rapidement un objet quand le CN est unique.

    CNNum : Conseil National du Numérique: organisme consultatif ayant pour mission de formuler de manière indépendante et de rendre publics des avis et des recommandations sur toute question relative à l'impact du numérique sur la société et l'économie.

    CRIME : Compression Ratio Info-leak Made Easy: est une attaque se basant sur une vulnérabilité qui apparaît pendant l'utilisation de l'algorithme de compression DEFLATE.

    cryptanalyse : science de déchiffrer un message sans en posséder la clef.

    Edouard Petitjean M2 MIAGE SIID 60

    Lexique - Lexique

    Cryptographie : Pratique ayant pour but de rendre un message incompréhensible à toutes personnes ne possédant les connaissances suffisantes à sa lecture.

    CSR : Certificate Signing Request, requête envoyée à une AC pour signer un certificat. L'AC renvoie un nouveau certificat avec sa signature.

    D

    Diffie-Hellman : méthode permettant à deux tiers de générer une paire de clefs asymétriques sans avoir à les échanger.

    DN : Distinguished Name, l'identifiant unique d'un objet situé dans un ensemble de données hiérarchisé (ex : LDAP). Le DN d'un objet est aussi appelé le chemin de l'objet.

    E

    EE : End Entity, une entité de la PKI qui représente l'entité utilisatrice d'un certificat qui lui est lié. G

    GPO : Group Policy Object : est un ensemble de paramétrages de postes Windows, récupéré depuis un serveur, qui sont appliqués à divers moments selon des critères précis.

    H

    Hash : Algorithme de chiffrement irréversible permettant de définir une empreinte numérique à une donnée.

    HSM : est un composant matériel permettant la génération, stockage et protection des clefs cryptographique. Il permet également une protection lors de calcul cryptographique.

    HSTS : HTTP Strict Transport Security: mécanisme HTTP permettant de signaler à un client qu'il doit communiquer de façon sécurisée (HTTPS) et non en clair.

    I

    IDS/IPS : Intrusion Detection/Prevention System : Système d'analyse de données permettant de détecter ou prévenir des attaques connues.

    IETF : Internet Engineering Task Force, regroupement informel de personnes travaillant à l'élabora-tion des standards Internet.

    K

    Kerberos : Protocole permettant l'authentification et la gestion des autorisations des utilisateurs. Sa particularité est de se baser sur des clefs symétriques et des jetons, permettant d'éviter l'envoi de mot de passe sur le réseau.

    M

    Malware : terme généraliste pour désigner les divers programmes nuisibles (virus, spywares, chevaux de Troie, vers, backdoors, rootkits, keyloggers, publiciels, etc...

    P

    Peer-to-peer : est un modèle de réseaux informatiques basé sur le client-serveur mais dans lequel tous les clients sont serveurs et inversement.

    Phishing : technique permettant de récupérer des informations confidentielles en se faisait passer pour un tiers de confiance (banque, assurance, compagnie d'énergie ou télécoms, etc...

    PKI : Public Key Infrastructure, système composé de plusieurs éléments qui a pour but de gérer le cycle de vie des certificats et la relation de confiance entre les clients et les certificats.

    POODLE : Padding Oracle On Downgraded Legacy Encryption, attaque utilisant le « downgrade dance » et exploite le manque de vérification du « SSL 3.0 ».

    Proxy : est un équipement mandataire permettant de faire le lien entre deux réseaux pour des protocoles spécifiques pour des raisons de performance et/ou sécurité. Dans le cas d'une connexion d'un client interne allant vers une ressource externe, nous parlerons de proxy. Dans le cas d'un client externe arrivant sur une ressource interne, nous parlerons de reverse proxy (proxy inversé).

    Edouard Petitjean M2 MIAGE SIID 61

    Lexique - Lexique

    PSF : Perfect Forward Secrecy : est une propriété en cryptographie qui garantit que la découverte par un adversaire de la clé privée d'un correspondant (secret à long terme) ne compromet pas la confidentialité des communications passées.

    R

    RFC : Request for comments, document officiel décrivant des aspects techniques. Une RFC n'est pas forcément un standard.

    S

    Sandbox : est un environnement d'exécution de programme isolé pour inspecter leur comportement.

    SNI : Server Name Indication, extension TLS permettant d'annoncer le CommonName du certificat à demander. Utile lorsqu'un même serveur Web héberge plusieurs sites utilisant des certificats différents.

    SSL : Secure Socket Layer, protocole permettant de créer un canal d'échange sécurisé entre un client et un serveur.

    STAD : Système de Traitement Automatisé de données : un terme juridique extrêmement large désignant un ensemble composé d'une ou plusieurs unités de traitement, de mémoire, de logiciel, de données, d'organes d'entrées-sorties et de liaisons, qui concourent à un résultat déterminé, cet ensemble étant protégé par des dispositifs de sécurité.

    T

    TLS : Transport Layer Security, protocole permettant de créer un canal d'échange sécurisé entre un client et un serveur. Successeur du SSL.






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








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand