Hello,

* Background:
The Estonian ID card has historically had two ATR-s, a warm and a cold. There 
are several incarnations of the cards where the command interface should be 
"similar" to the original Micardo card but is not always the case.

There are several cards:
Micardo based with a cold ATR [1] [3] and a warm ATR [2] [4]. Notice that cold 
ATR-s specify both T=1 and T=0 but warm ATR-s don't (which will mean T=0)
Another incarnation of the card should mimic the Micardo card, but actually 
doesn't. It incorrectly copies the ATR of one of the earlier cards, but in a 
reverse order: the shorter style ATR [5] which other cards use for a warm ATR
is now used for the cold ATR and the longer cold ATR [6] of a previous card 
used for the warm ATR.

* FYI: 
Some versions of pcsc-lite in the 1.5.x range don't correctly handle such 
situation and truncate the longer warm ATR to the length of the cold ATR (which 
did not pop up with earlier cards).
This has been fixed in the 1.6.x version, so people who can upgrade should do 
it ASAP :)

* Problem:
pcsc-lite tries to use T=1 by default, which will cause troubles after a warm 
reset if the two different ATR-s don't specify the same supported protocols in 
the ATR.
To work around it, resetting the card is required. Sadly, one of the cards that 
copies the ATR with both T=1 and T=0 in the warm ATR actually is the one who 
*can't* speak T=1. 
But also, the card is difficult to match because of the copied ATR. This will 
result in needless reset's ("force_protocol" in OpenSC) to get the card to a 
known good state and slows down the already slow communication.
So with "original" cards the cold ATR claims T=1 support but after a warm reset 
can't be used with T=1 before a card powerdown. With the "broken" card, T=1 
will be selected by pcsc-lite by default after a warm reset, but T=0 should be 
used to make the card work and this will also require a reset.


* Question:
I'm windering if pcsc-lite should only consider the cold ATR (if there are two 
different ATR-s) and the protocols claimed there for protocol agreement? What 
does the ISO specs say about it? These (IMO broken by design) cards are already 
out there and need the mentioned reset-workarounds, but maybe pcsc-lite could 
be "improved" as well (if it would make sense)


[1] 
http://smartcard-atr.appspot.com/parse?ATR=3BFE9400FF80B1FA451F034573744549442076657220312E3043
[2] 
http://smartcard-atr.appspot.com/parse?ATR=3B6E00FF4573744549442076657220312E30
[3] 
http://smartcard-atr.appspot.com/parse?ATR=3BDE18FFC080B1FE451F034573744549442076657220312E302B
[4] 
http://smartcard-atr.appspot.com/parse?ATR=3B5E11FF4573744549442076657220312E30
[5] 
http://smartcard-atr.appspot.com/parse?ATR=3B6E00004573744549442076657220312E30
[6] 
http://smartcard-atr.appspot.com/parse?ATR=3BFE9400FF80B1FA451F034573744549442076657220312E3043
 

All the best,
-- 
@MartinPaljak.net
+3725156495


_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to