-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathmac_digital_signature.theory.txt
50 lines (43 loc) · 2.98 KB
/
mac_digital_signature.theory.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
┏━━━━━━━━━┓
┃ MAC ┃
┗━━━━━━━━━┛
MAC :
- hash function utilisant une shared key ("authentication key"), permettant donc intégrité + message authentication
- le MAC est créé via la shared key et le message a envoyer, puis est envoyé en même temps que le message, chiffré ou non, et le destinataire vérifie le MAC via la shared key.
MAC et digital signature attack :
- forgery attack :
- créer une pair (m1,d1) valide, mais sans connaître la clef k1 utilisée par le MAC ou private key k1 utilisée par le digital signature
- différent de COA/KPA/CPA/CCA, car but n'est pas de trouver la clef privée
- types (similaires à COA/etc.) :
- key-only attack : donne que la clef publique (que pour digital signature)
(digest-only attack : ne semble pas mentionné)
- known-message attack : donne une série de messages et leur digests
- chosen-message attack : choisit une série de messages et obtient leur digests
(chosen-digest attack : ne semble pas mentionné)
- autre type (vers le + dur à faire, et le - dur à protéger):
- existential forgery : m1 imposé, m1 pas meaningful
- selective forgery : un m1 choisi réussit, mais pas forcément tout m1 choisi réussit
- universal forgery : tout m1 choisi réussit
Différence MAC / digital signature :
- digital signature : clef privée chiffre le digest ; clef publique le déchiffre (asym.)
- MAC : même clef, partagée par deux parties, chiffre et déchiffre le digest (sym.)
- donc, seul digital signature permet entity authentication, et donc non-repudation, car une seule personne peut authentifier
- cependant, il faut encore prouver que clef publique est associée à la clef privée de X, et que X est réellement Alice,
ce qui demande un trust model (PKI ou Web of trust)
MAC (Message Authentication Code) :
- si message chiffré, utiliser clefs différentes pour le MAC et pour le chiffrement du message.
MIC (Message integrity code) :
- utilisé parfois à tort pour MAC
- comme MAC, mais avec une clef publique -> par conséquent checke l'intégrité, mais pas la message authenticity
AEAD (authenticated encryption with associated data) :
- mode of operation qui permet de faire en sorte qu'un block cipher intègre une création de MAC, permettant privacy + intégrité + message authentication
- plus performant que de mettre ensemble un block cipher et un MAC algorithme
- mais surtout permet d'éviter erreurs : un block cipher secure et MAC secure, mis ensemble, peuvent être insecure
- permet aussi meilleur protection contre CCAttacks
- exemple : OCB, CCM, EAX, GCM, CWC, IAPM
- utilisent pour la plupart CTR comme mode of operation sous-jacent
- IAPM a été largement remplacé par OCB
- OCB a un brevet
- CCM utilise CBC-MAC, et cherche à supplanter OCB qui a un brevet
- EAX utilise OMAC
- CWC utilise CWMAC