Hi folks, I'm just trying to wrap my head around all of the various protocols involved in smart card use, and today I was reading the OpenSC website and it got my mind going again. I'm glad that the website finally discusses these important details.
Now, PKCS#11, as mentioned on the website, is not limited to smart cards. However, all other protocols down the chain are, so for sake of this discussion we'll assume we are only working with those gold-plated, square-shaped smart card things, created in the year 1812. It seems that there are 4 communication areas: 1) I/O to the smart card 2) I/O to the reader 3) filesystem layout/control for reading 4) filesystem layout/control for all else My biggest gripe about smart cards is that they are unusually proprietary. Even if one part is standardized, another part is not. You can't just use a given smart card in a given computer without performing a very specific setup process for that card (which may include installation of a specific reader). There would appear to be a standard for #1. I don't remember what it is called, but it involves the ATR and then T=0 or 1 and friends. However, my experience with hacking on the Eutron driver showed that that either there are still vendor-specific issues (bugs? workarounds?) to iron out, or OpenCT is simply incomplete. For #2 we have CCID. This seems to be about the only thing we can count on to work. Can anyone correct me? For #3 we have PKCS#15. Why this only applies to reading, I don't know, but 99% of smart card applications are read-only so this is still a very worthy standard, if it works as advertised that is. Are there any known cases where PKCS#15 software has been incompatible for read access? For #4, I guess there is nothing yet. I don't quite understand this, since anything readable as PKCS#15 must have also been written as PKCS#15, but I'm sure someone can step in and explain this. And then there's ICCD. I briefly looked at the usb.org PDF file, and indeed it does look like a standard for integrated USB crypto tokens. It is dated April 2005. Does anyone know what is going on with this specification, or if any devices are in development for it? Correct me if I'm wrong, but would ICCD count as a standard for both #1 and #2? I'm confused about this, because if we already have a standard for #1 (ATR, T=0, whatever), then it doesn't seem like we need the ICCD spec at all. CCID would be enough. Thanks, -Justin _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel