Académique Documents
Professionnel Documents
Culture Documents
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
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
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
FAUTES
I.2. Les Attaques
FAUTES
PHYSIQUES
FAUTES DE FAUTES LOGIQUES
CONCEPTION D'INTERACTION MALIGNES
INTRUSIONS
Motivations des attaquants
FAUTES PHYSIQUES ● ● ● ● ● ●
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)
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
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, ...
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
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 ???
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”)
0 0 0 0 1
K 0 1 1
1 1
1 0 1
C = M⊕ K 1 1 0
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
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.
D E D
C = {[{M}K1]K2}K1 M = [{[C]K1}K2]K1
Mi (k bits) Ci (k bits) Mi (k bits)
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
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))
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
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
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
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)
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)
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 = = = =
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
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.
☞ 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)
I.4.5. Evaluation quantitative Graphe des privilèges
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
Quantitative Evaluation
Graph Archiving
Daily Results
Archive of Graphs
Presentation of Results
: Tool
: Data file
: Optional