从ID卡到CPU卡:NFC卡片体系与安全分析
ID Card vs IC Card vs CPU Card
ID Card
ID Card(国内通常称为“ID卡”)通常指低频125KHz RFID卡,例如 EM4100 系列。
传统ID卡通常只包含固定UID,仅具备身份识别功能,不具备数据存储与加密能力,因此大多数情况下只读不可写。常用于小区门禁、停车场等场景。
市面上也存在可改写UID的兼容卡(如T5577),可用于模拟部分低频ID卡。
传统125KHz ID卡不属于NFC协议体系,因此通常无法被手机NFC直接读取。
IC Card
IC Card(Integrated Circuit Card)泛指带有集成电路芯片的射频卡,通常工作于13.56MHz频段。
常见IC卡一般具备数据存储能力,并划分多个扇区(Sector)进行数据管理。不同扇区通常使用不同密钥进行访问控制。在已知密钥的情况下,可进行重复读写。
目前市面上的小区门禁卡、部分酒店门卡、公交卡等,多属于此类。
部分IC卡由于使用加密扇区且密钥未知,手机无法直接完成复制。若系统使用默认密钥或弱密钥,则仍可能被读取或克隆。
CPU Card
CPU Card(Central Processing Unit Card)属于更高安全等级的智能卡方案。
此类卡片内部存在微处理器,并搭载卡片操作系统(COS, Chip Operating System),能够执行动态加解密、密钥管理、身份认证等操作。
相比普通存储型IC卡,CPU卡通常支持AES、3DES等更高强度的加密机制,并具备随机数生成、会话认证等能力。
身份证、银行卡、部分高安全等级门禁系统通常采用CPU卡方案。
目前公开环境下,针对CPU卡底层加密算法的通用破解手段较少,但仍可能受到中继攻击、终端实现缺陷、密钥泄漏等问题影响。
NFC 使用场景
NFC(Near Field Communication)是一种短距离射频通信技术,典型交互距离约为5cm,具体距离取决于读写器天线与信号强度。
NFC常用于:
- 公交卡
- 门禁卡
- 手机支付
- 汽车钥匙
- 身份认证
根据不同场景,其安全等级与加密强度也存在较大差异。
例如:
- 普通小区门禁通常采用IC卡
- 对安全要求较高的系统则可能采用CPU卡
- 银行、政务、身份认证等场景通常采用更高等级智能卡方案
NFC 面临的安全问题
由于NFC属于射频通信,因此天然面临以下几类安全威胁:
- 窃听(Eavesdropping)
- 中继(Relay)
- 重放(Replay)
- 中间人攻击(MITM)
- 干扰(Jamming)
窃听(Eavesdropping)
射频通信天然存在被监听的风险。
攻击者可通过高灵敏度天线接收通信过程中的无线数据。通常通过认证机制、会话加密、动态密钥等方式降低风险。
中继(Relay)
中继攻击本质上是对通信过程的透明转发。
攻击者通常使用两个设备:
- 一端靠近合法卡片
- 另一端靠近读卡器
随后通过网络、蓝牙或其他通信方式,将双方通信内容进行实时转发,从而实现“远距离刷卡”。
部分门禁系统会检测响应时间(Timing Constraint)。当中继带来的额外延迟超过系统允许范围时,认证流程可能失败。
重放(Replay)
重放攻击是指记录一次合法通信的数据,并在后续重新发送,以尝试绕过验证机制。
若系统缺乏随机数、会话认证或动态密钥机制,则可能受到重放攻击影响。
中间人攻击(MITM)
中间人攻击与重放不同,其重点在于实时拦截、转发甚至篡改双方通信数据。
此类攻击通常需要对协议、认证流程与加密机制具备较深入理解。
干扰(Jamming)
攻击者通过射频信号干扰通信过程,使读卡器与卡片无法正常完成交互。
通常表现为:
- 无法识别卡片
- 通信异常中断
- 刷卡失败
哪些类型的卡片可以被破解
目前市面上广泛存在的NFC卡,多数基于 NXP 的 MIFARE 系列。
MIFARE 系列的大致演进方向:
MIFARE Classic → MIFARE Plus → MIFARE DESFire
MIFARE Classic
早期的 MIFARE Classic 使用 Crypto-1 加密算法。
由于 Crypto-1 已被公开分析并存在安全缺陷,因此可通过多种方式恢复密钥。
Nested Attack
Nested Attack 至少需要一个已知密钥。
其核心利用点在于:
- PRNG(伪随机数生成器)过弱
- 随机数可预测
因此破解速度通常较快。
Hardnested Attack
Hardnested Attack 无需任何已知密钥。
其核心利用点在于认证过程中的时序与比特泄漏特征,通过侧信道分析恢复 Crypto-1 密钥。
相比 Nested Attack,破解时间通常更长。
MIFARE Plus
MIFARE Plus 在兼容 MIFARE Classic 的同时,引入了AES加密机制。
其可根据配置决定使用:
- Crypto-1
- AES
若系统仍工作于 Crypto-1 模式,则仍可能受到上述攻击影响。
本质上,MIFARE Plus 仍属于存储型IC卡。
MIFARE DESFire
MIFARE DESFire 属于更高安全等级的智能卡方案。
其内部具备微处理器与卡片操作系统,可支持更复杂的认证与加密机制。
目前通常支持:
- AES
- 3DES
等更高强度加密方案。
MIFARE DESFire 常用于:
- 高安全等级门禁
- 企业一卡通
- 交通系统
- 身份认证系统
NXP 同时提供配套的 MIFARE SAM(Secure Access Module)系列,用于读卡器侧的密钥管理与安全认证。
MIFARE SAM 系列通常向前兼容:
- MIFARE Classic
- MIFARE Plus
- MIFARE DESFire
NFC 常见利用工具
NFCGate
NFCGate 是基于 Android 的 NFC 测试与研究工具。
通常支持:
- 读取
- 模拟
- 中继
- 重放
若需要实现更复杂的MITM逻辑,通常需要自行修改脚本或协议处理逻辑。
ChameleonUltra
ChameleonUltra 是常见的便携式 RFID/NFC 测试设备。
主要支持:
- 读取
- 模拟
- 克隆
官方实现目前主要聚焦于卡片模拟与测试,并未默认提供完整的中继与MITM功能。
Proxmark3
Proxmark3 是较为成熟的 RFID/NFC 安全研究平台。
通常支持:
- 读取
- 模拟
- 克隆
- 中继
- 重放
目前市面上存在大量第三方改版硬件与固件,不同版本之间可能存在兼容性问题。
探讨:为什么不能通过网络远距离转发NFC信号?
理论上,NFC通信内容完全可以通过网络进行远距离转发。
其核心问题并不在于“能否传输”,而在于:
- 时序(Timing)
- 延迟(Latency)
NFC协议对响应时间要求较高。
若网络传输、协议转换或设备处理过程引入过高延迟,则读卡器可能直接终止认证流程。
因此,一个真正可用的远距离NFC中继方案,需要同时解决:
- 卡片侧交互时序
- 读卡器侧响应时间
- 网络传输延迟
- 协议转发效率
部分研究工具(如 NFCGate)已经实现了类似机制,但在实际环境下仍会受到网络质量、读卡器时序限制等因素影响。
总结
虽然NFC存在多种攻击面,但绝大多数攻击仍需:
- 近距离接触
- 专用硬件
- 对协议与加密机制的深入理解
相比互联网远程攻击,其利用门槛与物理条件要求更高。
同时,不同NFC卡片之间的安全性差异也较大:
- 低频ID卡安全性最低
- MIFARE Classic 已存在公开漏洞
- CPU卡与DESFire安全性相对更高
因此,在实际安全分析中,需要结合:
- 卡片类型
- 加密方案
- 密钥管理
- 读卡器实现
进行综合判断。
本文仅用于安全研究与协议分析讨论,请勿用于非法用途。