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

Reply via email to