主页 > 比特派钱包和imtoken哪个安全 > 你身边的智能卡安全吗? ——IC卡安全介绍

你身边的智能卡安全吗? ——IC卡安全介绍

0 介绍

门禁卡安全吗? 二代身份证安全吗? 它们是否可以轻松复制,它们使用什么技术来交流和存储信息?

一篇文章来解答你的困惑。

智能etc终端_智能无卡etc安全吗可靠吗_etc a卡b卡

1 卡片分类

IC卡、ID卡、M1卡、RFID卡,到底是什么? 按照什么来分类?

1.1 ID卡:一般只读,只存储ID

身份证:只存储身份证号,设备识别身份证号,完全没有算法,容易复制,安全性低。 应用:普通门禁卡。

1.2 IC卡(Integrated Circuit):带芯片的智能卡的统称

1970年由法国人罗兰莫雷诺发明,他首次将可编程IC芯片放入卡片中,使卡片具有更多的功能。

“IC卡”、“磁卡”是技术上的名称,不应与“信用卡”、“电话卡”等应用上的卡相混淆。 它被称为。 英文名称有“Smart Card”、“IC Card”等; “IC卡”。

1.3 磁条卡:存储在磁性介质上的卡片。

它存储在磁性介质上,可以方便地读取和复制。 当没有密码时,复制的卡没有认证,很容易被盗。 平时联系。

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

1.4 RFID卡:所有具有射频识别技术的卡,非接触式

所有使用射频识别(Radio Frequency Identification,RFID)的卡片。

按供电方式分为:

无源卡:无需供电,近距离接触识别,低频段。 应用:校园卡、公交卡、二代身份证。

有源卡:自带电源,可以主动向外传输信号。 应用:ETC系统。

半有源卡:通常处于休眠状态,激活低频信号后,供电用于高频精密通信。

无源RFID本身不供电,但有效识别距离太短。 有源RFID的识别距离足够远,但需要外接电源,体积较大。 半有源RFID正是为这一矛盾妥协的产物。 半主动RFID也称为低频激活触发技术。 一般情况下,半有源RFID产品处于休眠状态,只为标签中保留数据的部分供电,因此功耗小,可持续使用时间长。 当标签进入射频识别读写器的识别范围时,读写器首先以125KHz的低频信号在小范围内准确激活标签进入工作状态,然后通过2.4GHz的微波向其传输信息。 也就是说,先用低频信号准确定位,再用高频信号快速传输数据。

1.5 M1卡(NXP Mifare1 Card):采用M1芯片的非接触式IC卡,可读写

所谓M1芯片是指飞利浦子公司NXP生产的芯片的简称。 全称是NXP Mifare1系列,常用型号有S50和S70。 常见的有卡片式和钥匙扣式。

存储ID号,可读写数据。 M1卡向设备发送一个数据,设备向M1卡发送另一个数据进行确认,然后进行交易或身份认证。 只有一种算法。 卡片秘钥可反复计算暴力破解。

特点:可读可写,带内存不带处理器。

1.6 射频存储卡

同上

它是一种使用射频功能的存储卡。

M1卡是射频存储卡的一个子集。 市面上使用的射频存储卡大多采用M1卡芯片。

特点:可读可写,带内存不带处理器。

1.7 CPU卡:带有处理器的卡

它有操作系统,可以存储数据,有自己的ID号。 CPU卡向设备发送一串数据,设备与SAM卡进行计算。 然后设备将一串数据回传给CPU卡进行确认,然后进行交易或身份认证; 与M1卡的区别在于,一种算法在空中,另一种在设备中; 卡商、设备商和运营商都不知道算法,所以这个系统的安全性会高很多。

有接触和非接触之分。

特点:可读可写,带内存和处理器。 安全性极高,卡内有微处理器和存储空间,

1.8 芯片卡:

CPU卡的另一种缩写,可以是接触式也可以是非接触式。

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

1.9 其他contactless概念contactless:

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

非接触卡实际上是一种射频卡,由IC芯片和感应天线组成,封装在标准的PVC卡内。 芯片和天线没有外露部分(不一定)。

联系卡:

芯片金属裸露,肉眼可见。 通过芯片上的触点,可以与外界交换信息进行读写。 目前的银行卡大多是接触式芯片卡。

但也有例外。 以苏州的社保卡为例,芯片外露,既可用于接触式刷卡(刷医保),也可用于非接触式刷卡(乘坐公交等)。 它是RFID和这两种技术的融合。

智能无卡etc安全吗可靠吗_etc a卡b卡_智能etc终端

NFC与RFID的关系与区别

NFC是RFID的一部分,ETC是RFID的一个分支,两者都是射频技术。 它们都有各自的使用领域,可以说是相得益彰。

NFC的工作频率为13.56MHz,ETC的工作频率为2.45GHZ,RFID的工作频率有低频、高频(13.56MHz)和超高频。

工作距离:NFC的工作距离理论上为0-20cm,但在产品实现中,由于采用了特殊的功率抑制技术,工作距离仅为0-10cm,从而更好的保证了安全性商业。 由于RFID具有不同的频率,其工作距离从几厘米到几十米不等。

工作模式:NFC同时支持读写模式和卡模式。 在RFID中,读卡器和非接触卡是两个独立的实体,不能互换。

点对点通信:NFC支持P2P模式,而RFID不支持P2P模式。

应用领域:RFID更多应用于生产、物流、跟踪和资产管理,ETC主要用于高速收费,NFC用于门禁、公交卡、移动支付等领域。

标准协议:NFC底层通信协议兼容高频RFID底层通信标准,即兼容ISO14443/ISO15693标准。 NFC技术还定义了比较完善的上层协议,如LLCP、NDEF、RTD等。

2 各种卡片结构&通信原理&协议&识别方法&安全性分析

上一节大致梳理了各种卡的类型,然后介绍了各个卡的结构和通信原理。

这里主要介绍非接触式IC卡的结构

2.1 卡片结构

非接触式IC卡主要由:IC芯片和感应线圈组成,封装在一张标准的PVC卡内。

其实就是把IC卡和射频识别技术结合起来,通讯距离大概在5-10cm左右。

2.2 供电原理

M1卡等无源IC卡具有存储功能,CPU卡不仅有内存还有微处理器。 因此,在接触过程中,需要电源。

供电方式为电磁感应,射频读写器回忆IC卡发出一组固定频率的电磁波。 卡片内部有一个LC谐振电路,与读卡器发出的频率相同。

这样,在电磁波的激发下,LC谐振电路发生谐振,使电容器中有电荷; 在电荷的另一端,有一个单向电子泵,将电容器中的电荷输送到另一个电容器进行存储。 当累积电荷达到2V时,该电容可作为电源,为其他电路提供工作电压,传输卡内数据或接收读卡器数据。

即感应线圈,从中获得连续稳定的直流工作电源电压。 根据文献,目前的电压可以达到3.5V。

2.3 通信原理

非接触式IC卡与读卡器之间通过无线电波完成读写操作。

两者的通讯频率为13.56MHZ。

非接触式IC卡本身是一种无源卡。 读写器读写卡时,读写器发出的信号由两部分叠加组成:

一部分是电源信号。 卡接收到信号后,会用自己的L/C瞬间产生能量供给芯片工作。 另一部分是命令和数据信号,指示芯片完成数据的读取、修改、存储等,并将信号返回给读写器,完成一次读写操作。

读写器一般由单片机、专用智能模块和天线组成,并配有与PC机的通讯接口、打印口、I/O口等,以便于用于不同的领域。

2.4 通讯协议

先描述几个概念:

标签(Tag)——存储在卡片头部的信息也称为标签。 比如我们使用Mifare Classic Tool读卡的时候。 提示是搜索标签。 一般卡上的标签是指卡的UID。

沟通分为以下几个过程:

卡片搜索过程:

当MIFARE Classic卡靠近读卡器的磁场区域时,卡会收到读卡器发送的寻卡命令,然后根据防冲突协议发出自己的卡号UID。

选卡流程:

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

读卡器收到UID后进行选卡(选卡过程)。 然后读卡器发出对某个扇区或所有扇区的认证请求。

认证流程(双方):

大多数情况下,可以抽象为以下三个步骤:

【1】卡片生成一个随机数NT,以明文形式发送给读卡器。 (通常是伪随机数,和硬件随机方法)

【2】读卡器获取卡ID和随机数NT,根据卡ID在数据库中找到卡的密钥。 用密钥加密卡片发送的随机数NT得到卡片的响应aR,然后将卡片的响应aR和读卡器的随机数nR发送给卡片

【3】卡片首先用自己的秘钥验证nR。 如果读卡器发送的nR错误,认证过程将直接结束,所有数据将变得不可读。 如果读卡器发送的nR是正确的,卡片会使用自己的秘钥计算出读卡器的随机数nR并发送。

整个过程如图所示:

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

有些卡是非加密的,可以直接读取和模拟。

值得一提的是,在只有存储功能的M1卡中,加解密算法和密钥是通过电路硬件实现的,硬编码在卡上。

所以这就产生了一个问题,可以不断重复爆破秘钥。 因为M1卡没有记录按键次数的功能。

所以,只要有装备,我们就可以爆破M1卡。

然而,CPU卡要复杂得多。 内部有处理器,加密过程是通过CPU实现的。 同时具有逻辑判断记录尝试次数。 如果密钥输入次数过多,卡将被锁定。

3 M1卡破解

M1卡破解及读写工具:

3.1 最简单的工具——带NFC功能的小米手机

【1】硬件工具:NFC功能手机

【2】软件:Mifare Classic Tools

智能无卡etc安全吗可靠吗_智能etc终端_etc a卡b卡

3.2 PN532 ¥30左右

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

PN532淘宝价30元左右,

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

需要焊接或录音

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

使用与计算机的 USB 连接

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

在主机上安装 miLazyCracker

下载地址:CraptEV1文件可自行下载

提取码:7vjj* Install libnfc driver on Linux,参考这本简书Install miLazyCracker on Linux,一行命令:./miLazyCrackerFreshInstall.sh

安装完成后,创建一个临时目录,开始暴力破解。

3.3 PM5PM6 ¥100-110左右

它可能看起来像这样:

智能etc终端_智能无卡etc安全吗可靠吗_etc a卡b卡

有专门的M1卡服务程序:可以进行一键读写、爆破等。

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

智能无卡etc安全吗可靠吗_智能etc终端_etc a卡b卡

智能无卡etc安全吗可靠吗_etc a卡b卡_智能etc终端

设备对比:现在某宝上可以买到PM6,可以破解的卡种类更多。

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

4 次破解尝试 - 你身边的卡片

首先想到的是公司食堂饭卡,其次是公司的门禁卡,然后是社保卡和身份证。

我都试过了。

因为没有买专门的破解器,所以先用手机试试:

4.1 公司卡:

智能etc终端_智能无卡etc安全吗可靠吗_etc a卡b卡

我看到上面写着SAK20。 SAK20卡是CPU卡。 没有通用的破解工具,无法进行简单的破解。 毕竟是安保公司,安保还是可以的。

4.2 接下来看社保卡:

社保卡读取的数据全是空的。 我市的社保卡具有NFC功能,可以当公交卡使用。

没有数据,可能是半加密的,也可能是没有使用过NFC功能,所以没有数据。

智能无卡etc安全吗可靠吗_智能etc终端_etc a卡b卡

4.3 接下来是二代身份证:

将卡片放在手机的NFC功能上,手机可以感应到卡片,但没有任何反应,连标签Tag也没有出现。 我猜二代身份证就是用的CPU卡。 在网上查了资料,发现是非接触式IC卡(COS芯片操作系统-B型CPU卡),也就是我们所说的带RFID功能的CPU卡。

但为何不能读出尚不清楚。 MCT软件可能无法识别使用的芯片,也没有卡的UID。

4.4 最后是某餐饮公司的餐卡:

M1是一种无源卡,需要读卡器为其供电。 一旦读卡器断电,卡内的临时数据就会丢失,所以无论密码尝试多少次失败,都不会被锁定,因此很容易被暴力破解。

可读出所有数据

可以观察到只有0-3这四个扇区有数据,其他扇区都没有数据。

因为这张饭卡只有每天中午吃饭的时候才会用到,所以首先需要积累一定的数据。 然后再分析。

首先采集了两天的数据,每天刷卡一次,卡的金额就知道了,对比一下。

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

Block0是卡的信息数据。 包括卡本身的UID、型号厂商等信息。 最后一行代表卡片的密钥

许多不安全卡的默认密钥是 FFFFFFFFFFF。

keyA和keyB的作用不同,后面再解释

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

提取 5 天的扇区 2-3 的数据。 可以观察到扇区2第一行的四个十六进制数代表卡片余额。

如下:

【255】

9C630000000000000000001C3E000B00

000000DC050000000000000000010000

00000000000074290B1C0EC67400001A

----------FF078069FFFFFFFFFFFF

【270】

78690000000000000000004038000A00

智能etc终端_智能无卡etc安全吗可靠吗_etc a卡b卡

000000DC050000000000000000010000

00000000000073290B2214C673000000

----------FF078069FFFFFFFFFFFF

【285】

546F0000000000000000006432000900

000000DC050000000000000000010000

00000000000072290B1E1BC6720000FA

----------FF078069FFFFFFFFFFFF

【300】

3075000000000000000000882C000800

000000DC050000000000000000010000

00000000000071290B1C03C67100001A

----------FF078069FFFFFFFFFFFF

【315】

0C7B000000000000000000AC26000700

000000DC050000000000000000010000

000000000000070290B1D00C6700000F9

----------FF078069FFFFFFFFFFFF

比如255元,9C63其实就是63 9C,换算成十进制就是255.00。 精确到分钟的小时的十六进制表示。 该块的最后 4 个十进制数字的含义始终未知。

直到上网查了M1卡的开发指南,才猜到是某种验证。 后来我把所有数据中的金额和后面的十六进制数相加,发现结果是一样的,验证了我的猜测。

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

69 78 +28 40=A1B8

63 9C+ 3E 1C=A1B8

....

因此,检查的方法是将两个数字相加。

第二行的数据DC05,本来以为是固定数据,后来发现是每天的消费金额。 05DC的十进制为1500,表示每日消费金额为15元,后面的1表示每日消费1次。

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

第三行数据,比较每个数据29 7X数据是增量数据,猜测应该是某个时钟时间的数据。 根据后面的记录,发现数据并没有顺序增加。 比如某个周末过后,数据会跳2个。 应该是日期的数据。

然后是0B1C0E的数据。 这些数据变化无规律,但观察后发现,1C 0E等换算成十进制永远不会超过60,猜测应该是上次刷卡的时间数据。 有一次中午吃饭的时候,我观察了刷卡机上的时间,确认确实是时间数据。

比如0B2214就是11:34:20秒,这样的时间数据。

最后一个C674的数据也是一个增量数据,应该是刷卡次数的增量数据。 记录累计刷卡次数。

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

然后是最后两个十六进制数,猜测应该是校验数据。

通过这些数据的对比,我们可以对上面的卡片数据进行改造和重写。

但是修改数据后发现无法写入餐卡,报错是write access key A未知。

但是我们之前已经爆出read key,write key可能是软件原因,也有可能是设备原因(理论上是FFFFFFFFFF的默认key),所以无法写入。 可能需要随后购买用于研究的设备。

etc a卡b卡_智能etc终端_智能无卡etc安全吗可靠吗

etc a卡b卡_智能无卡etc安全吗可靠吗_智能etc终端

5 总结与展望 5.1 智能卡发展现状

2013年数据:

我国也已成为全球最大的IC卡市场之一。 2011年我国IC卡销售收入90亿元,销量24.3亿张(包括接触式IC卡、非接触式IC卡和双界面卡)。 二代身份证是我国非接触式IC卡最大的应用之一。 据统计,截至2011年底,我国共发行二代身份证约10亿张。

智能卡开发要求:

高安全性

应用最广泛的是对称密钥加密算法DES算法和双倍长度密钥的3DES算法。 另外,部分IC卡集成了非对称密钥算法,如1024位RSA算法。低功耗

大多数非接触式IC卡内部没有电池,其工作电源主要来自天线上感应的磁场能量。 因此,低功耗的设计对于非接触式IC卡来说极为重要,而且现在非接触式IC卡的功能越来越复杂,容量也越来越大。 一些 CPU 卡还包含微处理器和高性能卡。 安全算法,这无疑对非接触式IC卡的低功耗设计提出了更高的要求。一卡多用

一张IC卡可以具有健康卡、信用卡、交通卡等多种功能,这就要求IC卡具有更大的存储容量。

体积大,存取速度快。容量大

要实现非接触式IC卡的一机多用功能,需要集成一个

采用固定容量存储器,保证卡在不同应用下的数据可以存储。目前的IC卡大多采用

采用内存分区的方式实现不同应用数据的存储。而CPU卡的出现使得IC卡

卡内需要开辟一定的存储区用于存储操作系统。因此智能无卡etc安全吗可靠吗,大容量是当今IC卡发展的关键。

重要发展方向。

复合IC卡的发展 复合卡是一种双界面卡,可以通过接触式或非接触式的方式与读卡器进行交互,这使得IC卡适用于多种场合,极大地方便了人们的生活。 许多国际大公司,包括一些国内公司,都已成功开发出双界面IC卡并投入使用。

三项国家标准的非接触式IC卡距离

智能etc终端_etc a卡b卡_智能无卡etc安全吗可靠吗

5.2 威胁建模与攻击方法研究现状

攻击者可以利用标签与读卡器之间通信通道的物理特性来实施攻击。 主要的攻击方法如下:

接下来的几个。

[1] 干扰攻击:干扰攻击主要是利用一些技术手段,扰乱和破坏标签与读写器之间的传输信号,从而达到破坏系统可用性的目的。 但有时,攻击并不都是外部有目的的干扰,也可能是多个阅读器同时工作造成的内部干扰,或者信道质量差。

[2] 克隆攻击:也可称为复制攻击。 主要是通过复制他人电子标签或智能卡等信息,并以此进行冒充,从而获取一定的经济利益或其他利益。 从目前的情况来看,攻击者复制智能卡的成本并不太高,对技术条件的要求也比较低,这使得克隆攻击时有发生。

【案例】2004年,约翰霍普金斯大学和实验室的一些研究人员发现了DST的一个安全漏洞,并演示了复制攻击,通过内置加密实现数字签名验证功能。 当时主要用于防盗车,已装备数万辆汽车。 研究人员的攻击表明智能无卡etc安全吗可靠吗,只需少量简单的挑战响应,就可以破解其中包含的汽车钢钥匙,从而实现对的完整复制。

【3】芯片攻击:芯片是标签的核心部件,承担存储和计算功能。 常见的针对标签芯片的攻击方式有两种:电流分析攻击和故障攻击。 根据实现特点,电流分析攻击可分为简单电源攻击和差分电源攻击。 故障攻击的原理是通过攻击使一个或多个触发器失效,从而破坏标记寄存器中的数据。 这种攻击的主要目的是通过一些泄露的信息获取片上密码算法信息,甚至是密钥信息。

【案例】:2008年,荷兰政府声称芯片可以被破解。 它是一个芯片大家族,广泛应用于城市的非接触式公交卡和门禁卡。 据估计,当时全世界至少有1亿张含有芯片的卡片在使用。 黑客可以利用该芯片的漏洞利用该芯片克隆非接触式卡。 该芯片的漏洞由荷兰大学和德国大学的两个独立研究小组独立确认。 荷兰大学实际进行了芯片的破解过程,并在网上公布了该项目的开发过程,并附上一段视频,以一个电影。 德国一所大学发表了一篇破解芯片加密算法的论文。

(由于Mifare 1卡的认证和数据传输使用相同的安全算法和密钥,因此破解安全算法可以让攻击者在较短的时间内获得Mifare 1卡的密钥,进而获得Mifare 1卡的密钥,可以恢复卡内数据信息或复制卡内信息,为了防止此类事件的发生,一些国家已经宣布禁止继续使用Mifare 1卡,而在其他一些地区,也禁止使用Mifare 1卡,对安全提出了重新评估要求,同时,我国也出台了相关文件,要求各级单位梳理排查IC卡安全工作,并采取保障措施,防止不法分子利用Mifare 1卡漏洞进行恶意攻击和破坏。)

【案例】:2011年,德国鲁尔大学的研究人员利用侧信道攻击,耗时七小时破解了使用Mifare DESFire MF3ICD40的安全算法,获得了智能卡使用的112位加密,破解所需设备$3,000是必需的。 破解加密力方法的出现,将使完美复制RFID芯片成为可能。

[4] 可用性攻击:

破坏攻击是攻击者在获取并接触到标签实体后物理破坏标签实体。例如天线部分损坏,标签将无法获得足够的通信能量,标签的读写距离也会受到影响。电子标签将减少到最低限度。 同时提出了更先进的远程攻击方式。 使技巧相关工具产生强烈的电磁脉冲

赶紧破坏标签接收电路,使标签无法使用。 这种攻击的目的是破坏标签并阻止它与阅读器通信。

【5】其他攻击方式

重放、异化、标签失效、DoS攻击、窃听攻击、中间人等。

【案件】

2009年2月13日,恩智浦全球运输事业部总经理Ciaran Fisher、Henri Ardevol、恩智浦中国智能识别事业部高级经理田默臣、员工江辰、深圳市杰灵昌科技有限公司总经理曹磊。某芯片代理有限公司带领一行5人,专门针对M1芯片漏洞及其解决方案,与大石进行了三个小时的交流。 并对网上流传的荷兰政府发出的警告进行了澄清和解释,并提出了以下破解S50卡的前提条件:

1.需要向国外提供破解方案的机构购买专用设备(该设备已根据政府相关机构禁止销售)

2.或者需要使用原系统的读卡器

3、你需要和正在使用的用户卡取得联系,然后通过暴力破解这个算法的漏洞。

满足这些条件后,复制一张卡需要10到30分钟。 这种破解方法理论上可以破解任何密码。 只要有足够的时间,原则上都是强制破解密钥算法。 本次密钥解密只是针对使用标准密钥算法时出现的一个风险事件,并不代表所有使用Mifare卡系统产品的加密机制都直接使用原始密钥。

5.3 M1 卡的安全建议。 国内很多厂商都没有修改卡的加密方式。 大部分都是弱密码,比如FFFFFFFFFFFF、000000000000等。M1是无源卡,需要读卡器供电。 一旦读卡器断电,卡内的临时数据就会丢失,所以无论密码尝试多少次失败,都不会被锁定,所以很容易被暴力破解。 复杂的密码可用于增加安全性。 IC卡分为16个扇区,很多厂家只对与钱有关的扇区进行加密,这样比较容易解密加密的扇区。 科易的16个扇区完全加密混淆,增加解析难度。 Because some manufacturers trust the encryption of the IC card very much, the data is completely stored in the IC card and does not interact with the database, so some people use this loophole to modify the information in the IC card to achieve illegal purposes. The solution to this problem is to store the information in the card in the database, and compare the information in the IC card with the information in the database when swiping the card each time. If they are the same, they can be used. Gradually replace the M1 card with a CPU card with a higher safety factor.