tags:

views:

419

answers:

4

Given a Smart Card ATR (Answer-To-Reset); Is is possible to determine which bytes that can be variable to create an ATR Mask for the particular card?

An example ATR might look like (which can be parsed by Ludovic Rousseau's ATR parser):

3B FF 18 00 FF 81 31 FE 45 65 63 11 05 40 02 50 00 10 55 10 03 03 05 00 43

Is there any generic way to accomplish this? Or do I have to contact the card vendor for the particular card?

A: 

The following article may be useful to you: http://en.wikipedia.org/wiki/Answer%5Fto%5Freset

FractalizeR
+1  A: 

What is the application of this knowledge?

I don't believe there is a standard for this, other than variable bytes in different card characteristics (if it is known that there are different versions of a given card, with different protocol capabilities for example), or if you know that there are different releases of the card. Sometimes you can find information about a card from the historical bytes, such as there are different vendors for Estonian eID card, but the historical bytes of all cards read "EstEID v1.0" in ASCII.

So the answer most probably is you need to contact the manufacturer or read the documentation that came with the card.

Good luck!

martin
A: 

Try Iso7816-3, see

muhanzilzu
+1  A: 

It depends on the goal. If your goal is to be able to identify that exact card type in all possible variations, there is no way an ATR mask will do that for you. If you have a general card "family" you want to associate, you might try masking out the historical bytes. If you are setting Calais registry settings, I suggest NOT masking out anything because you might block another CSP. Other than ATR, look at the latest Microsoft Mini Driver spec for a process to identify a card.

WouterH