Wednesday, July 2, 2014

CCID descriptor statistics: dwDefaultClock

Article from the serie "CCID descriptor statistics"

The dwDefaultClock field is a number value from the USB CCID descriptor:
Default ICC clock frequency in KHz. This is an integer value.
Example: 3.58 MHz is encoded as the integer value 3580. (00000DFCh)
This is used in ETU and waiting time calculations. It is the clock frequency used when reading the ATR data.

dwDefaultClock#%
4.000 MHz12348.43 %
4.800 MHz4316.93 %
3.580 MHz3413.39 %
3.700 MHz103.94 %
3.686 MHz83.15 %
4.615 MHz51.97 %
1.500 MHz41.57 %
3.600 MHz41.57 %
2.000 MHz31.18 %
3.570 MHz31.18 %
3.750 MHz31.18 %
1.000 MHz20.79 %
3.000 MHz20.79 %
3.571 MHz20.79 %
3.685 MHz20.79 %
3.692 MHz20.79 %
1024.000 MHz10.39 %
3.850 MHz10.39 %
4.714 MHz10.39 %
5.000 MHz10.39 %


The most common default clock frequencies are:
  • 4.0 Mhz (48% of readers)
  • 4.8 Mhz (17%)
  • 3.58 Mhz (13%)

Note that 3.57 Mhz (used by 3 readers) was the default speed when the reader-host communication was at 9600 bauds using a serial communication port (9600 * 372 = 3,571,200).

Now that the readers are using the USB protocol the 4 Mhz clock speed may be easier to use at the hardware level and not too far from the classic 3.57 Mhz supported by old smart cards.

If we draw the number of reader per clock frequency we have:

The value 1024 Mhz (1.024 GHz) is clearly from a bogus reader.