计算机应用之无线射频探析
读取mfc卡的内容时,其认证过程首先是读卡器(Reader)首先发送认证命令(auth)给卡片(tag),卡片生成随机数nT并发送给读卡器。读卡器回复加密后nT(aT),同时也发送一个随机数nR。最后卡片根据nR回复应答(aR)给读卡器。通过对加密算法的分析,发现通过nT、aT、nR和aR就能还原出加密算法使用的密钥。
由于存在安全问题,目前mfc卡已逐渐退出有安全要求的消费领域。MiFare的设计厂商也该改进了原有的卡设计,推出了使用公开加密算法的升级版MiFare系列。同时一种新型的智能卡----CPU卡也开始被越来越多的使用。
2.2 无加密存储卡
无加密的存储卡由于安全性较低,现在使用的并不多。还有一种和无加密存储卡类似的卡片,也就是低频门禁卡。这种卡通常只能一次性写入,多次读取,存储的数据量较小,主要用于目标标识。就安全性而言,对卡中的数据可直接读取,克隆卡也十分容易。使用pM3,只需要输入若干命令即可。
3、Proxmark3
3.1 Proxmark3功能简介
Proxmark3(PM3)是有JonathanWesthues设计并且开发的开源硬件,可以在高频(13.56MHz)以及低频(125K-134KHZ)波段工作,主要有RFID的嗅探、读取以及克隆等功能。
以SVN528般般的firmware为例,PM3的主要功能如下表所示:
低频(lf) 读取/解调/模拟EM4X,FlexPass,Indala,VeriChip
高频(hf) 读取/窃听/模拟ISO14443A,ISO14443B;读取/模拟ISO15693;读取LEGICRFID
数据分析 ASK、FSK、Manchester解调,画图、数据保存等。
PM3的强大之处在于其分析能力,当拿到一个位置的非接触卡时,可以通过PM3来判断是高频卡还是低频卡,然后在尝试相应的命令来分析卡的具体种类。
3.2 PM3模拟低频卡
以用的门卡为例,通过"hwtune"命令可以确认门卡为低频卡。然后输入命令
Proxmark3>ifread
Proxmark3>datasamples1024
Proxmark3>dataplot
运行的结果可以得出,dt=128,即64个采样。PM3的采样率为载波频率即125kHZ,于是dt=64*1/(125k)=0.000512s。从后面相邻的部分波形可以才出512μs可能是4bit,也就是128μs/bit,每个16个采样1bit。
使用indala卡模式解调:
Proxmarks>ifindalademod
得到门卡的64bitUID;然后用PM3模拟门禁卡;
Proxmarks>ifsim
等PM3的指示灯常亮后,就可以拿着PM3刷门禁了。
3.3PM3破解mfc卡
PM3也提供了对mfc卡的破解工具。首先使用PM3对读卡器和卡之间的交互进行嗅探,命令如下:proxmark3>hf14asnoop,然后嗅探得到数据的命令如下:Proxmarks>hf14alist,然后在使用PM3的小工具就可以破解mfc卡的密钥并且复制出来。
4、小结
从上述内容不难看出,非接触智能卡并非如我们想象的那样安全,尤其是对于低频卡和mfc卡,在使用像PM3这样的工具时,嗅探、克隆,都是很简单的事情。国外更是有研究者对各个层次的RFID攻击进行了分类。目前和消费有段的非接触卡大都已经采用CPU卡,就是为了应对逻辑加密卡易于被克隆的风险。虽然目前暂时还没有公开发现CPU卡的安全漏洞,但是还是希望大家养成良好的用卡习惯,尤其不要外接自己的门禁卡或饭卡,以免被克隆复制。
- 一种小型无线射频识别系统的设计(09-02)
- 探无线射频识别技术及其应用发展趋势(04-09)
- 浅析应用于车载的无线射频识别系统设计案例(09-23)
- RFID在的手机支付技术应用(05-28)
- RFID在开架书库管理中的应用研究(01-13)
- 一种微波频段有源RFID系统设计(08-23)