Authentication 使用PN532的Mifare Ultralight C的身份验证过程

Authentication 使用PN532的Mifare Ultralight C的身份验证过程,authentication,nfc,rfid,mifare,Authentication,Nfc,Rfid,Mifare,我们知道Mifare Ultralight C的身份验证过程,但无法使用PN532芯片进行身份验证。我们按照命令集中所示的步骤进行操作,但无法得到准确的结果。我们需要一些帮助来完成Mifare Ultralight C的身份验证过程。请给出一些建议,否则任何使用此卡的人都可以提供帮助 发现标记并获取UID 生成RndA并构建RndA | | RndB': RndA = 74 bd 85 75 7b d2 8b 77 RndA || RndB' = 74 bd 85 75 7b

我们知道Mifare Ultralight C的身份验证过程,但无法使用PN532芯片进行身份验证。我们按照命令集中所示的步骤进行操作,但无法得到准确的结果。我们需要一些帮助来完成Mifare Ultralight C的身份验证过程。请给出一些建议,否则任何使用此卡的人都可以提供帮助

发现标记并获取UID 生成RndA并构建RndA | | RndB':

RndA =          74 bd 85 75 7b d2 8b 77
RndA || RndB' = 74 bd 85 75 7b d2 8b 77   04 f4 00 d1 13 bd ef d1
IV = 22F5EC57197F4472
encrypt(RndA || RndB') = 98 70 67 11 40 8F 73 B1 1C 11 15 6A 30 47 ED 58
加密RndA | | RndB':

RndA =          74 bd 85 75 7b d2 8b 77
RndA || RndB' = 74 bd 85 75 7b d2 8b 77   04 f4 00 d1 13 bd ef d1
IV = 22F5EC57197F4472
encrypt(RndA || RndB') = 98 70 67 11 40 8F 73 B1 1C 11 15 6A 30 47 ED 58
第二个身份验证步骤(Auth1) 现在,我们必须使用AFh Mifare Ultralight C命令将此
加密(RndA | | RndB')
传递给卡,如下所示:

Command: 00 00 FF 13 ED D4 42 AF 98 70 67 11 40 8F 73 B1 1C 11 15 6A 30 47 ED 58 60 00 Response: 00 00 ff 03 fd d5 43 01 e7 00 命令:00 00 FF 13 ED D4 42 AF 98 70 67 11 40 8F 73 B1 1C 11 15 6A 30 47 ED 58 60 00 答复:00 00 ff 03 fd d5 43 01 e7 00
这将导致错误代码01h。

问题在于您将RndB旋转到错误的方向。如果您有一个像这样的RndB

RndB = decrypt(enc(RndB)) = d1 f4 00 d1 13 bd ef 04 RndB=解密(enc(RndB))=d1 f4 00 d1 13 bd ef 04 那么RndB’应该是

RndB' = rotate_left(RndB) = f4 00 d1 13 bd ef 04 d1
RndB'=向左旋转(RndB)=f4 00 d1 13 bd ef 04 d1问题在于您将RndB旋转到错误的方向。如果您有一个像这样的RndB

RndB = decrypt(enc(RndB)) = d1 f4 00 d1 13 bd ef 04 RndB=解密(enc(RndB))=d1 f4 00 d1 13 bd ef 04 那么RndB’应该是

RndB' = rotate_left(RndB) = f4 00 d1 13 bd ef 04 d1
RndB'=向左旋转(RndB)=f4 00 d1 13 bd ef 04 D11步骤UID:00 00 FF 05 FB D4 60 01 01 00 CA 00回答:嗨,罗兰,我编辑了主要问题本身,请检查并给我任何建议。1步骤UID:00 00 FF 05 FB D4 60 01 01 00 CA 00回答:嗨,罗兰,我编辑了主要问题本身,请检查,并请给我任何建议。我正在使用以下APDU,to(Auth0):FF00000004D4421A00,但接收:D543019000,直到我尝试4到5次,然后成功,你能帮我解决这个问题吗?@FaizanRabbani:响应中的第三个字节是“状态”字节,0x01代表“超时”。关于PN532用户手册()第7节的详细信息,我正在使用以下APDU,to(Auth0):FF00000004D4421A00,但收到:D543019000,直到我尝试4到5次,然后它成功,你能帮我解决这个问题吗?@FaizanRabbani:响应中的第三个字节是“状态”字节,0x01代表“超时”。详见PN532用户手册第7节()