Description de l’outils :
http://secgroup.ext.dsi.unive.it/projects/security-apis/pkcs11-security/tookan/

L’essentiel du problème : Un clé privé qu’il est interdit d’extraire du boitier peut malgré tout être « wrappée » avec une autre clé secrète présente sur le boitier, pour être exportée sous une forme chiffrée qui permet seulement de la réimporter plus tard dans le boitier. Or les spécifications du PKCS#11 ne précisent pas que cette clé doit elle même avoir été crée dans le boitier, alors que si ça n’est pas le cas, il est facile de déchiffrer la clé à l’extérieur.
Deuxième problème, il faut interdire à la clé de wrapping d’être autorisée pour le déchiffrement, car dans ce cas il suffira de lui demander de déchiffrer le blob pour récupérer la clé exportée en clair.

Malheureusement le standard pkcs#11 ne précise rien sur ce sujet, ni n’explique que tel qu’il est conçu, si une clé est marquée extractible, il va être plutôt facile de trouver un moyen de l’exporter d’une manière où l’on sera capable de la déchiffrer.