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