1. Dr. Lilia SFAXI
Sécurité des
Systèmes Répartis
Partie 1 :
Systèmes Répartis et
Mécanismes de Sécurité
Classiques
Doctorants ETIC, Ecole Polytechnique deTunisie 2014
2. Système Réparti
Ensemble composé d’éléments reliés par un système de communication ;
les éléments ont des fonctions de traitement (processeurs), de stockage
(mémoire), de relation avec le monde extérieur (capteurs, actionneurs)
Les différents éléments du système ne fonctionnent pas indépendamment
mais collaborent à une ou plusieurs tâches communes.
Conséquence : une partie au moins de l’état global du système est partagée entre
plusieurs éléments (sinon, on aurait un fonctionnement indépendant)
1
3. Système Réparti
Du point de vue utilisateur, un système réparti se comporte
comme un système traditionnel, mais s’exécute sur de
multiples unités indépendantes (Tannenbaum)
Un système réparti est un système qui vous empêche de
travailler quand une machine dont vous n’avez jamais
entendu parler tombe en panne (Lamport)
2
4. Informatique Répartie
Pourquoi?
Raisons budgétaires : économie de logiciels, de matériels
Raisons intrinsèques : adapter le système à l’application (BDD réparties, Web,
systèmes bancaires…)
Besoin de partager
Des informations : fichiers, BDD, messages
Des ressources : unités de stockage, imprimantes, serveurs
Des services
Accélérer le calcul : Parallélisation de tâches
Alléger la charge : réduire les goulots d'étranglement
Augmenter la fiabilité : duplication de machines, de données
⇒ réalisation de systèmes à haute disponibilité
Qualité de service : diminuer les coûts, les délais, augmenter la disponibilité
Réaliser des systèmes ouverts, évolutifs : adjonction facile de matériels et logiciels.
3
5. Informatique Répartie
En opposition à:
L’informatique centralisée : celle des gros ordinateurs
L’informatique individuelle : celle des micro-ordinateurs
Caractérisée par:
1. Partage des données
2. Partage des applications
3. Partage des ressources
4. Communication
4
6. Utilité
Partage des ressources (données, applications, périphériques)
Optimisation de leur utilisation
Interconnexion de machines dédiées
Facilité de communication entre les utilisateurs
Gain en coût des processeurs de petite puissance
Facilité d’extension du système en sauvegardant l’existant
Redondance
à
Tolérance aux pannes
Distribution des données
à
Fiabilité, Sécurité, Disponibilité
Parallélisme des exécutions
à
Performance
5
7. Propriétés Souhaitées
Le système doit pouvoir fonctionner (au moins de façon
dégradée) même en cas de défaillance de certains de
ses éléments
Le système doit pouvoir résister à des perturbations du
système de communication (perte de messages,
déconnexion temporaire, performances dégradées)
Le système doit pouvoir résister à des attaques contre
sa sécurité (violation de la confidentialité, de l’intégrité,
usage indu de ressources, déni de service)
LaTransparence!
6
9. Transparence
Transparence à la localisation
Transparence d’accès
Utilisateur accède à une ressource locale ou distante
indifféremment
8
10. Transparence
Transparence à la localisation
Transparence d’accès
Transparence à l’hétérogénéité
Interopérabilité: l’utilisateur ne se soucie pas des
différences matérielles ou logicielles des ressources
9
11. Transparence
Transparence à la localisation
Transparence d’accès
Transparence à l’hétérogénéité
Transparence aux pannes
Pannes et réincarnations sont cachées à l’utilisateur
10
12. Transparence
Transparence à la localisation
Transparence d’accès
Transparence à l’hétérogénéité
Transparence aux pannes
Transparence à l’extension des ressources
Extension ou réduction du système sans gêne pour
l’utilisateur
11
13. Difficultés
Asynchronisme du système de communication
Pas de borne supérieure stricte pour le temps de transmission d’un
message
Ø Difficulté pour détecter les défaillances
Ø Difficulté de coordination
Dynamisme : La composition du système change en permanence
Ø Difficulté pour définir un état global
Ø Difficulté pour administrer le système
Grande taille : nombre de composants, utilisateurs, dispersion
géographique
Ø Difficulté de supporter un système extensible (scalable)
Sécurité !
12
14. Exemples de Systèmes Répartis
Malgré les difficultés, des systèmes répartis sont
largement utilisés:
DNS : Domain Name Service
FTP : FileTransfer Protocol
Services de courrier électronique
Exemple le plus célèbre:
Internet!
13
15. MENACES ET PROPRIÉTÉS CLASSIQUES
DE LA SÉCURITÉ DES SYSTÈMES RÉPARTIS
Systèmes Répartis
14
16. Notions de Base
Politique, Propriété et Mécanisme de Sécurité
Politique de Sécurité
Ensemble de lois, règles et pratiques qui régissent la façon
dont l’information sensible et les autres ressources sont
gérées, protégées et distribuées à l’intérieur d’un système
spécifique [ITSEC]
Ø Permet de déterminer les objets à sécuriser et
identifier les menaces à prendre en compte
Pour construire une politique de sécurité, il faut définir
un ensemble de propriétés de sécurité
15
17. Notions de Base
Politique, Propriété et Mécanisme de Sécurité
Propriété de Sécurité
Une propriété de sécurité est une condition qui doit être
satisfaite par le système
Exemple : « Une information classifiée ne doit pas être transmise à
un utilisateur non habilité à la connaître » à Propriété de
confidentialité
16
18. Notions de Base
Politique, Propriété et Mécanisme de Sécurité
Mécanisme de Sécurité
Moyen utilisé pour mettre en œuvre une propriété de
sécurité
Exemple : Le chiffrement symétrique est un mécanisme possible
pour assurer la propriété de confidentialité
17
19. Notions de Base
Politique, Propriété et Mécanisme de Sécurité
18
Propriété de Sécurité
Propriété de Sécurité
Mécanisme1
Mécanisme3
Mécanisme2
Politique de Sécurité
Mécanisme1
Mécanisme2
Middleware
20. Objectifs de Sécurité Informatique
Préserver la confidentialité et l’intégrité de
l’information
Garantir l’origine d’une information, l’identité d’une
personne ou organisation
Protéger l’accès aux services
Fournir des éléments de preuve sur les actions
réalisées
19
21. Menaces Classiques
Menaces des systèmes répartis : surtout causées par
des attaques en réseau
1. DDoS
2. MITM
3. IP Spoofing
4. Packet Sniffing
5. Replay Attack
20
22. Distributed Denial of Service
DDoS : Attaque qui rend le service indisponible pour
les utilisateurs en le submergeant de trafic inutile
Provoquée par plusieurs machines à la fois
(contrairement au DoS)
Risque : Déni de Service
21
23. Man InThe Middle (MITM)
L’attaquant établit des connexions indépendantes avec
les victimes et relaie les messages entre elles, en leur
faisant croire qu’elles discutent entre elles
L’attaquant intercepte les messages et les réinjecte
Risques :
Violation de confidentialité
Violation d’intégrité
Usurpation d’identité
22
24. Usurpation d’Adresse IP
IP Spoofing
L’attaquant personnifie une autre machine en
envoyant des messages avec son adresse IP
Risque: Usurpation d’identité
23
IP: 10.9.9.100
IP: 10.9.9.100
25. Reniflement de Paquets
Packet Sniffing
L’attaquant intercepte et enregistre le trafic circulant sur
le réseau
Risques :
Violation de confidentialité
Usurpation d’identité
24
26. Attaque Par Rejeu
Replay Attack
Attaque MITM où l’attaquant répète ou retarde une
transmission de données valide.
Exemple : Sauvegarde un mdp et l’envoie au moment opportun.
Risques :
Usurpation d’identité,
Violation de confidentialité
25
27. Propriétés de Sécurité
Pour contrer ces attaques, nous avons besoin d’assurer
plusieurs propriétés de sécurité
1. Authentification
2. Autorisation
3. Confidentialité
4. Intégrité
5. Disponibilité
6. Imputation
7. Non Répudiation
26
28. Authentification
Procédure permettant au système de vérifier l’identité d’une
entité
Identification
Simple déclaration pour connaître l’identité d’une personne
Code d’identification (identifiant, carte d’identité…) n’est pas secret
Authentification
S’appuie sur un élément de preuve (secret commun) pour vérifier
l’identité d’une personne
Besoin de 2 éléments au moins
Un identifiant pour permettre l’identification de l’entité
Un facteur d’authentification : élément que l’on sait (code secret), que l’on
possède (support physique) ou que l’on est (biométrie).
Multiplication des facteurs d’authentification augmente le niveau de
sécurité
27
29. Autorisation
Associer à une entité un ensemble de droits sur une
ressource
Vérifier que l’envoyeur d’une requête est autorisé à
l’émettre, et donc que le système est autorisé à la
satisfaire
28
30. Confidentialité
Protéger une information dont l’accès est limité aux
seules entités admises à la connaître
Définition de plusieurs degrés de confidentialité,
selon la criticité de l’information
29
31. Intégrité
Vérifier que l’altération d’une information ne se fait
que dans le cadre volontaire et légitime
Deux types d’intégrité:
Intégrité des informations : propriété de ne pas être
altérée ou détruite de manière non autorisée,
volontairement ou accidentellement
Intégrité des systèmes ou processus : propriété de
réaliser la fonction désirée de façon complète et selon les
attentes, sans être altérée par une intervention non
autorisée, volontaire ou accidentelle.
30
33. Imputation
Garantir que les actions d’une entité sont tracées et
attribuées à cette seule entité
Assure deux propriétés intrinsèques:
Identification : Pouvoir identifier, pour toutes les actions
accomplies, les personnes, systèmes ou processus qui les
ont initiées
Traçabilité : Garder une trace de l’acheminement des
données et des actions
32
34. Non Répudiation
Assurer que l’information ne pourra pas être
plausiblement désavouée
Un expéditeur ne pourra ainsi pas plus nier avoir
reçu un message, qu’un destinataire l’avoir reçu.
Un contrat est un contrat!
33
36. Mécanismes de Sécurité
Plusieurs types de mécanismes de sécurité classiques
pour les systèmes répartis, selon la propriété à
satisfaire :
1. Contrôle d’accès
2. Primitives Cryptographiques
3. Délégation
35
37. Contrôle d’Accès
Permet de protéger les ressources physiques em
vérifiant si une entité qui demande accès à une
ressource a les droits nécessaires pour le faire
À la fois un mécanisme d’authentification et
d’autorisation
36
38. Contrôle d’Accès
RBAC : Role-Based Access Control
Définir les autorisations et les permissions selon le rôle
Un utilisateur peut avoir plusieurs rôles, et cumuler ainsi les
capacités (capabilities)
Définition du concept de matrice de contrôle d’accès
Colonnes : Sujets (entités actives) ou Rôles
Lignes : Objets (ressources)
Cellule :Actions que le sujet est autorisé à réaliser sur l’objet
Chaque ligne de la matrice représente une ACL (Access
Control List) et chaque colonne une capability
(capacité)
37
39. Contrôle d’Accès
Pages
Admin
Paiement
Public
Utilisation
compte
Admin
Compte
Admin
X
Propriétaire
X
X
X
Invité
X
Utilisateur
X
X
Payeur
X
X
X
X
38
ACL
Capability
Exemple de Matrice de Contrôle d’Accès
40. Mécanismes d’Authentification
Plusieurs facteurs d’authentification possibles
Identifiant et mot de passe : le plus célèbre
Identifiant et mot de passe OTP (One Time Password)
Certificats PKI (Public Key Infrastructure)
Clefs Confidential Defense
Clef multifonction regroupant un certificat, des données, ressources
crypto…
Carte à puce
Contient un identifiant et un mot de passe, en général très complexe
Biométrie
Vérification d’un élément du corps de l’utilisateur (gen. Empreinte)
Identification sans contact
Lecture d’une puce RFID active (alimentée) ou passive (sans
alimentation propre), seulement pour identification.
39
41. Primitives Cryptographiques
Sécuriser les données au niveau applicatif, pendant
leur transport
Permet d’assurer :
Confidentialité : Données secrètes invisibles par
l’attaquant
Intégrité : Données non modifiées par des entités tierces
Authentification et Non Répudiation : Vérifier que les
données proviennent bien de l’entité qui prétend l’avoir
envoyé
40
42. Fonction de Hachage
Fonction qui assure l’intégrité d’un message
Génère un bloc de bits (de plusieurs centaines de
longueur) à partir d’un message
è Empreinte numérique ou message digest
Fonction à sens unique (one-way function)
Si le message est modifié, même légèrement, un
changement significatif est opéré dans l’empreinte (à
hauteur de 50% de changement pour un bit modifié)
Plusieurs algorithmes existants, par exemple:
MD5 (message digest 5), standard, empreinte de 128 bits
SHA-1 (Secure Hash Algorithm-1), conçu par NSA, 160 bits
41
43. Chiffrement Numérique
Assure la confidentialité d’un message
Principalement 3 types de chiffrement:
1. Chiffrement Symétrique
2. Chiffrement Asymétrique
3. Chiffrement à Clef de Session
42
44. Chiffrement Symétrique (1/3)
Chiffrement Symétrique ou à clef privée :
1. Alice et Bob disposent d’une même clef secrète qu’ils
sont les seuls à connaître
2. Ils se mettent d’accord pour utiliser un algo de crypto.
Commun (cipher)
3. Pour envoyer un message secret à Bob, Alice le chiffre
(génère ainsi un cryptogramme) et l’envoie
4. Bob déchiffre le message avec sa clef
43
45. Chiffrement Symétrique (2/3)
Il est possible de chiffrer les messages
bit par bit, (surtout utilisé dans les implémentations
matérielles) ou
bloc par bloc (bloc = 64 bits)
Dans le chiffrement bloc/bloc, si le message n’est pas
multiple de 64, le dernier bloc est rempli de
valeurs aléatoires jusqu’à atteindre 64 bits
Concept de padding
44
46. Chiffrement Symétrique (3/3)
Plusieurs algorithmes de chiffrement symétrique,
dont :
• DES (Data Encryption Standard)
• TripleDES : application de l’algorithme DES 3 fois, avec
deux clefs différentes
• AES (Advanced Encryption Standard): remplace DES
Difficulté de ce type de chiffrement:
Comment échanger la clef privée entre les deux sujets
sans risque?
45
47. Chiffrement Asymétrique (1/3)
Appelé aussi Chiffrement à clef publique
1. Chacune des parties dispose d’un couple de clefs: une clef
publique (visible par tout le monde) et une clef privée
2. Pour envoyer un message à Bob, Alice le chiffre avec la clef
publique de Bob
3. Bob reçoit le message, et le déchiffre avec sa clef secrète, la
seule qui puisse décoder un cryptogramme de la clef
publique de Bob
46
B!B!
A A B! B! B! A
48. Chiffrement Asymétrique (2/3)
Les clefs publiques et secrètes sont générées par
paire, et sont plus grandes que les clefs de
chiffrement symétriques équivalentes
Il est impossible de déduire une clef à partir d’une
autre
47
49. Chiffrement Asymétrique (3/3)
Algorithmes de chiffrement asymétrique les plus
utilisés :
• RSA (Rivest Shamir Adleman): le plus populaire
• Diffie-Hellman : algorithme à key-agreement. Il n’est
pas utilisé pour le chiffrement, mais pour déduire une
clef secrète, en partageant des informations sur un
canal public
Inconvénient :
Chiffrement très lent (100 à 1000 fois plus lent que le
chiffrement symétrique!)
48
50. Chiffrement à Clef de Session
Technique hybride
1. Alice génère une clef secrète, appelée clef de session
2. Alice chiffre cette clef de session avec la clef publique de
Bob, et la lui envoie
3. Bob déchiffre la clef de session avec sa clef privée.
4. Désormais, Alice et Bob partagent une clef secrète, qu’ils
peuvent utiliser pour le chiffrement symétrique
49
B!
B! B! B!
B!
S
S!
S!
S!
S!
S!
S
51. Signature Numérique (1/2)
Problème du chiffrement et du hachage
Comment vérifier l’authenticité de l’expéditeur d’un
message?
Assure principalement la propriété d’intégrité,
couplée avec celle d’authentification et de non
répudiation
Appelée aussi Signature Digitale
Utilise le processus inverse au chiffrement
asymétrique
50
52. A!
Signature Numérique (2/2)
1. Alice utilise sa clef privée pour chiffrer l’empreinte
numérique (hash)
2. Elle envoie le message en clair et le cryptogramme à Bob
3. Bob utilise la clef publique de Alice pour déchiffrer le
cryptogramme
4. Bob compare le hash du message obtenu à celui du
message en clair envoyé par Alice.
51
A!
A A A
H!
H!
H!
H!
H!
H!
H!
53. Certificat Digital (1/2)
Problème du Chiffrement à clef publique (et session)
Comment s’assurer que la clef publique utilisée est bien
celle de celui qu’il prétend être?
Solution : empaqueter une identité avec la clef
publique, signée par une partie de confiance :
autorité de certification (CA pour Certificate
Authority)
52
54. Certificat Digital (2/2)
CA : organisme qui vérifie l’identité (dans le sens identité
physique réelle) d’une partie
Le CA signe la clef publique et l’identité de cette partie
avec sa clef privée
Le destinataire du message peut obtenir le certificat
digital de l’expéditeur et le déchiffrer avec la clef
publique de la CA
On est sûr que le certificat est valide et que la clef
publique qui y est incluse est bien celle de la partie
qui prétend la posséder
53
55. Délégation (1/4)
Permet à un sujet de déléguer ses permissions et
droits à un autre sujet
Quand une entité est approuvée pour la délégation,
elle peut représenter l’autre entité et faire appel à
des services pour son compte
Utile si on veut :
• Optimiser le nombre d’entités stockées
• Éviter d’avoir un recours systématique à l’autorité de
certification
54
56. Délégation (2/4)
Deux types de délégation :
• Au niveau de l’authentification :
Définie si un mécanisme d’authentification fournit une
identité différente de l’identité valide de l’utilisateur, à
condition que le propriétaire de l’identité effective a déjà
autorisé l’autre utilisateur à utiliser sa propre identité
• Au niveau du contrôle d’accès :
Réalisée quand un utilisateur délègue certaines de ses
permissions à un autre pour accéder à une ressource
55
57. Délégation (3/4)
Implémentation de [Welsh03]
• Délégation = autorisation donnée à un utilisateur
d’affecter dynamiquement une identité X509 à une
entité et lui déléguer ainsi quelques un de ses droits
• Les utilisateurs créent un certificat de type proxy en
délivrant un certificat X509 signé par ses propres
créances au lieu d’avoir affaire à une autorité de
certification
• Construction de domaines de confiance :
• Deux entités utilisant des certificats proxy délivrés par la
même entité se font ainsi confiance
56
58. Délégation (4/4)
Implémentation de [Nikander99]
• Délégation = attribuer à quelqu’un le pouvoir d’agir en tant que
représentant
• Possibilité de changement de la matrice de contrôle d’accès
• Certificat SPKI (Simple Public Key Infrastructure): C = (I,S,D,A,V)
• I : Émetteur à Qui a créé et signé e certificat (représenté par sa clef
publique)
• S : Sujet à Partie pour qui le certificat est délivré
• A :Autorité à Contenu sémantique spécifique à l’application représentant
l’autorité
• D : Délégué? à Est-ce que cette autorité peut être déléguée à quelqu’un
d’autre?
• V :Validité à Période de validité du certificat
57
Partie II : Non-Interférence
59. Sources
Thèse
L. Sfaxi : « Construction de systèmes répartis sécurisés à base de
composants », LIP2/Verimag, Mai 2012
Cours
M. Boulaares, N. BenYahia : « Systèmes Répartis », ISI Kef.
S. Krakowiak : « Systèmes et Applications Réparties », École Polytechnique,
Grenoble
Liens
« La Sécurité des données à caractère personnel », http://goo.gl/x8eaPz,
accédé le 5 juin 2014
Livre Blanc
Stéphane Vinsot, « Les 7 méthodes d’authentification les plus utilisées »,
EVIDIAN
58