Vous êtes sur la page 1sur 21

Sommaire

Sécurité des Systèmes CHAPITRE I : INTRODUCTION A LA SECURITE DES SYSTEMES D’INFORMATION


I.1 Généralités
I.2. Les Attaques
3
3
12
I.3. Les défenses 21

d’Information I.4. Evaluation

CHAPITRE II : PROTECTION DANS LES SYSTEMES INFORMATIQUES


II.1. Politiques d’autorisation
70

84
84
II.2. Authentification 93
II.3. Autorisation 107
II.4. Un exemple Typique : UNIX 125
N.ABGHOUR II.5. Sécurité des réseaux
II.6. Protection dans les systèmes répartis
156
162
II.7. Tolérance aux intrusions 172
II.8. Commerce électronique 185

CHAPITRE III : SECURITE DES STATIONS DE TRAVAIL ET DES MICRO-ORDINATEURS 189


III.1. Stations de travail 189
III.2. Micro-ordinateurs 194

&RXUV Annexe 1 : Législation française


Annexe 2 : Règlementation française
197
201
Annexe 3 : Documents OTAN 206
Annexe 4 : Documents DOD et NCSC (USA) 207
Annexe 5 : Documents IEEE et NIST 208
Annexe 6 : Normes Européennes 209
Annexe 7 : Normes ISO 210

 

Différents aspects de la sécurité


Chapitre I : INTRODUCTION A LA SECURITE
Aspects techniques :
DES SYSTEMES D’INFORMATION
Confidentialité : • empêcher les utilisateurs de lire une information confidentielle (sauf s’ils y sont
autorisés)
I.1 Généralités
• empêcher les utilisateurs autorisés à lire une information de la divulguer à d’autres
utilisateurs (sauf autorisation)
Intégrité : • empêcher une modification (création, mise à jour ou destruction) indue de
Définition : Systèmes d'information : ensemble des moyens dont le fonctionnement fait appel, d'une l’information : modification par des utilisateurs non autorisés ou modification
façon ou d'une autre, à l'électricité et destinés à élaborer, traiter, stocker, acheminer ou incorrecte par des utilisateurs autorisés
présenter l'information
• faire en sorte qu’aucun utilisateur ne puisse empêcher la modification légitime de
Exemples : système informatique classique, micro-informatique, bureautique, productique, robotique, l’information
réseau informatique, télématique
Disponibilité : • fournir l’accès à l’information pour que les utilisateurs autorisés puissent la lire ou la
mais aussi : téléphones, télécopieurs, monétique, domotique, imprimantes, machines à écrire, modifier
photocopieurs, ... • faire en sorte qu’aucun utilisateur ne puisse empêcher les utilisateurs autorisés
d’accéder à l’information.
Risques : divulgation d'informations confidentielles, modification ou destruction frauduleuses, Exemple : domaine militaire : confidentialité >> intégrité > disponibilité
utilisation frauduleuse des systèmes, ...
Exemple : domaine financier : intégrité >> disponibilité > confidentialité
Exemple : domaine administratif : intégrité > confidentialité > disponibilité
Exemple : domaine industriel, médical, ... : ça dépend !

 
Autres facettes de la sécurité Pourquoi est-ce plus important aujourd'hui ?
Evolution actuelle :
Intimité (privacy) : respect des libertés individuelles, protection de la vie privée : CNIL, loi Informatique
et Libertés Communication électronique : papier ➞ électronique
fichier manuel ➞ base de données
matériel ➞ immatériel
lent ➞ rapide
Authenticité : intégrité de l’information + intégrité de l’origine (et de sa destination)
isolé ➞ réseaux
faible quantité d'informations ➞ grande quantité d'informations
Pérennité : ≈ disponibilité, mais durabilité de la validité de l’information plutôt qu’accessibilité Fraude facilitée : • concentration des informations
immédiate • rapidité d'exécution
• facilité de furetage
• pas de trace des accès (lectures, modifications, destructions)
• les faux sont identiques aux informations licites
Exclusivité : ne fournir le service qu’aux seuls utilisateurs autorisés (≈ intégrité du service)
• difficile d'établir la preuve de la fraude
• pas d’accès direct aux informations pour vérification
Environnement favorable à la fraude : • les mentalités n'ont pas évolué
Protection de la propriété intellectuelle : droits d’auteurs (filigranes), protection des logiciels, vidéo…
• argument anti-"Big-Brother"
≈ confidentialité (ne pas révéler le programme à des individus non autorisés) et • multiplication des micro-ordinateurs
intégrité (ne pas permettre la création d’une copie illicite). • interconnexion des réseaux informatiques
Dépendance croissante des entreprises vis-à-vis de leur informatique

  

Approche sûreté de fonctionnement Entraves à la sûreté de fonctionnement


• Défaillance : le service délivré par le système dévie de l’accomplissement de la fonction du
système
La sûreté de fonctionnement (dependability) d'un système informatique est la propriété qui permet à ses remarque : la fonction est ce à quoi le système est destiné,
utilisateurs de placer une confiance justifiée dans le service qu'il leur délivre. pas nécessairement ce qui a été spécifié
• Service = comportement du système tel qu'il est perçu par les utilisateurs. • Erreur : partie de l'état du système susceptible d'entraîner une défaillance
• Utilisateur = un autre système avec lequel il interagit (humain ou physique) • Faute : cause adjugée ou supposée d'une erreur

Selon les points de vue (et les domaines d'application du système), on s’intéresse à différents attributs de la
sûreté de fonctionnement : &DXVH eWDW 6HUYLFH
• capacité à être prêt à délivrer le service ➠ disponibilité availability
• continuité du service ➠ fiabilité reliability Faute Erreur Défaillance
• aptitude aux réparations et évolutions ➠ maintenabilité maintainability
• pas de défaillances catastrophiques ➠ sécurité-innocuité safety
Ce modèle est récursif :
• pas de divulgation non-autorisée d’information ➠ confidentialité confidentiality
si on décompose le système en sous-systèmes (ou composants), la défaillance d'un composant est une
• pas d’altération indésirée ➠ intégrité integrity
faute interne pour le système et une faute externe pour les composants avec lesquels il interagit
• confidentialité + intégrité + disponibilité ➠ sécurité-confidentialité security
... défaillance ➞ faute ➞ erreur ➞ défaillance ➞ faute ...

   
Moyens pour la sûreté de fonctionnement
➞ méthodes, outils et solutions pour : FAUTES PHYSIQUES
CAUSE PHÉNOMÉNOLOGIQUE
FAUTES DUES À L'HOMME
1. fournir au système l'aptitude à délivrer un service conforme à l’accomplissement de sa fonction
(fourniture de la sûreté de fonctionnement)
FAUTES ACCIDENTELLES
2. donner confiance dans cette aptitude (validation de la sûreté de fonctionnement)
FAUTES INTENTIONNELLES
NATURE SANS VOLONTÉ DE NUIRE

Fourniture FAUTES INTENTIONNELLEMENT NUISIBLES

La sûreté de fonctionnement s'obtient par : FAUTES DE DÉVELOPPEMENT


• la prévention des fautes : empêcher, par construction, l'occurrence ou l'introduction de fautes FAUTES PHASE DE CRÉATION
FAUTES OPÉRATIONNELLES
• la tolérance aux fautes : fournir, par redondance, un service conforme à l’accomplissement de la
fonction en dépit des fautes FAUTES INTERNES
FRONTIÈRES DU SYSTÈME
Validation FAUTES EXTERNES
La sûreté de fonctionnement est validée par :
FAUTES PERMANENTES
• l'élimination des fautes : réduire, par vérification, la présence (nombre, sévérité) de fautes PERSISTANCE
FAUTES TEMPORAIRES
• la prévision des fautes : estimer, par évaluation, la présence, la création et les conséquences des
fautes.

   

FAUTES
I.2. Les Attaques
FAUTES
PHYSIQUES
FAUTES DE FAUTES LOGIQUES
CONCEPTION D'INTERACTION MALIGNES
INTRUSIONS
Motivations des attaquants
FAUTES PHYSIQUES ● ● ● ● ● ●

FAUTES DUES A L'HOMME ● ● ● ● ● ● ● ● ● ● ●


• "sport", défi intellectuel : hackers
FAUTES ACCIDENTELLES ● ● ● ● ● ● ● ● ●

FAUTES INTENTIONNELLES
● ● ●
• vandalisme
SANS VOLONTE DE NUIRE

FAUTES INTENTIONNELLEMENT
NUISIBLES
● ● ● ● ●
• vengeance

FAUTES DE DEVELOPPEMENT ● ● ● ● ● ● ● ●
• motifs politiques ou idéologiques : ex.: Chaos Computer Club (CCC)
FAUTES OPERATIONNELLES ● ● ● ● ● ● ● ● ●
➞ terrorisme, espionnage
FAUTES INTERNES ● ● ● ● ● ● ● ● ● ● ● ●

FAUTES EXTERNES ● ● ● ● ●
• profit :espionnage, vol, fraude, chantage, extorsion de fonds, concurrence déloyale, etc.

FAUTES PERMANENTES ● ● ● ● ● ● ● • pour restreindre la diffusion d'informations, sensibiliser cibles éventuelles (?)
FAUTES TEMPORAIRES ● ● ● ● ● ● ● ● ● ●

 
Qui sont les intrus ? Classification des attaques
Ecoute passive : accéder sans modification aux informations générées, transmises, stockées ou affichées
(confidentialité)
1) • voies de communication : accès en lecture aux communications en diffusion (ex : sniffing),
accès physique au médium ou analyse du rayonnement électromagnétique émis
• mémoires ou disques : accès en lecture, réutilisation (buffers ou supports non-effacés)
• périphériques : écrans, claviers, imprimantes : analyse du rayonnement
Intrus externe • unités centrales : analyse du rayonnement
➞ matériels TEMPEST

2) Accès autorisé
Interception : modifier des informations transmises (intégrité)
• destruction de messages, “éblouissement”
Accès
Intrus interne interdit • modification de messages
(extension de privilèges) • insertion de messages (ex: rejeu)

Répudiation : refuser de reconnaître qu'on a effectué une opération (intégrité)


3) • l'émetteur refuse de reconnaître qu'il a émis un message
• le récepteur refuse de reconnaître qu'il l'a reçu
Administrateur de sécurité
(abus de pouvoir) Cryptanalyse : obtenir des informations secrètes à partir d'informations publiques
(confidentialité et intégrité)
80% des fraudes sont réalisées par des utilisateurs autorisés • message clair, clés, algorithme de chiffrement

 

Déduction par inférence : recouper des informations auxquelles on a légitimement accès pour obtenir Déguisement ("masquerade") : se faire passer pour quelqu'un d'autre (intégrité)
des informations secrètes (confidentialité) • tromper les mécanismes d'authentification
• bases de données, requêtes statistiques • émettre des messages d’une fausse adresse ("spoofing")
• furetage
Exemple : Utilisation de canaux cachés ("covert channels") : transmettre des informations secrètes à un utilisateur
Base de données : Dossier Médical : non-autorisé (confidentialité)
ƒ Nom : Dupont • canaux de mémoire directs (réutilisation de tampons, de fichiers temporaires) ou indirects
ƒ Prénom : Jean (variables du système)
ƒ Date de naissance : 6 juin 1944 • canaux temporels (modulation de l'utilisation de ressources communes : unité centrale, disques,
ƒ Lieu de naissance : Caen (Calvados)
imprimante, réseau, etc.)
ƒ ...
ƒ Fonction : Chef de service
ƒ Division : Avions Bombe logique : fonction dévastatrice déclenchée à retardement ou par certaines conditions (présence de
ƒ Département : Etudes
certains utilisateurs, certains logiciels ou matériels), ou après un certain nombre
ƒ Service : Informatique
ƒ ... d'activations, etc. (intégrité, disponibilité)
ƒ Groupe sanguin : B+ • plantage de machines, même par des programmes non privilégiés (crashme, bug Pentium, …)
ƒ Tuberculose : Non depuis le :
• destruction d'informations stockées : données, programmes, informations de sécurité (ex: par
ƒ Cirrhose du foie : Non depuis le :
ƒ Séropositivité : Oui depuis le : 18 août 1989 formatage de disque)
ƒ ... • diffusion d'informations de diagnostic fausses
ƒ Question 1 : combien de chefs de service entre 45 et 48 ans ? Réponse : 1 • dégâts matériels : usure anormale de périphériques, destruction d'écrans, de disquettes,
ƒ Question 2 : combien de chefs de service entre 45 et 48 ans séropositifs ? ... d'imprimantes, etc.

  
Cheval de Troie : programme effectuant une fonction illicite tout en donnant l'apparence d'effectuer
Porte dérobée ("trap-door") : contourner les contrôles d'accès (confidentialité, intégrité, disponibilité) une fonction légitime (cas particulier du déguisement)
• divulguer ou modifier des informations, ou bombe logique (confidentialité, intégrité, disponibilité)
• certaines failles de logiciels permettent de télécharger des chevaux de Troie (ex : débordement de
buffer, de pile, …)
Exemple : "Le nid du coucou" (Clifford Stoll, Ed. Albin Michel)
Août 1986, Lawrence Berkeley Laboratory : la comptabilité d'un système informatique fait apparaître une Exemple : AIDS
incohérence de quelques cents :
Entre le 8 et le 12 décembre 1989, environ 10.000 disquettes "publicitaires" ont été envoyées à 7.000
• un intrus utilise le compte d’un utilisateur (déguisement), puis acquiert les privilèges systèmes : faille abonnés de PC Business World (GB) et à 3.000 participants européens d'une conférence de l'OMS sur le
banale (mauvaise installation de Gnu-emacs sur Unix BSD -> porte dérobée) SIDA en octobre 1988.
• plutôt que de corriger la faille, il est décidé d'observer L'enveloppe contenait :
• texte d'une "licence"
• en 10 mois, l'intrus a tenté de pénétrer dans 450 ordinateurs reliés à Internet, principalement militaires
• mode d'emploi pour l'installation sur disque dur de PC
• il a réussi dans 30 cas; il s'intéressait à des sujets sensibles : SDI, nuclear...
Objet (prétendu) du programme : évaluer le risque d'être atteint par le SIDA
• il a été possible de localiser et d'identifier l'intrus : un allemand de Hanovre, Markus Hess, lié au
En fait, après 90 démarrages du PC, une bombe logique est lancée :
Chaos Computer Club et travaillant pour le KGB
• chiffrement des noms de fichiers sur le disque
• condamné le 15 février 1990 à 20 mois de prison avec sursis et 10.000 DM d'amende • édition d'un bon de commande pour payer la licence ($189 ou $378) à l'ordre de PC-Cyborg au
Panama
Depuis, de nombreux autres “pirates” ont été arrêtés et condamnés.
Dès le 13 décembre, nombreuses mises en garde (journaux, TV, Unix-news, ...). Le Dr. Joseph Lewis
Popp a été arrêté le 1er février 1990 par le FBI dans l'Ohio, suite à une demande d'extradition britannique
pour "chantage". Acquitté pour aliénation mentale.
   

Ver ("worm") : programme autonome qui s'exécute, se propage et se reproduit à l'insu des utilisateurs
Virus : programme qui, lorsqu'il s'exécute, se propage et se reproduit pour s'adjoindre à un autre normaux (confidentialité, intégrité, disponibilité)
programme (système ou d'application), qui devient ainsi un cheval de Troie • éventuellement porteur d'une bombe logique
(confidentialité, intégrité, disponibilité) • propagation par réseau
• éventuellement porteur d'une bombe logique
• propagation par échange de support (disquettes) ou par réseau Le premier "ver" : Xerox, ~1975
• Idée tirée d'un livre de science-fiction (John Brunner, "The Shockwave Rider")
• Premières expériences : Texas A+M (1981), PhD de Fred Cohen (1983) • programme "utile", composé de "segments" qui se copiaient sur les machines inactives du réseau
• virus "Brain" (Pakistan, 1986) : conçu comme moyen de protection (?) pour les logiciels de la (et se détruisaient lorsqu'elles redevenaient actives)
compagnie Brain; il aurait contaminé entre 100.000 et 500.000 IBM-PCs (et compatibles); généralement • le programme pouvait servir à tester les machines, à mesurer des performances, au traitement
bénin d'images, ...
• virus "MacMag" (Canada, décembre 1987) : message de "paix" devant s'afficher à la date anniversaire L'arbre de Noël (réseau VNET d'IBM, décembre 1987) : CHRISTMA EXEC : message qui affichait une
du Macintosh (2 mars 1988) carte de vœux sur l'écran, et qui, en même temps, se propageait à tous les correspondants habituels de celui
• virus "Israël-Jerusalem-vendredi13..." (Israël, décembre 1987) : virus pour PC, avec une bombe qui "lisait" la carte
logique détruisant les programmes lorsqu'il s'exécute un vendredi 13; de 100.000 à 500.000 PCs infectés
• On dénombre plusieurs milliers virus différents pour PC, une vingtaine pour Le ver d'Internet : Robert T. Morris Jr., 2 novembre 1988
Macintosh, un peu moins pour Atari, Amstrad, Apple][... • le programme a été lancé vers 17h. de Cornell University
• Les virus s'attachent soit à des programmes d'application (ex: *.COM ou *.EXE sur PC), soit à des • au cours de la nuit, environ 6.000 des 60.000 ordinateurs connectés sur Internet aux USA étaient
programmes-systèmes (ex: boot), jamais à des fichiers de données atteints et bloqués (faute de conception) : Sun3 ou Vax avec Unix BSD
• le programme utilisait 3 failles connues (sendmail, fingerd, passwd)
exceptions : macro-virus WORD ou EXCEL (ce sont les virus les plus fréquents aujourd’hui), virus • le 4 mai 1990, Robert T. Morris Jr. a été condamné à 400 heures de travaux d'intérêt général et
WDEF sur le fichier de données-système Desktop sur MacIntosh, possibilités de virus 10.000 $ d'amende
sur resource fork, possibilités de virus pour bases de données ou tableurs, ...
• le 13 décembre 1988, création du Computer Emergency Response Team (CERT)

   
I.3. Les défenses I.3.1. Authentification des utilisateurs
= identification + vérification de l'identité
4 volets :
➤ Identification : présentation de l'identité : information non secrète, différente pour chaque utilisateur
1) Sécurité physique : (nom, numéro, ...) connue (au moins) de l'utilisateur et du système informatique
• Ensemble de procédures et de mécanismes qui protègent les locaux et les biens contre les risques
➤ Vérification de l'identité :
majeurs (incendie, inondation, ...) et contrôlent les accès physiques (gardiens, sas, ...)
➠ L'utilisateur doit présenter quelque chose :
2) Sécurité du personnel (pas des personnes, CHS, ...) : ƒ qu'il connaît : mot-de-passe, informations personnelles, ...
• Ensemble des règles et procédures qui régissent les conditions de travail des personnels (internes et ƒ qu'il possède : badge, carte magnétique, carte à puce, grenouille, …
externes) dans un environnement sécurisé : habilitation, définition des tâches, intervention de ƒ qui lui est propre : biométrie : empreinte digitale, voix, signature, …
personnels extérieurs, visites, ... ƒ ou combinaison : ex: carte à puce + P.I.N., carte à puce + empreinte digitale
• Liée à la sélection, la formation et le suivi de carrière des personnels La qualité des systèmes d'authentification dépend des taux d'acceptation à tort et de rejet à tort .
• Doit prendre en compte les départs, les grèves, ...
➠ Le système authentificateur vérifie l’identité en utilisant :
3) Sécurité procédurale : ƒ un secret partagé par l'authentificateur et l'utilisateur : ex. mot-de-passe
• Ensemble de procédures et de règlements qui régissent les opérations liées à la sécurité du système ƒ un s ecr e t maintenu par l'authentificateur, caractéristique de l'utilisateur : ex. systèmes
informatique : enregistrement (et effacement) des utilisateurs, sauvegardes, maintenance, biométriques,
installation et mises à jour de matériels et de logiciels, ... ƒ  des informations publiques correspondant à un secret maintenu par l'utilisateur : protocoles
• permet de compléter les lacunes de la sécurité technique : micros, stations de travail, ... d'authentification sans apport de connaissance
4) Sécurité technique : c'est tout ce qui va suivre Les matériels peuvent aussi être authentifiés (ex : rappel automatique, terminaux points-de-vente, …)
Les mécanismes d'authentification seront étudiés plus en détail au chapitre 2

 

I.3.2. Autorisation
I.3.3. Éléments de Cryptologie

= gestion et vérification des droits d'accès Cryptologie = Cryptographie + Cryptanalyse


Cryptographie (écriture cachée) : « transformation à l’aide de conventions secrètes des informations ou
Principe du moindre privilège : signaux clairs en informations ou signaux inintelligibles par des tiers » :
Un utilisateur ne doit pouvoir accéder à un instant donné qu'aux informations et services strictement chiffrer (chiffrement, pas chiffrage), déchiffrer (déchiffrement)
nécessaires pour l'accomplissement du travail qui lui a été confié (besoin d'en connaître) Cryptanalyse : retrouver des informations secrètes (texte clair, clés, algorithme, …) à partir des
information publiques (texte chiffré, …) : décrypter (décryptage)

Technique très ancienne d'abord utilisée pour les transmissions (puis les fichiers) :
(détaillée au chapitre 2) Exemple : chiffre de César : chiffrement : A ➞ D, B ➞ E, ..., Z ➞ C
déchiffrement : A ➞ X, B ➞ Y, C ➞ Z, D ➞ A, ...

À ne pas confondre avec la « stéganographie » (écriture recouverte) : cacher l’information (sans


nécessairement la rendre inintelligible) :
Exemple : transmettre un message binaire en modifiant les bits de poids faibles d’un enregistrement
musical sur un CD.

Ne pas confondre non plus chiffre et code (= représentation de l’information)

 
Confidentialité : Chiffrement / Déchiffrement Intégrité : Signature
clé de chiffrement clé de déchiffrement
clé de signature clé de vérification
Kc Kd
Ks Kv

M = texte clair C = cryptogramme M = texte clair


M = texte Σ = signature

Chiffrement Déchiffrement Génération Vérification


OUI / NON
de signature de signature

Chiffrement : M ➙ C = {M}Kc Déchiffrement : C ➙ M = [C]Kd M = texte

M : message en clair C : cryptogramme


Kc : clé de chiffrement Kd : clé de déchiffrement
{} : algorithme de chiffrement [ ] : algorithme de déchiffrement Intégrité (repose sur la fonction de génération de signature uniquement)
• sans connaître Ks, il doit être “impossible” de générer une signature correcte pour un texte donné
(pour pouvoir ainsi produire un faux)
Confidentialité (repose sur la fonction de déchiffrement uniquement) :
• il doit être “impossible” de retrouver Ks, même si on connaît à la fois le clair M et la signature Σ
• sans connaître Kd, il doit être “impossible” de retrouver le clair M connaissant le cryptogramme C (attaque par clair connu), même si on connaît un grand nombre de paires (M, Σ)
(décryptage)
• il doit être “impossible” de retrouver Ks, même si on peut soumettre un texte particulier et observer
• il doit être “impossible” de retrouver Kd, même si on connaît à la fois le clair M et le crypto C
la signature correspondante (attaque par clair choisi)
(attaque par clair connu), même si on connaît un grand nombre de paires (M,C)
• il doit être “impossible” de retrouver Kd, même si on peut soumettre un clair particulier et observer
le crypto correspondant (attaque par clair choisi)
  

Cryptanalyse : Exemples d’Applications


Consiste à retrouver des informations secrètes (clés, clair, éventuellement algorithme de chiffrement) L'application directe de la cryptographie est la séparation zone rouge / zone noire :
à partir des informations publiques (cryptogramme, généralement aussi les algorithmes de chiffrement et
de déchiffrement).
Zone Noire
Méthode systématique : par essais successifs
en théorie, toujours possible avec des moyens illimités
(temps, espace mémoire, capacité de calcul)
=> protection : clés longues, algorithmes lents
déchiffrement
Méthode analytique : à partir des algorithmes (chiffrement et déchiffrement), trouver des relations
mathématiques entre les différents paramètres (clés, clair, cryptogramme) pour
déduire des informations sur les secrets Zone Rouge
=> protection : algorithmes complexes à exprimer sous forme d’équations
Méthode statistique : à partir d’un grand nombre de messages, chiffrement
trouver des relations statistiques entre clair,
cryptogramme, clés
=> protection : brouiller les statistiques, réduire la redondance du clair,
-> cryptogramme d’apparence aléatoire
Zone Noire
D’après la théorie de l’information, il ne peut pas exister de chiffre parfaitement sûr,
sauf si la clé est aussi longue que le clair (condition nécessaire, pas suffisante).
Dans la zone noire, les informations sont chiffrées, l’accès est ± libre.
Dans la zone rouge, les informations sont en clair, l’accès est contrôlé.
   
Archivage confidentiel : Communications :

Le propriétaire de données confidentielles réalise un chiffrement avant de stocker les informations dans un
Transmettre des données confidentielles sur une voie non sûre. L'émetteur chiffre, le récepteur déchiffre.
endroit peu sûr. Il les déchiffre lorsqu'il les récupère. Si les clefs Kc et Kd sont différentes, on peut obtenir
Dans le cas des chiffres dits symétriques, la clef doit avoir été échangée par des voies sûres.
une séparation des droits en lecture et en écriture.

Emetteur { } [ ] Récepteur
K K
{ } K
K

[ ]
K

K ???

   

Chiffres symétriques Transpositions

Kc = Kd et donc [ ] = {}-1 Anagramme des caractères du message


Simple
Ce sont les chiffres les plus classiques (tous les chiffres connus avant 1976 !). Le message est arrangé sous forme d'un tableau dont on modifie l'ordre des lignes et/ou des
colonnes, d'après la clef.
Deux approches sont possibles pour concevoir des chiffres symétriques :
☞ utiliser des opérations que l'on ne sait pas traiter analytiquement (non linéaires) et qui résistent aux Exemple : soit le message :"LE RIRE EST LE PROPRE DE L HOMME"
méthodes d'attaque connues et la clef : "FARCE"
☞ utiliser des problèmes connus dont les meilleures solutions prennent trop de temps à exécuter
F A R CE A C E F R
L E R I R E I R L R
Opérations de base des chiffres classiques E E S T L E T L E S
E P R OP P O P E R
R E D E L E E L R D
Les messages (clair et crypto) sont constitués de caractères d'un même alphabet (ensemble de symboles), H O M ME O M E H M
ou de deux alphabets différents.
La transposition : ➟ cryptogramme :"EIRLRETLESPOPEREELRDOMEHM"
Les caractères du message sont permutés mais restent les mêmes.
Exemple : SECURITE ➔ ETIRUCES Par texte clef
La substitution La clef peut être aussi longue que le message, ce qui rend plus difficile la cryptanalyse.
Chaque caractère du message est remplacé par un autre caractère d’un autre alphabet (ou du même). L E M E S S A G E A R R A N G E S O U S F O R M E
Exemple : SECURITE ➔ TFDVSJUF 12 4 13 5 21 22 1 10 6 2 18 19 3 15 11 7 23 16 25 24 9 17 20 14 8
L E R I R E E S T L E P R O P R E D E L H O M M E
E L R E I T R E H S P L R M O D O E P M R E E L E
 
Substitutions
Chiffres autoclaves
= remplacer un caractère par un autre
Simple
Chiffres dont une partie de la clé provient soit du clair, soit du crypto :
L'alphabet du cryptogramme est celui du clair décalé cycliquement d’un pas constant (clé) :
Exemple : chiffre de César : chiffrement : A ➞ D, B ➞ E, ..., Z ➞ C
déchiffrement : A ➞ X, ..., C➞ Z, D ➞ A, ... Autoclave de clair :
➟ SECURITE ➔ VHFXULWH
M S E C U R I T E I N F O R M A T I Q U E
Synonymique K C L E F S E C U R I T E I N F O R M A T
Un même caractère peut être codé par différents symboles, ce qui permet de dissimuler la fréquence
des lettres du langage naturel. C U P G Z J M V Y Z V Y S Z Z F H Z C U X
Exemple : A➔ ▲ ❈ ❋ ●
B➔ ❅ ❒ Autoclave de crypto :
C➔ ❃ ■ ◗ M S E C U R I T E I N F O R M A T I Q U E

Poly-alphabétique K C L E F U P G Z L X Z D T K E R K WE K
Différents pas de décalage sont utilisés au cours du chiffrement, selon la clé. C U P G Z L X Z D T K E R K WE K S M Y O
Exemple : Chiffre de Vigénère
M S E M I N A I R E S E C U R I T E
Avantages : ➔ la clef est aussi longue que le clair
K T A B L E T A B L E T A B L E T A
➔ le chiffre autoclave de clair propage les erreurs : une modification du crypto empêche de
C L E N T R T I S P W X C V C M M E
déchiffrer correctement le message.
La clef T signifie A ➔ T, B ➔ U, …, A signifie A ➔ A, B ➔ B, …, etc.
Ces chiffres dissimulent aussi la fréquence des lettres dans le texte clair. ➔ le chiffre autoclave de crypto est auto-synchrone : une erreur de transmission ne se
propage pas sur la totalité du message... mais l’accès au crypto donne une partie de la clef
Par dictionnaires (“code-book”)
 

Cryptographie et information binaire


Transpositions
L'information binaire utilise un alphabet très restreint : 2 caractères 0 et 1.
Par permutation :
Substitution
0 0
Substitution sur chaque bit : ou exclusif :
0
M ⊕ C M K C 1

0 0 0 0 1

K 0 1 1
1 1
1 0 1
C = M⊕ K 1 1 0

Cette opération possède des propriétés intéressantes :


☞ aucune information sur M ou K ne peut être déduite de C (ceci ne serait pas vrai avec ET ou OU) Par décalage :
☞ cette fonction est son propre inverse : C = M ⊕ K ⇔ M = C ⊕ K
☞ mise en œuvre matérielle simple (donc rapide)
Exemple : “chiffre à clé une fois” (Gilbert Vernam, AT&T, 1917), parfaitement sûr si la clé est vraiment 00111010 00011101
aléatoire, si elle est aussi longue que le clair, et si elle n’est utilisée qu’une fois (one-time-pad).

Substitution sur chaque mot binaire : par dictionnaire (electronic “code-book”)


Exemple : 01110101 ➔ 11010110, ...

  
Exemple : le DES Schéma général
(Data Encryption Standard) 64 bits

Publié en 1976 par le NBS (National Bureau of Standards, devenu depuis le NIST, National Institute of IP
32 bits 32 bits
Standards and Technology), le DES est une norme US (FIPS 46-2), réévaluée régulièrement depuis 1977
(en 1993 : approuvé avec réserves jusqu'en décembre 1998). L0 R0
K1
Le DES, issu du “Lucifer” conçu par IBM, est un chiffre symétrique qui permet de chiffrer des mots de 64
bits au moyen d'une clef de 56 bits utiles : 8 octets de 7bits+parité. + f 48 bits

Mis en œuvre par matériel (LSI, micro + ROM), le même circuit est utilisé pour le chiffrement et le
déchiffrement. Sa mise en œuvre par logiciel est peu efficace. L1=R0 L1 R1 R1=L0 + f(R0, K1 )
K2
• • •
• • • K3
Mode ECB (Electronic Code Book) : • ...
• • K 16
K K L16 R16
(56 bits) (56 bits)
IP -1
M C M
(64 bits) DES (64 bits) DES (64 bits)
{ecb} [ecb] 64 bits

   

Génération des clés intermédiaires (K1, ..., K16) Ri-1


32 bits
8 x (7bits + parité) P-Box 3
clé initiale
48 bits
48 bits
P-Box1 + Ki
28 bits 28 bits
C0 D0 48 bits
1 ou 2 1 ou 2 6 bits
Décalage Décalage S-BOX
S-BOX
S-BOX
S-BOX
S-BOX
S-BOX
S-BOX
S-BOX
S-BOX
C1 D1 32 bits
P-Box2 K1
56 bits 48 bits P-Box 4
... ... 4 bits
... 32 bits
... 32 bits
Li-1 +
C16 D16
32 bits
P-Box2 K16
48 bits Ri = Li-1⊕ f(Ri-1, Ki)
   
Mauvaises clés du DES
Chiffrement / Déchiffrement
Certaines clefs du DES ne conviennent pas car elles réduisent sensiblement la solidité du chiffre.

M C Clefs faibles
⇓ ⇓
L0 ⇐⇐⇐ IP ⇒⇒⇒ R0 L'0 = R16 ⇐⇐⇐ IP ⇒⇒⇒ R'0 = L16 Les 4 clefs sont telles qu'elles conduisent à une valeur unique des clefs internes (les registres C et D sont
toujours égaux à 0 ou 1)
K1: L1 = R0 R1 = L0 ⊕ f(R0, K1) K16: L'1=R'0=L16=R15 R'1 =L'0⊕f(R'0,K16)
=R16⊕f(R15,K16) 01 01 01 01 01 01 01 01
=L15 1F 1F 1F 1F 0E 0E 0E 0E
K2: L2 = R1 R2 = L1⊕ f(R1, K2) K15: L'2=R'1=L15=R14 R'2 =L'1⊕f(R'1,K15) E0 E0 E0 E0 F1 F1 F1 F1
FE FE FE FE FE FE FE FE
=R15⊕f(R14,K15)
• • =L14
• • • • Clefs semi-faibles
• • • •
K15: L15=R14 R15=L14⊕ f(R14, K15) K2: L'15=R'14=L2=R1 R'15=L’14⊕ f(R’14,K2) Les 12 clefs suivantes ne génèrent que 2 clefs internes distinctes :
=R2⊕f(R1,K2) E0 FE E0 FE F1 FE F1 FE 01 E0 01 E0 01 F1 01 F1
=L1 FE E0 FE E0 FE F1 FE F1 FE 1F FE 1F FE 0E FE 0E
K16: L16=R15 R16=L15⊕f(R15,K16) K1: L'16 =R'15=L1=R0 R'16=L'15⊕f(R'15,K1) 1F FE 1F FE 0E FE 0E FE E0 1F E0 1F F1 0E F1 0E
=R1⊕f(R0,K1)=L0 01 FE 01 FE 01 FE 01 FE FE 01 FE 01 F1 01 F1 01
1F E0 1F E0 0E F1 0E F1 E0 1F 01 1F 01 0E 01 0E
R16 ⇒⇒⇒ IP-1 ⇐⇐⇐ L16
L0 ⇒⇒⇒ IP-1 ⇐⇐⇐ R0 01 E0 01 E0 01 F1 01 F1 1F 01 1F 01 0E 01 0E 01


C
M Les clefs faibles ne diminuent pas la sécurité du DES, il suffit de les éviter.

 

Sensibilité du DES aux modifications Mode CBC (Cipher Block Chaining) : autoclave de crypto
C i-1 C i-1

Chaque bit du texte chiffré doit dépendre de chaque bit du texte clair et de la clef (c'est une des
spécifications de l'algorithme). Mi Ci Mi
DES DES
{ecb} [ecb]
ou
exclusif
Illustration
M 1000 0000 0000 0000 Vecteur Vecteur
K 30 0000 0000 0000 d’Initialisation K K d’Initialisation
C 958E 6E62 7A05 557B
Attention : propagation d’erreur sur 2 blocs consécutifs.
Si un bit du texte chiffré est modifié :
Le DES en mode CBC peut servir pour signer : MAC (Message Authentication Code) :
C 858E 6E62 7A05 557B
K 30 0000 0000 0000 C i-1
M 8D48 93C2 966C C211
Si un bit de la clef est modifié :
Mi
DES
C 958E 6E62 7A05 557B Σ = Cn
{ecb}
K 10 0000 0000 0000
M 6D4B 9453 7672 5395

V.I. K

 
Dans ce cas, le message et la signature sont transmis en clair. L'émetteur et le récepteur doivent partager la
même clé secrète (le vecteur d'initialisation peut avoir une valeur publique, par exemple zéro). Mode OFB (Output Feedback Block) :

Génération de signature

C i-1 K K
Vecteur Vecteur
Mi Σ = Cn d'initialisation d'initialisation
DES
{ecb} k k
DES DES
Σ {ecb} k bits {ecb} k bits
Vérification de signature
V.I.
C i-1
K
M M Mi OK ?
DES
{ecb}
=? Mi (k bits) Ci (k bits) Mi (k bits)

V.I.
Pas de propagation d'erreur (~ équivalent au mode ECB)
K

L'émetteur et le récepteur doivent se faire confiance : il n'est pas possible de distinguer un "vrai" message
d'un faux créé par le récepteur -> répudiation possible.

  

Mode CFB (Cipher Feedback Block) : autoclave de crypto :


Critiques du DES
☞ Clef de taille trop faible (56 bits).
-> peut servir pour signer des messages En juillet 1998, l’EFF (Electronic Frontier Foundation) a cassé en moins de 3 jours le DES Challenge II
proposé par RSA Lab., à l’aide d’une machine (DES cracker) de moins de 250 000 US$ ; en janvier 1999
le record a été porté à 22h15 (DES Challenge III) par DES cracker + 100000 PCs sur Internet.
K K
➔ triple DES à 3 clés (-> clé de 168 bits) ou triple DES à 2 clés (-> clé de 112 bits) :
C i-1 C E D
i-1 E
k k
DES DES
{ecb} k bits {ecb} k bits M C
V.I. V.I. K1 K2 K1

D E D

C = {[{M}K1]K2}K1 M = [{[C]K1}K2]K1
Mi (k bits) Ci (k bits) Mi (k bits)

☞ Les fonctions S pourraient contenir un piège caché.


L'analyse de la sécurité de ces fonctions a été classifiée et n'est donc pas publique.
Propagation d’erreur : sur ⎡64/k⎤ blocs de k bits successifs. Une commission d'enquête gouvernementale a conclu à la non-intervention de la NSA (National Security
Agency) dans la conception du DES.
☞ Attaque Shamir-Biham... inexploitable en pratique

   
AES : Advanced Encryption Standard Conclusions sur les chiffres symétriques
En janvier 1997, un concours international a été lancé par le NIST pour définir un (ou plusieurs)
algorithme(s) susceptible(s) de remplacer le DES pour les 20 ou 30 prochaines années ou plus. ☞ Il est possible de résister aux attaques avec une clé relativement courte (~160 bits aujourd’hui)
ƒ clés de 128, 192 ou 256 bits
ƒ blocs de 128 bits.
☞ Confidentialité et intégrité sont toujours assurées simultanément :
En août 1999, 5 finalistes ont été sélectionnés (parmi 15 candidats), en fonction de critères ➔ seul(s) le(s) détenteur(s) de la clef peut (peuvent) déchiffrer (confidentialité)
- de sécurité :
➔ seul(s) le(s) détenteur(s) de la clef peut (peuvent) signer (intégrité)
ƒ résistance à la cryptanalyse, bases mathématiques solides, caractère aléatoire des cryptos
- de coût :
ƒ droits d’auteur (sans royalties), vitesse (de carte à puce à mainframe), taille mémoire requise ☞ Bien adaptés pour l'archivage de fichiers personnels (à condition de bien choisir et mémoriser la clé).
- de caractéristiques algorithmiques et d’implémentation :
ƒ flexibilité : longueurs de clé et de blocs, types d’implémentation, types d’utilisation
☞ Pour les communications, ils nécessitent que l'émetteur et le récepteur s'échangent la clé au préalable
(stream cipher, hash function, …)
par une voie sûre.
ƒ implémentable efficacement en hardware, software, middleware
ƒ simplicité de l’algorithme
☞ On ne peut pas les utiliser comme signature digitale si les deux parties ne se font pas confiance
☞ MARS (IBM) mutuellement. En effet, on ne peut pas savoir si le message a été chiffré par l'émetteur ou le récepteur
(ou même un tiers auquel l'un des deux aurait donné la clef)
☞ RC6 (RSA Lab)
☞ Rijndael (Daemen, Rijmen)
☞ Serpent (Ross Anderson, Edi Biham, Lars Knudsen)
☞ Twofish (Schneier et al.)
   

Chiffres asymétriques ou "à clé publique" : Kc ≠ Kd 2. Intégrité : clé de signature secrète : Ksecrète = Ksignature = Ks
clé de vérification publique : Kp = Kv
clé de chiffrement clé de déchiffrement ➔ tout le monde peut vérifier une signature, seul l'émetteur a pu la générer :
Kc Kd Σ = {M}Ks et M = [Σ]Kp

M = texte clair C = cryptogramme M = texte clair

Chiffrement Déchiffrement Ks Kv = K p

Σ = {M}Ks =?
OK
Les clés de chiffrement et de déchiffrement sont différentes, et il est “impossible”, connaissant l’une { } Ks [ ] Kv
(publique), de trouver l’autre (secrète ou privée).

Ce schéma a été proposé pour la 1ère fois en 1976 par Diffie et Hellmann (le brevet expire le 29 avril M
1997).

1. Confidentialité : clé de chiffrement publique : Kp = Kc Non-répudiation d'origine : le récepteur peut convaincre un juge que c'est bien l'émetteur qui a signé
clé de déchiffrement secrète : Ks = Kd le message.
➔ tout le monde peut chiffrer un message, seul le destinataire peut le déchiffrer:
C = {M}Kp et M = [C]Ks

 
Les chiffres exponentiels Le chiffre RSA
Un message est découpé en blocs de telle façon que chaque bloc M soit une représentation binaire d'un Chiffre dû à Rivest, Shamir et Adleman (MIT, 1978).
nombre de l'intervalle (0, n-1).
Le principe repose sur un problème de la théorie des nombres qui n'a pas aujourd'hui de solution facile :
Les opérations sur les nombres M sont effectuées modulo n. la factorisation des nombres n'ayant que des grands facteurs premiers.
Dans les chiffres exponentiels, C et M se déduisent l'un de l'autre par : Soit n = P.Q avec P, Q grands nombres premiers :
C= M Kc (mod n) M= C Kd (mod n) ƒ il est facile de calculer n à partir de P et de Q
ƒ il est difficile de retrouver P et Q à partir de n
Or, puisque n est le produit de deux nombres premiers (P, Q), le nombre d'Euler de n s'écrit :
Afin que les deux actions de chiffrement et déchiffrement permettent d'obtenir le bloc de départ, il est
nécessaire que, pour tout M ∈ [0,n-1] : φ(n) = φ(P). φ(Q) = (P-1).(Q-1)
M= C Kd (mod n) = (MKc mod n )Kd mod n D’après le théorème d’Euler, si m et n sont premiers entre eux, mφ(n) mod n = 1
c'est-à-dire : MKcKd (mod n) = M On choisit Kc et Kd tels que1 : Kc.Kd mod φ(n) = 1 => Kc.Kd = k.φ(n) +1
ce qui conduit à :
Les chiffres exponentiels vérifient : { } ≡ [ ], M<n MKcKd mod n = Mk.φ(n).M mod n = M mod n = M
{{M}Kc}Kd = {{M}Kd}Kc car Kc.Kd = Kd.Kc
La difficulté est de trouver Kc et Kd tels que connaissant Kc et n, il soit “impossible” de calculer Kd.
(Exemple RSA).
1 On choisit Kc , un nombre sur [1, φ(n)] premier par rapport à φ(n) et on calcule Kd , l'inverse modulo φ(n) de Kc :
Kd = Kcφ[(P-1).(Q-1)] - 1 (mod φ(n))
 

Sécurité du chiffre RSA Performances du chiffre RSA


Le problème de la cryptanalyse du RSA est au mieux aussi difficile que le problème de la factorisation de
n. Il faut donc choisir n grand pour que la factorisation soit difficile
En raison des opérations mathématiques utilisées, le RSA est beaucoup plus lent que le DES, même en
Le défi publié en août 1977 (129 chiffres décimaux, ~425 bits) a tenu jusque fin avril 1994 : factorisé avec utilisant des circuits spécialisés :
l’aide de 600 volontaires sur 1 600 machines pendant 8 mois (~5 000 MIPS.ans + 45 h sur un MasPar
16K). Le défi RSA-155 (155 chiffres décimaux, soit 512 bits) a été cassé en août 1999 avec environ 8 000
MIPS.ans (~300 stations de travail pendant 3,5 mois) + 224 h.CPU d’un CRAY C916 (2 Goctets de • hardware : ~ 1 Mb/s avec un modulo de 1024 b.
mémoire centrale). (640 Mb/s pour le DES ou 214 Mb/s pour le triple DES avec le chip Analog Device ADSP-2141L)

Les progrès sur les méthodes de factorisation ont été plus rapides que prévus : • software : ~ 10 Kb/s par logiciel sur un Pentium 100MHz
RSA-140 a été cassé en février 1999 avec ~2 000 MIPS.ans (typiquement, le DES est ~100 fois plus rapide)
et on estimait alors qu’il faudrait ~1 4000 MIPS.ans pour casser RSA-155.
Les nombres de 1024 bits sont néanmoins hors de portée des méthodes actuelles (il faudrait de l’ordre de
1010 MIPS.ans avec la méthode utilisée pour RSA-140 et RSA-155), même en utilisant TWINKLE, la
machine à factoriser imaginée par Adi Shamir.

Recommandations :
• n et Ks : au moins 800 bits, mais Kp peut être petit (par exemple : 15 ou 65)
• P et Q doivent être de tailles comparables (à peu près la longueur de n/2, ex : 400 bits)
• (P-1) et (Q-1) doivent contenir chacun un grand facteur
• le pgcd [ (P-1), (Q-1) ] doit être petit
• (P-1) et (Q-1) doivent être premiers avec Kp
  
Autres chiffres asymétriques Conclusions sur les chiffres asymétriques

On peut concevoir des chiffres asymétriques basés sur d’autres problèmes aussi difficiles (ou plus Caractéristiques :
difficiles) que la factorisation des grands nombres • taille de clés (~1024 bits pour le RSA ou DH, ~160 bits pour les courbes elliptiques ECC
• beaucoup moins rapides (~1 Mb/s par matériel) que les chiffres symétriques (~600 Mb/s)
• Sac à dos : intérêt seulement historique (peu sûr)
• surtout utiles pour garantir l'authenticité de messages courts
• calcul de logarithmes discrets sur un corps d’entiers fini (mais très grand) : • souvent utilisés pour échanger des clés de chiffrement symétrique
connaissant (gx) et (gxy), calculer y = log(gxy)/log(gx) ?
clés de l’ordre de 1024 bits
Problèmes : intégrité de l'annuaire des clés publiques
ƒ Diffie-Hellmann : distribution de clés (voir plus loin)
durée de vie des clés
ƒ El-Gamal : chiffrement/déchiffrement, signature
ƒ DSA : signature … plus un certain nombre de risques si on n’y prête pas attention ! ! !
(ex : chiffrer un très petit nombre par RSA)
• courbes elliptiques (ECC) : problème analogue au calcul de logarithmes discrets, mais avec des
clés pouvant être beaucoup plus courtes (de l’ordre de 160 bits) :
Mise en place d’infrastructures à clés publiques (PKI) : certification authorities CA
ECC-97 (97 bits) a été cassé en septembre 1999 avec 16 000 MIPS, 2 fois plus que pour RSA-155
ƒ distribution de clés
ƒ chiffrement/déchiffrement
ƒ signature

   

Génération de clé commune (Diffie-Hellman) Fonctions de hachage à sens unique


One-way hash functions
+(M)
Deux partenaires A et B veulent communiquer (confidentialité, intégrité)
Caractéristiques :
comment obtenir une clé commune (pour chiffre symétrique) ?
ƒ l’empreinte +(M) est de longueur fixe (ex. n = 128 bits) quelle que soit la longueur de M
ƒ connaissant M, il est facile de calculer +(M)
A génère aléatoirement : n = grand nombre premier, tel que (n-1)/2 soit aussi premier ƒ connaissant +(M), il est impossible de calculer M
g = grand nombre, g < n ƒ connaissant +(M), il est difficile (~2n essais) de trouver M’ tel que +(M’) = +(M)
x = clé secrète de A (contrairement aux CRC, par exemple)
puis A calcule Ka = gx mod n et transmet (n, g, Ka) à B.
Technique habituelle :
B génère aléatoirement y (clé secrète de B), et calcule Kb = gy mod n et transmet Kb à A.
on découpe M en tranches de taille fixe (ex. 64 bits) -> M0, M1, M2, ..., ML
A et B peuvent alors calculer séparément Ks = Kbx mod n = Kay mod n = gxy mod n h0 = +(constante, M0)
hi = +(hi-1, Mi-1)
Connaissant n, g, Ka et Kb, un espion E ne peut calculer Ks.
+(M) = hL

Vulnérable à une attaque par un « homme au milieu » Exemples d’algorithmes : Snefru (conçu par R.C.Merkle),
MD4, MD5 (de R.Rivest),
SHA (proposé par le NIST), ...

Vitesse : chip Analog Device ADSP-2141L : MD5 à 315 Mb/s, SHA-1 à 253 Mb/s

   
Partage de secret
Secret sharing Exemple simple : Seuil = 2

comment stocker un secret K sur des sites non dignes de confiance ?


y4 P(x) = {y = a x + b}
y3
Schéma à seuil: y y0 = a x0 + b = b
2
y y1 = a x1 + b
1
- Stocker K sous la forme d’un ensemble de valeurs Ki (images), telles que: y2 = a x2 + b
y0
• S images permettent de reconstruire le secret (S = seuil) •••
• S-1 images n’apportent aucune information ym = a xm + b

a, b secrets
- Si l’on sait générer N images (avec N>S), alors on peut perdre jusqu’à N-S images 0 x1 x2 x3 x4 x1, x2, ••• xm fixés

Ö à partir de deux points quelconque on sait calculer a et b :


ƒ avec 2 images quelconques, on reconstruit le secret
ƒ avec une seule image, on n’a rien
=> Seuil = 2

   

Exemple : I.3.4. Certification, contrôle d’intégrité


soient : x1, x2, …, xm = 1, 2, … , m
et deux points : y2 = 8 et y4 = 36
Un certificat permet de s'assurer que les informations reçues
alors (1) 8 = 2 a + b • sont bien celles qui ont été émises,
(2) 36 = 4 a + b
• et proviennent bien de l'émetteur prétendu
(1) ➠ b=8-2a
(2) ➠ 36 = 4 a + 8 - 2 a = 2 a + 8
a = (36 - 8) / 2 = 14
(1) ➠ b = 8 - 28 = -20 Cette technique est utile pour :
• messages, transfert de données
Généralisation ➠ polynôme de degré n • la distribution de logiciels
Exemple : bandes magnétiques de compensation interbancaire
P(x) = a0+ a1x+ a2x2+ ••• + anxn
Si l’on connaît S = n+1 points, on sait recalculer les coefficients du polynôme (S équations à S
inconnues) : interpolation polynomiale de Lagrange Pour les logiciels, ça permet de vérifier qu'aucun cheval de Troie n'a été inséré : contrôles d'intégrité
Les calculs se font modulo q, dans un corps de Galois (avec q premier) périodiques, apériodiques ou sur détection d'incident (ex.: Tripwire).

GF(q) = { 0, 1, 2, ••• , q-1 }

P(x) = ∑ yi ∏ (x − xj ) mod q
1≤i ≤k 1≤ j ≠i ≤k (xi − xj )

   
3 méthodes de certification I.3.5. Cloisonnement
(a) MAC : message authentication code : ex: DES en mode CBC ou MD5(clé, M) isoler tout ce qui peut l'être
le certificateur et le vérificateur possèdent la même clé secrète
le message est transmis en clair, ainsi que la signature : répudiation possible
• isoler les centres de développement de logiciel et les centres opérationnels
(b) Fonction de hachage à sens unique + signature par schéma à clé publique : ex. DSS :
l’empreinte (SHA) est signée à l’aide de la clé secrète, vérifiée par la clé publique • spécialiser les centres selon la sensibilité des informations traitées (ou travail par vacation =
(non-répudiation) séparation temporelle)

Génération de signature Vérification de signature • zones TEMPEST


Ks Kv
• restreindre la connexion aux serveurs à des requêtes prédéfinies

• séparer les systèmes de surveillance des systèmes opérationnels


+(M) Σ Ks
Σ
Σ−1 Kv
OK ?
+

M +(M)
M +

(c) Notarisation : un 3ème partenaire de la communication enregistre les messages et se porte garant de
l'identité des deux autres partenaires (non-répudiation)

   

I.3.6. Journalisation (audit) I.3.7. Détection d'intrusions et intervention

Garder des traces de toutes les opérations susceptibles de mettre en cause la sécurité, opérations autorisées Intrusions = attaques externes (individus non-enregistrés)
(réussies) et opérations refusées (échecs)
+ attaques internes (utilisateurs cherchant à étendre leurs droits ou abus de pouvoir)
• connexion et déconnexion des utilisateurs
• création, modification ou destruction d'informations sensibles (droits d'accès, mots-de-passe, ...)
Détecter, ralentir, intervenir (+ enregistrer, corriger)
• changement de privilège • Détection :
• ... ƒ par les mécanismes de contrôle d'accès : authentification et autorisation
ƒ par discrimination entre les comportements normaux (utilisation légitime) et les comportement
Les journaux : anormaux (intrus : déguisement, abus de pouvoir) : systèmes experts, analyse statistique
ƒ autres détections : audits de sécurité, détection d'erreurs, défaillances
• doivent être indestructibles
• Ralentissement :
• doivent porter sur tous les utilisateurs (y compris les administrateurs, opérateurs, ...) ƒ résilier les droits
• doivent contenir le maximum d'informations utiles : heure, identité de l'utilisateur, type ƒ tromper l'attaquant
d'opération, référence de l'information, ... • Intervention :
ƒ identifier et localiser l'attaquant
ƒ poursuites judiciaires
Problème : coût en temps CPU, transfert disque, espace disque ƒ restauration des informations détruites
Exemple typique : SunOS C2 : 20% de CPU, 40% des transferts disque, 100 Mo/jour.

   
I.3.8. Sauvegardes, systèmes de secours
I.4. Evaluation
Pour pouvoir restaurer des informations, il faut soit les avoir sauvegardées ! I.4.1.Méthodes d’Analyse des Risques
Utile contre les malveillances, mais aussi contre les destructions accidentelles (mauvaises manipulations, En France, il existe 2 méthodes d'évaluation d'une installation :
défaillances matérielles), surtout sur les machines individuelles (micros...) ☞ MARION, proposée par l'APSAIRD (Assemblée Plénière des Sociétés d'Assurance Incendie et
Attention aux erreurs latentes : des informations erronées peuvent n'être détectées comme telles que très Risques Divers), utilisée (entre autres) pour évaluer les montants des primes d'assurance
longtemps après leur création... existe-t-il une sauvegarde correcte ? ☞ MELISA, développée pour la DGA, visant plutôt les systèmes militaires et gouvernementaux
(confidentialité > intégrité > disponibilité)

Aujourd'hui l'informatique est vitale pour beaucoup d'entreprises Ces 2 méthodes consistent à
• analyser les vulnérabilités
=> il faut prévoir les conséquences des accidents (ou malveillances) possibles
• analyser les menaces
• analyser les risques
centres de secours • évaluer les conséquences
plans de secours • évaluer les coûts correspondants
• évaluer les coûts des contre-mesures
• sélectionner les solutions donnant le meilleur rapport efficacité/coût
• suivre l'évolution de l'installation

   

I.4.2.Critères américains
Classification du livre orange
Issus d'un souci (~1980) de créer un marché pour des systèmes informatiques sécurisés pour pouvoir
satisfaire à moindre coût les besoins de la Défense américaine
➞ confidentialité > intégrité > disponibilité
➞ création d'une norme, sous forme de critères d'évaluation : le Livre Orange D Protection minimale
TCSEC : Trusted Computer System Evaluation Criteria (DoD, 1985) C1 Protection discrétionnaire sécurité discrétionnaire
• 7 classes (D, C1, C2, B1, B2, B3, A1) ordonnées C2 audit
• un système informatique sera accepté dans une classe s'il vérifie à la fois B1 labels
ƒ des critères sur la doctrine de sécurité
ƒ des critères sur la responsabilité (ou administration) B2 Protection obligatoire protection structurée
ƒ des critères sur l'assurance (ou garantie) B3 domaines de sécurité
ƒ et des critères sur la documentation
A1 Protection vérifiée vérification
Le Livre Orange ne s'applique directement qu'aux systèmes informatiques classiques (isolés), mais pas
facilement aux réseaux, aux bases de données, au temps réel, au transactionnel...
Pour ces systèmes, des "Interprétations" et des Guides ont été publiés par le NCSC :
ƒ Livre Rouge ou TNI : Trusted Network Interpretation of the TCSEC
ƒ Personal Computer Security Consideration
ƒ Guides pour l'audit, pour le contrôle d'accès discrétionnaire, les mots-de-passe, la gestion de
configuration …

   
Doctrine de sécurité Responsabilité

Contrôle d'accès Réutilisation Labels Contrôle d'accès Identification et Cheminement sûr Audit
discrétionnaire d'objet obligatoire authentification

D D

C1
C1 +
+
C2 + +
C2 + +
B1 + +
B1 = = + + B2 = + +
B2 = = + + B3 = = +

B3 A1 = = =
+ (ACL) = = =
A1 = = = =

   

Assurance opérationnelle Assurance du cycle de vie

Architecture Intégrité du Analyse des Gestion Reprise Essai de la Spécification et Gestion de la Distribution
du système système canaux d'une sûre sécurité vérification configuration sûre
cachés installation
D
D
C1 +
C1 + +
C2 +
C2 + =
B1 + +
B1 + =
B2 + + +
B2 + = + +
B3 + + =
B3 + = + + +
A1 + + + +
A1 = = + = =

   
Documentation Critères fédéraux

Ébauche de norme (NIST et NSA) publiée en 1994


Guide de Manuel Documentation Documentation -> remplacer le Livre Orange et ses dérivés (sans adopter les ITSEC)
l'utilisateur d'installation des essais sur le concept -> préparer des critères communs...
sûre de sécurité
Objectifs :
D
• mieux prendre en compte confidentialité, intégrité et disponibilité
C1 + + + + • évaluation de produits plutôt que de systèmes
C2 = + = = • séparer explicitement les aspects fonctionnels, les aspects liés au développement et les aspects
d’assurance (ou vérification), chacun de ces aspects étant évalués avec différents niveaux
B1 = + = +
Assurance packages : exemples, correspondant à 7 niveaux de sécurité dans un ordre croissant, regroupant
B2 = + + + des niveaux de fonctionnalité, de méthodes de développement et de vérification “homogènes”

B3 = + = + Profils prédéfinis :
• 3 profils commerciaux : CS1 à CS3 (dans un ordre croissant de sécurité) (CSR, Commercial
A1 = = + + Security Requirements)
• 4 profils (LP1 à LP4) pour des systèmes traitant des informations confidentielles compartimentées
et/ou multi-niveaux.

   

I.4.3 Critères “harmonisés” européens I.4.4 “Critères communs”

☞ Des critères européens ont été définis : ☞ Définis par un groupe de travail « Common Criteria Editorial Board »
= NIST+NSA, Canada, GB, France, Allemagne
ITSEC : Information Technology Security Evaluation Criteria

• critères fonctionnels : définition d’une TOE (Target of Evaluation) en fonction de classes F1 à F10 Les critères communs visent à faire la synthèse des ITSEC et des critères « fédéraux » :
prédéfinies + ... : • séparation des critères fonctionnels et des critères d’assurance, comme les ITSEC
- F1 à F5 = TCSEC (C1,C2,B1, B2, B3/A1) : ordonnées, confidentialité • possibilité d’utiliser des « profils » prédéfinis (fonctionnalités + assurance) pour des applications
- F6 à F10 : non ordonnées, intégrité, disponibilité, réseaux, ... précises (ex : systèmes bancaires, firewalls, cartes à puces, …), comme les critères fédéraux
• critères d’assurance : • possibilité de définir une « TOE » pour des applications spécifiques, comme les ITSEC
- conformité (correctness) : classes E1 à E6, correspondant à des exigences sur le processus de
développement, l’environnement de développement et l’exploitation
Les critères communs (versions 2.1) sont devenus la norme ISO/IEC 15408 (août 1999).
- efficacité (effectiveness) : pertinence et cohésion des fonctionnalités, résistance des mécanismes,
vulnérabilité de la construction, facilité d’emploi, vulnérabilité en exploitation
• évaluation en fonction des affirmations des fournisseurs (claim language)

☞ Un manuel d’évaluation (ITSEM) est paru.

   
I.4.5. Evaluation quantitative Graphe des privilèges

L'évaluation quantitative de la sécurité est peu développée 5


A 5

2
2 5
• évaluation de la bande passante des canaux cachés P B X
1 admin
6 5 5 3
3
• résultats de la théorie de l'information appliqués aux mécanismes cryptographiques (entropie, 1 3
équivocation, …) filtre G
4
5 5
• tentative d’utilisation de méthodes stochastiques pour évaluer la résistance d’un système en 5
C
exploitation vis-à-vis d’attaques connues (LAAS-CNRS)
D 2
5
1
E P2
2
5
5
soft
admin
3 5
1
insider F

1) X peut deviner le mot de passe de Y; 2) X est dans le “.rhost” de Y; 3) Y est un sous-en,semble de X; 4) X peut attaquer Y par Email;
5) Y utilise un programme qui appartient à X ; 6) X peut modifier un programme “setuid” qui appartient à Y.

   

Prototype

Security Policy Probing vulnerabilities (ASA) UNIX

Target Attacker Sets Privilege Graph

Quantitative Evaluation
Graph Archiving

Daily Results
Archive of Graphs

Presentation of Results
: Tool
: Data file
: Optional

 

Vous aimerez peut-être aussi