Vous êtes sur la page 1sur 46

Signatures Numériques

Coordonateur : Dr TALE

1
Membres du groupe

▶ KAMDEM POUOKAM IVANN HAROLD N° 21P254


▶ KENFACK NOUMEDEM FRANCK ULRICH N° 21P335
▶ WADOH TCHINDA PAVEL DIOR N° 21P273
▶ KENGNE TUEGUEM FRESNEL GRÂCE N° 21P127
▶ BIHAY RAPHAEL N° 20P286

2
Plan
1 Situation Problème
2 Evolution des modes de signatures
Le Sceau
La Signature Manuscrite
La Signature Electronique
La Signature Numérisée
La Signature par Code QR
La Signature Biométrique
La Signature Numérique
3 Principe des Signatures Numériques
4 Principaux Algorithmes utilsés dans les Signatures Numériques
Cas du Hachage
Cas du Chiffrement
5 Implémentation en Python
6 Applications Concrètes des Signatures Numériques
7 Conclusion (&) Bibliographie
3
Situation Problème

Bob, Oscar et Alice sont trois élèves. Bob, attiré par Alice, décide
de saisir une lettre d’amour et de lui envoyer, via son ami Oscar.
Cependant, Oscar, qui est aussi attiré par Alice, modifie la lettre de
Bob pour la faire paraître négative. Alice, en recevant la lettre, est
bouleversée par son contenu.
Face à cette situation, on arrive à se poser les questions suivantes :
▶ Quel principe de sécurité autre que la confidentialité a été violé
lors de la transmission ?
▶ Quel outil de sécurité Bob a-t-il utilisé et quelle en a été la
limite ?
▶ Quel outil de sécurité Bob aurait-il pu utiliser pour permettre à
Alice de vérifier la fiabilité du message reçu ?

4
Situation Problème

Bob, Oscar et Alice sont trois élèves. Bob, attiré par Alice, décide
de saisir une lettre d’amour et de lui envoyer, via son ami Oscar.
Cependant, Oscar, qui est aussi attiré par Alice, modifie la lettre de
Bob pour la faire paraître négative. Alice, en recevant la lettre, est
bouleversée par son contenu.
Face à cette situation, on arrive à se poser les questions suivantes :
▶ Quel principe de sécurité autre que la confidentialité a été violé
lors de la transmission ? L’Intégrité
▶ Quel outil de sécurité Bob a-t-il utilisé et quelle en a été la
limite ?
▶ Quel outil de sécurité Bob aurait-il pu utiliser pour permettre à
Alice de vérifier la fiabilité du message reçu ?

4
Situation Problème

Bob, Oscar et Alice sont trois élèves. Bob, attiré par Alice, décide
de saisir une lettre d’amour et de lui envoyer, via son ami Oscar.
Cependant, Oscar, qui est aussi attiré par Alice, modifie la lettre de
Bob pour la faire paraître négative. Alice, en recevant la lettre, est
bouleversée par son contenu.
Face à cette situation, on arrive à se poser les questions suivantes :
▶ Quel principe de sécurité autre que la confidentialité a été violé
lors de la transmission ? L’Intégrité
▶ Quel outil de sécurité Bob a-t-il utilisé et quelle en a été la
limite ? La Signature Manuscrite
▶ Quel outil de sécurité Bob aurait-il pu utiliser pour permettre à
Alice de vérifier la fiabilité du message reçu ?

4
Nouvelle Situation Problématique

Considérons une autre stratégie d’Oscar. Au lieu de modifier la


lettre, il la publie sur les réseaux sociaux pour embarrasser Bob.
Bob, repris par sa timidité, nie avoir écrit la lettre, alléguant
qu’Oscar a simplement copié sa signature.
Cette situation soulève de nouvelles questions :
▶ Quel principe de la sécurité de l’information a été violé dans
cette situation ?
▶ Quelle mesure de sécurité aurait dû être mise en place pour
que Bob ne puisse pas nier être l’auteur de la lettre une fois
celle-ci envoyée ?

5
Nouvelle Situation Problématique

Considérons une autre stratégie d’Oscar. Au lieu de modifier la


lettre, il la publie sur les réseaux sociaux pour embarrasser Bob.
Bob, repris par sa timidité, nie avoir écrit la lettre, alléguant
qu’Oscar a simplement copié sa signature.
Cette situation soulève de nouvelles questions :
▶ Quel principe de la sécurité de l’information a été violé dans
cette situation ? La Non Répudiation
▶ Quelle mesure de sécurité aurait dû être mise en place pour
que Bob ne puisse pas nier être l’auteur de la lettre une fois
celle-ci envoyée ?

5
Une Autre Eventualité

Poursuivons l’analyse avec un scénario dans lequel Bob n’a jamais


écrit de lettre à Alice, mais que c’est Oscar qui a décidé de le faire
à sa place. Oscar a imité la signature de Bob et a saisi une lettre
injurieuse à l’égard d’Alice, en espérant qu’elle déteste Bob pour
toujours. Il a ensuite glissé la lettre dans le casier d’Alice, en faisant
croire qu’elle venait de Bob. Alice, qui attendait impatiemment un
signe de Bob, a ouvert la lettre avec enthousiasme, mais a vite
déchanté en lisant son contenu.
En analysant cette fois-ci cette nouvelle situation, on arrive à se
poser les questions suivantes:
▶ Quel principe de la sécurité de l’information a été violé dans
cette transmission?
▶ Quel outil de sécurité aurait pu permettre à Bob de prouver
qu’il n’est pas l’auteur de la lettre?

6
Une Autre Eventualité

Poursuivons l’analyse avec un scénario dans lequel Bob n’a jamais


écrit de lettre à Alice, mais que c’est Oscar qui a décidé de le faire
à sa place. Oscar a imité la signature de Bob et a saisi une lettre
injurieuse à l’égard d’Alice, en espérant qu’elle déteste Bob pour
toujours. Il a ensuite glissé la lettre dans le casier d’Alice, en faisant
croire qu’elle venait de Bob. Alice, qui attendait impatiemment un
signe de Bob, a ouvert la lettre avec enthousiasme, mais a vite
déchanté en lisant son contenu.
En analysant cette fois-ci cette nouvelle situation, on arrive à se
poser les questions suivantes:
▶ Quel principe de la sécurité de l’information a été violé dans
cette transmission? L’Authenticité
▶ Quel outil de sécurité aurait pu permettre à Bob de prouver
qu’il n’est pas l’auteur de la lettre?

6
C’est dans l’optique de solutionner les différentes problématiques
soulevées dans ce cadre et dans des cadres plus formels
(transmission de contrats, de fichiers importants) et plus
précisement dans l’optique d’assurer les trois piliers de la sécurité
de l’information que sont : Authenticité, l’Intégrité, et la Non
Répudiation, qu’a été mise sur pied la notion de signature
numérique, laquelle notion retiendra notre attention dans la suite
de cette présentation.

7
I- Evolution des modes de signatures

On ne peut parler de signatures numériques sans au préalable se


demander ce qu’est une signature, et même comment on signait
dans le passé.
La signature est une marque personnelle qui permet d’identifier son
auteur et de valider le contenu d’un document. Elle a connu une
longue évolution historique, passant du sceau à la signature
manuscrite, puis à la signature électronique, et enfin à la signature
numérique, qui n’est rien d’autre qu’une version aboutie de la
signature électronique.
8
1- Le Sceau

Le sceau est la forme la plus ancienne de signature, qui remonte à


l’Antiquité. Il consiste à apposer sur un document une empreinte en
relief, réalisée avec un objet en métal, en pierre ou en cire, qui porte
un motif distinctif. Il est d’ailleurs toujours utilisé de nos jours.

9
2- La Signature Manuscrite

La signature manuscrite est la forme la plus courante de signature


dans les cultures alphabétiques. Elle apparaît au Moyen Age,
comme une alternative au sceau, qui était le mode de validation
privilégié des élites. La signature manuscrite se répand
progressivement dans les actes juridiques, les contrats, les lettres et
les œuvres d’art. Elle consiste à écrire son nom, ou une variante,
avec un style propre à chaque individu.
10
3- La Signature Electronique

La signature électronique est une forme numérique de signature qui


utilise des technologies informatiques pour authentifier l’auteur et
garantir l’intégrité d’un document. Elle apparaît à la fin du XXe
siècle, avec le développement de l’internet et du commerce
électronique. Il existe plusieurs types de signatures électroniques,
selon le niveau de sécurité et de fiabilité requis. Parmi eux, on peut
citer :

11
a- La Signature Numérisée

Elle consiste à scanner ou à photographier une signature manuscrite


et à l’insérer dans un document numérique. Elle est simple à
réaliser, mais elle n’offre pas de garantie sur l’identité de l’auteur ni
sur la non-altération du document.

12
b- La Signature par Code QR

Elle consiste à générer un code-barre bidimensionnel qui contient


des informations sur le document et sur l’auteur. Elle est facile à
lire avec un smartphone ou une tablette, mais elle nécessite un tiers
de confiance pour vérifier sa validité.

13
c- La Signature Biométrique

Elle consiste à utiliser une caractéristique physique ou


comportementale unique de l’auteur, comme son empreinte digitale,
son iris, sa voix ou sa dynamique d’écriture, pour signer un
document numérique. Elle est très fiable et difficile à falsifier, mais
elle nécessite des dispositifs spécifiques pour la capturer et la
vérifier.

14
d- La Signature Numérique

La signature numérique est une variante de signature électronique,


offrant plus de sécurité via la cryptographie asymétrique. Son
origine remonte aux années 70 avec Diffie et Hellman, qui ont
postulé l’existence de tels systèmes basés sur des permutations
unidirectionnelles trappes. L’algorithme RSA, capable de générer
des signatures numériques, a été inventé peu après par Rivest,
Shamir et Adleman. Le premier produit commercial offrant une
signature numérique était Lotus Notes 1.0 en 1989, utilisant RSA.
D’autres systèmes ont suivi, jusqu’à la définition formelle des
exigences de sécurité pour ces systèmes par Goldwasser, Micali et
Rivest en 1988.
15
II- Principe des Signatures Numériques

Mise en place d’une architecture de signature :


▶ Alice choisit une fonction de hachage que nous noterons H ;
▶ pour le chiffrement choisi, Alice a généré une clé privée Kpr et
une clé publique Kpb ;
▶ elle obtient un certificat numérique auprès d’une autorité de
certification (AC), qui contient son identité, et une signature
numérique de l’AC qui atteste de la validité du certificat ;

16
II- Principe des signatures numériques

Préparation du message signé :


▶ Alice produit une empreinte du message par la fonction de
hachage choisie H(M) ;
▶ elle chiffre cette empreinte grâce à la fonction de chiffrement
RSA C en utilisant sa clé privée Kpr (notons que cette
utilisation est volontairement impropre car normalement on
chiffre avec la clé publique). Le résultat obtenu est la
signature du message : SM = C(Kpr,H(M)) ;
▶ elle prépare le message signé en plaçant le message en clair M,
la signature SM et le certificat numérique dans un conteneur
quelconque : Msigné=(SM,M,certificat).
Elle y ajoute aussi la clé publique Kpb, la fonction de hachage H ;
elle garde la clé privée Kpr secrète. Alice transmet Msigné, à Bob
par un canal éventuellment non sécurisé.

17
II- Principe des signatures numériques

Réception du message signé par Bob :


▶ Il extrait le certificat numérique du conteneur Msigné et vérifie
sa validité avec la clé publique de l’AC qui l’a délivré ;
▶ Il extrait la fonction de hachage et produit une empreinte du
texte clair en utilisant la fonction de hachage d’Alice : H(M) ;
▶ Il déchiffre la signature en utilisant la fonction de
déchiffrement RSA D avec la clé publique Kpb, extraite du
packet reçu (là encore l’utilisation est volontairement
impropre) soit : DSm=D(Kpb,SM) ;
▶ Il compare DSm avec H(M).
Dans le cas où la signature est authentique, DSm et H(M) sont
égaux car, de par les propriétés du chiffrement asymétrique :
DSm=D(Kpb,SM)=D(Kpb,C(Kpr,H(M)))=H(M). Le message est
alors authentifié.

18
II- Principe des signatures numériques

Figure: Principe des Signatures Numériques


19
II- Principe des signatures numériques

Protection contre les attaques :

Supposons qu’Oscar, un adversaire, tente d’usurper l’identité


d’Alice pour envoyer un message malveillant M’ à Bob.
Oscar connaît D, H et Kpb, qui ne sont pas secrets. Pour tromper
Bob, Oscar doit générer une signature falsifiée SM’ telle que :
D(Kpb,SM’)=H(M’).
La difficulté pour Oscar réside dans l’inversion de la fonction de
déchiffrement D pour la clé publique Kpb, sans connaître la clé
privée Kpr. Les chiffrements asymétriques sont conçus pour rendre
cette tâche ardue.
Ce protocole assure ainsi l’Authenticité, l’Intégrité et la
Non-Répudiation du message. Alice ne peut nier avoir envoyé le
message signé, car elle doit envoyer son certificat numérique à Bob,
qui ne peut être falsifié sans la clé privée de l’AC.

20
Autour de l’AC (Autorité de Certification)

Un certificat numérique est un document électronique qui contient


des informations sur l’identité d’une personne ou d’une entité, ainsi
qu’une clé publique qui lui est associée. Le certificat numérique
contient aussi une signature numérique de l’autorité de certification
qui l’a délivré, qui garantit son authenticité et sa validité. Comme
Autorité de certification publique, on a Let’s Encrypt1, DigiCert2
ou GlobalSign3 qui délivrent des certificats pour les sites web
sécurisés (HTTPS). Il existe aussi des AC privées qui délivrent des
certificats pour des usages internes à une organisation, comme
Entrust4 et Sec.

21
Exemples d’AC et de Certificat Numérique

Figure: Let’s Encrypt

Figure: Exemple de Certificat


Numérique

22
III - Principaux Algorithmes utilsés dans les Signatures
Numériques

Comme on l’a vu plus haut, pour réaliser des signatures


numériques, on a fondamentalement besoin d’un algorithme de
hachage (pour réduire la taille du texte à chiffrer) et de chiffrement
assymétrique pour le chiffrement du texte haché.

Figure: Chiffrement
Figure: Hachage
23
1- Cas du Hachage

A la base, Une fonction de hachage est un outil mathématique qui


convertit un message M de taille variable en un message Y de taille
fixe, appelé hash de M. Ses principales caractéristiques sont :
▶ Le déterminisme : Un même message d’entrée donne toujours
le même hachage.
▶ L’efficacité : La fonction génère rapidement un hash.
▶ L’uniformité : Les hachages sont distribués équitablement dans
tout l’espace de hachage.
▶ La résistance à la pré-image : Il est presque impossible de
retrouver le message d’entrée à partir du hash.
▶ La résistance aux collisions : Il est quasi impossible de trouver
deux messages différents ayant le même hash.
▶ La sensibilité aux modifications : De légères modifications du
message d’entrée génèrent un hash radicalement différent.

24
1- Cas du Hachage

En outre, les fonctions de hachage fonctionnent toutes suivant le


principe de Merkle-Damgard illustré ci-dessous:

Figure: Principe de Merkle-Damgard Figure: Schéma d’un Algorithme de


Compression

25
1- Cas du Hachage
Ce diagramme qui suit, présente les différentes fonctions de
hachage et leurs évolutions:

Figure: Fonctions de Hachage


26
MD5

Nous allons nous atarder sur le cas de MD5 (Message-Digest


Algorithm), qui est une fonction de hachage largement utilisée
produisant une valeur de hachage de 128 bits. MD5 a été conçu
par Ronald Rivest en 1991 et la particularité d’avoir un principe
plus simple et d’être à la base des principes plus évolués comme
SHA-256 et SHA-512.
Son schéma de fonctionnement est illustré ci-dessous :

27
Principe du MD5

Figure: Principe d’un Tour


Figure: Principe du MD5

28
2- Cas du Chiffrement

Ici, le chiffrement peut être réalisé avec tout algorithme de


chiffrement asymétrique comme RSA, DSA et ECDSA. Mais dans
notre cadre nous travaillerons avec RSA.

29
RSA

RSA (Rivest-Shamir-Adleman) est un système de chiffrement


asymétrique qui utilise deux clés :
▶ une clé publique (n, e)
▶ une clé privée (d)
Les clés sont générées à partir de deux nombres premiers grands et
aléatoires p et q, tels que n = p × q, et e est choisi de sorte qu’il
soit premier avec φ(n) = (p − 1)(q − 1).
La clé privée d est alors calculée comme l’inverse modulaire de e
modulo φ(n).

30
Principe RSA
- Pour envoyer un message M à Alice, Bob doit connaître sa clé
publique (n, e) qu’elle lui transmet par un canal fiable.
Bob transforme M en un entier m, tel que 0 ≤ m < n, et calcule le
texte chiffré c donné par c ≡ me (mod n). Il envoie c à Alice.
- Pour déchiffrer le message, Alice utilise sa clé privée d et calcule
m comme m ≡ c d (mod n). Elle retrouve M à partir de m.
- Il est à noter que le passage du message à sa représentation
entière et inversement, se fait suivant un processus d’encodage.
- Dans notre cas, nous avons juste converti chaque lettre en sa
représentation utf-8 pour obtenir l’entier en question, en
juxtaposant sur 3 chiffres les entiers obtenus.
Remarque : Dans la mésure où l’entier obtenu dépasse n, nous
subdivisons en plusieurs blocs entiers plus petits que n et chiffrons
chacun des blocks.
- Le chiffré, est alors la conversion de l’entier en base n dont les
chiffres sont les blocs, de la base n à la base décimale.
- Le déchiffrement suit juste le processu inverse.
31
Génération des clés

▶ La génération des nombres premiers p et q se fait au moyen de


l’algorithme de Miller Rabin qui pour un nombre donné de bits
génère un nombre premier ayant au moins ce nombre de bits.
▶ La génération de la clé privée d à partir de e et de
φ = (p − 1)(q − 1) se fait au moyen de l’algorithme d’Euclide
étendu, qui vise à déterminer les coefficients de Bezout dans
une relation de Bezout, par divisions euclidiennes successives.

32
Principe de Miller Rabin

Le principe de Miller Rabin s’appuie sur le fait que dans un corps,


ce qui est le cas de Z/pZ si p est premier, l’équation X 2 = 1 n’a
pour solutions que 1 et −1 ≡ p − 1 (mod p).
On déduit alors du petit théorème de Fermat que :
Proposition
Soit p > 2 un nombre premier, soient s et d les deux entiers
naturels, s non nul et d impair, vérifiant p − 1 = 2s ∗ d (où s est le
nombre maximum de fois que l’on peut mettre 2 en facteur dans
p − 1). Alors, pour tout entier a qui n’est pas divisible par p :
r
ad ≡ 1 (mod p) ou ∃r ∈ 0, 1, ..., s − 1/a2 ∗d ≡ −1 (mod p).

33
Démonstration du Principe de Miller Rabin et Corollaire

En effet, d’après le petit théorème de Fermat,


s
ap−1 = (ad )2 ≡ 1 (mod p).
En prenant de façon répétée des racines carrées à partir de ap−1 , on
obtient soit toujours 1 modulo p, jusqu’à ad ≡ 1 (mod p), soit
r i
pour un certain 0 ≤ r < s, a2 d ≡ −1 (mod p) (avec a2 d ≡ 1
(mod p) pour r < i ≤ s), seule autre racine carrée possible de 1
modulo p.
Corollaire
Par contraposition, si :
r
ad ̸≡ 1 (mod n) et ∀r ∈ 0, 1, ..., s − 1 a2 ∗d ̸≡ −1 (mod n)
alors n est composé, et a est appelé un témoin de Miller pour le fait
que n est composé.

34
Autour du Théorème de Rabin

Le théorème de Rabin montre que la probabilité qu’un nombre


composé impair m de p bits (compris entre m = 2p−1 et m = 2p ),
soit déclaré probablement premier par l’algorithme de Miller-Rabin
pour k nombres a tirés aléatoirement est inférieure à 4−k .
Pour k = 100, on est quasiment sûr d’avoir des nombres premiers.
Avec l’exponentiation rapide, la vérification que n est premier pour
k témoins se fait avec un coût temporel de O(k × log2 n), ce qui
est peu coûteux et donc efficace.

35
Implémentation en Python

▶ Il existe déjà des bibliothèques Python pour la cryptographie


(cryptography, pycrypto, etc.)
▶ Il existe également des bibliothèques pour faire du hachge
(hashlib).

Nous présenterons nos propres implémentations indépendantes de


ces bibliothèques, en python

Pour des raisons de lisibilité de la présentation, le code source a été


mis dans un document annexe.

36
Protocole HTTPS

HTTPS est un protocole sécurisé de communication sur le net qui


fonctionne grâce au signatures numériques comme suit :
▶ Le client envoie un "ClientHello" avec ses capacités
cryptographiques au serveur.
▶ Le serveur répond avec un "ServerHello", sélectionne un
algorithme de chiffrement et envoie sa clé publique et son
certificat.
▶ Le client valide le certificat du serveur via une autorité de
certification.
▶ Le client génère une clé de session, la chiffre avec la clé
publique du serveur et l’envoie.
▶ Le serveur déchiffre la clé de session avec sa clé privée.
▶ Les deux parties utilisent cette clé de session pour chiffrer,
signer et déchiffrer et vérifier les données durant la session.

37
Illustration Protocole HTTPS

Figure: Communication Navigateur - Serveur

38
La Signature Électronique

La signature électronique, une application des signatures


numériques, permet de signer des documents numériques de cette
manière :
▶ Création et conversion du document en un format standardisé
par le signataire.
▶ Génération d’une signature numérique à l’aide de la clé privée
du signataire, ajoutée au document.
▶ Envoi du document signé au destinataire.
▶ Vérification de la signature numérique par le destinataire à
l’aide de la clé publique du signataire, garantissant
l’authenticité et l’intégrité du document.

39
Autres Applications des Signatures Numériques

Les signatures numériques sont essentielles pour garantir


l’authenticité et la sécurité dans divers domaines :
▶ Logiciels : Les développeurs signent leurs logiciels pour
garantir leur authenticité, évitant ainsi l’installation de logiciels
malveillants ou falsifiés.
▶ Contrôle d’accès : Les signatures numériques sécurisent les
cartes d’accès, garantissant que l’accès à des zones restreintes
est autorisé uniquement aux détenteurs de cartes authentiques.
▶ Transactions financières : Les transactions en ligne, comme
les virements bancaires et les paiements par carte de crédit,
utilisent des signatures numériques pour prévenir la fraude et
garantir l’authenticité de la transaction.

40
Conclusion

Les signatures numériques, passées des sceaux physiques à des


solutions numériques avancées, sont essentielles pour l’intégrité des
informations numériques. Elles utilisent des algorithmes de hachage
et de chiffrement pour créer une empreinte unique du message. Des
outils tels que SHA et RSA sont centraux dans ces processus. Elles
sont utilisées dans des applications comme HTTPS, la signature de
documents, la sécurisation des mises à jour logicielles et les
transactions financières en ligne. Des défis subsistent, comme la
sécurité face aux progrès de la cryptanalyse et la gestion des
certificats numériques. Cependant, des innovations, comme les
signatures basées sur l’identité, la blockchain pour certifier les clés
publiques et la cryptographie post-quantique, ouvrent de nouvelles
perspectives pour l’avenir de la signature numérique.

41
Bibliographie

▶ Sébastien VARRETTE - Fonctions de Hachage et Signatures


Electroniques
▶ Cryptographie à clé publique - Hervé Talé Kalachi
▶ https:
//fr.wikipedia.org/wiki/Signature_num%C3%A9rique
▶ https://en.wikipedia.org/wiki/Miller%E2%80%
93Rabin_primality_test
▶ https://en.wikipedia.org/wiki/RSA_(cryptosystem)
#Implementations
▶ https://www.bing.com/search?q=Bing+AI&showconv=1&
FORM=hpcodx
▶ https://claude.ai/chat/
75779d25-61b4-4202-944d-312034590dd4
▶ https://bard.google.com/chat

42

Vous aimerez peut-être aussi