Upload
lilia-sfaxi
View
348
Download
9
Tags:
Embed Size (px)
DESCRIPTION
Visitez http://liliasfaxi.wix.com/liliasfaxi !
Citation preview
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 de Tunisie 2014
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
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
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
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
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
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)
La Transparence! 6
Transparence Transparence à la localisation
Utilisateur ignore la situation géographique des ressources
7
Transparence Transparence à la localisation
Transparence d’accès Utilisateur accède à une ressource locale ou distante indifféremment
8
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
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
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
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
Exemples de Systèmes Répartis
Malgré les difficultés, des systèmes répartis sont largement utilisés: DNS : Domain Name Service FTP : File Transfer Protocol Services de courrier électronique
Exemple le plus célèbre: Internet!
13
MENACES ET PROPRIÉTÉS CLASSIQUES DE LA SÉCURITÉ DES SYSTÈMES RÉPARTIS
Systèmes Répartis
14
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
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
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
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
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
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
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
Man In The 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
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
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
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
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
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
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
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
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
Disponibilité
Garantir l’aptitude du système à remplir une fonction dans les conditions définies d’horaires, délai et performances
31
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
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
MÉCANISMES CLASSIQUES DE LA SÉCURITÉ DES SYSTÈMES RÉPARTIS
Systèmes Répartis
34
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!
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
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
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
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
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
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
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. Ben Yahia : « 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