Hi,
I am using the ACS ACR1552U NFC USB reader to read the originality signature from NTAG213 tags. The reading of the data is successful but the actual signature data does not appear to be correct. I'll try to explain in more detail.
Firstly, please note that I have confirmed my signature verification should be correct as per the following post: Demo for Originality Signature Verification - NXP Community. This was checked by executing the example ECDSA verification algorithm against other known NTAG213 UIDs and signatures, e.g.:
ChiChi_0-1718627312134.png
For my specific setup, I'm using an ACS ACR1552U NFC USB reader which works nicely for reading/writing from/to the manufacturing data, user memory data, and the dynamic lock bytes. I used the following ACR1552U commands for general read/write, respectively:
ChiChi_1-1718627788141.png
ChiChi_2-1718627828289.png
As for reading the originality signature, this was slightly more complicated. I had to use the Transparent Exchange command to passthrough the READ_SIG command to the NTAG213, as shown below.
Transparent Exchange command (ACR1552U):
ChiChi_0-1718623088322.png
ChiChi_1-1718623161717.png
ChiChi_2-1718623194456.png
READ_SIG command (NTAG213):
ChiChi_3-1718623270431.png
The combined PDU is as follows (for a C# implementation):
ChiChi_3-1718628203564.png
When the above method is called, the following 36 signature bytes (for a tag with UID 04-90-EB-42-97-12-90) was returned (in hexadecimal format):
C0-03-00-90-00-14-82-90-33-A7-18-1A-B2-CF-59-4D-03-BC-D1-22-81-A9-BA-D5-73-14-33-90-46-88-BE-7B-41-5D-90-00
I was expecting 32 bytes, possibly with a couple of response codes at the end but the ACR1552U datasheet does not make this clear.
Anyhow, I tried to verify the above signature using the first 32 bytes and the result was a fail. I tried again by dropping the first byte (e.g. 0xC0) and verifying the next 32 bytes but the result was also a fail. I repeated this until the last 32 bytes remained. In all cases, the verification result was a fail.
Hoping someone here can spot my mistake and point me in the right direction. All feedback appreciated.
Thank you in advance,
Chi