如何与 Felica memory/smart 卡片通信?
How to communicate with Felica memory/smart cards?
我有一张 Felica 卡。第一个问题是这张卡到底是什么?它是智能卡还是简单的存储卡?它是一种 Java 卡,我可以在里面加载 .cap
文件吗?或者它有其专有的固定内容,我无法加载任何小程序?是 GlobalPlatform 标准投诉吗?
我读 here 是:
Sony’s proprietary FeliCa is a smartcard technology that is similar to
ISO/IEC
14443. FeliCa has a file system similar to that defined in ISO/IEC 7816-4. The file system and commands for access to the file system are
standardized in JIS X 6319-4 [28]. In addition, the FeliCa system has
proprietary cryptography and security features.
之后我尝试向它发送一些 APDU 命令。第一步是使用 reader 进行一些配置更改。因为我的 reader 配置为读取 ISO14443 A 类和 B 类卡,而不是 Felica 卡。
由于 Felica 和 ISO/IEC 14443 卡都使用 13.56 MHz 频率作为载波,我认为这些类型之间的区别仅在于协议层。我对吗?如果是这样,Felica 卡传输协议的名称是什么? (对于 ISO/IEC 14443 张卡,我们有 T=1 和 T=CL 协议)。
配置reader后,我尝试向卡发送命令:
Connect successful.
Send: 00 A4 04 00 00
Recv: 6A 81
Time used: 31.000 ms
Send: 00 C0 00 00 00
Recv: 6A 81
Time used: 28.000 ms
Send: 00 CA 00 00 00
Recv: 6A 81
Time used: 35.000 ms
正如您在上面看到的,我只收到 0x6A81
状态词。
我还搜索了很多 ACS Reader 数据表、一些 NXP 应用说明以及肯定的 JIS X 6319-4 标准,以获取此类卡的命令列表。但我发现没有任何适用的。
所以,问题是:
- Felica到底是什么? (聪明?记忆?)
- Felica卡和ISO/IEC14443卡有什么区别?跟NFC有关系吗?
- 如何与此卡通信和传输数据?
更新:
我卡的 ATR 是:3b 8f 80 01 80 4f 0c a0 00 00 03 06 11 00 3b 00 00 00 00 42
What actually is Felica? (Smart? Memory?)
就功能而言,它更像是存储卡而不是智能卡。以块为单位读取数据对于存储卡来说是典型的,并且除了基于对称加密的基本身份验证之外,该卡的功能非常有限。
你可能会说它是一张智能卡,因为它的实现似乎带有 multi-purpose CPU(见附件 B)。
然而,似乎不可能像您所做的那样改变智能卡的行为。在全球平台 Java 卡中。所以我将其归类为具有专有协议的存储卡。
What is the difference between Felica cards and ISO/IEC14443 cards? Is it related to NFC?
它使用专有通信协议,包括数据 -link 层(您在这里询问)和 command/response 层。
How to communicate with this card and transfer data?
您发送 APDU 而不是 FeliCa 的专有命令/响应对这一事实表明您正在使用转换层。这个翻译层很可能在 reader / reader 驱动程序中。此转换层的 API 很可能在 PCSC 2.01 specifications 中指定(第 3.2.2.1 节存储卡功能支持,使用 CLA 字节 0xFF)。
您可能还需要 reader 的用户手册,如果只是想知道在哪个位置存储所需的密钥。
我有一张 Felica 卡。第一个问题是这张卡到底是什么?它是智能卡还是简单的存储卡?它是一种 Java 卡,我可以在里面加载 .cap
文件吗?或者它有其专有的固定内容,我无法加载任何小程序?是 GlobalPlatform 标准投诉吗?
我读 here 是:
Sony’s proprietary FeliCa is a smartcard technology that is similar to ISO/IEC 14443. FeliCa has a file system similar to that defined in ISO/IEC 7816-4. The file system and commands for access to the file system are standardized in JIS X 6319-4 [28]. In addition, the FeliCa system has proprietary cryptography and security features.
之后我尝试向它发送一些 APDU 命令。第一步是使用 reader 进行一些配置更改。因为我的 reader 配置为读取 ISO14443 A 类和 B 类卡,而不是 Felica 卡。
由于 Felica 和 ISO/IEC 14443 卡都使用 13.56 MHz 频率作为载波,我认为这些类型之间的区别仅在于协议层。我对吗?如果是这样,Felica 卡传输协议的名称是什么? (对于 ISO/IEC 14443 张卡,我们有 T=1 和 T=CL 协议)。
配置reader后,我尝试向卡发送命令:
Connect successful.
Send: 00 A4 04 00 00
Recv: 6A 81
Time used: 31.000 ms
Send: 00 C0 00 00 00
Recv: 6A 81
Time used: 28.000 ms
Send: 00 CA 00 00 00
Recv: 6A 81
Time used: 35.000 ms
正如您在上面看到的,我只收到 0x6A81
状态词。
我还搜索了很多 ACS Reader 数据表、一些 NXP 应用说明以及肯定的 JIS X 6319-4 标准,以获取此类卡的命令列表。但我发现没有任何适用的。
所以,问题是:
- Felica到底是什么? (聪明?记忆?)
- Felica卡和ISO/IEC14443卡有什么区别?跟NFC有关系吗?
- 如何与此卡通信和传输数据?
更新:
我卡的 ATR 是:3b 8f 80 01 80 4f 0c a0 00 00 03 06 11 00 3b 00 00 00 00 42
What actually is Felica? (Smart? Memory?)
就功能而言,它更像是存储卡而不是智能卡。以块为单位读取数据对于存储卡来说是典型的,并且除了基于对称加密的基本身份验证之外,该卡的功能非常有限。
你可能会说它是一张智能卡,因为它的实现似乎带有 multi-purpose CPU(见附件 B)。
然而,似乎不可能像您所做的那样改变智能卡的行为。在全球平台 Java 卡中。所以我将其归类为具有专有协议的存储卡。
What is the difference between Felica cards and ISO/IEC14443 cards? Is it related to NFC?
它使用专有通信协议,包括数据 -link 层(您在这里询问)和 command/response 层。
How to communicate with this card and transfer data?
您发送 APDU 而不是 FeliCa 的专有命令/响应对这一事实表明您正在使用转换层。这个翻译层很可能在 reader / reader 驱动程序中。此转换层的 API 很可能在 PCSC 2.01 specifications 中指定(第 3.2.2.1 节存储卡功能支持,使用 CLA 字节 0xFF)。
您可能还需要 reader 的用户手册,如果只是想知道在哪个位置存储所需的密钥。