Professional Documents
Culture Documents
Course 2
Nour EL MADHOUN
nour.el-madhoun@lip6.fr
1
Outline
2
Some New Scyther Notions
• const:
- global declaration
- exemple:
usertype Text;
const m1: Text;
• Agent:
- type used to define an agent
- exemple:
const CA: Agent; //CA: Certification Authority
3
Some New Scyther Notions
• macro:
- abbrev. for a message, set of messages, etc.
- exemple:
macro messageG=H(X,Y, Rand), {m1}k(X,Y);
4
Asymmetric Crypto with Scyther
• By default, in Scyther:
5
Asymmetric Crypto with Scyther
6
TLS Protocol: Overview
or
7
TLS Protocol: Overview
1) SSL/TLS
8
TLS Protocol: Overview
1) SSL/TLS
– For example:
a shopping website (server) and browser (client)
9
TLS Protocol: Overview
2) How does SSL/TLS work ?
■ The server:
- Has a pair of keys (public/secret)
- Has a Certificate
■ The client
- May have a pair of keys (public/secret)
- May have a Certificate
■ The client must authenticate the server
■ The server may authenticate the client (optionally)
10
TLS Protocol: Overview
3) Description
11
TLS Protocol: Overview
3) Description
1. C->S
2. S->C
12
TLS Protocol: Overview
3) Description
1. C->S
- Le client envoie un « ClientHello » au serveur
- « ClientHello » contient:
*Version. SSL,
*paramètres de chiffrement,
*des données générées aléatoire, etc.
13
TLS Protocol: Overview
3) Description
2. S->C
- Le serveur envoie un « ServeurHello » au client
- «ServeurHello contient:
*Version. SSL,
*paramètres de chiffrement,
*des données générées aléatoire, etc.
14
TLS Protocol: Overview
3) Description
3. S->C
15
TLS Protocol: Overview
3) Description
3. S->C
- Le serveur envoie au client:
* son propre certificat « Certificate »,
*des données signées par sa clé secrète,
*demande du certificat client «CertificateRequest»,
*un «ServerHelloDone » indiquant au client que c’est
son tour pour continuer la négociation
16
TLS Protocol: Overview
3) Description
3. S->C
17
TLS Protocol: Overview
3) Description
4. C->S
5. C->S
6. C->S
18
TLS Protocol: Overview
3) Description
4. 5. 6. C->S
- Le client:
*envoie son certificat « Certificate » au serveur,
*crée un code secret préliminaire pour la session
«ClientKeyExchange»,
*le chiffre avec la clé publique du serveur (obtenue du
certificat du serveur),
*envoie le code secret préliminaire chiffré au serveur
19
TLS Protocol: Overview
3) Description
4. 5. 6. C->S
20
TLS Protocol: Overview
3) Description
4. 5. 6. C->S
21
TLS Protocol: Overview
3) Description
4. 5. 6. C->S
22
TLS Protocol: Overview
3) Description
7. C->S
8. S->C
23
TLS Protocol: Overview
3) Description
7. C->S
24
TLS Protocol: Overview
3) Description
8. S->C
25
26