MiFare - UID与MiFare卡序列号的区别

问题描述 投票:10回答:3

我需要使用WinSCard读取MiFare卡的序列号。我可以从MiFare卡上读取7B UID。

令人困惑的是,我不知道UID和MiFare卡的序列号是否相同?!!

我搜索了这个问题,但只能取得部分成功。我在stackoverflow上发现了一个question,但它没有帮助。

我发现在线的恩智浦document表示UID和序列号不同。 (第3页,第5行)

有一个OmniKey应用程序读取卡的序列号,它也只返回UID。

恩智浦文档说UID <>序列号和其他标准OmniKey应用程序返回UID作为序列号。

我已经开始在这个问题上脱掉头发了。如果有人能提供帮助,我将不胜感激。

rfid mifare winscard
3个回答
14
投票

每个智能卡都包含一个集成芯片,其中包含在制造过程中烧毁的唯一永久识别(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字节ID是可以在产品的生产时间内分配给多于一个非接触式芯片的标识符,使得具有相同标识的多于一个卡可以部署到一个特定的非接触式系统中。


3
投票

在这种情况下的区别在于“序列号”意味着数字是一系列,因此顺序分配。

MIFARE卡具有唯一标识号(或简称UID),它们由内部规则生成,该内部规则不一定是顺序的。这意味着如果你看到一张UID为01020304050607的卡片,那并不意味着到目前为止至少生产了那么多卡片。

如果你看到有人提到卡序列号,他们实际上指的是UID。

唯一最后的混淆可能来自MIFARE卡可以配置为在激活期间返回随机ID的事实。如果是这种情况,每次激活卡时都会得到不同的“UID”。在这种情况下,您需要读取块0中包含的数据(您需要知道扇区0的密钥)才能获得卡的真实UID。


0
投票

对于DesFire卡:

  1. UID类似于以太网MAC地址。它由芯片制造商从数据库中分配。为卡创建应用程序的每个人都可以访问UID。
  2. 卡序列号特定于加载到卡上的应用程序。它只能由该应用程序通过加密密钥访问。如果卡上有多个应用程序加载(不太可能,但可能),那么每个应用程序可能有不同的CSN。
© www.soinside.com 2019 - 2024. All rights reserved.