[Pcsclite-muscle] Different behaviour with Select MF on Omnikey 5427 and 5022

Stephan Guilloux stephan.guilloux at crisalid.com
Wed Nov 4 09:36:07 EST 2020


Hmmmmm.
I thought also to some kind of emulation ...
There, it's clearly out of my skills/materials to start on that part ;-)


Anyway, I had in mind another question to yours (reader does not wait
the card long enough):
Would it be possible that it's not the reader itself, but CCID,
claiming "no answer" a bit too early ?



Stéphan GUILLOUX
Ingénieur Développement Sr

40 avenue de la libération 57160 Châtel St-Germain
Tél. 03 87 65 98 80 / poste 221
stephan.guilloux at crisalid.com

LES LOGICIELS QUI VOUS DONNENT DES AILES ! - www.crisalid.com




Le mer. 4 nov. 2020 à 14:43, Sebastien Lorquet <sebastien at lorquet.fr> a écrit :
>
> Hello,
>
> According to the result from the ATR parser, you are trying to use a
> Mifare 1K card. These cards do not comply with ISO/IEC 14443-A part 4
> and are not able to exchange APDUS as pcsclite does. These cards have no
> ATR but readers usually return a pseudo-ATR based on info in PC/SC 2
> part 10.
>
> So the reader that works might be emulating commands to allow you access
> to the card. Because a mifare classic 1K card does not have a MF at all.
>
> And the other reader does not, or does not have the same commands.
>
> So you should look at the low level / developer documentation of your
> readers and determine which access commands must be used, because at
> this point your are in the domain of proprietary reader specific
> commands. Usually, this involves specific pseudo-APDUs where CLA=FFh,
> which directs the command to the reader. Any other CLA is not really
> specification compliant here. This is documented in PC/SC 2 part 10.
>
> Moreover a mifare classic card requires authentication to read anything
> but sector 0. A proxmark reader can be useful to debug these cards.
>
>
> If the ATR parser is wrong, and your card complies with ISO/IEC 14443
> part 4 either A or B (which is usually incorrectly called T=CL) - could
> be the case with a DesFire card, then the problems are elsewhere:
>
> Either the reader has a polling problem (it is very complex to correctly
> emulate the insertion/power status of a contact card with contactless
> cards), or the reader does not wait the card long enough, or something else.
>
> The first step would be to test yet another reader, and to spy the
> contactless protocol with an analysis tool to determine if the
> contactless dialog between the card and the reader is compliant.
>
>
> Sebastien
>
> Le 04/11/2020 à 11:54, Stephan Guilloux a écrit :
> > Hmmmm...
> > If it was the case, it should not be possible to access the card at all, right ?
> > But ... I'm able to read the UID, with both readers and both return the same...
> >
> >
> > Stéphan GUILLOUX
> > Ingénieur Développement Sr
> >
> > 40 avenue de la libération 57160 Châtel St-Germain
> > Tél. 03 87 65 98 80 / poste 221
> > stephan.guilloux at crisalid.com
> >
> > LES LOGICIELS QUI VOUS DONNENT DES AILES ! - www.crisalid.com
> >
> >
> >
> >
> > Le mer. 4 nov. 2020 à 11:36, Ludovic Rousseau
> > <ludovic.rousseau at gmail.com> a écrit :
> >> Le mer. 4 nov. 2020 à 11:15, Stephan Guilloux
> >> <stephan.guilloux at crisalid.com> a écrit :
> >>> Here you are.
> >>>
> >>> I took the opportunity to update PCSC and CCID to the latest versions
> >>> available (1.9.0 and 1.4.33).
> >>> Results are the same.
> >>>
> >>> To reproduce, I ran the last official scard_example.go and rebuilt it
> >>> with the libs above.
> >>> scard_example output is inserted in each PCSC log file.
> >>>
> >>> For comparison, the same process is used with a 5427 and a 5022.
> >>> 5427 logs are attached in this mail.
> >>> 5022 will be sent in a second mail.
> >>  From log-hid-5427-card1-ko.txt
> >>
> >> 00000037 [1963975616] ifdhandler.c:1868:IFDHICCPresence()
> >> usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> >> (lun: 0)
> >> 00000039 [1963975616] -> 000000 65 00 00 00 00 00 04 00 00 00
> >> 00001820 [1963975616] <- 000000 81 00 00 00 00 00 04 01 00 01
> >> 00000037 [1963975616] ifdhandler.c:1989:IFDHICCPresence() Card present
> >> 00000040 [1963975616] ifdhandler.c:1167:IFDHPowerICC() action:
> >> PowerUp, usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> >> (lun: 0)
> >> 00000965 [1963975616] -> 000000 62 00 00 00 00 00 05 00 00 00
> >> 00217134 [1963975616] <- 000000 80 00 00 00 00 00 05 42 FE 00
> >> 00000052 [1963975616] commands.c:243:CmdPowerOn Card absent or mute
> >> 00000031 [1963975616] ifdhandler.c:1234:IFDHPowerICC() PowerUp failed
> >>
> >> The reader reports a card present but can't power on the card.
> >>
> >> Later in the log:
> >> 00000034 [1953493952] APDU: 00 A4 00 0C 02 3F 00
> >> 00000028 [1953493952] ifdhandler.c:1316:IFDHTransmitToICC()
> >> usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> >> (lun: 0)
> >> 00000046 [1953493952] commands.c:1634:CmdXfrBlockAPDU_extended() T=0
> >> (extended): 7 bytes
> >> 00000053 [1953493952] -> 000000 6F 07 00 00 00 00 0C 00 00 00 00 A4 00
> >> 0C 02 3F 00
> >> 00039734 [1953493952] <- 000000 80 00 00 00 00 00 0C 40 FE 00
> >> 00000069 [1953493952] commands.c:1534:CCID_Receive Card absent or mute
> >> 00000024 [1953493952] SW:
> >> 00000024 [1953493952] ifdwrapper.c:543:IFDTransmit() Card not transacted: 612
> >> 00000024 [1953493952] winscard.c:1620:SCardTransmit() Card not
> >> transacted: 0x80100016
> >>
> >> The reader reports that the card is no more present.
> >>
> >> I suspect a communication problem between the card and the reader.
> >> Contactless communication is not easy.
> >>
> >> Both cards are Mifare cards
> >> https://smartcard-atr.apdu.fr/parse?ATR=3B8F8001804F0CA000000306030001000000006A
> >> Maybe they are not exactly the same model.
> >>
> >> Maybe someone here has an explanation.
> >>
> >> Bye
> >>
> >> --
> >>   Dr. Ludovic Rousseau
> >>
> >> _______________________________________________
> >> pcsclite-muscle mailing list
> >> pcsclite-muscle at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/pcsclite-muscle
> > _______________________________________________
> > pcsclite-muscle mailing list
> > pcsclite-muscle at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/pcsclite-muscle
>
> _______________________________________________
> pcsclite-muscle mailing list
> pcsclite-muscle at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/pcsclite-muscle



More information about the pcsclite-muscle mailing list