【问题标题】:UID of a NFC/SWP-accessed SIM cardNFC/SWP 访问的 SIM 卡的 UID
【发布时间】:2015-06-01 06:24:15
【问题描述】:

SIM 卡在我的项目中用作安全元件。从终端设备通过NFC-SWP非接触式接口访问。

我需要使用唯一且永久的标识符以某种方式识别 SIM 卡,并且我需要能够通过 NFC 读取标识符。 ICCID 似乎是最好的选择,但我必须通过非接触式接口公开 EF ICCID 文件,这可能很危险。此外,EF ICCID 文件超出了我在 SIM 卡上的范围 - 我只有访问我的专用安全域。

我也尝试使用 ISO/IEC 14443 Type A 中指定的 4 字节长 UID,但每次通过 NFC 读取 SIM 卡时都会得到不同的 UID。为什么?

另一种解决方案是通过全球平台获取数据命令(卡生产生命周期数据(CPLC))访问卡序列号,但我必须能够通过非接触式接口选择卡管理器,默认情况下是禁止的出于安全考虑,不推荐使用。

有没有解决这个问题的典型方法?

【问题讨论】:

  • 每次通过 NFC 读取 SIM 卡时,我都会获得不同的 UID。为什么? 我认为在 Bodewes 先生的 asnwerhere 下的最后三个 cmets 对你有好处。
  • 同样,如here 所述,UID 通常有 16 个字节长度。
  • @Abraham:您说的是卡序列号,而不是 A 类的 14443 UID,它可能是 4、7 或 10 个字节长。
  • 啊,对不起,你是对的。我刚刚检查了 14443-3,我在 Table-9 下看到了这一行:UID 是一个固定的唯一数字或随机数字,它是由 PICC 动态生成的。 UID的第一个字节(uid0)分配了UID后面字节的内容。
  • 是否有任何事情阻止您发布应用程序特定的唯一标识符,该标识符已个性化到您的小程序/应用程序中?

标签: android nfc smartcard sim-card


【解决方案1】:

A 类型的 4 字节 UID(B 类型的 PUPI 相同)允许是随机的(ISO 14443-3,第 6.4.4 章“固定唯一数或随机数”)。他们的目的只是,选择目前在阅读器领域的几张卡中的一张。所以UID的描述在防冲突章节中。

获取卡的序列号肯定是解决方案,但由于这允许在隐私中跟踪卡(我不知道,这是谁,但她 10 分钟前已经在场)-感知上下文它通常只在某种身份验证之后才被允许(并且可能建立一个安全通道,因此窃听者不会受益)。有关如何处理此问题的想法,请查看 BAC 或 EAC 下的 ICAO 规范。如果不能在卡片上放置特定信息,我不希望找到一种隐私感知解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    相关资源
    最近更新 更多