问题标签 [contactless-smartcard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1860 浏览

rfid - 从身份验证跟踪中恢复 Mifare Classic 密钥

我获得了 Mifare Classic 身份验证跟踪,想知道是否有任何工具或教程可以用来获取密钥?

0 投票
1 回答
975 浏览

rfid - 在 Mifare 4K 卡中更改密钥

谁能告诉我如何更改 Mifare 4K 经典卡中的密钥。

我尝试的是

但钥匙拒绝改变。默认配置是0xFF 0xFF 0xFF 0xFF 0xFF 0xFF.

0 投票
2 回答
2436 浏览

smartcard - Mifare卡安全

几天前,我连接了一个 USB 非接触式智能卡读卡器,并通过 USB Sniffer 工具嗅探了那个 USB 端口。之后,我在读卡器上放了一张 1k Mifare 卡,读取了 1 个字节。

我看了一下嗅探器工具的输出,了解到密钥(读取密钥和写入密钥)在没有任何加密的情况下传输到卡上!

现在我想知道这种机制真的安全吗??!如果我更改读卡器的 API 使其表现得像 Mifare 卡并将其移近原始读卡器并通过我的计算机嗅探两个读卡器之间的通信,我不能获得密钥吗?!

这是否有可能使 Reader 在另一个非接触式读卡器的领域中表现得像一张 mifare 卡?


更新: 据我所知,在发送验证命令之前,必须在 mifare 卡上加载密钥!如下所示,我将密钥加载到卡上![FF FF FF FF FF FF默认情况下]。

在此处输入图像描述

同时我嗅到了我的 ACRA122U 连接的 USB 端口!如下所示,密钥是明文发送的!

在此处输入图像描述

我做的有什么问题?!

注意:Hedayat小姐(我的同事),也证实了!:))

0 投票
2 回答
1459 浏览

mifare - MIFARE DESFire EV1 内容删除

有没有办法将 DESFire 卡重置为其原始状态?任何格式化和删除所有内容的命令?

我读过 DeleteApplication apdu 命令删除了应用程序及其文件,但空间仍然无法使用。

谢谢你。

0 投票
2 回答
2113 浏览

android - 访问 MIFARE DESFire 卡

如何使用 Android 手机作为 NFC 读卡器访问 MIFARE DESFire 卡?我打算在安卓手机上开发一个安卓应用程序(用于支付)。

我想使用 Android 手机执行的 DESFire 操作(身份验证、读取和写入)需要 SAM 卡,我想我可以使用 HCE 在手机中模拟该 SAM 卡。

0 投票
1 回答
928 浏览

android - Interaction between android application and ACR122U in card emulation

I have my ACR122U in card emulation mode and an Android application which has to start when the emulated tag is detected and send a message, for example: "Hello".

When emulate the tag and scan it with my phone it successfully opens the application by catching it with the android.nfc.action.TAG_DISCOVERED intent filter.

I have three questions about this situation.

Question 1

I read that the TAG_DISCOVERED has the lowest priority and you can't be sure your application will be selected after a tag discovery. Using card emulation, is the only way to catch an intent by using the android.nfc.action.TAG_DISCOVERED intent filter, or is there an other (better) way?

Question 2

I think this question is related to question 1. When i use the tgSetData command on the PN532 i gues i just send plain text to the android device. For example: FF 00 00 00 08 D4 8E 61 73 64 61 73 64 sends the string "asdasd". Is it also possible in card emulation to send a NDEF message or something similar? I suppose if that's possible Question 1 is answered to because you can use the NDEF intent filter.

Question 3

This question is about the application select part. From the first tgGetData i recieve the bytes 00 a4 04 00 07 d2 76 00 00 85 01 00. I read that this is the application select. I also noticed that won't get this procedure when the Android application is opened. I gues that's probably because the application is opened in the front. But how do i interact with this response when my application isn't in the front? My current interaction is this:

  • getData D4 86
  • Response = D5 87 00 00 A4 04 00 07 D2 76 00 00 85 01 01 00
  • setData D4 8E 61 73 64 61 73 64 (just a random string)
  • Response = D5 8F 00 90 00
  • Use send- / getData to transmit data.

This doesn't work when the application isn't openend. Is this because this procedure is wrong or maybe my handling in Android is wrong?

Any information is welcome related to the questions.

Many thanks!

Regards.

0 投票
1 回答
1947 浏览

nfc - 无法验证具有 7 字节 UID ACR122U 的 NFC 标签

我有两种 Mifare Classic 标签。一个有 4 个字节的 UID,另一个有 7 个字节。我正在尝试阅读两者的块。我成功读取了具有 4 字节 UID 的标签块,但在 7 字节 UID 的情况下无法进行身份验证。我使用的阅读器是 ACR122U,使用 ACR122U 工具阅读。

0 投票
2 回答
2379 浏览

smartcard - SmartMX 混合卡 - 如何访问 MIFARE Classic

我有一堆带有 SmartMX 芯片(smartmx-m3b.03.d3-NX212A准确地说)的混合智能卡,其中包含 MIFARE Classic 4k。我一直在尝试访问卡片的 MIFARE 部分,虽然在 Android 上这样做是访问android.nfc.tech.MifareClassic标签的一项微不足道的任务,但我不知道如何在 Windows 中这样做。我是否应该寻找 PCSC 阅读器特定的命令来访问此卡上的 MIFARE Classic?或者我应该寻找 SmartMX 芯片特定的 APDU 来包装 MIFARE 经典的命令?

0 投票
0 回答
1334 浏览

java - JAVA隐藏api和usb键盘

我有一个 UIC 680 非接触式读卡器,它具有隐藏和 RS 232 接口。现在我想使用 java 和 hid 接口与设备交互。我开始探索 JAVAHID API 并且能够获取设备列表。但是当我尝试获取设备对象时,它返回 null。我知道人们也遇到过类似的问题,这个http://angryelectron.com/javahidapi-nihardwareservice链接为它提供了一个我也使用过的解决方案。现在我也有 magtek msr 阅读器,它在我的计算机中被检测为符合 HID 的设备,我得到它的设备对象绝对没问题,但不适用于我的 UIC 设备(在我的 Windows 计算机中检测为 USB 键盘)以及 USB HID 鼠标因为他们抛出空指针异常。请帮助我,因为我做错了什么?另外,我知道我可以使用 java 通信 API 和 RS 232 接口,但我的要求是使用 HID 接口。

0 投票
2 回答
1800 浏览

android - 支持扩展长度 APDU 的要求是什么?哪些智能手机支持它?

当我第一次尝试发送 APDU 命令并收到“超出支持的长度”错误时,我认为这只是 NFC 芯片本身的限制 - 没有办法解决。但是,此站点表明这可能是 Android 操作系统中的软件问题:

许多当前可用的智能手机只能通过 NFC 传输 261 字节[2],而无需对操作系统进行重大修改。

有谁知道更多关于如何解决这个问题以及修改的“主要”程度?

另外,您是否有列表,哪些手机支持扩展长度 APDU?如果没有,我们可能应该开始一个,因为你在谷歌上真的找不到太多。

我知道三星 Galaxy Note II 支持它,而三星 Galaxy S3、Nexus 5 和 Galaxy Nexus 不支持。