编程PC/SC读卡器时的ATR命令

STe*_*TeN 6 smartcard nfc pcsc smartcard-reader mifare

我已经检查了MIFARE Ultralight和TOPAZ/Jewel IC标签的编程接口.API很好地描述了如何在卡上保存字节,如何寻址存储器块,如何进行所有操作,如读取,读取,使用OTP(一次性可编程)功能,如何读取ROM字节,如何从空闲切换到就绪状态(REQA,WUPA命令),它表示命令是否受CRC保护,如何访问标签UID等.

当我开始编程NFC阅读器(ACR122U或SCL010)时,我发现PCD(阅读器)和PICC(标签)之间的所有通信都是从ATR(应答复位)命令开始的,这是在Internet上所描述的命令PCD发送给PICC用于识别目的.

但是没有一个标签文档提到ATR命令 - 所有与标签通信时的通信(PQR)都以REQA,WUPA命令开始,以便将卡切换到就绪模式.

我的理解是ATR是由PC/SC基于读卡器与之通信的NFC卡构建的.一旦读者检测到基于它的标签是什么类型的技术,就会创建ATR.另外根据文档,针对不同NFC读取器的ATR对于相同的NFC标签是不同的.

我对吗?PC/SC是否构建了ATR?

BR STeN

小智 15

简短回答:

  • 您对PCSC阅读器生成的ATR是正确的
  • 无论非接触式卡的读者如何,我认为ATR将保持不变

答案很长:

ATR用于接触卡,在ISO 7816中规定.对于无接触卡,它是生成ATR的PC/SC读卡器(IFD).

ATR的构建基于:

  • ISO 14443 A型卡的ATS(选择答案)
  • ISO 14443 B类卡的ATQB和ATTRIB字节

ATR的形式为3B 8X 80 01 HB_ATS Parity_Byte,其中X是ATS历史字节(HB_ATS)的字节数.

非接触式卡的ATR的确切结构在PC/SC规范的3.1.3.2.3节中给出.

鉴于唯一的变量是ATS,无论读者如何,它都应该是相同的.

--sid

  • +1那么你能告诉我什么是确切的ATR命令吗?在十六进制格式,一直徘徊,但没有交易:( (2认同)