From 8efd0b80f2d11946b2fc0911cde939f9f93eb40f Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Sat, 5 Oct 2019 17:57:16 +0200 Subject: [PATCH] fix 'hf iclass sim' * fix tag response timing. iClass differs from ISO15693 in this respect. * speedup CodeIso15693AsTag() * TransmitTo15693Tag(): don't send unmodulated start of SOF * reduce modulation depth in hi_simulate.v * calculate CRC for configuration block when simulating * Show real response time instead of planned response time in 'hf list iclass' --- armsrc/iclass.c | 57 ++++++++++++++++++++++++++------------------- armsrc/iso15693.c | 41 ++++++++++++++++++-------------- armsrc/iso15693.h | 2 +- fpga/fpga_hf.bit | Bin 42175 -> 42175 bytes fpga/hi_simulate.v | 2 +- 5 files changed, 59 insertions(+), 43 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index d8f68c78..0e42fb06 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -59,6 +59,13 @@ static int timeout = 4096; +// iCLASS has a slightly different timing compared to ISO15693. According to the picopass data sheet the tag response is expected 330us after +// the reader command. This is measured from end of reader EOF to first modulation of the tag's SOF which starts with a 56,64us unmodulated period. +// 330us = 140 ssp_clk cycles @ 423,75kHz when simulating. +// 56,64us = 24 ssp_clk_cycles +#define DELAY_ICLASS_VCD_TO_VICC_SIM 140 +#define TAG_SOF_UNMODULATED 24 + //----------------------------------------------------------------------------- // The software UART that receives commands from the reader, and its state // variables. @@ -783,7 +790,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { State cipher_state_KC[8]; State cipher_state_KD[8]; State *cipher_state = &cipher_state_KD[0]; - + uint8_t *emulator = BigBuf_get_EM_addr(); uint8_t *csn = emulator; @@ -800,13 +807,12 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { AppendCrc(anticoll_data, 8); AppendCrc(csn_data, 8); - uint8_t diversified_key_d[8]; - uint8_t diversified_key_c[8]; + uint8_t diversified_key_d[8] = { 0x00 }; + uint8_t diversified_key_c[8] = { 0x00 }; uint8_t *diversified_key = diversified_key_d; - + // configuration block uint8_t conf_block[10] = {0x12, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xFF, 0x3C, 0x00, 0x00}; - AppendCrc(conf_block, 8); // e-Purse uint8_t card_challenge_data[8] = { 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; @@ -819,6 +825,8 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { memcpy(diversified_key_c, emulator + 8 * 4, 8); // Kc } + AppendCrc(conf_block, 8); + // save card challenge for sim2,4 attack if (reader_mac_buf != NULL) { memcpy(reader_mac_buf, card_challenge_data, 8); @@ -836,7 +844,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { // chip memory may be divided in 8 pages uint8_t max_page = conf_block[4] & 0x10 ? 0 : 7; - + // Precalculate the cipher states, feeding it the CC cipher_state_KD[0] = opt_doTagMAC_1(card_challenge_data, diversified_key_d); cipher_state_KC[0] = opt_doTagMAC_1(card_challenge_data, diversified_key_c); @@ -849,7 +857,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { cipher_state_KC[i] = opt_doTagMAC_1(epurse, Kc); } } - + int exitLoop = 0; // Reader 0a // Tag 0f @@ -1073,7 +1081,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { cipher_state = &cipher_state_KD[current_page]; diversified_key = diversified_key_d; } else { - cipher_state = &cipher_state_KC[current_page]; + cipher_state = &cipher_state_KC[current_page]; diversified_key = diversified_key_c; } modulated_response = resp_cc; @@ -1082,7 +1090,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { trace_data_size = sizeof(card_challenge_data); } - } else if ((receivedCmd[0] == ICLASS_CMD_CHECK_KC + } else if ((receivedCmd[0] == ICLASS_CMD_CHECK_KC || receivedCmd[0] == ICLASS_CMD_CHECK_KD) && len == 9) { // Reader random and reader MAC!!! if (chip_state == SELECTED) { @@ -1148,22 +1156,22 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { } else if (blockNo == 3) { // update Kd for (int i = 0; i < 8; i++) { if (personalization_mode) { - diversified_key_d[i] = receivedCmd[2 + i]; + diversified_key_d[i] = receivedCmd[2 + i]; } else { diversified_key_d[i] ^= receivedCmd[2 + i]; - } + } } - cipher_state_KD[current_page] = opt_doTagMAC_1(card_challenge_data, diversified_key_d); + cipher_state_KD[current_page] = opt_doTagMAC_1(card_challenge_data, diversified_key_d); if (simulationMode == ICLASS_SIM_MODE_FULL) { memcpy(emulator + current_page*page_size + 8*3, diversified_key_d, 8); } - } else if (blockNo == 4) { // update Kc + } else if (blockNo == 4) { // update Kc for (int i = 0; i < 8; i++) { if (personalization_mode) { - diversified_key_c[i] = receivedCmd[2 + i]; + diversified_key_c[i] = receivedCmd[2 + i]; } else { diversified_key_c[i] ^= receivedCmd[2 + i]; - } + } } cipher_state_KC[current_page] = opt_doTagMAC_1(card_challenge_data, diversified_key_c); if (simulationMode == ICLASS_SIM_MODE_FULL) { @@ -1171,7 +1179,7 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { } } else if (simulationMode == ICLASS_SIM_MODE_FULL) { // update any other data block memcpy(emulator + current_page*page_size + 8*blockNo, receivedCmd+2, 8); - } + } memcpy(data_generic_trace, receivedCmd + 2, 8); AppendCrc(data_generic_trace, 8); trace_data = data_generic_trace; @@ -1185,20 +1193,20 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { } else if (receivedCmd[0] == ICLASS_CMD_PAGESEL && len == 4) { // Pagesel // Chips with a single page will not answer to this command - // Otherwise, we should answer 8bytes (block) + 2bytes CRC + // Otherwise, we should answer 8bytes (conf block 1) + 2bytes CRC if (chip_state == SELECTED) { if (simulationMode == ICLASS_SIM_MODE_FULL && max_page > 0) { current_page = receivedCmd[1]; memcpy(data_generic_trace, emulator + current_page*page_size + 8*1, 8); memcpy(diversified_key_d, emulator + current_page*page_size + 8*3, 8); - memcpy(diversified_key_c, emulator + current_page*page_size + 8*4, 8); + memcpy(diversified_key_c, emulator + current_page*page_size + 8*4, 8); cipher_state = &cipher_state_KD[current_page]; personalization_mode = data_generic_trace[7] & 0x80; AppendCrc(data_generic_trace, 8); trace_data = data_generic_trace; trace_data_size = 10; CodeIso15693AsTag(trace_data, trace_data_size); - memcpy(data_response, ToSend, ToSendMax); + memcpy(data_response, ToSend, ToSendMax); modulated_response = data_response; modulated_response_size = ToSendMax; } @@ -1219,11 +1227,11 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { } /** - A legit tag has about 311,5us delay between reader EOT and tag SOF. + A legit tag has about 273,4us delay between reader EOT and tag SOF. **/ if (modulated_response_size > 0) { - uint32_t response_time = reader_eof_time + DELAY_ISO15693_VCD_TO_VICC_SIM - DELAY_ARM_TO_READER_SIM; - TransmitTo15693Reader(modulated_response, modulated_response_size, response_time, false); + uint32_t response_time = reader_eof_time + DELAY_ICLASS_VCD_TO_VICC_SIM - TAG_SOF_UNMODULATED - DELAY_ARM_TO_READER_SIM; + TransmitTo15693Reader(modulated_response, modulated_response_size, &response_time, 0, false); LogTrace(trace_data, trace_data_size, response_time + DELAY_ARM_TO_READER_SIM, response_time + (modulated_response_size << 6) + DELAY_ARM_TO_READER_SIM, NULL, false); } @@ -1249,9 +1257,9 @@ int doIClassSimulation(int simulationMode, uint8_t *reader_mac_buf) { * @param datain */ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain) { - + LED_A_ON(); - + uint32_t simType = arg0; uint32_t numberOfCSNS = arg1; @@ -1559,6 +1567,7 @@ static uint8_t handshakeIclassTag_ext(uint8_t *card_data, bool use_credit_key) { ReaderTransmitIClass(act_all, 1); // Card present? if (!ReaderReceiveIClass(resp)) return read_status;//Fail + //Send Identify ReaderTransmitIClass(identify, 1); //We expect a 10-byte response here, 8 byte anticollision-CSN and 2 byte CRC diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index dbc1ca4c..85af0859 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -246,6 +246,8 @@ static void CodeIso15693AsReader256(uint8_t *cmd, int n) // } // } +static const uint8_t encode_4bits[16] = { 0xaa, 0x6a, 0x9a, 0x5a, 0xa6, 0x66, 0x96, 0x56, 0xa9, 0x69, 0x99, 0x59, 0xa5, 0x65, 0x95, 0x55 }; + void CodeIso15693AsTag(uint8_t *cmd, size_t len) { /* * SOF comprises 3 parts; @@ -280,16 +282,9 @@ void CodeIso15693AsTag(uint8_t *cmd, size_t len) { ToSend[++ToSendMax] = 0x1D; // 00011101 // data - for(int i = 0; i < len; i++) { - for(int j = 0; j < 8; j++) { - if ((cmd[i] >> j) & 0x01) { - ToSendStuffBit(0); - ToSendStuffBit(1); - } else { - ToSendStuffBit(1); - ToSendStuffBit(0); - } - } + for (int i = 0; i < len; i++) { + ToSend[++ToSendMax] = encode_4bits[cmd[i] & 0xF]; + ToSend[++ToSendMax] = encode_4bits[cmd[i] >> 4]; } // EOF @@ -327,19 +322,32 @@ static void TransmitTo15693Tag(const uint8_t *cmd, int len, uint32_t start_time) //----------------------------------------------------------------------------- // Transmit the tag response (to the reader) that was placed in cmd[]. //----------------------------------------------------------------------------- -void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t start_time, bool slow) { +void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t *start_time, uint32_t slot_time, bool slow) { // don't use the FPGA_HF_SIMULATOR_MODULATE_424K_8BIT minor mode. It would spoil GetCountSspClk() FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_424K); - uint8_t shift_delay = start_time & 0x00000007; + uint32_t modulation_start_time = *start_time + 3 * 8; // no need to transfer the unmodulated start of SOF + + while (GetCountSspClk() > (modulation_start_time & 0xfffffff8) + 3) { // we will miss the intended time + if (slot_time) { + modulation_start_time += slot_time; // use next available slot + } else { + modulation_start_time = (modulation_start_time & 0xfffffff8) + 8; // next possible time + } + } + + while (GetCountSspClk() < (modulation_start_time & 0xfffffff8)) + /* wait */ ; - while (GetCountSspClk() < (start_time & 0xfffffff8)) ; + uint8_t shift_delay = modulation_start_time & 0x00000007; + + *start_time = modulation_start_time - 3 * 8; LED_C_ON(); uint8_t bits_to_shift = 0x00; uint8_t bits_to_send = 0x00; - for(size_t c = 0; c < len; c++) { - for (int i = 7; i >= 0; i--) { + for (size_t c = 0; c < len; c++) { + for (int i = (c==0?4:7); i >= 0; i--) { uint8_t cmd_bits = ((cmd[c] >> i) & 0x01) ? 0xff : 0x00; for (int j = 0; j < (slow?4:1); ) { if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { @@ -361,7 +369,6 @@ void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t start_time, } } LED_C_OFF(); - } @@ -1529,7 +1536,7 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) if ((cmd_len >= 5) && (cmd[0] & ISO15693_REQ_INVENTORY) && (cmd[1] == ISO15693_INVENTORY)) { // TODO: check more flags bool slow = !(cmd[0] & ISO15693_REQ_DATARATE_HIGH); start_time = eof_time + DELAY_ISO15693_VCD_TO_VICC_SIM - DELAY_ARM_TO_READER_SIM; - TransmitTo15693Reader(ToSend, ToSendMax, start_time, slow); + TransmitTo15693Reader(ToSend, ToSendMax, &start_time, 0, slow); } Dbprintf("%d bytes read from reader:", cmd_len); diff --git a/armsrc/iso15693.h b/armsrc/iso15693.h index 7964d79e..7d2e7598 100644 --- a/armsrc/iso15693.h +++ b/armsrc/iso15693.h @@ -26,7 +26,7 @@ void CodeIso15693AsTag(uint8_t *cmd, size_t len); int GetIso15693CommandFromReader(uint8_t *received, size_t max_len, uint32_t *eof_time); -void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t start_time, bool slow); +void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t *start_time, uint32_t slot_time, bool slow); void SnoopIso15693(void); void AcquireRawAdcSamplesIso15693(void); void ReaderIso15693(uint32_t parameter); diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 1bd3c416fe728c26ee204ede9bc882c8f87486c8..44b2428040ab74e66878d78bf7cc7a79ee3c7266 100644 GIT binary patch literal 42175 zcma&Pe|%Kcoj?4Ub8q6!+)3t=1UD+`%_QJ}lQ2v$B8JH!r0!H{nYMnvFSgrfpV3k` z+qK=)^|cT6yHEFI5@1LojFh%%m-@PdXrra=5I}xN^@33c2r}|@U9_&f&`6`AjTUWy zAkX{EBs1}k@AKN(KlV7B+&Sl-^ZC3#@Av0(PN~E@p8G!{*L_s+K>Od{_kXuNP}lz8 zec$}nn)>g4a}C{3?$AFs1pnoGi-JM=Ch4KzqB|BY3N8#b(i$pR)VOrf9ZN$&`WDeZ z`&E3N{^|dCAV|VRMArmeG5Pn1 z`lurNFaM1`F7|(VM)v#MbN)Mh{u{sb-x_np|KE7j>_2{HP>ibRTDnG%Lu=`JDkhhp zHR8HhaaHrMEj!so<8*==sBAJY$MMBXm1g(|VBFWglUTxq3unP!nt(CG7g( z-67_qgz$Y^TM#$ZpzM<&mJHbrq_V}n|J8M^C@;Nm7ed@MDOWZ<2rG6!AOJTNZFXOA9Kcs8&4U>M2P03Y8;xNP*uQEdW~azh&+~(R883@ zUF4=XH}9(2&)yRUP2Xy*iv`4+!bh6LLd0bsr-)OBX}Yw|mSdE7e74_Y z`?1CFFqWJxtz~c19`O%mVl6A@k0q)dt&M59=R`DOwvp2O^OO-9H}(sUS|eKj zw<{B_~tXpIKNunJm7WyK2sc%eFlrtbd18}F;bA+Swf1OLb@zzlGJYY%Ru4<=(SRL$prRnc5_~ z7GthUVW@vc8{*X#8smm3e=AaXB-YUvIOpHbJbd?fz^MwxPl!&JDYQX6C%f)rvwzB7 zq2{FK+^~c`BcJW6Gu6Z$(HhL6hN4C}+%Z9@aJs#l|e8aV*&T_vc)HSq`d{J#1yM+$)nfNDmj&1Dl$%bhd z@;OySwdm8&{Ye%u52(H(RSW# zFg8m*hW3}RTyUMX%Zz>nCUdxtm zep4BxixlRinVNIO?eaNQMWe8i|GVg#62l=ewP}!$539%t=AI6rUccKZZcC# zz_c{c;;@9;FRBE4B{z4iXc#LP;5P)BDwi^*1=%odCqLJW;v+fxs+v8(d(3*S8?e)j zv+!EB`bODCa{=BDy_8!EtMV7(C=cK3?bB<`qdXK1Jccp9OG~5vJ~o!KFF$Q!m_^L{ zGi8*0L~|bS?pKEC&$O6(f2thI*_YqgVWiEF<`FAQV*;BgAQUH-rjUWg-8uX6t9TN> zwO@1C^|9v?HA$G&CAHh!A@EIiZY}&pUzRpFUa~murQMpD!MskgjyMT4x~J`HHf<1o zr$p}OXQgQTD0`LtC+!vfkJ*CUdnVcn8>}{T&L(NSQGFPFqHG^o z$&&UsT!tJ^ta5}pd9AINvBM;|C3KD1^g|l3N|rD!x9)?pchU<+=vAzRbF3p8vb_VH zZS*Yd8Y)?NCRK?KH? zL3Yw?5ZXAS)}S0uhx#CG6bq{E>1{blJx9!kw0?G+I>pmMOEHTZvX3ZgF}sCN(>vH1 zD$(XSnkfH}ddMf-=#yIujfizHzpYb?tpOBxAF;I3Nq%vCip8@qjm6+}Tn&*|RP1!Y zUDzv=D=a$BLZW_L5jp#^Zj_F&nY^|#P8VFcM%7=aS(J_|V>$Z*ehHw}vA`)M6(6x1 z%&yFia?e$<%<)`M5Hw`RY`ic>vugcWZ7;KO?>SMF=E7Bb z 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