Buy it, use it, break it ... fix it : Caml Crush, un proxy PKCS#11 filtrantMarion Daubignard,Ryad Benadjila,Thomas Calderon

Les cartes à puce et les ressources cryptographiques dédiées sont des outils précieux pour renforcer la sécurité des systèmes d'information.

Ces périphériques peuvent êtres vus comme un cœur de confiance dans lequel des opérations cryptographiques vont êtres réalisées. L'interface de programmation PKCS#11 est un standard répandu pour dialoguer avec de telles ressources: il est devenu de facto le standard préféré de l'industrie.

Cependant, des publications récentes ont mis en évidence plusieurs attaques logiques et cryptographiques exploitant des faiblesses de l'interface PKCS#11 pour porter atteinte à la confidentialité ou à l'intégrité des clés cryptographiques stockées dans les ressources concernées.

Nous présentons dans cet article une architecture client/serveur ainsi qu'un moteur de filtrage configurable et extensible. La mise en œuvre d'un tel outil pour analyser des commandes PKCS#11 avant de les transmettre à une ressource cryptographique permet de réduire l'exposition de cette ressource à des attaques exploitant des faiblesses de son implémentation de PKCS#11.