S ecurit e des impl ementations pour la ... -...

Preview:

Citation preview

Securite des implementations pour lacryptographie

Partie 1 : Architecture systeme

Benoıt Gerard28 novembre 2017

Fil rouge

Exemple concret

Mise en oeuvre de la CCP (Carte Cryptographique Personnelle).

I Donnee par l’administration.

I Utilisee pour tout servicenecessitant une preuved’identite

I demarchesadministratives,

I vote,I controle d’identite,I deposition . . .

Alice

1m 61

12/07/1998

B. Gerard Partie 1 : Architecture systeme 2 / 40

Plan du cours

Etape 1

Definition du besoin et de l’architecture au niveau systeme.

Etape 2

Definition de l’interface carte/terminal : API exposee par la carte.

Etape 3

Implementation d’une version resistante aux attaques non-crypto.

Etape 4

Implementation d’algo. crypto. resistante aux attaques distantes.

Etape 5

Implementation d’algo. crypto. resistante aux attaques locales.

B. Gerard Partie 1 : Architecture systeme 3 / 40

Sommaire de la session

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 3 / 40

Sommaire de la session

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 4 / 40

Rappels cryptographiquesServices rendus

I ConfidentialiteLe contenu protege est incomprehensible pour un tiers.

I IntegriteUne modification par un tiers du contenu protege est detectee.

I AuthenticiteLa provenance du contenu protege est garantie (+ non-repudiation ?).

Exemples

I : confidentialite + integrite.

I : integrite + authenticite.

B. Gerard Partie 1 : Architecture systeme 5 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesSymetrique vs asymetrique

Cryptographie symetrique

Cryptographie asymetrique

X

B. Gerard Partie 1 : Architecture systeme 6 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesChiffrement et chiffrement authentifie

Chiffrement et MAC

Objectifs

I s’assurer de la confidentialite d’un contenu,

I s’assurer de l’integrite d’un contenu (contenu non modifie parquelqu’un ne connaissant pas la clef).

X

MAC = Message Authentication Code

Chiffrement + MAC = chiffrement authentifie.B. Gerard Partie 1 : Architecture systeme 7 / 40

Rappels cryptographiquesSignature

Signature

Objectifs

I s’assurer de l’integrite d’un contenu,

I s’assurer de l’authenticite (preuve de l’origine du contenu).

X

B. Gerard Partie 1 : Architecture systeme 8 / 40

Rappels cryptographiquesSignature

Signature

Objectifs

I s’assurer de l’integrite d’un contenu,

I s’assurer de l’authenticite (preuve de l’origine du contenu).

X

B. Gerard Partie 1 : Architecture systeme 8 / 40

Rappels cryptographiquesSignature

Signature

Objectifs

I s’assurer de l’integrite d’un contenu,

I s’assurer de l’authenticite (preuve de l’origine du contenu).

X

B. Gerard Partie 1 : Architecture systeme 8 / 40

Rappels cryptographiquesSignature

Signature

Objectifs

I s’assurer de l’integrite d’un contenu,

I s’assurer de l’authenticite (preuve de l’origine du contenu).

X

B. Gerard Partie 1 : Architecture systeme 8 / 40

Rappels cryptographiquesChiffrement asymetrique et echange de clefs

Utiliser la cryptographie symetrique implique une clef par correspondant . . .

Chiffrement asymetrique

I utilise le meme principe de paire de clefs que la signature,

I le secret est du cote de la personne qui dechiffre,

I les operations sont couteuses.

Echange de clef

I etablit un secret partage en se basant sur des operations couteuses,

I pour ensuite utiliser la cryptographie symetrique.

B. Gerard Partie 1 : Architecture systeme 9 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesL’homme du milieu

Man in the Middle

B. Gerard Partie 1 : Architecture systeme 10 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesCertificats

Certificats

Objectif

I s’assurer de l’identite de son correpsondant.

B. Gerard Partie 1 : Architecture systeme 11 / 40

Rappels cryptographiquesIntegrite spatiale

Chaque bloc est protege en integrite.

toto | 1

tata | 2

bad | 3

3 | 9999

1 | 1427

2 | 238

3 | 1

Nom | Id Id | Solde

Un bloc integre sera interprete differemment en fonction de sa place.Pourtant il reste integre !

B. Gerard Partie 1 : Architecture systeme 12 / 40

Rappels cryptographiquesIntegrite spatiale

Chaque bloc est protege en integrite.

toto | 1

tata | 2

bad | 3

3 | 9999

1 | 1427

2 | 238

3 | 1

Nom | Id Id | Solde

Un bloc integre sera interprete differemment en fonction de sa place.Pourtant il reste integre !

B. Gerard Partie 1 : Architecture systeme 12 / 40

Rappels cryptographiquesIntegrite spatiale

Chaque bloc est protege en integrite.

toto | 1

tata | 2

bad | 3

3 | 9999

1 | 1427

2 | 238

3 | 9999

Nom | Id Id | Solde

Un bloc integre sera interprete differemment en fonction de sa place.Pourtant il reste integre !

B. Gerard Partie 1 : Architecture systeme 12 / 40

Rappels cryptographiquesIntegrite spatiale

Chaque bloc est protege en integrite.

toto | 1

tata | 2

bad | 3

3 | 9999

1 | 1427

2 | 238

3 | 9999

Nom | Id Id | Solde

Un bloc integre sera interprete differemment en fonction de sa place.Pourtant il reste integre !

B. Gerard Partie 1 : Architecture systeme 12 / 40

Rappels cryptographiquesIntegrite temporelle

Chaque base est protegee en integrite d’un seul tenant.

le 01/01

1 | 1427

2 | 238

3 | 1

le 02/01

1 | 1136

2 | 48

3 | 8465

le 03/01

1 | 1136

2 | 48

3 | 8465

Un bloc integre le restera dans le temps si rien n’est fait pour l’empecher.

B. Gerard Partie 1 : Architecture systeme 13 / 40

Rappels cryptographiquesIntegrite temporelle

Chaque base est protegee en integrite d’un seul tenant.

le 01/01

1 | 1427

2 | 238

3 | 1

le 02/01

1 | 1136

2 | 48

3 | 8465

le 03/01

1 | 1136

2 | 48

3 | 8465

Un bloc integre le restera dans le temps si rien n’est fait pour l’empecher.

B. Gerard Partie 1 : Architecture systeme 13 / 40

Rappels cryptographiquesIntegrite temporelle

Chaque base est protegee en integrite d’un seul tenant.

le 01/01

1 | 1427

2 | 238

3 | 1

le 02/01

1 | 1136

2 | 48

3 | 8465

le 03/01

1 | 856

2 | 735

3 | 2

le 03/01

1 | 1136

2 | 48

3 | 8465

Un bloc integre le restera dans le temps si rien n’est fait pour l’empecher.

B. Gerard Partie 1 : Architecture systeme 13 / 40

Rappels cryptographiquesIntegrite temporelle

Chaque base est protegee en integrite d’un seul tenant.

le 01/01

1 | 1427

2 | 238

3 | 1

le 02/01

1 | 1136

2 | 48

3 | 8465

le 03/01

1 | 1136

2 | 48

3 | 8465

Un bloc integre le restera dans le temps si rien n’est fait pour l’empecher.

B. Gerard Partie 1 : Architecture systeme 13 / 40

Plan

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 13 / 40

Description du besoinCahier des charges

I Utilisation administrative : toute demarche necessitant une preuved’identite

I demande d’actes de naissance,I gestion de la situation fiscale,I vote,I controle d’identite,I depositionI . . .

I Utilisation personnelle : faciliter l’usage de la cryptographieI protection de documents personnels stockes,I correspondance chiffree,I signature de documents prives (contrats, chartes . . .)I . . .

B. Gerard Partie 1 : Architecture systeme 14 / 40

Description du besoinCas d’usages

Demarche administrative physique

Demarche administrative en ligne

Controle d’identite Usage prive

B. Gerard Partie 1 : Architecture systeme 15 / 40

Description du besoinCas d’usages

Demarche administrative physique

Demarche administrative en ligne

Controle d’identite Usage prive

B. Gerard Partie 1 : Architecture systeme 15 / 40

Description du besoinCas d’usages

Demarche administrative physique

Demarche administrative en ligne

Controle d’identite

Usage prive

B. Gerard Partie 1 : Architecture systeme 15 / 40

Description du besoinCas d’usages

Demarche administrative physique

Demarche administrative en ligne

Controle d’identite Usage prive

B. Gerard Partie 1 : Architecture systeme 15 / 40

Description du besoinBesoins de services

Services devant etre rendus par la CCP

1. Prouver l’identite de son possesseur.

2. Creer un canal securise avec un interlocuteur.

3. Securiser des donneesI pour envoi,I pour stockage.

4. Signer un documents.

5. Verifier l’origine d’un document.

Services devant etre rendus par les terminaux

1. Verifier l’identite d’un detenteur de CCP.

2. Exposer les services de la CCP a un ordinateur.

B. Gerard Partie 1 : Architecture systeme 16 / 40

Plan

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 16 / 40

Choix des solutions cryptographiquesQuelles solutions techniques pour quel besoin ?

I BiometrieI preuve/verification d’identite.

I Echange de clefI securisation d’un canal.

I Algorithme de signatureI signer un document,I verifier l’origine d’un document,I securisation d’un canal (echange de clef authentifie).

I Algorithme de chiffrement authentifieI securisation d’un canal,I securisation de donnees,I verifier l’origine d’un document.

B. Gerard Partie 1 : Architecture systeme 17 / 40

Choix des solutions cryptographiquesBesoin fonctionnels vs securitaires

Pour le moment on n’a pas evoque la securite mais juste le fonctionnel.

Bien sur on va s’assurer que

I les algorithmes cryptographiques sont solides,

I le mecanisme de biometrie est infalsifiable.

Mais il faut aussi penser a ce que

I les donnees biometriques ou d’identite soient les bonnes,

I les verifications de signatures/MAC ne soient pas “oubliees”,

I les secrets soient reellement inaccessibles.

Pour s’en assurer on va

1. identifier les menaces,

2. utiliser de la cryptographie.

B. Gerard Partie 1 : Architecture systeme 18 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 1/3

XId

B. Gerard Partie 1 : Architecture systeme 19 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 1/3

XId

B. Gerard Partie 1 : Architecture systeme 19 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 1/3

XId

B. Gerard Partie 1 : Architecture systeme 19 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 1/3

X

Id

B. Gerard Partie 1 : Architecture systeme 19 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 1/3

XId

B. Gerard Partie 1 : Architecture systeme 19 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 2/3

Alice

1m 61

12/07/1998

Questions

I Qui met les donnees biometriques et comment ?

I Un attaquant peut-il les modifier ?

B. Gerard Partie 1 : Architecture systeme 20 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 2/3

Alice

1m 61

12/07/1998

Questions

I Qui met les donnees biometriques et comment ?

I Un attaquant peut-il les modifier ?

B. Gerard Partie 1 : Architecture systeme 20 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 2/3

Alice

1m 61

12/07/1998

Questions

I Qui met les donnees biometriques et comment ?

I Un attaquant peut-il les modifier ?

B. Gerard Partie 1 : Architecture systeme 20 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 2/3

Alice

1m 61

12/07/1998

Questions

I Qui met les donnees biometriques et comment ?

I Un attaquant peut-il les modifier ?

B. Gerard Partie 1 : Architecture systeme 20 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

XIdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

XIdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

XIdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

X

IdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

XIdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesMenaces sur la preuve d’identite 3/3

XIdAlice

Questions

I Comment s’assure-t-on de la validite des informations recues ?

B. Gerard Partie 1 : Architecture systeme 21 / 40

Choix des solutions cryptographiquesModification du firmware en memoire d’une PS3

B. Gerard Partie 1 : Architecture systeme 22 / 40

Choix des solutions cryptographiquesL’exemple des cartes bancaires (1/3)

Grosse faille dans le protocole !

B. Gerard Partie 1 : Architecture systeme 23 / 40

Choix des solutions cryptographiquesL’exemple des cartes bancaires (2/3)

Analyse de risques . . .

. . .trop couteux et difficile a mettre en oeuvre.

B. Gerard Partie 1 : Architecture systeme 24 / 40

Choix des solutions cryptographiquesL’exemple des cartes bancaires (2/3)

Analyse de risques . . .

. . .trop couteux et difficile a mettre en oeuvre.

B. Gerard Partie 1 : Architecture systeme 24 / 40

Choix des solutions cryptographiquesL’exemple des cartes bancaires (3/3)

Quelques (deux) annees plus tard au tribunal . . .

B. Gerard Partie 1 : Architecture systeme 25 / 40

Choix des solutions cryptographiquesPrise en compte de la securite

I Les cartes sont produites quelque part . . .I donc ces gens connaissent le fonctionnement,I donc il peut exister un marche parallele.

I L’administration sait injecter des donnees biometriques . . .I donc la fonctionnalite existe sur la carte.

I L’interface avec la carte a ete specifiee . . .I donc comme n’importe quelle entreprise, l’attaquant peut produire des

elements compatibles avec le systeme.

I On sait faire de la retro-ingenierie . . .I relecture de l’EEPROM de la machine de vote indienne par exemple.

La cryptographie peut aider ici pour securiser les elements face a ces me-naces.

B. Gerard Partie 1 : Architecture systeme 26 / 40

Plan

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 26 / 40

SpecificationsAnalyse de la menace

Il faut definir contre qui et pour quoi on se protege.

Types d’attaquants

I DelinquantsI un geek, un garage et un

PC de gamer.

I MafiasI une equipe complete et un

reseau de PC zombies.

I EtatsI d’un groupe de hacker a la

NSA.

Cotations d’attaques

I temps de mise en oeuvre,

I connaissance requise desproduits,

I competence requise,

I ressources humaines (temps),

I ressources materielles,

I temps d’exploitation,

I impact.

B. Gerard Partie 1 : Architecture systeme 27 / 40

SpecificationsCible de securite

Terminologie utilisee par les Criteres Communs.

1. Identifier les biens a proteger (on utilise le terme assets)I clefs secretes,I donnees personnelles,I propriete intellectuelle.

2. Delimitation du perimetre de protectionI un processeur,I une carte,I une infrastructure et ses acteurs.

3. Definition d’objectifs de securiteI tell clef ne doit pas etre retrouvee durant la duree de vie d’un

equipement,I tel contenu ne doit pas pouvoir sortir sur les interfaces externes meme

en cas de panne,I l’equipement doit permettre de lister les secrets possedes par un

utilisateur authentifie.

B. Gerard Partie 1 : Architecture systeme 28 / 40

SpecificationsMethodologie globale

Determiner

1. les proprietes de securite devant etre garanties,I confidentialite,I tracabilite,I protection de la vie privee . . .

2. les menaces a prendre en compte,I toutes les attaques necessitant moins de x ans ;

3. les elements potentiellement corrompus,I i.e. elements qui ne resistent pas aux menaces identifiees ;

4. les mecanismes pour etendre la confiance aux elements corruptibles.I signature des donnees personnelles contenues dans la carte,I securisation des canaux potentiellement accessibles . . .

Cela implique d’avoir une racine de confiance.

B. Gerard Partie 1 : Architecture systeme 29 / 40

SpecificationsMethodologie globale

Determiner

1. les proprietes de securite devant etre garanties,I confidentialite,I tracabilite,I protection de la vie privee . . .

2. les menaces a prendre en compte,I toutes les attaques necessitant moins de x ans ;

3. les elements potentiellement corrompus,I i.e. elements qui ne resistent pas aux menaces identifiees ;

4. les mecanismes pour etendre la confiance aux elements corruptibles.I signature des donnees personnelles contenues dans la carte,I securisation des canaux potentiellement accessibles . . .

Cela implique d’avoir une racine de confiance.

B. Gerard Partie 1 : Architecture systeme 29 / 40

SpecificationsBesoin de confiance

Au “debut du monde”, il y a une confiance organisationnelle.

I Autorite de certification racine (certificats web, windows)I S’assure de l’identite des utilisateurs.I Signe leur(s) certificat(s) (clef publique + identite).I Signe le code a executer.→ Confiance dans la protection de la clef privee.

I Toile de confiance (PGP)I Les utilisateurs s’assurent de l’identite des interlocuteurs.I Ajout de sa signature aux clefs des personnes rencontrees.→ Confiance dans la communaute (pas de collusion).

B. Gerard Partie 1 : Architecture systeme 30 / 40

SpecificationsIdentification du possesseur

Risques

Modification de la carte pour usurper l’identite.

Solution

Donnees biometrique + signature cryptographique des donnees.

I Lier l’utilisateur a la carte (deploiement)I organisationnel : confiance en le personnel.I technique : signature des donnees sur la carte + schema a seuil.

I Verifier l’identite d’un porteur de carte (utilisation)I organisationnel : confiance dans l’autorite signataire.I technique : verification de la signature des donnees.

Mise en place d’un systeme de delegation de signature (arborescence de clefsou signature de groupe/anneau).

B. Gerard Partie 1 : Architecture systeme 31 / 40

SpecificationsCanal securise

Risques

I Espionnage

I Attaque man-in-the-middle

Solution

Canal securise : echange de clef apres identification reciproque.En option

I PFS (perfect forward secrecy)

I Confirmation des clefs negociees

PFS

Si une clef corrompue a un instant t, alors la securite des elements protegesa un instant t′ < t est garantie.

B. Gerard Partie 1 : Architecture systeme 32 / 40

SpecificationsSecurisation des donnees

Risques

I Lecture de donnees secretes

I Modification de donnees sensibles

I Reutilisation de donnees sensibles

Solution

I Chiffrement

I Integrite spatiale

I Anti-rejeu (integrite temporelle)

Integrite spatiale

On utilise en general un arbre de Merkle pour les grands volumes de donnees.

B. Gerard Partie 1 : Architecture systeme 33 / 40

SpecificationsValider et verifier la validite de documents

Risques

I Usurpation d’identite

I Repudiation

Solution

I Algorithme de signature

I Un couple clef/certificat par carte

I Clef publique racine de confiance

Cela implique de generer une clef privee par carte.

B. Gerard Partie 1 : Architecture systeme 34 / 40

Plan

Rappels cryptographiques

Specification d’un systemeDescription du besoinChoix des solutions cryptographiquesSpecificationsMise en œuvre

B. Gerard Partie 1 : Architecture systeme 34 / 40

Mise en œuvreVue generale des secrets

B. Gerard Partie 1 : Architecture systeme 35 / 40

Mise en œuvreVue generale des secrets

B. Gerard Partie 1 : Architecture systeme 35 / 40

Mise en œuvreVue generale des secrets

B. Gerard Partie 1 : Architecture systeme 35 / 40

Mise en œuvreVue generale des secrets

B. Gerard Partie 1 : Architecture systeme 35 / 40

Mise en œuvreVue generale des secrets

B. Gerard Partie 1 : Architecture systeme 35 / 40

Mise en œuvreDelegation de signature

B. Gerard Partie 1 : Architecture systeme 36 / 40

Mise en œuvreDelegation de signature

B. Gerard Partie 1 : Architecture systeme 36 / 40

Mise en œuvreDelegation de signature

B. Gerard Partie 1 : Architecture systeme 36 / 40

Mise en œuvreDelegation de signature

B. Gerard Partie 1 : Architecture systeme 36 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

X

X

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

X

X

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreVerification d’une chaıne de certificats

?

XX

X

X

B. Gerard Partie 1 : Architecture systeme 37 / 40

Mise en œuvreCycle de vie

Les elements du systeme devront respecter :

S1start

S2

S3

S4

Sf

linkToOwner

setSecret

kill

lock

unlock

kill

S1 Sortie Usine/Personnalisation

S2 Initialisation

S3 Utilisation

(deverouille)

S4 Utilisation (verouille)

Sf Destruction

Mise en place de :

I procedures,

I moyens (humains, infra.).

B. Gerard Partie 1 : Architecture systeme 38 / 40

Mise en œuvreCycle de vie

Les elements du systeme devront respecter :

S1start

S2

S3S4

Sf

linkToOwner

setSecret

killlock

unlock

kill

S1 Sortie Usine/Personnalisation

S2 Initialisation

S3 Utilisation (deverouille)

S4 Utilisation (verouille)

Sf Destruction

Mise en place de :

I procedures,

I moyens (humains, infra.).

B. Gerard Partie 1 : Architecture systeme 38 / 40

Mise en œuvreProblematiques additionnelles

I Carte avec mot de passe,I en cas de perte (tant pis, schema a seuil . . .) ?

I Revocation d’elements / cryptoperiode / mise a jour logicielleI connexion avec l’autorite possible ?I acces a une horloge securisee ?I notion d’administrateur ?

I Clef secrete de la carteI generee par l’administration (big brother),I generee en interne (manipulation a prevoir a la remise).

B. Gerard Partie 1 : Architecture systeme 39 / 40

A retenir

Message

I Mettre en oeuvre de la cryptographie est souvent complique.

I Difficile de penser a tout(surtout si on n’a pas toutes les informations).

Bonne pratiques

I Ne pas negliger un type d’attaquant pertinent.C’est trop difficile a faire.

I Prendre en compte les contraintes le plus tot dans la conception.

Pour cela il faut communiquer avec les personnes impliquees . . .

. . .mais aussi etre pedagogue et convaincant.

B. Gerard Partie 1 : Architecture systeme 40 / 40

A retenir

Message

I Mettre en oeuvre de la cryptographie est souvent complique.

I Difficile de penser a tout(surtout si on n’a pas toutes les informations).

Bonne pratiques

I Ne pas negliger un type d’attaquant pertinent.C’est trop difficile a faire.

I Prendre en compte les contraintes le plus tot dans la conception.

Pour cela il faut communiquer avec les personnes impliquees . . .. . .mais aussi etre pedagogue et convaincant.

B. Gerard Partie 1 : Architecture systeme 40 / 40

Recommended