RFID & NFC 之自制NFC手表
2019-11-19 18:57:00 Author: mp.weixin.qq.com(查看原文) 阅读量:65 收藏

、本文为看雪论坛精华文章

看雪论坛作者ID:半斤八兩

只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

相信有不少朋友看过美国大片上演这样的桥段,进入某XX 大楼的时候,没有卡进不去。这个时候,和里面出来的人,擦肩时碰到别人一下,然后抱歉的说:“Sorry” 这一瞬间,就把别人的卡给复制过来了。我们都会觉得影片中的黑客很cool。可是那毕竟是科幻电影,带有科幻元素的。


现实中,真想像影片中那样瞬间复制标签卡,可以肯定的说是不可能的。除非那座大楼全部用的是ID 卡,(只含有Tags 验证的) 如果是ID卡再带上NFC 设备这样“瞬间” 复制是完全是可以的。
大概是中秋节的时候,在公司加班了,当时去上厕所。完事后,发现工牌忘在厕所了。(公司上厕所是要刷卡的,所以带着工牌)无奈,之前复制的工牌, 烟、 钥匙、火机、手机、 钱包等等都在位置上,想回宿舍也回不去, 那一天过的很是纠结的... 于是, 就有了这篇文章...

(无线射频技术在国内研究的人相对来说还是比较少的)

0x1 RFID和NFC介绍

RFID 全称是 (Radio Frequency IDentification) 射频识别技术,又称电子标签、无线射频识别。射频识别技术是20世纪90年代开始兴起并逐渐走向成熟的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。
工作频率:
-125KHZ
-13.56MHz
-915MHz
-2.45GHz

-5.8GHz

与目前广泛使用的自动识别技术例如摄像、条码、磁卡、IC 卡等相比、射频识别技术具有很多突出的优点:

第一:非接触操作,长距离识别(几厘米至几十米),因此完成识别工作时无须人工干预, 应用便利。

第二:无机械磨损,寿命长,并可工作于各种油渍, 灰尘污染等恶劣的环境。

第三:可识别高速运动物体并可同时识别多个电子标签。

第四:读写器具有不直接对最终用户开放的物理接口,保证其自身的安全性。

第五:数据安全方面除电子标签的密码保护外,数据部分可用一些算法实现安全管理。

第六:读写器与标签之间存在相互认证的过程,实现安全通信和存储。

NFC 全称是(Near Field Communication) 近距离无线通讯技术。是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据。这个技术由免接触式射频识别(RFID)演变而来,并向下兼容 RFID,最早由 Sony 和 Philips 各自开发成功,主要用于手机等手持设备中提供 M2M(Machine to Machine)的通信。

由于近场通讯具有天然的安全性,因此,NFC 技术被认为在手机支付等领域具有很大的应用前景。同时,NFC 也因为其相比于其他无线通讯技术较好的安全性被中国物联网校企联盟比作机器之间的 "安全对话"。

NFC 芯片是具有相互通信功能,并具有计算能力,在 Felica 标准中还含有加密逻辑电路,MIFARE 的后期标准也追加了加密/解密模块(SAM)。

NFC 标准兼容了索尼公司的 FeliCaTM 标准,以及 ISO 14443 A、B,也就是使用飞利浦的 MIFARE 标准。

在业界简称为 TypeA、TypeB 和 TypeF、其中 A、B 为 Mifare 标准,F 为 Felica 标准。

为了推动 NFC 的发展和普及,业界创建了一个非营利性的标准组织——NFC Forum。促进 NFC 技术的实施和标准化, 确保设备和服务之间协同合作。NFC Forum 在全球拥有数百个成员,包括:SONY、Philips、LG、摩托罗拉、NXP、NEC、三星、atoam、Intel。其中中国成员有魅族、步步高vivo、OPPO、小米、中国移动、华为、中兴、上海同耀和台湾正隆等公司。
0x2 ID卡和IC卡介绍

>>>>

ID卡介绍


ID 卡全称为身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号,主要有台湾 SYRIS 的 EM 格式、美国 HIDMOTOROLA等各类 ID 卡。

ID 卡与磁卡一样,都仅仅使用了“卡的号码”而已,卡内除了卡号外,无任何保密功能,其“卡号”是公开、裸露的。所以说 ID卡就是“感应式磁卡”。ISO 标准 ID 卡的规格为:85.6x54x0.80±0.04mm(高/宽/厚),市场上也存在一些厚、薄卡或异型卡。

ID 卡由于无记录、无分区、只能依赖网络软件来处理各子系统的信息,这就大大增加对网络的依赖;如果在 ID 卡系统完成后,用户欲增加功能点,则需要另外布线,这不仅增加了工程施工难度,而且增加了不必要的投资。所以说,使用 ID 卡来做系统,难以进行系统扩展,难以实现真正的一卡通。

ID 卡主要产品芯片有:Mifare UtraLight IC U1、Mifare DESFire 4K;Legic MIM256 ;ST SR176、SRIX4K;I•CODE 1、 I•CODE 2;Tag-it HF-I、Tag-it TH-CB1A;Temic e5551;Atmel T5557、Atmel T5567、Atmel AT88RF256-12 ;Hitag1、 Hitag 2;μEM EM4100、EM 4102、 EM4069、EM4150;TK4100;Inside 2K、Inside 16K 等。

>>>>

IC卡介绍

IC 卡全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。
可读写,容量大,有加密功能,数据记录可靠,使用更方便,如一卡通系统,消费系统等,目前主要有 PHILIPS Mifare 系列卡。ID 卡全称身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号,主要有台湾 SYRIS 的 EM 格式、美国 HID、TI、MOTOROLA 等各类 ID 卡。

IC 卡初始化加密

1. IC 卡在使用时,必须要先通过 IC 卡与读写设备间特有的双向密钥认证后,才能进行相关工作,从而使整个系统具有极高的安全保障。所以,就必须对出厂的 IC 卡进行初始化(即加密),目的是在出厂后的 IC 卡内生成不可破解的一卡通系统密钥,以保证一卡通系统的安全发放机制。而ID 卡不用。

2. IC 卡初始化加密后,交给用户使用时,客户通过 IC 卡发行系统,又将各用户卡生成自己系统的专用密钥。这样,就保证了在其它用户系统发行的用户卡不能在该系统使用,保证了系统的专一性,从而保证了系统的安全使用机制。

3. ID 卡与磁卡一样,都仅仅使用了“卡的号码”而已,卡内除了卡号外,无任何保密功能,其“卡号”是公开,裸露的。所以说 ID 卡就是“感应式磁卡”,也就根本谈不上需要还是不需要初始化的问题。

4. 初始化过程为什么不交由用户自己做呢?这是因为:

1)如果由用户自己初始化,就不能防范用户内部人员作弊。因为用户在使用一卡通系统时,若有员工用社会上买来的卡随意初始化,便可随意发行成住户才能使用的住户卡,甚至可随意给卡充值消费,这不仅将造成严重作弊后果,也将导致一卡通系统的安全出现使用机制上的严重漏洞。

2)另外,若用户买到劣质出厂卡自己初始化,而在系统上不能使用,则会使系统使用性能不良或瘫痪,这将造成事故责任不清。

3)初始化过程在厂家执行,主要是 IC 卡安全密钥认证机制的基本需要,也是 IC 卡系统集成商的行规。就像城市公共交通 IC 卡一样,这些卡在交给公交系统使用前,每张卡的密钥都要进行出厂加密控制。

4)如果因用户缺乏专业性管理而万一丢失了初始化授权用的密钥卡,用户和厂家将无法补用该卡。所以,初始化工作由厂家做,才有安全保障。

0x3 用到的工具介绍

>>>>

ID卡


ID 卡全称身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号,主要有台湾 SYRIS 的 EM 格式、美国 HID、TI、MOTOROLA 等各类 ID 卡。摘自互联网) 我们既然是 DIY 卡,那肯定手上要有卡。
为了防止 DIY 坏了原卡,我们就需要个同类型的卡,将母卡的数据复制到新卡上。

>>>>

线圈


T55x7 卡由线圈和芯片组成,卡里面的线圈不好取,我们只能自己做或者买现成的线圈。

>>>>

T55x7卡


将里面的芯片取出。

>>>>

THF


四氢呋喃。用来溶解 t55x7 卡,取芯片用。可自配,也可网购 pvc 溶解液。

>>>>

镊子


方便取芯片用,当然手活好,也可以不用的 :>

>>>>

防磁贴

防金属干扰射频信号。

>>>>

烙铁

将芯片焊到线圈上。

>>>>

焊锡条

焊接用。

>>>>

助焊剂

这里我们用松香,可以防止焊接面的氧化,增加焊锡流动性。

A) proxmark3(PM3) 由 Jonathan Westhues 设计并且开发的开源硬件。(其主要用 RFID 的嗅探读取以及克隆等的操作)
B) 二进制手表一枚(把标签 DIY 到手表上)

C) 剪子(用来剪卡取芯片用)

0x4 PM3驱动安装
驱动下载地址:<点此下载>
https://code.google.com/p/proxmark3/downloads/detail?name=Proxmark-Driver-2012-01-15.7z&can=2&q=
驱动安装文章:<点此打开>
http://wiki.radiowar.org/Proxmark3
安装驱动视频:<点此打开>
https://v.youku.com/v_show/id_XNDk1OTQ0MTY0.html
0x5 PM3更新固件
r649~r651修复以及增加详细,下载 pm3-bin-r651.zip
https://pan.baidu.com/share/link?shareid=174488&uk=2955852660
[*]649增加对于 T55X7的区块命令和支持 HID 长格式

[*]650增加读取 PCF7931低频卡命令,但属于测试版本需要大家进行测试

[*]651修复 HID 短格式克隆,增加对于 EM4X 卡的区块读写命令

[*]修复长久以来 WinXP 的前四位数值为0的 BUG

r626~r627修复以及增加详细,下载 pm3-bin-r627.zip

https://pan.baidu.com/share/link?shareid=110167&uk=2955852660
[*]修复关于"hf mf mifare"相关的 BUG,并且将命令运算速度调制100ms

r622~r625修复以及增加详细,下载 pm3-bin-r625.zip
https://pan.baidu.com/share/link?shareid=81928&uk=2955852660

[*]622增加清除内存

[*]623增加关于“lf hitag list”导出为文件的命令

[*]624增加 hitag2在加密模式下的读取功能

[*]625增加在密码模式下对于 hitag2的区块读取

这里我下载的是 pm3-bin-r651.zip。

我是 win 就进入 win32文件夹。
直接双击 <更新固件.bat> 即可更新。(注意:这里为了避免出错,路径尽量不要包含中文和空格)

<更多细节点此打开官方网站查看详情>
http://wiki.radiowar.org/Proxmark3%E5%9B%BA%E4%BB%B6%E5%88%97%E8%A1%A8

0x6 T55x7标签介绍

T55x7 也叫 TK4100(EM4100)卡。是属于 ID 卡。
一般公司、住宅等都用T55x7 卡。
T55x7标签省成本。一般市场价格 2 元-3 元不等。(如果批发,还能更便宜) 
所以很多地方都用T55x7 标签。


一般判别标签卡的类型,不可通过卡的外观 大小 形状来判断。

T55x7 的参数及应用范围:EM 4100/4102 感应式 ID 标准卡。

芯片:EM 瑞士微电EM4102Water
工作频率:125KHZ
感应距离:2-20cm
尺寸:ISO 标准卡/厚卡/多种异形卡
封装材料:PVC、ABS -
典型应用:考勤系统、门禁系统、企业一卡通系统等
0x7 T55x7标签复制
说到复制,那么我们下面就要用 PM3 神器了。

在用PM3神器前,我们还要科普一点射频的基础知识。

一般RFID常用的有低频(125k~134.2K)、高频(13.56Mhz)、超高频,微波等技术。

一般 ID 标签都是低频,IC标签都是高频。

(不一定的,在中国什么都有可能发生的。就像 ID 卡不可写,在中国也都是浮云一样。)

我们先把 PM3的线接好。(装好驱动,升级固件后)

如图:

下面我们打开程序。

为了方便,我们可以在文件夹下,新建个 BAT 脚本,如图:

这里注意,我们的程序是在下载的固件里面的。

我们双击cmd.bat输入proxmark3.exe回车。

这个就是 PM3 的控制台界面了(看到这个界面,表示可以使用了)

我们首先来了解一下 PM3 的基本命令:

help 主帮助命令(基于 r621):
hw 硬件检测相关命令:
lf 低频相关命令:

lf em4x (EM4X 卡类相关命令...):


<详细点此进入>
http://wiki.radiowar.org/Proxmark3%E5%91%BD%E4%BB%A4%E5%B8%AE%E5%8A%A9
首先我们用hw tune 命令, 用来测量天线的调谐。输入hw tune. 会提示

“#db# Measuring antenna characteristics, please wait..” 稍等一会,就会返回信息。

其中“# Your HF antenna is unusable.” 意思是说我们的高频天线不能用,因为我们只插了低频的天线,所以会有这个提示。
# LF antenna: 15.84 V     @ 125.00 kHz
# LF antenna: 13.70 V     @ 134.00 kHz
# LF optimal: 18.40 V      @ 127.66 kHz
# HF antenna: 0.10 V      @ 13.56 MHz

HF 是高频天线,这里我们没有用,就不用看。

重点是看上面的三个LF 低频天线的电压。

他们分别是:

15.84 V
13.70V
18.40V

这个时候,我们的门禁是没有放上去的。

现在我们把门禁放上去。(只要放在低频的天线上面即可)

放上去后,我们再输入hw tune 看看回显。


我们可以看到,变化都非常的大。低频电压都降低了许多。

我们再来放一张IC 卡(即高频卡来看一下区别,这里我就用地铁卡来演示)

再输入. hw tune 看看回显:


我们可以看到,我们将地铁卡放上去后,电压变化非常的。
我们可以通过此方法,来判别分析的是低频卡,还是高频卡。

知道是低频卡后。我们就可以来用命令来读取tags 了。

前面我们说了t55x7 也叫EM4100。

我们就可以用lf em4x em410xwatch 这个命令来获取门禁的Tags。

这条命令会读取EM410x 标签,2000 次取样获取ID。

注意:读取Tags 的时候,门禁卡要放在低频天线上方。

获取到了Tags。我们就可以找张新卡,来复制了。

用命令“l e em410xwrite Tag ID 1” 这最后的1 表示t55x7 标签。

前面的l 是lf 低频卡命令的缩写第2 个e 是参数em4x 的缩写。

写完后,我们再用命令lf em4x em410xwatch 来查看,我们是否写进去了。


写进去后,我们拿去打卡机上测试一下。

先用原先的门禁刷一下。

提示错误,是因为刚才刷过了。在一定时间内,就会提示,重复刷卡,这是正常的。

再用复制的新卡刷一下:

Okay! 我们复制成功了。现在有了这张卡。我们可以上厕所,刷考勤,进公司,等等。很是方便了。

但是卡,我们不可能时时都会带着,所以我们还需要DIY 它,我准备把它DIY 进我的手表里面,因为手表一般除了睡觉和洗澡,是不会脱下的。

0x8 T55x7标签DIY

>>>>

取T55x7标签芯片

现在我们万事俱备,只差东风了。我们将刚才复制的 T55x7 标签放在日下照一下。
如果是晚上,可以放在灯泡下或者手电桶啥的,照一下。找到芯片的位置,然后用笔画下来,标记一下。
标记后,我们就可以用剪子来剪下来了。(木有借到剪子,杯具了,不过借到了把刀,将就着用吧)

割了好一会,实在是割不动,又去借了把剪子来...

现在这样大小,还不行,我们要再剪小一些。

减了一会,已经减到小的不能再小了。下面就把减好的芯片放到四氢呋喃里面。

如果在操作过程中,不慎将溶解液滴到手上,不必惊慌,(这不是硫酸) 只要拿清水冲洗即可。

放进去后,我们拧紧盖子,大约2-3支烟的功夫,就可以取出了。耐心等候吧。~ _ ~

才放进去两三分钟,就能看到已经脱了两层PVC 皮了:)

两只烟的功夫后,我们把脱掉的PVC 皮层全部拿出来。然后用镊子把芯片最里层PVC 皮层脱掉,此时我们就能看到腼腆的芯片赤裸裸的躺在里面了:)

>>>>

焊接T55x7芯片到小线圈上

现在芯片有了,我们找一个线圈,来焊上去。尽量找大点的线圈吧,那样射频信号更好些。因为我是要弄到手表上,所以我就找了一个小的ID 线圈。

有了线圈,我们只要焊上去就行了。

线圈的两个头,对准芯片的两边锡,焊上即可。(这里注意,焊的时候,不宜时间过久,尽量一下焊上。温度最好调到300 度,否则,芯片可能容易烧坏。)

下面就开始焊接吧~

由于我没有焊接经验,焊了很久很久..有好几次都是刷失败的,我以为是焊坏芯片了,实际上还是我没有焊好。焊到最后一次,就想要是再不成功,就换新卡重新弄的。不过还好,最后一次还是焊成功了。:)

赶紧拿去测试...
DIY 成功...

剩下的就是将DIY 的标签放到防磁贴上。

事实上,弄到防磁贴上后,我试了,信号明显变差了。这个原因,就是因为线圈太小了。原来的标签是一个大的矩形线圈,现在我们用的是这么小的圆形线圈。信号自然就降低许多,所以我也没有打算弄到手表里面了。干脆弄到表带上好了。这样等下次把地铁卡也加进去的时候,也方便。
弄到表带上后,我们来测试一下。
测试也是成功的:)

<以上内容有部分是摘自互联网>

至此自制NFC 手表也就结束了。

在此我要感谢 RadioWar的黑板前辈。(我的 PM3 就是在黑板大牛那购买的) 在我刚接触 RFID 的时候,有许多不懂的地方,感谢他的指点,让我少走了许多弯路。

RFID 我也是刚接触不久,也算是菜鸟级别的。写的也是没有什么技术含量,文中也难免有错误的地方。希望大家能指正,共同学习!

大多数我们用户的数据都是保存在标签里面的,如食堂的饭卡钱、公交 & 地铁的钱等等,这些都存在许多安全隐患的。

如果法律和时间都允许的话,我会继续写更多RFID & NFC相关的文章。

最后,感谢您能耐心的看完此拙文~

- End -

看雪ID:半斤八兩

https://bbs.pediy.com/user-532453.htm 

*本文由看雪论坛  半斤八兩  原创,转载请注明来自看雪社区

推荐文章++++

Android 应用多开对抗实践

Linux pwn从入门到熟练(三)

浅谈Bypass disable_function

内存dump 获得基于Unity3d的游戏相关代码

Android逆向入门练习——滑雪大冒险支付分析

进阶安全圈,不得不读的一本书

“阅读原文”一起来充电吧!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458301070&amp;idx=1&amp;sn=a33422c4709df7a4c785f2069efc0a3f&amp;chksm=b181820486f60b12a6e9552b6051461f5f70acc9e8d2116097f4478717b1b4affa959f6f7c59#rd
如有侵权请联系:admin#unsafe.sh