Search code examples
smartcarduniqueidentifiersmartcard-readercontactless-smartcardserial-number

Reading the UID of a smart card


I use HID Omnikey Worbench. With this tool I can get a UID (unique identifier) for a contactless smart card. However I do not receive such a UID for contact cards.

Is it possible to read a UID from a contact smart card?


Solution

  • Contact smartcards do not have a UID (or any anti-collision identifier).

    Contact and contactless smartcards use a different physical communication medium (a wire vs. an RF field) and consequently require different (lower layer) communication protocols. With contact smartcards, a reader is only connected to exactly one card over a wired connection. With contactless cards, multiple cards could be within the range of the RF field of one reader. As a consequence, the smartcard reader needs to perform some form of anti-collision and enumeration in order to discover all (or at least one) contactless smartcard within its range. This is exactly where the UID comes in (at least in ISO/IEC 14443 Type A). The UID is used to uniquely address each card during anti-collision. Since there is no anti-collsion with contact cards (there is only one card connected to the reader anyways) there is no need for a UID with contact cards.