Bonjour,

Le vendredi 25 septembre 2015 10:36:53 UTC+2, helpcrypto helpcrypto a écrit :
> I hope you can find a solution for my problem, cause I can't. (And perhaps
> it's impossible)
> 
> Based on my knowledge of PKCS#11 standard, the spec is exposed to a MITM
> attack that steals the PIN when an application invokes C_Login against a
> PK#11 library.

If a call to C_GetTokenInfo() returns the flag 
CKF_PROTECTED_AUTHENTICATION_PATH, then there's no PIN code to be sent in calls 
to C_Login(), C_SetPin(), C_InitToken(), etc. And the real authentication is 
device/vendor specific.

> Of course my app could check pkcs#11 library checksum and other mechanisms
> to "ensure" it is the library and not a proxy, but if my application is
> opensource (I'll love to), I'm fu*ked.
> 
> Is there any way to "trust" in the client? Can the server know the exe
> being executed is MY exe and an EVIL copy? (A private key embebed can also
> be cracked!)
> 
> Furthermore, our *lovely* card sends APDU for login in plainText, so anyone
> could see "1234" easily. And we are not able to establish a secure channel
> cause we lack the required keys.

And if you had the required keys, they would also be susceptible to theft, just 
as your previous private key.

> In the other hand, do you think is possible to "extend" WebcryptoAPI to
> generate/use keys to/from browser or system keystore?
> IMHO, how it actually works, sucks.

Technically, it's possible. But it doesn't seem to be a shared goal. Anyway, 
this wouldn't solve your initial problem.
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to