#L401-L489)中可以看到 mifare_desfire 的认证方法调用了 mifare_desfire_session_key_new 函数(https://github.com/nfc-tools /libfreefare/blob/master/libfreefare/mifare_desfire_key.c#L171-L210)来生成 session_key 作为加密密钥,同时通过 pm3 的源码 ; //设置初始化向量 free(MIFARE_DESFIRE(tag)->session_key); //重置一些标签的属性,包括认证状态、会话密钥等 MIFARE_DESFIRE(tag )->session_key = NULL; MIFARE_DESFIRE(tag)->authentication_scheme = (AUTHENTICATE_LEGACY == cmd) (tag)->authenticated_key_no = key_no; MIFARE_DESFIRE(tag)->session_key = mifare_desfire_session_key_new
; //设置初始化向量 free(MIFARE_DESFIRE(tag)->session_key); //重置一些标签的属性,包括认证状态、会话密钥等 MIFARE_DESFIRE(tag )->session_key = NULL; MIFARE_DESFIRE(tag)->authentication_scheme = (AUTHENTICATE_LEGACY == cmd) ); //将PCD随机数和PICC随机数拼接起来 //下面对拼起来的随机数进行了加密操作 mifare_cypher_blocks_chained(tag, key, MIFARE_DESFIRE (tag)->authenticated_key_no = key_no; MIFARE_DESFIRE(tag)->session_key = mifare_desfire_session_key_new ); switch (MIFARE_DESFIRE(tag)->authentication_scheme) { case AS_LEGACY: break; case AS_NEW
休眠电流:<80UA峰值电流:<30mA工作频率:13.56MHz支持的卡类型:mifare1 S50.mifare1 S70.mifare UltraLight mifare Pro mifare Desfire
常见的NFC标签类型(如NTAG213, Mifare Classic, DesFire等)就是基于不同的协议和存储容量划分的。
0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire 0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire
0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire 0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire
0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire
/ 0x0400 = Mifare_One(S50) // 0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire
Mifare_UltraLight * 0x0400:Mifare_One(S50) * 0x0200:Mifare_One(S70) * 0x0800:Mifare_Pro(X) * 0x4403:Mifare_DESFire
0x0200,Mifare_One(S70) * = 0x0800,Mifare_Pro(X)) * = 0x4403,Mifare_DESFire
Mifare 是 NXP 公司生产的一系列遵守 ISO14443A 标准的射频卡,包括 Mifare S50、Mifare S70、Mifare UltraLight、Mifare Pro、Mifare Desfire
/ 0x0400 = Mifare_One(S50) // 0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire
Mifare_UltraLight * = 0x0400,Mifare_One(S50) * = 0x0200,Mifare_One(S70) * = 0x0800,Mifare_Pro(X)) * = 0x4403,Mifare_DESFire
Mifare_UltraLight * = 0x0400,Mifare_One(S50) * = 0x0200,Mifare_One(S70) * = 0x0800,Mifare_Pro(X)) * = 0x4403,Mifare_DESFire
0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire
= 0x0200,Mifare_One(S70) = 0x0800,Mifare_Pro(X)) = 0x4403,Mifare_DESFire
Mifare_UltraLight * = 0x0400:Mifare_One(S50) * = 0x0200:Mifare_One(S70) * = 0x0800:Mifare_Pro(X)) * = 0x4403:Mifare_DESFire
Mifare_UltraLight * = 0x0400,Mifare_One(S50) * = 0x0200,Mifare_One(S70) * = 0x0800,Mifare_Pro(X)) * = 0x4403,Mifare_DESFire
Mifare_UltraLight * = 0x0400,Mifare_One(S50) * = 0x0200,Mifare_One(S70) * = 0x0800,Mifare_Pro(X)) * = 0x4403,Mifare_DESFire
4)Mifare DESFire 4k(MF3 IC D41/D40):国内常称为MF3。典型应用:南京地铁。 5)SHC1102:上海华虹生产。典型应用:上海一卡通。