身边的智能卡安全么?——IC卡安全性初探
字数 2711 2025-08-22 12:22:59

IC卡安全性分析与破解技术详解

1. 智能卡分类与技术概述

1.1 主要卡片类型

ID卡

  • 只存储ID号,无算法
  • 设备仅识别ID号
  • 安全性低,易复制
  • 应用:普通门禁卡

IC卡(Integrated Circuit)

  • 1970年由法国人Roland Moreno发明
  • 带芯片的智能卡统称
  • 国际名称:Smart Card、IC Card、智慧卡等
  • 与磁条卡区别:采用芯片而非磁性介质存储

磁条卡

  • 磁性介质存储
  • 可被轻易读取和复制
  • 无密码时极易被盗刷
  • 一般为接触式

RFID卡

  • 采用射频识别技术(Radio Frequency Identification)
  • 供电方式分类:
    • 无源卡:无电源,近距离识别(校园卡、公交卡、二代身份证)
    • 有源卡:自带电源,主动发射信号(ETC系统)
    • 半有源卡:平常休眠,低频信号激活后高频通信

M1卡(NXP Mifare1 Card)

  • 使用飞利浦子公司恩智浦的Mifare1系列芯片
  • 常见型号:S50及S70
  • 特点:
    • 可读写
    • 有存储器无处理器
    • 存储ID号和数据
    • 采用单一算法认证
    • 可暴力破解密钥

CPU卡

  • 有操作系统和微处理器
  • 特点:
    • 可读写
    • 有存储器和处理器
    • 安全性极高
    • 算法在设备内部
  • 认证过程更复杂:
    • CPU卡发数据→设备与SAM卡运算→返回数据确认
  • 有接触式和非接触式

芯片卡

  • CPU卡的另一种简称
  • 可接触式也可非接触式

1.2 接触式与非接触式

非接触式卡

  • 射频卡
  • 由IC芯片、感应天线组成
  • 封装在标准PVC卡片内
  • 芯片及天线无外露

接触式卡

  • 芯片金属暴露在外
  • 通过触点与读写器交换信息
  • 现代银行卡多为接触式芯片卡

双界面卡

  • 同时支持接触式和非接触式
  • 例:苏州社保卡(可刷医保和公交)

1.3 NFC与RFID关系

NFC

  • RFID的子集
  • 工作频率:13.56MHz
  • 工作距离:0-10cm
  • 特点:
    • 支持读写模式和卡模式
    • 支持P2P通信
    • 兼容ISO14443/ISO15693标准
  • 应用:门禁、公交卡、手机支付

RFID

  • 工作频率:低频、高频(13.56MHz)及超高频
  • 工作距离:几厘米到几十米
  • 应用:生产、物流、跟踪、资产管理

ETC

  • RFID的分支
  • 工作频率:2.45GHz
  • 应用:高速收费

2. 非接触式IC卡结构与通信原理

2.1 卡片组成结构

  • IC芯片
  • 感应线圈
  • 封装在标准PVC卡片内
  • 通信距离:5-10cm

2.2 供电原理(无源IC卡)

  1. 读写器发射固定频率电磁波
  2. 卡片内部LC谐振电路产生共振
  3. 电容积累电荷达2V后为电路供电
  4. 现代电压可达3.5V

2.3 通信原理

  • 频率:13.56MHz
  • 读写器信号组成:
    1. 电源信号:为芯片供电
    2. 指令和数据信号:指挥芯片操作
  • 读写器组成:
    • 单片机
    • 专用智能模块
    • 天线
    • 与PC的接口

2.4 通信协议与认证过程

通信过程

  1. 寻卡:卡片进入磁场,发送UID
  2. 选卡:读写器选择卡片
  3. 认证:对指定扇区进行认证

认证过程(M1卡)

  1. 卡片产生随机数NT,明文发送给读写器
  2. 读写器:
    • 根据卡片ID找到密钥
    • 用密钥加密NT得到aR
    • 发送aR和读写器随机数nR给卡片
  3. 卡片:
    • 验证nR
    • 错误:终止认证
    • 正确:加密nR并发送

M1卡安全缺陷

  • 加解密算法和密钥硬件实现
  • 无尝试次数记录
  • 可无限次尝试暴力破解

CPU卡安全优势

  • 加密通过CPU实现
  • 记录尝试次数
  • 多次错误会锁卡

3. M1卡破解技术与实践

3.1 破解工具

1. 带NFC功能的手机

  • 硬件:NFC手机(如小米)
  • 软件:Mifare Classic Tools (MCT)

2. PN532

  • 价格:约30元
  • 需焊接或胶带固定
  • 上位机软件:miLazyCracker
  • Linux驱动:libnfc

3. PM5/PM6

  • 价格:100-110元
  • 专用M1卡服务程序
  • 支持一键读写、爆破
  • PM6支持更多卡片型号

3.2 破解实践案例

公司饭卡分析

  • 扇区0:卡片UID、厂商信息、密钥
  • 扇区2-3:
    • 第一行前4字节:余额(十六进制,需字节反转)
    • 第二行:消费金额和次数
    • 第三行:
      • 递增数据:日期
      • 不规则数据:时间(时:分:秒)
      • 最后:累计刷卡次数
    • 校验方式:金额+后面4字节=固定值

写入限制

  • 可能原因:
    • 写入密钥未知(非默认FFFFFFFFFF)
    • 设备/软件限制

3.3 其他卡片测试结果

公司门禁卡

  • SAK20标志
  • CPU卡,无法简单破解

社保卡

  • 读取数据为空
  • 可能原因:
    • 半加密
    • NFC功能未启用

二代身份证

  • 手机能感应但无响应
  • 非接触式IC卡(Type B CPU卡)
  • 带COS(芯片操作系统)

4. 智能卡安全现状与建议

4.1 发展现状(2013年数据)

  • 中国最大IC卡市场之一
  • 2011年:
    • 销售收入:90亿元
    • 销售数量:24.3亿张
  • 二代身份证:已发行约10亿张

发展趋势

  1. 高安全性:
    • 对称密钥:DES、3DES
    • 非对称密钥:1024位RSA
  2. 低功耗设计
  3. 一卡多用
  4. 大容量存储
  5. 复合式(双界面)卡

4.2 攻击方式与案例

1. 干扰攻击

  • 扰乱读写器与标签通信
  • 破坏系统可用性

2. 克隆攻击

  • 2004年:破解DST加密(汽车防盗)
  • 可低成本复制智能卡

3. 芯片攻击

  • 电流分析攻击:
    • 简单电源攻击
    • 差分电源攻击
  • 故障攻击:
    • 破坏触发器
    • 获取密码算法信息
  • 案例:
    • 2008年:Mifare芯片破解(全球10亿张卡受影响)
    • 2011年:Mifare DESFire MF3ICD40破解(7小时,3000美元设备)

4. 可用性攻击

  • 物理破坏标签
  • 强电磁脉冲破坏电路

5. 其他攻击

  • 重放攻击
  • 中间人攻击
  • 窃听攻击
  • DoS攻击

4.3 M1卡安全建议

  1. 避免使用默认密钥(如FFFFFFFFFFFF)
    • 设置复杂密钥
  2. 全扇区加密
    • 非仅关键扇区加密
    • 增加混淆数据
  3. 结合数据库验证
    • 不单纯依赖卡内数据
    • 每次刷卡与数据库比对
  4. 逐步替换为CPU卡
    • 更高安全性
    • 防暴力破解

5. 技术细节补充

5.1 M1卡数据结构示例

Block0: 卡片信息(UID、厂商等)
Block1: 密钥A | 访问控制 | 密钥B
Block2: 数据块(如余额)

5.2 认证过程技术细节

  • 随机数生成:硬件伪随机数
  • 加密算法:CRYPTO1(Mifare Classic)
  • 密钥长度:48位

5.3 破解工具使用要点

  1. miLazyCracker:
    • 依赖libnfc
    • 命令:./miLazyCrackerFreshInstall.sh
  2. MCT手机端:
    • 需支持全功能NFC
    • 可读取UID、扇区数据

5.4 防御措施进阶

  1. 物理防护:
    • 防拆设计
    • 防侧信道攻击屏蔽
  2. 加密增强:
    • 动态密钥
    • 一次一密
  3. 行为监测:
    • 异常交易检测
    • 多因素认证
IC卡安全性分析与破解技术详解 1. 智能卡分类与技术概述 1.1 主要卡片类型 ID卡 : 只存储ID号,无算法 设备仅识别ID号 安全性低,易复制 应用:普通门禁卡 IC卡(Integrated Circuit) : 1970年由法国人Roland Moreno发明 带芯片的智能卡统称 国际名称:Smart Card、IC Card、智慧卡等 与磁条卡区别:采用芯片而非磁性介质存储 磁条卡 : 磁性介质存储 可被轻易读取和复制 无密码时极易被盗刷 一般为接触式 RFID卡 : 采用射频识别技术(Radio Frequency Identification) 供电方式分类: 无源卡:无电源,近距离识别(校园卡、公交卡、二代身份证) 有源卡:自带电源,主动发射信号(ETC系统) 半有源卡:平常休眠,低频信号激活后高频通信 M1卡(NXP Mifare1 Card) : 使用飞利浦子公司恩智浦的Mifare1系列芯片 常见型号:S50及S70 特点: 可读写 有存储器无处理器 存储ID号和数据 采用单一算法认证 可暴力破解密钥 CPU卡 : 有操作系统和微处理器 特点: 可读写 有存储器和处理器 安全性极高 算法在设备内部 认证过程更复杂: CPU卡发数据→设备与SAM卡运算→返回数据确认 有接触式和非接触式 芯片卡 : CPU卡的另一种简称 可接触式也可非接触式 1.2 接触式与非接触式 非接触式卡 : 射频卡 由IC芯片、感应天线组成 封装在标准PVC卡片内 芯片及天线无外露 接触式卡 : 芯片金属暴露在外 通过触点与读写器交换信息 现代银行卡多为接触式芯片卡 双界面卡 : 同时支持接触式和非接触式 例:苏州社保卡(可刷医保和公交) 1.3 NFC与RFID关系 NFC : RFID的子集 工作频率:13.56MHz 工作距离:0-10cm 特点: 支持读写模式和卡模式 支持P2P通信 兼容ISO14443/ISO15693标准 应用:门禁、公交卡、手机支付 RFID : 工作频率:低频、高频(13.56MHz)及超高频 工作距离:几厘米到几十米 应用:生产、物流、跟踪、资产管理 ETC : RFID的分支 工作频率:2.45GHz 应用:高速收费 2. 非接触式IC卡结构与通信原理 2.1 卡片组成结构 IC芯片 感应线圈 封装在标准PVC卡片内 通信距离:5-10cm 2.2 供电原理(无源IC卡) 读写器发射固定频率电磁波 卡片内部LC谐振电路产生共振 电容积累电荷达2V后为电路供电 现代电压可达3.5V 2.3 通信原理 频率:13.56MHz 读写器信号组成: 电源信号:为芯片供电 指令和数据信号:指挥芯片操作 读写器组成: 单片机 专用智能模块 天线 与PC的接口 2.4 通信协议与认证过程 通信过程 : 寻卡:卡片进入磁场,发送UID 选卡:读写器选择卡片 认证:对指定扇区进行认证 认证过程(M1卡) : 卡片产生随机数NT,明文发送给读写器 读写器: 根据卡片ID找到密钥 用密钥加密NT得到aR 发送aR和读写器随机数nR给卡片 卡片: 验证nR 错误:终止认证 正确:加密nR并发送 M1卡安全缺陷 : 加解密算法和密钥硬件实现 无尝试次数记录 可无限次尝试暴力破解 CPU卡安全优势 : 加密通过CPU实现 记录尝试次数 多次错误会锁卡 3. M1卡破解技术与实践 3.1 破解工具 1. 带NFC功能的手机 : 硬件:NFC手机(如小米) 软件:Mifare Classic Tools (MCT) 2. PN532 : 价格:约30元 需焊接或胶带固定 上位机软件:miLazyCracker Linux驱动:libnfc 3. PM5/PM6 : 价格:100-110元 专用M1卡服务程序 支持一键读写、爆破 PM6支持更多卡片型号 3.2 破解实践案例 公司饭卡分析 : 扇区0:卡片UID、厂商信息、密钥 扇区2-3: 第一行前4字节:余额(十六进制,需字节反转) 第二行:消费金额和次数 第三行: 递增数据:日期 不规则数据:时间(时:分:秒) 最后:累计刷卡次数 校验方式:金额+后面4字节=固定值 写入限制 : 可能原因: 写入密钥未知(非默认FFFFFFFFFF) 设备/软件限制 3.3 其他卡片测试结果 公司门禁卡 : SAK20标志 CPU卡,无法简单破解 社保卡 : 读取数据为空 可能原因: 半加密 NFC功能未启用 二代身份证 : 手机能感应但无响应 非接触式IC卡(Type B CPU卡) 带COS(芯片操作系统) 4. 智能卡安全现状与建议 4.1 发展现状(2013年数据) 中国最大IC卡市场之一 2011年: 销售收入:90亿元 销售数量:24.3亿张 二代身份证:已发行约10亿张 发展趋势 : 高安全性: 对称密钥:DES、3DES 非对称密钥:1024位RSA 低功耗设计 一卡多用 大容量存储 复合式(双界面)卡 4.2 攻击方式与案例 1. 干扰攻击 : 扰乱读写器与标签通信 破坏系统可用性 2. 克隆攻击 : 2004年:破解DST加密(汽车防盗) 可低成本复制智能卡 3. 芯片攻击 : 电流分析攻击: 简单电源攻击 差分电源攻击 故障攻击: 破坏触发器 获取密码算法信息 案例: 2008年:Mifare芯片破解(全球10亿张卡受影响) 2011年:Mifare DESFire MF3ICD40破解(7小时,3000美元设备) 4. 可用性攻击 : 物理破坏标签 强电磁脉冲破坏电路 5. 其他攻击 : 重放攻击 中间人攻击 窃听攻击 DoS攻击 4.3 M1卡安全建议 避免使用默认密钥(如FFFFFFFFFFFF) 设置复杂密钥 全扇区加密 非仅关键扇区加密 增加混淆数据 结合数据库验证 不单纯依赖卡内数据 每次刷卡与数据库比对 逐步替换为CPU卡 更高安全性 防暴力破解 5. 技术细节补充 5.1 M1卡数据结构示例 5.2 认证过程技术细节 随机数生成:硬件伪随机数 加密算法:CRYPTO1(Mifare Classic) 密钥长度:48位 5.3 破解工具使用要点 miLazyCracker: 依赖libnfc 命令:./miLazyCrackerFreshInstall.sh MCT手机端: 需支持全功能NFC 可读取UID、扇区数据 5.4 防御措施进阶 物理防护: 防拆设计 防侧信道攻击屏蔽 加密增强: 动态密钥 一次一密 行为监测: 异常交易检测 多因素认证