Aller au contenu

Quand l’implémentation parle : temps, cache, fautes et oracles

Quand l’implémentation parle : temps, cache, fautes et oracles

Section intitulée « Quand l’implémentation parle : temps, cache, fautes et oracles »

Montrer que la sécurité dépend aussi de ce que le code, le matériel et les erreurs révèlent pendant l’exécution.

Montrer que la sécurité dépend aussi de ce que le code, le matériel et les erreurs révèlent pendant l’exécution.

  • Timing attacks, comparaison de tags et branches conditionnelles
  • Cache attacks, tables de lookup, microarchitecture et cloud multi-tenant
  • Consommation, émissions électromagnétiques et matériel embarqué
  • Fault attacks, injection de faute, RSA-CRT et Bellcore
  • Oracles d’erreur, padding, déchiffrement observable et logs
  • Protections: temps constant, blinding, implémentations vérifiées, matériel sécurisé, erreurs uniformes
  • Temps
  • Cache
  • Énergie
  • Fautes
  • Messages d’erreur
  • Logs
  • Comparaison
  • Branches
  • Temps réseau
  • Bruit
  • Exploitation statistique
  • Tables AES
  • Cache
  • Multi-tenant
  • Power analysis
  • EM
  • Secure element
  • RSA-CRT
  • Padding oracle
  • Erreur distinguable
  • Blinding
  • Vérification redondante
  • Comparer == et comparaison constante
  • Mesurer un oracle d’erreur sur un déchiffrement jouet
  • Corriger un padding oracle
  • Lister les logs dangereux d’une API crypto
  • Optimiser du code crypto naïvement
  • Logger les clés ou erreurs détaillées
  • Compiler sans vérifier les garanties constant-time
  • Croire que le réseau masque tout timing
  • Bug fonctionnel et fuite auxiliaire
  • Erreur uniforme et silence total
  • HSM et absence de risque
  • Constante algorithmique et temps constant implémenté
  • à vérifier : garanties constant-time des bibliothèques et compilateurs retenus.