• Aucun résultat trouvé

Course 2

N/A
N/A
Protected

Academic year: 2022

Partager "Course 2"

Copied!
26
0
0

Texte intégral

(1)

Implementation and Verification of TLS Using the Scyther Tool

(Project 3)

Course 2

Nour EL MADHOUN

(2)

Outline

• Some New Scyther Notions

• Asymmetric Crypto with Scyther Tool

• TLS Protocol: Overview

(3)

Some New Scyther Notions

• const:

- global declaration - exemple:

usertype Text;

const m1: Text;

• Agent:

- type used to define an agent

(4)

Some New Scyther Notions

• macro:

- abbrev. for a message, set of messages, etc.

- exemple:

macro messageG=H(X,Y, Rand), {m1}k(X,Y);

(5)

Asymmetric Crypto with Scyther

• By default, in Scyther:

➢ Each actor has a public key & a secret key

➢ pk(X): public key of X

➢ sk(X): secret key of X

(6)

Asymmetric Crypto with Scyther

• We can model other asymmetric keys for X:

const pkX2: Function;

secret skX2: Function;

const CA: Agent;

inversekeys (pkX2, skX2);

macro CertX2= {H(X2,pkX2, otherInfo)}sk(CA);

(7)

TLS Protocol: Overview

SSL (Secure Sockets Layer) or

TLS (Transport Layer Security)

TLS is the last version of SSL

(8)

TLS Protocol: Overview

1) SSL/TLS

– Keeping an internet connection secure

– Safeguarding any sensitive data that is being sent between two systems

– Preventing criminals from reading and modifying any information transferred

(9)

TLS Protocol: Overview

1) SSL/TLS

– The two systems can be

a server and a client or server and server – For example:

a shopping website (server) and browser (client)

(10)

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

(11)

TLS Protocol: Overview

3) Description

(12)

3) Description

1. C->S 2. S->C

TLS Protocol: Overview

(13)

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.

TLS Protocol: Overview

(14)

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.

TLS Protocol: Overview

(15)

3) Description

3. S->C

TLS Protocol: Overview

(16)

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

TLS Protocol: Overview

(17)

3) Description

3. S->C

- Le client utilise les informations reçues du serveur pour l'authentifier (vérification du certificat, signatures, etc.)

TLS Protocol: Overview

(18)

3) Description

4. C->S 5. C->S 6. C->S

TLS Protocol: Overview

(19)

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),

TLS Protocol: Overview

(20)

3) Description

4. 5. 6. C->S

- Le client doit alors signer une autre portion de données

«CertificateVerify » limitée à cette négociation et connue par le client et le serveur

- Cette portion peut être la signature du hash de tous les messages changés anciennement durant la négociation SSL

TLS Protocol: Overview

(21)

3) Description

4. 5. 6. C->S

- Le serveur déchiffre la portion en utilisant la clé publique du client et compare les résultats des hashs

- Le serveur authentifie aussi le client

- Si le client est authentifié avec succès, le serveur utilise

TLS Protocol: Overview

(22)

3) Description

4. 5. 6. C->S

- Le client et le serveur utilise tous les deux, le code secret principale pour générer une clé de session qui est une clé symétrique utilisée pour chiffrer et déchiffrer les informations échangées confidentielles.

TLS Protocol: Overview

(23)

3) Description

7. C->S 8. S->C

TLS Protocol: Overview

(24)

3) Description

7. C->S

- Le client envoie un message au serveur pour l'informer que les futures données transmises seront chiffrées avec la clé de session « ChangeCipherSpec ».

- Il envoie alors séparément un message (chiffré) indiquant que la négociation côté client est finie « Finished ».

TLS Protocol: Overview

(25)

3) Description

8. S->C

- Le serveur fait la même chose que le client en 7

- Finalement, les deux utilisent la clé de session pour chiffrer tout ce qui confidentiel.

TLS Protocol: Overview

(26)

Références

Documents relatifs

Des cellules qui n’ont jamais été exposées aux UV, sont prélevées chez un individu sain et chez un individu atteint de Xeroderma pigmentosum.. Ces cellules sont mises en

Ce qui manque à ce paon : c'est bien voir, j'en conviens ; Mais votre chant, vos pieds, sont plus laids que les siens, Et vous n'aurez jamais sa queue. Jean-Pierre Claris de

Donc le chiffrement n’est pas déterministe. Le texte chiffré dépend non seulement du texte clair mais aussi du nombre aléatoire k ... On peut utiliser ce système sans introduire

Chapeau souvent conique ou mamelonné (parfois plus plat), souvent vergeté, rimeux, squamuleux (parfois lisse).. Odeur spermatique

Il vise spécifiquement à : (i) documenter l’état de la participation des filles et des femmes, leurs acquis d’apprentissage et leur progression dans les études de STEM ;

Avec cinq graduations intermédiaires au minimum, celui-ci donne 40 configurations possibles qui incluent les deux qui viennent d’être mentionnées.. Pour L variant de 24

[r]

On cherche l’écart (donc la différence) entre les 26 élèves et les 12 livres déjà là!. On doit enlever les 35 places qui sont