mifare教程 用MifareClassic工具模拟加密门禁教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mifare教程 用MifareClassic工具模拟加密门禁教程相关的知识,希望对你有一定的参考价值。

参考技术A 1、首先下载MifareClassicTool安卓NFC的经典工具,先把工具给大家链接:https://pan.baidu.com/s/1t76Q-t4aV8659IdLPypAqA提取码:68jk。

2、准备一个小米NFC手机;

3、准备一张淘宝的CUID白卡,

4、模拟过程:

(1)用MCT读取加密门禁卡,选workkey.txt和std.keys,启动映射并读取标签,保存,此处命名为work.

634080_1547108478_3026@1080x1920.jpg.m.jpg

(2)把0区数据写入空白卡

634080_1547108480_5746@1080x1920.jpg.m.jpg634080_1547108483_0984@1080x1920.jpg.m.jpg

(3)现在这张空白的卡就可以开门了,最后就用官方的门禁卡模拟这张卡就ok了。

5、花几块钱,搞定手机门禁,一下高大上了,如果淘宝买专业的nfc读写设备,更可以利用小米的模拟空白卡片功能把加密的饭卡都写入手机或者手环。

ACR122U 的 MIFARE Classic 1K 加载身份验证密钥失败

【中文标题】ACR122U 的 MIFARE Classic 1K 加载身份验证密钥失败【英文标题】:MIFARE Classic 1K load authentication keys failure with ACR122U 【发布时间】:2016-03-22 05:12:18 【问题描述】:

我正在使用 ACR122U NFC 读写器和 MIFARE Classic 1K 卡。要为 MIFARE 卡加载身份验证密钥,我使用以下 APDU 命令:

FF 82 20 00 06 FF FF FF FF FF FF

读者回复90 00(表示成功)。但是,在另一台 PC 上,我有相同的读写器和相同的标签,但我收到响应代码 63 00,这意味着操作失败。

当我阅读 ACR122U 文档时,它将命令声明为

FF 82 00 00 06

这个字节被命名为key structure,在文档中它的值是00。这个字节会不会是这个问题的根源?

谁能帮我解释一下密钥结构字节的值?

【问题讨论】:

【参考方案1】:

我很惊讶您发现支持密钥结构 (P1) 设置为 0x20 的 ACR122U。 API manual of the reader(请参阅第 5.1 节 加载身份验证密钥)清楚地表明 0x00 以外的值是保留的(即不得使用)。这意味着 ACR122U 仅支持易失性内存中的卡密钥(即卡的身份验证密钥)(即拔出读卡器时从内存中清除密钥)。

您可以在PC/SC specification 中找到密钥结构 (P1) 字节的定义(在第 3 部分。PC 连接接口设备的要求):

Bit 7:该位指示在此命令中传输的密钥是卡片密钥('0')还是读卡器密钥('1')。读卡器密钥是在 LOAD KEYS 命令(见第 6 位)中传输期间用于加密卡密钥的密钥。 位 6:在此命令中传输的密钥以纯文本 ('0') 或使用读取器密钥加密 ('1') 传输(请参阅位 3..0)。 第 5 位:该位指示传输的密钥是否应存储在易失性 ('0') 或非易失性 ('1') 内存中。 位 4:保留并始终设置为“0”。 第 3..0 位:如果设置了第 6 位,则用于加密传输密钥的读取器密钥编号。

【讨论】:

好吧,我什至还尝试了 0x10、0x30 和 0x40 之类的值。除了 40.. 发出连续的哔声之外,它们都工作了。 我的问题通过将值改回 0x00 解决了。但真正让我吃惊的是这些值是如何在我的 NFC 阅读器上发挥作用的?【参考方案2】:

加载身份验证密钥

找到附图

load key Image

密钥结构:00 密钥加载到读卡器易失性存储器中 钥匙编号:阅读器上的 00~01 钥匙位置 Key:加载到阅读器中的键值,例如 FF FF FF FF FF FF

响应:90 00 操作成功完成 : 63 00 操作失败

【讨论】:

以上是关于mifare教程 用MifareClassic工具模拟加密门禁教程的主要内容,如果未能解决你的问题,请参考以下文章

Nexus 4 读取 Mifare Classic 卡 UID

ACR122U 的 MIFARE Classic 1K 加载身份验证密钥失败

如何使用Nexus 5获取Mifare Ultralight 16位UID读数

将 javax.smartcardio 用于 MIFARE Classic 和 Omnikey 5021 CL

MiFare Classic 卡的智能卡读卡器

Mifare认证