Re: Re:Re: [Muscle] How can I know what's the type of a card through it's ATR?

2009-01-14 Thread Ludovic Rousseau
2009/1/14 lion yjfp...@163.com:
 ha, I got a little more information.

 There are characters NAGRAVISION on one side of the cards.
 And there wroted Swiss Mode. But I still have no clear idea about it.

http://www.nagravision.com/
It should be a pay-tv card. One of the more secret cards.

I don't think you can do anything with this card (except watch TV). In
general, the game is to create faked pay-tv cards not try to use a
real one.

Bye

-- 
 Dr. Ludovic Rousseau
___
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle


Re: [Muscle] How can I know what's the type of a card through it's ATR?

2009-01-14 Thread Michael Bender


On Jan 13, 2009, at 5:30 PM, lion wrote:


Thanks again for your informations.
I have a last thing want to be confirmed that  the commands defined  
in ISO7816-4 are not a standard?
All commands are card dependent ? (Although sometimes different  
types may have the same commands set).


There are a set of commands that are defined in various parts of  
ISO-7816 that are a
standard, although it is the case that not all cards implement all  
commands. For example
if you have a card without a filesystem on it, it probably won't  
implement the filesystem
commands. Or, you may have a card that can do a VerifyPIN operation  
but does not use

the defined VerifyPIN APDU that is specified in ISO-7816.

The root cause of all this mess is because none of the smartcard  
manufacturers were
mature enough to want to work *together* (rather than at cross- 
purposes) when the
technology was being developed decades ago, so everyone gave lip  
service to the

standards and went off and did their own thing anyway.

I'm amazed that they could agree on a common set of contact pad  
functionality (in

most cases ;-) and a common voltage!


I am looking the OPENCT sourece,


That's good, also look at OpenSC as well, and look over at the MUSCLE  
code, there's

lots of good stuff in all those areas.

Oh, if you want *my* advice - I would get into pig farming rather than  
smartcard programming,
it's a lot more rewarding and you can bring home the bacon at the end  
of the day ;-)


mike




Thanks again!
-
bob


If you don't know what type of card you have, then just sending  
random APDUs to the
card won't do you much good, and you may wind up locking up the card  
and rendering

it useless.


In your example, you are looking at a Gemalto forum, do you think  
that your card is a

Gemalto card of some type?


 You can try some common APDUs that work with OpenPlatform JavaCard
So, I don't know here what commands I can use ?


Do a Google search for OpenPlatform or have a look at the OpenSC  
sources for

example to find more information on APDUs that you can use.


And in my opinion, most of the commands in ISO7816-4 should SELECT  
FILE at first.

So, I  just try to implement the SELECT FILE command.


Well, why do you think that you need to do a SELECT FILE at first?  
Some cards don't
have any type of filesystem at all, so a SELECT FILE won't do  
anything with those types

of cards.

mike




《大话西游外传》贺岁新作,送豪宅、送你5000元压岁钱  
___

Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle


___
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle


Re: [Muscle] How can I know what's the type of a card through it's ATR?

2009-01-14 Thread s.ferey

Michael Bender a écrit :


[...]
The root cause of all this mess is because none of the smartcard 
manufacturers were mature enough to want to work *together*

when the technology was being developed decades ago


that's unfair  incorrect.
ISO 7816-3  4 were defined decades ago by card
manufacturer working together.

the title of this topic is still correct:
how to recognize _a_ card by its ATR
the point is that no card manufacturer, nor
any card integrator work with _a_ card,
everybody works with a chosen, known card.

everybody but people that plays (not works)
with cards of course - the specs do not cover
this point ... except the huge banking specs
that did care about terminal stuff regarding
card capabilities.

Sylvain.

___
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle


Re: [Muscle] How can I know what's the type of a card through it's ATR?

2009-01-14 Thread Michael Bender


On Jan 14, 2009, at 5:11 PM, s.ferey wrote:


Michael Bender a écrit :

[...]
The root cause of all this mess is because none of the smartcard  
manufacturers were mature enough to want to work *together*

when the technology was being developed decades ago


that's unfair  incorrect.
ISO 7816-3  4 were defined decades ago by card
manufacturer working together.


Well, I can believe that a bunch of card manufacturers all sat in the
same room and everyone got to put in *their* own favorite APDUs and then
at the end of the day when the actual silicon hit the streets, we had
a bunch of random sort-of compliant cards out there, but as you say  
later

on, no one really cared about interoperability until the mid 90's or so.


the title of this topic is still correct:
how to recognize _a_ card by its ATR
the point is that no card manufacturer, nor
any card integrator work with _a_ card,
everybody works with a chosen, known card.


Right, and that's a big problem when you move beyond the captive
vertical market that the smartcard industry has loved for so long.

The one biggest, most important forward-thinking feature of smartcards
that was not standardized was an ID command of some sort (in the ATR
or via a well-defined APDU), similar to the USB device descriptors or
the SCSI ID commands. Why the smartcard industry didn't think that this
was a good thing to have, even if they didn't care about working with
their competitor's cards, is beyond me.


everybody but people that plays (not works)
with cards of course - the specs do not cover
this point ... except the huge banking specs
that did care about terminal stuff regarding
card capabilities.


That's not true for products like Sun Ray where we support many  
different
cards from many different card vendors right out of the box for  
session
mobility so tat when you install the Sun Ray product you can instantly  
use

hundreds of different cards and card families in the Sun Ray. I and my
colleagues went to great pains and spent many long nights getting this  
to
work, and not having a universal ID command for cards was a challenge  
for.
I don't characterize our work as play, given that it's been a core  
feature

of our product since 2000.

mike


___
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle


Re:Re: [Muscle] How can I know what's the type of a card through it's ATR?

2009-01-14 Thread lion
 http://www.nagravision.com/
 It should be a pay-tv card. One of the more secret cards.

 I don't think you can do anything with this card (except watch TV). In
 general, the game is to create faked pay-tv cards not try to use a
 real one.

Yes, that's right. It's used in our set-top box(STB). 
I just try to do some base firmware tests now. And may be added supports under 
OpenCT later.

I changed a card and readed out the ATR:
TS: 3f  T0: ff  TA1:95  TB1:00  TC1: ff TD1: 91 TA2: 81 TD2:71  TA3:a0  TB3:47  
TC3:00
History: 44 4e   415350   30   20   54   65   73   74   30   33

So, It should be a nagravision card , and there may be  some unknow problems in 
the former card i used.

But I got a new problem.
The TD1 in the ATR is 0x91, so only protocol T=1 is supported.  
And TA1 is 0x95,  that means Fi=9, Di=5,not Fd=Dd=1 any more.
And TA2 is 0x81,  means that it's Specific mode.and it's bit5=0.

Then whether I needed sending PTS to select protocol T=1 after receiving ATR ?
If needed, how to send it ?
Because   ISO7816 3.4 Protocol type selection (PTS)   said  If only one 
protocol type and FI=D=1 (default value of TA1) and N smaller than 255 is 
indicated in the answer to reset. The transmission protocol associated to the 
protocol type may be started immediately after the transmission of answer to 
reset. 
So, I can't send PTS because Fi=9 and Di=5, and N=0xff.

If not, the following operations such as SELECT FILE use which F and D(Fi, Di 
or Fd, Dd) ? 

I did'not found clear answers in ISO7916-3 about these things. May be I shoule 
read it once more.

 Oh, if you want *my* advice - I would get into pig farming rather than 
 smartcard programming,
 it's a lot more rewarding and you can bring home the bacon at the end of the 
 day ;-)

A ha, You have a good sense of humor. But sometimes it's no choice. 


It's so long, thank you for your time.
---
Best Regards,
Bob___
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle