繁体   English   中英

使用NXP SDK高级的mifare plus卡中的身份验证错误

[英]authentication error in mifare plus card using nxp sdk advanced

对于加号卡的身份验证,我正在使用nxp javadoc中提供的以下方法签名

public void authenticateSL3(boolean firstAuth,
               int blockNo,
               int keyNo,
               byte keyVersion,
               byte[] divInput,
               byte[] pcdCap2In) 

参数:

firstAuth - false: Following Authentication; true: First Authentication
blockNo - address of the AES authentication key. please check the MIFARE Plus datasheet for the sector AES key addresses.
keyNo - Key Storage number
keyVersion - Key Version number
divInput - Diversification Input used to diversify the key
pcdCap2In - Capabilities of PCD, which define what PCD is capable to do.(00H to 06H)

javadoc链接

https://www.mifare.net/files/advanced_javadoc/

例如

byte[] divInput = null;

byte[] pcdCap2In = new byte[0];

objMfPlusNfcCard.authenticateSL3(true, block_no, 3, (byte) 0, divInput,
                pcdCap2In); 

在上述方法中,第三参数值(3)和第四参数值((byte)0)因此是AES_key的索引和AES_key的版本,如下所示在keystore对象中添加

private IKeyStore ks= KeyStoreFactory.getInstance().getSoftwareKeyStore(); 

ks.formatKeyEntry(3, IKeyConstants.KeyType.KEYSTORE_KEY_TYPE_AES128); 

ks.setKey(3, (byte) 0,IKeyConstants.KeyType.KEYSTORE_KEY_TYPE_AES128, MIFARE_PLUS_KEY_AES128); 

我在弄清楚objMfPlusNfcCard.authenticateSL3方法中的block_no参数值可能会objMfPlusNfcCard.authenticateSL3

我还在MIFARE Plus数据表中对该行业进行了AES密钥地址的搜索,但未找到任何此类信息。

以下提供的MIFARE Plus数据表链接

http://www.nxp.com/documents/short_data_sheet/MF1SPLUSX0Y1_SDS.pdf

我尝试使用First Authenticate命令激活安全级别3时遇到了同样的问题。 我知道需要发送到MF Plus卡的命令的最终结果是“ 70 03 90 00”(十六进制)。 因此,反复试验使我找到了解决方案:

byte[] divInput = null;
byte[] pcdCap2In = new byte[0];

objMfPlusNfcCard.authenticateSL3(true, 0x9003, 3, (byte) 0, divInput, pcdCap2In);

因此,对我来说,块号实际上是“安全级别3切换密钥”的扇区号。 否则,将遵循上述方法:

AES Sector Keys for sector 0 to 39 (40 00h to 40 4Fh)
  Key A = sector number multiplied by 2
  Key B = sector number multiplied by 2 +1
  E.g. Key A for sector 2 has number: 40 04

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM