MiFare - разница между UID и серийным номером карты MiFare

Мне нужно прочитать серийный номер карты MiFare usin WinSCard. Я могу читать 7B UID с карты MiFare.

Смущение в том, что я не знаю, есть ли UID и серийный номер Карта MiFare одинакова?!!

Я столкнулся с проблемой, но только мог получить частичный успех. Я нашел question в stackoverflow, но это не помогло.

Я нашел document в сети NXP, где указано, что UID и серийный номер отличаются. (на странице № 3, строка № 5)

Существует приложение OmniKey, которое считывает серийный номер карты, а также возвращает только UID.

Документация NXP говорит UID < > Серийный номер, а другое стандартное приложение OmniKey возвращает UID как серийный номер.

Я начал снимать волосы с этой проблемы. Я был бы очень признателен, если бы кто-нибудь мог помочь.

Ответ 1

Каждая смарт-карта содержит встроенный чип с уникальным постоянным идентификационным номером (UID), который был записан в процессе производства. Этот UID часто называют серийным номером карты (CSN). Серийный номер карты не зашифрован, и любой считыватель, совместимый с ISO, может прочитать серийный номер карты.

Изменить 1:

Серийный номер карты Mifare - это уникальный идентификатор, определенный в ISO 14443-3A. В стандарте определены 3 типа UID - одиночный (4 байта), двойной (7 байтов) и тройной (10 байтов). Только в первых версиях карты Mifare UID составлял 4 байта, но теперь мигрировал до 7 байтов.

РЕДАКТИРОВАТЬ 2: Это может быть полезно для вас...

What is the difference between a 4 byte UID and a 4 byte ID?

4-байтовый UID - это идентификатор, который был назначен производителем карты с использованием управляемой базы данных. Эта база данных гарантирует, что один идентификатор не используется дважды. В противоположность этому 4-байтовый идентификатор представляет собой идентификатор, который может быть назначен более чем одной бесконтактной микросхеме в течение времени производства продукта, так что более чем одна карта с таким же идентифицированным может быть развернута в одной конкретной бесконтактной системе.

Ответ 2

Дифференциация в этом случае происходит из того, что "Серийный номер" означает, что числа представляют собой ряд, последовательно назначаемый.

Карты MIFARE имеют уникальные идентификационные номера (или короткий UID), которые генерируются внутренним правилом, которое не обязательно является последовательным. Это означает, что если вы видите карту с UID 01020304050607, это не значит, что на данный момент существует, по крайней мере, столько карт.

Если вы когда-либо видели, что кто-то ссылался на серийный номер карты, они на самом деле ссылаются на UID.

Единственное последнее замешательство может возникнуть в связи с тем, что карты MIFARE могут быть настроены на возврат случайных идентификаторов во время активации. Если это так, вы будете получать разные "UID" каждый раз, когда вы активируете карту. В этом случае вам нужно прочитать данные, содержащиеся в блоке 0 (для чего вам нужно знать ключ к сектору 0), чтобы получить реальный UID карты.

Ответ 3

Для карт DesFire:

  1. UID аналогичен локальному MAC-адресу. Он назначается производителем микросхемы из базы данных. Каждый, кто создает приложения для карты, имеет доступ к UID.
  2. Серийный номер карты зависит от приложения, загруженного на карту. Доступ к этому приложению возможен только через ключ шифрования. Если на карту загружено несколько приложений (маловероятно, но возможно), то у каждого может быть свой CSN.