Attaques par injection de faute multiple : modélisation et protection

Description

Pour garantir la confidentialité d’informations sensibles détenues ou communiquées par un objet, divers mécanismes de sécurité sont mis en œuvre, comme l’authentification ou le chiffrement. Ces mécanismes reposent sur des algorithmes cryptographiques sûrs d’un point de vue des mathématiques, mais dont l’implémentation physique peut contenir des failles exploitables par une personne mal intentionnée. Par exemple, diminuer la tension d’alimentation ou augmenter la fréquence de fonctionnement d’un circuit intégré au-delà des limites pour lesquelles il a été conçu permet d’introduire des fautes dans ses opérations, rendant possible à faible coût l’extraction d’une partie de la mémoire de données, le contournement de la vérification d’un mot de passe ou de droits d’accès.

Ces attaques, dites par injection de faute (FIA), sont réalisées en pratique à l’aide d’un faisceau laser ou bien d’une sonde de champ proche rayonnant un champ électromagnétique impulsionnel. De nombreuses contre-mesures aux FIA ont été proposées, principalement basées sur la redondance, et considérant un tir simple ne fautant qu’une seule variable sensible. Or, nous avons récemment montré qu’un tir simple pouvait fauter plusieurs instructions assembleurs successives, et en conséquence plusieurs variables, et il est également connu que plusieurs tirs, fautant également plusieurs variables, peuvent être réalisés.

Ceci remet en question la redondance comme stratégie de protection, quelle soit logicielle ou matérielle, avec des solutions comme une mémoire avec code correcteur d’erreur, ou bien encore un double coeur de processeur (lockstep). L’objectif de ce projet sera d’évaluer la résistance de contre-mesures basées sur la résilience, mettant notamment en œuvre l’infection.