Secgroup Ca' Foscari DSI > Blog > Vulnerabilites > Attacking and Fixing PKCS#11 Security Tokens

Attacking and Fixing PKCS#11 Security Tokens

Tookan is an automated tool for security analysis of PKCS#11 compliant authentication tokens. In a paper presented today at CCS’10, we show how we used Tookan to reveal secret keys in devices made by Aladdin, Bull, Gemalto, RSA, snd Siemens amongst others. Tookan can also be used to validate patches to the standard, as we demonstrate in our CryptokiX project. Slides from the conference presentation are available, or you can go to the Tookan project website for full details.

This is the result of joint work between Graham Steel (LSV & INRIA) and the Security Group of the Universita’ Ca’ Foscari.

 

Comments: 2

Leave a reply »

 

RSA also registered the advisory at buqtraq. They are one of the few (two for the moment) that answered to our reports. You can see here the full answer from RSA.

Did you get a response from RSA about the PKCS#11 standard itself with regard to attack a1 and a2 ?

I’ve read the standard again carefully, and am of the opinion that the redactors simply considered it out of scope to try to protect an extractable, sensitive key against attacks by the token owner to actively try to recover the clear text of the key. However they never explicitly state this in the document, whilst there should be a warning that if a key is marked as CKA_EXTRACTABLE, then it *will* be possible to find a way of accessing it’s clear text value outside the token.

I think now this could only be solved with a new attribute, CKA_SECURE_EXTRACTABLE, which would also wrapping only by a key :
- that was generated inside the token
- that has CKA_DECRYPT set to false
- whose level of protection with regard to known attacks is stronger, or at least as strong, as the key extracted
But I’m not really 100% sure this definitively leaves no channel available to break the encryption.

Most pkcs#11 HSM provide administrative tools (working outside of the pkcs#11 interface) to save and restore keys, allowing to do that without marking the key as extractable, so keeping them secure.

Leave a Reply

 
(will not be published)
 
 
Comment