Chapitre 7 : Scurit - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Chapitre 7 : Scurit

Description:

Introduction de la s curit dans les syst mes distribu s. Survol des techniques de ... Process. p. Process. q. Principal. B. The enemy. Cryptography. Mourad Elhadef, Ph. D. CEG4593 ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 39
Provided by: mourade
Category:

less

Transcript and Presenter's Notes

Title: Chapitre 7 : Scurit


1
Chapitre 7 Sécurité
  • Introduction de la sécurité dans les systèmes
    distribués
  • Survol des techniques de sécurité, dalgorithmes
    de cryptographie et de signatures numériques

2
Thèmes
  • Introduction
  • Menaces et Formes dattaques
  • Cryptographie et Notations utilisées
  • Survol des Techniques de Sécurité
  • Algorithmes de Cryptographie
  • Signatures Numériques
  • Comparaison de Performance

3
Introduction (1)
  • Objectifs dapprentissage
  • Modèle de sécurité Types de menaces
  • Principales techniques de Cryptographie
  • Secret, Authentification, Certificats et preuve
    dauthentification (credential) et Contrôle
    daccès
  • Algorithme dencryptage symétrique et asymétrique
  • Signatures numériques
  • Approches de conception de systèmes sécuritaires

4
Introduction (2)
  • Révision du Chapitre 2 Objets et principaux

Object
invocation
Client
Server
result
Network
  • Objet (ou ressource)
  • Mailbox, système de fichiers, partie dun site
    WEB commercial
  • Principal
  • Utilisateur ou processus ayant lautorité
    (droits) dexécuter des actions
  • Identité du principal est importante

5
Introduction (3)
  • Révision du Chapitre 2 (suite) Lennemi
  • Attaques
  • Sur les applications qui traitent les
    transactions financières ou autres informations
    dont la sécurité ou lintégrité est cruciale
  • Ennemi (ou adversaire)
  • Menaces
  • Aux processus, aux canaux de communication, deni
    de service

6
Introduction (4)
  • Révision du Chapitre 2 (suite) Canaux
    sécuritaires
  • Propriétés
  • Chaque processus est sûr de lidentité de lautre
  • Données sont privées et protégées contre la
    falsification
  • Protection contre la répétition et
    re-ordonnancement des données
  • Utilise la cryptographie
  • Secret basé sur la dissimulation par
    cryptographie
  • Authentification basée sur des preuves de
    possession des secrets

7
Menaces et Formes dattaques (1)
  • Espionnage (Eavesdropping)
  • Obtenir une information secrète ou privée
  • Personnification (Masquerading)
  • réception ou envoi de messages en utilisant
    lidentité dun autre
  • Falsification (Tampering)
  • Modification non autorisée dinformation en
    transite
  • Exemple attaque dite man in the middle
  • Retransmission (Replaying)
  • Stockage et retransmission à une date ultérieure
    dun message
  • Déni de service (Denial of service)
  • innonder un canal ou toute autre ressource, niant
    l'accès à d'autres

8
Menaces et Formes dattaques (2)
  • Menaces non défaites par des canaux sécurisés ou
    autres techniques de cryptographie
  • Attaques déni de service
  • Utilisation excessive de ressources afin de les
    rendre indisponibles aux autres utilisateurs
  • Exemple the Internet 'IP spoofing' attack,
    Février 2000
  • Chevaux de Troie (Trojan horses) et autres virus
  • Virus peut entrer dans un ordinateur seulement si
    un programme est importé
  • Mais les usagers ont besoin de nouveaux
    programmes, par exemple
  • Nouvelle installation de logiciels
  • Code mobile téléchargé dynamiquement par des
    logiciels existant (e.g. applets Java)
  • Exécution accidentelle de programmes transmis
    clandestinement
  • Défenses authentification de code (code signé),
    validation de code (vérification de type,
    démonstration), confinement (sandboxing).

9
IP Spoofing DoS attack (Février 2000)
Untrue!
Compromised host on each local network sends
repeatedly (for all i)
Echo request source x.x.x.x destination

n.n.n.i
Echo reply
source
n.n.n.i
destination x.x.x.x
resulting in
10
Cryptographie (1)
  • Encryptage processus dencodage dun message
    afin de cacher son contenue
  • Encryptage et décryptage

11
Cryptographie (2)
  • Cryptographie moderne inclut plusieurs
    algorithmes sécuritaires pour encrypter et
    décrypter
  • Tous basé sur lutilisation de secrets appelés
    clés
  • Deux principales classes dalgorithmes
    dencryptage
  • Clés secrètes partagées Émetteur et récepteur
    doivent partager la connaissance dune clé qui ne
    doit être révélée à aucune autre personne
  • Paires de clés publique/privée
  • Émetteur dun message utilise une clé publique
    (une qui est a été publiée par le récepteur) pour
    encrypter le message
  • Récepteur utilise la clé privée correspondante
    pour décrypter le message

12
Notations
Alice
First participant
Bob
Second participant
Carol
Participant in three- and four-party protocols
Dave
Participant in four-party protocols
Eve
Eavesdropper
Mallory
Malicious attacker
Sara
A server
KA
Alices secret key
KB
Bobs secret key
KAB
Secret key shared between Alice and Bob
KApriv
Alices private key (known only to Alice)
KApub
Alices public key (published by Alice for all to
read)

M

Message
M
encrypted with key
K
K

M
Message
M
signed with key
K
K
13
Scénario 1 Communication Secrète avec une Clé
partagée (1)
  • Alice et Bob partage une clé secrète KAB.
  • Alice utilise KAB et une fonction dencryptage
    E(KAB, M) pour encrypter et envoi nimporte
    messages MiKAB à Bob.
  • Bob lit les messages encryptés utilisant la
    fonction de décryptage correspondante D(KAB, M).
  • Alice et Bob peuvent utiliser KAB autant que
    possible tant que aussi longtemps qu'ils sont sûr
    que KAB n'a pas été compromise.
  • Problèmes
  • Distribution de clés Comment Alice peut envoyer
    une clé partagée KAB à Bob de façon sécuritaire ?
  • Fraîcheur de la communication Comment Bob
    peut-il savoir que Mi nest pas une copie dun
    message dAlice encrypté plus tôt qui a été copié
    par Mallory et retransmis plus tard ?

14
Scénario 2 Communication Authentiquée avec un
Serveur (2)
  • Bob est un serveur de fichiers Sara est un
    service dauthentification. Sara partage une clé
    secrète KA avec Alice et une autre KB avec Bob.
  • Alice envoi un message (non encrypté) à Sara
    indiquant son identité et demandant un ticket
    pour accéder à Bob. ?
  • Sara envoi une réponse à Alice. TicketKB,
    KABKA. Il est encryptée avec KA et consiste en
    un ticket (qui sera envoyé à Bob avec chaque
    requête daccès à un fichier) encrypté avec KB et
    une nouvelle clé secrète KAB.
  • Alice utilise KA pour décrypter la réponse.
  • Alice envoi à Bob une requête R pour accéder à un
    fichier TicketKB, Alice, R.
  • Ticket KAB, AliceKB. Bob utilise KB pour le
    décrypter, vérifie que le nom dAlice est le bon,
    ensuite il encrypte les réponses pour Alice avec
    KAB.

Un ticket est un item encrypté contenant
lidentité du principal à qui il est issu, ainsi
quune clé partagée pour une session de
communication.
15
Scénario 2 Communication Authentiquée avec un
Serveur (3)
  • Cest version simplifiée du protocole de Needham
    et Schroeder (et Kerberos).
  • Problèmes de temporisation et de retransmission
    adressés dans N-S et Kerberos.
  • Non convenable pour le e-commerce parce que le
    service dauthentification ne peut pas supporter
    plusieurs utilisateurs

16
Scénario 3 Communication Authentiquée avec Clés
Publiques (4)
  • Bob a une paire de clés publique/privée ltKBpub,
    KBprivgt
  • Alice obtient un certificat qui est signé par une
    autorité de confiance mentionnant la clé publique
    de Bob KBpub
  • Alice crée une nouvelle clé partagée KAB ,
    lencrypte avec KBpub moyennant un algorithme
    clé-publique et envoi le résultat ltkeyname,
    KABKBpubgt à Bob.
  • 3. Bob utilise la clé privée correspondante
    KBpriv pour le décrypter.
  • (Sils veulent sassurer que le message na pas
    été falsifié, Alice peut ajouter une valeur
    connue par par les deux, que Bob peut vérifier.)
  • Mallory peut intercepter la requête initiale
    dAlice à un service de distribution de clé pour
    obtenir un certificat de la clé publique de Bob
    et envoi une réponse contenant sa propre clé
    publique. Il peut ensuite intercepter les
    messages subséquents.

17
Scénario 4 Signatures Numériques avec une
Fonction Digest Sécuritaire (5)
  • Alice désire publier un document M de telle
    manière que tout autre usager peut vérifier que
    ce document provient delle.
  • Alice calcule une empreinte (digest) de longueur
    fixe du document Digest(M).
  • Alice encrypte lempreinte avec sa clé privée,
    lajoute à M et rend le document signé résultant
    (M, Digest(M)KApriv) disponible aux usagers
    prévus.
  • Bob obtient le document signé, extrait M et
    calcule Digest(M).
  • Bob utilise la clé publique dAlice pour
    décrypter Digest(M)KApriv et le compare avec
    lempreinte quil a calculé. Si elles
    coïncident, la signature dAlice est vérifiée.

18
Certificats (1)
  • Certificat Document signé par une autorité
    compétente.
  • Certificats nécessitent
  • Un format standard convenu
  • Accord sur la construction des chaînes de la
    confiance
  • dates dexpiration, de sorte que les certificats
    puissent être retirés
  • Format du certificat de X509

S
u
b
jec
t
D
i
s
t
i
n
g
u
is
he
d N
a
m
e,
Pu
b
l
ic
K
e
y
Iss
ue
r
D
i
s
t
i
n
g
u
is
he
d N
a
m
e,
Si
g
n
at
u
r
e
Pe
ri
o
d
o
f
v
a
li
d
i
t
y
N
o
t
Be
f
o
r
e

Da
t
e,
No
t
A
f
t
e
r

D
ate
A
d
m
i
ni
str
a
t
ive

i
n
fo
rma
ti
o
n
V
er
si
o
n
,
S
e
r
i
a
l

N
u
mb
e
r
Ex
t
en
d
e
d
I
n
f
or
m
a
t
i
o
n
19
Certificats (2)
Certificat du compte bancaire dAlice
1.
Certificate type

Account number
2.
Name

Alice
3.
Account

6262626
4.
Certifying authority

Bobs Bank
5.
Signature

Certificat de la clé publique pour la banque de
Bob
1.
Certificate type

Public key
2.
Name

Bobs Bank
3.
Public key

KBpub
4.
Certifying authority

Fred The Bankers Federation
5.
Signature

20
Certificats (3)
  • Certificats peuvent jouer le rôle de preuves
    dauthentification (credentials)
  • Évidence du droit dun principal daccéder à une
    ressource
  • Les deux certificats ci-dessous peuvent être
    considérées comme preuves dauthentification pour
    Alice pour gérer son compte de banque
  • Elle aura besoin dajouter le certificat de sa
    clé publique

21
Certificats (4)
Alices bank account certificate
1.
Certificate type

Account number
2.
Name

Alice
3.
Account

6262626
4.
Certifying authority

Bobs Bank
5.
Signature

Digest(field 2 field 3)
KBpriv
Public-key certificate for Bob's Bank
1.
Certificate type

Public key
2.
Name

Bobs Bank
3.
Public key

KBpub
4.
Certifying authority

Fred The Bankers Federation
5.
Signature

22
Contrôle dAccès
  • Domaine de protection
  • Un ensemble de paires ltressource, droitsgt
  • Deux principales approches dimplémentation
  • Liste de contrôle daccès (LCA) associée avec
    chaque objet
  • E.g. permissions daccès aux fichiers dUnix ?
  • Pour types dobjets plus complexes et de grandes
    communautés dusagers, LCAs peuvent devenir très
    complexe
  • Capacités associées avec les principaux
  • Comme une clé
  • Format ltid de la ressource, opérations
    permises, code dauthentificationgt
  • Doit être incassable
  • Problèmes Personnification, difficulté
    dannulation

drwxr-xr-x gfc22 staff 264 Oct 30 1657
Acrobat User Data -rw-r--r-- gfc22 unknown
0 Nov 1 0934 Eudora Folder -rw-r--r-- gfc22
staff 163945 Oct 24 0016 Preview of xx.pdf
23
Délégation
  • Considérer un serveur qui imprime des fichiers
  • Inutile de copier les fichiers, devrait accéder
    aux fichiers de lutilisateur
  • Donner au serveur des droits restreints et
    provisoires d'accéder aux dossiers protégés
  • Peut utiliser un certificat de délégation ou une
    capacité
  • Un certificat de délégation est une requête
    signée autorisant un autre principal daccéder à
    une ressource de façon restreinte.
  • Service de sécurité de CORBA supporte les
    certificats de délégation.
  • Une capacité est une clé permettant au détenteur
    daccéder une ou plusieurs opérations supportées
    par une ressource.
  • La restriction temporelle peut être atteinte en
    ajoutant des délais dexpiration.

24
Algorithmes de Cryptographie (1)
Message M, clé K, fonctions dencryptage E, D
publiées
  • Symétrique (clé secrète)
  • E(K, M) MK D(K, E(K, M)) M
  • Même clé pour E et D
  • M doit être difficile de calculer si K est
    inconnue.
  • Forme dattaque la plus commune (brute-force)
    essayer toutes les clés possibles pour une paire
    connue M, MK. Solution rendre K largement
    grande 128 bits

25
Algorithmes de Cryptographie (2)
  • Asymétrique (clé publique)
  • Clés dencryptage et de décryptage séparées
    Ke, Kd
  • D(Kd. E(Ke, M)) M
  • Dépend de lutilisation dune fonction à sens
    unique (trap-door function) pour créer les clés.
    E a un coût élevé de calcul. Clés très grande gt
    512 bits
  • Protocoles hybrides utilisé dans SSL
    (maintenant appelé TLS)
  • Utilisent crypto asymétrique pour transmettre la
    clé symétrique qui est utilisée ensuite pour
    encrypter une session.

26
Blocs Cipher, Chaînage et Ciphers de Flux
  • Plus part des algorithmes fonctionne avec des
    blocks de 64-bits.
  • Faiblesse dun simple bloc cipher - chaînes
    répétées peuvent être détectées.

27
Algorithmes dEncryptage Symétriques
  • Ceux sont des programmes qui exécutent les
    opérations de confusion et de diffusion sur des
    blocs de données binaires
  • TEA un algorithme simple et efficace développé à
    lU de Cambridge (1994) pour lenseignement et
    lexplication. 128-bit key, 700 kbytes/sec
  • DES Standard dEncryptage des données des É.U
    (1977). Nest plus sécure dans sa forme originale
    56-bit key, 350 kbytes/sec.
  • Triple-DES applique DES trois fois avec deux
    différentes clés. 112-bit key, 120 Kbytes/sec
  • IDEA International Data Encryption Algorithm
    (1990). Ressemble à TEA. 128-bit key, 700
    kbytes/sec
  • AES Un Standard dEncryptage Avancé des É.U
    (1997). 128/256-bit key.
  • Il y a plusieurs autres algorithmes efficaces.
  • Les vitesses ci-dessus sont pour un Pentium II à
    330 MHZ. PC daujourdhui (Janvier 2002) sont 5
    fois plus rapide.

28
Fonction dEncryptage de TEA
clé 4 x 32 bits
plaintext et résultat 2 x 32
void encrypt(unsigned long k, unsigned long
text) unsigned long y text0, z
text1 unsigned long delta 0x9e3779b9, sum
0 int n for (n 0 n lt 32 n) sum
delta y ((z ltlt 4) k0) (zsum) ((z
gtgt 5) k1) 5 z ((y ltlt 4) k2)
(ysum) ((y gtgt 5) k3)
6 text0 y text1 z
OR Exclusive
Décalage logique
  • Lignes 5 6 assure la confusion (XOR de texte
    décalé)et diffusion (décalage et commutation)


29
Fonction de Décryptage de TEA
void decrypt(unsigned long k, unsigned long
text) unsigned long y text0, z
text1 unsigned long delta 0x9e3779b9, sum
delta ltlt 5 int n for (n 0 n lt 32 n)
z - ((y ltlt 4) k2) (y sum) ((y gtgt
5) k3) y - ((z ltlt 4) k0) (z sum)
((z gtgt 5) k1) sum - delta text0
y text1 z

30
Exemple dUtilisation de TEA
void tea(char mode, FILE infile, FILE outfile,
unsigned long k) / mode is e for encrypt,
d for decrypt, k is the key./ char ch,
Text8 int i while(!feof(infile)) i
fread(Text, 1, 8, infile) / read 8
bytes from infile into Text / if (i lt 0)
break while (i lt 8) Texti ' ' /
pad last block with spaces / switch (mode)
case 'e' encrypt(k, (unsigned long)
Text) break case 'd' decrypt(k, (unsigned
long) Text) break fwrite(Text, 1, 8,
outfile) / write 8 bytes from Text to
outfile /
31
Algorithmes dEncryptage Asymétriques (1)
  • Dépendent de lutilisation de fonctions à sens
    unique avec brèches secrètes
  • Fonction à brèche secrète fonction à sens
    unique avec une sortie secrète - e.g. produit de
    deux grand nombres facile à multiplier, très
    difficile de factoriser.

32
Algorithmes dEncryptage Asymétriques (2)
  • RSA premier algorithme pratique (Rivest, Shamir
    et Adelman 1978)
  • Reste encore le plus fréquemment utilisé
  • Longeur de la clé est variable, 512-2048 bits
  • Vitesse 1-7 kbytes/sec. (350 MHz PII)
  • Courbe Elliptique une méthode récemment
    développée, plus courtes clés et plus rapide.
  • Algorithmes asymétriques sont 1000 x plus lents
    et ne sont pas pratiques pour lencryptage de
    volume de donnés, mais leur autres propriétés les
    rendent idéaux pour la distribution de clé et
    lauthentification.

33
Encryptage avec RSA (1)
Pour trouver une paire de clés e, d 1. Choisir
deux grands nombres premiers, P et Q (chacun plus
grand que 10100), et forme N P Q Z
(P1) (Q1) 2. Pour d choisir un nombre qui
relativement premier avec Z (i.e., tel que d na
aucun facteurs communs avec Z). On illustre les
calculs impliqués sur des petits entiers pour P
et Q P 13, Q 17 gt N 221, Z 192
d 5
34
Encryptage avec RSA (2)
3. Pour trouver e résoudre léquation e d
1 mod Z Cest-à-dire, e d est le plus petit
élément divisible par d dans la série Z1, 2Z1,
3Z1, ... . e d 1 mod 192 1, 193,
385, ... 385 est divisible par d e 385/5
77
  • Pour encrypter un texte utilisant la méthode RSA,
    le texte original est divisé en des blocks de
    même taille de longueur k bits où 2k lt N
  • (i.e., telle que la valeur numérique du bloc est
    toujours inférieur à N dans les applications
    pratiques, k est toujours dans lintervalle 512 à
    1024).
  • k 7, puisque 27 128

35
Encryptage avec RSA (3)
  • La fonction pour encrypter un seul bloc du
    message M est
  • E'(e,N,M) Me mod N
  • pour un message M, le ciphertext est M77 mod
    221
  • La fonction de décryptage du bloc du texte
    encrypté c pour produire le bloc plaintext
    original est
  • D'(d,N,c) cd mod N
  • Rivest, Shamir et Adelman ont montré que E' et D'
    sont mutuellement inverse (i.e., E'(D'(x))
    D'(E'(x)) x) pour toute valeur de P, où 0 P
    N.
  • Les deux paramètres e,N peuvent être considérés
    comme une clé de la fonction dencryptage, et d,N
    représente une fonction de décryptage.
  • On peut donc écrire Ke lte,Ngt et Kd ltd,Ngt, et
    la fonction dencryptage est
  • E(Ke, M) MK and D(Kd, MK ) M.
  • (la notation ici indique que le message encrypté
    peut être déchiffré seulement par le détenteur de
    la clé privé Kd)

36
Signatures Numériques
  • Besoins
  • Pour authentifier les fichiers, ainsi que les
    messages
  • Pour se protéger contre le contrefaçon
  • Pour empêcher le signataire de nier un document
    signé (niant leur responsabilité)
  • Encryptage dun document avec une clé secrète
    constitue une signature
  • Ne peut exécuter par d'autres sans connaissance
    de la clé
  • Authentification forte du document
  • Forte protection contre le contrefaçon
  • faiblesse contre le reniement (repudiation) (le
    signataire pourrait réclamer la clef a été
    compromis)

37
Fonctions de Hachage Sécuritaires (1)
  • Encrypter le texte dun document résulte en une
    longue signature non pratique
  • On encrypte donc à la place une empreinte
    sécuritaire (secure digest)
  • Une fonction de hachage sécuritaire (digest
    function) calcule une valeur de hachage de
    longueur fixe H(M) qui caractérise le document M
  • H(M) doit être
  • Rapide à calculer
  • Difficile à inverser difficile de calculer M
    étant donné H(M)
  • Difficile à défaire dans toute forme de lattaque
    dite de lanniversaire

38
Fonctions de Hachage Sécuritaires (2)
  • MD5 Développé par Rivest (1992). Calcule une
    empreinte (digest) de 128 bits. Vitesse 1740
    Koctets/sec.
  • SHA (1995) basé sur MD4 de Rivest mais rendu
    plus sécuritaire en produisant une empreinte de
    160 bits, vitesse 750 koctets/sec.
  • Tout algorithme dencryptage symétrique peut être
    utilisé dans le mode CBC (cipher block chaining).
    Le dernier bloc dans la chaîne est H(M)

39
Signatures Numériques avec des Clés Publiques
Signature
Vérification

40
MACs Signatures à Faible Coût avec Clé
Partagée Secrète
MAC Message Authentication Code
Signature
Signer et vérifier une clé secrète partagée K
Vérification
41
Performance des Algorithmes dEncryptage et Ceux
de Hachage Sécuritaire
Taille de clé
Vitesse optimisée de PRB
Algorithme
Vitesse
(bits)
Extrapolée
(Koctets/sec.)
(Koctets/sec.)
TEA
128
700
-
Clé Secrète
DES
56
350
7746
Triple-DES
112
120
2842
IDEA
128
700
4469
RSA
512

7
-
Clé Publique
RSA
2048
1
-
Empreinte (Digest)
MD5
128
1740
62425
SHA
160
750
25162
PRB Preneel, Rijmen and Bosselaers Preneel
1998
Vitesses sont pour un Pentium II à 330 MHZ
Write a Comment
User Comments (0)
About PowerShow.com