sécurité des systèmes sécurité des systèmes informatiques informatiques INTRODUCTION INTRODUCTION •22/06/22 •Belkhir Abdelkader USTTHB Pr Belkhir Abdelkader [email protected]
Apr 04, 2015
sécurité des systèmes sécurité des systèmes informatiquesinformatiques
INTRODUCTIONINTRODUCTION
•11/04/23 •Belkhir Abdelkader USTTHB
Pr Belkhir [email protected]
SécuritéSécurité
nombreuses menaces:
Les menaces accidentellesLes menaces intentionnelles :
◦ Passives◦ Actives :
Interruption = problème lié à la disponibilité des données Interception = problème lié à la confidentialité des données Modification = problème lié à l’intégrité des données Fabrication = problème lié à l’authenticité des données
•11/04/23 •Belkhir Abdelkader USTTHB
Menaces activesMenaces actives
•11/04/23 •Belkhir Abdelkader USTTHB
Propriétés de sécuritéPropriétés de sécurité
•11/04/23 •Belkhir Abdelkader USTTHB
Vocabulaire de baseVocabulaire de base
•11/04/23 •Belkhir Abdelkader USTTHB
Vocabulaire de baseVocabulaire de base
•11/04/23 •Belkhir Abdelkader USTTHB
•Cryptologie : Il s’agit d’une science mathématique comportant deux branches : la cryptographie et la cryptanalyse
•Cryptographie : La cryptographie est l’étude des méthodes donnant la possibilité d’envoyer des données de manière confidentielle sur un support donné.
•Chiffrement : Le chiffrement consiste à transformer une donnée (texte, message, ...) afin de la rendre incompréhensible par une personne autre que celui qui a créé le message et celui qui en est le destinataire. La fonction permettant de retrouver le texte clair à partir du texte chiffré porte le nom 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.
•Cryptanalyse : Opposée à la cryptographie, elle a pour but de retrouver le texte clair à partir de textes chiffrés en déterminant les failles des algorithmes utilisés.
•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é.
CryptosystèmeCryptosystème
•11/04/23 •Belkhir Abdelkader USTTHB
NotationsNotations
•11/04/23 •Belkhir Abdelkader USTTHB
la propriété de base est que
M = D(E(M))
où
– M représente le texte clair,
– C est le texte chiffré,
– K est la clé (dans le cas d’un algorithme à clé symétrique), Ek et Dk dans le cas d’algorithmes asymétriques,
– E(x) est la fonction de chiffrement, et
– D(x) est la fonction de déchiffrement.
Ainsi, avec un algorithme à clef symétrique,
M = D(C) si C = E(M)
•11/04/23 •Belkhir Abdelkader USTTHB
Cryptosystème à clé Cryptosystème à clé symétriquesymétrique
•11/04/23 •Belkhir Abdelkader USTTHB
•11/04/23 •Belkhir Abdelkader USTTHB
Cryptosystème à clé publique
Fonction de hachageFonction de hachage
1. Ce sont des fonctions unidirectionnelles :
A partir de H(M) il est impossible de retrouver M.
2. Ce sont des fonctions sans collisions :A partir de H(M) et M il est impossible de
trouver M′ ≠ M tel que H(M′) = H(M).
•11/04/23 •Belkhir Abdelkader USTTHB
La cryptanalyseLa cryptanalyse
: briser un algorithme de chiffrement
Attaque sur le texte chiffré uniquement analyse de fréquence des lettres utilisées
dans le texte chiffré
•11/04/23 •Belkhir Abdelkader USTTHB
Rappels MathématiquesRappels Mathématiques
•11/04/23 •Belkhir Abdelkader USTTHB
Arithmétique modulaire
Diviseurs
Soient a, b et m N. b(≠ 0) divise a si a = mb∈
On dit que b est un diviseur de a. Exemple : les diviseurs de 24 sont 1,2,3,4,6,8,12,24.
Propriétés :
– Si a|1 alors a = ±1
– Si a|b et b|a alors a = ±b
– Tout b différent de 0 divise 0
– Si b|g et b|h alors b|(mg + nh) pour m et n arbitraires
– Si a = 0 mod n alors n|a
Quelques critères de divisibilité :Quelques critères de divisibilité :
– n est divisible par 2 s’il se termine par 0,2,4,6,8.
– n est divisible par 3 si la somme de ses chiffres est divisible par 3.
– n est divisible par 4 si ses deux derniers chiffres forment un multiple de 4 (ex : 256628).
– n est divisible par 5 s’il se termine par 0 ou 5.
– n est divisible par 8 si ses 3 derniers chiffres forment un multiple de 8 (ex : 176072).
– n est divisible par 9 si la somme de ses chiffres est un multiple de 9 (ex : 37521=3+7+5+2+1=18=2*9).
– n est divisible par 11 si la différence (1erchiffre + 3ièmechiffre + 5ièmechiffre + ...) - (2ièmechiffre + 4ièmechiffre + 6ièmechiffre + ...) est divisible par 11. Par exemple, 1485 est divisible par 11, car (1+8)-(4+5)=0 est divisible par 11.
•11/04/23 •Belkhir Abdelkader USTTHB
•11/04/23 •Belkhir Abdelkader USTTHB
Soit n, un entier non nul (dans Z), et a, b des entiers. a et b sont dits congruents modulo n si
(a mod n) = (b mod n)
ce qui s’écrit a = b mod n.Exemples : 73 = 4 mod 23, 21 = −9 mod 10Deux entiers a et b sont égaux (ou congrus) modulo n si n|a − b.
Congruence
Propriétés :Propriétés :
•11/04/23 •Belkhir Abdelkader USTTHB
1. a = b mod n ssi n|a − b
2. a = b mod n ←→ ca = cb mod (cn)
3. a = b mod n ←→ ac = bc mod n
4. a = b mod m ←→ b = a mod m
5. a = b mod n et b = c mod n → a = c mod n
6. ((a mod n) + (b mod n)) mod n = (a + b) mod n
7. ((a mod n) − (b mod n)) mod n = (a − b) mod n
8. ((a mod n) (b mod n)) mod n = (a b) mod n∗ ∗
Propriété 1 :23 = 8(mod5) car 23 − 8 = 15 = 5 ∗ 3−11 = 5(mod8) car − 11 − 5 = −16 = 8 ∗ (−2)Propriété 6 :[(11 mod 8) + (15 mod 8)] mod 8 = (3 + 7) mod 8 = 2(11 + 15) mod 8 = 26 mod 8 = 2Propriété 7 :[(11 mod 8) − (15 mod 8)] mod 8 = (−4) mod 8 = 4(11 − 15) mod 8 = (−4) mod 8 = 4Propriété 8 :[(11 mod 8) ∗ (15 mod 8)] mod 8 = (3 ∗ 7) mod 8 = 5(11 ∗ 15) mod 8 = 165 mod 8 = 5
•11/04/23 •Belkhir Abdelkader USTTHB
Pour trouver 117 mod 13, on peut procéder comme suit
112 = 121 = 4 mod 13114 = (112)2 = 42 = 3 mod 13117 = 11 ∗ 114 ∗ 112 = (11 ∗ 3 ∗ 4) = 132 =
2 mod 13
•11/04/23 •Belkhir Abdelkader USTTHB
L’ensemble ZL’ensemble ZnnSoit Zn l’ensemble des entiers, Zn = {0, 1, ..., (n − 1)}. Zn représente l’ensemble des résidus ou
classes de résidu modulo n (chaque entier dans Zn est une classe de résidu). On peut écrire ces classes [0], [1], ..., [n − 1] où [r] = {a : a ∈ Z et a = r mod n}Exemple :Classes de résidu modulo 4 :
0 = {..., -8, -4,0,4,8,...}1 = {...,-7,-3,1,5,9,...}2 = {...,-6,-2,2,6,10,...}3 = {...,-5,-1,3,7,11,...}
•11/04/23 •Belkhir Abdelkader USTTHB
•11/04/23 •Belkhir Abdelkader USTTHB
Autres propriétés de ZAutres propriétés de ZnnNombres premiersDeux entiers sont relativement premiers si leur unique
facteur commun positif est 1. On note lorsque a et c sont relativement premiers : (a, c) = 1 ou gcd(a, c) = 1
Propriété de l’addition(a + b) = (a + c) mod n → b = c mod nExemple : (5 + 23) = (5 + 7) mod 8 → 23 = 7 mod
8Propriété de la multiplicationSi (a, n) = 1 alors (a ∗ b)=(a ∗ c) mod n → b = c
mod n(a = 6, n = 8) 6= 1 → 6 ∗ 3 =2 mod 8 et 6 ∗ 7 = 2
mod 8 or 3 6= 7 mod 8.
•11/04/23 •Belkhir Abdelkader USTTHB
Explications : Avec a = 6 et n = 8, on obtient le résultat suivant:
Ensemble incomplet de résidusCependant, avec a = 5 et n = 8, on a le résultat
suivant:
Ensemble complet de résidus•11/04/23 •Belkhir Abdelkader USTTHB
Un entier a donc un inverse multiplicatif dans Zn si cet entier est relativement premier à n.
•11/04/23 •Belkhir Abdelkader USTTHB
Algorithme d’EuclideAlgorithme d’Euclide
Algorithme d’Euclide simple:Algorithme d’Euclide (a > b > 0) :1. A ←− a ; B ←− b2. IF (B = 0) RETURN A = gcd(a, b)3. R = A mod B4. A ←− B5. B ←− R6. GOTO 2
•11/04/23 •Belkhir Abdelkader USTTHB
•11/04/23 •Belkhir Abdelkader USTTHB
Exemple:Soit le calcul de pgcd(1970,1066). Il vient
1970 = 1 ∗ 1066 + 904 gcd(1066, 904)1066 = 1 ∗ 904 + 162 gcd(904, 162)904 = 5 ∗ 162 + 94 gcd(162, 94)162 = 1 ∗ 94 + 68 gcd(94, 68)94 = 1 ∗ 68 + 26 gcd(68, 26)68 = 2 ∗ 26 + 16 gcd(26, 16)26 = 1 ∗ 16 + 10 gcd(16, 10)10 = 1 ∗ 6 + 4 gcd(6, 4)6 = 1 ∗ 4 + 2 gcd(4, 2)4 = 2 ∗ 2 + 0 gcd(2, 0)
Algorithme d’Euclide Algorithme d’Euclide étenduétendu
Algorithme d’Euclide étendu (m > b > 0) :1. (A1,A2,A3) ←− (1, 0,m)2. (B1,B2,B3) ←− (0, 1, b)3. IF (B3 = 0) RETURN A3 = gcd(m, b)4. IF (B3 = 1) RETURN B3 = gcd(m, b)5. Q = ⌊A3/B3⌋6. (T1, T2, T3) ←− (A1 − Q.B1,A2 − Q.B2,A3 −
Q.B3)7. (A1,A2,A3) ←− (B1,B2,B3)8. (B1,B2,B3) ←− (T1, T2, T3)9. GOTO 3
•11/04/23 •Belkhir Abdelkader USTTHB
Remarques– ⌊ ⌋ représente le nombre directement inférieur ou
égal au nombre entre crochets– Si la condition du point 3 est remplie, alors b n’a
pas d’inverse modulo m– Si la condition du point 4 est remplie, alors le
pgcd vaut 1 et b−1 mod m = B2
•11/04/23 •Belkhir Abdelkader USTTHB
Exemple d’exécution de l’algorithmeExemple d’exécution de l’algorithme
Soit gcd(550, 1759) = 1, l’inverse multiplicatif de 550 est 355. En effet, (550 ∗ 355) = 1 mod 1759
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffrement Chiffrement monoalphabétiquemonoalphabétique
Substitution monoalphabétiqueA est l’alphabet. Soit une
permutation (i.e. une bijection) sur A. L’opération de chiffrement d’un
message m=m1· · · mn est:
c = E(m) = (m1) · · · (mn).
La clé secrète est . Connaissant cette clé, on peut déchiffrer:
D(c) = −1(c1) · · · −1(cn) = m.•11/04/23 •Belkhir Abdelkader USTTHB
Un cas particulier est quand est le décalage circulaire de k de lettres (c’est le nombre k qui est alors le secret). Le chiffre de César utilisait k = 3. Dans le cas particulier du décalage circulaire, il n’y a que 26 clés possibles.
•11/04/23 •Belkhir Abdelkader USTTHB
exempleexemple
Texte en clair: sauna
On obtiendra: vdxqd
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffre affineChiffre affineOn dit qu’une fonction est affine lorsqu’elle est de la forme x → a ∗ x + b, c’est-à-dire un polynôme de degré 1. L’idée est d’utiliser une fonction de chiffrement
y = (ax + b) mod 26,où a et b sont des constantes, et où x et y sont des nombres correspondant aux lettres de l’alphabet (A=0,B=1,...). On peut remarquer que si a = 1, alors on retrouve le chiffre de César où b est le décalage (le k du chiffre de César).
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffre affineChiffre affine
Pour le chiffre affine, la clé est constituée de (k1, k2) où k1, k2 ∈ [0, 25] et telle que gcd(k1, 26) = 1.
Le chiffrement en lui-même est donné par ci = f(mi) = k1 ∗ mi + k2 mod 26.
Pour le déchiffrement, il vientmi = f−1(ci) = k−1
1 ∗ (ci − k2) mod 26.
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffre affineChiffre affine
Exemple : Soient la clé = (k1, k2) = (3, 11)
Transformation de chiffrement :ci = f(mi) = 3 ∗ mi + 11 mod 26
Transformation de déchiffrement :k−1
1 = 3−1 mod 26 =9 [car 3∗9 mod 26=1]
mi = f−1(ci) = 9 ∗ (ci − 11) mod 26
Ainsi, pour une suite de lettres telle que ’NSA’ → 13 18 0 → 24 13 11 →’YNL’.
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffrement Chiffrement polygraphiquepolygraphique
Chiffre de HillLes lettres sont d’abord remplacées
par leur rang dans l’alphabet. Les lettres Pk et Pk+1 deviennent Ck et Ck+1
•11/04/23 •Belkhir Abdelkader USTTHB
Chaque digramme clair (P1 et P2) sera chiffré (C1 et C2) selon :
C1 ≡ aP1 + bP2(mod26)C2 ≡ cP1 + dP2(mod26)
•11/04/23 •Belkhir Abdelkader USTTHB
Chiffre de HillChiffre de Hill
Exemple:Texte en clair: td securiteTexte codé: BMWOU UDLFT
•11/04/23 •Belkhir Abdelkader USTTHB
Nb: il s’agit de trouver l’inverse dans ZNb: il s’agit de trouver l’inverse dans Z2626
•11/04/23 •Belkhir Abdelkader USTTHB
Substitutions Substitutions polyalphabétiquespolyalphabétiques
Chiffre de VigenèreExemple : chiffrer le texte "CHIFFRE DE VIGENERE" avec la
clef "BACHELIER" (cette clef est éventuellement répétée plusieurs fois pour être aussi longue que le texte clair)
Ce chiffre utilise une clef qui définit le décalage pour chaque lettre du message (A : décalage de 0 cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans).
•11/04/23 •Belkhir Abdelkader USTTHB
Le carré de vigenèreLe carré de vigenère•11/04/23 •Belkhir Abdelkader USTTHB
Chiffre de Vernam (One Time Chiffre de Vernam (One Time Pad - 1917)Pad - 1917)
Le masque jetable est défini comme un chiffre de Vigenère avec la caractéristique que la clef de chiffrement a la même longueur que le message clair.
Pour utiliser ce chiffrement, il faut respecter plusieurs propriétés :
– choisir une clef aussi longue que le texte à chiffrer,
– utiliser une clef formée d’une suite de caractères aléatoires,
– protéger votre clef,
– ne jamais réutiliser une clef.•11/04/23 •Belkhir Abdelkader USTTHB