Important!

Blog moved to https://blog.apdu.fr/

I moved my blog from https://ludovicrousseau.blogspot.com/ to https://blog.apdu.fr/ . Why? I wanted to move away from Blogger (owne...

Wednesday, May 22, 2013

CCID descriptor statistics: bClassGetResponse

Article from the serie "CCID descriptor statistics"

The bClassGetResponse field is a number value from the USB CCID descriptor:
Significant only for CCID that offers an APDU level for exchanges.

Indicates the default class value used by the CCID when it sends a Get Response command to perform the transportation of an APDU by T=0 protocol.

Value FFh indicates that the CCID echoes the class of the APDU.

bClassGetResponse#%
0xFF15159.45 %
0x0010340.55 %


The statistics here are the same as for the bClassEnvelope field.

All the readers have bClassEnvelope = bClassGetResponse set to either 0x00 or 0xFF.
It is not surprising to have bClassEnvelope = bClassGetResponse since the two fields are used to manage APDU (short or extended) with T=0 cards.

CCID descriptor statistics: bClassEnvelope

Article from the serie "CCID descriptor statistics"

The bClassEnvelope field is a number value from the USB CCID descriptor:
" Significant only for CCID that offers an extended APDU level for exchanges.

Indicates the default class value used by the CCID when it sends an Envelope command to perform the transportation of an extended APDU by T=0 protocol.

Value FFh indicates that the CCID echoes the class of the APDU. "

bClassEnvelope#%
0xFF15159.45 %
0x0010340.55 %

CCID descriptor statistics: bAlternateSetting

Article from the serie "CCID descriptor statistics"

The bAlternateSetting field is a number value from the USB descriptor: Value used to select this alternate setting for the interface identified in the prior field.

All the CCID readers I have in my list have the same value: 0.

bAlternateSetting#%
0254100.00 %

Monday, May 20, 2013

CCID descriptor statistics: iProduct

Article from the serie "CCID descriptor statistics"

The iProduct field is a text field from the USB descriptor: describing product

iProduct#%
588051.97 %
Weneo41.57 %
AT90SCR05020.79 %
AT90SCR10020.79 %
CryptoIdentity CCID20.79 %
DIGIPASS KEY 20020.79 %
DIGIPASS KEY 20220.79 %
DIGIPASS KEY 86020.79 %
Ezio Shield20.79 %
Identive CLOUD 4500 F Dual Interface Reader20.79 %
Identive CLOUD 4510 F Contactless + SAM Reader20.79 %
Identive CLOUD 4700 F Dual Interface Reader20.79 %
Identive CLOUD 4710 F Contactless + SAM Reader20.79 %
Micro Oz77620.79 %
Prox Dual USB PC LinkReader20.79 %
Prox SU USB PC LinkReader20.79 %
Smart Card Reader20.79 %
Smart Enterprise Guardian Secure USB Device20.79 %
USB GemPCPinpad SmartCard Reader20.79 %
XI-SIGN USB V220.79 %
13.56MHz RFID (CCID)10.39 %
6321 CLi USB10.39 %
ACR 38U-CCID10.39 %
ACR10010.39 %
ACR101 ICC Reader10.39 %
ACR122U10.39 %
ACR122U PICC Interface10.39 %
ACR38 plugin10.39 %
AET6510.39 %
AK-CR-0310.39 %
ALYA10.39 %
APG8201 PINhandy 110.39 %
APG8201 USB Reader10.39 %
ASE IIIe10.39 %
ASEDrive IIIe KB10.39 %
AT90SCR20010.39 %
AT91SC192192CT-USB ICCD reader10.39 %
AT91SO CCID Smart Card Reader10.39 %
AT98SC032CT-USB10.39 %
AU952010.39 %
AU952210.39 %
AU954010.39 %
ActivCard USB Reader V210.39 %
Activkey_Sim10.39 %
Argos Mini II10.39 %
Auriga10.39 %
BLUDRIVE II CCID10.39 %
CCID SmartCard Controller10.39 %
CI69210.39 %
CKey410.39 %
CL1356A_HID10.39 %
CL1356T10.39 %
CL1356T510.39 %
CLOUD 2700 F Smart Card Reader10.39 %
CLOUD 2700 R Smart Card Reader10.39 %
CPL10810.39 %
CSB6 Basic10.39 %
CSB6 Secure10.39 %
CSB6 Ultimate10.39 %
CX0010.39 %
Card Reader10.39 %
CardMan 102110.39 %
CardMan 302110.39 %
CardMan 312110.39 %
CardMan 362110.39 %
CardMan 382110.39 %
CardMan 432110.39 %
CardMan 512110.39 %
CardMan 512510.39 %
CardMan 532110.39 %
CardMan 612110.39 %
CrazyWriter10.39 %
Crypto Stick v1.210.39 %
CryptoMate6410.39 %
D2CIM-DVUSB VM/CCID10.39 %
DIGIPASS 92010.39 %
DIGIPASS KEY 10110.39 %
DOMINO-Key TWIN10.39 %
DP85510.39 %
DP86510.39 %
DP905v1.110.39 %
Dell Smart Card Reader Keyboard10.39 %
Digipass 86010.39 %
EMV CAP - SecOVID Reader III10.39 %
EZIO CB+10.39 %
EasyFinger Standard10.39 %
EasyFinger Ultimate10.39 %
Ezio Shield Branch Reader10.39 %
FT SCR31010.39 %
Gem e-Seal Pro USB Token10.39 %
GemCore POS Pro Smart Card Reader10.39 %
GemCore SIM Pro Smart Card Reader10.39 %
GemPC Express10.39 %
Gemplus USB SmartCard Reader 433-Swap10.39 %
Gnuk10.39 %
H512 Series10.39 %
H663 Series10.39 %
HP USB CCID Smartcard Keyboard10.39 %
HP USB Smart Card Keyboard10.39 %
HP USB Smartcard Reader10.39 %
Hybrid Smartcard Reader10.39 %
ID-ONE TOKEN SLIM v210.39 %
IDBridge K300010.39 %
IDProtect Key v210.39 %
IDToken10.39 %
Integrated Smart Card Reader10.39 %
JCOP41V22110.39 %
KAAN Advanced10.39 %
KAAN Base10.39 %
KAAN SIM III10.39 %
KBR3610.39 %
KONA USB SmartCard10.39 %
LTC31 v210.39 %
LTC3210.39 %
LTC3610.39 %
LTC3x USB10.39 %
Leo v210.39 %
MFP Smart Card Reader10.39 %
MSO1350 Fingerprint Sensor & SmartCard Reader10.39 %
MSO350/MSO351 Fingerprint Sensor & SmartCard Reader10.39 %
Multi-Reader10.39 %
MyLeo10.39 %
MySMART PAD V2.010.39 %
NFC CCID eNetPad10.39 %
NFC'Roll10.39 %
PC Twin Reader10.39 %
PDT10.39 %
PINPad Ex10.39 %
PINPad In10.39 %
PIV Token10.39 %
PR53310.39 %
Panasonic USB Smart Card Reader 7A-Smart10.39 %
Precise 200 MC10.39 %
Precise 250 MC10.39 %
Prox'N'Roll10.39 %
RSA SecurID (R) Authenticator10.39 %
Reflex USB v310.39 %
Rutoken ECP10.39 %
Rutoken Magistra10.39 %
Rutoken lite10.39 %
SA .NET Dual10.39 %
SC Reader 37110.39 %
SCL01x Contactless Reader10.39 %
SCR 33110.39 %
SCR 331-DI10.39 %
SCR 331010.39 %
SCR 331110.39 %
SCR 33510.39 %
SCR 35510.39 %
SCR00110.39 %
SCR30110.39 %
SCR331-DI USB Smart Card Reader10.39 %
SCR3310 USB Smart Card Reader10.39 %
SCR3310-NTTCom USB SmartCard Reader10.39 %
SCR3320 - Smart Card Reader10.39 %
SCR3340 - ExpressCard54 Smart Card Reader10.39 %
SCR33x USB Smart Card Reader10.39 %
SCR35xx v2.0 USB SC Reader10.39 %
SDI010 Smart Card Reader10.39 %
SDI011 Contactless Reader10.39 %
SIM Reader10.39 %
SPR 53210.39 %
STD20010.39 %
SafeTouch10.39 %
SchlumbergerSema Cyberflex Access10.39 %
Secure Storage Token10.39 %
Secure Token10.39 %
SecureToken10.39 %
Sense MC10.39 %
Sitecom USB simcard reader MD-01010.39 %
Smart Pocket10.39 %
Smart Token10.39 %
SmartBoard XX1X10.39 %
SmartBoard XX3310.39 %
SmartBoard XX4410.39 %
SmartCard Keyboard USB 2A10.39 %
SmartCard USB 2A10.39 %
SmartCase KB SCR eSIG10.39 %
SmartMX Sample10.39 %
SmartMouse USB10.39 %
SmartTerminal ST-127510.39 %
SmartTerminal ST-2xxx10.39 %
SmartTerminal XX1X10.39 %
SmartTerminal XX4410.39 %
Star Sign Card Token 350 (ICCD)10.39 %
Star Sign Card Token 550 (ICCD)10.39 %
StarReader SMART10.39 %
StarSign Crypto USB Token10.39 %
TLTC2USB10.39 %
TSC12xxFV.0910.39 %
Teo10.39 %
TianYu CCID SmartKey10.39 %
TokenA sl vt10.39 %
USB Reader V310.39 %
USB Shell Token V210.39 %
USB Smart Chip Device10.39 %
USB-Token iBank2key10.39 %
USB2.0-CRW10.39 %
VEGA-ALPHA10.39 %
VaultIC 420 Smart Object10.39 %
VaultIC 440 Smart Object10.39 %
VaultIC 460 Smart Object10.39 %
VaultIC420 Smart Object10.39 %
VaultIC44010.39 %
VaultIC46010.39 %
Virtual USB CCID10.39 %
XecureHSM10.39 %
Yubikey NEO CCID10.39 %
Yubikey NEO OTP+CCID10.39 %
cryptokey10.39 %
cyberJack RFID basis10.39 %
cyberJack go10.39 %
ePass200310.39 %
eSafeLD10.39 %
eToken PRO USB 72K Java10.39 %
iAM10.39 %
iBank2Key10.39 %
keyboard SK-310610.39 %
mIDentity 4smart10.39 %
mIDentity 4smart AES10.39 %
mIDentity M10.39 %
mIDentity XL10.39 %
mIDentity fullsize10.39 %
mIDentity fullsize AES10.39 %
mIDentity visual10.39 %
miniLector10.39 %
miniLector-s10.39 %
plug'n'crypt CCID token10.39 %
uKeyCI800-K1810.39 %



The graphics for iProduct is not really informative. I removed the legend since it is very long.

The iProduct is an arbitrary string chosen by the reader manufacturer. The same product name may be reused in different cases.
  • The same product name is used for different devices.
    • Broadcom Corp 5880 is the winner in this category (5 readers)
    • Neowave Weneo is second (4 readers)
    • Eutron CryptoIdentity CCID (2 readers)
    • VASCO DIGIPASS KEY 200 (2 readers)
    • VASCO DIGIPASS KEY 202 (2 readers)
    • VASCO DIGIPASS KEY 860 (2 readers)
    • Gemalto Ezio Shield (2 readers)
    • O2 Micro Oz776 (2 readers)
    • Gemalto Smart Enterprise Guardian Secure USB Device (2 readers)
  • The manufacturer has changed its name but kept the product name
    • AT90SCR050 is used in ATMEL AT90SCR050 and Inside Secure AT90SCR050
    • AT90SCR100 is used in ATMEL AT90SCR100 and Inside Secure AT90SCR100
  • The reader is a composite device with 2 CCID interfaces and then listed 2 times.
    It is the case for:
    • Identive CLOUD 4500 F Dual Interface Reader
    • Identive CLOUD 4510 F Contactless + SAM Reader
    • Identive CLOUD 4700 F Dual Interface Reader
    • Identive CLOUD 4710 F Contactless + SAM Reader
  • The product name is generic and reused by mistake
    • Smart Card Reader used by Tianyu Smart Card Reader, THRC Smart Card Reader

CCID descriptor statistics: idProduct

Article from the serie "CCID descriptor statistics"

The idProduct field is a 32-bit field from the USB descriptor: Product ID (assigned by the manufacturer)

idProduct#%
0x000751.97 %
0x90CC51.97 %
0x000241.57 %
0x572041.57 %
0x572141.57 %
0x000131.18 %
0x000831.18 %
0x580231.18 %
0x952031.18 %
0x000020.79 %
0x000320.79 %
0x000920.79 %
0x001020.79 %
0x001120.79 %
0x001320.79 %
0x002520.79 %
0x003620.79 %
0x005220.79 %
0x011220.79 %
0x020020.79 %
0x0C0020.79 %
0x100620.79 %
0x302120.79 %
0x347820.79 %
0x512120.79 %
0x541020.79 %
0x550320.79 %
0x550420.79 %
0x814120.79 %
0xA02220.79 %
0x000410.39 %
0x000510.39 %
0x000610.39 %
0x000C10.39 %
0x000D10.39 %
0x001210.39 %
0x001410.39 %
0x001710.39 %
0x001910.39 %
0x001D10.39 %
0x002610.39 %
0x002D10.39 %
0x003010.39 %
0x003310.39 %
0x003710.39 %
0x003810.39 %
0x003E10.39 %
0x004010.39 %
0x005010.39 %
0x005B10.39 %
0x006010.39 %
0x007010.39 %
0x007210.39 %
0x008010.39 %
0x008110.39 %
0x010110.39 %
0x010210.39 %
0x010B10.39 %
0x011110.39 %
0x011510.39 %
0x011710.39 %
0x011910.39 %
0x012010.39 %
0x012210.39 %
0x016110.39 %
0x016510.39 %
0x016910.39 %
0x022010.39 %
0x040110.39 %
0x040210.39 %
0x040F10.39 %
0x050310.39 %
0x050410.39 %
0x050510.39 %
0x062010.39 %
0x080110.39 %
0x080710.39 %
0x081010.39 %
0x082410.39 %
0x085510.39 %
0x086510.39 %
0x090010.39 %
0x092010.39 %
0x0B0010.39 %
0x0BDF10.39 %
0x0C0110.39 %
0x100310.39 %
0x100410.39 %
0x100510.39 %
0x101710.39 %
0x102110.39 %
0x102310.39 %
0x102410.39 %
0x107810.39 %
0x110110.39 %
0x110210.39 %
0x117A10.39 %
0x120110.39 %
0x120410.39 %
0x122710.39 %
0x135910.39 %
0x140010.39 %
0x200710.39 %
0x210010.39 %
0x210110.39 %
0x210510.39 %
0x220010.39 %
0x220210.39 %
0x222110.39 %
0x232110.39 %
0x292410.39 %
0x300110.39 %
0x300210.39 %
0x300310.39 %
0x301010.39 %
0x301410.39 %
0x301D10.39 %
0x311110.39 %
0x343710.39 %
0x343810.39 %
0x347910.39 %
0x348010.39 %
0x34C010.39 %
0x34C210.39 %
0x34C310.39 %
0x34C510.39 %
0x34EC10.39 %
0x362110.39 %
0x381510.39 %
0x382110.39 %
0x400010.39 %
0x400110.39 %
0x404210.39 %
0x410710.39 %
0x418910.39 %
0x41A910.39 %
0x428910.39 %
0x432110.39 %
0x438910.39 %
0x43A910.39 %
0x443310.39 %
0x507210.39 %
0x511110.39 %
0x511310.39 %
0x511510.39 %
0x511610.39 %
0x511710.39 %
0x511910.39 %
0x511A10.39 %
0x511C10.39 %
0x511D10.39 %
0x511F10.39 %
0x512010.39 %
0x512510.39 %
0x512B10.39 %
0x529310.39 %
0x532110.39 %
0x571010.39 %
0x574310.39 %
0x580010.39 %
0x580110.39 %
0x581010.39 %
0x600410.39 %
0x600910.39 %
0x600B10.39 %
0x601010.39 %
0x601110.39 %
0x601210.39 %
0x601410.39 %
0x601610.39 %
0x630010.39 %
0x630110.39 %
0x630210.39 %
0x632110.39 %
0x635410.39 %
0x640310.39 %
0x640410.39 %
0x640710.39 %
0x662210.39 %
0x711310.39 %
0x712110.39 %
0x712310.39 %
0x712410.39 %
0x713610.39 %
0x713810.39 %
0x714110.39 %
0x776210.39 %
0x777210.39 %
0x800010.39 %
0x800710.39 %
0x800A10.39 %
0x803310.39 %
0x810810.39 %
0x820110.39 %
0x820210.39 %
0x90DB10.39 %
0x910210.39 %
0x91B110.39 %
0x952210.39 %
0x954010.39 %
0xA02110.39 %
0xA1A110.39 %
0xACE010.39 %
0xB11110.39 %
0xCC1D10.39 %
0xCCB210.39 %
0xE00110.39 %
0xE00310.39 %




Since the idProduct field is at the discretion of the manufacturer it can be anything between 0x0000 and 0xFFFF. But we find different products with the same idProduct value.

The same value is reused in different cases:
  • The same value is used by different manufacturers by accident. It is the case for the values:
    • 0x0007 used for: COVADIS ALYA, Eutron CryptoIdentity CCID, C3PO TLTC2USB, Kingtrust Multi-Reader, Softforum Co., Ltd XecureHSM.
    • 0x0002 used for: MYSMART MySMART PAD V2.0, BIFIT iBank2Key, charismathics plug'n'crypt CCID token, GIS Ltd SmartMouse USB
    • 0x0001 used for BIFIT USB-Token iBank2key, Validy TokenA sl vt, VASCO DP905v1.1
    • 0x0008 used for Eutron CryptoIdentity CCID, COVADIS VEGA-ALPHA, ActivCard ActivCard USB Reader V2
    • 0x0000 used for Free Software Initiative of Japan Gnuk, Teridian Semiconductors TSC12xxFV.09
    • 0x0003 used for SchlumbergerSema SchlumbergerSema Cyberflex Access, C3PO LTC3x USB
    • 0x0009 used for C3PO KBR36, ubisys 13.56MHz RFID (CCID)
    • 0x0010 used for Cherry GmbH SmartBoard XX44, C3PO LTC32
    • 0x0013 used for ActivIdentity USB Reader V3, Neowave Weneo
    • 0x0025 used for Aktiv Rutoken lite, HDZB uKeyCI800-K18
    • 0x0036 used for C3PO LTC36, Hewlett-Packard Company HP USB CCID Smartcard Keyboard
    • 0x0052 used for Morpho MSO1350 Fingerprint Sensor & SmartCard Reader, Todos CX00
    • 0x0112 used for VASCO DIGIPASS KEY 860, Yubico Yubikey NEO CCID
    • 0x1006 used for Fujitsu Siemens Computers SmartCard USB 2A, Raritan D2CIM-DVUSB VM/CCID
    • 0x5121 used for OMNIKEY AG CardMan 5121, SCM Microsystems Inc. SDI010 Smart Card Reader
    • 0x8141 used for Gemalto IDBridge K3000, SpringCard NFC'Roll
  • The same value is used by the same manufacturer but for different products.
    • 0x90CC is used for many ACS readers: ACS ACR 38U-CCID, ACS ACR122U, ACS ACR100, ACS ACR38 plugin, ACS AET65.
    • 0x5720 is used for 2 Identive readers but they are composite devices with 2 CCID interfaces so they are listed 2 x 2 = 4 times: Identive CLOUD 4500 F Dual Interface Reader, Identive CLOUD 4700 F Dual Interface Reader
    • 0x5721: same remark as above for Identive CLOUD 4510 F Contactless + SAM Reader, Identive CLOUD 4710 F Contactless + SAM Reader
    • 0x5802 used for 3 readers called Broadcom Corp 5880.
      Here the iProduct is even the same for the different readers.
    • 0x9520 used for Alcor Micro AU9520, Akasa AK-CR-03, Alcor Micro SCR001.
      Here Alcor and Akasa also use the same IdVendor: 0x058F.
    • 0x0011 used for 2 readers XIRING XI-SIGN USB V2
    • 0x0200 used for id3 Semiconductors CL1356T, id3 Semiconductors CL1356T5
    • 0x0C00 used for Eutron Card Reader, Eutron SIM Reader
    • 0x3021 used for OMNIKEY AG CardMan 3121, OMNIKEY AG CardMan 3021
    • 0x3478 used by 2 readers Gemalto USB GemPCPinpad SmartCard Reader
    • 0x5410 used for SCM Microsystems Inc. SCR 355, SCM Microsystems Inc. SCR35xx v2.0 USB SC Reader
    • 0x5503 used by a composite dual interface Gemalto Prox Dual USB PC LinkReader
    • 0x5504 used by a composite dual interface Gemalto Prox SU USB PC LinkReader
    • 0xA022 used for Precise Biometrics Sense MC, XIRING Teo
      Here the IdVendor is also the same 0x076B for OMNIKEY

The idProduct is not very informative. The value is arbitrary.

Wednesday, May 1, 2013

cardpeek now available as a Debian package


The nice cardpeek software I presented in "cardpeek: A tool to read the contents of smartcards" is now available as the cardpeek Debian package. You do not need to install lua and rebuild the application yourself anymore.

cardpeek is a graphical application to read EMV, SIM and other types of smart cards.