A contactless smart card is any pocket-sized card with embedded integrated circuits that can process and store data, and communicate with a terminal via radio waves.
There are two broad categories of contactless smart cards. Memory cards contain non-volatile memory storage components, and perhaps some specific security logic.
Contactless smart cards do not contain an ordinary read-only RFID, but they do contain a re-writeable smart card microchip that can be transcribed via radio waves.
A contactless smart card is a card in which the chip communicates with the card reader through an induction technology similar to that of an RFID (at data rates of 106 to 848 kbit/s).
These cards require only close proximity to an antenna to complete a transaction.
They are often used when transactions must be processed quickly or hands-free, such as on mass transit systems, where a smart card can be used without even removing it from a wallet.
The standard for contactless smart card communications is ISO/IEC 14443. It defines two types of contactless cards ("A" and "B") and allows for communications at distances up to 10 cm.
CardExchange™ Producer Ultimate supports inline encoding and reading for three different type of contactless technologies:
MIFARE® DESFire.
MIFARE® Classic.
HID® Proximity cards.
MIFARE® Classic
CardExchange™ Producer supports inline encoding and reading of MIFARE® Classic 1K and 4K cards.
Creating Classic Encoding:
Encoding is setup via the Designer so click on Card Designer to start the Designer.
Click on New, as indicated with the red arrow to start the MIFARE® Classic Setup Wizard and follow the steps.
It is important to notice that, compared to using DESFire, for Classic you will need to create separate setups for reading and/or writing to the Classic chip.
Read definitions are mostly only created if the CSN (Chip Serial Number) of the Classic card needs to read and stored into the database or printed on the card.
Step 1: Selecting Memory Size:
When we have entered a name for the definition into the text box and we click on Create, a dialog box 'Create new Mifare Definition' will be shown asking to make a choice for the type of MIFARE® Classic chip.
You can select to create a definition for a MIFARE® 1K or 4K card. As you can see, you can also select HID Proximity. This is because we also use the same wizard for defining HID® Proximity encoding.
The most common used MIFARE® Classic chip is the 1K card, which we will use.
The 4K chip basically works the same with exception of the size of the sectors starting from sector 16 and up, and it has two MAD sections.
Step 2: Define General Settings:
The General settings group box allows choosing the reader type, the serial port to which the reader is connected and the baud rate to be used.
CardExchange™ Producer supports a lot of readers for encoding MIFARE® Classic.
Currently we support DigiOn24, GemEasyLink 680, ACG, Zebra MIFARE®, Pro-Active, PPC/El-Tech, and PC/SC 1
and 2 readers like OmniKey and CrazyWriter.
If the reader is not available, please make sure it is installed properly. You can click on the Refresh button to reload the list with available readers. You are able to test if the connected reader is working and responding correctly.
Click on the Test button to open the MIFARE® Reader Test window.
When pressing the Test button, CardExchange™ Producer will try to connect with the reader and, if a card is present, it will try to read the CSN.
If the test succeed and the reader is working and a card is present on the reader, you will have two green lights.
The MAD settings group box makes it possible to activate the MAD-related functionality.
Checking the first check box causes the general-purpose byte of the sector trailer of sector 0 to be read and interpreted. This byte contains information about the MIFARE® Application Directory.
Requirements text box:
· Whether the card has a MAD or not.
· Whether the card is a multi- or a mono application card.
· Whether the MAD is version 1 (Mifare 1K) or version 2 (Mifare 4K).
The second check box makes it possible to Activate or change these MAD properties. If it is checked, the MAD will be activated.
The user can choose whether it should be a multi-application card or not. The MAD version written depends on the card type specified for this definition.
The last check box allows specifying whether the MAD should be read and updated automatically. If the card has a MAD or if the MAD is activated in the definition and the user does not check this option, he cannot use any MAD-related functionality other than setting the general purpose byte of sector 0 and he will have to define a data item to write the correct entries into the MAD.
Click Next to proceed with the creation of the Classic Definition and go to Step 3.
The navigator object on the left-hand side of this pages shows a list of all Data Items that have been defined. Data Items can be added and removed by using the respective buttons indicated with the red rectangle.
By selecting a data item, its properties can be viewed and edited in the Data-Item Properties group on the right-hand side.
The Data Item name may include any character and can be freely chosen as long as the name is unique. The Data Item name is used in the Advanced Mappings window to uniquely identify the Data Item.
The Value Type determines which kind of data is read from or written to the data blocks. The options Text, Binary, Hexadecimal, and BCD treat the blocks as read/ write blocks, whereas the option Value treats the blocks as value blocks.
In the latter case, the size of the data item cannot be changed and is one by default. In the former case, data items can be an arbitrary number of blocks in size, as long as it does not exceed the size of the memory on the chip.
The difference between the first three types is not in the way the data is stored, but in the way the data to be stored is provided.
Text items expect strings and will store the ASCII codes of the individual characters.
Binary items expect binary data to be copied into data blocks. Hexadecimal items expect strings that contain the hexadecimal representation of the binary data to be copied into the data blocks.
BCD items expect integers and will store them as binary coded decimals.
The Sector and the Block number indicate where on the MIFARE® Classic card the first block of data of this item is located.
Data Items are allowed to span various blocks, but always consist of a whole number of blocks. If a write item does not supply sufficient data for all indicated blocks, the data is supplemented with zeros.
By default, items that span various blocks will skip sector trailers when distributing the data over the subsequent blocks. If for example the item size is four blocks and the item is written to sector 3 block 1, the data will be distributed over sector 3 block 1 and 2 and sector 4 block 0 and 1, skipping the sector trailer of block 3.
However, if the information to be written to the sector trailer is contained in the data item, the option Includes sector trailers should be checked to force the data item to include the sector trailers.
Click Next to proceed with the creation of the Classic Definition and go to Step 4.
The navigator object on the left-hand side shows all blocks and sectors grouped in various ways and in a hierarchical manner. It allows the user to select a single data block, but also entire sectors and groups of sectors.
On the right-hand side the settings for the selected sector or group of sectors and the selected block or group of blocks can be modified, and can be viewed provided that all sectors or blocks in the group share the same setting. If any modification is done, it will apply to all selected sectors and blocks.
For example, if in the above screen shot the access conditions are changed for the data blocks, this setting will apply to all data blocks of sector 10. After that, it is possible to select block 0 of sector 10 and change the access conditions for this block only, without affecting blocks 9 and 11.
In general, it is advisable to start a definition with settings shared by many blocks and work down to the exceptions to the general rule.
The first group of settings are defined on the sector level and contain the keys to be used to logon to the sector(s). The keys are entered in hexadecimal format. If the fields do not contain a valid hexadecimal string or contain the wrong key values, processing the definition will result in an error. If one of the keys is not used, it is not necessary to enter.
A specific value and the default value FFFFFFFFFFFF can be left unchanged. This group also contains a field called Data AID, that can only be edited when the selected sectors are referred to by one or more data items and when you are reading and updating the MAD automatically.
This is the so-called Application Identifier, which is defined on a sector level to allow for optimal flexibility. It should be noted, however, that the Data AID essentially refers to the data of the Data Items defined for that sector and not to the sector itself. CardExchange™ Producer might be allowed to write application data to another sector than specified in the definition.
If one of the selected data blocks is the target of a Data Item, it has to be indicated whether the logon to the sectors of those blocks is to be done with key A or key B.
This is a property that can be set for each block individually and is therefore found in the second group of settings, which contains all block-level settings.
The access conditions for the data blocks can be set for each block individually on MIFARE® Classic 1K. For MIFARE® Classic 4K, the access conditions are shared between five data blocks and cannot be set for individual blocks.
The small buttons right of the combo boxes allow the access conditions to be entered in hexadecimal format.
When clicking on Finish, the wizard will prompt whether you want to hide the keys.