Hello Nikos, Il 10/05/2011 11.23, Nikos Mavrogiannopoulos ha scritto: > On Tue, May 10, 2011 at 9:40 AM, Giuliano Bertoletti<g...@symbolic.it> wrote: > > And this is exactly the reason why they shouldn't be used for object > identification and usage (the typical use-case of PKCS #11). > I partially agree, but consider that typically an administrator alters the slots layout only when the system is under maintenance and often does that to extend the number of user/slots. So the indexing remains the same, only new space is allocated at the end.
> > I don't fully understand the use-case but I don't really see that a > mainstream and neither good example of PKCS #11 usage. You lower all > the security of the PKCS #11 to security of PIN over the network? A > hardware token should imply proximity and visibility to the token IMO. > What is the point to have a hardware token in US to sign for me while > I'm in europe? How do I know it is my token or someone else isn't > signing with it? > In contexts like this, security works in a layered way, where outer levels are weaker than inner levels. The HSM is used to protect the keys in the sense that they cannot leave the device, but the authentication that triggers their usage still works with a PIN. There exists devices where you connect the keyboard directly to the device, so a PIN cannot be keylogged by a trojan running on the host. But this is clearly not the case. Over a network, you can protect the communication between inner server and user with a challenge response mechanism, so you can use a pocket token while you're in Europe, to authenticate to the server in the US, and then the server in the US drives the HSM to do the signature (through pkcs#11). The SSL connections can be supported by the HSM server-side and by the pocket token client side while the PIN is delivered through the encrypted channel. This is not bullet proof however, because a clerk having phisical access to the server can steal your PIN when you do the signing by dumping the data spilling out of the SSL tunnel, and later sign on your behalf. Still he cannot steal your keys and it's job is far more complex than in a scenario where no hardware device is present and the server harddrive could be imaged and later inspected. For stronger methods however you have to run the server checking logic and terminate the SSL connection inside the HSM (top notch devices allow execution of arbitrary code inside). But this imply usage of proprietary libraries and is of course beyond pkcs#11. > Why not? In the millions slot case you mentioned it might be a problem > iterating through > the available slots, but in typical cases this is not a stopper. > You're right. I meat that this would imply a greater effort to encode that, respect to change the matching slot_id to slot_index. Whether or not you decide to do this is your decision (but would surely appreciated by many people in my opinion). I pointed out the slot_id matter instead because it is just wrong to start from the assumption that the user knows it and it won't change between multiple executions. Kind Regards, -- Giuliano Bertoletti Pre-Sales Engineer - Technological Dept. Symbolic S.p.A. Viale Mentana, 29 I-43121 - Parma Tel. +39 0521 708811 Mob. +39 346 8749890 Fax +39 0521 776190 g...@symbolic.it www.symbolic.it _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel