0%

如何玩转NFC

2017 年购入了米家智能家庭套装部署在在家中。北漂后一直放在家里吃灰,今年年后带去北京,并着手重新部署智能化逻辑。

SmartHome头图


NFC标签(碰碰贴)

2020 年 8 月 11 日,雷军在小米科技园举办小米十周年公开演讲,并发布了一系列产品来纪念十周年。但我真正感兴趣的产品并没有在演讲中进行介绍,只在 PPT 上出现了一瞬,那便是「小米碰碰贴2」,一款 NFC 贴纸。

小米碰碰贴2

旗舰手机搭载 NFC 功能已久,常见的应用场景不过是刷地铁、刷门禁,但 NFC 的作用不止如此,它能够在智能家居的场景中发挥更多的作用。在早些年刚了解到「智能家居」这个概念的时候,给我留下印象之一便是电子标签的广泛应用——通过扫描张贴在不同地方的电子标签,便可自动执行一系列对智能设备的操作。而现在随着米家开放了「小米碰碰贴的智能玩法」这一功能,梦想照进了现实。

RFID与NFC

射频识别 RFID(Radio Frequency IDentification)是一种无线通信技术,可以通过无线电信号识别特定目标并读写相关数据,主要用来识别和跟踪物体上绑定的标签,从而实现对物体的管理。工作频段有很多,典型的工作频率有:125KHz、13.56MHz、433MHz、915MHz、2.45GHz 等。

近场通信 NFC(Near Field Communication)是一套通信协议,由 RFID 技术演变而来,让两个电子设备以 13.56MHz 频率在 20 厘米之内进行通信。

支持全功能 NFC 的设备可以用三种模式工作:

  • 卡模拟模式:这种模式就是将具有 NFC 功能的设备模拟成一张标签或非接触卡,比如支持 NFC 的手机可以作为门禁卡、公交卡被读取。这种模式下哪怕手机没电也可以工作,由读卡器(如地铁闸机)进行供电。
  • 读卡器模式:作为非接触读卡器使用,可以读写 NFC 标签。
  • 点对点模式:这个模式可用于数据交换,将两个具备 NFC 功能的设备链接,实现数据点对点传输,如交换电子名片,华为一碰传。

种类繁多的电子卡片

统统告诉我密码

去食堂吃饭需要饭卡、乘坐地铁需要公交卡、进出小区需要门卡、去自动柜员机取钱需要银行卡、乘坐高铁需要身份证,现代生活离不开各种电子卡片,这些卡无外乎 IC 卡和 ID 卡两大类。

ID卡

ID 卡全称身份识别卡(Identification Card),是一种不可写入的感应卡,只记录了卡号,并由生产厂在生产时一次性写入,一般会标注在卡片上。ID 卡属于低频卡,工作频率一般是 125KHz~1000Khz。

ID 卡不包含加密信息,卡号是公开的,ID 卡号的读取无需任何权限,易于复制,安全性很低,正在被逐步淘汰。

IC卡

IC 卡全称集成电路卡(Integrated Circuit Card),可读写,容量大,有加密功能,数据记录方便。IC 卡一般是 13.56MHz 的高频卡,跟手机 NFC 工作频率一样。所以手机可以通过 NFC 模拟未加密的 IC 卡。

IC 卡内所记录数据的读取、写入均需相应的密码认证,甚至卡片内每个区均有不同的密码保护,全面保护数据安全。IC 卡在使用时,必须要先通过 IC 卡与读写设备间特有的双向密钥认证后,才能进行相关工作,从而使整个系统具有较高的安全保障。常见的校园一卡通、公交卡等充值消费卡都是 IC 卡。

IC 卡本身可以记录用户信息(卡号、用户资料、权限、消费余额等),甚至可以脱离计算机数据库平台运行,是现在的主流。

IC 卡又可以进一步细分为以下几种类型:

  • Mifare S50(M1 卡):MIFARE Classic 是恩智浦半导体开发的可用于非接触式智能卡,有 S20,S50(M1),S70 几种规格。M1 卡容量 1K 字节,每张卡片都有一个 4 字节的全球唯一序列号,0 扇区不可以修改,其他扇区可反复擦写,卡上数据保存期为 10 年,可改写 10 万次,读无限次。日常使用的电梯卡、门禁卡等智能卡发卡商所使用的都是 M1 卡,可以理解为物业发的原卡(母卡)。常见校园卡、公交卡等也是 M1 卡。M1 卡仅仅适合发卡方发新卡使用。
  • UID 卡:普通 IC 复制卡,可以重复擦写所有扇区。UID 可被重复修改,响应后门指令(意味着可被使用后门指令检测是否为克隆卡的机器发现),遇到带有防火墙的读卡器就会失效。平常去地摊上找老大爷配的门禁卡就是这种。
  • CUID 卡:UID 的升级版,可擦写防屏蔽卡,可以重复擦写所有扇区,不响应后门指令(意味着不容易被反克隆系统发现),可以绕过防火墙。
  • FUID 卡:不可擦写防屏蔽卡,此卡的特点 0 扇区只能写入一次,写入一次后变成 M1 卡,不能重复利用,修改后和 M1 卡完全一样,很难被屏蔽检测。
  • UFUID 卡:高级 IC 复制卡,可以理解为是 UID 和 FUID 的合成卡,需要封卡操作,不封卡就是 UID 卡,封卡后就变为 M1 卡。
  • CPU 卡:CPU 卡芯片内含有一个微处理器,配合操作系统即片上 OS,可以达到金融级别的安全等级。适用于金融、保险、交警、政府行业等多个领域。CPU 卡由 CPU 部分 7K 以及 M1 部分 1K 组成,最多破解其中 M1 部分,CPU 区域数据无法破解。实际上由于 CPU 部分和 M1 部分的数据会交互,所以基本上 CPU 卡无法破解。

NFC标签

「小米碰碰贴2」以众筹的形式售卖,需要等到 9 月份才能发货,它本质上就是一个做工较好的 Ntag216 型 NFC 标签,普通的 NFC 标签也可实现碰碰贴的功能,并且价格更低。需要注意的是,Ntag213 型的 NFC 标签会因为容量太小无法支持碰碰贴的全部功能,推荐购买 Ntag216 型 NFC 标签。

Ntag21x 系列是恩智浦半导体公司开发的第二代 NFC 标签,不同型号之间的区别主要体现在容量上:

  • Ntag213:144 字节。
  • Ntag215:504 字节。
  • Ntag216:888 字节。

Ntag216湿inlay

NFC标签透明探索版

NFC标签淘宝页面

Inlay 是 RFID 行业专用术语,是指一种由多层 PVC 或其他材料含有芯片及线圈层合在一起的预层压产品,经过不同形式的封装可以做出不同种类的RFID标签。Inlay 可以理解为 RFID 标签未封装的半成品。

Inlay 又分为 Dry Inlay 和 Wet Inlay,Dry Inlay 不含背胶,结构是天线+芯片+芯片封装;Wet Inlay 含背胶,可以直接贴在物品上,结构是天线+芯片+芯片封装+表纸+底纸。

设置碰碰贴

以「开/关风扇」为例子,设置 NFC 标签控制智能家居。

打开米家 APP,进入智能->我的,添加智能,条件选择「手动执行」,执行结果选择想进行的操作,比如「开/关风扇」。

设置碰碰贴01-添加智能
  1. 进入智能->推荐,选择「小米碰碰贴的智能玩法」。
  2. 在智能玩法中,注意「与音箱联动」需要「小爱小爱音箱Art」+「小米10至尊纪念版」,与电视联动需要「小米电视 大师 65英寸OLED」+「小米10至尊纪念版」,这里以「米家智能场景」作为演示。
  3. 选择在第一步添加的智能,注意只有条件为「手动执行」的智能才能显示在这里。
  4. 将 NFC 标签或 IC 白卡置于手机 NFC 区域片刻,便可写入信息到 NFC 标签或 IC 卡。
设置碰碰贴02-设置碰碰贴

将未锁屏的手机贴在 NFC 标签上,即可显示触发成功。

设置碰碰贴06-执行

设置NFC任务

以「切换勿扰模式」为例子,设置 NFC 标签控制手机设置。相当于「小米碰碰贴1」的作用。

打开 NFC Tools Pro APP,进入任务->添加任务->配置->请勿打扰,选择启用、禁用或切换,点击 OK。

注:需要根据软件提示允许 NFC Tasks 获取控制「请勿打扰」的权限。

设置NFC任务-01添加任务

点击「写/xx字节」,将配置好的任务写入 NFC 标签。

设置NFC任务-02写入信息

将未锁屏的手机贴在 NFC 标签上,即可显示触发成功。

设置NFC任务-03触发标签

参考资料
物联网标识技术:RFID与NFC的区别
ID / IC 卡基本原理介绍与门禁卡 DIY