AndyQ / NFCPassportReader

NFCPassportReader for iOS 13
MIT License
733 stars 235 forks source link

DO99 Fatal error: Array index is out of range #86

Closed andycg0327 closed 3 years ago

andycg0327 commented 3 years ago

SecureMessaging.swift Line 117: Fatal error: Array index is out of range

Happened at iPhone12 (14.2.1). Sometimes iPhone XR (14.2) also happened.

AndyQ commented 3 years ago

Could you provide some more logs - you can change the log level passed into the PassportReader.

Thanks

andycg0327 commented 3 years ago

Starting Basic Access Control (BAC) Calculate the SHA-1 hash of MRZ_information Hsha1(MRZ_information): 357423084252D8C51BD9676608E98A87485CA377 Take the most significant 16 bytes to form the Kseed Kseed: 357423084252D8C51BD9676608E98A87 Calculate the Basic Acces Keys (Kenc and Kmac) using Appendix 5.1 Compute Encryption key (c: 00000001 Concatenate Kseed and c D: 357423084252D8C51BD9676608E98A8700000001 Calculate the SHA-1 hash of D Hsha1(D): CA1D2A2AC47883444B5DA0271084F75000943300 Form keys Ka and Kb Ka: CA1D2A2AC4788344 Kb: 4B5DA0271084F750 Adjust parity bits Ka: CB1C2A2AC4798345 Kb: 4A5DA1261085F751 Compute MAC Computation key (c: 00000002 Concatenate Kseed and c D: 357423084252D8C51BD9676608E98A8700000002 Calculate the SHA-1 hash of D Hsha1(D): 2772972C66000964E89A2F7D71CEEF7FC4E0A348 Form keys Ka and Kb Ka: 2772972C66000964 Kb: E89A2F7D71CEEF7F Adjust parity bits Ka: 2673972C67010864 Kb: E99B2F7C70CEEF7F DATA - [182, 66, 184, 78, 108, 106, 1, 117] Request an 8 byte random number from the MRTD's chip RND.ICC: B642B84E6C6A0175 Generate an 8 byte random and a 16 byte random RND.IFD: 95CCB86F736028B3 RND.Kifd: 1D70ED9248CE477817E6DF8F85ABDE05 Concatenate RND.IFD, RND.ICC and Kifd S: 95CCB86F736028B3B642B84E6C6A01751D70ED9248CE477817E6DF8F85ABDE05 Encrypt S with TDES key Kenc as calculated in Appendix 5.2 Eifd: 79B1A52CE212BD898DDAF3965454BAD6DFCAD63E32DE01A4D84093A236E781A5 x0: 79B1A52CE212BD89 y0: 4A194433E3FCB23F x1: 8DDAF3965454BAD6 y1: 348FE6FA31AB2728 x2: DFCAD63E32DE01A4 y2: E1ADEC574426DF0E x3: D84093A236E781A5 y3: 4DE27666DE84729B x4: 8000000000000000 y4: C9DA4A7E55D96E88 y: C9DA4A7E55D96E88 bkey: E99B2F7C70CEEF7F akey: 2673972C67010864 b: 85B102635071C1E9 a: E9E449DC9F07EC45 Compute MAC over eifd with TDES key Kmac as calculated in-Appendix 5.2 Mifd: E9E449DC9F07EC45 Construct command data for MUTUAL AUTHENTICATE cmd_data: 79B1A52CE212BD898DDAF3965454BAD6DFCAD63E32DE01A4D84093A236E781A5E9E449DC9F07EC45 DATA - [213, 210, 180, 153, 190, 169, 243, 117, 236, 131, 73, 190, 166, 198, 177, 31, 16, 93, 219, 48, 42, 33, 105, 116, 196, 187, 199, 56, 232, 191, 170, 29, 87, 40, 186, 183, 174, 176, 151, 94] Decrypt and verify received data and compare received RND.IFD with generated RND.IFD 2673972C67010864E99B2F7C70CEEF7F Calculate XOR of Kifd and Kicc Kseed: 1FD252588C4E7F006E02D662D405F988 Concatenate Kseed and c D: 1FD252588C4E7F006E02D662D405F98800000001 Calculate the SHA-1 hash of D Hsha1(D): C9605E2B26627888E939C8D79729322A9B498E08 Form keys Ka and Kb Ka: C9605E2B26627888 Kb: E939C8D79729322A Adjust parity bits Ka: C8615E2A26627989 Kb: E938C8D69729322A Concatenate Kseed and c D: 1FD252588C4E7F006E02D662D405F98800000002 Calculate the SHA-1 hash of D Hsha1(D): FC4BC70406EB4854E738769E349912483B6C5B73 Form keys Ka and Kb Ka: FC4BC70406EB4854 Kb: E738769E34991248 Adjust parity bits Ka: FD4AC70407EA4954 Kb: E638769E34981349 Calculate Session Keys (KSenc and KSmac) using Appendix 5.1 KSenc: C8615E2A26627989E938C8D69729322A KSmac: FD4AC70407EA4954E638769E34981349 Calculate Send Sequence Counter SSC: 6C6A0175736028B3 BAC Successful Reading tag - COM 2020-12-25 10:57:55.585243+0800 TWFidODemo[1328:1186334] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Mask class byte and pad command header CmdHeader: 0CA4020C80000000 Pad data Data: 011E800000000000 Encrypt data with KSenc EncryptedData: F34FF6088223BB2C Build DO'87 DO87: 870901F34FF6088223BB2C Concatenate CmdHeader and DO87 M: 0CA4020C80000000870901F34FF6088223BB2C SSC: 6C6A0175736028B3 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028B4 Concatenate SSC and M and add padding N: 6C6A0175736028B40CA4020C80000000870901F34FF6088223BB2C8000000000 x0: 6C6A0175736028B4 y0: 5A7EF23988C23920 x1: 0CA4020C80000000 y1: F2A7D79263A150A4 x2: 870901F34FF60882 y2: BD2265A0FDDEE37B x3: 23BB2C8000000000 y3: E2D427973765102F y: E2D427973765102F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: BCBE2577DF6C2A25 a: 81168B95F64838C7 Compute MAC over N with KSmac CC: 81168B95F64838C7 Build DO'8E DO8E: 8E0881168B95F64838C7 Construct and send protected APDU ProtectedAPDU: 0CA4020C15870901F34FF6088223BB2C8E0881168B95F64838C700 [SM] [0x0C, 0xA4, 0x02, 0x0C, 0x15, 0x87, 0x09, 0x01, 0xF3, 0x4F, 0xF6, 0x08, 0x82, 0x23, 0xBB, 0x2C, 0x8E, 0x08, 0x81, 0x16, 0x8B, 0x95, 0xF6, 0x48, 0x38, 0xC7, 0x00] Receive response APDU of MRTD's chip RAPDU: 990290008E0854ED2305599BA7889000 Verify RAPDU CC by computing MAC of DO'99 SSC: 6C6A0175736028B4 Increment SSC with 1 SSC: 6C6A0175736028B5 Concatenate SSC and DO'99 and add padding K: 6C6A0175736028B59902900080000000 Compute MAC with KSmac x0: 6C6A0175736028B5 y0: 81C2A319F2E0C167 x1: 9902900080000000 y1: 4733E350CFDB7EE4 y: 4733E350CFDB7EE4 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 2679E3425D835143 a: 54ED2305599BA788 CC: 54ED2305599BA788 Compare CC with data of DO'8E of RAPDU 54ED2305599BA788 == 54ED2305599BA788 ? true Unprotected APDU: [] 90 00 Mask class byte and pad command header CmdHeader: 0CB0000080000000 Build DO'97 DO97: [151, 1, 4] Concatenate CmdHeader and DO97 M: 0CB0000080000000970104 SSC: 6C6A0175736028B5 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028B6 Concatenate SSC and M and add padding N: 6C6A0175736028B60CB00000800000009701048000000000 x0: 6C6A0175736028B6 y0: FDEA592F63EB219A x1: 0CB0000080000000 y1: CC2C8834D2FB77E7 x2: 9701048000000000 y2: 1B027B66E49A9223 y: 1B027B66E49A9223 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 792DD64695F6EE51 a: 1619D4C87D223D7A Compute MAC over N with KSmac CC: 1619D4C87D223D7A Build DO'8E DO8E: 8E081619D4C87D223D7A Construct and send protected APDU ProtectedAPDU: 0CB000000D9701048E081619D4C87D223D7A00 [SM] [0x0C, 0xB0, 0x00, 0x00, 0x0D, 0x97, 0x01, 0x04, 0x8E, 0x08, 0x16, 0x19, 0xD4, 0xC8, 0x7D, 0x22, 0x3D, 0x7A, 0x00] Receive response APDU of MRTD's chip RAPDU: 870901D8363559836E2659990290008E08B03F4A3736B990689000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028B6 Increment SSC with 1 SSC: 6C6A0175736028B7 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028B7870901D8363559836E26599902900080 Compute MAC with KSmac x0: 6C6A0175736028B7 y0: 1865EA6E0D46D4ED x1: 870901D836355983 y1: BAA9EB23E81D22C8 x2: 6E26599902900080 y2: 34F553A592F3898A y: 34F553A592F3898A bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 4CB385DB5EF42ADA a: B03F4A3736B99068 CC: B03F4A3736B99068 Compare CC with data of DO'8E of RAPDU B03F4A3736B99068 == B03F4A3736B99068 ? true Decrypt data of DO'87 with KSenc DecryptedData: 60175F01 Unprotected APDU: [60175F01] 90 00 Amount of data to read - 23 2020-12-25 10:57:55.620169+0800 TWFidODemo[1328:1186334] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 23 Mask class byte and pad command header CmdHeader: 0CB0000280000000 Build DO'97 DO97: [151, 1, 23] Concatenate CmdHeader and DO97 M: 0CB0000280000000970117 SSC: 6C6A0175736028B7 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028B8 Concatenate SSC and M and add padding N: 6C6A0175736028B80CB00002800000009701178000000000 x0: 6C6A0175736028B8 y0: D0EBF91D9DFFF290 x1: 0CB0000280000000 y1: 483E09315A08D27F x2: 9701178000000000 y2: 72F7ED142E8F961D y: 72F7ED142E8F961D bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 80FBADAFE9E0E239 a: 4BC9F844C06FACF6 Compute MAC over N with KSmac CC: 4BC9F844C06FACF6 Build DO'8E DO8E: 8E084BC9F844C06FACF6 Construct and send protected APDU ProtectedAPDU: 0CB000020D9701178E084BC9F844C06FACF600 [SM] [0x0C, 0xB0, 0x00, 0x02, 0x0D, 0x97, 0x01, 0x17, 0x8E, 0x08, 0x4B, 0xC9, 0xF8, 0x44, 0xC0, 0x6F, 0xAC, 0xF6, 0x00] Receive response APDU of MRTD's chip RAPDU: 8719013B847DE8469A2F2C50EB85A6BA58E405A8B7104EEA8EC799990290008E087394DB82042A9BCA9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028B8 Increment SSC with 1 SSC: 6C6A0175736028B9 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028B98719013B847DE8469A2F2C50EB85A6BA58E405A8B7104EEA8EC7999902900080 Compute MAC with KSmac x0: 6C6A0175736028B9 y0: 3A2682B759AEA210 x1: 8719013B847DE846 y1: 89FDECE3232BB248 x2: 9A2F2C50EB85A6BA y2: 3694FB7C866695C2 x3: 58E405A8B7104EEA y3: 3ACAC9B0062945FF x4: 8EC7999902900080 y4: B2660DEB237EF1A4 y: B2660DEB237EF1A4 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1C2E412389763A01 a: 7394DB82042A9BCA CC: 7394DB82042A9BCA Compare CC with data of DO'8E of RAPDU 7394DB82042A9BCA == 7394DB82042A9BCA ? true Decrypt data of DO'87 with KSenc DecryptedData: 5F0104303130375F36063034303030305C0561756B6C6D Unprotected APDU: [5F0104303130375F36063034303030305C0561756B6C6D] 90 00 got resp - ResponseAPDU(data: [95, 1, 4, 48, 49, 48, 55, 95, 54, 6, 48, 52, 48, 48, 48, 48, 92, 5, 97, 117, 107, 108, 109], sw1: 144, sw2: 0) Amount of data left read - 0 2020-12-25 10:57:55.638689+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) DG Found - ["DG1", "DG2", "DG11", "DG12", "DG13"] Reading tag - SOD 2020-12-25 10:57:55.640614+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Mask class byte and pad command header CmdHeader: 0CA4020C80000000 Pad data Data: 011D800000000000 Encrypt data with KSenc EncryptedData: D03F0F304986B2B4 Build DO'87 DO87: 870901D03F0F304986B2B4 Concatenate CmdHeader and DO87 M: 0CA4020C80000000870901D03F0F304986B2B4 SSC: 6C6A0175736028B9 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028BA Concatenate SSC and M and add padding N: 6C6A0175736028BA0CA4020C80000000870901D03F0F304986B2B48000000000 x0: 6C6A0175736028BA y0: 9BB219B4F7F1A1CA x1: 0CA4020C80000000 y1: AE47C54975E30095 x2: 870901D03F0F3049 y2: 6B7074902E21FCA3 x3: 86B2B48000000000 y3: 4B8A715A1420C676 y: 4B8A715A1420C676 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 3876D56FB800CA51 a: CB924CD1ACA35B99 Compute MAC over N with KSmac CC: CB924CD1ACA35B99 Build DO'8E DO8E: 8E08CB924CD1ACA35B99 Construct and send protected APDU ProtectedAPDU: 0CA4020C15870901D03F0F304986B2B48E08CB924CD1ACA35B9900 [SM] [0x0C, 0xA4, 0x02, 0x0C, 0x15, 0x87, 0x09, 0x01, 0xD0, 0x3F, 0x0F, 0x30, 0x49, 0x86, 0xB2, 0xB4, 0x8E, 0x08, 0xCB, 0x92, 0x4C, 0xD1, 0xAC, 0xA3, 0x5B, 0x99, 0x00] Receive response APDU of MRTD's chip RAPDU: 990290008E08E9B16637549EB1559000 Verify RAPDU CC by computing MAC of DO'99 SSC: 6C6A0175736028BA Increment SSC with 1 SSC: 6C6A0175736028BB Concatenate SSC and DO'99 and add padding K: 6C6A0175736028BB9902900080000000 Compute MAC with KSmac x0: 6C6A0175736028BB y0: 982718D0CD9ACB37 x1: 9902900080000000 y1: 233DA938EB3D58CB y: 233DA938EB3D58CB bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 4D724A7F06CA6FCD a: E9B16637549EB155 CC: E9B16637549EB155 Compare CC with data of DO'8E of RAPDU E9B16637549EB155 == E9B16637549EB155 ? true Unprotected APDU: [] 90 00 Mask class byte and pad command header CmdHeader: 0CB0000080000000 Build DO'97 DO97: [151, 1, 4] Concatenate CmdHeader and DO97 M: 0CB0000080000000970104 SSC: 6C6A0175736028BB Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028BC Concatenate SSC and M and add padding N: 6C6A0175736028BC0CB00000800000009701048000000000 x0: 6C6A0175736028BC y0: 4F7C9FA9039D9670 x1: 0CB0000080000000 y1: DE36DA59CAE62F08 x2: 9701048000000000 y2: 5BEA8DEAE025E5AA y: 5BEA8DEAE025E5AA bkey: E638769E34981349 akey: FD4AC70407EA4954 b: BAA7CB976F217346 a: B77D9B13D3B5C4E0 Compute MAC over N with KSmac CC: B77D9B13D3B5C4E0 Build DO'8E DO8E: 8E08B77D9B13D3B5C4E0 Construct and send protected APDU ProtectedAPDU: 0CB000000D9701048E08B77D9B13D3B5C4E000 [SM] [0x0C, 0xB0, 0x00, 0x00, 0x0D, 0x97, 0x01, 0x04, 0x8E, 0x08, 0xB7, 0x7D, 0x9B, 0x13, 0xD3, 0xB5, 0xC4, 0xE0, 0x00] Receive response APDU of MRTD's chip RAPDU: 87090169FA745FAD4C7CE4990290008E0883626F4492330B329000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028BC Increment SSC with 1 SSC: 6C6A0175736028BD Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028BD87090169FA745FAD4C7CE49902900080 Compute MAC with KSmac x0: 6C6A0175736028BD y0: 7308A73F696A9658 x1: 87090169FA745FAD y1: 8E229D0520FE4EBF x2: 4C7CE49902900080 y2: AD11F1CE445D1C0F y: AD11F1CE445D1C0F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: D4E55C0F0DE940A7 a: 83626F4492330B32 CC: 83626F4492330B32 Compare CC with data of DO'8E of RAPDU 83626F4492330B32 == 83626F4492330B32 ? true Decrypt data of DO'87 with KSenc DecryptedData: 77820833 Unprotected APDU: [77820833] 90 00 Amount of data to read - 2099 2020-12-25 10:57:55.672993+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0000480000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0000480000000970100 SSC: 6C6A0175736028BD Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028BE Concatenate SSC and M and add padding N: 6C6A0175736028BE0CB00004800000009701008000000000 x0: 6C6A0175736028BE y0: 2926D16F247FDC7D x1: 0CB0000480000000 y1: 2A6D874FE8DEF6D3 x2: 9701008000000000 y2: 0C44A1DBEEC9D4C7 y: 0C44A1DBEEC9D4C7 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: C31FA8D06E276A16 a: 541970E1C760599D Compute MAC over N with KSmac CC: 541970E1C760599D Build DO'8E DO8E: 8E08541970E1C760599D Construct and send protected APDU ProtectedAPDU: 0CB000040D9701008E08541970E1C760599D00 [SM] [0x0C, 0xB0, 0x00, 0x04, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x54, 0x19, 0x70, 0xE1, 0xC7, 0x60, 0x59, 0x9D, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90114EFD3855FEE2F9A3ADDD87995AB8581A17C05594A945FC36D65DC61C675E21114A3BDEED14B62EA2D4526547E6B92EF90241CE129DB60033A283EA9A0383A875E9AE37FE727467800C46EFCE3E39C95052BE86DEC5509A5F9A9C0539AC079F85922290E3CFD149092ACDD1B24B5C23E41E47286AEE8972EAE6D0239AC8444231795E8D1A5E57CAA337A5DA6733BDF7F6A810D0CD044C7CE78F605A840B18B7D70E898860E3192D75D69D22C62C4254623E1FF7ABF34E71184C53021FA28CCC232596281028C1ED9AADF78B0DE82705005CEA1952AC2935F7DC8DE7A37C96BB534FA4DFA1E3BC379990290008E086771358D6465B0AC9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028BE Increment SSC with 1 SSC: 6C6A0175736028BF Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028BF8781E90114EFD3855FEE2F9A3ADDD87995AB8581A17C05594A945FC36D65DC61C675E21114A3BDEED14B62EA2D4526547E6B92EF90241CE129DB60033A283EA9A0383A875E9AE37FE727467800C46EFCE3E39C95052BE86DEC5509A5F9A9C0539AC079F85922290E3CFD149092ACDD1B24B5C23E41E47286AEE8972EAE6D0239AC8444231795E8D1A5E57CAA337A5DA6733BDF7F6A810D0CD044C7CE78F605A840B18B7D70E898860E3192D75D69D22C62C4254623E1FF7ABF34E71184C53021FA28CCC232596281028C1ED9AADF78B0DE82705005CEA1952AC2935F7DC8DE7A37C96BB534FA4DFA1E3BC379990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028BF y0: 4C580105ADA82872 x1: 8781E90114EFD385 y1: 97CBB063286456EE x2: 5FEE2F9A3ADDD879 y2: 4EA17C308F5B6E95 x3: 95AB8581A17C0559 y3: 82DDE65507869845 x4: 4A945FC36D65DC61 y4: AFAA28C58509213F x5: C675E21114A3BDEE y5: DA89E2174334868F x6: D14B62EA2D452654 y6: 91A3807CF344ED6F x7: 7E6B92EF90241CE1 y7: EA92D2DAC798B67C x8: 29DB60033A283EA9 y8: EA05FE69E0C3095D x9: A0383A875E9AE37F y9: 7034FF6DD587934D x10: E727467800C46EFC y10: 9F479513B8A0C4B8 x11: E3E39C95052BE86D y11: 64DB371149582CE6 x12: EC5509A5F9A9C053 y12: 5B2E727B2C88AE8D x13: 9AC079F85922290E y13: 8E35A1BDA9FB0483 x14: 3CFD149092ACDD1B y14: 2B7AE7FA3FD02C0F x15: 24B5C23E41E47286 y15: B51D0571F1C758D8 x16: AEE8972EAE6D0239 y16: A3FF9624B0964D41 x17: AC8444231795E8D1 y17: 9E8987735F8080B5 x18: A5E57CAA337A5DA6 y18: 2393AC861CD27F27 x19: 733BDF7F6A810D0C y19: 76A8855B4DDA48EC x20: D044C7CE78F605A8 y20: 511135A24AF5D66C x21: 40B18B7D70E89886 y21: 263DEABA0ACD0254 x22: 0E3192D75D69D22C y22: 35789F35C2BC5DAB x23: 62C4254623E1FF7A y23: 55CC8D5CE1481CDC x24: BF34E71184C53021 y24: 403A0C5DB23542D4 x25: FA28CCC232596281 y25: 77C77553F7FE217A x26: 028C1ED9AADF78B0 y26: 297CC78C41A44C1F x27: DE82705005CEA195 y27: 8ED2C41A5BC5A8A1 x28: 2AC2935F7DC8DE7A y28: E1D8C76A188D52F4 x29: 37C96BB534FA4DFA y29: 12CB2592DA8D8C60 x30: 1E3BC37999029000 y30: 8A2DEDECDCA8F899 x31: 8000000000000000 y31: 713CF9B3A4D0CD5A y: 713CF9B3A4D0CD5A bkey: E638769E34981349 akey: FD4AC70407EA4954 b: E97D25CE517C1D87 a: 6771358D6465B0AC CC: 6771358D6465B0AC Compare CC with data of DO'8E of RAPDU 6771358D6465B0AC == 6771358D6465B0AC ? true Decrypt data of DO'87 with KSenc DecryptedData: 308006092A864886F70D010702A0803082081C020103310F300D060960864801650304020105003081E70606678108010101A081DC0481D93081D6020100300B06096086480165030402013081C3302502010104203FB867562051FB8DA98500FA405880AC11F9C54848FCE08D29F56C84D1F30EE5302502010204208CA8FBF987B6D1B351F5E2FD0A7AC9970F9D98D5F5F11A34C041205CB93B8003302502010B04200A4C62BD481A8CAF62E326D6606AE876CEEF970862817F0312373C7DE213D752302502010C042012079D38CBC43A60E95E2C6F01D8B4EE41DF547B7389FCECA5A9C326DB Unprotected APDU: [308006092A864886F70D010702A0803082081C020103310F300D060960864801650304020105003081E70606678108010101A081DC0481D93081D6020100300B06096086480165030402013081C3302502010104203FB867562051FB8DA98500FA405880AC11F9C54848FCE08D29F56C84D1F30EE5302502010204208CA8FBF987B6D1B351F5E2FD0A7AC9970F9D98D5F5F11A34C041205CB93B8003302502010B04200A4C62BD481A8CAF62E326D6606AE876CEEF970862817F0312373C7DE213D752302502010C042012079D38CBC43A60E95E2C6F01D8B4EE41DF547B7389FCECA5A9C326DB] 90 00 got resp - ResponseAPDU(data: [48, 128, 6, 9, 42, 134, 72, 134, 247, 13, 1, 7, 2, 160, 128, 48, 130, 8, 28, 2, 1, 3, 49, 15, 48, 13, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 5, 0, 48, 129, 231, 6, 6, 103, 129, 8, 1, 1, 1, 160, 129, 220, 4, 129, 217, 48, 129, 214, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 129, 195, 48, 37, 2, 1, 1, 4, 32, 63, 184, 103, 86, 32, 81, 251, 141, 169, 133, 0, 250, 64, 88, 128, 172, 17, 249, 197, 72, 72, 252, 224, 141, 41, 245, 108, 132, 209, 243, 14, 229, 48, 37, 2, 1, 2, 4, 32, 140, 168, 251, 249, 135, 182, 209, 179, 81, 245, 226, 253, 10, 122, 201, 151, 15, 157, 152, 213, 245, 241, 26, 52, 192, 65, 32, 92, 185, 59, 128, 3, 48, 37, 2, 1, 11, 4, 32, 10, 76, 98, 189, 72, 26, 140, 175, 98, 227, 38, 214, 96, 106, 232, 118, 206, 239, 151, 8, 98, 129, 127, 3, 18, 55, 60, 125, 226, 19, 215, 82, 48, 37, 2, 1, 12, 4, 32, 18, 7, 157, 56, 203, 196, 58, 96, 233, 94, 44, 111, 1, 216, 180, 238, 65, 223, 84, 123, 115, 137, 252, 236, 165, 169, 195, 38, 219], sw1: 144, sw2: 0) Amount of data left read - 1868 2020-12-25 10:57:55.722386+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB000EB80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB000EB80000000970100 SSC: 6C6A0175736028BF Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028C0 Concatenate SSC and M and add padding N: 6C6A0175736028C00CB000EB800000009701008000000000 x0: 6C6A0175736028C0 y0: 48E9E8ACBD41026A x1: 0CB000EB80000000 y1: 28294E51F2335827 x2: 9701008000000000 y2: 225F86FB3F92C5DC y: 225F86FB3F92C5DC bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 47A6985D6CDF98A7 a: EB7326CB43728D52 Compute MAC over N with KSmac CC: EB7326CB43728D52 Build DO'8E DO8E: 8E08EB7326CB43728D52 Construct and send protected APDU ProtectedAPDU: 0CB000EB0D9701008E08EB7326CB43728D5200 [SM] [0x0C, 0xB0, 0x00, 0xEB, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xEB, 0x73, 0x26, 0xCB, 0x43, 0x72, 0x8D, 0x52, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9019932B3B6C82B95CB89D4D5C3534CEEE9BAD94C4438927CCDEC621D6AE8F8554BA7D4F6D6DA61C50B040E4226D661322C2F2E6C1CF654B873CDC5E417C429F438B198C3657A59E8B9E30B1CBBDDDC68B7B3E83C77FF92BBB904C4F80E9A2834B3DBCE7F4AAD02FD6FE19EC4F172FEF5488E0AA2A8BF0521454FEF992482526DD6215DED61ABF7E3FA76175D50008D4FA0A28E72CB66A40603342D30FDFF654F5304BB802ED31AD99DECD1CC7B255605F053EB50AF731A8AF225476D192B917C212553243D43F7639A7BB51B63F4895BFEB1B0014A520CD5F299C91139D114B96BCC4D6CE0C8AA8019990290008E0843A6CA7A22B6067F9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028C0 Increment SSC with 1 SSC: 6C6A0175736028C1 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028C18781E9019932B3B6C82B95CB89D4D5C3534CEEE9BAD94C4438927CCDEC621D6AE8F8554BA7D4F6D6DA61C50B040E4226D661322C2F2E6C1CF654B873CDC5E417C429F438B198C3657A59E8B9E30B1CBBDDDC68B7B3E83C77FF92BBB904C4F80E9A2834B3DBCE7F4AAD02FD6FE19EC4F172FEF5488E0AA2A8BF0521454FEF992482526DD6215DED61ABF7E3FA76175D50008D4FA0A28E72CB66A40603342D30FDFF654F5304BB802ED31AD99DECD1CC7B255605F053EB50AF731A8AF225476D192B917C212553243D43F7639A7BB51B63F4895BFEB1B0014A520CD5F299C91139D114B96BCC4D6CE0C8AA8019990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028C1 y0: A615B9F24CA1E349 x1: 8781E9019932B3B6 y1: 085F76E7BE3BAF14 x2: C82B95CB89D4D5C3 y2: 3AB7A80A822682C3 x3: 534CEEE9BAD94C44 y3: 552F489693D88AF7 x4: 38927CCDEC621D6A y4: 2539A488728F3F23 x5: E8F8554BA7D4F6D6 y5: BD14DF9D5A4D3F3F x6: DA61C50B040E4226 y6: 933DFA743526551E x7: D661322C2F2E6C1C y7: FF65F2FA25CF7A2C x8: F654B873CDC5E417 y8: 9297BE6F63A464C1 x9: C429F438B198C365 y9: 9190714257FA1028 x10: 7A59E8B9E30B1CBB y10: 6E68B9488C52B01E x11: DDDC68B7B3E83C77 y11: 21C519F3EEA5CC06 x12: FF92BBB904C4F80E y12: E377654D0B1B7B05 x13: 9A2834B3DBCE7F4A y13: BF8F6A7F55CF3813 x14: AD02FD6FE19EC4F1 y14: CF0D6778D392D4B3 x15: 72FEF5488E0AA2A8 y15: 1167656FBC509CC8 x16: BF0521454FEF9924 y16: AD48ADD0D826446E x17: 82526DD6215DED61 y17: 1EB234DD294E4187 x18: ABF7E3FA76175D50 y18: 607B5B1FC18548FD x19: 008D4FA0A28E72CB y19: EBC0ED8342F11686 x20: 66A40603342D30FD y20: C14F84BFD7C03F01 x21: FF654F5304BB802E y21: ACC9C8ED9F75F58E x22: D31AD99DECD1CC7B y22: E920C98ECB8357EC x23: 255605F053EB50AF y23: 0731B96FC057686D x24: 731A8AF225476D19 y24: 821FFA408BF61023 x25: 2B917C212553243D y25: 843B4E6E3237BBC1 x26: 43F7639A7BB51B63 y26: 2D060AE8902BC3BA x27: F4895BFEB1B0014A y27: 33ED2EFCAC25D16B x28: 520CD5F299C91139 y28: D628B819D13A5B92 x29: D114B96BCC4D6CE0 y29: 55FFF8207D554060 x30: C8AA801999029000 y30: 2FDB1E84A0A1F1E6 x31: 8000000000000000 y31: 04DE9E738F95C300 y: 04DE9E738F95C300 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 3423AA05B8BDA7A1 a: 43A6CA7A22B6067F CC: 43A6CA7A22B6067F Compare CC with data of DO'8E of RAPDU 43A6CA7A22B6067F == 43A6CA7A22B6067F ? true Decrypt data of DO'87 with KSenc DecryptedData: BB21A9302502010D0420AA5E8704EC4EA096CB4DDCB79D1A49BE560E23C9A14265E7BF1AC427048E36A3A082051430820510308202F8A00302010202044917DD3A300D06092A864886F70D01010B0500308183310B3009060355040613025457311A3018060355040A0C1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C61722041666661697273310D300B06035504030C0443534341301E170D3137303131303034323131325A Unprotected APDU: [BB21A9302502010D0420AA5E8704EC4EA096CB4DDCB79D1A49BE560E23C9A14265E7BF1AC427048E36A3A082051430820510308202F8A00302010202044917DD3A300D06092A864886F70D01010B0500308183310B3009060355040613025457311A3018060355040A0C1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C61722041666661697273310D300B06035504030C0443534341301E170D3137303131303034323131325A] 90 00 got resp - ResponseAPDU(data: [187, 33, 169, 48, 37, 2, 1, 13, 4, 32, 170, 94, 135, 4, 236, 78, 160, 150, 203, 77, 220, 183, 157, 26, 73, 190, 86, 14, 35, 201, 161, 66, 101, 231, 191, 26, 196, 39, 4, 142, 54, 163, 160, 130, 5, 20, 48, 130, 5, 16, 48, 130, 2, 248, 160, 3, 2, 1, 2, 2, 4, 73, 23, 221, 58, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 129, 131, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 84, 87, 49, 26, 48, 24, 6, 3, 85, 4, 10, 12, 17, 84, 97, 105, 119, 97, 110, 32, 71, 111, 118, 101, 114, 110, 109, 101, 110, 116, 49, 36, 48, 34, 6, 3, 85, 4, 11, 12, 27, 77, 105, 110, 105, 115, 116, 114, 121, 32, 111, 102, 32, 70, 111, 114, 101, 105, 103, 110, 32, 65, 102, 102, 97, 105, 114, 115, 49, 35, 48, 33, 6, 3, 85, 4, 11, 12, 26, 66, 117, 114, 101, 97, 117, 32, 111, 102, 32, 67, 111, 110, 115, 117, 108, 97, 114, 32, 65, 102, 102, 97, 105, 114, 115, 49, 13, 48, 11, 6, 3, 85, 4, 3, 12, 4, 67, 83, 67, 65, 48, 30, 23, 13, 49, 55, 48, 49, 49, 48, 48, 52, 50, 49, 49, 50, 90], sw1: 144, sw2: 0) Amount of data left read - 1637 2020-12-25 10:57:55.773093+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB001D280000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB001D280000000970100 SSC: 6C6A0175736028C1 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028C2 Concatenate SSC and M and add padding N: 6C6A0175736028C20CB001D2800000009701008000000000 x0: 6C6A0175736028C2 y0: A0CA1CF9F31A2F8F x1: 0CB001D280000000 y1: 2FE6E57BB993D542 x2: 9701008000000000 y2: 831255C16D6502B5 y: 831255C16D6502B5 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 05DCF34496734C0C a: F4054DAAA527D029 Compute MAC over N with KSmac CC: F4054DAAA527D029 Build DO'8E DO8E: 8E08F4054DAAA527D029 Construct and send protected APDU ProtectedAPDU: 0CB001D20D9701008E08F4054DAAA527D02900 [SM] [0x0C, 0xB0, 0x01, 0xD2, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xF4, 0x05, 0x4D, 0xAA, 0xA5, 0x27, 0xD0, 0x29, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901A453E06BB086ED0700516DFB071A97DF8C68494DAF878596B0CC938E6EF6457C5845C7E4441988B178E7DDBEBC2DDB81737EFF560BE7E7B00F06367C41936E20F09FF08774BE6093DF71771A33B5257344307DD5EDFFEA79F75509467CD59A8F567517A7C10C9CD5B0F97DFC27A3627F8DEA2CE4C1DA894B2C2F832103DEE7CEF139432DF2286F8359600B512AED8402F53A34C54A653C12185A289797CD655B81EBE86488550C359A71E5B74773841C04CC5772D7C1D24476692029635C8291A7D4B38DBB4E73C4C54414704C225E00EA8779FDEA7E50085D8590157695771BB645E1B99D0EA5D2990290008E08F6106EB99F55412A9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028C2 Increment SSC with 1 SSC: 6C6A0175736028C3 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028C38781E901A453E06BB086ED0700516DFB071A97DF8C68494DAF878596B0CC938E6EF6457C5845C7E4441988B178E7DDBEBC2DDB81737EFF560BE7E7B00F06367C41936E20F09FF08774BE6093DF71771A33B5257344307DD5EDFFEA79F75509467CD59A8F567517A7C10C9CD5B0F97DFC27A3627F8DEA2CE4C1DA894B2C2F832103DEE7CEF139432DF2286F8359600B512AED8402F53A34C54A653C12185A289797CD655B81EBE86488550C359A71E5B74773841C04CC5772D7C1D24476692029635C8291A7D4B38DBB4E73C4C54414704C225E00EA8779FDEA7E50085D8590157695771BB645E1B99D0EA5D2990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028C3 y0: BE929C185A18228C x1: 8781E901A453E06B y1: 56645748D1A5C7C1 x2: B086ED0700516DFB y2: 5CC936A5081D615E x3: 071A97DF8C68494D y3: 945494821EB7D6B1 x4: AF878596B0CC938E y4: 2A5CEEF791035576 x5: 6EF6457C5845C7E4 y5: E15F451AB1A5EB58 x6: 441988B178E7DDBE y6: 471A41F20FDDE0E1 x7: BC2DDB81737EFF56 y7: C3BC68F0E1DDEC26 x8: 0BE7E7B00F06367C y8: D7C0D0042D92BDE4 x9: 41936E20F09FF087 y9: 4D4F74282D4B5F64 x10: 74BE6093DF71771A y10: B6922E96A56BAEE2 x11: 33B5257344307DD5 y11: D1A731A482C61C8D x12: EDFFEA79F7550946 y12: E7C6B86C18840808 x13: 7CD59A8F567517A7 y13: 944BFBB2A3904C16 x14: C10C9CD5B0F97DFC y14: 97C00B8808957099 x15: 27A3627F8DEA2CE4 y15: 341AA72A91B66C37 x16: C1DA894B2C2F8321 y16: C0008CB37F8FA8E9 x17: 03DEE7CEF139432D y17: C492A7D25B3377E0 x18: F2286F8359600B51 y18: DF3A7EFD5C4D80F4 x19: 2AED8402F53A34C5 y19: D68B4D7A2EFF87BF x20: 4A653C12185A2897 y20: 58CAE6E84FB77E2C x21: 97CD655B81EBE864 y21: 80CF9749707D26BF x22: 88550C359A71E5B7 y22: E819FE55C2B28A0F x23: 4773841C04CC5772 y23: 1B9C007BC4C7E17B x24: D7C1D24476692029 y24: 2D28CB1435E8F4CE x25: 635C8291A7D4B38D y25: F43C7F149665266C x26: BB4E73C4C5441470 y26: C1FFB416222758DF x27: 4C225E00EA8779FD y27: AACD7E0675404BC6 x28: EA7E50085D859015 y28: 97318460B967CDA5 x29: 7695771BB645E1B9 y29: 29E25621FC50BBA2 x30: 9D0EA5D299029000 y30: 7FFB0B2E6EB45B95 x31: 8000000000000000 y31: 33E0A81C6D0BC793 y: 33E0A81C6D0BC793 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: AB56EC3F6A62EFF0 a: F6106EB99F55412A CC: F6106EB99F55412A Compare CC with data of DO'8E of RAPDU F6106EB99F55412A == F6106EB99F55412A ? true Decrypt data of DO'87 with KSenc DecryptedData: 170D3237303631313136303030305A30818E310B3009060355040613025457311A3018060355040A0C1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C617220416666616972733118301606035504030C0F44532032303137303131303030303130820122300D06092A864886F70D01010105000382010F003082010A0282010100E112C5565CFC6FCEB065CFABEB20250E43CCF94BB477F911535961948D618EDDD1979C47AD2A Unprotected APDU: [170D3237303631313136303030305A30818E310B3009060355040613025457311A3018060355040A0C1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C617220416666616972733118301606035504030C0F44532032303137303131303030303130820122300D06092A864886F70D01010105000382010F003082010A0282010100E112C5565CFC6FCEB065CFABEB20250E43CCF94BB477F911535961948D618EDDD1979C47AD2A] 90 00 got resp - ResponseAPDU(data: [23, 13, 50, 55, 48, 54, 49, 49, 49, 54, 48, 48, 48, 48, 90, 48, 129, 142, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 84, 87, 49, 26, 48, 24, 6, 3, 85, 4, 10, 12, 17, 84, 97, 105, 119, 97, 110, 32, 71, 111, 118, 101, 114, 110, 109, 101, 110, 116, 49, 36, 48, 34, 6, 3, 85, 4, 11, 12, 27, 77, 105, 110, 105, 115, 116, 114, 121, 32, 111, 102, 32, 70, 111, 114, 101, 105, 103, 110, 32, 65, 102, 102, 97, 105, 114, 115, 49, 35, 48, 33, 6, 3, 85, 4, 11, 12, 26, 66, 117, 114, 101, 97, 117, 32, 111, 102, 32, 67, 111, 110, 115, 117, 108, 97, 114, 32, 65, 102, 102, 97, 105, 114, 115, 49, 24, 48, 22, 6, 3, 85, 4, 3, 12, 15, 68, 83, 32, 50, 48, 49, 55, 48, 49, 49, 48, 48, 48, 48, 49, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 225, 18, 197, 86, 92, 252, 111, 206, 176, 101, 207, 171, 235, 32, 37, 14, 67, 204, 249, 75, 180, 119, 249, 17, 83, 89, 97, 148, 141, 97, 142, 221, 209, 151, 156, 71, 173, 42], sw1: 144, sw2: 0) Amount of data left read - 1406 2020-12-25 10:57:55.813047+0800 TWFidODemo[1328:1186334] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB002B980000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB002B980000000970100 SSC: 6C6A0175736028C3 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028C4 Concatenate SSC and M and add padding N: 6C6A0175736028C40CB002B9800000009701008000000000 x0: 6C6A0175736028C4 y0: E32FB0125B47A364 x1: 0CB002B980000000 y1: F2A282E18739A840 x2: 9701008000000000 y2: 2E8DBFE39D90A91E y: 2E8DBFE39D90A91E bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 192F228AC4CE62FC a: 2C48DCDB634D67D4 Compute MAC over N with KSmac CC: 2C48DCDB634D67D4 Build DO'8E DO8E: 8E082C48DCDB634D67D4 Construct and send protected APDU ProtectedAPDU: 0CB002B90D9701008E082C48DCDB634D67D400 [SM] [0x0C, 0xB0, 0x02, 0xB9, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x2C, 0x48, 0xDC, 0xDB, 0x63, 0x4D, 0x67, 0xD4, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901AE49A10AA66A4605A5D5E05B4BF3FA4BFBAC8C3665CF66653380D737B86A369B828BA602A18A6BEC53339F782A3CC118CB55037567473A54D4472FA644F824D8FEFBCE2735FC2A9EA608BCCDBC24CED3FBF2F3BA55FA7284D8E497406C0FEF1C2FBC790009C98FA41DA88F7966D52AAEB34962B5B42DBDCF8D0E37AF7E3D59B2E913BC715D2BEB98273C9C29086F53970FA69E8B6C02D6B616E33AD853446D049F481B010D890ED73899D24C6CC777506158B118DB14B01E3A8F29FA97F1CAC16BBA3C7F1A4E7D12062599C07529E5645F32F6ED750B277DDA4011C72A194612DC651DECD8CA8981990290008E0858DA42F548F4DD7F9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028C4 Increment SSC with 1 SSC: 6C6A0175736028C5 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028C58781E901AE49A10AA66A4605A5D5E05B4BF3FA4BFBAC8C3665CF66653380D737B86A369B828BA602A18A6BEC53339F782A3CC118CB55037567473A54D4472FA644F824D8FEFBCE2735FC2A9EA608BCCDBC24CED3FBF2F3BA55FA7284D8E497406C0FEF1C2FBC790009C98FA41DA88F7966D52AAEB34962B5B42DBDCF8D0E37AF7E3D59B2E913BC715D2BEB98273C9C29086F53970FA69E8B6C02D6B616E33AD853446D049F481B010D890ED73899D24C6CC777506158B118DB14B01E3A8F29FA97F1CAC16BBA3C7F1A4E7D12062599C07529E5645F32F6ED750B277DDA4011C72A194612DC651DECD8CA8981990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028C5 y0: E643ED86B894864F x1: 8781E901AE49A10A y1: EA0E897A3EA48D01 x2: A66A4605A5D5E05B y2: CF47872E4A965138 x3: 4BF3FA4BFBAC8C36 y3: 0BBBF9460E0F7449 x4: 65CF66653380D737 y4: E352058D030D6874 x5: B86A369B828BA602 y5: ACDCC68AF2C65144 x6: A18A6BEC53339F78 y6: 95D55F5D4320A1AC x7: 2A3CC118CB550375 y7: 015DCF7BB3E91596 x8: 67473A54D4472FA6 y8: 8FADB83CC8A46BA5 x9: 44F824D8FEFBCE27 y9: C91A6D19963F535C x10: 35FC2A9EA608BCCD y10: 3F468626BD95684C x11: BC24CED3FBF2F3BA y11: F6D99D0AF4F24D8C x12: 55FA7284D8E49740 y12: 13DED52D314B62A1 x13: 6C0FEF1C2FBC7900 y13: B82CA9EA4D009749 x14: 09C98FA41DA88F79 y14: EB94457632D2DFBE x15: 66D52AAEB34962B5 y15: 084F95A68DB287F9 x16: B42DBDCF8D0E37AF y16: DE890EA4FFA172ED x17: 7E3D59B2E913BC71 y17: 95B7D5B91DE7C7D7 x18: 5D2BEB98273C9C29 y18: C66BA31FD22650FE x19: 086F53970FA69E8B y19: 2125861258FB8467 x20: 6C02D6B616E33AD8 y20: 090FAC39D8CE8057 x21: 53446D049F481B01 y21: 61D51EE6C38737AF x22: 0D890ED73899D24C y22: 89511CCD43985B05 x23: 6CC777506158B118 y23: 010E11C628E914CD x24: DB14B01E3A8F29FA y24: 042EAF2FA8490F53 x25: 97F1CAC16BBA3C7F y25: 1449F43D760095BC x26: 1A4E7D12062599C0 y26: 51EB0169B31F418C x27: 7529E5645F32F6ED y27: 91FD0E9424EF0328 x28: 750B277DDA4011C7 y28: 287C94A0FBB6EABF x29: 2A194612DC651DEC y29: 561663BC8B3B3EB2 x30: D8CA898199029000 y30: 95C1CD7BDECB4247 x31: 8000000000000000 y31: 87E0838D4065CE75 y: 87E0838D4065CE75 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 87A24E13BF867E62 a: 58DA42F548F4DD7F CC: 58DA42F548F4DD7F Compare CC with data of DO'8E of RAPDU 58DA42F548F4DD7F == 58DA42F548F4DD7F ? true Decrypt data of DO'87 with KSenc DecryptedData: C6E9A1F3E4D441D8EBDC22FC2E82E2788A9E910C244B5BBCE56DB69AA2B9142968879032CA533449E9438E28E309B9E8B8DB123AD302D7BD8DB8AE9AB17BC8B75B7E6D92707BC1DCF0FB43F98A203742A67C0F9C3D771EA6EEC8B457D00B1D984D5DC32A82FF008DA4D44B37F1D6E4CAB3A0DC3EB2D24E7A044DFE5DB08328DE1D6698B87674EF5878BEEF3E875460CA2AE5849FF2740756368E396413F47A03C39ACB729004E90047DB62E6E29BCAFF4F5889056F24C1B799805AC54A2F7C7DCC9807D346724BB194CA53E22EC6FE6167620A062A62E9D12FB30203010001A37F307D300E0603 Unprotected APDU: [C6E9A1F3E4D441D8EBDC22FC2E82E2788A9E910C244B5BBCE56DB69AA2B9142968879032CA533449E9438E28E309B9E8B8DB123AD302D7BD8DB8AE9AB17BC8B75B7E6D92707BC1DCF0FB43F98A203742A67C0F9C3D771EA6EEC8B457D00B1D984D5DC32A82FF008DA4D44B37F1D6E4CAB3A0DC3EB2D24E7A044DFE5DB08328DE1D6698B87674EF5878BEEF3E875460CA2AE5849FF2740756368E396413F47A03C39ACB729004E90047DB62E6E29BCAFF4F5889056F24C1B799805AC54A2F7C7DCC9807D346724BB194CA53E22EC6FE6167620A062A62E9D12FB30203010001A37F307D300E0603] 90 00 got resp - ResponseAPDU(data: [198, 233, 161, 243, 228, 212, 65, 216, 235, 220, 34, 252, 46, 130, 226, 120, 138, 158, 145, 12, 36, 75, 91, 188, 229, 109, 182, 154, 162, 185, 20, 41, 104, 135, 144, 50, 202, 83, 52, 73, 233, 67, 142, 40, 227, 9, 185, 232, 184, 219, 18, 58, 211, 2, 215, 189, 141, 184, 174, 154, 177, 123, 200, 183, 91, 126, 109, 146, 112, 123, 193, 220, 240, 251, 67, 249, 138, 32, 55, 66, 166, 124, 15, 156, 61, 119, 30, 166, 238, 200, 180, 87, 208, 11, 29, 152, 77, 93, 195, 42, 130, 255, 0, 141, 164, 212, 75, 55, 241, 214, 228, 202, 179, 160, 220, 62, 178, 210, 78, 122, 4, 77, 254, 93, 176, 131, 40, 222, 29, 102, 152, 184, 118, 116, 239, 88, 120, 190, 239, 62, 135, 84, 96, 202, 42, 229, 132, 159, 242, 116, 7, 86, 54, 142, 57, 100, 19, 244, 122, 3, 195, 154, 203, 114, 144, 4, 233, 0, 71, 219, 98, 230, 226, 155, 202, 255, 79, 88, 137, 5, 111, 36, 193, 183, 153, 128, 90, 197, 74, 47, 124, 125, 204, 152, 7, 211, 70, 114, 75, 177, 148, 202, 83, 226, 46, 198, 254, 97, 103, 98, 10, 6, 42, 98, 233, 209, 47, 179, 2, 3, 1, 0, 1, 163, 127, 48, 125, 48, 14, 6, 3], sw1: 144, sw2: 0) Amount of data left read - 1175 2020-12-25 10:57:55.847078+0800 TWFidODemo[1328:1186334] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB003A080000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB003A080000000970100 SSC: 6C6A0175736028C5 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028C6 Concatenate SSC and M and add padding N: 6C6A0175736028C60CB003A0800000009701008000000000 x0: 6C6A0175736028C6 y0: 5844367714B05DD5 x1: 0CB003A080000000 y1: E72E69E6875C0D70 x2: 9701008000000000 y2: 60325CC3DFC1F043 y: 60325CC3DFC1F043 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: DC962E665A5E68F3 a: FEB074F0C6B1C72E Compute MAC over N with KSmac CC: FEB074F0C6B1C72E Build DO'8E DO8E: 8E08FEB074F0C6B1C72E Construct and send protected APDU ProtectedAPDU: 0CB003A00D9701008E08FEB074F0C6B1C72E00 [SM] [0x0C, 0xB0, 0x03, 0xA0, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xFE, 0xB0, 0x74, 0xF0, 0xC6, 0xB1, 0xC7, 0x2E, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90119D7013735CB95971EB77BA22E0944B516069CD061A9CB87835BEF2EA779EE15D7FBABA48B56F9861CA422F37D37AEBC3B63AD328F151AF0803D7C4DB90AF287843060006D662D0EB9CEDEE95492F2BEDCD424ED11943F66E6EAE7C6C4DD28213A621ADE2D547E5F6886DC54FCADE5FE4D2BAD88D24CB9BFB2B0BBFD5D9D33219589371A0E03253E159AC2BEF75F865F906E499C2E10B08B25CE275D39FEACF08CDF76E2B7D407856B797A763832507925179A27F2C3EF66D2F8E3DF99222D2C309D09DF9A5247D45C4E339E2EAFACD083FF3E3808A92062EEE5A371C6BEB45C45EA690C2584F6E7990290008E0812081E547F96C2369000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028C6 Increment SSC with 1 SSC: 6C6A0175736028C7 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028C78781E90119D7013735CB95971EB77BA22E0944B516069CD061A9CB87835BEF2EA779EE15D7FBABA48B56F9861CA422F37D37AEBC3B63AD328F151AF0803D7C4DB90AF287843060006D662D0EB9CEDEE95492F2BEDCD424ED11943F66E6EAE7C6C4DD28213A621ADE2D547E5F6886DC54FCADE5FE4D2BAD88D24CB9BFB2B0BBFD5D9D33219589371A0E03253E159AC2BEF75F865F906E499C2E10B08B25CE275D39FEACF08CDF76E2B7D407856B797A763832507925179A27F2C3EF66D2F8E3DF99222D2C309D09DF9A5247D45C4E339E2EAFACD083FF3E3808A92062EEE5A371C6BEB45C45EA690C2584F6E7990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028C7 y0: 81065C707C6D403E x1: 8781E90119D70137 y1: E51685EB94F5620D x2: 35CB95971EB77BA2 y2: 4ED4AF2B6D00DF49 x3: 2E0944B516069CD0 y3: 47B5E8D3EE5D2336 x4: 61A9CB87835BEF2E y4: 22B73E53A3A2C8B0 x5: A779EE15D7FBABA4 y5: F6D29FDC0612F2D7 x6: 8B56F9861CA422F3 y6: 0EAA77C91AB5D322 x7: 7D37AEBC3B63AD32 y7: A08DC8DA3C4CEC38 x8: 8F151AF0803D7C4D y8: 3EFD1CE9E01B5DF5 x9: B90AF28784306000 y9: B73526148C494E95 x10: 6D662D0EB9CEDEE9 y10: 8CE5BFDC9EB3904A x11: 5492F2BEDCD424ED y11: 8B35CD7011248F45 x12: 11943F66E6EAE7C6 y12: E4221B12A973314D x13: C4DD28213A621ADE y13: D165F15ECC732095 x14: 2D547E5F6886DC54 y14: BD82267EB6BC03FD x15: FCADE5FE4D2BAD88 y15: CA4939EA687C2AEA x16: D24CB9BFB2B0BBFD y16: 7BE523CE79D922CA x17: 5D9D33219589371A y17: B369DD43295B34AE x18: 0E03253E159AC2BE y18: 3D0F06564E22D029 x19: F75F865F906E499C y19: 0583F98ECE946DE5 x20: 2E10B08B25CE275D y20: E00A5ED68EEABA8E x21: 39FEACF08CDF76E2 y21: 6795CE614CB75E16 x22: B7D407856B797A76 y22: 613CC86779906D2A x23: 3832507925179A27 y23: 5E4E0E57DF81C9DE x24: F2C3EF66D2F8E3DF y24: 44F4D4710277D794 x25: 99222D2C309D09DF y25: 0F19C6E0EA7E35CC x26: 9A5247D45C4E339E y26: 646ADAAF3CD80030 x27: 2EAFACD083FF3E38 y27: F79C939B1A9F6A0C x28: 08A92062EEE5A371 y28: 77EBF71389CDC086 x29: C6BEB45C45EA690C y29: EB7576CBA7A37885 x30: 2584F6E799029000 y30: AC6E43962EEC7E04 x31: 8000000000000000 y31: 13CDD09574D6A3BB y: 13CDD09574D6A3BB bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 97A2627D3A79C366 a: 12081E547F96C236 CC: 12081E547F96C236 Compare CC with data of DO'8E of RAPDU 12081E547F96C236 == 12081E547F96C236 ? true Decrypt data of DO'87 with KSenc DecryptedData: 551D0F0101FF040403020780302B0603551D1004243022800F32303137303131303034323131325A810F32303137303631313136303030305A301F0603551D2304183016801481C065922A74CFAF92205DFB083E7E5E150A2B0E301D0603551D0E041604140B8F7C8638F2F7593354B520A1E2583ED58E620C300D06092A864886F70D01010B050003820201001167F7174F4A55D4D286B81ABEA6A02904C70AF985FB2A339B7271996A0009B7775B2A582F1AB6D1DAD592894CAF02440BFC8B0963779A33281729C9914B202FDD86477F3C0ACAF622035371B1C82D471772F2CC00B66C7F6523 Unprotected APDU: [551D0F0101FF040403020780302B0603551D1004243022800F32303137303131303034323131325A810F32303137303631313136303030305A301F0603551D2304183016801481C065922A74CFAF92205DFB083E7E5E150A2B0E301D0603551D0E041604140B8F7C8638F2F7593354B520A1E2583ED58E620C300D06092A864886F70D01010B050003820201001167F7174F4A55D4D286B81ABEA6A02904C70AF985FB2A339B7271996A0009B7775B2A582F1AB6D1DAD592894CAF02440BFC8B0963779A33281729C9914B202FDD86477F3C0ACAF622035371B1C82D471772F2CC00B66C7F6523] 90 00 got resp - ResponseAPDU(data: [85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 43, 6, 3, 85, 29, 16, 4, 36, 48, 34, 128, 15, 50, 48, 49, 55, 48, 49, 49, 48, 48, 52, 50, 49, 49, 50, 90, 129, 15, 50, 48, 49, 55, 48, 54, 49, 49, 49, 54, 48, 48, 48, 48, 90, 48, 31, 6, 3, 85, 29, 35, 4, 24, 48, 22, 128, 20, 129, 192, 101, 146, 42, 116, 207, 175, 146, 32, 93, 251, 8, 62, 126, 94, 21, 10, 43, 14, 48, 29, 6, 3, 85, 29, 14, 4, 22, 4, 20, 11, 143, 124, 134, 56, 242, 247, 89, 51, 84, 181, 32, 161, 226, 88, 62, 213, 142, 98, 12, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 3, 130, 2, 1, 0, 17, 103, 247, 23, 79, 74, 85, 212, 210, 134, 184, 26, 190, 166, 160, 41, 4, 199, 10, 249, 133, 251, 42, 51, 155, 114, 113, 153, 106, 0, 9, 183, 119, 91, 42, 88, 47, 26, 182, 209, 218, 213, 146, 137, 76, 175, 2, 68, 11, 252, 139, 9, 99, 119, 154, 51, 40, 23, 41, 201, 145, 75, 32, 47, 221, 134, 71, 127, 60, 10, 202, 246, 34, 3, 83, 113, 177, 200, 45, 71, 23, 114, 242, 204, 0, 182, 108, 127, 101, 35], sw1: 144, sw2: 0) Amount of data left read - 944 2020-12-25 10:57:55.881542+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0048780000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0048780000000970100 SSC: 6C6A0175736028C7 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028C8 Concatenate SSC and M and add padding N: 6C6A0175736028C80CB00487800000009701008000000000 x0: 6C6A0175736028C8 y0: 559235DA86152708 x1: 0CB0048780000000 y1: 83D401D2554C5DF7 x2: 9701008000000000 y2: C42FD1C5C96BD64F y: C42FD1C5C96BD64F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1EB53AB5E72E4610 a: A11756AABA929BE6 Compute MAC over N with KSmac CC: A11756AABA929BE6 Build DO'8E DO8E: 8E08A11756AABA929BE6 Construct and send protected APDU ProtectedAPDU: 0CB004870D9701008E08A11756AABA929BE600 [SM] [0x0C, 0xB0, 0x04, 0x87, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xA1, 0x17, 0x56, 0xAA, 0xBA, 0x92, 0x9B, 0xE6, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901720F619638EA7B931A9B52B47B9EF824B0FB875E8CD91705E38BB633CB648B6ED2D8207C107DC2DF609052C7899FD609D01EE1EAD2E5DB6A5C5244F439030950CBA16D8460229D50B12352F7FB7FB92EEA0FDDEFE863EF86A4AB7F969C8D548CFDCF4980FDD6E54906841687BEDA09ABEE974C4CA730BD5FD40A6004C7C849041053AFAAB32C92ED9D6D2C8634D7DDB7367D9A23ECE44F4DDDF37C568E306543FC4224565A32AA3ABD6002D013A19F034C29523875DDCECC1BAEFB833E65B2B01D12E184AA85693D62659EBF4680EE27810303AB1EE3749C99C7D1DBD09D5D090C745368EAC3DC51990290008E083B7217EA0DE7DB379000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028C8 Increment SSC with 1 SSC: 6C6A0175736028C9 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028C98781E901720F619638EA7B931A9B52B47B9EF824B0FB875E8CD91705E38BB633CB648B6ED2D8207C107DC2DF609052C7899FD609D01EE1EAD2E5DB6A5C5244F439030950CBA16D8460229D50B12352F7FB7FB92EEA0FDDEFE863EF86A4AB7F969C8D548CFDCF4980FDD6E54906841687BEDA09ABEE974C4CA730BD5FD40A6004C7C849041053AFAAB32C92ED9D6D2C8634D7DDB7367D9A23ECE44F4DDDF37C568E306543FC4224565A32AA3ABD6002D013A19F034C29523875DDCECC1BAEFB833E65B2B01D12E184AA85693D62659EBF4680EE27810303AB1EE3749C99C7D1DBD09D5D090C745368EAC3DC51990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028C9 y0: 9D9304C677F88094 x1: 8781E901720F6196 y1: 4DD1675E9739CBFD x2: 38EA7B931A9B52B4 y2: 89550F716DF13AA1 x3: 7B9EF824B0FB875E y3: 603D54F097FD8873 x4: 8CD91705E38BB633 y4: D413FA8B9F7E0AD5 x5: CB648B6ED2D8207C y5: 2B86BBC78E89119B x6: 107DC2DF609052C7 y6: 5ED0DDBB845D4DD5 x7: 899FD609D01EE1EA y7: 171670B09952A81F x8: D2E5DB6A5C5244F4 y8: 32867D5209C6F3BB x9: 39030950CBA16D84 y9: 0F7A580906DE42C8 x10: 60229D50B12352F7 y10: 9FCC425F28A981C1 x11: FB7FB92EEA0FDDEF y11: 82439B44AAE4AE43 x12: E863EF86A4AB7F96 y12: D227EEACEF565E62 x13: 9C8D548CFDCF4980 y13: CD2408543AD98C16 x14: FDD6E54906841687 y14: 45AD92D3D03248C0 x15: BEDA09ABEE974C4C y15: C01333ABBC864551 x16: A730BD5FD40A6004 y16: F3A53A9B15B272FD x17: C7C849041053AFAA y17: 397C57CCEC6B19E3 x18: B32C92ED9D6D2C86 y18: 2922C7E90BEB63BF x19: 34D7DDB7367D9A23 y19: 55924F9A995782AA x20: ECE44F4DDDF37C56 y20: 0506980126FF48A7 x21: 8E306543FC422456 y21: C49D155C8253DDEC x22: 5A32AA3ABD6002D0 y22: 1F3332C192C35925 x23: 13A19F034C295238 y23: A846D04442BB3EC2 x24: 75DDCECC1BAEFB83 y24: 4407DCA34DF0F675 x25: 3E65B2B01D12E184 y25: 94839F4229053A72 x26: AA85693D62659EBF y26: 79F10DD084E81987 x27: 4680EE27810303AB y27: 243B12040712D235 x28: 1EE3749C99C7D1DB y28: CC40D9CFF681B787 x29: D09D5D090C745368 y29: E363507FB11078CC x30: EAC3DC5199029000 y30: 7927CAEDDD87C649 x31: 8000000000000000 y31: 274B667A4F7301A3 y: 274B667A4F7301A3 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 3A673664285FE4B8 a: 3B7217EA0DE7DB37 CC: 3B7217EA0DE7DB37 Compare CC with data of DO'8E of RAPDU 3B7217EA0DE7DB37 == 3B7217EA0DE7DB37 ? true Decrypt data of DO'87 with KSenc DecryptedData: 3241CF3DC33B4334D938A95E6B06A85BC4EBC792112C85ED065E7C503875E9E07F4E6B935300DD852E215B271069915A28F1F16220C3D8C2832AA5C09B876A557D35D358DA38937C93D6B620342A841E3727BCF662169DECEDF5ED73A68D0680CA0AB71E0BCC4EBA0742FB0F41B56A33CB771E38B88343AB404E326C4DDCD8EE45AFAA36DECF4464EE29F2DCFEC5E1BC2546BD77A93BE93D418E904ED9B3100F0E8BE7EEA5BB4FDE87539EC8F2333D26EDD1731464F97F98D477F876EDEEC5ACC42EBBB15C7C1FF74B59753839AE5D8C8A9F526422F666FE80C75FB4756B69FE1D8FF0C87412DD Unprotected APDU: [3241CF3DC33B4334D938A95E6B06A85BC4EBC792112C85ED065E7C503875E9E07F4E6B935300DD852E215B271069915A28F1F16220C3D8C2832AA5C09B876A557D35D358DA38937C93D6B620342A841E3727BCF662169DECEDF5ED73A68D0680CA0AB71E0BCC4EBA0742FB0F41B56A33CB771E38B88343AB404E326C4DDCD8EE45AFAA36DECF4464EE29F2DCFEC5E1BC2546BD77A93BE93D418E904ED9B3100F0E8BE7EEA5BB4FDE87539EC8F2333D26EDD1731464F97F98D477F876EDEEC5ACC42EBBB15C7C1FF74B59753839AE5D8C8A9F526422F666FE80C75FB4756B69FE1D8FF0C87412DD] 90 00 got resp - ResponseAPDU(data: [50, 65, 207, 61, 195, 59, 67, 52, 217, 56, 169, 94, 107, 6, 168, 91, 196, 235, 199, 146, 17, 44, 133, 237, 6, 94, 124, 80, 56, 117, 233, 224, 127, 78, 107, 147, 83, 0, 221, 133, 46, 33, 91, 39, 16, 105, 145, 90, 40, 241, 241, 98, 32, 195, 216, 194, 131, 42, 165, 192, 155, 135, 106, 85, 125, 53, 211, 88, 218, 56, 147, 124, 147, 214, 182, 32, 52, 42, 132, 30, 55, 39, 188, 246, 98, 22, 157, 236, 237, 245, 237, 115, 166, 141, 6, 128, 202, 10, 183, 30, 11, 204, 78, 186, 7, 66, 251, 15, 65, 181, 106, 51, 203, 119, 30, 56, 184, 131, 67, 171, 64, 78, 50, 108, 77, 220, 216, 238, 69, 175, 170, 54, 222, 207, 68, 100, 238, 41, 242, 220, 254, 197, 225, 188, 37, 70, 189, 119, 169, 59, 233, 61, 65, 142, 144, 78, 217, 179, 16, 15, 14, 139, 231, 238, 165, 187, 79, 222, 135, 83, 158, 200, 242, 51, 61, 38, 237, 209, 115, 20, 100, 249, 127, 152, 212, 119, 248, 118, 237, 238, 197, 172, 196, 46, 187, 177, 92, 124, 31, 247, 75, 89, 117, 56, 57, 174, 93, 140, 138, 159, 82, 100, 34, 246, 102, 254, 128, 199, 95, 180, 117, 107, 105, 254, 29, 143, 240, 200, 116, 18, 221], sw1: 144, sw2: 0) Amount of data left read - 713 2020-12-25 10:57:55.923182+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0056E80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0056E80000000970100 SSC: 6C6A0175736028C9 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028CA Concatenate SSC and M and add padding N: 6C6A0175736028CA0CB0056E800000009701008000000000 x0: 6C6A0175736028CA y0: DCA7FCE752B5F428 x1: 0CB0056E80000000 y1: 40143F0B23DC1A19 x2: 9701008000000000 y2: ABDFBFA59716045C y: ABDFBFA59716045C bkey: E638769E34981349 akey: FD4AC70407EA4954 b: E7C7A2300D8206AC a: 3E17DF96362E0CBB Compute MAC over N with KSmac CC: 3E17DF96362E0CBB Build DO'8E DO8E: 8E083E17DF96362E0CBB Construct and send protected APDU ProtectedAPDU: 0CB0056E0D9701008E083E17DF96362E0CBB00 [SM] [0x0C, 0xB0, 0x05, 0x6E, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x3E, 0x17, 0xDF, 0x96, 0x36, 0x2E, 0x0C, 0xBB, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9017FD85352118F2BD640C6E55F7EFD2803C0D70098AEC3C7F6DA84F1C8422D5B52DFD9E90D5CDADE7BA5AEF513531BF80B16270EC8CB6B070CC6C374AD99256BB91E9942C27C565E73157466B828D37A4422F8977746562A83A32B8E9A65E418B38961F322E7CBA28829E3184D6B0AADE0BD5A62444DE8F0F9B705FEDC304FBD74F0154F407007CA2798020279F113D8766D8A3ED1F16A970B99DFBA79418079DEB0C7B38426E974A6475D5BFF9994FC51D0FBEA009A2976820E9704B5ED850946182D7A9F84EEEBF70A0A8C27F3D3380B8D9116B48080C7A1D9960186FBE3FA204E6F81D2A595EE0A990290008E086BA3E5EB129DEDB29000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028CA Increment SSC with 1 SSC: 6C6A0175736028CB Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028CB8781E9017FD85352118F2BD640C6E55F7EFD2803C0D70098AEC3C7F6DA84F1C8422D5B52DFD9E90D5CDADE7BA5AEF513531BF80B16270EC8CB6B070CC6C374AD99256BB91E9942C27C565E73157466B828D37A4422F8977746562A83A32B8E9A65E418B38961F322E7CBA28829E3184D6B0AADE0BD5A62444DE8F0F9B705FEDC304FBD74F0154F407007CA2798020279F113D8766D8A3ED1F16A970B99DFBA79418079DEB0C7B38426E974A6475D5BFF9994FC51D0FBEA009A2976820E9704B5ED850946182D7A9F84EEEBF70A0A8C27F3D3380B8D9116B48080C7A1D9960186FBE3FA204E6F81D2A595EE0A990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028CB y0: 394A8EDAEE3F6662 x1: 8781E9017FD85352 y1: 8F5D52942D1D4068 x2: 118F2BD640C6E55F y2: E1BEDF3A529285BA x3: 7EFD2803C0D70098 y3: 7F1D36CF911ECBC9 x4: AEC3C7F6DA84F1C8 y4: 40B8631AF31FC9AA x5: 422D5B52DFD9E90D y5: 7E188523C48F252A x6: 5CDADE7BA5AEF513 y6: 7F6EF16796F54C62 x7: 531BF80B16270EC8 y7: 2D62A2F6C1EF0ACB x8: CB6B070CC6C374AD y8: 9C797C8DAA5F5EB6 x9: 99256BB91E9942C2 y9: A8DEA1F05E857BCD x10: 7C565E73157466B8 y10: 8585E449AE8F9B7C x11: 28D37A4422F89777 y11: 0434EA48BFE0CA6B x12: 46562A83A32B8E9A y12: 242CFAA1D0D16E0A x13: 65E418B38961F322 y13: B5367D60F64D4C48 x14: E7CBA28829E3184D y14: 3828C0462B4D2CC4 x15: 6B0AADE0BD5A6244 y15: 03BFC3252A73991A x16: 4DE8F0F9B705FEDC y16: BCB5834A8D8F4FFA x17: 304FBD74F0154F40 y17: 28EA0739F795811A x18: 7007CA2798020279 y18: 78CDE7E4D6E56BD1 x19: F113D8766D8A3ED1 y19: D44731EEA64D4D8E x20: F16A970B99DFBA79 y20: 675935DB1C7F5F47 x21: 418079DEB0C7B384 y21: BA8806F13FE53ED1 x22: 26E974A6475D5BFF y22: AEDA790D7A823398 x23: 9994FC51D0FBEA00 y23: 44291F65BCCC1E49 x24: 9A2976820E9704B5 y24: 8DFB1E513A31098A x25: ED850946182D7A9F y25: B06F8E9C94099E0B x26: 84EEEBF70A0A8C27 y26: 9587DB47A1785982 x27: F3D3380B8D9116B4 y27: 86DE8DF57A02D444 x28: 8080C7A1D9960186 y28: 71F153716DEE4E1A x29: FBE3FA204E6F81D2 y29: EB7233D61A0CB4AA x30: A595EE0A99029000 y30: 488EE42538BEBC48 x31: 8000000000000000 y31: 99D77AE20E159043 y: 99D77AE20E159043 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 6CAC96F7ACA05D1F a: 6BA3E5EB129DEDB2 CC: 6BA3E5EB129DEDB2 Compare CC with data of DO'8E of RAPDU 6BA3E5EB129DEDB2 == 6BA3E5EB129DEDB2 ? true Decrypt data of DO'87 with KSenc DecryptedData: 677B490D13B1A602A3F1375502F03B2F26CE3589D025D22BBEC514C0EB78F5978A30C141F91BF2F24B6EF65A82C9C6C26019990FB0661D38668B7F31F35AC0A1DDEAA2EFCEA9B61932FB64365F5641B9C3D7095980DBA5E20E292B7835F31B4BE5FFC5855CD6E7ECFCC90800BBE51C4AC3CFAE923F43D6CDF027B7B3F43322C33866B87B79DA9FCA015F6D716248CC087329007574338782884C457F24B7BA20CDCB23EF6365C4193F5AB223B6C5D47C118137F4F880D736F8C197F5CC554531820202308201FE02010130818C308183310B3009060355040613025457311A3018060355040A0C Unprotected APDU: [677B490D13B1A602A3F1375502F03B2F26CE3589D025D22BBEC514C0EB78F5978A30C141F91BF2F24B6EF65A82C9C6C26019990FB0661D38668B7F31F35AC0A1DDEAA2EFCEA9B61932FB64365F5641B9C3D7095980DBA5E20E292B7835F31B4BE5FFC5855CD6E7ECFCC90800BBE51C4AC3CFAE923F43D6CDF027B7B3F43322C33866B87B79DA9FCA015F6D716248CC087329007574338782884C457F24B7BA20CDCB23EF6365C4193F5AB223B6C5D47C118137F4F880D736F8C197F5CC554531820202308201FE02010130818C308183310B3009060355040613025457311A3018060355040A0C] 90 00 got resp - ResponseAPDU(data: [103, 123, 73, 13, 19, 177, 166, 2, 163, 241, 55, 85, 2, 240, 59, 47, 38, 206, 53, 137, 208, 37, 210, 43, 190, 197, 20, 192, 235, 120, 245, 151, 138, 48, 193, 65, 249, 27, 242, 242, 75, 110, 246, 90, 130, 201, 198, 194, 96, 25, 153, 15, 176, 102, 29, 56, 102, 139, 127, 49, 243, 90, 192, 161, 221, 234, 162, 239, 206, 169, 182, 25, 50, 251, 100, 54, 95, 86, 65, 185, 195, 215, 9, 89, 128, 219, 165, 226, 14, 41, 43, 120, 53, 243, 27, 75, 229, 255, 197, 133, 92, 214, 231, 236, 252, 201, 8, 0, 187, 229, 28, 74, 195, 207, 174, 146, 63, 67, 214, 205, 240, 39, 183, 179, 244, 51, 34, 195, 56, 102, 184, 123, 121, 218, 159, 202, 1, 95, 109, 113, 98, 72, 204, 8, 115, 41, 0, 117, 116, 51, 135, 130, 136, 76, 69, 127, 36, 183, 186, 32, 205, 203, 35, 239, 99, 101, 196, 25, 63, 90, 178, 35, 182, 197, 212, 124, 17, 129, 55, 244, 248, 128, 215, 54, 248, 193, 151, 245, 204, 85, 69, 49, 130, 2, 2, 48, 130, 1, 254, 2, 1, 1, 48, 129, 140, 48, 129, 131, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 84, 87, 49, 26, 48, 24, 6, 3, 85, 4, 10, 12], sw1: 144, sw2: 0) Amount of data left read - 482 2020-12-25 10:57:55.966429+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0065580000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0065580000000970100 SSC: 6C6A0175736028CB Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028CC Concatenate SSC and M and add padding N: 6C6A0175736028CC0CB00655800000009701008000000000 x0: 6C6A0175736028CC y0: 3D60ABA86CBCFF72 x1: 0CB0065580000000 y1: 049C782217A1A502 x2: 9701008000000000 y2: 3454489F553230F5 y: 3454489F553230F5 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 0315CDA8A6878CC4 a: 3ACA27D0EC34DBCF Compute MAC over N with KSmac CC: 3ACA27D0EC34DBCF Build DO'8E DO8E: 8E083ACA27D0EC34DBCF Construct and send protected APDU ProtectedAPDU: 0CB006550D9701008E083ACA27D0EC34DBCF00 [SM] [0x0C, 0xB0, 0x06, 0x55, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x3A, 0xCA, 0x27, 0xD0, 0xEC, 0x34, 0xDB, 0xCF, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9014C2155547542A8BBBBE0DAD32322B6BF51D6C8F658F16265148FF7C5E24ABAF54D09CD5D2CA95CEEE3446A9C25CC4CC8182F3056B449E3EB9173C0734B18CE3F9CC8C1566E5A3D9D9E89410D0FD5A785B00188EBB1072178716DC1FCD05BB01F19D733E81054354E1CE7553927C993619BD19D09E1F81FB378AD4D0CAA6EE348DCBB376DAF0D7930A1842077234C7B271A796119AB5D7A35969C5592F33DE46E20FCE6A5992BDB6631BD2278FC39A61891C8312A57C42C5EC6A7FF048F25B3A0C65A86194CBFDC18316BE78D5A955B9962BA9620264866FD286E52054F3BCA1051731F33A5E5F193990290008E087F08D32489E50E6D9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028CC Increment SSC with 1 SSC: 6C6A0175736028CD Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028CD8781E9014C2155547542A8BBBBE0DAD32322B6BF51D6C8F658F16265148FF7C5E24ABAF54D09CD5D2CA95CEEE3446A9C25CC4CC8182F3056B449E3EB9173C0734B18CE3F9CC8C1566E5A3D9D9E89410D0FD5A785B00188EBB1072178716DC1FCD05BB01F19D733E81054354E1CE7553927C993619BD19D09E1F81FB378AD4D0CAA6EE348DCBB376DAF0D7930A1842077234C7B271A796119AB5D7A35969C5592F33DE46E20FCE6A5992BDB6631BD2278FC39A61891C8312A57C42C5EC6A7FF048F25B3A0C65A86194CBFDC18316BE78D5A955B9962BA9620264866FD286E52054F3BCA1051731F33A5E5F193990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028CD y0: DF71B345A75D2484 x1: 8781E9014C215554 y1: 64A8F5C6352AFC7C x2: 7542A8BBBBE0DAD3 y2: 6C279E9B8B9EA8BB x3: 2322B6BF51D6C8F6 y3: C7ED2C6CC174D7F7 x4: 58F16265148FF7C5 y4: C091FFA1B9210FB0 x5: E24ABAF54D09CD5D y5: 4E377C5A782A0E1D x6: 2CA95CEEE3446A9C y6: 48DA14CD16849073 x7: 25CC4CC8182F3056 y7: 67C69AB39A3DAE62 x8: B449E3EB9173C073 y8: 9E1BE3F80616220E x9: 4B18CE3F9CC8C156 y9: E686D2E5FD082C83 x10: 6E5A3D9D9E89410D y10: 1B9DE69AFC3DE562 x11: 0FD5A785B00188EB y11: 059776ADFC74C6B7 x12: B1072178716DC1FC y12: 993929648F063558 x13: D05BB01F19D733E8 y13: EFB700197F4700C8 x14: 1054354E1CE75539 y14: BAFCCA7AE5C429D5 x15: 27C993619BD19D09 y15: E6F51B3676476010 x16: E1F81FB378AD4D0C y16: 649E730CFF78CDE3 x17: AA6EE348DCBB376D y17: E22218F44D5949F0 x18: AF0D7930A1842077 y18: 31F97915020E675E x19: 234C7B271A796119 y19: 72113828F0764631 x20: AB5D7A35969C5592 y20: CEBEABF5B5EDB793 x21: F33DE46E20FCE6A5 y21: DBA4198CDD8D854E x22: 992BDB6631BD2278 y22: 3E4F082CF5A00058 x23: FC39A61891C8312A y23: E1E6A56A60B56DF5 x24: 57C42C5EC6A7FF04 y24: D9AFACB6570E848C x25: 8F25B3A0C65A8619 y25: 7BDEBA88D0BC3AFA x26: 4CBFDC18316BE78D y26: D1622F224E5A20A3 x27: 5A955B9962BA9620 y27: D12968A734B328B7 x28: 264866FD286E5205 y28: 0FE2DDBA3062CE92 x29: 4F3BCA1051731F33 y29: B3B613A75B6B73CC x30: A5E5F19399029000 y30: A3B6FAE782191303 x31: 8000000000000000 y31: 71F3444FE9224130 y: 71F3444FE9224130 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 25713BED0893950C a: 7F08D32489E50E6D CC: 7F08D32489E50E6D Compare CC with data of DO'8E of RAPDU 7F08D32489E50E6D == 7F08D32489E50E6D ? true Decrypt data of DO'87 with KSenc DecryptedData: 1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C61722041666661697273310D300B06035504030C044353434102044917DD3A300D06096086480165030402010500A048301506092A864886F70D01090331080606678108010101302F06092A864886F70D01090431220420589675AC2AD65D73BE9595A3A078ED2C04CCCEEA95A86C8CD58A96649CF14606300D06092A864886F70D01010105000482010060DFA3B53EB86D5D3C Unprotected APDU: [1154616977616E20476F7665726E6D656E7431243022060355040B0C1B4D696E6973747279206F6620466F726569676E204166666169727331233021060355040B0C1A427572656175206F6620436F6E73756C61722041666661697273310D300B06035504030C044353434102044917DD3A300D06096086480165030402010500A048301506092A864886F70D01090331080606678108010101302F06092A864886F70D01090431220420589675AC2AD65D73BE9595A3A078ED2C04CCCEEA95A86C8CD58A96649CF14606300D06092A864886F70D01010105000482010060DFA3B53EB86D5D3C] 90 00 got resp - ResponseAPDU(data: [17, 84, 97, 105, 119, 97, 110, 32, 71, 111, 118, 101, 114, 110, 109, 101, 110, 116, 49, 36, 48, 34, 6, 3, 85, 4, 11, 12, 27, 77, 105, 110, 105, 115, 116, 114, 121, 32, 111, 102, 32, 70, 111, 114, 101, 105, 103, 110, 32, 65, 102, 102, 97, 105, 114, 115, 49, 35, 48, 33, 6, 3, 85, 4, 11, 12, 26, 66, 117, 114, 101, 97, 117, 32, 111, 102, 32, 67, 111, 110, 115, 117, 108, 97, 114, 32, 65, 102, 102, 97, 105, 114, 115, 49, 13, 48, 11, 6, 3, 85, 4, 3, 12, 4, 67, 83, 67, 65, 2, 4, 73, 23, 221, 58, 48, 13, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 5, 0, 160, 72, 48, 21, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 3, 49, 8, 6, 6, 103, 129, 8, 1, 1, 1, 48, 47, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 4, 49, 34, 4, 32, 88, 150, 117, 172, 42, 214, 93, 115, 190, 149, 149, 163, 160, 120, 237, 44, 4, 204, 206, 234, 149, 168, 108, 140, 213, 138, 150, 100, 156, 241, 70, 6, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 4, 130, 1, 0, 96, 223, 163, 181, 62, 184, 109, 93, 60], sw1: 144, sw2: 0) Amount of data left read - 251 2020-12-25 10:57:56.014952+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 251 Mask class byte and pad command header CmdHeader: 0CB0073C80000000 Build DO'97 DO97: [151, 1, 251] Concatenate CmdHeader and DO97 M: 0CB0073C800000009701FB SSC: 6C6A0175736028CD Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028CE Concatenate SSC and M and add padding N: 6C6A0175736028CE0CB0073C800000009701FB8000000000 x0: 6C6A0175736028CE y0: 1B0A4D45E1F1BDDB x1: 0CB0073C80000000 y1: 78A0C0D8A024D689 x2: 9701FB8000000000 y2: DDE856F9EB0067F4 y: DDE856F9EB0067F4 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 107481EAB7F2F2DF a: 2A81F46142945CFF Compute MAC over N with KSmac CC: 2A81F46142945CFF Build DO'8E DO8E: 8E082A81F46142945CFF Construct and send protected APDU ProtectedAPDU: 0CB0073C0D9701FB8E082A81F46142945CFF00 [SM] [0x0C, 0xB0, 0x07, 0x3C, 0x0D, 0x97, 0x01, 0xFB, 0x8E, 0x08, 0x2A, 0x81, 0xF4, 0x61, 0x42, 0x94, 0x5C, 0xFF, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901B8A201B8E5F438DFE4263CFE2206828E4FCB58452A3552E3DE1D6F991AF9DF44DB87E250623F86214B7541F6978B444828D80F41E1AF6DEC6B6F40F9194A7ADF7940842EC616ACE6DF54391DD92BC09498E914154C27460AFCC1A4E8E00E181ED26FC274098E8E4B80333F7D7135CA57685C290EF72BB2DFD91518036F7913D39860D91D47034192A734B3383BD9F2E325385021994E8748C47DD38E34F4EA349C0012885222E86F05C5F079E439652A1582080D741C063744D131FCB354CD033815166C2E3106D1983956B90201C4BBC6D5048B4830FBCDC0917CC9927EB274B356FB1CE2B76932990290008E08794F94B9C8074BE89000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028CE Increment SSC with 1 SSC: 6C6A0175736028CF Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028CF8781E901B8A201B8E5F438DFE4263CFE2206828E4FCB58452A3552E3DE1D6F991AF9DF44DB87E250623F86214B7541F6978B444828D80F41E1AF6DEC6B6F40F9194A7ADF7940842EC616ACE6DF54391DD92BC09498E914154C27460AFCC1A4E8E00E181ED26FC274098E8E4B80333F7D7135CA57685C290EF72BB2DFD91518036F7913D39860D91D47034192A734B3383BD9F2E325385021994E8748C47DD38E34F4EA349C0012885222E86F05C5F079E439652A1582080D741C063744D131FCB354CD033815166C2E3106D1983956B90201C4BBC6D5048B4830FBCDC0917CC9927EB274B356FB1CE2B76932990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028CF y0: 099E3C2D3712E36D x1: 8781E901B8A201B8 y1: C615FD6FF051E088 x2: E5F438DFE4263CFE y2: 4782535F934E6584 x3: 2206828E4FCB5845 y3: E71862E47B48A2BC x4: 2A3552E3DE1D6F99 y4: B23CAF06B7F5B04B x5: 1AF9DF44DB87E250 y5: 717E304A85ECDF00 x6: 623F86214B7541F6 y6: FB17D4F0232F6AF1 x7: 978B444828D80F41 y7: 9AE3E4F45B2B8064 x8: E1AF6DEC6B6F40F9 y8: A300F8A806E07D21 x9: 194A7ADF7940842E y9: 0A1FF47A418C1B39 x10: C616ACE6DF54391D y10: D795CF1FB3070D08 x11: D92BC09498E91415 y11: 01C45E131B465A99 x12: 4C27460AFCC1A4E8 y12: F8AFAA2FD54D617A x13: E00E181ED26FC274 y13: 097280EBA16B9899 x14: 098E8E4B80333F7D y14: B4A5FB0A8EE23C47 x15: 7135CA57685C290E y15: E5DAB59B4266CB81 x16: F72BB2DFD9151803 y16: CA11D73677630634 x17: 6F7913D39860D91D y17: BA4F5C5BAA93088C x18: 47034192A734B338 y18: CA6D234CBE1D248A x19: 3BD9F2E325385021 y19: 25BC3C31E179640E x20: 994E8748C47DD38E y20: 03FD84E722006148 x21: 34F4EA349C001288 y21: EA197E37951AB583 x22: 5222E86F05C5F079 y22: 4CD8EA8D347E9A90 x23: E439652A1582080D y23: FC617E8F6F2B90EF x24: 741C063744D131FC y24: 7954A63300BA3DBC x25: B354CD033815166C y25: 2DEC980A15C9D91A x26: 2E3106D1983956B9 y26: 8C6CD6381F98D10D x27: 0201C4BBC6D5048B y27: E4A7141DC067CEFC x28: 4830FBCDC0917CC9 y28: 6CCFA0798C4CCDE1 x29: 927EB274B356FB1C y29: 6BDC5A7CBD7BE159 x30: E2B7693299029000 y30: FB87F9D90003DAC6 x31: 8000000000000000 y31: 056CB4DF2F683197 y: 056CB4DF2F683197 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 69B3B37BC5382BFF a: 794F94B9C8074BE8 CC: 794F94B9C8074BE8 Compare CC with data of DO'8E of RAPDU 794F94B9C8074BE8 == 794F94B9C8074BE8 ? true Decrypt data of DO'87 with KSenc DecryptedData: 9BB116A25F8B305C7C4ABD0AF968539B3D35ED062E33C006F63CE2FA541A08173C0A0AA84781B0E9F9A5A1DAF5318BD64670743595E76F55402DD21D563F5F745E9946BF7402DAFB5F5AAC09EABFE69EC1E1C02D88D413C3B472F41BA1B49442337A757348CF20538A738EF7D6534AB0F8DB55AD8FEED06C74AD44A9F6223090A60B242C2FB5AA5D231D1B9DA1743C1537564A2736462669D56AF373A2B0AD94ADE9F621E9763FF3566B44F1C6E8362BC4C32ACA4257812D4ED755682FFC0572FE949FB2A25FF68A843DA3F43EE52105FA475C43C8396052840485401EB384D70892B9D5DD47DC Unprotected APDU: [9BB116A25F8B305C7C4ABD0AF968539B3D35ED062E33C006F63CE2FA541A08173C0A0AA84781B0E9F9A5A1DAF5318BD64670743595E76F55402DD21D563F5F745E9946BF7402DAFB5F5AAC09EABFE69EC1E1C02D88D413C3B472F41BA1B49442337A757348CF20538A738EF7D6534AB0F8DB55AD8FEED06C74AD44A9F6223090A60B242C2FB5AA5D231D1B9DA1743C1537564A2736462669D56AF373A2B0AD94ADE9F621E9763FF3566B44F1C6E8362BC4C32ACA4257812D4ED755682FFC0572FE949FB2A25FF68A843DA3F43EE52105FA475C43C8396052840485401EB384D70892B9D5DD47DC] 90 00 got resp - ResponseAPDU(data: [155, 177, 22, 162, 95, 139, 48, 92, 124, 74, 189, 10, 249, 104, 83, 155, 61, 53, 237, 6, 46, 51, 192, 6, 246, 60, 226, 250, 84, 26, 8, 23, 60, 10, 10, 168, 71, 129, 176, 233, 249, 165, 161, 218, 245, 49, 139, 214, 70, 112, 116, 53, 149, 231, 111, 85, 64, 45, 210, 29, 86, 63, 95, 116, 94, 153, 70, 191, 116, 2, 218, 251, 95, 90, 172, 9, 234, 191, 230, 158, 193, 225, 192, 45, 136, 212, 19, 195, 180, 114, 244, 27, 161, 180, 148, 66, 51, 122, 117, 115, 72, 207, 32, 83, 138, 115, 142, 247, 214, 83, 74, 176, 248, 219, 85, 173, 143, 238, 208, 108, 116, 173, 68, 169, 246, 34, 48, 144, 166, 11, 36, 44, 47, 181, 170, 93, 35, 29, 27, 157, 161, 116, 60, 21, 55, 86, 74, 39, 54, 70, 38, 105, 213, 106, 243, 115, 162, 176, 173, 148, 173, 233, 246, 33, 233, 118, 63, 243, 86, 107, 68, 241, 198, 232, 54, 43, 196, 195, 42, 202, 66, 87, 129, 45, 78, 215, 85, 104, 47, 252, 5, 114, 254, 148, 159, 178, 162, 95, 246, 138, 132, 61, 163, 244, 62, 229, 33, 5, 250, 71, 92, 67, 200, 57, 96, 82, 132, 4, 133, 64, 30, 179, 132, 215, 8, 146, 185, 213, 221, 71, 220], sw1: 144, sw2: 0) Amount of data left read - 20 2020-12-25 10:57:56.057705+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 20 Mask class byte and pad command header CmdHeader: 0CB0082380000000 Build DO'97 DO97: [151, 1, 20] Concatenate CmdHeader and DO97 M: 0CB0082380000000970114 SSC: 6C6A0175736028CF Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028D0 Concatenate SSC and M and add padding N: 6C6A0175736028D00CB00823800000009701148000000000 x0: 6C6A0175736028D0 y0: B97CF580850A5F91 x1: 0CB0082380000000 y1: E80493EEA0F72AC0 x2: 9701148000000000 y2: 7239D4BABB73D968 y: 7239D4BABB73D968 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: E6693FADCDCD6970 a: 11F60D7BB5F53198 Compute MAC over N with KSmac CC: 11F60D7BB5F53198 Build DO'8E DO8E: 8E0811F60D7BB5F53198 Construct and send protected APDU ProtectedAPDU: 0CB008230D9701148E0811F60D7BB5F5319800 [SM] [0x0C, 0xB0, 0x08, 0x23, 0x0D, 0x97, 0x01, 0x14, 0x8E, 0x08, 0x11, 0xF6, 0x0D, 0x7B, 0xB5, 0xF5, 0x31, 0x98, 0x00] Receive response APDU of MRTD's chip RAPDU: 87190197B5A5BFC4D4D08C5DEA6E8CF5840493A3D61F641A3E5C28990290008E08AB738F38C23E08F09000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028D0 Increment SSC with 1 SSC: 6C6A0175736028D1 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028D187190197B5A5BFC4D4D08C5DEA6E8CF5840493A3D61F641A3E5C289902900080 Compute MAC with KSmac x0: 6C6A0175736028D1 y0: 48A5C3F999C06C79 x1: 87190197B5A5BFC4 y1: CE7E3855617BE792 x2: D4D08C5DEA6E8CF5 y2: 49B518B595A1FA69 x3: 840493A3D61F641A y3: 3392B74D80BBAE8E x4: 3E5C289902900080 y4: DEE2F8FEB0E31FFE y: DEE2F8FEB0E31FFE bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 379160F6A7A1833E a: AB738F38C23E08F0 CC: AB738F38C23E08F0 Compare CC with data of DO'8E of RAPDU AB738F38C23E08F0 == AB738F38C23E08F0 ? true Decrypt data of DO'87 with KSenc DecryptedData: 11336D9441A482B7DE1F59604F099B6E00000000 Unprotected APDU: [11336D9441A482B7DE1F59604F099B6E00000000] 90 00 got resp - ResponseAPDU(data: [17, 51, 109, 148, 65, 164, 130, 183, 222, 31, 89, 96, 79, 9, 155, 110, 0, 0, 0, 0], sw1: 144, sw2: 0) Amount of data left read - 0 2020-12-25 10:57:56.069252+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Reading tag - DG1 2020-12-25 10:57:56.069617+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Mask class byte and pad command header CmdHeader: 0CA4020C80000000 Pad data Data: 0101800000000000 Encrypt data with KSenc EncryptedData: 1704262CF2A34144 Build DO'87 DO87: 8709011704262CF2A34144 Concatenate CmdHeader and DO87 M: 0CA4020C800000008709011704262CF2A34144 SSC: 6C6A0175736028D1 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028D2 Concatenate SSC and M and add padding N: 6C6A0175736028D20CA4020C800000008709011704262CF2A341448000000000 x0: 6C6A0175736028D2 y0: 56ADC658B9B8FF3C x1: 0CA4020C80000000 y1: A12D63ABAA903481 x2: 8709011704262CF2 y2: 4A61A485035F6058 x3: A341448000000000 y3: 9D66542DA5241349 y: 9D66542DA5241349 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 4D45C37C86E6FA3E a: 1E7184971A86A137 Compute MAC over N with KSmac CC: 1E7184971A86A137 Build DO'8E DO8E: 8E081E7184971A86A137 Construct and send protected APDU ProtectedAPDU: 0CA4020C158709011704262CF2A341448E081E7184971A86A13700 [SM] [0x0C, 0xA4, 0x02, 0x0C, 0x15, 0x87, 0x09, 0x01, 0x17, 0x04, 0x26, 0x2C, 0xF2, 0xA3, 0x41, 0x44, 0x8E, 0x08, 0x1E, 0x71, 0x84, 0x97, 0x1A, 0x86, 0xA1, 0x37, 0x00] Receive response APDU of MRTD's chip RAPDU: 990290008E0878EE4E16E7CFE4F09000 Verify RAPDU CC by computing MAC of DO'99 SSC: 6C6A0175736028D2 Increment SSC with 1 SSC: 6C6A0175736028D3 Concatenate SSC and DO'99 and add padding K: 6C6A0175736028D39902900080000000 Compute MAC with KSmac x0: 6C6A0175736028D3 y0: 3E116462A668AAC0 x1: 9902900080000000 y1: 1944B2D5ABF30CCA y: 1944B2D5ABF30CCA bkey: E638769E34981349 akey: FD4AC70407EA4954 b: CFB8B4C3E6D1E298 a: 78EE4E16E7CFE4F0 CC: 78EE4E16E7CFE4F0 Compare CC with data of DO'8E of RAPDU 78EE4E16E7CFE4F0 == 78EE4E16E7CFE4F0 ? true Unprotected APDU: [] 90 00 Mask class byte and pad command header CmdHeader: 0CB0000080000000 Build DO'97 DO97: [151, 1, 4] Concatenate CmdHeader and DO97 M: 0CB0000080000000970104 SSC: 6C6A0175736028D3 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028D4 Concatenate SSC and M and add padding N: 6C6A0175736028D40CB00000800000009701048000000000 x0: 6C6A0175736028D4 y0: FE6B85F582089501 x1: 0CB0000080000000 y1: 87C682E94FD3ECF8 x2: 9701048000000000 y2: AA810112E0C46581 y: AA810112E0C46581 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 77D7E55F0E580549 a: BD65E2E611933394 Compute MAC over N with KSmac CC: BD65E2E611933394 Build DO'8E DO8E: 8E08BD65E2E611933394 Construct and send protected APDU ProtectedAPDU: 0CB000000D9701048E08BD65E2E61193339400 [SM] [0x0C, 0xB0, 0x00, 0x00, 0x0D, 0x97, 0x01, 0x04, 0x8E, 0x08, 0xBD, 0x65, 0xE2, 0xE6, 0x11, 0x93, 0x33, 0x94, 0x00] Receive response APDU of MRTD's chip RAPDU: 870901D70EB49720E0F79D990290008E083D6B9B67470C31859000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028D4 Increment SSC with 1 SSC: 6C6A0175736028D5 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028D5870901D70EB49720E0F79D9902900080 Compute MAC with KSmac x0: 6C6A0175736028D5 y0: 3EC8D00904050DD5 x1: 870901D70EB49720 y1: CB3E72FCF4E83BBD x2: E0F79D9902900080 y2: EE5FD1679A361480 y: EE5FD1679A361480 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 86A89D48FDF51C2D a: 3D6B9B67470C3185 CC: 3D6B9B67470C3185 Compare CC with data of DO'8E of RAPDU 3D6B9B67470C3185 == 3D6B9B67470C3185 ? true Decrypt data of DO'87 with KSenc DecryptedData: 615B5F1F Unprotected APDU: [615B5F1F] 90 00 Amount of data to read - 91 2020-12-25 10:57:56.098868+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 91 Mask class byte and pad command header CmdHeader: 0CB0000280000000 Build DO'97 DO97: [151, 1, 91] Concatenate CmdHeader and DO97 M: 0CB000028000000097015B SSC: 6C6A0175736028D5 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028D6 Concatenate SSC and M and add padding N: 6C6A0175736028D60CB000028000000097015B8000000000 x0: 6C6A0175736028D6 y0: 37391F9CFDE99246 x1: 0CB0000280000000 y1: B11C060A4A0D7394 x2: 97015B8000000000 y2: E2A6DA7EDDA241F8 y: E2A6DA7EDDA241F8 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: ADD5B12F173AF9D3 a: 173413D295BBD889 Compute MAC over N with KSmac CC: 173413D295BBD889 Build DO'8E DO8E: 8E08173413D295BBD889 Construct and send protected APDU ProtectedAPDU: 0CB000020D97015B8E08173413D295BBD88900 [SM] [0x0C, 0xB0, 0x00, 0x02, 0x0D, 0x97, 0x01, 0x5B, 0x8E, 0x08, 0x17, 0x34, 0x13, 0xD2, 0x95, 0xBB, 0xD8, 0x89, 0x00] Receive response APDU of MRTD's chip RAPDU: 876101CC192D6E89B6362DCD1714E2A8EEA1360813CBA1FCCC6B93C8B3C3BF8AE228D9344EBFB4DD5BCF137060D1E443DB24445C7617BD770288F08711729CA103D3163099E041B2B7B0FBF923DF559C37192E13D6BE880706BC91C5A7BDF760FB3C39990290008E0882B3D63856FE672A9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028D6 Increment SSC with 1 SSC: 6C6A0175736028D7 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028D7876101CC192D6E89B6362DCD1714E2A8EEA1360813CBA1FCCC6B93C8B3C3BF8AE228D9344EBFB4DD5BCF137060D1E443DB24445C7617BD770288F08711729CA103D3163099E041B2B7B0FBF923DF559C37192E13D6BE880706BC91C5A7BDF760FB3C399902900080 Compute MAC with KSmac x0: 6C6A0175736028D7 y0: 422E9EED9148B803 x1: 876101CC192D6E89 y1: E39158AFF40B471A x2: B6362DCD1714E2A8 y2: 257A8A4956B4B3EB x3: EEA1360813CBA1FC y3: D3AC153336DEADE5 x4: CC6B93C8B3C3BF8A y4: 99A1AF9A837E3EBC x5: E228D9344EBFB4DD y5: 312F97B13667C0D4 x6: 5BCF137060D1E443 y6: 5DB073DF0C3DF1E2 x7: DB24445C7617BD77 y7: 5EAE86203C768863 x8: 0288F08711729CA1 y8: A757A13685061C84 x9: 03D3163099E041B2 y9: BDD39C9D22E8E850 x10: B7B0FBF923DF559C y10: B4670402D8DBE4A7 x11: 37192E13D6BE8807 y11: A89DAB48C150660C x12: 06BC91C5A7BDF760 y12: 7970764617238849 x13: FB3C399902900080 y13: A2D39116921A0078 y: A2D39116921A0078 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 6E356CA65453858D a: 82B3D63856FE672A CC: 82B3D63856FE672A Compare CC with data of DO'8E of RAPDU 82B3D63856FE672A == 82B3D63856FE672A ? true Decrypt data of DO'87 with KSenc DecryptedData: 5F1F58503C54574E434849414E473C3C4348454E473C54494E473C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3331353034393531303854574E383730333237314D32373034323039413132363431343637363C3C3C3C3536 Unprotected APDU: [5F1F58503C54574E434849414E473C3C4348454E473C54494E473C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3331353034393531303854574E383730333237314D32373034323039413132363431343637363C3C3C3C3536] 90 00 got resp - ResponseAPDU(data: [95, 31, 88, 80, 60, 84, 87, 78, 67, 72, 73, 65, 78, 71, 60, 60, 67, 72, 69, 78, 71, 60, 84, 73, 78, 71, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 51, 49, 53, 48, 52, 57, 53, 49, 48, 56, 84, 87, 78, 56, 55, 48, 51, 50, 55, 49, 77, 50, 55, 48, 52, 50, 48, 57, 65, 49, 50, 54, 52, 49, 52, 54, 55, 54, 60, 60, 60, 60, 53, 54], sw1: 144, sw2: 0) Amount of data left read - 0 2020-12-25 10:57:56.128709+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Reading tag - DG2 2020-12-25 10:57:56.129327+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Mask class byte and pad command header CmdHeader: 0CA4020C80000000 Pad data Data: 0102800000000000 Encrypt data with KSenc EncryptedData: 8AB0072693CB564B Build DO'87 DO87: 8709018AB0072693CB564B Concatenate CmdHeader and DO87 M: 0CA4020C800000008709018AB0072693CB564B SSC: 6C6A0175736028D7 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028D8 Concatenate SSC and M and add padding N: 6C6A0175736028D80CA4020C800000008709018AB0072693CB564B8000000000 x0: 6C6A0175736028D8 y0: AF91E7CBD0B09CB4 x1: 0CA4020C80000000 y1: D581A6AAAB00F45E x2: 8709018AB0072693 y2: 3B8FF61E46F9E10E x3: CB564B8000000000 y3: 19D970FE1D8FA827 y: 19D970FE1D8FA827 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 6D5477E75EF0028D a: 3346F01D5468DE1C Compute MAC over N with KSmac CC: 3346F01D5468DE1C Build DO'8E DO8E: 8E083346F01D5468DE1C Construct and send protected APDU ProtectedAPDU: 0CA4020C158709018AB0072693CB564B8E083346F01D5468DE1C00 [SM] [0x0C, 0xA4, 0x02, 0x0C, 0x15, 0x87, 0x09, 0x01, 0x8A, 0xB0, 0x07, 0x26, 0x93, 0xCB, 0x56, 0x4B, 0x8E, 0x08, 0x33, 0x46, 0xF0, 0x1D, 0x54, 0x68, 0xDE, 0x1C, 0x00] Receive response APDU of MRTD's chip RAPDU: 990290008E08A18F11BE6815F82F9000 Verify RAPDU CC by computing MAC of DO'99 SSC: 6C6A0175736028D8 Increment SSC with 1 SSC: 6C6A0175736028D9 Concatenate SSC and DO'99 and add padding K: 6C6A0175736028D99902900080000000 Compute MAC with KSmac x0: 6C6A0175736028D9 y0: 95A3D9AACF319E95 x1: 9902900080000000 y1: FF94612EDAC8847F y: FF94612EDAC8847F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 93C6DF63B67EA6A3 a: A18F11BE6815F82F CC: A18F11BE6815F82F Compare CC with data of DO'8E of RAPDU A18F11BE6815F82F == A18F11BE6815F82F ? true Unprotected APDU: [] 90 00 Mask class byte and pad command header CmdHeader: 0CB0000080000000 Build DO'97 DO97: [151, 1, 4] Concatenate CmdHeader and DO97 M: 0CB0000080000000970104 SSC: 6C6A0175736028D9 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028DA Concatenate SSC and M and add padding N: 6C6A0175736028DA0CB00000800000009701048000000000 x0: 6C6A0175736028DA y0: 2526E198FEA8ECEE x1: 0CB0000080000000 y1: C728D791B14234DC x2: 9701048000000000 y2: 40320E6343B5D024 y: 40320E6343B5D024 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: F3B24DC80E994CE2 a: A9650D759DF4798E Compute MAC over N with KSmac CC: A9650D759DF4798E Build DO'8E DO8E: 8E08A9650D759DF4798E Construct and send protected APDU ProtectedAPDU: 0CB000000D9701048E08A9650D759DF4798E00 [SM] [0x0C, 0xB0, 0x00, 0x00, 0x0D, 0x97, 0x01, 0x04, 0x8E, 0x08, 0xA9, 0x65, 0x0D, 0x75, 0x9D, 0xF4, 0x79, 0x8E, 0x00] Receive response APDU of MRTD's chip RAPDU: 8709010044C21C54FB8D6A990290008E08DDD290DF35F7FC689000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028DA Increment SSC with 1 SSC: 6C6A0175736028DB Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028DB8709010044C21C54FB8D6A9902900080 Compute MAC with KSmac x0: 6C6A0175736028DB y0: 3E18C13E4BE00D0D x1: 8709010044C21C54 y1: 552C61441B21AFFF x2: FB8D6A9902900080 y2: D1D35D3BC94D2E68 y: D1D35D3BC94D2E68 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 7043C2706FDE15D3 a: DDD290DF35F7FC68 CC: DDD290DF35F7FC68 Compare CC with data of DO'8E of RAPDU DDD290DF35F7FC68 == DDD290DF35F7FC68 ? true Decrypt data of DO'87 with KSenc DecryptedData: 75824F73 Unprotected APDU: [75824F73] 90 00 Amount of data to read - 20339 2020-12-25 10:57:56.157531+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0000480000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0000480000000970100 SSC: 6C6A0175736028DB Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028DC Concatenate SSC and M and add padding N: 6C6A0175736028DC0CB00004800000009701008000000000 x0: 6C6A0175736028DC y0: D1A5A4E20010B5A6 x1: 0CB0000480000000 y1: 689E27CE260769A8 x2: 9701008000000000 y2: 95965448403A7B5B y: 95965448403A7B5B bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1B922073F87B9082 a: 3C5C328AC386780C Compute MAC over N with KSmac CC: 3C5C328AC386780C Build DO'8E DO8E: 8E083C5C328AC386780C Construct and send protected APDU ProtectedAPDU: 0CB000040D9701008E083C5C328AC386780C00 [SM] [0x0C, 0xB0, 0x00, 0x04, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x3C, 0x5C, 0x32, 0x8A, 0xC3, 0x86, 0x78, 0x0C, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901A26CDD23DB3968629F1F6F7BA60A92BA729BFF3D9B9E1F6B960A6E705F19AC662ADF1475CAF39A49695B43A16C4C3F0E271931CA35F3020BB01373A2A8A8A5C04836CE70BA5F859355CB7F9898F556C2682DD92F11694B03998024C015CE38D281CBC8FCBF5F165BC4DED48DE07576AE711C3E08199684BFD38072B015E228D8CD8E3D58915366BC025B7038AF9239E463DCF8FED524C3249032C37288867249DB6118F6C65C5E2751C7389DBB8A66422072D7BCD3465090DCDFDD9C60B83408BC06291BAF38F6C54F726C76D6CFE8513141732ED8882F6AEE2BA6C89D174A9E8304A64B4266949F990290008E085396761A5BC5582D9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028DC Increment SSC with 1 SSC: 6C6A0175736028DD Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028DD8781E901A26CDD23DB3968629F1F6F7BA60A92BA729BFF3D9B9E1F6B960A6E705F19AC662ADF1475CAF39A49695B43A16C4C3F0E271931CA35F3020BB01373A2A8A8A5C04836CE70BA5F859355CB7F9898F556C2682DD92F11694B03998024C015CE38D281CBC8FCBF5F165BC4DED48DE07576AE711C3E08199684BFD38072B015E228D8CD8E3D58915366BC025B7038AF9239E463DCF8FED524C3249032C37288867249DB6118F6C65C5E2751C7389DBB8A66422072D7BCD3465090DCDFDD9C60B83408BC06291BAF38F6C54F726C76D6CFE8513141732ED8882F6AEE2BA6C89D174A9E8304A64B4266949F990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028DD y0: 03710E0A64FE7701 x1: 8781E901A26CDD23 y1: D27F0E2EAF25ECC9 x2: DB3968629F1F6F7B y2: 77E58E4C0CC3193E x3: A60A92BA729BFF3D y3: 79F576615B08CCA0 x4: 9B9E1F6B960A6E70 y4: 45C43B961FA580F5 x5: 5F19AC662ADF1475 y5: 6807BCDD6D964E8C x6: CAF39A49695B43A1 y6: 997002B9C72B25D9 x7: 6C4C3F0E271931CA y7: 2DB33363149854D5 x8: 35F3020BB01373A2 y8: 55B4FEC5B494D889 x9: A8A8A5C04836CE70 y9: B581900D9CF8EBAF x10: BA5F859355CB7F98 y10: 02D4F1AF76346051 x11: 98F556C2682DD92F y11: 600AF77E3E7969BA x12: 11694B03998024C0 y12: A88BC1EEF874F305 x13: 15CE38D281CBC8FC y13: EF57462EFF08EAA3 x14: BF5F165BC4DED48D y14: 7739B96F528F9E8B x15: E07576AE711C3E08 y15: 1A7F81018D738D88 x16: 199684BFD38072B0 y16: 376AE6BC8F328924 x17: 15E228D8CD8E3D58 y17: 1BE1F3F21B9B89A2 x18: 915366BC025B7038 y18: 5E091B1F36165D9F x19: AF9239E463DCF8FE y19: 28FD59D2458B8933 x20: D524C3249032C372 y20: 9377DE88DA6E73C0 x21: 88867249DB6118F6 y21: 9D5BDA2F7BFBA78B x22: C65C5E2751C7389D y22: 91DDCBA29A54F812 x23: BB8A66422072D7BC y23: B9CAD92D4927CBF6 x24: D3465090DCDFDD9C y24: 9E0C43002B3F97CF x25: 60B83408BC06291B y25: 31F50C05BC9F6ACC x26: AF38F6C54F726C76 y26: CDE17ECA49C0A35D x27: D6CFE8513141732E y27: 4C4694875B64EDC6 x28: D8882F6AEE2BA6C8 y28: EECF1185C04248AA x29: 9D174A9E8304A64B y29: 5CFD57FF3E3B2D6B x30: 4266949F99029000 y30: 7C2FF8B281CCA38C x31: 8000000000000000 y31: DE34D079082E849F y: DE34D079082E849F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 8F5249FA3DE1F216 a: 5396761A5BC5582D CC: 5396761A5BC5582D Compare CC with data of DO'8E of RAPDU 5396761A5BC5582D == 5396761A5BC5582D ? true Decrypt data of DO'87 with KSenc DecryptedData: 7F61824F6E0201017F60824F66A10B80020101870201018801085F2E824F54464143003031300000004F4C000100004F460002000000000000000000000000000001C1010E0101000001C2009101010000010001A4020D000000000000FFD8FFE000104A46494600010101004800480000FFDB00430007050506050407060506080707080A110B0A09090A150F100C1118151A19181518171B1E27211B1D251D1718222E222528292B2C2B1A202F332F2A32272A2B2AFFDB0043010708080A090A140B0B142A1C181C2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A Unprotected APDU: [7F61824F6E0201017F60824F66A10B80020101870201018801085F2E824F54464143003031300000004F4C000100004F460002000000000000000000000000000001C1010E0101000001C2009101010000010001A4020D000000000000FFD8FFE000104A46494600010101004800480000FFDB00430007050506050407060506080707080A110B0A09090A150F100C1118151A19181518171B1E27211B1D251D1718222E222528292B2C2B1A202F332F2A32272A2B2AFFDB0043010708080A090A140B0B142A1C181C2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A] 90 00 got resp - ResponseAPDU(data: [127, 97, 130, 79, 110, 2, 1, 1, 127, 96, 130, 79, 102, 161, 11, 128, 2, 1, 1, 135, 2, 1, 1, 136, 1, 8, 95, 46, 130, 79, 84, 70, 65, 67, 0, 48, 49, 48, 0, 0, 0, 79, 76, 0, 1, 0, 0, 79, 70, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 193, 1, 14, 1, 1, 0, 0, 1, 194, 0, 145, 1, 1, 0, 0, 1, 0, 1, 164, 2, 13, 0, 0, 0, 0, 0, 0, 255, 216, 255, 224, 0, 16, 74, 70, 73, 70, 0, 1, 1, 1, 0, 72, 0, 72, 0, 0, 255, 219, 0, 67, 0, 7, 5, 5, 6, 5, 4, 7, 6, 5, 6, 8, 7, 7, 8, 10, 17, 11, 10, 9, 9, 10, 21, 15, 16, 12, 17, 24, 21, 26, 25, 24, 21, 24, 23, 27, 30, 39, 33, 27, 29, 37, 29, 23, 24, 34, 46, 34, 37, 40, 41, 43, 44, 43, 26, 32, 47, 51, 47, 42, 50, 39, 42, 43, 42, 255, 219, 0, 67, 1, 7, 8, 8, 10, 9, 10, 20, 11, 11, 20, 42, 28, 24, 28, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42], sw1: 144, sw2: 0) Amount of data left read - 20108 2020-12-25 10:57:56.204865+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB000EB80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB000EB80000000970100 SSC: 6C6A0175736028DD Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028DE Concatenate SSC and M and add padding N: 6C6A0175736028DE0CB000EB800000009701008000000000 x0: 6C6A0175736028DE y0: 39BB5653DF39BE10 x1: 0CB000EB80000000 y1: 1095D6B7333C6B94 x2: 9701008000000000 y2: 171878E49B78F898 y: 171878E49B78F898 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1D99C43092BBC7D0 a: 4F0530058C95DD8F Compute MAC over N with KSmac CC: 4F0530058C95DD8F Build DO'8E DO8E: 8E084F0530058C95DD8F Construct and send protected APDU ProtectedAPDU: 0CB000EB0D9701008E084F0530058C95DD8F00 [SM] [0x0C, 0xB0, 0x00, 0xEB, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x4F, 0x05, 0x30, 0x05, 0x8C, 0x95, 0xDD, 0x8F, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901625E6E2AE0C2D078EEC9B4246E9E1B5C4287480F74D55D7AE30166A4DE655782733ECFB81C696E032BA4B7CFBECB9929BE7BDDB0995A59B854ECC49752B2D7522F653562135F0BEA3E58A8BC29A310189A3532D81D49EFCB749BAA7A03BAFB992175955213DEAE228C332166662A69A7D18C0FEE264289EF8DFED4E36009F36449F6808A4852BFE6EBF3A5AAA01171EE9555C3D36D611910AADF530E88AE1D00D2B479A21C932BDEB05B7F1938BDCA1249A99ACA34F671E2DB83EA43849249491BE5F63B7712CE21EF34C17E7DB5C2B4D7DD7C88735B32497DAB044F1E0BFE8712809F55423A3655990290008E083AB389DB632BD1D09000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028DE Increment SSC with 1 SSC: 6C6A0175736028DF Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028DF8781E901625E6E2AE0C2D078EEC9B4246E9E1B5C4287480F74D55D7AE30166A4DE655782733ECFB81C696E032BA4B7CFBECB9929BE7BDDB0995A59B854ECC49752B2D7522F653562135F0BEA3E58A8BC29A310189A3532D81D49EFCB749BAA7A03BAFB992175955213DEAE228C332166662A69A7D18C0FEE264289EF8DFED4E36009F36449F6808A4852BFE6EBF3A5AAA01171EE9555C3D36D611910AADF530E88AE1D00D2B479A21C932BDEB05B7F1938BDCA1249A99ACA34F671E2DB83EA43849249491BE5F63B7712CE21EF34C17E7DB5C2B4D7DD7C88735B32497DAB044F1E0BFE8712809F55423A3655990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028DF y0: 295DF8A70285F78E x1: 8781E901625E6E2A y1: ACBA3CD839D944B3 x2: E0C2D078EEC9B424 y2: 0086003924DA44A0 x3: 6E9E1B5C4287480F y3: 11F58895DD9753B8 x4: 74D55D7AE30166A4 y4: 39E5C141EBD9EAA4 x5: DE655782733ECFB8 y5: 84BE3871DD9D799D x6: 1C696E032BA4B7CF y6: 5F0E3B92B80B7E3C x7: BECB9929BE7BDDB0 y7: A60E04D6F9B80669 x8: 995A59B854ECC497 y8: 3BB62C1678C87373 x9: 52B2D7522F653562 y9: 16BFEB896585E9B5 x10: 135F0BEA3E58A8BC y10: 7B7CDAB922F8A45C x11: 29A310189A3532D8 y11: 3C553D9B59DDAE19 x12: 1D49EFCB749BAA7A y12: 792A01B60F32F27B x13: 03BAFB9921759552 y13: 3B398685A0B18802 x14: 13DEAE228C332166 y14: 73FB2B1A91F3251A x15: 662A69A7D18C0FEE y15: E6D4AE8AE3D622E8 x16: 264289EF8DFED4E3 y16: 56CFCA234F5103B9 x17: 6009F36449F6808A y17: 277C19132B4B2DE1 x18: 4852BFE6EBF3A5AA y18: 87D0789437D47174 x19: A01171EE9555C3D3 y19: 7C47D0B4821D013D x20: 6D611910AADF530E y20: 749AC49928666EE2 x21: 88AE1D00D2B479A2 y21: 5D68D2AEC824CF10 x22: 1C932BDEB05B7F19 y22: B2EC95F386D5BB99 x23: 38BDCA1249A99ACA y23: 192D880ED2492850 x24: 34F671E2DB83EA43 y24: 5074BFD437D9EA08 x25: 849249491BE5F63B y25: C1CE5EE9748D94F0 x26: 7712CE21EF34C17E y26: A4BF37FDA24142D7 x27: 7DB5C2B4D7DD7C88 y27: 90DC3F64B86A6171 x28: 735B32497DAB044F y28: 9C85200B758C24B3 x29: 1E0BFE8712809F55 y29: DE977418E1790D8A x30: 423A365599029000 y30: 041365853D03BB38 x31: 8000000000000000 y31: 5EC37F12B7DC33A2 y: 5EC37F12B7DC33A2 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 89A3B0AB2B4D88C5 a: 3AB389DB632BD1D0 CC: 3AB389DB632BD1D0 Compare CC with data of DO'8E of RAPDU 3AB389DB632BD1D0 == 3AB389DB632BD1D0 ? true Decrypt data of DO'87 with KSenc DecryptedData: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AFFC0001108020D01A403012200021101031101FFC4001C0000010501010100000000000000000000000203040506010708FFC4003C100001030303030204050205040105000001000203041121051231064151136107223271142342819152A11524B1C1D1334362E1162653A2F0F1FFC400190101000301010000000000000000000000000102030405FFC400221101010101000301010101000301000000000102110312213141130422516132FFDA000C03010002110311003F00F784210ACC821084021084021084021084021084021084 Unprotected APDU: [2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AFFC0001108020D01A403012200021101031101FFC4001C0000010501010100000000000000000000000203040506010708FFC4003C100001030303030204050205040105000001000203041121051231064151136107223271142342819152A11524B1C1D1334362E1162653A2F0F1FFC400190101000301010000000000000000000000000102030405FFC400221101010101000301010101000301000000000102110312213141130422516132FFDA000C03010002110311003F00F784210ACC821084021084021084021084021084021084] 90 00 got resp - ResponseAPDU(data: [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 255, 192, 0, 17, 8, 2, 13, 1, 164, 3, 1, 34, 0, 2, 17, 1, 3, 17, 1, 255, 196, 0, 28, 0, 0, 1, 5, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 1, 7, 8, 255, 196, 0, 60, 16, 0, 1, 3, 3, 3, 3, 2, 4, 5, 2, 5, 4, 1, 5, 0, 0, 1, 0, 2, 3, 4, 17, 33, 5, 18, 49, 6, 65, 81, 19, 97, 7, 34, 50, 113, 20, 35, 66, 129, 145, 82, 161, 21, 36, 177, 193, 209, 51, 67, 98, 225, 22, 38, 83, 162, 240, 241, 255, 196, 0, 25, 1, 1, 0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 255, 196, 0, 34, 17, 1, 1, 1, 1, 0, 3, 1, 1, 1, 1, 0, 3, 1, 0, 0, 0, 0, 1, 2, 17, 3, 18, 33, 49, 65, 19, 4, 34, 81, 97, 50, 255, 218, 0, 12, 3, 1, 0, 2, 17, 3, 17, 0, 63, 0, 247, 132, 33, 10, 204, 130, 16, 132, 2, 16, 132, 2, 16, 132, 2, 16, 132, 2, 16, 132, 2, 16, 132], sw1: 144, sw2: 0) Amount of data left read - 19877 2020-12-25 10:57:56.251731+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB001D280000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB001D280000000970100 SSC: 6C6A0175736028DF Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028E0 Concatenate SSC and M and add padding N: 6C6A0175736028E00CB001D2800000009701008000000000 x0: 6C6A0175736028E0 y0: 685BA1FCA3B3856B x1: 0CB001D280000000 y1: 8DBAD38A5136C3C9 x2: 9701008000000000 y2: CB54F9A0E2BADFBC y: CB54F9A0E2BADFBC bkey: E638769E34981349 akey: FD4AC70407EA4954 b: F83EA18F11DE3AD8 a: 97D3915200E1A979 Compute MAC over N with KSmac CC: 97D3915200E1A979 Build DO'8E DO8E: 8E0897D3915200E1A979 Construct and send protected APDU ProtectedAPDU: 0CB001D20D9701008E0897D3915200E1A97900 [SM] [0x0C, 0xB0, 0x01, 0xD2, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x97, 0xD3, 0x91, 0x52, 0x00, 0xE1, 0xA9, 0x79, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9017E0D0D45DFC4E7D142FAB6127C7F272A96FF40CF0BA7A5B7673EC80BE4698AA22663F537F3A980A691C6A114FAFC5AC16C5F89CE587BF7E8CD75D159643C2EACE047402A4A978549D410A3DD323EAE2096E9ECFDA563D29C644A1424864656B734684FEEA5D9DC80E558504C8603438C9B9A7C27118C3E2467E398265BE95E88E5B894AA5E8E9186199B9108AC69B3129C15B0ED9E636B06D194B6E1AA683ECC4C4B6338E83EE1C06926B6475BD86176FE5E1269400093CE7D2FFCA13C4AE215DF16ED2426B08A8FF90441D464598495F2032D098E8282C532F2259DC563097E533F65777B556773990290008E08B9DAB6A7720C022A9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028E0 Increment SSC with 1 SSC: 6C6A0175736028E1 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028E18781E9017E0D0D45DFC4E7D142FAB6127C7F272A96FF40CF0BA7A5B7673EC80BE4698AA22663F537F3A980A691C6A114FAFC5AC16C5F89CE587BF7E8CD75D159643C2EACE047402A4A978549D410A3DD323EAE2096E9ECFDA563D29C644A1424864656B734684FEEA5D9DC80E558504C8603438C9B9A7C27118C3E2467E398265BE95E88E5B894AA5E8E9186199B9108AC69B3129C15B0ED9E636B06D194B6E1AA683ECC4C4B6338E83EE1C06926B6475BD86176FE5E1269400093CE7D2FFCA13C4AE215DF16ED2426B08A8FF90441D464598495F2032D098E8282C532F2259DC563097E533F65777B556773990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028E1 y0: D430E50436814D57 x1: 8781E9017E0D0D45 y1: FE0FCC07CE56F4EA x2: DFC4E7D142FAB612 y2: 2C31644B630F661C x3: 7C7F272A96FF40CF y3: 4A5B1E6CDB83DAA1 x4: 0BA7A5B7673EC80B y4: 12D895EC071830FA x5: E4698AA22663F537 y5: 7B5672514480B176 x6: F3A980A691C6A114 y6: 9C300AD717605A61 x7: FAFC5AC16C5F89CE y7: 88A9D2D6BBE099FD x8: 587BF7E8CD75D159 y8: 1AD446A557098725 x9: 643C2EACE047402A y9: 616587D8E0B6FFDC x10: 4A978549D410A3DD y10: C65C7FC77D9D5DCF x11: 323EAE2096E9ECFD y11: E7991D6A699FE79E x12: A563D29C644A1424 y12: CCA8E50CF3532339 x13: 864656B734684FEE y13: D0B5F9CF583ABF46 x14: A5D9DC80E558504C y14: 3F859F63F644E7F0 x15: 8603438C9B9A7C27 y15: 2630B1715C8CF664 x16: 118C3E2467E39826 y16: 836938139414D95E x17: 5BE95E88E5B894AA y17: F29FC40834699EBA x18: 5E8E9186199B9108 y18: 5C0E28EC2226D9CD x19: AC69B3129C15B0ED y19: 7BD8A8EA049ACD33 x20: 9E636B06D194B6E1 y20: AC44CA742AF1EA6A x21: AA683ECC4C4B6338 y21: 3FCBE51E6B0C43B9 x22: E83EE1C06926B647 y22: BBE1E94558F4E26E x23: 5BD86176FE5E1269 y23: 3655F1E475384E43 x24: 400093CE7D2FFCA1 y24: 2C73BB62E4BB11AF x25: 3C4AE215DF16ED24 y25: B9B55AB0E8B42094 x26: 26B08A8FF90441D4 y26: 99E630CBD3AD58B8 x27: 64598495F2032D09 y27: B3910D124A2C0254 x28: 8E8282C532F2259D y28: 5352CA52B73FFD39 x29: C563097E533F6577 y29: 06DA8777DBA6F1CE x30: 7B55677399029000 y30: E7898AEA837E6D6B x31: 8000000000000000 y31: 2396669E4BFCAF3C y: 2396669E4BFCAF3C bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 0EBD425253C14591 a: B9DAB6A7720C022A CC: B9DAB6A7720C022A Compare CC with data of DO'8E of RAPDU B9DAB6A7720C022A == B9DAB6A7720C022A ? true Decrypt data of DO'87 with KSenc DecryptedData: 021084021084021092E7068BB8803DD0290A04FAC50C0E730D4466468BECDCABA5EA9A68A3F52496260BE5BBAE547B4475A042C7D475CC4C378031C2DC38DAC914FF0010E9646833C3B0DF20151EF93AD9A43E58E2B7A8F0DBF172B1F275F533DA5B4CF01EEB86178C5FDD56D5F586E6B7F16D8E723EA6B1D8BFB28BB8AEAF1E84D9637121AF6923C14D56492474C658082E60DDB7FAC785E595DD414750E13D23A682A1986C61DF2BBEEA04DD75A93E09223235B2306D8CF0028F78AFBBD6A3D6209A38E6881742E3B5EF1FF6DDE0A7FF0012237B9B2381683CF80BCA344EB9A230BA0A96BA28 Unprotected APDU: [021084021084021092E7068BB8803DD0290A04FAC50C0E730D4466468BECDCABA5EA9A68A3F52496260BE5BBAE547B4475A042C7D475CC4C378031C2DC38DAC914FF0010E9646833C3B0DF20151EF93AD9A43E58E2B7A8F0DBF172B1F275F533DA5B4CF01EEB86178C5FDD56D5F586E6B7F16D8E723EA6B1D8BFB28BB8AEAF1E84D9637121AF6923C14D56492474C658082E60DDB7FAC785E595DD414750E13D23A682A1986C61DF2BBEEA04DD75A93E09223235B2306D8CF0028F78AFBBD6A3D6209A38E6881742E3B5EF1FF6DDE0A7FF0012237B9B2381683CF80BCA344EB9A230BA0A96BA28] 90 00 got resp - ResponseAPDU(data: [2, 16, 132, 2, 16, 132, 2, 16, 146, 231, 6, 139, 184, 128, 61, 208, 41, 10, 4, 250, 197, 12, 14, 115, 13, 68, 102, 70, 139, 236, 220, 171, 165, 234, 154, 104, 163, 245, 36, 150, 38, 11, 229, 187, 174, 84, 123, 68, 117, 160, 66, 199, 212, 117, 204, 76, 55, 128, 49, 194, 220, 56, 218, 201, 20, 255, 0, 16, 233, 100, 104, 51, 195, 176, 223, 32, 21, 30, 249, 58, 217, 164, 62, 88, 226, 183, 168, 240, 219, 241, 114, 177, 242, 117, 245, 51, 218, 91, 76, 240, 30, 235, 134, 23, 140, 95, 221, 86, 213, 245, 134, 230, 183, 241, 109, 142, 114, 62, 166, 177, 216, 191, 178, 139, 184, 174, 175, 30, 132, 217, 99, 113, 33, 175, 105, 35, 193, 77, 86, 73, 36, 116, 198, 88, 8, 46, 96, 221, 183, 250, 199, 133, 229, 149, 221, 65, 71, 80, 225, 61, 35, 166, 130, 161, 152, 108, 97, 223, 43, 190, 234, 4, 221, 117, 169, 62, 9, 34, 50, 53, 178, 48, 109, 140, 240, 2, 143, 120, 175, 187, 214, 163, 214, 32, 154, 56, 230, 136, 23, 66, 227, 181, 239, 31, 246, 221, 224, 167, 255, 0, 18, 35, 123, 155, 35, 129, 104, 60, 248, 11, 202, 52, 78, 185, 162, 48, 186, 10, 150, 186, 40], sw1: 144, sw2: 0) Amount of data left read - 19646 2020-12-25 10:57:56.296157+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB002B980000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB002B980000000970100 SSC: 6C6A0175736028E1 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028E2 Concatenate SSC and M and add padding N: 6C6A0175736028E20CB002B9800000009701008000000000 x0: 6C6A0175736028E2 y0: 038736472F4264F0 x1: 0CB002B980000000 y1: 109F17CBE953A1D7 x2: 9701008000000000 y2: 1D0B2289F2ED7543 y: 1D0B2289F2ED7543 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: DA743E226FDE7982 a: F2DC46C16C53670D Compute MAC over N with KSmac CC: F2DC46C16C53670D Build DO'8E DO8E: 8E08F2DC46C16C53670D Construct and send protected APDU ProtectedAPDU: 0CB002B90D9701008E08F2DC46C16C53670D00 [SM] [0x0C, 0xB0, 0x02, 0xB9, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xF2, 0xDC, 0x46, 0xC1, 0x6C, 0x53, 0x67, 0x0D, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901002F7D6E60809CF7DCB84B684A5A84EA1FAB76B97BF7ED638CAB8F12A7C3673522FEAE2D1AA15D2F39A5E692B4A7CACEE11B1E5859C47CE0E8E47B3D542BF984A71DA60C992A2E854FE0A16E7D04F6600695A531D438A0E55DF685988F3C31CABBBEC8F6C87423FB649698F32170B124C9239B588AA07C041AAF987A5B8E89A3D2CA91EE591728F7177EBDA72F640A9EE234856B48A9B42DF9373A21A265B5A508501B88B1864F1DCB45BFF703A60F0688FB1065B1B7BD0D85C62EBE56EF862492FFC7551223A776849256ACC9F755DC157364416B7F24600EEBE7763B64044545E0938798789B80990290008E08634CD029116DB5F29000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028E2 Increment SSC with 1 SSC: 6C6A0175736028E3 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028E38781E901002F7D6E60809CF7DCB84B684A5A84EA1FAB76B97BF7ED638CAB8F12A7C3673522FEAE2D1AA15D2F39A5E692B4A7CACEE11B1E5859C47CE0E8E47B3D542BF984A71DA60C992A2E854FE0A16E7D04F6600695A531D438A0E55DF685988F3C31CABBBEC8F6C87423FB649698F32170B124C9239B588AA07C041AAF987A5B8E89A3D2CA91EE591728F7177EBDA72F640A9EE234856B48A9B42DF9373A21A265B5A508501B88B1864F1DCB45BFF703A60F0688FB1065B1B7BD0D85C62EBE56EF862492FFC7551223A776849256ACC9F755DC157364416B7F24600EEBE7763B64044545E0938798789B80990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028E3 y0: E34118A0B7E38FDC x1: 8781E901002F7D6E y1: A4A797E55FF00BB8 x2: 60809CF7DCB84B68 y2: B1B3961068BE6980 x3: 4A5A84EA1FAB76B9 y3: F8177319EFAC040C x4: 7BF7ED638CAB8F12 y4: 261741D35FEAD753 x5: A7C3673522FEAE2D y5: D6451652D8964690 x6: 1AA15D2F39A5E692 y6: 6105408B2D8E7CC4 x7: B4A7CACEE11B1E58 y7: D90C11A96A7263C5 x8: 59C47CE0E8E47B3D y8: 59EFD4141E152AA9 x9: 542BF984A71DA60C y9: B386D58A4257D67F x10: 992A2E854FE0A16E y10: AEB9D4D771D62782 x11: 7D04F6600695A531 y11: 75B78E7CD95244A8 x12: D438A0E55DF68598 y12: B4A27A4BED106F11 x13: 8F3C31CABBBEC8F6 y13: B48F2065F0FECE84 x14: C87423FB649698F3 y14: F6C10551E945B0C5 x15: 2170B124C9239B58 y15: 4FA4CA6231F439DE x16: 8AA07C041AAF987A y16: 1C834BC178383554 x17: 5B8E89A3D2CA91EE y17: 5B658AD17751D907 x18: 591728F7177EBDA7 y18: 2BA0327633F7648F x19: 2F640A9EE234856B y19: 975CB00F83195B34 x20: 48A9B42DF9373A21 y20: 330697224B91AA2F x21: A265B5A508501B88 y21: E36AA162FE56A456 x22: B1864F1DCB45BFF7 y22: C828FF62F7B32931 x23: 03A60F0688FB1065 y23: 7FC98B92F40710D3 x24: B1B7BD0D85C62EBE y24: 41099317D1E515D2 x25: 56EF862492FFC755 y25: 9D69BC6714D6FD7D x26: 1223A776849256AC y26: 4953C70E547E29EA x27: C9F755DC15736441 y27: 0FBF0DDF2A9D2268 x28: 6B7F24600EEBE776 y28: 539CBF6A4A9F5EBB x29: 3B64044545E09387 y29: 38FDA22AEE00959A x30: 98789B8099029000 y30: 0178031FA9CB0054 x31: 8000000000000000 y31: FC37466AB9B05053 y: FC37466AB9B05053 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: B82EE32F9FEB6E94 a: 634CD029116DB5F2 CC: 634CD029116DB5F2 Compare CC with data of DO'8E of RAPDU 634CD029116DB5F2 == 634CD029116DB5F2 ? true Decrypt data of DO'87 with KSenc DecryptedData: EA4864EDE6C7FAC2B4D4F5E1441EF8EAD950D85A78762561183F709EF16ED7A587073439A410782176F9588E8EEB16EA547153553047502E4347042BBD5B586D250BEB1AE16A7BB9F9FD2AD352CEA7D96A266C756207BEEE9017463D8729C12B0CA6307E602F6594ADEA013D4519A069351514E6585F6B8FB20750FAB3E9FA83434C4D062AD683985FC67F751ED11D6B90911B816E1DBFBDFD8A5ABAD021084484210804210804210804210804210804210804210804210804210804210804210804210804210804210804210804210500B8EBED3B4807B5F84CCAFA8F50B218D96B5C39C71F65 Unprotected APDU: [EA4864EDE6C7FAC2B4D4F5E1441EF8EAD950D85A78762561183F709EF16ED7A587073439A410782176F9588E8EEB16EA547153553047502E4347042BBD5B586D250BEB1AE16A7BB9F9FD2AD352CEA7D96A266C756207BEEE9017463D8729C12B0CA6307E602F6594ADEA013D4519A069351514E6585F6B8FB20750FAB3E9FA83434C4D062AD683985FC67F751ED11D6B90911B816E1DBFBDFD8A5ABAD021084484210804210804210804210804210804210804210804210804210804210804210804210804210804210804210804210500B8EBED3B4807B5F84CCAFA8F50B218D96B5C39C71F65] 90 00 got resp - ResponseAPDU(data: [234, 72, 100, 237, 230, 199, 250, 194, 180, 212, 245, 225, 68, 30, 248, 234, 217, 80, 216, 90, 120, 118, 37, 97, 24, 63, 112, 158, 241, 110, 215, 165, 135, 7, 52, 57, 164, 16, 120, 33, 118, 249, 88, 142, 142, 235, 22, 234, 84, 113, 83, 85, 48, 71, 80, 46, 67, 71, 4, 43, 189, 91, 88, 109, 37, 11, 235, 26, 225, 106, 123, 185, 249, 253, 42, 211, 82, 206, 167, 217, 106, 38, 108, 117, 98, 7, 190, 238, 144, 23, 70, 61, 135, 41, 193, 43, 12, 166, 48, 126, 96, 47, 101, 148, 173, 234, 1, 61, 69, 25, 160, 105, 53, 21, 20, 230, 88, 95, 107, 143, 178, 7, 80, 250, 179, 233, 250, 131, 67, 76, 77, 6, 42, 214, 131, 152, 95, 198, 127, 117, 30, 209, 29, 107, 144, 145, 27, 129, 110, 29, 191, 189, 253, 138, 90, 186, 208, 33, 8, 68, 132, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 5, 0, 184, 235, 237, 59, 72, 7, 181, 248, 76, 202, 250, 143, 80, 178, 24, 217, 107, 92, 57, 199, 31, 101], sw1: 144, sw2: 0) Amount of data left read - 19415 2020-12-25 10:57:56.340444+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB003A080000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB003A080000000970100 SSC: 6C6A0175736028E3 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028E4 Concatenate SSC and M and add padding N: 6C6A0175736028E40CB003A0800000009701008000000000 x0: 6C6A0175736028E4 y0: 62C5F81DE8FB28C5 x1: 0CB003A080000000 y1: 828EE885DA374D4A x2: 9701008000000000 y2: C0FA7098058C9799 y: C0FA7098058C9799 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: AC6B2855E4F934A4 a: 3DE8A5136D0CA837 Compute MAC over N with KSmac CC: 3DE8A5136D0CA837 Build DO'8E DO8E: 8E083DE8A5136D0CA837 Construct and send protected APDU ProtectedAPDU: 0CB003A00D9701008E083DE8A5136D0CA83700 [SM] [0x0C, 0xB0, 0x03, 0xA0, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x3D, 0xE8, 0xA5, 0x13, 0x6D, 0x0C, 0xA8, 0x37, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901B8DECA9E128D5436B9BCCA32AEE595882FDCB1FD79472F8E1C5142540B1A87192A18E18D697EB73F62CF08F5672074B15AFB9088A59CCFAB0B557E92D92D8CBE78BCEBBBD0F8683DA7257D1547FE22FD0DC3441052285FB522CBF91EB08F81D197874B9BEFAD6878231F26EDA7DFD1468D6DF058CD50FA1A57FDA6D0EE9DD487421B177159164CDD51333A897DEC2EFC6F84D80925877F1A950BB3688C2E6AFBDEB7C73A6ED3957E7BD5E8DCD10A62B037C93D19FBBC2E587BC94FA677B900D83FBA7A1BA462943A8885E40334C2963391076B61EF9B7FAF2862DB593C1EBB4EECA4941E84794621990290008E080F5E092C4B73FB359000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028E4 Increment SSC with 1 SSC: 6C6A0175736028E5 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028E58781E901B8DECA9E128D5436B9BCCA32AEE595882FDCB1FD79472F8E1C5142540B1A87192A18E18D697EB73F62CF08F5672074B15AFB9088A59CCFAB0B557E92D92D8CBE78BCEBBBD0F8683DA7257D1547FE22FD0DC3441052285FB522CBF91EB08F81D197874B9BEFAD6878231F26EDA7DFD1468D6DF058CD50FA1A57FDA6D0EE9DD487421B177159164CDD51333A897DEC2EFC6F84D80925877F1A950BB3688C2E6AFBDEB7C73A6ED3957E7BD5E8DCD10A62B037C93D19FBBC2E587BC94FA677B900D83FBA7A1BA462943A8885E40334C2963391076B61EF9B7FAF2862DB593C1EBB4EECA4941E84794621990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028E5 y0: 62EB40D2AD574BDB x1: 8781E901B8DECA9E y1: 35FC715B4DBB2C01 x2: 128D5436B9BCCA32 y2: 56DEA9C51AB4B244 x3: AEE595882FDCB1FD y3: C1B619CF13AE44C8 x4: 79472F8E1C514254 y4: 41FCD0B0D6605531 x5: 0B1A87192A18E18D y5: 7C034C006E99969A x6: 697EB73F62CF08F5 y6: B282B8B75C7FC8F4 x7: 672074B15AFB9088 y7: A14BCF5E81865163 x8: A59CCFAB0B557E92 y8: E4BA9199B4F7454B x9: D92D8CBE78BCEBBB y9: 509C410388F40187 x10: D0F8683DA7257D15 y10: ED8CC2302B33726D x11: 47FE22FD0DC34410 y11: 94D7A3B1C39BA8AD x12: 52285FB522CBF91E y12: FD3674A8702A1391 x13: B08F81D197874B9B y13: B7A5AB600028CB05 x14: EFAD6878231F26ED y14: 94979B25C96A8043 x15: A7DFD1468D6DF058 y15: 9253FF874A4EA540 x16: CD50FA1A57FDA6D0 y16: E67EBE235F97C505 x17: EE9DD487421B1771 y17: 8C3361444B00928B x18: 59164CDD51333A89 y18: 98A2C7D20290E04F x19: 7DEC2EFC6F84D809 y19: 700971C5D92D38D0 x20: 25877F1A950BB368 y20: 0002B6612B50EE17 x21: 8C2E6AFBDEB7C73A y21: A2DD56334391D6B7 x22: 6ED3957E7BD5E8DC y22: 153B14CBC882EDB9 x23: D10A62B037C93D19 y23: 8D4B5346848AB21A x24: FBBC2E587BC94FA6 y24: D8A79C30A12EFB30 x25: 77B900D83FBA7A1B y25: A2CC8EC16F0B026C x26: A462943A8885E403 y26: 55752FCD24AE2777 x27: 34C2963391076B61 y27: A337735F3570E541 x28: EF9B7FAF2862DB59 y28: A50027763CAC8430 x29: 3C1EBB4EECA4941E y29: 2196FED4544868BE x30: 8479462199029000 y30: C8DEF8837356343B x31: 8000000000000000 y31: 9EC0AD8F94B5D889 y: 9EC0AD8F94B5D889 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 86E35B3A74949F2C a: 0F5E092C4B73FB35 CC: 0F5E092C4B73FB35 Compare CC with data of DO'8E of RAPDU 0F5E092C4B73FB35 == 0F5E092C4B73FB35 ? true Decrypt data of DO'87 with KSenc DecryptedData: 51A9EB32D0B98DA9A22F0459F287FC8DFD945D488B4D6B559ADC13B3FC3AA74F11B858B6436703E565352EA4D5640EA5AAACA70EB7FD58F002AEEA1EB3D35D3BB6E9A25A9885BD62EB003D82C5CBAD565431C5CC85BEA1BB491F4AC6DEFE33BA6B2AEA83A87FFB8E1F548D3F315959F5474323E33101EB8DA5CFFA80F650995557038BD9525A5C72471FC2E55BB50AEB3A76B6568FA64DB6B2A72A974931EACE8607C729F59E4581E13551A9398CDC1BF337008ECAB2573A305B2D98F6F92A04B50E68FF00A9BAFD8957982697126A33CAD0C64840E48F29B15EF171BDCD70F7E554B2A98D686B Unprotected APDU: [51A9EB32D0B98DA9A22F0459F287FC8DFD945D488B4D6B559ADC13B3FC3AA74F11B858B6436703E565352EA4D5640EA5AAACA70EB7FD58F002AEEA1EB3D35D3BB6E9A25A9885BD62EB003D82C5CBAD565431C5CC85BEA1BB491F4AC6DEFE33BA6B2AEA83A87FFB8E1F548D3F315959F5474323E33101EB8DA5CFFA80F650995557038BD9525A5C72471FC2E55BB50AEB3A76B6568FA64DB6B2A72A974931EACE8607C729F59E4581E13551A9398CDC1BF337008ECAB2573A305B2D98F6F92A04B50E68FF00A9BAFD8957982697126A33CAD0C64840E48F29B15EF171BDCD70F7E554B2A98D686B] 90 00 got resp - ResponseAPDU(data: [81, 169, 235, 50, 208, 185, 141, 169, 162, 47, 4, 89, 242, 135, 252, 141, 253, 148, 93, 72, 139, 77, 107, 85, 154, 220, 19, 179, 252, 58, 167, 79, 17, 184, 88, 182, 67, 103, 3, 229, 101, 53, 46, 164, 213, 100, 14, 165, 170, 172, 167, 14, 183, 253, 88, 240, 2, 174, 234, 30, 179, 211, 93, 59, 182, 233, 162, 90, 152, 133, 189, 98, 235, 0, 61, 130, 197, 203, 173, 86, 84, 49, 197, 204, 133, 190, 161, 187, 73, 31, 74, 198, 222, 254, 51, 186, 107, 42, 234, 131, 168, 127, 251, 142, 31, 84, 141, 63, 49, 89, 89, 245, 71, 67, 35, 227, 49, 1, 235, 141, 165, 207, 250, 128, 246, 80, 153, 85, 87, 3, 139, 217, 82, 90, 92, 114, 71, 31, 194, 229, 91, 181, 10, 235, 58, 118, 182, 86, 143, 166, 77, 182, 178, 167, 42, 151, 73, 49, 234, 206, 134, 7, 199, 41, 245, 158, 69, 129, 225, 53, 81, 169, 57, 140, 220, 27, 243, 55, 0, 142, 202, 178, 87, 58, 48, 91, 45, 152, 246, 249, 42, 4, 181, 14, 104, 255, 0, 169, 186, 253, 137, 87, 152, 38, 151, 18, 106, 51, 202, 208, 198, 72, 64, 228, 143, 41, 177, 94, 241, 113, 189, 205, 112, 247, 229, 84, 178, 169, 141, 104, 107], sw1: 144, sw2: 0) Amount of data left read - 19184 2020-12-25 10:57:56.383218+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0048780000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0048780000000970100 SSC: 6C6A0175736028E5 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028E6 Concatenate SSC and M and add padding N: 6C6A0175736028E60CB00487800000009701008000000000 x0: 6C6A0175736028E6 y0: 2587C71061F21D4C x1: 0CB0048780000000 y1: D48FD76F1C848835 x2: 9701008000000000 y2: C5597BCC957FCFC1 y: C5597BCC957FCFC1 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 8BAC4E4540BD0CBC a: 5E5792451051C277 Compute MAC over N with KSmac CC: 5E5792451051C277 Build DO'8E DO8E: 8E085E5792451051C277 Construct and send protected APDU ProtectedAPDU: 0CB004870D9701008E085E5792451051C27700 [SM] [0x0C, 0xB0, 0x04, 0x87, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x5E, 0x57, 0x92, 0x45, 0x10, 0x51, 0xC2, 0x77, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90149CF62953ADF2551DD052B7D6D22477D5E9168798E75472DC231F4CA4A4A93F130E71B70C63E6FF50787A807EDD5BE54F856B1CF810F05F556A10EDFAC74FF3B8C035FCADDC5D653F7967F3AEFA5F4B52078A6D9ADC1AC1060F5748630345CCFDB434DDD1FC275257EA07AE2CC239D463B521BB049986AF1A5C313C0D76CE0A95AD96B328A52765C4CC76833FD9E3E4A423B93571C667D8D898A61633F0042A98565BDF5D29B59D358A63161B37D1C459380ED2D60961E6F26FA400E181C965D3A2CAF8F468FE2697C00CEF346477A3FCC67D6FCC06C1750B849FBB22001729816E06182D0E9F5CE990290008E08E02C2939BC097C909000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028E6 Increment SSC with 1 SSC: 6C6A0175736028E7 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028E78781E90149CF62953ADF2551DD052B7D6D22477D5E9168798E75472DC231F4CA4A4A93F130E71B70C63E6FF50787A807EDD5BE54F856B1CF810F05F556A10EDFAC74FF3B8C035FCADDC5D653F7967F3AEFA5F4B52078A6D9ADC1AC1060F5748630345CCFDB434DDD1FC275257EA07AE2CC239D463B521BB049986AF1A5C313C0D76CE0A95AD96B328A52765C4CC76833FD9E3E4A423B93571C667D8D898A61633F0042A98565BDF5D29B59D358A63161B37D1C459380ED2D60961E6F26FA400E181C965D3A2CAF8F468FE2697C00CEF346477A3FCC67D6FCC06C1750B849FBB22001729816E06182D0E9F5CE990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028E7 y0: 9D7F16659A68AD61 x1: 8781E90149CF6295 y1: 0AFC97DEC63B1AD8 x2: 3ADF2551DD052B7D y2: 898FC418AFF87220 x3: 6D22477D5E916879 y3: C8B70C7A9BDCBEB5 x4: 8E75472DC231F4CA y4: 6DA9FA56EBC20048 x5: 4A4A93F130E71B70 y5: B7C5B083F6B567E7 x6: C63E6FF50787A807 y6: CD08CBAA7DF1775D x7: EDD5BE54F856B1CF y7: 77FE54414143E104 x8: 810F05F556A10EDF y8: 50FC3CD85DC49EFB x9: AC74FF3B8C035FCA y9: 109BEF9341771474 x10: DDC5D653F7967F3A y10: 8B4A5D092A5933C2 x11: EFA5F4B52078A6D9 y11: D0A88A003CF15C9B x12: ADC1AC1060F57486 y12: 7DCEE8A8410A3FAE x13: 30345CCFDB434DDD y13: E4FEB659726CB514 x14: 1FC275257EA07AE2 y14: 2F436CAA604BD692 x15: CC239D463B521BB0 y15: BDDF45133646A639 x16: 49986AF1A5C313C0 y16: AA7D96EAA004E78B x17: D76CE0A95AD96B32 y17: 43F8705B90898E7F x18: 8A52765C4CC76833 y18: 5B31D063451AE63D x19: FD9E3E4A423B9357 y19: 9ED019792805F680 x20: 1C667D8D898A6163 y20: 04E5D1B6388E847C x21: 3F0042A98565BDF5 y21: 04E1B68F1DC57537 x22: D29B59D358A63161 y22: 91335507A091FEA0 x23: B37D1C459380ED2D y23: CB674CC883865D51 x24: 60961E6F26FA400E y24: 1B514CF9DC8B9F21 x25: 181C965D3A2CAF8F y25: F68AEF6A08B71288 x26: 468FE2697C00CEF3 y26: B139F427E0CC40FC x27: 46477A3FCC67D6FC y27: 3BE5272905E6586F x28: C06C1750B849FBB2 y28: 14A78C21FF39627C x29: 2001729816E06182 y29: 6015914F77F1945E x30: D0E9F5CE99029000 y30: 17696AC6CFF37AC2 x31: 8000000000000000 y31: C391E600CED5EC6E y: C391E600CED5EC6E bkey: E638769E34981349 akey: FD4AC70407EA4954 b: E0E47C01337A55E7 a: E02C2939BC097C90 CC: E02C2939BC097C90 Compare CC with data of DO'8E of RAPDU E02C2939BC097C90 == E02C2939BC097C90 ? true Decrypt data of DO'87 with KSenc DecryptedData: DD8272E1C849ABA88984FE1A674B1FFE42C6EA7D0B7B1751EB1230861370172A6BCD4C21CF1B5CC3D8F2B386BC5C6C163DD39F8A924692E2147AA32B4A7D564A49DC5A039AE1676ECE1746A4035CD0E73637702FC2A27CB726CEBA6CD4B9C0349C0ECABEA9B5B7E9FEACA8D1EA5B2403D52301A7B85BBAEEA7A1D434B91C66DBEA4769231919ECBC4195663E38F0AD2935511C1B1B66B09C8F2A2CB168F4DD3FA8A2A4D32961F50FAB00B35DDCB7B2445D430D53219D8CF486A15460AA603F55861DECBCF20AE91952CA963B311DCD69E1DEC9C6EB51974CE7823D47FA800FD07D94CE9D7D0FD1 Unprotected APDU: [DD8272E1C849ABA88984FE1A674B1FFE42C6EA7D0B7B1751EB1230861370172A6BCD4C21CF1B5CC3D8F2B386BC5C6C163DD39F8A924692E2147AA32B4A7D564A49DC5A039AE1676ECE1746A4035CD0E73637702FC2A27CB726CEBA6CD4B9C0349C0ECABEA9B5B7E9FEACA8D1EA5B2403D52301A7B85BBAEEA7A1D434B91C66DBEA4769231919ECBC4195663E38F0AD2935511C1B1B66B09C8F2A2CB168F4DD3FA8A2A4D32961F50FAB00B35DDCB7B2445D430D53219D8CF486A15460AA603F55861DECBCF20AE91952CA963B311DCD69E1DEC9C6EB51974CE7823D47FA800FD07D94CE9D7D0FD1] 90 00 got resp - ResponseAPDU(data: [221, 130, 114, 225, 200, 73, 171, 168, 137, 132, 254, 26, 103, 75, 31, 254, 66, 198, 234, 125, 11, 123, 23, 81, 235, 18, 48, 134, 19, 112, 23, 42, 107, 205, 76, 33, 207, 27, 92, 195, 216, 242, 179, 134, 188, 92, 108, 22, 61, 211, 159, 138, 146, 70, 146, 226, 20, 122, 163, 43, 74, 125, 86, 74, 73, 220, 90, 3, 154, 225, 103, 110, 206, 23, 70, 164, 3, 92, 208, 231, 54, 55, 112, 47, 194, 162, 124, 183, 38, 206, 186, 108, 212, 185, 192, 52, 156, 14, 202, 190, 169, 181, 183, 233, 254, 172, 168, 209, 234, 91, 36, 3, 213, 35, 1, 167, 184, 91, 186, 238, 167, 161, 212, 52, 185, 28, 102, 219, 234, 71, 105, 35, 25, 25, 236, 188, 65, 149, 102, 62, 56, 240, 173, 41, 53, 81, 28, 27, 27, 102, 176, 156, 143, 42, 44, 177, 104, 244, 221, 63, 168, 162, 164, 211, 41, 97, 245, 15, 171, 0, 179, 93, 220, 183, 178, 68, 93, 67, 13, 83, 33, 157, 140, 244, 134, 161, 84, 96, 170, 96, 63, 85, 134, 29, 236, 188, 242, 10, 233, 25, 82, 202, 150, 59, 49, 29, 205, 105, 225, 222, 201, 198, 235, 81, 151, 76, 231, 130, 61, 71, 250, 128, 15, 208, 125, 148, 206, 157, 125, 15, 209], sw1: 144, sw2: 0) Amount of data left read - 18953 2020-12-25 10:57:56.430683+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0056E80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0056E80000000970100 SSC: 6C6A0175736028E7 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028E8 Concatenate SSC and M and add padding N: 6C6A0175736028E80CB0056E800000009701008000000000 x0: 6C6A0175736028E8 y0: 2C5C530D89A32DC9 x1: 0CB0056E80000000 y1: D2035142A53FE2B9 x2: 9701008000000000 y2: 97E5570D282EFBB3 y: 97E5570D282EFBB3 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: C19A40737E1DEFD8 a: 46C86C18E760F759 Compute MAC over N with KSmac CC: 46C86C18E760F759 Build DO'8E DO8E: 8E0846C86C18E760F759 Construct and send protected APDU ProtectedAPDU: 0CB0056E0D9701008E0846C86C18E760F75900 [SM] [0x0C, 0xB0, 0x05, 0x6E, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x46, 0xC8, 0x6C, 0x18, 0xE7, 0x60, 0xF7, 0x59, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90108547355E487E012C54E558196E79679F6687FDE21489D935739E48DC6455FD74EB9E89220AB25207F247DD3B3A34076748F3E2DA3B70E75821F8593C54832E1AF87E57AD0CC498E0A39AF684317E4E7DF2280CEAC4708FB458110DF6827FF4EB07CA01FD7EF7CBB07DB2A12BCC3306EE0BF898F8C5C86F5F1D55274D3FFB6DEF315BD6EE153FE6C4F593F0D5780F5FD226EDDBC173A2D429E7BC248E34F163F28642B4E0D1DB241E11E0F39B36B2AAD40A57601524002C82364AE8138D6EC2511545C54C51878ED5AA92662CE3CAAB4A59961DD57B48D5A6F4246BC8DC8921E2483F53034D1337B990290008E0877E19D433DCAFFC79000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028E8 Increment SSC with 1 SSC: 6C6A0175736028E9 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028E98781E90108547355E487E012C54E558196E79679F6687FDE21489D935739E48DC6455FD74EB9E89220AB25207F247DD3B3A34076748F3E2DA3B70E75821F8593C54832E1AF87E57AD0CC498E0A39AF684317E4E7DF2280CEAC4708FB458110DF6827FF4EB07CA01FD7EF7CBB07DB2A12BCC3306EE0BF898F8C5C86F5F1D55274D3FFB6DEF315BD6EE153FE6C4F593F0D5780F5FD226EDDBC173A2D429E7BC248E34F163F28642B4E0D1DB241E11E0F39B36B2AAD40A57601524002C82364AE8138D6EC2511545C54C51878ED5AA92662CE3CAAB4A59961DD57B48D5A6F4246BC8DC8921E2483F53034D1337B990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028E9 y0: A459EA559EDAB259 x1: 8781E90108547355 y1: A84BB573FDD18D6D x2: E487E012C54E5581 y2: DB8109B2DD60B590 x3: 96E79679F6687FDE y3: EFB0F96FBA2F7F19 x4: 21489D935739E48D y4: C69B128D57DBFD0D x5: C6455FD74EB9E892 y5: FC8A05BF94C68626 x6: 20AB25207F247DD3 y6: 59EB4D9EFD9D7F64 x7: B3A34076748F3E2D y7: 5861C6B1BC255702 x8: A3B70E75821F8593 y8: 4AB2152A4AE912DE x9: C54832E1AF87E57A y9: 3C1D7E8E27D53E78 x10: D0CC498E0A39AF68 y10: 763C0916756D434E x11: 4317E4E7DF2280CE y11: 92A44499A881FC6E x12: AC4708FB458110DF y12: B90C3342F3798DA6 x13: 6827FF4EB07CA01F y13: 600583C0BB037696 x14: D7EF7CBB07DB2A12 y14: 86F4D2B67A0EAFD4 x15: BCC3306EE0BF898F y15: F1A5E084FCE1F430 x16: 8C5C86F5F1D55274 y16: 5F9923DD1B7744AC x17: D3FFB6DEF315BD6E y17: 3201C9D794E01A54 x18: E153FE6C4F593F0D y18: 67B35E21777215ED x19: 5780F5FD226EDDBC y19: FBF2D659DE683545 x20: 173A2D429E7BC248 y20: 4662B4E590392447 x21: E34F163F28642B4E y21: ED4FAEE04DBB6AD1 x22: 0D1DB241E11E0F39 y22: 186CD45F042F7BC7 x23: B36B2AAD40A57601 y23: 3AB45F53CD37D810 x24: 524002C82364AE81 y24: F604FE720EFDC49D x25: 38D6EC2511545C54 y25: 32167D35802E7DC7 x26: C51878ED5AA92662 y26: 3C1808CAB169A22B x27: CE3CAAB4A59961DD y27: 5074C0BD2925B651 x28: 57B48D5A6F4246BC y28: F007806AC28A64F4 x29: 8DC8921E2483F530 y29: 2887BBC2CC438D9A x30: 34D1337B99029000 y30: CEA9E20D3B222CF6 x31: 8000000000000000 y31: 22DD3FABBB5D6751 y: 22DD3FABBB5D6751 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 4D3DF4991A0A3624 a: 77E19D433DCAFFC7 CC: 77E19D433DCAFFC7 Compare CC with data of DO'8E of RAPDU 77E19D433DCAFFC7 == 77E19D433DCAFFC7 ? true Decrypt data of DO'87 with KSenc DecryptedData: BA98D529AA8090934A45393E6DC15A88DE1EC0E69B8F2BC03A47AB2A74B9E5A97931524D0D8B47F537B9FBAF5AE8EEA3875AA4ECD7B86F03B3BCD96D9BFC5F35A7426AA2A23A68BD498ED60201776174EFD95D7E842108042108042108042108042108042108042108042108042108042108042108042108386F6C73D975084021084021084024492C710BC8F0D1EE535593FA109734173BB340C9597D53579E28262F87F0CC734DDAF3771FF8516F1169FD67AE2874F85ED82292A66B96B58D1604FDD79CEB9D6B59AA46046C115859CDBDD56EA5AB545541E96D6C4DDDF3169CB8DF06EA82A7 Unprotected APDU: [BA98D529AA8090934A45393E6DC15A88DE1EC0E69B8F2BC03A47AB2A74B9E5A97931524D0D8B47F537B9FBAF5AE8EEA3875AA4ECD7B86F03B3BCD96D9BFC5F35A7426AA2A23A68BD498ED60201776174EFD95D7E842108042108042108042108042108042108042108042108042108042108042108042108386F6C73D975084021084021084024492C710BC8F0D1EE535593FA109734173BB340C9597D53579E28262F87F0CC734DDAF3771FF8516F1169FD67AE2874F85ED82292A66B96B58D1604FDD79CEB9D6B59AA46046C115859CDBDD56EA5AB545541E96D6C4DDDF3169CB8DF06EA82A7] 90 00 got resp - ResponseAPDU(data: [186, 152, 213, 41, 170, 128, 144, 147, 74, 69, 57, 62, 109, 193, 90, 136, 222, 30, 192, 230, 155, 143, 43, 192, 58, 71, 171, 42, 116, 185, 229, 169, 121, 49, 82, 77, 13, 139, 71, 245, 55, 185, 251, 175, 90, 232, 238, 163, 135, 90, 164, 236, 215, 184, 111, 3, 179, 188, 217, 109, 155, 252, 95, 53, 167, 66, 106, 162, 162, 58, 104, 189, 73, 142, 214, 2, 1, 119, 97, 116, 239, 217, 93, 126, 132, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 56, 111, 108, 115, 217, 117, 8, 64, 33, 8, 64, 33, 8, 64, 36, 73, 44, 113, 11, 200, 240, 209, 238, 83, 85, 147, 250, 16, 151, 52, 23, 59, 179, 64, 201, 89, 125, 83, 87, 158, 40, 38, 47, 135, 240, 204, 115, 77, 218, 243, 119, 31, 248, 81, 111, 17, 105, 253, 103, 174, 40, 116, 248, 94, 216, 34, 146, 166, 107, 150, 181, 141, 22, 4, 253, 215, 156, 235, 157, 107, 89, 170, 70, 4, 108, 17, 88, 89, 205, 189, 213, 110, 165, 171, 84, 85, 65, 233, 109, 108, 77, 221, 243, 22, 156, 184, 223, 6, 234, 130, 167], sw1: 144, sw2: 0) Amount of data left read - 18722 2020-12-25 10:57:56.477676+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0065580000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0065580000000970100 SSC: 6C6A0175736028E9 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028EA Concatenate SSC and M and add padding N: 6C6A0175736028EA0CB00655800000009701008000000000 x0: 6C6A0175736028EA y0: C5EC8FA159ACB6D2 x1: 0CB0065580000000 y1: 281D049134299731 x2: 9701008000000000 y2: 41B1177F355F0E9C y: 41B1177F355F0E9C bkey: E638769E34981349 akey: FD4AC70407EA4954 b: F1F672A0F95A56C5 a: 399CF66289FDA19A Compute MAC over N with KSmac CC: 399CF66289FDA19A Build DO'8E DO8E: 8E08399CF66289FDA19A Construct and send protected APDU ProtectedAPDU: 0CB006550D9701008E08399CF66289FDA19A00 [SM] [0x0C, 0xB0, 0x06, 0x55, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x39, 0x9C, 0xF6, 0x62, 0x89, 0xFD, 0xA1, 0x9A, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901824835A0CE1B5510850512B6F7B568B71EEDD20F1549A7DFD2EF0BD30CF1F7F2AF68080C427663C2F046EF84E411974620B9C938ABD92DBC2A384A020CE9C1E78A6F21BAF202866FA52B802DE7CCA4EF3DC0915CF87DCA7998CDD394B4FF07CA14CAA408560A20BF8365B22A2C64CE5003AE2C91DF6CED102260942CDE823BABDE8F95D4753506D02280A55820FE34D425F4EB6024C4FF76412CB800FC4529CE973564355CE148B141B453502460DCBFCD88B98CB6F518D99035C6DFEA218E8B74CC8461CD72AA8A86540F93DA280C717D4AFD1A5E4280286935B2C34EFA1C92050E461E1E77D794990290008E0839EDB1D94DE0049C9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028EA Increment SSC with 1 SSC: 6C6A0175736028EB Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028EB8781E901824835A0CE1B5510850512B6F7B568B71EEDD20F1549A7DFD2EF0BD30CF1F7F2AF68080C427663C2F046EF84E411974620B9C938ABD92DBC2A384A020CE9C1E78A6F21BAF202866FA52B802DE7CCA4EF3DC0915CF87DCA7998CDD394B4FF07CA14CAA408560A20BF8365B22A2C64CE5003AE2C91DF6CED102260942CDE823BABDE8F95D4753506D02280A55820FE34D425F4EB6024C4FF76412CB800FC4529CE973564355CE148B141B453502460DCBFCD88B98CB6F518D99035C6DFEA218E8B74CC8461CD72AA8A86540F93DA280C717D4AFD1A5E4280286935B2C34EFA1C92050E461E1E77D794990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028EB y0: 4D0EB1B7F8983EBE x1: 8781E901824835A0 y1: BF1D59BD7E0017B5 x2: CE1B5510850512B6 y2: 7D4E102B889B5AD3 x3: F7B568B71EEDD20F y3: 4E342F23575104AA x4: 1549A7DFD2EF0BD3 y4: D22B1830338BC878 x5: 0CF1F7F2AF68080C y5: 07264030AB19706B x6: 427663C2F046EF84 y6: A1294E828B74285C x7: E411974620B9C938 y7: 6ECA456A25749B2F x8: ABD92DBC2A384A02 y8: 478DE369966CAC45 x9: 0CE9C1E78A6F21BA y9: 9BCDEE7EA5DDB020 x10: F202866FA52B802D y10: C4F3BB6A5AA440EA x11: E7CCA4EF3DC0915C y11: 8924402A23506E3B x12: F87DCA7998CDD394 y12: 833A132DB74E0D8E x13: B4FF07CA14CAA408 y13: CED6C874E554DCAE x14: 560A20BF8365B22A y14: ED769626C2759ED5 x15: 2C64CE5003AE2C91 y15: C1C5EF5D70F4089E x16: DF6CED102260942C y16: 22FEA16147008ACF x17: DE823BABDE8F95D4 y17: EA8323957AA9710A x18: 753506D02280A558 y18: D4273EC5258B7D5A x19: 20FE34D425F4EB60 y19: 271028F7A0848EAD x20: 24C4FF76412CB800 y20: A40DB10E435BA40F x21: FC4529CE97356435 y21: CD553882E90E7585 x22: 5CE148B141B45350 y22: D95B8489FBDC6A80 x23: 2460DCBFCD88B98C y23: 8FD65F12DB53365D x24: B6F518D99035C6DF y24: 927E2945DA01AD01 x25: EA218E8B74CC8461 y25: 56A8EC3C5617AB62 x26: CD72AA8A86540F93 y26: 7BBD252D12EA4774 x27: DA280C717D4AFD1A y27: 4405D67C4C89E04E x28: 5E4280286935B2C3 y28: DE88A5D257208FB4 x29: 4EFA1C92050E461E y29: 1622117DDDE755B7 x30: 1E77D79499029000 y30: FF580F046D389E8A x31: 8000000000000000 y31: DD14BC8562A09B6B y: DD14BC8562A09B6B bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 6E4AF802AC325293 a: 39EDB1D94DE0049C CC: 39EDB1D94DE0049C Compare CC with data of DO'8E of RAPDU 39EDB1D94DE0049C == 39EDB1D94DE0049C ? true Decrypt data of DO'87 with KSenc DecryptedData: 5286199E1DF3B8FE9666EB0BAB54B44EF7D44DC80D3C92A3C8C6B1C4348F978BF748A8D4620E01CC2C3CED3CA852EA31CB36F713F2F61DD5B31CF6CB56D1BA3F43748E04B7205D30FAE023707CB63D803854F51531CAEBC61CD239CA61F2B2E2EDB9EF72ADEBF529D592366A7B07026FCAAD92FC340BA744C1D0B8B5B6DA989656ED0E046EF0AFF8484EE2C0775946964BBBC2E4933B77394D38F706FF00751D2CE9424DBC0BA3D43E4D8F093B0B802301364DB93C285A4E1D6CF605A92E7DCDD357B1B85CDFFB10A13CEA40781CF1EE9C64DD828D7B1B5BF95D6BAC32A4FC4D35276000947ADB Unprotected APDU: [5286199E1DF3B8FE9666EB0BAB54B44EF7D44DC80D3C92A3C8C6B1C4348F978BF748A8D4620E01CC2C3CED3CA852EA31CB36F713F2F61DD5B31CF6CB56D1BA3F43748E04B7205D30FAE023707CB63D803854F51531CAEBC61CD239CA61F2B2E2EDB9EF72ADEBF529D592366A7B07026FCAAD92FC340BA744C1D0B8B5B6DA989656ED0E046EF0AFF8484EE2C0775946964BBBC2E4933B77394D38F706FF00751D2CE9424DBC0BA3D43E4D8F093B0B802301364DB93C285A4E1D6CF605A92E7DCDD357B1B85CDFFB10A13CEA40781CF1EE9C64DD828D7B1B5BF95D6BAC32A4FC4D35276000947ADB] 90 00 got resp - ResponseAPDU(data: [82, 134, 25, 158, 29, 243, 184, 254, 150, 102, 235, 11, 171, 84, 180, 78, 247, 212, 77, 200, 13, 60, 146, 163, 200, 198, 177, 196, 52, 143, 151, 139, 247, 72, 168, 212, 98, 14, 1, 204, 44, 60, 237, 60, 168, 82, 234, 49, 203, 54, 247, 19, 242, 246, 29, 213, 179, 28, 246, 203, 86, 209, 186, 63, 67, 116, 142, 4, 183, 32, 93, 48, 250, 224, 35, 112, 124, 182, 61, 128, 56, 84, 245, 21, 49, 202, 235, 198, 28, 210, 57, 202, 97, 242, 178, 226, 237, 185, 239, 114, 173, 235, 245, 41, 213, 146, 54, 106, 123, 7, 2, 111, 202, 173, 146, 252, 52, 11, 167, 68, 193, 208, 184, 181, 182, 218, 152, 150, 86, 237, 14, 4, 110, 240, 175, 248, 72, 78, 226, 192, 119, 89, 70, 150, 75, 187, 194, 228, 147, 59, 119, 57, 77, 56, 247, 6, 255, 0, 117, 29, 44, 233, 66, 77, 188, 11, 163, 212, 62, 77, 143, 9, 59, 11, 128, 35, 1, 54, 77, 185, 60, 40, 90, 78, 29, 108, 246, 5, 169, 46, 125, 205, 211, 87, 177, 184, 92, 223, 251, 16, 161, 60, 234, 64, 120, 28, 241, 238, 156, 100, 221, 130, 141, 123, 27, 91, 249, 93, 107, 172, 50, 164, 252, 77, 53, 39, 96, 0, 148, 122, 219], sw1: 144, sw2: 0) Amount of data left read - 18491 2020-12-25 10:57:56.529400+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0073C80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0073C80000000970100 SSC: 6C6A0175736028EB Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028EC Concatenate SSC and M and add padding N: 6C6A0175736028EC0CB0073C800000009701008000000000 x0: 6C6A0175736028EC y0: 05AA20A7DBB558A4 x1: 0CB0073C80000000 y1: 4473A3927083168B x2: 9701008000000000 y2: 83BB98EADFC2CA41 y: 83BB98EADFC2CA41 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: BCF82089CA2E9C01 a: C162971C07955543 Compute MAC over N with KSmac CC: C162971C07955543 Build DO'8E DO8E: 8E08C162971C07955543 Construct and send protected APDU ProtectedAPDU: 0CB0073C0D9701008E08C162971C0795554300 [SM] [0x0C, 0xB0, 0x07, 0x3C, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xC1, 0x62, 0x97, 0x1C, 0x07, 0x95, 0x55, 0x43, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901560B9F7F38EA8E06AAE4F39961E5827977A0107AC661AB4B630CAD0662FDDA82C848585FE5B670961DFA41F01DD3EA37A4EF084ABEB91C475DBC997D14A8F1EE4A3D9933654CA043029CA9B74D2BC5FD7DD53E1B47E97F93735DA9878F11ED6EAD195D7B706C11CA3865DBEE0B9AC95F69B6CC71C2907A4EE397038DFCA1F74C0F4B1B7AA0ABD0980738DC63E27A2F23AFF33B5B58C13BA4E29B5D1219494F81DC209F98BFBF8E5F91FC5E8D2F4B878229E207DC84758E5A1C783AC4B308A845E58CEC317C4AE9D96E26CA79EFDA32CA82B7528966EC7889EB7E84C9B381F8849B2DF4C17B7FEB15990290008E08EAA59E5653B742889000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028EC Increment SSC with 1 SSC: 6C6A0175736028ED Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028ED8781E901560B9F7F38EA8E06AAE4F39961E5827977A0107AC661AB4B630CAD0662FDDA82C848585FE5B670961DFA41F01DD3EA37A4EF084ABEB91C475DBC997D14A8F1EE4A3D9933654CA043029CA9B74D2BC5FD7DD53E1B47E97F93735DA9878F11ED6EAD195D7B706C11CA3865DBEE0B9AC95F69B6CC71C2907A4EE397038DFCA1F74C0F4B1B7AA0ABD0980738DC63E27A2F23AFF33B5B58C13BA4E29B5D1219494F81DC209F98BFBF8E5F91FC5E8D2F4B878229E207DC84758E5A1C783AC4B308A845E58CEC317C4AE9D96E26CA79EFDA32CA82B7528966EC7889EB7E84C9B381F8849B2DF4C17B7FEB15990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028ED y0: 5DA71A86121ED26B x1: 8781E901560B9F7F y1: 72DDEF149278B4B2 x2: 38EA8E06AAE4F399 y2: 2AA0F77938A98E0C x3: 61E5827977A0107A y3: A2B7AFC870A06332 x4: C661AB4B630CAD06 y4: 2EEEEFE92EBEF3EE x5: 62FDDA82C848585F y5: B63CD5EB3603D0BD x6: E5B670961DFA41F0 y6: C69426F0FA72348F x7: 1DD3EA37A4EF084A y7: B25E9504CA1F21DF x8: BEB91C475DBC997D y8: 297F7EC652A7ED26 x9: 14A8F1EE4A3D9933 y9: B8E6A9514690BD8F x10: 654CA043029CA9B7 y10: 5FC4012BF2B83268 x11: 4D2BC5FD7DD53E1B y11: 5E92F5322B49E515 x12: 47E97F93735DA987 y12: 9A7AB5EBE61FFAFC x13: 8F11ED6EAD195D7B y13: 720BAC4C2A88DF8D x14: 706C11CA3865DBEE y14: 88277444CE1EBAFD x15: 0B9AC95F69B6CC71 y15: 97119B3D6EEC6DAF x16: C2907A4EE397038D y16: 7744C451FD93878F x17: FCA1F74C0F4B1B7A y17: 3509562FCEE9FEB8 x18: A0ABD0980738DC63 y18: 88FAC2530F342658 x19: E27A2F23AFF33B5B y19: A69B63CC7235CA61 x20: 58C13BA4E29B5D12 y20: 5BCFDE2A9868CB64 x21: 19494F81DC209F98 y21: 60BDC60BE483BA4F x22: BFBF8E5F91FC5E8D y22: DEB819AECF467C93 x23: 2F4B878229E207DC y23: D8BA19E6B5C18108 x24: 84758E5A1C783AC4 y24: 1F387C6BAB66A691 x25: B308A845E58CEC31 y25: F61B28E35D5185EF x26: 7C4AE9D96E26CA79 y26: BEE4EEB3B4509591 x27: EFDA32CA82B75289 y27: DA25934FC079AC1A x28: 66EC7889EB7E84C9 y28: F865091406D0188C x29: B381F8849B2DF4C1 y29: 0CA49266D572FE20 x30: 7B7FEB1599029000 y30: AECC9CD06D980924 x31: 8000000000000000 y31: C5927DE668858034 y: C5927DE668858034 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 9BBFD6E9A5FBE985 a: EAA59E5653B74288 CC: EAA59E5653B74288 Compare CC with data of DO'8E of RAPDU EAA59E5653B74288 == EAA59E5653B74288 ? true Decrypt data of DO'87 with KSenc DecryptedData: 8E3950CBFDD29AFB951C1714F5D318BD263DD60336FE95B4E8FEA5A935B1C1149B26859FE56C6C001920AF398E60D0E16B93C15328AADD055472B1C4161C1052C1F54681AC8EA2E94F53538C3247DE295A33F6725747EAF2D7D05553D5C8D7C9415069FD418DED0307EEBC67A33AD6A34BABAA7BA17CF04B1801B7BED2B43A1EACF80EAF411D4B585C46A1148D3C0E5CDFE147B2F9DBD983DA4D8381245D29671BD4748C8A82B058D355B9B146E193F37FED68D692F5A4A108429484210804210804210804210804210804210804210804210804210804210804210804210805C2401725755375 Unprotected APDU: [8E3950CBFDD29AFB951C1714F5D318BD263DD60336FE95B4E8FEA5A935B1C1149B26859FE56C6C001920AF398E60D0E16B93C15328AADD055472B1C4161C1052C1F54681AC8EA2E94F53538C3247DE295A33F6725747EAF2D7D05553D5C8D7C9415069FD418DED0307EEBC67A33AD6A34BABAA7BA17CF04B1801B7BED2B43A1EACF80EAF411D4B585C46A1148D3C0E5CDFE147B2F9DBD983DA4D8381245D29671BD4748C8A82B058D355B9B146E193F37FED68D692F5A4A108429484210804210804210804210804210804210804210804210804210804210804210804210805C2401725755375] 90 00 got resp - ResponseAPDU(data: [142, 57, 80, 203, 253, 210, 154, 251, 149, 28, 23, 20, 245, 211, 24, 189, 38, 61, 214, 3, 54, 254, 149, 180, 232, 254, 165, 169, 53, 177, 193, 20, 155, 38, 133, 159, 229, 108, 108, 0, 25, 32, 175, 57, 142, 96, 208, 225, 107, 147, 193, 83, 40, 170, 221, 5, 84, 114, 177, 196, 22, 28, 16, 82, 193, 245, 70, 129, 172, 142, 162, 233, 79, 83, 83, 140, 50, 71, 222, 41, 90, 51, 246, 114, 87, 71, 234, 242, 215, 208, 85, 83, 213, 200, 215, 201, 65, 80, 105, 253, 65, 141, 237, 3, 7, 238, 188, 103, 163, 58, 214, 163, 75, 171, 170, 123, 161, 124, 240, 75, 24, 1, 183, 190, 210, 180, 58, 30, 172, 248, 14, 175, 65, 29, 75, 88, 92, 70, 161, 20, 141, 60, 14, 92, 223, 225, 71, 178, 249, 219, 217, 131, 218, 77, 131, 129, 36, 93, 41, 103, 27, 212, 116, 140, 138, 130, 176, 88, 211, 85, 185, 177, 70, 225, 147, 243, 127, 237, 104, 214, 146, 245, 164, 161, 8, 66, 148, 132, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 5, 194, 64, 23, 37, 117, 83, 117], sw1: 144, sw2: 0) Amount of data left read - 18260 2020-12-25 10:57:56.573242+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0082380000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0082380000000970100 SSC: 6C6A0175736028ED Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028EE Concatenate SSC and M and add padding N: 6C6A0175736028EE0CB00823800000009701008000000000 x0: 6C6A0175736028EE y0: 719F0A34CEA6F087 x1: 0CB0082380000000 y1: 5F96DFA7E67376D2 x2: 9701008000000000 y2: C6E6B522E79C5604 y: C6E6B522E79C5604 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: EECAFE108F87D190 a: 7547761B875134B7 Compute MAC over N with KSmac CC: 7547761B875134B7 Build DO'8E DO8E: 8E087547761B875134B7 Construct and send protected APDU ProtectedAPDU: 0CB008230D9701008E087547761B875134B700 [SM] [0x0C, 0xB0, 0x08, 0x23, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x75, 0x47, 0x76, 0x1B, 0x87, 0x51, 0x34, 0xB7, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9018A4DDEBF293685673511818A249B3451A7E7153EC98D16F7F597081550A068917CBD6A730BB66F962DC0FBA3D0BA3C6ABDAB16B54DBAE425A258DA6E18549C55506F753B52776815BA46B88D49E3C5B5DEB0D685BF5610071EAA73E50BD7B39DCB4897D707C9543276D118F38AC9D9798ACD099ADF73969A074542612AB2DC6EBE615B199B2CD3C00060BD3F0F7A535116DB0933611F7A24F69F03CF5F6A9BCF5C4B2AB55ED50FB268BFBD897454BAADD412EFD41D251DCCC9C61EED3865A2112FB84FBA6BF23958FF4983E9834562F4DFDCBF6EBA7A78B1042003CDC9214143E9AFA0F273847E43990290008E08D3210A645B136E739000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028EE Increment SSC with 1 SSC: 6C6A0175736028EF Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028EF8781E9018A4DDEBF293685673511818A249B3451A7E7153EC98D16F7F597081550A068917CBD6A730BB66F962DC0FBA3D0BA3C6ABDAB16B54DBAE425A258DA6E18549C55506F753B52776815BA46B88D49E3C5B5DEB0D685BF5610071EAA73E50BD7B39DCB4897D707C9543276D118F38AC9D9798ACD099ADF73969A074542612AB2DC6EBE615B199B2CD3C00060BD3F0F7A535116DB0933611F7A24F69F03CF5F6A9BCF5C4B2AB55ED50FB268BFBD897454BAADD412EFD41D251DCCC9C61EED3865A2112FB84FBA6BF23958FF4983E9834562F4DFDCBF6EBA7A78B1042003CDC9214143E9AFA0F273847E43990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028EF y0: 243662198A6DCDF8 x1: 8781E9018A4DDEBF y1: 0A0FBD3C8A5266BA x2: 293685673511818A y2: 07D141A461E69A96 x3: 249B3451A7E7153E y3: FEBE1A0E74340BF1 x4: C98D16F7F5970815 y4: C06914B186768360 x5: 50A068917CBD6A73 y5: A95A5DE13C803B5B x6: 0BB66F962DC0FBA3 y6: A7FA0A3C181CA5F2 x7: D0BA3C6ABDAB16B5 y7: CF087ED0ABDBDDDB x8: 4DBAE425A258DA6E y8: 9656D6B2DC0ACA42 x9: 18549C55506F753B y9: EE139989CB98F452 x10: 52776815BA46B88D y10: 524D55FCE9726ADC x11: 49E3C5B5DEB0D685 y11: 416653E83490C7E3 x12: BF5610071EAA73E5 y12: 1D5A3047909C774D x13: 0BD7B39DCB4897D7 y13: 565E8F7359DECB30 x14: 07C9543276D118F3 y14: DD45C43BA9F41415 x15: 8AC9D9798ACD099A y15: DB22569F642359BB x16: DF73969A07454261 y16: 58E6FD67658456FF x17: 2AB2DC6EBE615B19 y17: 814291B28C9448D6 x18: 9B2CD3C00060BD3F y18: B38CEF38CC54AE53 x19: 0F7A535116DB0933 y19: CFCCE1BAA0164122 x20: 611F7A24F69F03CF y20: 0E05DDBBBE1C4303 x21: 5F6A9BCF5C4B2AB5 y21: AB26346760C308CA x22: 5ED50FB268BFBD89 y22: 26421F54B806623A x23: 7454BAADD412EFD4 y23: 0598F82C3185BDA3 x24: 1D251DCCC9C61EED y24: 433CCD83DDF2840B x25: 3865A2112FB84FBA y25: 25FA7FEF73E6D42B x26: 6BF23958FF4983E9 y26: 0E82D95439888EE8 x27: 834562F4DFDCBF6E y27: 4E81893F0644E484 x28: BA7A78B1042003CD y28: 73E836495002A091 x29: C9214143E9AFA0F2 y29: C6333E4A76F70D37 x30: 73847E4399029000 y30: 030828644762C54E x31: 8000000000000000 y31: 755157B69469E729 y: 755157B69469E729 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: ECB9610BFAAEEC8A a: D3210A645B136E73 CC: D3210A645B136E73 Compare CC with data of DO'8E of RAPDU D3210A645B136E73 == D3210A645B136E73 ? true Decrypt data of DO'87 with KSenc DecryptedData: 2751D1F4E69C6AAB2EEFE96379FBA7788AE6ABABCB491C92FA6D829E2077D44C6DFC0EEBC53A9FAC209A49DF4D57355CF2BB97618D6AABEB3EB6D47A92A1EDA8A9BD30378E38F000F71E563A59CEDDAD18595BDAA26546B55150EBB9DB7EC5322B044D0601F37779E540690FDC5C52CCED1F2B0607651EAA68B787CCFBB9C771EE50290DC973EE7D9366B4BB11B38EFDD3F107CA1AEFA771E55F31CDAE1C31B2182CDFA9DCDD4292666F2D03F753EA618626D9AF74A4FD44F6557390C7580574CD575F50E6B2CCC5F9518BC0C9C95C7EE78B82916B38EEC150D63A6406E426DD21CD8FEC9CB378 Unprotected APDU: [2751D1F4E69C6AAB2EEFE96379FBA7788AE6ABABCB491C92FA6D829E2077D44C6DFC0EEBC53A9FAC209A49DF4D57355CF2BB97618D6AABEB3EB6D47A92A1EDA8A9BD30378E38F000F71E563A59CEDDAD18595BDAA26546B55150EBB9DB7EC5322B044D0601F37779E540690FDC5C52CCED1F2B0607651EAA68B787CCFBB9C771EE50290DC973EE7D9366B4BB11B38EFDD3F107CA1AEFA771E55F31CDAE1C31B2182CDFA9DCDD4292666F2D03F753EA618626D9AF74A4FD44F6557390C7580574CD575F50E6B2CCC5F9518BC0C9C95C7EE78B82916B38EEC150D63A6406E426DD21CD8FEC9CB378] 90 00 got resp - ResponseAPDU(data: [39, 81, 209, 244, 230, 156, 106, 171, 46, 239, 233, 99, 121, 251, 167, 120, 138, 230, 171, 171, 203, 73, 28, 146, 250, 109, 130, 158, 32, 119, 212, 76, 109, 252, 14, 235, 197, 58, 159, 172, 32, 154, 73, 223, 77, 87, 53, 92, 242, 187, 151, 97, 141, 106, 171, 235, 62, 182, 212, 122, 146, 161, 237, 168, 169, 189, 48, 55, 142, 56, 240, 0, 247, 30, 86, 58, 89, 206, 221, 173, 24, 89, 91, 218, 162, 101, 70, 181, 81, 80, 235, 185, 219, 126, 197, 50, 43, 4, 77, 6, 1, 243, 119, 121, 229, 64, 105, 15, 220, 92, 82, 204, 237, 31, 43, 6, 7, 101, 30, 170, 104, 183, 135, 204, 251, 185, 199, 113, 238, 80, 41, 13, 201, 115, 238, 125, 147, 102, 180, 187, 17, 179, 142, 253, 211, 241, 7, 202, 26, 239, 167, 113, 229, 95, 49, 205, 174, 28, 49, 178, 24, 44, 223, 169, 220, 221, 66, 146, 102, 111, 45, 3, 247, 83, 234, 97, 134, 38, 217, 175, 116, 164, 253, 68, 246, 85, 115, 144, 199, 88, 5, 116, 205, 87, 95, 80, 230, 178, 204, 197, 249, 81, 139, 192, 201, 201, 92, 126, 231, 139, 130, 145, 107, 56, 238, 193, 80, 214, 58, 100, 6, 228, 38, 221, 33, 205, 143, 236, 156, 179, 120], sw1: 144, sw2: 0) Amount of data left read - 18029 2020-12-25 10:57:56.618203+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0090A80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0090A80000000970100 SSC: 6C6A0175736028EF Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028F0 Concatenate SSC and M and add padding N: 6C6A0175736028F00CB0090A800000009701008000000000 x0: 6C6A0175736028F0 y0: A53982C740B199CF x1: 0CB0090A80000000 y1: E7D6E9F7E868C685 x2: 9701008000000000 y2: 5A1B46A234DE032B y: 5A1B46A234DE032B bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 40078619474C48CC a: 2330BDD58AA894CF Compute MAC over N with KSmac CC: 2330BDD58AA894CF Build DO'8E DO8E: 8E082330BDD58AA894CF Construct and send protected APDU ProtectedAPDU: 0CB0090A0D9701008E082330BDD58AA894CF00 [SM] [0x0C, 0xB0, 0x09, 0x0A, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x23, 0x30, 0xBD, 0xD5, 0x8A, 0xA8, 0x94, 0xCF, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90132764808D9D042418757CA23F3C522576FC2B1128971F28691BBCF092AF1DA8B28B14E604D1B1A77752262CDB94896CEF0595DBE13983AB5034D229557B32CC5234131A8AB4A664489D83D173E3EE15A6510A0ACC60E9BACE03C84D25CA3F5323EC0493D01D4FD3A38F9A206C7C82B17E3C0670B8E957E94985513E39FB8FFB5E350F597E5904FAF71ED54240185C3098F5DAE17863D9AC36135D4735B8C9B42AED2CFF6D50E52CB3E31BC192619F954F6C6363B414AC679AA219A73EB50E085859CB5986E29C799583A4C8C891C0C615D465750C85136341C93335979D721D9F6FCB76B2C51CF8C990290008E0861AD300FF340EE0C9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028F0 Increment SSC with 1 SSC: 6C6A0175736028F1 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028F18781E90132764808D9D042418757CA23F3C522576FC2B1128971F28691BBCF092AF1DA8B28B14E604D1B1A77752262CDB94896CEF0595DBE13983AB5034D229557B32CC5234131A8AB4A664489D83D173E3EE15A6510A0ACC60E9BACE03C84D25CA3F5323EC0493D01D4FD3A38F9A206C7C82B17E3C0670B8E957E94985513E39FB8FFB5E350F597E5904FAF71ED54240185C3098F5DAE17863D9AC36135D4735B8C9B42AED2CFF6D50E52CB3E31BC192619F954F6C6363B414AC679AA219A73EB50E085859CB5986E29C799583A4C8C891C0C615D465750C85136341C93335979D721D9F6FCB76B2C51CF8C990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028F1 y0: 0F743DECF6DE2D3B x1: 8781E90132764808 y1: E7609FE4718D4A88 x2: D9D042418757CA23 y2: F8A87BDFBC05C548 x3: F3C522576FC2B112 y3: CE7EB8AB28F52A5B x4: 8971F28691BBCF09 y4: 2C616A90245DDB1C x5: 2AF1DA8B28B14E60 y5: F2CD605D6FAB483D x6: 4D1B1A77752262CD y6: 5A24D5C9AB5E8312 x7: B94896CEF0595DBE y7: 5A03368AC3C13551 x8: 13983AB5034D2295 y8: A9529F272C4EC893 x9: 57B32CC5234131A8 y9: 367DBF7518B3FBA9 x10: AB4A664489D83D17 y10: 2EB12D79E9A5A22F x11: 3E3EE15A6510A0AC y11: 4AB407BB000CD87B x12: C60E9BACE03C84D2 y12: 7CFB17E95CA16EDA x13: 5CA3F5323EC0493D y13: B80DBE50F2178727 x14: 01D4FD3A38F9A206 y14: D60DE6E5C60F67FE x15: C7C82B17E3C0670B y15: 8B010B6BBD622A6E x16: 8E957E94985513E3 y16: 8F3C6B9363C93DD7 x17: 9FB8FFB5E350F597 y17: EC947099AAE3D258 x18: E5904FAF71ED5424 y18: 642FB455FFC2D58D x19: 0185C3098F5DAE17 y19: 5DFC41BD7FC0C2E2 x20: 863D9AC36135D473 y20: 50DA789597564868 x21: 5B8C9B42AED2CFF6 y21: 0BD69FDE6372D13D x22: D50E52CB3E31BC19 y22: 6D72F33D7C7DAC18 x23: 2619F954F6C6363B y23: 6F0362824D77B04C x24: 414AC679AA219A73 y24: ECA514B4323E2544 x25: EB50E085859CB598 y25: 5E9F85073CAAB50B x26: 6E29C799583A4C8C y26: 221E9D9816404132 x27: 891C0C615D465750 y27: D248945065E3A5E0 x28: C85136341C933359 y28: D67D7B7A9052302E x29: 79D721D9F6FCB76B y29: DE03AE1484CAD22C x30: 2C51CF8C99029000 y30: 563CC1BBB138E7C8 x31: 8000000000000000 y31: 34DC5F8B34DD1FBE y: 34DC5F8B34DD1FBE bkey: E638769E34981349 akey: FD4AC70407EA4954 b: B21AFB5C8C886692 a: 61AD300FF340EE0C CC: 61AD300FF340EE0C Compare CC with data of DO'8E of RAPDU 61AD300FF340EE0C == 61AD300FF340EE0C ? true Decrypt data of DO'87 with KSenc DecryptedData: 02D7EC8B0BAAD5CDE5C464A5588BDEC7165D26CEB8E1703FCA21C371F649FBA517A4073B6D8E4285E165C32495D1258F64D9245C8F0B9BB37B5BFD949FA74BB394A0414C5F22E528BC3394458901FF002D8A76292C47650DAFB827CA75AEFE10E2E692B6682E69E42C738589F6561A66AD351D6B2A438E30F07F534F2167E1948EC549649736FE5677287A4B3A8DD49F85A5A677E5C8E1242F71F96137CAF7BD3EAE29E9A163276CD2089AE7387EAC73FCAF92A2AD91B24449BB63C58F85EB7D07D5D0C34B46CA898BA4A47383B3FF0064F3FC29CFC691ECC84DC13C7534F1CF03C3E391A1CC70 Unprotected APDU: [02D7EC8B0BAAD5CDE5C464A5588BDEC7165D26CEB8E1703FCA21C371F649FBA517A4073B6D8E4285E165C32495D1258F64D9245C8F0B9BB37B5BFD949FA74BB394A0414C5F22E528BC3394458901FF002D8A76292C47650DAFB827CA75AEFE10E2E692B6682E69E42C738589F6561A66AD351D6B2A438E30F07F534F2167E1948EC549649736FE5677287A4B3A8DD49F85A5A677E5C8E1242F71F96137CAF7BD3EAE29E9A163276CD2089AE7387EAC73FCAF92A2AD91B24449BB63C58F85EB7D07D5D0C34B46CA898BA4A47383B3FF0064F3FC29CFC691ECC84DC13C7534F1CF03C3E391A1CC70] 90 00 got resp - ResponseAPDU(data: [2, 215, 236, 139, 11, 170, 213, 205, 229, 196, 100, 165, 88, 139, 222, 199, 22, 93, 38, 206, 184, 225, 112, 63, 202, 33, 195, 113, 246, 73, 251, 165, 23, 164, 7, 59, 109, 142, 66, 133, 225, 101, 195, 36, 149, 209, 37, 143, 100, 217, 36, 92, 143, 11, 155, 179, 123, 91, 253, 148, 159, 167, 75, 179, 148, 160, 65, 76, 95, 34, 229, 40, 188, 51, 148, 69, 137, 1, 255, 0, 45, 138, 118, 41, 44, 71, 101, 13, 175, 184, 39, 202, 117, 174, 254, 16, 226, 230, 146, 182, 104, 46, 105, 228, 44, 115, 133, 137, 246, 86, 26, 102, 173, 53, 29, 107, 42, 67, 142, 48, 240, 127, 83, 79, 33, 103, 225, 148, 142, 197, 73, 100, 151, 54, 254, 86, 119, 40, 122, 75, 58, 141, 212, 159, 133, 165, 166, 119, 229, 200, 225, 36, 47, 113, 249, 97, 55, 202, 247, 189, 62, 174, 41, 233, 161, 99, 39, 108, 210, 8, 154, 231, 56, 126, 172, 115, 252, 175, 146, 162, 173, 145, 178, 68, 73, 187, 99, 197, 143, 133, 235, 125, 7, 213, 208, 195, 75, 70, 202, 137, 139, 164, 164, 115, 131, 179, 255, 0, 100, 243, 252, 41, 207, 198, 145, 236, 200, 77, 193, 60, 117, 52, 241, 207, 3, 195, 227, 145, 161, 204, 112], sw1: 144, sw2: 0) Amount of data left read - 17798 2020-12-25 10:57:56.664954+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB009F180000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB009F180000000970100 SSC: 6C6A0175736028F1 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028F2 Concatenate SSC and M and add padding N: 6C6A0175736028F20CB009F1800000009701008000000000 x0: 6C6A0175736028F2 y0: 9F68FBF725B988C9 x1: 0CB009F180000000 y1: 79E8C193E00234A5 x2: 9701008000000000 y2: BA38ED12B5CE0911 y: BA38ED12B5CE0911 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: D1E6AC29DA8B74EF a: 814CED6D0A7EFED3 Compute MAC over N with KSmac CC: 814CED6D0A7EFED3 Build DO'8E DO8E: 8E08814CED6D0A7EFED3 Construct and send protected APDU ProtectedAPDU: 0CB009F10D9701008E08814CED6D0A7EFED300 [SM] [0x0C, 0xB0, 0x09, 0xF1, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x81, 0x4C, 0xED, 0x6D, 0x0A, 0x7E, 0xFE, 0xD3, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901A79C520E726BD540316F654F7675681948424B9FF33F70F8679311DC62B6D982F66C7ADD1450A532A26F8574C417C7FBC0C0DE294A6788FB9CE62A0A4246938FCAC1A4CF4CC50EE4401612970594C49C369F3CEBCFE1BD67BCD591162480FF7875245BE74D1281B7E61CC20570CD1E361E24A46232FDDBB0243A1B311CEB57EC2BCB2127B0205317ABAA8B33BB52C223EBBE65F394451A2F4CF15FDCC6F82BB0986ECFD187D997DD23AD610B0AF133F6996F2F5203464DF461A4BA2E8CEF6D7A0470B8B8F1DF8D1CA2A307B03175A36FBBF82B84E52FBF5DB9EDCCB9CA87869C4065C6A7172C45D4990290008E082F36C28A217B41D79000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028F2 Increment SSC with 1 SSC: 6C6A0175736028F3 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028F38781E901A79C520E726BD540316F654F7675681948424B9FF33F70F8679311DC62B6D982F66C7ADD1450A532A26F8574C417C7FBC0C0DE294A6788FB9CE62A0A4246938FCAC1A4CF4CC50EE4401612970594C49C369F3CEBCFE1BD67BCD591162480FF7875245BE74D1281B7E61CC20570CD1E361E24A46232FDDBB0243A1B311CEB57EC2BCB2127B0205317ABAA8B33BB52C223EBBE65F394451A2F4CF15FDCC6F82BB0986ECFD187D997DD23AD610B0AF133F6996F2F5203464DF461A4BA2E8CEF6D7A0470B8B8F1DF8D1CA2A307B03175A36FBBF82B84E52FBF5DB9EDCCB9CA87869C4065C6A7172C45D4990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028F3 y0: 07A15DB676338364 x1: 8781E901A79C520E y1: 09F4AB29FE560DBC x2: 726BD540316F654F y2: 16F4C0ADF7869885 x3: 7675681948424B9F y3: B0F2AC0F85BC9B08 x4: F33F70F8679311DC y4: E9AA5FA68AF2D1D5 x5: 62B6D982F66C7ADD y5: 2E8D33D9B809100B x6: 1450A532A26F8574 y6: E6463323A11D6ED5 x7: C417C7FBC0C0DE29 y7: 95AE5F82E507DE79 x8: 4A6788FB9CE62A0A y8: C1943A88421A21F5 x9: 4246938FCAC1A4CF y9: 35A8C30951D0D061 x10: 4CC50EE440161297 y10: A215F372288389DD x11: 0594C49C369F3CEB y11: E1F80546FA121D81 x12: CFE1BD67BCD59116 y12: D54873E0A4186EAC x13: 2480FF7875245BE7 y13: 2837CA4F4A4A1E59 x14: 4D1281B7E61CC205 y14: E264043E8E9F7ECB x15: 70CD1E361E24A462 y15: D71AC7731589FB17 x16: 32FDDBB0243A1B31 y16: B5DB0BE2EF0F52F0 x17: 1CEB57EC2BCB2127 y17: 142A983CC2B3AA08 x18: B0205317ABAA8B33 y18: BB697985C58DB33D x19: BB52C223EBBE65F3 y19: 5FF2D9040C9379B8 x20: 94451A2F4CF15FDC y20: 890142647B9F915F x21: C6F82BB0986ECFD1 y21: FA283A05E4E5A6C3 x22: 87D997DD23AD610B y22: 706C2E433D47CD27 x23: 0AF133F6996F2F52 y23: 49A713DB24AE188F x24: 03464DF461A4BA2E y24: B1943931FE191C96 x25: 8CEF6D7A0470B8B8 y25: 1368A3CB238A34D6 x26: F1DF8D1CA2A307B0 y26: EF64C97D14C1082E x27: 3175A36FBBF82B84 y27: 3C0C351D8956BFEC x28: E52FBF5DB9EDCCB9 y28: 286C7AD15AD8CD57 x29: CA87869C4065C6A7 y29: BA910C553E62FA2D x30: 172C45D499029000 y30: 7FFF469A4F562AE6 x31: 8000000000000000 y31: 21292283D55163F5 y: 21292283D55163F5 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 0C58BD1DEFE38902 a: 2F36C28A217B41D7 CC: 2F36C28A217B41D7 Compare CC with data of DO'8E of RAPDU 2F36C28A217B41D7 == 2F36C28A217B41D7 ? true Decrypt data of DO'87 with KSenc DecryptedData: E0829C5B2E10842010842010842011642100842100842100842100842100842100842100842100842A7EA4D460A1D35CDA9AB14CC9016B8B7EB00E2ED516F2745375AF5D43D3F412334E31D45601917BB63FBFBFB2F00D67A8B51D5EB5F555B55248E93241380AC3AB758A57D50A5D343FF0D193791E6EE94F92B23354349BB42C2EADAA6BB7E392CE5A4D80374C192E2F9252377A8FB03729C20308B9C9F0B48A1B635EF7614982987AAD0F05C7B81DD22365CDDEEB37D93A273B5CD690D69CFBA98CF5D4B744D65B742D6B80EC6F6413B4060B92EE001C2668E192A65F4D8FB62F73DBDD4C96 Unprotected APDU: [E0829C5B2E10842010842010842011642100842100842100842100842100842100842100842100842A7EA4D460A1D35CDA9AB14CC9016B8B7EB00E2ED516F2745375AF5D43D3F412334E31D45601917BB63FBFBFB2F00D67A8B51D5EB5F555B55248E93241380AC3AB758A57D50A5D343FF0D193791E6EE94F92B23354349BB42C2EADAA6BB7E392CE5A4D80374C192E2F9252377A8FB03729C20308B9C9F0B48A1B635EF7614982987AAD0F05C7B81DD22365CDDEEB37D93A273B5CD690D69CFBA98CF5D4B744D65B742D6B80EC6F6413B4060B92EE001C2668E192A65F4D8FB62F73DBDD4C96] 90 00 got resp - ResponseAPDU(data: [224, 130, 156, 91, 46, 16, 132, 32, 16, 132, 32, 16, 132, 32, 17, 100, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 42, 126, 164, 212, 96, 161, 211, 92, 218, 154, 177, 76, 201, 1, 107, 139, 126, 176, 14, 46, 213, 22, 242, 116, 83, 117, 175, 93, 67, 211, 244, 18, 51, 78, 49, 212, 86, 1, 145, 123, 182, 63, 191, 191, 178, 240, 13, 103, 168, 181, 29, 94, 181, 245, 85, 181, 82, 72, 233, 50, 65, 56, 10, 195, 171, 117, 138, 87, 213, 10, 93, 52, 63, 240, 209, 147, 121, 30, 110, 233, 79, 146, 178, 51, 84, 52, 155, 180, 44, 46, 173, 170, 107, 183, 227, 146, 206, 90, 77, 128, 55, 76, 25, 46, 47, 146, 82, 55, 122, 143, 176, 55, 41, 194, 3, 8, 185, 201, 240, 180, 138, 27, 99, 94, 247, 97, 73, 130, 152, 122, 173, 15, 5, 199, 184, 29, 210, 35, 101, 205, 222, 235, 55, 217, 58, 39, 59, 92, 214, 144, 214, 156, 251, 169, 140, 245, 212, 183, 68, 214, 91, 116, 45, 107, 128, 236, 111, 100, 19, 180, 6, 11, 146, 238, 0, 28, 38, 104, 225, 146, 166, 95, 77, 143, 182, 47, 115, 219, 221, 76, 150], sw1: 144, sw2: 0) Amount of data left read - 17567 2020-12-25 10:57:56.711903+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00AD880000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00AD880000000970100 SSC: 6C6A0175736028F3 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028F4 Concatenate SSC and M and add padding N: 6C6A0175736028F40CB00AD8800000009701008000000000 x0: 6C6A0175736028F4 y0: 9250B583F6BB33BC x1: 0CB00AD880000000 y1: 7132C03FB33415FD x2: 9701008000000000 y2: 4D757B95699E5C47 y: 4D757B95699E5C47 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 29D6B284D6640D38 a: 1F2856F2B23FC317 Compute MAC over N with KSmac CC: 1F2856F2B23FC317 Build DO'8E DO8E: 8E081F2856F2B23FC317 Construct and send protected APDU ProtectedAPDU: 0CB00AD80D9701008E081F2856F2B23FC31700 [SM] [0x0C, 0xB0, 0x0A, 0xD8, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x1F, 0x28, 0x56, 0xF2, 0xB2, 0x3F, 0xC3, 0x17, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901A8C9D13C10C6363F230CC48EBFDD1442B43E2726A4237D88BDB80F521DCE7087E49697BB6F65288392140396833BA7CB988B4F673587BBDFAC8EB94FF1F700C927A4CD4FCD5D95AA6B1BCCDE4572F97FB27748F08B68EAB97903BC88D2193805F2EA61A3C794B18CA0ED63EE095A6C521B433D3D57A90DACA671B296DFEBFEB3842E9269E7951E30810258C68DC8D2D67BFEAB4477EA4805F407A90999437260545B51B0F9023A6A6ECE822BC46B61A065251CB421FF2E02AADF0D64F2C4D49A65C0855DEF5CA61EF0339414E0F8A87DD3E82B3A58E84D155539011548B498100A7C2591160B3D84990290008E08E12385E1C56F30879000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028F4 Increment SSC with 1 SSC: 6C6A0175736028F5 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028F58781E901A8C9D13C10C6363F230CC48EBFDD1442B43E2726A4237D88BDB80F521DCE7087E49697BB6F65288392140396833BA7CB988B4F673587BBDFAC8EB94FF1F700C927A4CD4FCD5D95AA6B1BCCDE4572F97FB27748F08B68EAB97903BC88D2193805F2EA61A3C794B18CA0ED63EE095A6C521B433D3D57A90DACA671B296DFEBFEB3842E9269E7951E30810258C68DC8D2D67BFEAB4477EA4805F407A90999437260545B51B0F9023A6A6ECE822BC46B61A065251CB421FF2E02AADF0D64F2C4D49A65C0855DEF5CA61EF0339414E0F8A87DD3E82B3A58E84D155539011548B498100A7C2591160B3D84990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028F5 y0: C49B1E16150B03E6 x1: 8781E901A8C9D13C y1: F6C071CB6A9B1C0E x2: 10C6363F230CC48E y2: E171D4A901F27A91 x3: BFDD1442B43E2726 y3: 8F7F5FACC9826FFC x4: A4237D88BDB80F52 y4: E051FE225838D175 x5: 1DCE7087E49697BB y5: 903DC8E442E45188 x6: 6F65288392140396 y6: 04301DFFD625E319 x7: 833BA7CB988B4F67 y7: E599799ACDD043B8 x8: 3587BBDFAC8EB94F y8: 4390744B1554CEC6 x9: F1F700C927A4CD4F y9: 4A24A1929738619B x10: CD5D95AA6B1BCCDE y10: 02A3EA56904A4691 x11: 4572F97FB27748F0 y11: D2AC5C0E6E613333 x12: 8B68EAB97903BC88 y12: 7DE1E8A83AB6179B x13: D2193805F2EA61A3 y13: 8C41585877742E6A x14: C794B18CA0ED63EE y14: 89BC7257325EC6CF x15: 095A6C521B433D3D y15: 395A6827944CAA2F x16: 57A90DACA671B296 y16: A720CB7CB5A68F15 x17: DFEBFEB3842E9269 y17: 6EB0E23E0D2B5F35 x18: E7951E30810258C6 y18: 8CAA9610C1110474 x19: 8DC8D2D67BFEAB44 y19: 52EE869420075A2C x20: 77EA4805F407A909 y20: FC97A7CA91E8B953 x21: 99437260545B51B0 y21: 1FD8A50049C8755B x22: F9023A6A6ECE822B y22: B831E2235ECCFAAC x23: C46B61A065251CB4 y23: A1CFB0211BD531ED x24: 21FF2E02AADF0D64 y24: 8317FB96C31F8426 x25: F2C4D49A65C0855D y25: 42765B7E81E52813 x26: EF5CA61EF0339414 y26: ACCF2438FDB769CD x27: E0F8A87DD3E82B3A y27: 92D12864FD6DA461 x28: 58E84D1555390115 y28: 78504693857A2659 x29: 48B498100A7C2591 y29: F928B84F00A14A7A x30: 160B3D8499029000 y30: 28FC285B89DBC2EB x31: 8000000000000000 y31: 89D7A5B5C28B8799 y: 89D7A5B5C28B8799 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 41564FCB3499DDB8 a: E12385E1C56F3087 CC: E12385E1C56F3087 Compare CC with data of DO'8E of RAPDU E12385E1C56F3087 == E12385E1C56F3087 ? true Decrypt data of DO'87 with KSenc DecryptedData: 7834E8CC7148DA99DDF5496C0FB2B7C61FB4CCD1BA36832117232156C8C0E384FBDD24AE25E4924F2B8F8D85DF29B00324A5F8BC9D431F2DC771C5971E2C0070172A66FA581968DC6437B971FF00451E4AA82DB9B1DDDDEEA3AB49519E2EE040292709C75407583703B84D3DE0E09516B591C7645F94D937EE96709B763855E90389030B97C72826E1700C037E1254FF005D17F28E022F7383FB22C6DF6ECA7B070DEF8E52AD8DC4A1D718217060DB70FE13B130A68B5EC0A5878FB04D839B66FEE86B9E2EDFDB292892D7136CF09F63ADF49B77CA86D7588171EE53CD7E004389CC97E5E15A69 Unprotected APDU: [7834E8CC7148DA99DDF5496C0FB2B7C61FB4CCD1BA36832117232156C8C0E384FBDD24AE25E4924F2B8F8D85DF29B00324A5F8BC9D431F2DC771C5971E2C0070172A66FA581968DC6437B971FF00451E4AA82DB9B1DDDDEEA3AB49519E2EE040292709C75407583703B84D3DE0E09516B591C7645F94D937EE96709B763855E90389030B97C72826E1700C037E1254FF005D17F28E022F7383FB22C6DF6ECA7B070DEF8E52AD8DC4A1D718217060DB70FE13B130A68B5EC0A5878FB04D839B66FEE86B9E2EDFDB292892D7136CF09F63ADF49B77CA86D7588171EE53CD7E004389CC97E5E15A69] 90 00 got resp - ResponseAPDU(data: [120, 52, 232, 204, 113, 72, 218, 153, 221, 245, 73, 108, 15, 178, 183, 198, 31, 180, 204, 209, 186, 54, 131, 33, 23, 35, 33, 86, 200, 192, 227, 132, 251, 221, 36, 174, 37, 228, 146, 79, 43, 143, 141, 133, 223, 41, 176, 3, 36, 165, 248, 188, 157, 67, 31, 45, 199, 113, 197, 151, 30, 44, 0, 112, 23, 42, 102, 250, 88, 25, 104, 220, 100, 55, 185, 113, 255, 0, 69, 30, 74, 168, 45, 185, 177, 221, 221, 238, 163, 171, 73, 81, 158, 46, 224, 64, 41, 39, 9, 199, 84, 7, 88, 55, 3, 184, 77, 61, 224, 224, 149, 22, 181, 145, 199, 100, 95, 148, 217, 55, 238, 150, 112, 155, 118, 56, 85, 233, 3, 137, 3, 11, 151, 199, 40, 38, 225, 112, 12, 3, 126, 18, 84, 255, 0, 93, 23, 242, 142, 2, 47, 115, 131, 251, 34, 198, 223, 110, 202, 123, 7, 13, 239, 142, 82, 173, 141, 196, 161, 215, 24, 33, 112, 96, 219, 112, 254, 19, 177, 48, 166, 139, 94, 192, 165, 135, 143, 176, 77, 131, 155, 102, 254, 232, 107, 158, 46, 223, 219, 41, 40, 146, 215, 19, 108, 240, 159, 99, 173, 244, 155, 119, 202, 134, 215, 88, 129, 113, 238, 83, 205, 126, 0, 67, 137, 204, 151, 229, 225, 90, 105], sw1: 144, sw2: 0) Amount of data left read - 17336 2020-12-25 10:57:56.754305+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00BBF80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00BBF80000000970100 SSC: 6C6A0175736028F5 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028F6 Concatenate SSC and M and add padding N: 6C6A0175736028F60CB00BBF800000009701008000000000 x0: 6C6A0175736028F6 y0: 98E7C8C64EE04EE1 x1: 0CB00BBF80000000 y1: C555F15C7BF79677 x2: 9701008000000000 y2: 20FE28E3A6BA9ED6 y: 20FE28E3A6BA9ED6 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: AE89BAF8DD71F430 a: BDCF5C0C73C7C5A6 Compute MAC over N with KSmac CC: BDCF5C0C73C7C5A6 Build DO'8E DO8E: 8E08BDCF5C0C73C7C5A6 Construct and send protected APDU ProtectedAPDU: 0CB00BBF0D9701008E08BDCF5C0C73C7C5A600 [SM] [0x0C, 0xB0, 0x0B, 0xBF, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xBD, 0xCF, 0x5C, 0x0C, 0x73, 0xC7, 0xC5, 0xA6, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9010DCB2D0D14049D390FD65B19552F1F3E7D8C22B148E05C6194D3E834A755312B09FEEEC8C6DC7DCB4457F12E2EC5F0A64015624C9189CAF553E83CBF10F0854AF0D7448B892A9711F00A41226D53C4032C3D8121AB2D9CBB39CB50CAB974A8D102102341A2A34B12D099EF9FBF19B0A9EE30D60BAA7CA7813BB6F0165791C1CAFBCAA8E99418DFB093CF50B58CE7313E332C6CD7FD47604BCF74B8A8AB6E301D0594EF1C5A7A8CB010793EE5B2D2CC7B17FA15A29F53263F594EE632B92B4AFA6EEA5F3EA93AAC6790083057904C3446411D553866F4C0886A19A8B2172458075E4CAB6AC33C14CD990290008E08338AA6D687BDF8259000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028F6 Increment SSC with 1 SSC: 6C6A0175736028F7 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028F78781E9010DCB2D0D14049D390FD65B19552F1F3E7D8C22B148E05C6194D3E834A755312B09FEEEC8C6DC7DCB4457F12E2EC5F0A64015624C9189CAF553E83CBF10F0854AF0D7448B892A9711F00A41226D53C4032C3D8121AB2D9CBB39CB50CAB974A8D102102341A2A34B12D099EF9FBF19B0A9EE30D60BAA7CA7813BB6F0165791C1CAFBCAA8E99418DFB093CF50B58CE7313E332C6CD7FD47604BCF74B8A8AB6E301D0594EF1C5A7A8CB010793EE5B2D2CC7B17FA15A29F53263F594EE632B92B4AFA6EEA5F3EA93AAC6790083057904C3446411D553866F4C0886A19A8B2172458075E4CAB6AC33C14CD990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028F7 y0: 0677DAD19E353138 x1: 8781E9010DCB2D0D y1: 055630D5DE2F2637 x2: 14049D390FD65B19 y2: 54D31AC9E010AEE5 x3: 552F1F3E7D8C22B1 y3: 5BE5B0C43D2B561C x4: 48E05C6194D3E834 y4: 144395BA4603382E x5: A755312B09FEEEC8 y5: 8F07F2799A904076 x6: C6DC7DCB4457F12E y6: F8CD8721B8A195C2 x7: 2EC5F0A64015624C y7: 84F3D7279E63303D x8: 9189CAF553E83CBF y8: 43A8EBAFF7EB6357 x9: 10F0854AF0D7448B y9: 582162BC59BEF429 x10: 892A9711F00A4122 y10: 1876686D13259361 x11: 6D53C4032C3D8121 y11: 20C160D57179DC3E x12: AB2D9CBB39CB50CA y12: 9A7D25E9CFA72AC4 x13: B974A8D102102341 y13: 690F3E075B8AA2C5 x14: A2A34B12D099EF9F y14: C8A5FAC81F6BF9CF x15: BF19B0A9EE30D60B y15: E6D9C6338F11A2AD x16: AA7CA7813BB6F016 y16: 8D0B3177C229D24C x17: 5791C1CAFBCAA8E9 y17: CF811557E86020E9 x18: 9418DFB093CF50B5 y18: 9A3F3D5EEF929C12 x19: 8CE7313E332C6CD7 y19: 039BC7B5ED326452 x20: FD47604BCF74B8A8 y20: 451D5337BDF9E5B8 x21: AB6E301D0594EF1C y21: C9B818E3BE4A383A x22: 5A7A8CB010793EE5 y22: C27BDF68E30A007B x23: B2D2CC7B17FA15A2 y23: 9D6343AF074F8637 x24: 9F53263F594EE632 y24: 3F2E412D264AD975 x25: B92B4AFA6EEA5F3E y25: 3AF9684C2796087B x26: A93AAC6790083057 y26: 42C87193B3209F06 x27: 904C3446411D5538 y27: 4BFF32206964C5D4 x28: 66F4C0886A19A8B2 y28: F0C86559005CEF25 x29: 172458075E4CAB6A y29: D7434E1CE66A4C10 x30: C33C14CD99029000 y30: 4A86CD5E86D6C162 x31: 8000000000000000 y31: 88CBFCCD4D5EAFF5 y: 88CBFCCD4D5EAFF5 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: E54A707ED2E8DD3A a: 338AA6D687BDF825 CC: 338AA6D687BDF825 Compare CC with data of DO'8E of RAPDU 338AA6D687BDF825 == 338AA6D687BDF825 ? true Decrypt data of DO'87 with KSenc DecryptedData: B5F251D4C72C6EB5B0E1E42A463AC065488E4C59569D7D19F097A81957A449A4CF2B7D4A53F92D272E61CE17A2AF95FA2F599B4CEA1A7A985E37C4E1B038E0E723FBAFA5B42D661D734B6D5D39B8B96385B823957CEBF8BCAB24210AEB042108042108042108042108042108042108042108042108042108042171CE0C6973886B40B927808236A3A841A650C955526CD60BD872E3E02F03EBAEAEA8D42B0833B5E585D96FE907F47ECAD3E2775CCB53A83A8F4F78FC3B06D6BC7EAF25794544C5F72ECB8F2B1D5ED57551E792495E4B9C3254431BDF206822E53F23ECD1648126D3C0B9EEAD18 Unprotected APDU: [B5F251D4C72C6EB5B0E1E42A463AC065488E4C59569D7D19F097A81957A449A4CF2B7D4A53F92D272E61CE17A2AF95FA2F599B4CEA1A7A985E37C4E1B038E0E723FBAFA5B42D661D734B6D5D39B8B96385B823957CEBF8BCAB24210AEB042108042108042108042108042108042108042108042108042108042171CE0C6973886B40B927808236A3A841A650C955526CD60BD872E3E02F03EBAEAEA8D42B0833B5E585D96FE907F47ECAD3E2775CCB53A83A8F4F78FC3B06D6BC7EAF25794544C5F72ECB8F2B1D5ED57551E792495E4B9C3254431BDF206822E53F23ECD1648126D3C0B9EEAD18] 90 00 got resp - ResponseAPDU(data: [181, 242, 81, 212, 199, 44, 110, 181, 176, 225, 228, 42, 70, 58, 192, 101, 72, 142, 76, 89, 86, 157, 125, 25, 240, 151, 168, 25, 87, 164, 73, 164, 207, 43, 125, 74, 83, 249, 45, 39, 46, 97, 206, 23, 162, 175, 149, 250, 47, 89, 155, 76, 234, 26, 122, 152, 94, 55, 196, 225, 176, 56, 224, 231, 35, 251, 175, 165, 180, 45, 102, 29, 115, 75, 109, 93, 57, 184, 185, 99, 133, 184, 35, 149, 124, 235, 248, 188, 171, 36, 33, 10, 235, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 113, 206, 12, 105, 115, 136, 107, 64, 185, 39, 128, 130, 54, 163, 168, 65, 166, 80, 201, 85, 82, 108, 214, 11, 216, 114, 227, 224, 47, 3, 235, 174, 174, 168, 212, 43, 8, 51, 181, 229, 133, 217, 111, 233, 7, 244, 126, 202, 211, 226, 119, 92, 203, 83, 168, 58, 143, 79, 120, 252, 59, 6, 214, 188, 126, 175, 37, 121, 69, 68, 197, 247, 46, 203, 143, 43, 29, 94, 213, 117, 81, 231, 146, 73, 94, 75, 156, 50, 84, 67, 27, 223, 32, 104, 34, 229, 63, 35, 236, 209, 100, 129, 38, 211, 192, 185, 238, 173, 24], sw1: 144, sw2: 0) Amount of data left read - 17105 2020-12-25 10:57:56.797424+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00CA680000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00CA680000000970100 SSC: 6C6A0175736028F7 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028F8 Concatenate SSC and M and add padding N: 6C6A0175736028F80CB00CA6800000009701008000000000 x0: 6C6A0175736028F8 y0: 07D7792D769B9539 x1: 0CB00CA680000000 y1: 8C56091D6C52B38B x2: 9701008000000000 y2: 4C379F42D35496B3 y: 4C379F42D35496B3 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 6739EAB2349B78A0 a: E41276175A986B44 Compute MAC over N with KSmac CC: E41276175A986B44 Build DO'8E DO8E: 8E08E41276175A986B44 Construct and send protected APDU ProtectedAPDU: 0CB00CA60D9701008E08E41276175A986B4400 [SM] [0x0C, 0xB0, 0x0C, 0xA6, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xE4, 0x12, 0x76, 0x17, 0x5A, 0x98, 0x6B, 0x44, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90146A5527D9F9514904DC9FB9ED4D6A973ABC71CFF2328B8F173792E4AF07D3507318FABB5D616A2D3BC6D642408162E839303FE44AC7E63C117FB93881B95B536A76BCEE8EB1291D47942E9FF9CCBF92742D5E9E1DCB05D6DF62A6190CAB90DBD378B79AA53A173B231EFBCF89FD924862BF250D9C880E397EC204D8DB5CBBACA737279DAA3FC5F46B229EFA2B2DB04D0797099E2C3D70135692C174B158339D978B997AFC5C6CE5C02E144509F18B2D225030F133D55F4B36CE15118CAD792B5686E3248912167F5D0D7CE96A56BA273F337DF929529B2E8CAC45EDB38BD638AB2B36A7285B4FAAD990290008E080B8FA6EC637292569000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028F8 Increment SSC with 1 SSC: 6C6A0175736028F9 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028F98781E90146A5527D9F9514904DC9FB9ED4D6A973ABC71CFF2328B8F173792E4AF07D3507318FABB5D616A2D3BC6D642408162E839303FE44AC7E63C117FB93881B95B536A76BCEE8EB1291D47942E9FF9CCBF92742D5E9E1DCB05D6DF62A6190CAB90DBD378B79AA53A173B231EFBCF89FD924862BF250D9C880E397EC204D8DB5CBBACA737279DAA3FC5F46B229EFA2B2DB04D0797099E2C3D70135692C174B158339D978B997AFC5C6CE5C02E144509F18B2D225030F133D55F4B36CE15118CAD792B5686E3248912167F5D0D7CE96A56BA273F337DF929529B2E8CAC45EDB38BD638AB2B36A7285B4FAAD990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028F9 y0: 7D9DF48E3CCCD652 x1: 8781E90146A5527D y1: 87AB553DB83CB41E x2: 9F9514904DC9FB9E y2: 29013C32ECD50270 x3: D4D6A973ABC71CFF y3: 7B82CC7409E1FD9F x4: 2328B8F173792E4A y4: 7B7189EFC548F445 x5: F07D3507318FABB5 y5: CE3591BB202BF08D x6: D616A2D3BC6D6424 y6: F19161EB353CB1E3 x7: 08162E839303FE44 y7: 9215C36F8D043042 x8: AC7E63C117FB9388 y8: A529120308122313 x9: 1B95B536A76BCEE8 y9: 0B4CC3B55E1309CB x10: EB1291D47942E9FF y10: 8CD6083C4EC78564 x11: 9CCBF92742D5E9E1 y11: 0E13237F4E3BFCD8 x12: DCB05D6DF62A6190 y12: 1F5030FF8F760DE2 x13: CAB90DBD378B79AA y13: A8FA193CC9CE6DCB x14: 53A173B231EFBCF8 y14: 0AECBEDC9A4F1121 x15: 9FD924862BF250D9 y15: DC631D733EAA721E x16: C880E397EC204D8D y16: EE115ECF8F1F809A x17: B5CBBACA737279DA y17: 01286DCFC8EB8D85 x18: A3FC5F46B229EFA2 y18: A4255B4B849A30BB x19: B2DB04D0797099E2 y19: 000A33BAACC01451 x20: C3D70135692C174B y20: 3E08CC2128681CC6 x21: 158339D978B997AF y21: DA6F45EBF9591DD3 x22: C5C6CE5C02E14450 y22: 31C6B7F36D6899DB x23: 9F18B2D225030F13 y23: C2574557CA83B39F x24: 3D55F4B36CE15118 y24: C1F3BD48E2ADC3F8 x25: CAD792B5686E3248 y25: 121245C94367FCF6 x26: 912167F5D0D7CE96 y26: B0490B4F17F1A094 x27: A56BA273F337DF92 y27: 95A42B36567D2D2B x28: 9529B2E8CAC45EDB y28: 99F87A09D4BFE153 x29: 38BD638AB2B36A72 y29: A7C1A9DE8F94D96D x30: 85B4FAAD99029000 y30: B7C089407B5235B1 x31: 8000000000000000 y31: C795F045388B0205 y: C795F045388B0205 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1422F2CAF436DA7A a: 0B8FA6EC63729256 CC: 0B8FA6EC63729256 Compare CC with data of DO'8E of RAPDU 0B8FA6EC63729256 == 0B8FA6EC63729256 ? true Decrypt data of DO'87 with KSenc DecryptedData: D29CC1100C8C032794EBA9DF141EA4C45CFD2D4F53C51C604F358F8BA6679DD31E6F72B488865AD96418213B1D149238EE7B5A182EF27B2763688D96710176417E0DAFFA558B3A1B1B883153BB646797136254776E38B8006029220F946E3607C264B00B8B71DD5BD98DC8635C18773826B64B35CB0DC0C5AE95202646B6D72476ECA54317A71925C2EAB539FF00D2BA5864672463C28A58F91DF2902EA7D53C36ECB739BA845B770031EC8D24704440F9483EE9A91AF07364FF00EBB7364DB9A5C7C954ABC9D33F3B8FD59ECB85AEDD970C27BD2B836E5391D35F96AA762662D432C7DF9B85D0 Unprotected APDU: [D29CC1100C8C032794EBA9DF141EA4C45CFD2D4F53C51C604F358F8BA6679DD31E6F72B488865AD96418213B1D149238EE7B5A182EF27B2763688D96710176417E0DAFFA558B3A1B1B883153BB646797136254776E38B8006029220F946E3607C264B00B8B71DD5BD98DC8635C18773826B64B35CB0DC0C5AE95202646B6D72476ECA54317A71925C2EAB539FF00D2BA5864672463C28A58F91DF2902EA7D53C36ECB739BA845B770031EC8D24704440F9483EE9A91AF07364FF00EBB7364DB9A5C7C954ABC9D33F3B8FD59ECB85AEDD970C27BD2B836E5391D35F96AA762662D432C7DF9B85D0] 90 00 got resp - ResponseAPDU(data: [210, 156, 193, 16, 12, 140, 3, 39, 148, 235, 169, 223, 20, 30, 164, 196, 92, 253, 45, 79, 83, 197, 28, 96, 79, 53, 143, 139, 166, 103, 157, 211, 30, 111, 114, 180, 136, 134, 90, 217, 100, 24, 33, 59, 29, 20, 146, 56, 238, 123, 90, 24, 46, 242, 123, 39, 99, 104, 141, 150, 113, 1, 118, 65, 126, 13, 175, 250, 85, 139, 58, 27, 27, 136, 49, 83, 187, 100, 103, 151, 19, 98, 84, 119, 110, 56, 184, 0, 96, 41, 34, 15, 148, 110, 54, 7, 194, 100, 176, 11, 139, 113, 221, 91, 217, 141, 200, 99, 92, 24, 119, 56, 38, 182, 75, 53, 203, 13, 192, 197, 174, 149, 32, 38, 70, 182, 215, 36, 118, 236, 165, 67, 23, 167, 25, 37, 194, 234, 181, 57, 255, 0, 210, 186, 88, 100, 103, 36, 99, 194, 138, 88, 249, 29, 242, 144, 46, 167, 213, 60, 54, 236, 183, 57, 186, 132, 91, 119, 0, 49, 236, 141, 36, 112, 68, 64, 249, 72, 62, 233, 169, 26, 240, 115, 100, 255, 0, 235, 183, 54, 77, 185, 165, 199, 201, 84, 171, 201, 211, 63, 59, 143, 213, 158, 203, 133, 174, 221, 151, 12, 39, 189, 43, 131, 110, 83, 145, 211, 95, 150, 170, 118, 38, 98, 212, 50, 199, 223, 155, 133, 208], sw1: 144, sw2: 0) Amount of data left read - 16874 2020-12-25 10:57:56.838389+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00D8D80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00D8D80000000970100 SSC: 6C6A0175736028F9 Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028FA Concatenate SSC and M and add padding N: 6C6A0175736028FA0CB00D8D800000009701008000000000 x0: 6C6A0175736028FA y0: 8F90D7FCB6BD76CF x1: 0CB00D8D80000000 y1: 7B4F5817CBDCDEBB x2: 9701008000000000 y2: 6C9AA2A2BBBF6867 y: 6C9AA2A2BBBF6867 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 775E1BC836A83130 a: 27FC642D2B752E1B Compute MAC over N with KSmac CC: 27FC642D2B752E1B Build DO'8E DO8E: 8E0827FC642D2B752E1B Construct and send protected APDU ProtectedAPDU: 0CB00D8D0D9701008E0827FC642D2B752E1B00 [SM] [0x0C, 0xB0, 0x0D, 0x8D, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x27, 0xFC, 0x64, 0x2D, 0x2B, 0x75, 0x2E, 0x1B, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90122315D09A07D740B78E0469AE908CB400E5796F76F883E8979FCDABC67889849FE9A7A0CEF4BA22A4B15EA0E98C90CA5499E8F2D416CC4D5A1DC6E084EE436A48A11F92773810FB0C100C94618B81C5B107ED58A64A356E620E895B954C53F3AEBDBB13F536CFAF9B473B7AA943B90FF601884967B8A508C9F6F48C75539BCD0B98322CFEAFB5BFD39F1D0D08AD1D7C214DEA4627F4F0ADDC82390ACB13AFD0211D4342D260C8F616DD73A250B61445608432211A787C5EDBE371402603D682C287F37283845BB0491072888DB55DB2244704C1DB9B0DF0FEE50AF5B824839632407359F731BFC08990290008E08C0940D2171CEB1209000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028FA Increment SSC with 1 SSC: 6C6A0175736028FB Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028FB8781E90122315D09A07D740B78E0469AE908CB400E5796F76F883E8979FCDABC67889849FE9A7A0CEF4BA22A4B15EA0E98C90CA5499E8F2D416CC4D5A1DC6E084EE436A48A11F92773810FB0C100C94618B81C5B107ED58A64A356E620E895B954C53F3AEBDBB13F536CFAF9B473B7AA943B90FF601884967B8A508C9F6F48C75539BCD0B98322CFEAFB5BFD39F1D0D08AD1D7C214DEA4627F4F0ADDC82390ACB13AFD0211D4342D260C8F616DD73A250B61445608432211A787C5EDBE371402603D682C287F37283845BB0491072888DB55DB2244704C1DB9B0DF0FEE50AF5B824839632407359F731BFC08990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028FB y0: 4F1775877480341E x1: 8781E90122315D09 y1: 0F51BD00D4261942 x2: A07D740B78E0469A y2: F2E882A60E36C175 x3: E908CB400E5796F7 y3: CDBC3CA91B517BC2 x4: 6F883E8979FCDABC y4: 6CF3F7F04F7EBCD7 x5: 67889849FE9A7A0C y5: 4BA28AA58B81D6A6 x6: EF4BA22A4B15EA0E y6: 2FA1FD1FD43E9443 x7: 98C90CA5499E8F2D y7: 720856C64DB3F00D x8: 416CC4D5A1DC6E08 y8: 5F5E192143D4E034 x9: 4EE436A48A11F927 y9: EB3E584A4F09F40E x10: 73810FB0C100C946 y10: 217B0B1BA66ED8F9 x11: 18B81C5B107ED58A y11: 053137C7A3D82AFC x12: 64A356E620E895B9 y12: 0A8ACA58FEC75850 x13: 54C53F3AEBDBB13F y13: AE970F406D3F61F8 x14: 536CFAF9B473B7AA y14: 9049345866634DEC x15: 943B90FF60188496 y15: 5A55CC5ADC037A7B x16: 7B8A508C9F6F48C7 y16: 930EB163C073F844 x17: 5539BCD0B98322CF y17: 7E90F4A3295C73D2 x18: EAFB5BFD39F1D0D0 y18: DD604091E3351050 x19: 8AD1D7C214DEA462 y19: 2132E969789651A8 x20: 7F4F0ADDC82390AC y20: 4E226DED5AD1ABAE x21: B13AFD0211D4342D y21: 81B625632F348372 x22: 260C8F616DD73A25 y22: 668AB70F15BF719F x23: 0B61445608432211 y23: 0A8BA665117CDA1E x24: A787C5EDBE371402 y24: 8377D55D50845606 x25: 603D682C287F3728 y25: AFF805FEAAE7D50A x26: 3845BB0491072888 y26: 2D51CF07E4FEAE1F x27: DB55DB2244704C1D y27: 10E918A46FDC368A x28: B9B0DF0FEE50AF5B y28: 9DFA4DB5856C7EBB x29: 824839632407359F y29: B537FAC1D75C0B07 x30: 731BFC0899029000 y30: 58C3F9D278DFA5E7 x31: 8000000000000000 y31: D28F65A79D0F7B36 y: D28F65A79D0F7B36 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 181B5F76A37D6616 a: C0940D2171CEB120 CC: C0940D2171CEB120 Compare CC with data of DO'8E of RAPDU C0940D2171CEB120 == C0940D2171CEB120 ? true Decrypt data of DO'87 with KSenc DecryptedData: C24D94B7423B8B268B01ED71E144D26E29B109B1F9825089C7F58C2718001C5BDD75CC048E7DFEEA7D898A6BD2796DF70E571CC7BAC5B60427434816C0B7F75D3622C0118170427B7499B2A318A4072EBFDD7035E1D82A51F9C906C7DFBAE7A4EB58036190870C06C97F1EC9C67A97E42598CD8B85C8E2EB8D0400709D394F34C84648C66C9E66FED64C348CF7F74FB318B8CAB7629F7A9F4724914CD91B60E69B85EEBF06BA84CF0D769F5527CDB84D1B49EDDECBC118EC5AEB63D0F59252D7191B37A223B38BC721B7FF00455FCBD4CBC7D4284CD254C7594915440EDD1C8D0E69F29E5A3781 Unprotected APDU: [C24D94B7423B8B268B01ED71E144D26E29B109B1F9825089C7F58C2718001C5BDD75CC048E7DFEEA7D898A6BD2796DF70E571CC7BAC5B60427434816C0B7F75D3622C0118170427B7499B2A318A4072EBFDD7035E1D82A51F9C906C7DFBAE7A4EB58036190870C06C97F1EC9C67A97E42598CD8B85C8E2EB8D0400709D394F34C84648C66C9E66FED64C348CF7F74FB318B8CAB7629F7A9F4724914CD91B60E69B85EEBF06BA84CF0D769F5527CDB84D1B49EDDECBC118EC5AEB63D0F59252D7191B37A223B38BC721B7FF00455FCBD4CBC7D4284CD254C7594915440EDD1C8D0E69F29E5A3781] 90 00 got resp - ResponseAPDU(data: [194, 77, 148, 183, 66, 59, 139, 38, 139, 1, 237, 113, 225, 68, 210, 110, 41, 177, 9, 177, 249, 130, 80, 137, 199, 245, 140, 39, 24, 0, 28, 91, 221, 117, 204, 4, 142, 125, 254, 234, 125, 137, 138, 107, 210, 121, 109, 247, 14, 87, 28, 199, 186, 197, 182, 4, 39, 67, 72, 22, 192, 183, 247, 93, 54, 34, 192, 17, 129, 112, 66, 123, 116, 153, 178, 163, 24, 164, 7, 46, 191, 221, 112, 53, 225, 216, 42, 81, 249, 201, 6, 199, 223, 186, 231, 164, 235, 88, 3, 97, 144, 135, 12, 6, 201, 127, 30, 201, 198, 122, 151, 228, 37, 152, 205, 139, 133, 200, 226, 235, 141, 4, 0, 112, 157, 57, 79, 52, 200, 70, 72, 198, 108, 158, 102, 254, 214, 76, 52, 140, 247, 247, 79, 179, 24, 184, 202, 183, 98, 159, 122, 159, 71, 36, 145, 76, 217, 27, 96, 230, 155, 133, 238, 191, 6, 186, 132, 207, 13, 118, 159, 85, 39, 205, 184, 77, 27, 73, 237, 222, 203, 193, 24, 236, 90, 235, 99, 208, 245, 146, 82, 215, 25, 27, 55, 162, 35, 179, 139, 199, 33, 183, 255, 0, 69, 95, 203, 212, 203, 199, 212, 40, 76, 210, 84, 199, 89, 73, 21, 68, 14, 221, 28, 141, 14, 105, 242, 158, 90, 55, 129], sw1: 144, sw2: 0) Amount of data left read - 16643 2020-12-25 10:57:56.881916+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00E7480000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00E7480000000970100 SSC: 6C6A0175736028FB Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028FC Concatenate SSC and M and add padding N: 6C6A0175736028FC0CB00E74800000009701008000000000 x0: 6C6A0175736028FC y0: 1F82AF292E1D6424 x1: 0CB00E7480000000 y1: B2324EA1D5676E46 x2: 9701008000000000 y2: 17EAB275C711F886 y: 17EAB275C711F886 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: FDD91F56EE478E31 a: 798A8ACCB728A3CF Compute MAC over N with KSmac CC: 798A8ACCB728A3CF Build DO'8E DO8E: 8E08798A8ACCB728A3CF Construct and send protected APDU ProtectedAPDU: 0CB00E740D9701008E08798A8ACCB728A3CF00 [SM] [0x0C, 0xB0, 0x0E, 0x74, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x79, 0x8A, 0x8A, 0xCC, 0xB7, 0x28, 0xA3, 0xCF, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901D626DC3037B37A32FC67580C16D98BAB630D8743B883D7AAC5C2268A0DABD83B1306C437E86E12B79A27337C8E812DBDB922F91E463539B321C499BA909328D8164B936BB5857A85CC9522786FF9A508605558202898090429EC055D17DCAFD0A34AFA6F5BE7A20527A20143EC1EF71C860AB24474988AB70DF595BD3F3D9138913541534010891EEA5009D6452E7BF12D536BA7069BD34A0259A9E0089D50D8C8F03D94CF91194AAF46D44C3E3497ED6896DDEFF81BD85C88E1D1AC5B00F400AB8408F3CB005E0E9BEC9FA4ED9E2DCE8930F8653037DC237FAB10445AF928B54D151F363A3FE035990290008E08300AA324F2C5F7379000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028FC Increment SSC with 1 SSC: 6C6A0175736028FD Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028FD8781E901D626DC3037B37A32FC67580C16D98BAB630D8743B883D7AAC5C2268A0DABD83B1306C437E86E12B79A27337C8E812DBDB922F91E463539B321C499BA909328D8164B936BB5857A85CC9522786FF9A508605558202898090429EC055D17DCAFD0A34AFA6F5BE7A20527A20143EC1EF71C860AB24474988AB70DF595BD3F3D9138913541534010891EEA5009D6452E7BF12D536BA7069BD34A0259A9E0089D50D8C8F03D94CF91194AAF46D44C3E3497ED6896DDEFF81BD85C88E1D1AC5B00F400AB8408F3CB005E0E9BEC9FA4ED9E2DCE8930F8653037DC237FAB10445AF928B54D151F363A3FE035990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028FD y0: 0873392C2CDF8FFC x1: 8781E901D626DC30 y1: 8E510D2B133948F1 x2: 37B37A32FC67580C y2: 0EBD593944AC2354 x3: 16D98BAB630D8743 y3: FE729E46F3D32A20 x4: B883D7AAC5C2268A y4: 69CFE0CD4762194B x5: 0DABD83B1306C437 y5: 179CCBAC74AB1158 x6: E86E12B79A27337C y6: 6723C3A7AAE194AC x7: 8E812DBDB922F91E y7: CA291F0E4FEF60FA x8: 463539B321C499BA y8: E453271DC98BE64E x9: 909328D8164B936B y9: 514ACABDB4DE5DDD x10: B5857A85CC952278 y10: 72C95163646B2194 x11: 6FF9A50860555820 y11: D484F13526EFC3C0 x12: 2898090429EC055D y12: CA15F7F3C5F60667 x13: 17DCAFD0A34AFA6F y13: 949D64FB398C848E x14: 5BE7A20527A20143 y14: 17258B42B9CEFB02 x15: EC1EF71C860AB244 y15: B1E2C68470D68878 x16: 74988AB70DF595BD y16: 69EA8655C0C762B8 x17: 3F3D913891354153 y17: F3900BFECA5050C5 x18: 4010891EEA5009D6 y18: 7C59C09A7B761449 x19: 452E7BF12D536BA7 y19: 8A31BB133CC6E6DE x20: 069BD34A0259A9E0 y20: B5F41355EBDE0F5D x21: 089D50D8C8F03D94 y21: F46C80F060467705 x22: CF91194AAF46D44C y22: CCB3F90226FD3B41 x23: 3E3497ED6896DDEF y23: 68524D4FC8C21C6A x24: F81BD85C88E1D1AC y24: 0E28938758252C85 x25: 5B00F400AB8408F3 y25: DB8CC066BC09C70D x26: CB005E0E9BEC9FA4 y26: 0B184B8DFD53B79D x27: ED9E2DCE8930F865 y27: 782DB2372396ABF5 x28: 3037DC237FAB1044 y28: 5D62312219010A6B x29: 5AF928B54D151F36 y29: EB58AC7004DB75ED x30: 3A3FE03599029000 y30: C2DB94D18C4D82E2 x31: 8000000000000000 y31: 06801E0006A562AB y: 06801E0006A562AB bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 9B6515CDE2B56C73 a: 300AA324F2C5F737 CC: 300AA324F2C5F737 Compare CC with data of DO'8E of RAPDU 300AA324F2C5F737 == 300AA324F2C5F737 ? true Decrypt data of DO'87 with KSenc DecryptedData: 08420108420108420108420108420108420108420108420108420179DFC56EAE874BD19FA3D3497ACAA68DE5AEFF00A4CBF27EEB7F553B696925A87FD3130BCFEC2EBE52EA7D5E5D575AAAAB9E42F927909713E3B055D5FE22FC5756D749552992575C9C01E02AF7C8072576470FFD2872C9D9538C8A7BEEEBA46E05D7726CBB8FF5482EB906EAD11C4C2F0E162E290E786BC58A637DBBA4EEC9B956EA644E807A8F6B9C49B1B952CB98E24BCD80E157C1218986FF00A971D2388CF0ADD88B389CEAA0E659B7FBA6E390B9F6BE4A8AD3BFE56A7A36ED209C10A67195FF00EADE1A48DD16F2EB5F Unprotected APDU: [08420108420108420108420108420108420108420108420108420179DFC56EAE874BD19FA3D3497ACAA68DE5AEFF00A4CBF27EEB7F553B696925A87FD3130BCFEC2EBE52EA7D5E5D575AAAAB9E42F927909713E3B055D5FE22FC5756D749552992575C9C01E02AF7C8072576470FFD2872C9D9538C8A7BEEEBA46E05D7726CBB8FF5482EB906EAD11C4C2F0E162E290E786BC58A637DBBA4EEC9B956EA644E807A8F6B9C49B1B952CB98E24BCD80E157C1218986FF00A971D2388CF0ADD88B389CEAA0E659B7FBA6E390B9F6BE4A8AD3BFE56A7A36ED209C10A67195FF00EADE1A48DD16F2EB5F] 90 00 got resp - ResponseAPDU(data: [8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 8, 66, 1, 121, 223, 197, 110, 174, 135, 75, 209, 159, 163, 211, 73, 122, 202, 166, 141, 229, 174, 255, 0, 164, 203, 242, 126, 235, 127, 85, 59, 105, 105, 37, 168, 127, 211, 19, 11, 207, 236, 46, 190, 82, 234, 125, 94, 93, 87, 90, 170, 171, 158, 66, 249, 39, 144, 151, 19, 227, 176, 85, 213, 254, 34, 252, 87, 86, 215, 73, 85, 41, 146, 87, 92, 156, 1, 224, 42, 247, 200, 7, 37, 118, 71, 15, 253, 40, 114, 201, 217, 83, 140, 138, 123, 238, 235, 164, 110, 5, 215, 114, 108, 187, 143, 245, 72, 46, 185, 6, 234, 209, 28, 76, 47, 14, 22, 46, 41, 14, 120, 107, 197, 138, 99, 125, 187, 164, 238, 201, 185, 86, 234, 100, 78, 128, 122, 143, 107, 156, 73, 177, 185, 82, 203, 152, 226, 75, 205, 128, 225, 87, 193, 33, 137, 134, 255, 0, 169, 113, 210, 56, 140, 240, 173, 216, 139, 56, 156, 234, 160, 230, 89, 183, 251, 166, 227, 144, 185, 246, 190, 74, 138, 211, 191, 229, 106, 122, 54, 237, 32, 156, 16, 166, 113, 149, 255, 0, 234, 222, 26, 72, 221, 22, 242, 235, 95], sw1: 144, sw2: 0) Amount of data left read - 16412 2020-12-25 10:57:56.927150+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB00F5B80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB00F5B80000000970100 SSC: 6C6A0175736028FD Compute MAC of M Increment SSC with 1 SSC: 6C6A0175736028FE Concatenate SSC and M and add padding N: 6C6A0175736028FE0CB00F5B800000009701008000000000 x0: 6C6A0175736028FE y0: E41D54FF6E38CA09 x1: 0CB00F5B80000000 y1: C4891A702A6DE90F x2: 9701008000000000 y2: 26D4B6D32E31E74C y: 26D4B6D32E31E74C bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1B001C3191EAA13B a: 833A9E0904192632 Compute MAC over N with KSmac CC: 833A9E0904192632 Build DO'8E DO8E: 8E08833A9E0904192632 Construct and send protected APDU ProtectedAPDU: 0CB00F5B0D9701008E08833A9E090419263200 [SM] [0x0C, 0xB0, 0x0F, 0x5B, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x83, 0x3A, 0x9E, 0x09, 0x04, 0x19, 0x26, 0x32, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901B541389D60AF91DE1DEAAA335E9873391216ADE93F9B80F681630B4A6E890ABBE7F079B2433597E1920C912332147BF50619FC65FB8AE4F259CE748D57E5C69C9BE07B1B5F07186F849E97DC01CC799F176D6855105B0BC9864E50A07956C9F3BB5331400D8420B7C74175752750E4AAD4E87E2158A8DE30A447A26EA0B484CD152792733C20E109330496F7B69F5C13B07CAE436389E5BE2390A08F73387A3E405FF0DDD987B4EF2A6BCB3CDB94EA19DB990612BAA062FC28B75754CD307C099C1C2B39C1A6D2D106C317592B61550D77267E658B7C1338C57D01CD6BB4A7D0E9B9DCE287D41A0A990290008E08BF0161CD8F501E1A9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A0175736028FE Increment SSC with 1 SSC: 6C6A0175736028FF Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736028FF8781E901B541389D60AF91DE1DEAAA335E9873391216ADE93F9B80F681630B4A6E890ABBE7F079B2433597E1920C912332147BF50619FC65FB8AE4F259CE748D57E5C69C9BE07B1B5F07186F849E97DC01CC799F176D6855105B0BC9864E50A07956C9F3BB5331400D8420B7C74175752750E4AAD4E87E2158A8DE30A447A26EA0B484CD152792733C20E109330496F7B69F5C13B07CAE436389E5BE2390A08F73387A3E405FF0DDD987B4EF2A6BCB3CDB94EA19DB990612BAA062FC28B75754CD307C099C1C2B39C1A6D2D106C317592B61550D77267E658B7C1338C57D01CD6BB4A7D0E9B9DCE287D41A0A990290008000000000000000 Compute MAC with KSmac x0: 6C6A0175736028FF y0: 6406BC79FECC3DC8 x1: 8781E901B541389D y1: 1D07C1300BBCD267 x2: 60AF91DE1DEAAA33 y2: 7ADD3BC74EA66F2A x3: 5E9873391216ADE9 y3: ACF76EC2F33CEE2B x4: 3F9B80F681630B4A y4: 7400A61AE883AABB x5: 6E890ABBE7F079B2 y5: 99669B53948B0DA5 x6: 433597E1920C9123 y6: 956553765877E2EB x7: 32147BF50619FC65 y7: D0D0B73C380217CE x8: FB8AE4F259CE748D y8: 6CF7894074391857 x9: 57E5C69C9BE07B1B y9: C54EE8EF0CF7716B x10: 5F07186F849E97DC y10: 5D0A85A859D0A3FA x11: 01CC799F176D6855 y11: B2F5955027E30646 x12: 105B0BC9864E50A0 y12: 00BE8B4FCB12583D x13: 7956C9F3BB533140 y13: C4977A6CAFBDFD4B x14: 0D8420B7C7417575 y14: B3B765A3604E094B x15: 2750E4AAD4E87E21 y15: 842D5260CE4D0DC1 x16: 58A8DE30A447A26E y16: B46F1F9B869C33AB x17: A0B484CD15279273 y17: 750ECFE1ED6859F6 x18: 3C20E109330496F7 y18: 1AA33B88DD7D999B x19: B69F5C13B07CAE43 y19: 03C8267EC48FE71E x20: 6389E5BE2390A08F y20: 81CF16E611AABEF2 x21: 73387A3E405FF0DD y21: CB8AD541A87309E1 x22: D987B4EF2A6BCB3C y22: 80FC27640FBAB5B6 x23: DB94EA19DB990612 y23: 9B774941CCA50290 x24: BAA062FC28B75754 y24: B61314A7742186C5 x25: CD307C099C1C2B39 y25: 148247CC8C13D127 x26: C1A6D2D106C31759 y26: AB32FE517E27DDA3 x27: 2B61550D77267E65 y27: 155740C000A1810D x28: 8B7C1338C57D01CD y28: 87920F3D476AE163 x29: 6BB4A7D0E9B9DCE2 y29: CE0B7019B539A319 x30: 87D41A0A99029000 y30: EB9F2CB2056B9BC7 x31: 8000000000000000 y31: 5E628C186D0C7A94 y: 5E628C186D0C7A94 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 8E45D83CC2E237FC a: BF0161CD8F501E1A CC: BF0161CD8F501E1A Compare CC with data of DO'8E of RAPDU BF0161CD8F501E1A == BF0161CD8F501E1A ? true Decrypt data of DO'87 with KSenc DecryptedData: B9487D388AE4BAF9C15C6BC98F74BC5BE40135EA39F202EB8B0C852662255C7EABB78C5B007B28E212F7068E6F627C2B092F21B0C07271B07A77DC4016B952DE4421186B1CD0DCDFEAF290691A1E49CA945DB8EC6B6F94E3186E49160B1DFE2D33DAAC31EC7DAD74F343B6DC70AC1B4424C8C5FB84BA5A60D9DF1BDBBCFB765C7AD3B33E3428A8C39D9370537570C74F2063738E42B49192877E1E919BE67F36FD2AC68FA7442DF527CBC0E1DC5D47BF13FE7DACC53503EA2A0465A7C9C29757491451D9B1ED7016BFFBAD39A61410BA795A04EFFA1BE42AE3452D7D45B6DEE7E62A9FEAD678A3 Unprotected APDU: [B9487D388AE4BAF9C15C6BC98F74BC5BE40135EA39F202EB8B0C852662255C7EABB78C5B007B28E212F7068E6F627C2B092F21B0C07271B07A77DC4016B952DE4421186B1CD0DCDFEAF290691A1E49CA945DB8EC6B6F94E3186E49160B1DFE2D33DAAC31EC7DAD74F343B6DC70AC1B4424C8C5FB84BA5A60D9DF1BDBBCFB765C7AD3B33E3428A8C39D9370537570C74F2063738E42B49192877E1E919BE67F36FD2AC68FA7442DF527CBC0E1DC5D47BF13FE7DACC53503EA2A0465A7C9C29757491451D9B1ED7016BFFBAD39A61410BA795A04EFFA1BE42AE3452D7D45B6DEE7E62A9FEAD678A3] 90 00 got resp - ResponseAPDU(data: [185, 72, 125, 56, 138, 228, 186, 249, 193, 92, 107, 201, 143, 116, 188, 91, 228, 1, 53, 234, 57, 242, 2, 235, 139, 12, 133, 38, 98, 37, 92, 126, 171, 183, 140, 91, 0, 123, 40, 226, 18, 247, 6, 142, 111, 98, 124, 43, 9, 47, 33, 176, 192, 114, 113, 176, 122, 119, 220, 64, 22, 185, 82, 222, 68, 33, 24, 107, 28, 208, 220, 223, 234, 242, 144, 105, 26, 30, 73, 202, 148, 93, 184, 236, 107, 111, 148, 227, 24, 110, 73, 22, 11, 29, 254, 45, 51, 218, 172, 49, 236, 125, 173, 116, 243, 67, 182, 220, 112, 172, 27, 68, 36, 200, 197, 251, 132, 186, 90, 96, 217, 223, 27, 219, 188, 251, 118, 92, 122, 211, 179, 62, 52, 40, 168, 195, 157, 147, 112, 83, 117, 112, 199, 79, 32, 99, 115, 142, 66, 180, 145, 146, 135, 126, 30, 145, 155, 230, 127, 54, 253, 42, 198, 143, 167, 68, 45, 245, 39, 203, 192, 225, 220, 93, 71, 191, 19, 254, 125, 172, 197, 53, 3, 234, 42, 4, 101, 167, 201, 194, 151, 87, 73, 20, 81, 217, 177, 237, 112, 22, 191, 251, 173, 57, 166, 20, 16, 186, 121, 90, 4, 239, 250, 27, 228, 42, 227, 69, 45, 125, 69, 182, 222, 231, 230, 42, 159, 234, 214, 120, 163], sw1: 144, sw2: 0) Amount of data left read - 16181 2020-12-25 10:57:56.976622+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0104280000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0104280000000970100 SSC: 6C6A0175736028FF Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602900 Concatenate SSC and M and add padding N: 6C6A0175736029000CB01042800000009701008000000000 x0: 6C6A017573602900 y0: BFB683B9EEEC2973 x1: 0CB0104280000000 y1: 552EC46536C2835F x2: 9701008000000000 y2: F1FEE1851728B841 y: F1FEE1851728B841 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 9E2C31FD0471C19D a: 7D78A8F6C146ECE1 Compute MAC over N with KSmac CC: 7D78A8F6C146ECE1 Build DO'8E DO8E: 8E087D78A8F6C146ECE1 Construct and send protected APDU ProtectedAPDU: 0CB010420D9701008E087D78A8F6C146ECE100 [SM] [0x0C, 0xB0, 0x10, 0x42, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x7D, 0x78, 0xA8, 0xF6, 0xC1, 0x46, 0xEC, 0xE1, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90171960B2F793A06B1D21A8BD42DB298633B613964BC4C24E441A023327CA49742B44FEBC095BB3F8619854400AC58335636C088609BBA54A74882C5837F03867114A40C4FB05105EEB693A81FA7D2EA5B6AB95E6342FD14E97BA292C6F30555D4A25BFFF0EF20C8F8C3E21B15139A3D51F6BD17777B3F671C6EE8E732FB6E74D2B14EA0905BF82B64A0B2E4647BF11CBC6791D5859DACFE6843E9EDE52772F02B092E088E26BD603DA22C57991B980975388F188554E9EBB0E30879BF1D3770B46C173111A55025A3205AAE1198878EEC94A062433FED8BCFFCFCE8096F0AF5C41E967514C543CA4B990290008E08B2E23CB70877DBC39000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A017573602900 Increment SSC with 1 SSC: 6C6A017573602901 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736029018781E90171960B2F793A06B1D21A8BD42DB298633B613964BC4C24E441A023327CA49742B44FEBC095BB3F8619854400AC58335636C088609BBA54A74882C5837F03867114A40C4FB05105EEB693A81FA7D2EA5B6AB95E6342FD14E97BA292C6F30555D4A25BFFF0EF20C8F8C3E21B15139A3D51F6BD17777B3F671C6EE8E732FB6E74D2B14EA0905BF82B64A0B2E4647BF11CBC6791D5859DACFE6843E9EDE52772F02B092E088E26BD603DA22C57991B980975388F188554E9EBB0E30879BF1D3770B46C173111A55025A3205AAE1198878EEC94A062433FED8BCFFCFCE8096F0AF5C41E967514C543CA4B990290008000000000000000 Compute MAC with KSmac x0: 6C6A017573602901 y0: 6AD843E36ECA2C9C x1: 8781E90171960B2F y1: B5950FD600E990FA x2: 793A06B1D21A8BD4 y2: 7B50EE2FFC0297FB x3: 2DB298633B613964 y3: C17ACEEA935243A7 x4: BC4C24E441A02332 y4: FB723E32F102092D x5: 7CA49742B44FEBC0 y5: B7808C68B49AF482 x6: 95BB3F8619854400 y6: D60B77F2F9094256 x7: AC58335636C08860 y7: 638F6E1424FCAB80 x8: 9BBA54A74882C583 y8: 6C7BD6FAC3BB4783 x9: 7F03867114A40C4F y9: DC2342CB8AFF7532 x10: B05105EEB693A81F y10: 8F69D6F7D3BF8398 x11: A7D2EA5B6AB95E63 y11: D356BEED47028CD3 x12: 42FD14E97BA292C6 y12: A383D19B41AD89CA x13: F30555D4A25BFFF0 y13: 14ABA11808E59A8B x14: EF20C8F8C3E21B15 y14: 575E398D0DA34F9F x15: 139A3D51F6BD1777 y15: 3AEA81A3BE1A1039 x16: 7B3F671C6EE8E732 y16: 7BD6D220F4D696F8 x17: FB6E74D2B14EA090 y17: CCA350419A058EAC x18: 5BF82B64A0B2E464 y18: D1B7C6D01DAE1859 x19: 7BF11CBC6791D585 y19: E169BDAFD4DC9DC6 x20: 9DACFE6843E9EDE5 y20: CDBAB572EFF12A38 x21: 2772F02B092E088E y21: 2BA4BD55065F3760 x22: 26BD603DA22C5799 y22: 09EF1E8ED4987CA7 x23: 1B980975388F1885 y23: F1E3F7A54BF85032 x24: 54E9EBB0E30879BF y24: C20A10975B372F0B x25: 1D3770B46C173111 y25: 4B2EFB97237027C4 x26: A55025A3205AAE11 y26: 9FEDA16C15F72CD0 x27: 98878EEC94A06243 y27: 6D405C5AF8237C2D x28: 3FED8BCFFCFCE809 y28: A70398296FE682B9 x29: 6F0AF5C41E967514 y29: F5607BEB12DAC576 x30: C543CA4B99029000 y30: C55AD1EF88529BF5 x31: 8000000000000000 y31: 09B69125EB776435 y: 09B69125EB776435 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1E78FCDE82146403 a: B2E23CB70877DBC3 CC: B2E23CB70877DBC3 Compare CC with data of DO'8E of RAPDU B2E23CB70877DBC3 == B2E23CB70877DBC3 ? true Decrypt data of DO'87 with KSenc DecryptedData: 2FF8791D6218483C5925D0B98EF9858F0415A9753FE18111B40B7CAD6AAD9A908710EF99C4E4F857CF959EBC2A67C79DD7E4F0111C8E65DBB8ED70B3AC79CDFF00D958BE86C39B95C6D135DFA703BABFFAC65FE350C80079482C17B052E6A5317D39F62A3B63ECAD37D56F8B8439BB40B10719F64B6DB19CF7011230B45FF6B24464B6D8BAD65EB0D6789B1BB69FBD9595154BA093735C7E6B35C07717E153C6E37E7856544E26AA101C1A5AE0412A6B3E3EA5E8EAF357A152BCB4438F4FD11FA6C169179174575508991441C5CE75459E1A3971C2F5D56CDEC698A10842B2E117CA1080421080 Unprotected APDU: [2FF8791D6218483C5925D0B98EF9858F0415A9753FE18111B40B7CAD6AAD9A908710EF99C4E4F857CF959EBC2A67C79DD7E4F0111C8E65DBB8ED70B3AC79CDFF00D958BE86C39B95C6D135DFA703BABFFAC65FE350C80079482C17B052E6A5317D39F62A3B63ECAD37D56F8B8439BB40B10719F64B6DB19CF7011230B45FF6B24464B6D8BAD65EB0D6789B1BB69FBD9595154BA093735C7E6B35C07717E153C6E37E7856544E26AA101C1A5AE0412A6B3E3EA5E8EAF357A152BCB4438F4FD11FA6C169179174575508991441C5CE75459E1A3971C2F5D56CDEC698A10842B2E117CA1080421080] 90 00 got resp - ResponseAPDU(data: [47, 248, 121, 29, 98, 24, 72, 60, 89, 37, 208, 185, 142, 249, 133, 143, 4, 21, 169, 117, 63, 225, 129, 17, 180, 11, 124, 173, 106, 173, 154, 144, 135, 16, 239, 153, 196, 228, 248, 87, 207, 149, 158, 188, 42, 103, 199, 157, 215, 228, 240, 17, 28, 142, 101, 219, 184, 237, 112, 179, 172, 121, 205, 255, 0, 217, 88, 190, 134, 195, 155, 149, 198, 209, 53, 223, 167, 3, 186, 191, 250, 198, 95, 227, 80, 200, 0, 121, 72, 44, 23, 176, 82, 230, 165, 49, 125, 57, 246, 42, 59, 99, 236, 173, 55, 213, 111, 139, 132, 57, 187, 64, 177, 7, 25, 246, 75, 109, 177, 156, 247, 1, 18, 48, 180, 95, 246, 178, 68, 100, 182, 216, 186, 214, 94, 176, 214, 120, 155, 27, 182, 159, 189, 149, 149, 21, 75, 160, 147, 115, 92, 126, 107, 53, 192, 119, 23, 225, 83, 198, 227, 126, 120, 86, 84, 78, 38, 170, 16, 28, 26, 90, 224, 65, 42, 107, 62, 62, 165, 232, 234, 243, 87, 161, 82, 188, 180, 67, 143, 79, 209, 31, 166, 193, 105, 23, 145, 116, 87, 85, 8, 153, 20, 65, 197, 206, 117, 69, 158, 26, 57, 113, 194, 245, 213, 108, 222, 198, 152, 161, 8, 66, 178, 225, 23, 202, 16, 128, 66, 16, 128], sw1: 144, sw2: 0) Amount of data left read - 15950 2020-12-25 10:57:57.024991+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0112980000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0112980000000970100 SSC: 6C6A017573602901 Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602902 Concatenate SSC and M and add padding N: 6C6A0175736029020CB01129800000009701008000000000 x0: 6C6A017573602902 y0: FB7D0358E4AC0A6B x1: 0CB0112980000000 y1: 3105C60D6AD38C45 x2: 9701008000000000 y2: 75F13B6B03E330A0 y: 75F13B6B03E330A0 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 7CA280B74CC07D47 a: 243600867DE02D3A Compute MAC over N with KSmac CC: 243600867DE02D3A Build DO'8E DO8E: 8E08243600867DE02D3A Construct and send protected APDU ProtectedAPDU: 0CB011290D9701008E08243600867DE02D3A00 [SM] [0x0C, 0xB0, 0x11, 0x29, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x24, 0x36, 0x00, 0x86, 0x7D, 0xE0, 0x2D, 0x3A, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901D8C440269B36A611DEC2CB4460B4F1839D0F3825F60B1E737DD240DD4D9DFD35E3258F5D42A58B0EBE09C1435FA3BF0B15B49D951AE38029BF56B11ED3496F8110A09DEA60558C12F6EBBA491D6132EF15DAA3F9F081B8C7FD3D74C2ADB166A698754BA416CE82E7E31149A4D89E3B3C283FA9C68D44B57DF6D1963539D9FA3A369FCCDC0C1A3DDAD1F72439A3660F57DEFC4E9AD64A1F0BEE34F11817127366A6CCDE24BBA616B300D2087A037A5B2177B6474964CDB2727EFBBC972AA6732500356524E35133B3FF61C666F8561FB9E9381423D2E09BD0D3E9776DB8628B47F85311D37903D5A4990290008E0809DA20B75A9AACD59000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A017573602902 Increment SSC with 1 SSC: 6C6A017573602903 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736029038781E901D8C440269B36A611DEC2CB4460B4F1839D0F3825F60B1E737DD240DD4D9DFD35E3258F5D42A58B0EBE09C1435FA3BF0B15B49D951AE38029BF56B11ED3496F8110A09DEA60558C12F6EBBA491D6132EF15DAA3F9F081B8C7FD3D74C2ADB166A698754BA416CE82E7E31149A4D89E3B3C283FA9C68D44B57DF6D1963539D9FA3A369FCCDC0C1A3DDAD1F72439A3660F57DEFC4E9AD64A1F0BEE34F11817127366A6CCDE24BBA616B300D2087A037A5B2177B6474964CDB2727EFBBC972AA6732500356524E35133B3FF61C666F8561FB9E9381423D2E09BD0D3E9776DB8628B47F85311D37903D5A4990290008000000000000000 Compute MAC with KSmac x0: 6C6A017573602903 y0: AD56E92018851888 x1: 8781E901D8C44026 y1: B3DF1DEBE156FB52 x2: 9B36A611DEC2CB44 y2: FD3B48CA0F22C876 x3: 60B4F1839D0F3825 y3: 2AF4A9AB9E3C58A8 x4: F60B1E737DD240DD y4: 4E78E2433E60D654 x5: 4D9DFD35E3258F5D y5: 79805C7B0C155912 x6: 42A58B0EBE09C143 y6: 987CD2B0EA30FEB8 x7: 5FA3BF0B15B49D95 y7: EFDEA1E30C4A4C99 x8: 1AE38029BF56B11E y8: EF9DABA6AA3C50A1 x9: D3496F8110A09DEA y9: ED6F8CDF762FE3E4 x10: 60558C12F6EBBA49 y10: 124B9FBC9A6E4F14 x11: 1D6132EF15DAA3F9 y11: 57FC3BD69CEB978F x12: F081B8C7FD3D74C2 y12: 03E8DABAB6CC21EE x13: ADB166A698754BA4 y13: 2FDA7F3436AC32E9 x14: 16CE82E7E31149A4 y14: 9B6EB10774BA07BF x15: D89E3B3C283FA9C6 y15: 4A071BB1642DB1EE x16: 8D44B57DF6D19635 y16: 794C4B0EB3087FAF x17: 39D9FA3A369FCCDC y17: AFABD374FCC25743 x18: 0C1A3DDAD1F72439 y18: ABA890D227EDD824 x19: A3660F57DEFC4E9A y19: DFA66D5D7F6B2D75 x20: D64A1F0BEE34F118 y20: F3B8BED29FB9451B x21: 17127366A6CCDE24 y21: F805ECFD96C38747 x22: BBA616B300D2087A y22: 958881D3CA6A5885 x23: 037A5B2177B64749 y23: 3C3311EE07D6AB38 x24: 64CDB2727EFBBC97 y24: 4E3B1F71FB887D2F x25: 2AA6732500356524 y25: 571C15DCCDDCDCE2 x26: E35133B3FF61C666 y26: 9B8672352DC9C1A4 x27: F8561FB9E9381423 y27: 75032DE574C69EEE x28: D2E09BD0D3E9776D y28: DC1B938EAE3A74F3 x29: B8628B47F85311D3 y29: F131E51C506DF540 x30: 7903D5A499029000 y30: 1E404280E84EF37A x31: 8000000000000000 y31: 7A8E5D49A4808D9F y: 7A8E5D49A4808D9F bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 7215533AD7AB6BC4 a: 09DA20B75A9AACD5 CC: 09DA20B75A9AACD5 Compare CC with data of DO'8E of RAPDU 09DA20B75A9AACD5 == 09DA20B75A9AACD5 ? true Decrypt data of DO'87 with KSenc DecryptedData: 4210804210804210804210804210804210833FD6DA88D33A52B26B12E2C2D691FA6FDCFB05F2AD64AD75448438BC3893BBC95F457C63A8929BA3016DFD37CC18F1E415F37CC47AAE205876596AFD53662570005D4390826D75265766DDBCA8B211CD94A86DC6E31C2E37EA005F2BAE7605D72C0A0E1F6E3DD7582E97B47BDCA080DB5B3F651D5F33E805C1D6BA75AC2EC975D26363A490347DCA95335B0B0340F98F207651ECBFA74DB03413CE13AD9039E30494C5CB48CF384E34EC18BDCF2A66F8C358FA9C24CDDC48FE91E10D99AD936B6CE3DD42BB9FDC9FF64F45112090A2ED7CE0B7BC9B Unprotected APDU: [4210804210804210804210804210804210833FD6DA88D33A52B26B12E2C2D691FA6FDCFB05F2AD64AD75448438BC3893BBC95F457C63A8929BA3016DFD37CC18F1E415F37CC47AAE205876596AFD53662570005D4390826D75265766DDBCA8B211CD94A86DC6E31C2E37EA005F2BAE7605D72C0A0E1F6E3DD7582E97B47BDCA080DB5B3F651D5F33E805C1D6BA75AC2EC975D26363A490347DCA95335B0B0340F98F207651ECBFA74DB03413CE13AD9039E30494C5CB48CF384E34EC18BDCF2A66F8C358FA9C24CDDC48FE91E10D99AD936B6CE3DD42BB9FDC9FF64F45112090A2ED7CE0B7BC9B] 90 00 got resp - ResponseAPDU(data: [66, 16, 128, 66, 16, 128, 66, 16, 128, 66, 16, 128, 66, 16, 128, 66, 16, 131, 63, 214, 218, 136, 211, 58, 82, 178, 107, 18, 226, 194, 214, 145, 250, 111, 220, 251, 5, 242, 173, 100, 173, 117, 68, 132, 56, 188, 56, 147, 187, 201, 95, 69, 124, 99, 168, 146, 155, 163, 1, 109, 253, 55, 204, 24, 241, 228, 21, 243, 124, 196, 122, 174, 32, 88, 118, 89, 106, 253, 83, 102, 37, 112, 0, 93, 67, 144, 130, 109, 117, 38, 87, 102, 221, 188, 168, 178, 17, 205, 148, 168, 109, 198, 227, 28, 46, 55, 234, 0, 95, 43, 174, 118, 5, 215, 44, 10, 14, 31, 110, 61, 215, 88, 46, 151, 180, 123, 220, 160, 128, 219, 91, 63, 101, 29, 95, 51, 232, 5, 193, 214, 186, 117, 172, 46, 201, 117, 210, 99, 99, 164, 144, 52, 125, 202, 149, 51, 91, 11, 3, 64, 249, 143, 32, 118, 81, 236, 191, 167, 77, 176, 52, 19, 206, 19, 173, 144, 57, 227, 4, 148, 197, 203, 72, 207, 56, 78, 52, 236, 24, 189, 207, 42, 102, 248, 195, 88, 250, 156, 36, 205, 220, 72, 254, 145, 225, 13, 153, 173, 147, 107, 108, 227, 221, 66, 187, 159, 220, 159, 246, 79, 69, 17, 32, 144, 162, 237, 124, 224, 183, 188, 155], sw1: 144, sw2: 0) Amount of data left read - 15719 2020-12-25 10:57:57.068251+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0121080000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0121080000000970100 SSC: 6C6A017573602903 Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602904 Concatenate SSC and M and add padding N: 6C6A0175736029040CB01210800000009701008000000000 x0: 6C6A017573602904 y0: 7D8E5DA0F3172F24 x1: 0CB0121080000000 y1: 9CF53AFEB01362B1 x2: 9701008000000000 y2: 0E6246DCB77CF0D4 y: 0E6246DCB77CF0D4 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 76494D53DD2CECBD a: 66F3A5A25B76693D Compute MAC over N with KSmac CC: 66F3A5A25B76693D Build DO'8E DO8E: 8E0866F3A5A25B76693D Construct and send protected APDU ProtectedAPDU: 0CB012100D9701008E0866F3A5A25B76693D00 [SM] [0x0C, 0xB0, 0x12, 0x10, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x66, 0xF3, 0xA5, 0xA2, 0x5B, 0x76, 0x69, 0x3D, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9011D14A21B27EF45BB76281E175641BD337C3255666419F1AF4E9D36974514D134ADC0BE83161F31F29AE647AE39DDCE6D1ECF33400EA8727CBBCAC4113044AD7738BC9E5933FBF709CF41CBE1FA40FACABFF43356E96436E1577661A2FC96A174EC07685BB6A1D2EB4E38CD89DB787EA79A8C242B2565CE7A610CF2A33A26963360F5B69BA7972BB4D8B879B7C6967E0AE1611413FC332AD44049400E4D556890A29E57AED447C4EE5E3250AF27C21721F401E8B2270323FA46AF964B92CE912523744D393F5B43B1EDE456F2A3BF0B323915C3074DB7D3AE9A3F0503E3C0D3B73A0D5F27FDD4F717990290008E08A4CC3D8067B8D03F9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A017573602904 Increment SSC with 1 SSC: 6C6A017573602905 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736029058781E9011D14A21B27EF45BB76281E175641BD337C3255666419F1AF4E9D36974514D134ADC0BE83161F31F29AE647AE39DDCE6D1ECF33400EA8727CBBCAC4113044AD7738BC9E5933FBF709CF41CBE1FA40FACABFF43356E96436E1577661A2FC96A174EC07685BB6A1D2EB4E38CD89DB787EA79A8C242B2565CE7A610CF2A33A26963360F5B69BA7972BB4D8B879B7C6967E0AE1611413FC332AD44049400E4D556890A29E57AED447C4EE5E3250AF27C21721F401E8B2270323FA46AF964B92CE912523744D393F5B43B1EDE456F2A3BF0B323915C3074DB7D3AE9A3F0503E3C0D3B73A0D5F27FDD4F717990290008000000000000000 Compute MAC with KSmac x0: 6C6A017573602905 y0: 9951BA9B779F4B7C x1: 8781E9011D14A21B y1: 3F87752CE3D6BB44 x2: 27EF45BB76281E17 y2: 9E447C3202F88665 x3: 5641BD337C325566 y3: 8AA8EAF8E36D0361 x4: 6419F1AF4E9D3697 y4: 70FE821E9AD19E49 x5: 4514D134ADC0BE83 y5: 6EAA4CE189F10280 x6: 161F31F29AE647AE y6: 0557B9FB4977835C x7: 39DDCE6D1ECF3340 y7: 3513CF8093C20CA2 x8: 0EA8727CBBCAC411 y8: 9BAA4E354D41135B x9: 3044AD7738BC9E59 y9: 3B12DFE8190ADD15 x10: 33FBF709CF41CBE1 y10: 6240C52322EBB0A9 x11: FA40FACABFF43356 y11: BFF8841C3A8F3666 x12: E96436E1577661A2 y12: 2E0CE1B414EDE44A x13: FC96A174EC07685B y13: C1BF613F77BD8ECC x14: B6A1D2EB4E38CD89 y14: 883BA80A1ADDDA69 x15: DB787EA79A8C242B y15: 224068F40769F82D x16: 2565CE7A610CF2A3 y16: F92CCBA8D912047E x17: 3A26963360F5B69B y17: 0CF393B0ABEEE0D0 x18: A7972BB4D8B879B7 y18: 262E9023BFD7AED0 x19: C6967E0AE1611413 y19: 68CA3A6EF6A10DAA x20: FC332AD44049400E y20: 2ECD0035DBE6E1E5 x21: 4D556890A29E57AE y21: F7858341033A4231 x22: D447C4EE5E3250AF y22: EEC9736D5AC4478D x23: 27C21721F401E8B2 y23: C2E873A9B7FDC676 x24: 270323FA46AF964B y24: 0D5125C84C1EA737 x25: 92CE912523744D39 y25: 64D4ADDF39BB4713 x26: 3F5B43B1EDE456F2 y26: BD2308F6C7DA9F23 x27: A3BF0B323915C307 y27: 10FC3E9D573856A7 x28: 4DB7D3AE9A3F0503 y28: 45C35DC7F5751B95 x29: E3C0D3B73A0D5F27 y29: 886B875CEFF2760D x30: FDD4F71799029000 y30: 53F795893EDBABE0 x31: 8000000000000000 y31: DF6B3F3CD5569193 y: DF6B3F3CD5569193 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: BAD88A80BFFE0A52 a: A4CC3D8067B8D03F CC: A4CC3D8067B8D03F Compare CC with data of DO'8E of RAPDU A4CC3D8067B8D03F == A4CC3D8067B8D03F ? true Decrypt data of DO'87 with KSenc DecryptedData: BC1C7FAA6EEE77EA26E729DD8ED848FB009D6D3FA6D06DF3153FE8D262D7608C9700DFA9DFD958D352C923C9DA760EE4729AD3E9DD51540FD31C66EE27BAD6C14E0C65E0000E2C161BF275D7E3F1F15115102ED8D0013C37BDD3F350490539653B1AE99EEB3DDFD23DD5DC54ECA785D505BF9805C222D3E57430FA5F97575527A925F21AC1FEEB9ABAA65174BD0E1A777A8C1B9CE17738A9D3FA6E3B218AEC67D57FD4559D43453C021A51B9EEE6DE3CA60C2EA701AC66E91D971EC028AB4CB39514534956E91E7D491DF40FE81E138FA53A744C0EB1965E1A3B2BF8E8D90B1D50459E726EAADF Unprotected APDU: [BC1C7FAA6EEE77EA26E729DD8ED848FB009D6D3FA6D06DF3153FE8D262D7608C9700DFA9DFD958D352C923C9DA760EE4729AD3E9DD51540FD31C66EE27BAD6C14E0C65E0000E2C161BF275D7E3F1F15115102ED8D0013C37BDD3F350490539653B1AE99EEB3DDFD23DD5DC54ECA785D505BF9805C222D3E57430FA5F97575527A925F21AC1FEEB9ABAA65174BD0E1A777A8C1B9CE17738A9D3FA6E3B218AEC67D57FD4559D43453C021A51B9EEE6DE3CA60C2EA701AC66E91D971EC028AB4CB39514534956E91E7D491DF40FE81E138FA53A744C0EB1965E1A3B2BF8E8D90B1D50459E726EAADF] 90 00 got resp - ResponseAPDU(data: [188, 28, 127, 170, 110, 238, 119, 234, 38, 231, 41, 221, 142, 216, 72, 251, 0, 157, 109, 63, 166, 208, 109, 243, 21, 63, 232, 210, 98, 215, 96, 140, 151, 0, 223, 169, 223, 217, 88, 211, 82, 201, 35, 201, 218, 118, 14, 228, 114, 154, 211, 233, 221, 81, 84, 15, 211, 28, 102, 238, 39, 186, 214, 193, 78, 12, 101, 224, 0, 14, 44, 22, 27, 242, 117, 215, 227, 241, 241, 81, 21, 16, 46, 216, 208, 1, 60, 55, 189, 211, 243, 80, 73, 5, 57, 101, 59, 26, 233, 158, 235, 61, 223, 210, 61, 213, 220, 84, 236, 167, 133, 213, 5, 191, 152, 5, 194, 34, 211, 229, 116, 48, 250, 95, 151, 87, 85, 39, 169, 37, 242, 26, 193, 254, 235, 154, 186, 166, 81, 116, 189, 14, 26, 119, 122, 140, 27, 156, 225, 119, 56, 169, 211, 250, 110, 59, 33, 138, 236, 103, 213, 127, 212, 85, 157, 67, 69, 60, 2, 26, 81, 185, 238, 230, 222, 60, 166, 12, 46, 167, 1, 172, 102, 233, 29, 151, 30, 192, 40, 171, 76, 179, 149, 20, 83, 73, 86, 233, 30, 125, 73, 29, 244, 15, 232, 30, 19, 143, 165, 58, 116, 76, 14, 177, 150, 94, 26, 59, 43, 248, 232, 217, 11, 29, 80, 69, 158, 114, 110, 170, 223], sw1: 144, sw2: 0) Amount of data left read - 15488 2020-12-25 10:57:57.113904+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB012F780000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB012F780000000970100 SSC: 6C6A017573602905 Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602906 Concatenate SSC and M and add padding N: 6C6A0175736029060CB012F7800000009701008000000000 x0: 6C6A017573602906 y0: 4AD01DDB62321A03 x1: 0CB012F780000000 y1: 619E5040FAB68BD7 x2: 9701008000000000 y2: 9B01F7786751B522 y: 9B01F7786751B522 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: B13FA1C3ED995830 a: 07765421FDFB5CB9 Compute MAC over N with KSmac CC: 07765421FDFB5CB9 Build DO'8E DO8E: 8E0807765421FDFB5CB9 Construct and send protected APDU ProtectedAPDU: 0CB012F70D9701008E0807765421FDFB5CB900 [SM] [0x0C, 0xB0, 0x12, 0xF7, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x07, 0x76, 0x54, 0x21, 0xFD, 0xFB, 0x5C, 0xB9, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E9011707110C1FDBD351D18C58AEBD7B16A09806309261FF97061C1B0713E39007A18E4FCDD46B4A341A69284B8D5964F2E2054BCA7638A00866216DEB33D630E2D06510AEA3F97B17438867A866FED3C863F5E097FC0DBB7513DD7091DA978932F3550F739B6318AC43EA4F7A8F0A9553BDF29CC300FF072A5B4FCB95B30AE7083B22FB23C95657E30510AFAC42682D2A3437F5B489D2194110AB8D0400DCEE515AFD90DB502EA1E856AFF4C3A2496AE2A473708AC3CE2DBC43E102DFA2C5D0C56EAED7768FCC7A5C421E65AEE01C5FEB3FFFF84AFD40F32A62952263B3043997EB9E6F87E41BF254C3990290008E086CBB244558EBFE6A9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A017573602906 Increment SSC with 1 SSC: 6C6A017573602907 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736029078781E9011707110C1FDBD351D18C58AEBD7B16A09806309261FF97061C1B0713E39007A18E4FCDD46B4A341A69284B8D5964F2E2054BCA7638A00866216DEB33D630E2D06510AEA3F97B17438867A866FED3C863F5E097FC0DBB7513DD7091DA978932F3550F739B6318AC43EA4F7A8F0A9553BDF29CC300FF072A5B4FCB95B30AE7083B22FB23C95657E30510AFAC42682D2A3437F5B489D2194110AB8D0400DCEE515AFD90DB502EA1E856AFF4C3A2496AE2A473708AC3CE2DBC43E102DFA2C5D0C56EAED7768FCC7A5C421E65AEE01C5FEB3FFFF84AFD40F32A62952263B3043997EB9E6F87E41BF254C3990290008000000000000000 Compute MAC with KSmac x0: 6C6A017573602907 y0: 49995BE337798683 x1: 8781E9011707110C y1: 70847605D6326E57 x2: 1FDBD351D18C58AE y2: 7E5195D71F00FEE6 x3: BD7B16A098063092 y3: ADE5C739E1C536E8 x4: 61FF97061C1B0713 y4: 9EC2D2E186419698 x5: E39007A18E4FCDD4 y5: BC9F9E875B0D108B x6: 6B4A341A69284B8D y6: AD350134F1571CAC x7: 5964F2E2054BCA76 y7: F6049FBF32E1BF49 x8: 38A00866216DEB33 y8: 41F9C02E1FAA2391 x9: D630E2D06510AEA3 y9: 2F52FE19E054DA08 x10: F97B17438867A866 y10: 670B85A5B031677F x11: FED3C863F5E097FC y11: 9B6A625017A49257 x12: 0DBB7513DD7091DA y12: C1653C664514A8A1 x13: 978932F3550F739B y13: 61549EEDCE30ACB1 x14: 6318AC43EA4F7A8F y14: 25CB7679258B9F41 x15: 0A9553BDF29CC300 y15: D7F0007A17C8A93F x16: FF072A5B4FCB95B3 y16: 228835D7D5DF831C x17: 0AE7083B22FB23C9 y17: B9BEF9A2155546F2 x18: 5657E30510AFAC42 y18: 9BDB63CB949ABC2D x19: 682D2A3437F5B489 y19: 8297E0C057E0CE87 x20: D2194110AB8D0400 y20: 8D0F6BA23FFF4CCC x21: DCEE515AFD90DB50 y21: 0E06680C3B3E919F x22: 2EA1E856AFF4C3A2 y22: 778EDBC7174F126F x23: 496AE2A473708AC3 y23: 28954D8ED80C7B96 x24: CE2DBC43E102DFA2 y24: C45C2F06234FE5CA x25: C5D0C56EAED7768F y25: F10395C7FA762971 x26: CC7A5C421E65AEE0 y26: 4D1D1104FC6C04A8 x27: 1C5FEB3FFFF84AFD y27: 2B1AF2C056ACCA1D x28: 40F32A62952263B3 y28: 1BDE2DE13EA77059 x29: 043997EB9E6F87E4 y29: C4726EA6F19A03C2 x30: 1BF254C399029000 y30: 7016E2909E1302B9 x31: 8000000000000000 y31: 3BB7404331328350 y: 3BB7404331328350 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 4AC16993C0BB6A92 a: 6CBB244558EBFE6A CC: 6CBB244558EBFE6A Compare CC with data of DO'8E of RAPDU 6CBB244558EBFE6A == 6CBB244558EBFE6A ? true Decrypt data of DO'87 with KSenc DecryptedData: 2085936A352DDD2B8EC883B80B2B78BC8A3A9A66D38FCC3BE77F22F80A2D3D04957B9B0B0965ECE97DFC056D45A65457D47AB390180DDE7CFB2BCFC33580322606B47002A4DADEACBCDA13218D82E5EE3DD473A79BFA65B6375AD34FBA41717202EBF4F072E6F1953EE7A4659DA319632256D9D6C2A8AAD17D32483C73EEBD04D3076DDA320245469D1CB4CE0E6807CABCF2567AC4799CB48DDA2E0B6FC5D56BA091A49DA6DE56F25D3B640E73E2B917B07059AAC6B9B76101BE1BE574F8FC8E2F2F8D541AE001B1FBA974EF2C9013D8A4B4020DCDBC04B630B40701CAEC97AF3F538F4FE90D56 Unprotected APDU: [2085936A352DDD2B8EC883B80B2B78BC8A3A9A66D38FCC3BE77F22F80A2D3D04957B9B0B0965ECE97DFC056D45A65457D47AB390180DDE7CFB2BCFC33580322606B47002A4DADEACBCDA13218D82E5EE3DD473A79BFA65B6375AD34FBA41717202EBF4F072E6F1953EE7A4659DA319632256D9D6C2A8AAD17D32483C73EEBD04D3076DDA320245469D1CB4CE0E6807CABCF2567AC4799CB48DDA2E0B6FC5D56BA091A49DA6DE56F25D3B640E73E2B917B07059AAC6B9B76101BE1BE574F8FC8E2F2F8D541AE001B1FBA974EF2C9013D8A4B4020DCDBC04B630B40701CAEC97AF3F538F4FE90D56] 90 00 got resp - ResponseAPDU(data: [32, 133, 147, 106, 53, 45, 221, 43, 142, 200, 131, 184, 11, 43, 120, 188, 138, 58, 154, 102, 211, 143, 204, 59, 231, 127, 34, 248, 10, 45, 61, 4, 149, 123, 155, 11, 9, 101, 236, 233, 125, 252, 5, 109, 69, 166, 84, 87, 212, 122, 179, 144, 24, 13, 222, 124, 251, 43, 207, 195, 53, 128, 50, 38, 6, 180, 112, 2, 164, 218, 222, 172, 188, 218, 19, 33, 141, 130, 229, 238, 61, 212, 115, 167, 155, 250, 101, 182, 55, 90, 211, 79, 186, 65, 113, 114, 2, 235, 244, 240, 114, 230, 241, 149, 62, 231, 164, 101, 157, 163, 25, 99, 34, 86, 217, 214, 194, 168, 170, 209, 125, 50, 72, 60, 115, 238, 189, 4, 211, 7, 109, 218, 50, 2, 69, 70, 157, 28, 180, 206, 14, 104, 7, 202, 188, 242, 86, 122, 196, 121, 156, 180, 141, 218, 46, 11, 111, 197, 213, 107, 160, 145, 164, 157, 166, 222, 86, 242, 93, 59, 100, 14, 115, 226, 185, 23, 176, 112, 89, 170, 198, 185, 183, 97, 1, 190, 27, 229, 116, 248, 252, 142, 47, 47, 141, 84, 26, 224, 1, 177, 251, 169, 116, 239, 44, 144, 19, 216, 164, 180, 2, 13, 205, 188, 4, 182, 48, 180, 7, 1, 202, 236, 151, 175, 63, 83, 143, 79, 233, 13, 86], sw1: 144, sw2: 0) Amount of data left read - 15257 2020-12-25 10:57:57.158694+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB013DE80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB013DE80000000970100 SSC: 6C6A017573602907 Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602908 Concatenate SSC and M and add padding N: 6C6A0175736029080CB013DE800000009701008000000000 x0: 6C6A017573602908 y0: B38220B6C9D629AE x1: 0CB013DE80000000 y1: 9BC954E76427E8F4 x2: 9701008000000000 y2: B37C260E93F5F7CB y: B37C260E93F5F7CB bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 8CE2F8D5F22EED56 a: A9669E6F1914A6F5 Compute MAC over N with KSmac CC: A9669E6F1914A6F5 Build DO'8E DO8E: 8E08A9669E6F1914A6F5 Construct and send protected APDU ProtectedAPDU: 0CB013DE0D9701008E08A9669E6F1914A6F500 [SM] [0x0C, 0xB0, 0x13, 0xDE, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xA9, 0x66, 0x9E, 0x6F, 0x19, 0x14, 0xA6, 0xF5, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E90109AB52BFE69A8A4DAB4355171C95E8782727128DD36283E8202397FF923E0F5133AFF02FA976FEF2D57128062E2CDF75C4D2FD490E21D5C3B7B5BB2FBEB1D58609011F0509314890D9A6F434FC24C0613A7BC9E73BBD830B349275C4BA3B3468187012722365C418C8B200A1AACA6854BC5BA135380C42D54E475C922B7C347CF0B7E7E45BE3A04959A7E4114FCE24DB0F7FA5349F17B1941D6706DC9C212C9D3F017CB712E417EF1380A6279D92A23D6FF5C5E5B54D324769720A1F06E513588827204FC597B1A7CE7A2CE0DD55B3EED0C19ABCB4E01FC3B363134F77C450380B56EB9E9D37924F990290008E084BB7AE2D4AD8FF629000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A017573602908 Increment SSC with 1 SSC: 6C6A017573602909 Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A0175736029098781E90109AB52BFE69A8A4DAB4355171C95E8782727128DD36283E8202397FF923E0F5133AFF02FA976FEF2D57128062E2CDF75C4D2FD490E21D5C3B7B5BB2FBEB1D58609011F0509314890D9A6F434FC24C0613A7BC9E73BBD830B349275C4BA3B3468187012722365C418C8B200A1AACA6854BC5BA135380C42D54E475C922B7C347CF0B7E7E45BE3A04959A7E4114FCE24DB0F7FA5349F17B1941D6706DC9C212C9D3F017CB712E417EF1380A6279D92A23D6FF5C5E5B54D324769720A1F06E513588827204FC597B1A7CE7A2CE0DD55B3EED0C19ABCB4E01FC3B363134F77C450380B56EB9E9D37924F990290008000000000000000 Compute MAC with KSmac x0: 6C6A017573602909 y0: 486272DB76A3B8BA x1: 8781E90109AB52BF y1: 4C07B651A09E937F x2: E69A8A4DAB435517 y2: DCE43A100C51301B x3: 1C95E8782727128D y3: 9DFBD5B21712EE98 x4: D36283E8202397FF y4: D7252CDF513B62D2 x5: 923E0F5133AFF02F y5: EB9B48D3680FD049 x6: A976FEF2D5712806 y6: 640A16A6C131AF36 x7: 2E2CDF75C4D2FD49 y7: 3DD9F420DEB28893 x8: 0E21D5C3B7B5BB2F y8: 44F32630AA7F91AD x9: BEB1D58609011F05 y9: 34221A50D607578A x10: 09314890D9A6F434 y10: FB091AE0A6F67B2D x11: FC24C0613A7BC9E7 y11: 1A750A3D1AAE8EE5 x12: 3BBD830B349275C4 y12: 7A4C75842617F148 x13: BA3B346818701272 y13: E8453187AAB00A7D x14: 2365C418C8B200A1 y14: 366AB498C2CA7ABA x15: AACA6854BC5BA135 y15: 6B3A12AD4297DC57 x16: 380C42D54E475C92 y16: DAE98968C83BD38D x17: 2B7C347CF0B7E7E4 y17: A98134ED67B644DE x18: 5BE3A04959A7E411 y18: 825D7554196942A7 x19: 4FCE24DB0F7FA534 y19: 3BF1D0FA41E27244 x20: 9F17B1941D6706DC y20: A01093B724764567 x21: 9C212C9D3F017CB7 y21: 90FD95F7E7F10730 x22: 12E417EF1380A627 y22: ACCA4F33B81F1AC1 x23: 9D92A23D6FF5C5E5 y23: 1F5186432C5FD891 x24: B54D324769720A1F y24: 2ACFF48C36A5147C x25: 06E513588827204F y25: 5555FD01D6D1258B x26: C597B1A7CE7A2CE0 y26: 29304138C9F8356E x27: DD55B3EED0C19ABC y27: 774AFF33E94B235C x28: B4E01FC3B363134F y28: 04ADB350EDBAA164 x29: 77C450380B56EB9E y29: BE1E602201207278 x30: 9D37924F99029000 y30: 836A4E6EE1057D3B x31: 8000000000000000 y31: 72A61CD84CA999C9 y: 72A61CD84CA999C9 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: AC660325C4585920 a: 4BB7AE2D4AD8FF62 CC: 4BB7AE2D4AD8FF62 Compare CC with data of DO'8E of RAPDU 4BB7AE2D4AD8FF62 == 4BB7AE2D4AD8FF62 ? true Decrypt data of DO'87 with KSenc DecryptedData: A29C43FE114D1CB2B017C8F9ACD683C0CF95EF7412BE6D3E0966B7A8F8C175B8BDB2BE79F868D6D7EAAD82A18D7B5841B3CD9A3FF6BE8B858D8E16B1A2C00E3C2B60C1684215DA8421080421080421080421080421080421080421080421083CDBE384A5BD0F1441C0192A9A2DE7057CF7511967D58365EF5F1BC97E9BA5442C6F339C41F0005E0D5CE77ACEDDE565AFD574AE90FED64C381B6427A536EC98DF624137054C527E90F383CD925A6CEF74A783C218D383DCFB2ADABC9DA75AD321B1BD8775CDAE171D870AC5917A549B9CD373DD47A7A7351591C42F93959FB3A267FA99474F1C34 Unprotected APDU: [A29C43FE114D1CB2B017C8F9ACD683C0CF95EF7412BE6D3E0966B7A8F8C175B8BDB2BE79F868D6D7EAAD82A18D7B5841B3CD9A3FF6BE8B858D8E16B1A2C00E3C2B60C1684215DA8421080421080421080421080421080421080421080421083CDBE384A5BD0F1441C0192A9A2DE7057CF7511967D58365EF5F1BC97E9BA5442C6F339C41F0005E0D5CE77ACEDDE565AFD574AE90FED64C381B6427A536EC98DF624137054C527E90F383CD925A6CEF74A783C218D383DCFB2ADABC9DA75AD321B1BD8775CDAE171D870AC5917A549B9CD373DD47A7A7351591C42F93959FB3A267FA99474F1C34] 90 00 got resp - ResponseAPDU(data: [162, 156, 67, 254, 17, 77, 28, 178, 176, 23, 200, 249, 172, 214, 131, 192, 207, 149, 239, 116, 18, 190, 109, 62, 9, 102, 183, 168, 248, 193, 117, 184, 189, 178, 190, 121, 248, 104, 214, 215, 234, 173, 130, 161, 141, 123, 88, 65, 179, 205, 154, 63, 246, 190, 139, 133, 141, 142, 22, 177, 162, 192, 14, 60, 43, 96, 193, 104, 66, 21, 218, 132, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 4, 33, 8, 60, 219, 227, 132, 165, 189, 15, 20, 65, 192, 25, 42, 154, 45, 231, 5, 124, 247, 81, 25, 103, 213, 131, 101, 239, 95, 27, 201, 126, 155, 165, 68, 44, 111, 51, 156, 65, 240, 0, 94, 13, 92, 231, 122, 206, 221, 229, 101, 175, 213, 116, 174, 144, 254, 214, 76, 56, 27, 100, 39, 165, 54, 236, 152, 223, 98, 65, 55, 5, 76, 82, 126, 144, 243, 131, 205, 146, 90, 108, 239, 116, 167, 131, 194, 24, 211, 131, 220, 251, 42, 218, 188, 157, 167, 90, 211, 33, 177, 189, 135, 117, 205, 174, 23, 29, 135, 10, 197, 145, 122, 84, 155, 156, 211, 115, 221, 71, 167, 167, 53, 21, 145, 196, 47, 147, 149, 159, 179, 162, 103, 250, 153, 71, 79, 28, 52], sw1: 144, sw2: 0) Amount of data left read - 15026 2020-12-25 10:57:57.206334+0800 TWFidODemo[1328:1186445] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB014C580000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB014C580000000970100 SSC: 6C6A017573602909 Compute MAC of M Increment SSC with 1 SSC: 6C6A01757360290A Concatenate SSC and M and add padding N: 6C6A01757360290A0CB014C5800000009701008000000000 x0: 6C6A01757360290A y0: A8133E503689248F x1: 0CB014C580000000 y1: CF4DD92B2AD8B87A x2: 9701008000000000 y2: 4FE564DBE8F6DBA6 y: 4FE564DBE8F6DBA6 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: B5783A585FEE333F a: CEC3EAB48203F551 Compute MAC over N with KSmac CC: CEC3EAB48203F551 Build DO'8E DO8E: 8E08CEC3EAB48203F551 Construct and send protected APDU ProtectedAPDU: 0CB014C50D9701008E08CEC3EAB48203F55100 [SM] [0x0C, 0xB0, 0x14, 0xC5, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0xCE, 0xC3, 0xEA, 0xB4, 0x82, 0x03, 0xF5, 0x51, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901400996A056DC095BACA5C032FCBD2D883DCB4850F84AAA2FB8A3F5B0A08392ECF30900A7AEA80A222137E8CBE410E6543F32FF9B610A3C7F326D21ACF8881A56212C1943BAAFC3C4453AB7659312EF2ACA47C8D92AC39F2148C92BAC1B1C5DFEE6AE67A6909068027210EE34ACB574C68A5E39C7E6BE2C17DCED9534B110B02353FDECA5B03A9A1EC6ADDF9D89994FDB565415634AD80C4F1085848D2CBF2C871CF0FEC65A1C0F4A5D409A47EA3CF8555DF88114E762EE1E75F5085C2A6B3179E0A3FA0271B69C228C16F2852DEE4D9D9098E1194FE455E91088E9E5B96AFB30F467DE0579DCADAB990290008E08602DCB931B1B4BCC9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A01757360290A Increment SSC with 1 SSC: 6C6A01757360290B Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A01757360290B8781E901400996A056DC095BACA5C032FCBD2D883DCB4850F84AAA2FB8A3F5B0A08392ECF30900A7AEA80A222137E8CBE410E6543F32FF9B610A3C7F326D21ACF8881A56212C1943BAAFC3C4453AB7659312EF2ACA47C8D92AC39F2148C92BAC1B1C5DFEE6AE67A6909068027210EE34ACB574C68A5E39C7E6BE2C17DCED9534B110B02353FDECA5B03A9A1EC6ADDF9D89994FDB565415634AD80C4F1085848D2CBF2C871CF0FEC65A1C0F4A5D409A47EA3CF8555DF88114E762EE1E75F5085C2A6B3179E0A3FA0271B69C228C16F2852DEE4D9D9098E1194FE455E91088E9E5B96AFB30F467DE0579DCADAB990290008000000000000000 Compute MAC with KSmac x0: 6C6A01757360290B y0: E77E83BDACDB3335 x1: 8781E901400996A0 y1: A2D254499F602788 x2: 56DC095BACA5C032 y2: 41C9613CC68074F6 x3: FCBD2D883DCB4850 y3: 482550E374A1BD39 x4: F84AAA2FB8A3F5B0 y4: 492C6489067BB6EF x5: A08392ECF30900A7 y5: 5BBAD5D3EBDDBE2C x6: AEA80A222137E8CB y6: 8EBDBCD6AA47C460 x7: E410E6543F32FF9B y7: 5064CA16A3FD2E01 x8: 610A3C7F326D21AC y8: 4DD46EAF6BA621E5 x9: F8881A56212C1943 y9: 58FEA45AEE7F4AA7 x10: BAAFC3C4453AB765 y10: 934004FF47D33B25 x11: 9312EF2ACA47C8D9 y11: 365165E17ED53793 x12: 2AC39F2148C92BAC y12: CA4B277FED873508 x13: 1B1C5DFEE6AE67A6 y13: CF88994FE729AF9A x14: 909068027210EE34 y14: 9139CF0C121CCC42 x15: ACB574C68A5E39C7 y15: 646B5F4DD6A49281 x16: E6BE2C17DCED9534 y16: 2850110E4C7B6278 x17: B110B02353FDECA5 y17: 8C9B6262D4F1F86D x18: B03A9A1EC6ADDF9D y18: 70473914D4E86182 x19: 89994FDB56541563 y19: 84C64EDBE13BFD56 x20: 4AD80C4F1085848D y20: A03BA1A429816459 x21: 2CBF2C871CF0FEC6 y21: 9ED95D57881B49D0 x22: 5A1C0F4A5D409A47 y22: B991DD53D2FD4433 x23: EA3CF8555DF88114 y23: C1CF96107DA63869 x24: E762EE1E75F5085C y24: 1588AB84F82B972A x25: 2A6B3179E0A3FA02 y25: 27E8F6E363866521 x26: 71B69C228C16F285 y26: 46832745F0231CF9 x27: 2DEE4D9D9098E119 y27: F273C3D947912301 x28: 4FE455E91088E9E5 y28: 8511028B00FEC741 x29: B96AFB30F467DE05 y29: BA3E0D14157CD8E7 x30: 79DCADAB99029000 y30: 95DD838E38FD1FF7 x31: 8000000000000000 y31: 7A2C99ABB00E29B0 y: 7A2C99ABB00E29B0 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: DBC184E8AF4E8630 a: 602DCB931B1B4BCC CC: 602DCB931B1B4BCC Compare CC with data of DO'8E of RAPDU 602DCB931B1B4BCC == 602DCB931B1B4BCC ? true Decrypt data of DO'87 with KSenc DecryptedData: C6A66E6C406D9419A5DF239F6FABB2B3D5A76FA0DA78C0063E7DD54B9A58DB917254756A07E63C781C2901A5CE0B91463D1DC79E55869DA73AA3F365B86F2146B71131D33152B9C45C5BC952C53B43001756905117F6BFFC26DF1B5DEA4ADC31B858DDB69E3416C76FF952A0606C4E045DEEC37D929B101187D880EE079561A7694647899E4B4FE81E0A8F65F3E349A3A2F4A89AC7B2EF7BAF70AF69A03B37CB86B780122185CC2D12105CD5654D4D2543893F2C43C772ABD6F33C45A66BAAA776D692D1DBB2B28697607CB273C35AA6D0D17A41E4E77703C04EB220F95C6D66B0A9E25104229A Unprotected APDU: [C6A66E6C406D9419A5DF239F6FABB2B3D5A76FA0DA78C0063E7DD54B9A58DB917254756A07E63C781C2901A5CE0B91463D1DC79E55869DA73AA3F365B86F2146B71131D33152B9C45C5BC952C53B43001756905117F6BFFC26DF1B5DEA4ADC31B858DDB69E3416C76FF952A0606C4E045DEEC37D929B101187D880EE079561A7694647899E4B4FE81E0A8F65F3E349A3A2F4A89AC7B2EF7BAF70AF69A03B37CB86B780122185CC2D12105CD5654D4D2543893F2C43C772ABD6F33C45A66BAAA776D692D1DBB2B28697607CB273C35AA6D0D17A41E4E77703C04EB220F95C6D66B0A9E25104229A] 90 00 got resp - ResponseAPDU(data: [198, 166, 110, 108, 64, 109, 148, 25, 165, 223, 35, 159, 111, 171, 178, 179, 213, 167, 111, 160, 218, 120, 192, 6, 62, 125, 213, 75, 154, 88, 219, 145, 114, 84, 117, 106, 7, 230, 60, 120, 28, 41, 1, 165, 206, 11, 145, 70, 61, 29, 199, 158, 85, 134, 157, 167, 58, 163, 243, 101, 184, 111, 33, 70, 183, 17, 49, 211, 49, 82, 185, 196, 92, 91, 201, 82, 197, 59, 67, 0, 23, 86, 144, 81, 23, 246, 191, 252, 38, 223, 27, 93, 234, 74, 220, 49, 184, 88, 221, 182, 158, 52, 22, 199, 111, 249, 82, 160, 96, 108, 78, 4, 93, 238, 195, 125, 146, 155, 16, 17, 135, 216, 128, 238, 7, 149, 97, 167, 105, 70, 71, 137, 158, 75, 79, 232, 30, 10, 143, 101, 243, 227, 73, 163, 162, 244, 168, 154, 199, 178, 239, 123, 175, 112, 175, 105, 160, 59, 55, 203, 134, 183, 128, 18, 33, 133, 204, 45, 18, 16, 92, 213, 101, 77, 77, 37, 67, 137, 63, 44, 67, 199, 114, 171, 214, 243, 60, 69, 166, 107, 170, 167, 118, 214, 146, 209, 219, 178, 178, 134, 151, 96, 124, 178, 115, 195, 90, 166, 208, 209, 122, 65, 228, 231, 119, 3, 192, 78, 178, 32, 249, 92, 109, 102, 176, 169, 226, 81, 4, 34, 154], sw1: 144, sw2: 0) Amount of data left read - 14795 2020-12-25 10:57:57.253198+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB015AC80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB015AC80000000970100 SSC: 6C6A01757360290B Compute MAC of M Increment SSC with 1 SSC: 6C6A01757360290C Concatenate SSC and M and add padding N: 6C6A01757360290C0CB015AC800000009701008000000000 x0: 6C6A01757360290C y0: F2FCC4BA21480455 x1: 0CB015AC80000000 y1: 50DE8BC652B07826 x2: 9701008000000000 y2: 44D484C1568DC411 y: 44D484C1568DC411 bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 85D5E9A4E1D72A28 a: 3EFF71DB825AAB87 Compute MAC over N with KSmac CC: 3EFF71DB825AAB87 Build DO'8E DO8E: 8E083EFF71DB825AAB87 Construct and send protected APDU ProtectedAPDU: 0CB015AC0D9701008E083EFF71DB825AAB8700 [SM] [0x0C, 0xB0, 0x15, 0xAC, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x3E, 0xFF, 0x71, 0xDB, 0x82, 0x5A, 0xAB, 0x87, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901C90F934D1A7A6FF59F32109168789D411F9DE82EE2D876688FD05EE1D4D2241DF74BDAB974C131FD5A158393C3A6C2DBA84C8DDE936D23D1DAABE320EC50D903E2508EC9D1CC0994A7DA714BF902F219AAC04B020AB53C9848B8780FE36639AB2205DA5B6935CB1879CD417BB2181B440D65FCF3877E1727347C5C515E67D42632B97A977415761D421FC5636E3AAF957A9057939DE5B84583B46BBFA93BCC83DB38349A1C653A6E26526DD14729D7C96FABC3EE8A0BBD6477D4DE9563A2960B9AB6F27B4A8F2050124B764E76AD6990A4C342F56C0C63FE08E78145A7A4ACA220CEC792A74EE8F2990290008E08356520F114E6FE1C9000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A01757360290C Increment SSC with 1 SSC: 6C6A01757360290D Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A01757360290D8781E901C90F934D1A7A6FF59F32109168789D411F9DE82EE2D876688FD05EE1D4D2241DF74BDAB974C131FD5A158393C3A6C2DBA84C8DDE936D23D1DAABE320EC50D903E2508EC9D1CC0994A7DA714BF902F219AAC04B020AB53C9848B8780FE36639AB2205DA5B6935CB1879CD417BB2181B440D65FCF3877E1727347C5C515E67D42632B97A977415761D421FC5636E3AAF957A9057939DE5B84583B46BBFA93BCC83DB38349A1C653A6E26526DD14729D7C96FABC3EE8A0BBD6477D4DE9563A2960B9AB6F27B4A8F2050124B764E76AD6990A4C342F56C0C63FE08E78145A7A4ACA220CEC792A74EE8F2990290008000000000000000 Compute MAC with KSmac x0: 6C6A01757360290D y0: 5BA89FBB82370AD7 x1: 8781E901C90F934D y1: B5C486C12CFB830D x2: 1A7A6FF59F321091 y2: 3539ACE00D32EAF6 x3: 68789D411F9DE82E y3: 6776AFD39BEC1C77 x4: E2D876688FD05EE1 y4: BDE72DFE68B373A6 x5: D4D2241DF74BDAB9 y5: 53BA6850C5C2970F x6: 74C131FD5A158393 y6: 0BE9D65FC687E445 x7: C3A6C2DBA84C8DDE y7: BB8A7F6735305BEA x8: 936D23D1DAABE320 y8: 2A4EA36F98A26A82 x9: EC50D903E2508EC9 y9: 70CFBCBBD7AE708B x10: D1CC0994A7DA714B y10: BBA04AA477D6F3BB x11: F902F219AAC04B02 y11: 41943BBE067CF7AA x12: 0AB53C9848B8780F y12: AA90206776ADACA7 x13: E36639AB2205DA5B y13: 0968E8E6D1A3AB31 x14: 6935CB1879CD417B y14: 870B5BEFEC88887B x15: B2181B440D65FCF3 y15: 64BB4AF23740558E x16: 877E1727347C5C51 y16: 0D54100B7BD08091 x17: 5E67D42632B97A97 y17: 1D724F0B6CF4061E x18: 7415761D421FC563 y18: 9771B4836ED7A995 x19: 6E3AAF957A905793 y19: 1AF3F0D214ECE8D1 x20: 9DE5B84583B46BBF y20: CBFBBDB5FA716F8D x21: A93BCC83DB38349A y21: D7F595EDFB67328C x22: 1C653A6E26526DD1 y22: 562CFFD9D60C41AD x23: 4729D7C96FABC3EE y23: B10457A2E10458D1 x24: 8A0BBD6477D4DE95 y24: B0B2193DFCEA0A0C x25: 63A2960B9AB6F27B y25: 87A00C7760F0709F x26: 4A8F2050124B764E y26: 4ACC487668260863 x27: 76AD6990A4C342F5 y27: CE91FFE08B4E60D3 x28: 6C0C63FE08E78145 y28: 6DB14F726BBE114B x29: A7A4ACA220CEC792 y29: C24886E712009900 x30: A74EE8F299029000 y30: DD7AA3A83F46D993 x31: 8000000000000000 y31: 522292B72F891D8D y: 522292B72F891D8D bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 136CAB5C37466E2A a: 356520F114E6FE1C CC: 356520F114E6FE1C Compare CC with data of DO'8E of RAPDU 356520F114E6FE1C == 356520F114E6FE1C ? true Decrypt data of DO'87 with KSenc DecryptedData: 03248374AFC35BFE8121D0969FCDFA8F3FF0AC58DF59E642DB3461974D4AC1725DC8EEAB531595303EA488A33B1A32E3E5553A3FF15A9F4E06834F03ACEB8EFECAF650F10B833EA7607D93B4D471D2533638581A3938E4AC353ABCA851523638C44C1B4295F858C345B36521B193D93A220480B36AACFC3B4C8768C84F6C6B5B6B5CA9A226871C0FBAEB18D73AFB6C3CF9528AAD6528372704F64A751170B3ADB55A7A6DBF092F8C006CACCED656B285DB6436BDB8580D6A876CAE736E6E7F85EBD3D38730B6CB1FAD69162F6B461D96FB15A62F2B0F24EC799171F50827214A63EE01FE42350A Unprotected APDU: [03248374AFC35BFE8121D0969FCDFA8F3FF0AC58DF59E642DB3461974D4AC1725DC8EEAB531595303EA488A33B1A32E3E5553A3FF15A9F4E06834F03ACEB8EFECAF650F10B833EA7607D93B4D471D2533638581A3938E4AC353ABCA851523638C44C1B4295F858C345B36521B193D93A220480B36AACFC3B4C8768C84F6C6B5B6B5CA9A226871C0FBAEB18D73AFB6C3CF9528AAD6528372704F64A751170B3ADB55A7A6DBF092F8C006CACCED656B285DB6436BDB8580D6A876CAE736E6E7F85EBD3D38730B6CB1FAD69162F6B461D96FB15A62F2B0F24EC799171F50827214A63EE01FE42350A] 90 00 got resp - ResponseAPDU(data: [3, 36, 131, 116, 175, 195, 91, 254, 129, 33, 208, 150, 159, 205, 250, 143, 63, 240, 172, 88, 223, 89, 230, 66, 219, 52, 97, 151, 77, 74, 193, 114, 93, 200, 238, 171, 83, 21, 149, 48, 62, 164, 136, 163, 59, 26, 50, 227, 229, 85, 58, 63, 241, 90, 159, 78, 6, 131, 79, 3, 172, 235, 142, 254, 202, 246, 80, 241, 11, 131, 62, 167, 96, 125, 147, 180, 212, 113, 210, 83, 54, 56, 88, 26, 57, 56, 228, 172, 53, 58, 188, 168, 81, 82, 54, 56, 196, 76, 27, 66, 149, 248, 88, 195, 69, 179, 101, 33, 177, 147, 217, 58, 34, 4, 128, 179, 106, 172, 252, 59, 76, 135, 104, 200, 79, 108, 107, 91, 107, 92, 169, 162, 38, 135, 28, 15, 186, 235, 24, 215, 58, 251, 108, 60, 249, 82, 138, 173, 101, 40, 55, 39, 4, 246, 74, 117, 17, 112, 179, 173, 181, 90, 122, 109, 191, 9, 47, 140, 0, 108, 172, 206, 214, 86, 178, 133, 219, 100, 54, 189, 184, 88, 13, 106, 135, 108, 174, 115, 110, 110, 127, 133, 235, 211, 211, 135, 48, 182, 203, 31, 173, 105, 22, 47, 107, 70, 29, 150, 251, 21, 166, 47, 43, 15, 36, 236, 121, 145, 113, 245, 8, 39, 33, 74, 99, 238, 1, 254, 66, 53, 10], sw1: 144, sw2: 0) Amount of data left read - 14564 2020-12-25 10:57:57.299339+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0169380000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0169380000000970100 SSC: 6C6A01757360290D Compute MAC of M Increment SSC with 1 SSC: 6C6A01757360290E Concatenate SSC and M and add padding N: 6C6A01757360290E0CB01693800000009701008000000000 x0: 6C6A01757360290E y0: 9438F1DF06F21007 x1: 0CB0169380000000 y1: 4F252A76EC5AF002 x2: 9701008000000000 y2: BC493598E80BDCDD y: BC493598E80BDCDD bkey: E638769E34981349 akey: FD4AC70407EA4954 b: DD9F51B300EC8548 a: 8F94421274A9AB10 Compute MAC over N with KSmac CC: 8F94421274A9AB10 Build DO'8E DO8E: 8E088F94421274A9AB10 Construct and send protected APDU ProtectedAPDU: 0CB016930D9701008E088F94421274A9AB1000 [SM] [0x0C, 0xB0, 0x16, 0x93, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x8F, 0x94, 0x42, 0x12, 0x74, 0xA9, 0xAB, 0x10, 0x00] Receive response APDU of MRTD's chip RAPDU: 8781E901FF8819FF22A48E7C334AF8CB7D224866E46530BC6BB188E6D3E949FD49E8FED43D5FE7A8DE2A394761794B2A72F088DCE1E0A4E0FE2B480BFB91FE43E481ABE9D81A3A089DB5CB49F861B7FCFA8A7D7108B6B2B1CD216078B1AC321F9EBD7D9BFED084F4E70331C3F205F83C1574BC6896C1B551D8704E58A321CDB20C0D72F9590E22BF843BDD41DEDC54BAA4CA37E6B86206E385653A0ACBCC188E25E6519C5A4F306BA972D6A05084C6594D61028C6278EE632A1A219C50C9EB7B5E707FB8E66184B4408CFA709340A936C614EB483AB1AE6DD996C128F9C4288F9FFEE4A3377E487D8514026F990290008E0801A044277DC089929000 Verify RAPDU CC by computing MAC of DO'87 DO'99 SSC: 6C6A01757360290E Increment SSC with 1 SSC: 6C6A01757360290F Concatenate SSC and DO'87 DO'99 and add padding K: 6C6A01757360290F8781E901FF8819FF22A48E7C334AF8CB7D224866E46530BC6BB188E6D3E949FD49E8FED43D5FE7A8DE2A394761794B2A72F088DCE1E0A4E0FE2B480BFB91FE43E481ABE9D81A3A089DB5CB49F861B7FCFA8A7D7108B6B2B1CD216078B1AC321F9EBD7D9BFED084F4E70331C3F205F83C1574BC6896C1B551D8704E58A321CDB20C0D72F9590E22BF843BDD41DEDC54BAA4CA37E6B86206E385653A0ACBCC188E25E6519C5A4F306BA972D6A05084C6594D61028C6278EE632A1A219C50C9EB7B5E707FB8E66184B4408CFA709340A936C614EB483AB1AE6DD996C128F9C4288F9FFEE4A3377E487D8514026F990290008000000000000000 Compute MAC with KSmac x0: 6C6A01757360290F y0: B5C34BF953FB470D x1: 8781E901FF8819FF y1: A52D6CEF5925E144 x2: 22A48E7C334AF8CB y2: E2C38C9C40BBE1DC x3: 7D224866E46530BC y3: DB551A830A29D1E7 x4: 6BB188E6D3E949FD y4: A29AE7BFBF1445BA x5: 49E8FED43D5FE7A8 y5: 7E32E4851F901742 x6: DE2A394761794B2A y6: C3D1AB8A24E87E31 x7: 72F088DCE1E0A4E0 y7: E052A3E6735217A2 x8: FE2B480BFB91FE43 y8: 8593ACC20AFA496D x9: E481ABE9D81A3A08 y9: 7E19D9C3D34961FD x10: 9DB5CB49F861B7FC y10: 4F813F6DC5F8A51A x11: FA8A7D7108B6B2B1 y11: 1F86D17F018FD1EA x12: CD216078B1AC321F y12: DBB5327AD36A8759 x13: 9EBD7D9BFED084F4 y13: AA7BF973E43BCB36 x14: E70331C3F205F83C y14: 0285144C68CC6D36 x15: 1574BC6896C1B551 y15: 06A6829143CFE056 x16: D8704E58A321CDB2 y16: ED8B027BB048FDDC x17: 0C0D72F9590E22BF y17: BD1F268B7B1D7F7F x18: 843BDD41DEDC54BA y18: E6E6F73DBEE3A0BD x19: A4CA37E6B86206E3 y19: 82331049D96182E4 x20: 85653A0ACBCC188E y20: 3A149A40573BF464 x21: 25E6519C5A4F306B y21: CE265E1E00CD31C3 x22: A972D6A05084C659 y22: B3C359B53228622A x23: 4D61028C6278EE63 y23: 424589EE296BF7DA x24: 2A1A219C50C9EB7B y24: 940B1CC794C603A2 x25: 5E707FB8E66184B4 y25: 5431B60CEC652502 x26: 408CFA709340A936 y26: FE2DB6A60816F529 x27: C614EB483AB1AE6D y27: C0DFFC3EEDC56D1E x28: D996C128F9C4288F y28: DA62E7B079527A77 x29: 9FFEE4A3377E487D y29: CFCF9032FE882948 x30: 8514026F99029000 y30: 413B5CBFF137C618 x31: 8000000000000000 y31: 0992EFF596E2632C y: 0992EFF596E2632C bkey: E638769E34981349 akey: FD4AC70407EA4954 b: FF094B1358015F96 a: 01A044277DC08992 CC: 01A044277DC08992 Compare CC with data of DO'8E of RAPDU 01A044277DC08992 == 01A044277DC08992 ? true Decrypt data of DO'87 with KSenc DecryptedData: 274156E0E69194DC636FF2BD2CDEC791E49655EE915B3D34AD14F33A18C3C3DC5BCDC775F4E7496ABFE31D394F55EB09C91B4C9DDD6EE57CB34276BB270BD7FE0E6AEE8756A8D29CF3E8CD17AB1B3B070E55F37954CD7B121085AB508421008421008421008421008421008421008421008421078C7C66A9DDAE5302E1B69E0E2FC39C578B55C84C877657A07C529273D5D5FF00897EE264F94DFE968C00BCF66BB8DFB2C7FACF57EA1CDC5EF7054522F90A4CC4876320F64DB18E3603175369984EC2EC05674D420D234DAEE73C06A629291F3D435A3CAD1D4523A17D2DAC034EE202E6DEFF00 Unprotected APDU: [274156E0E69194DC636FF2BD2CDEC791E49655EE915B3D34AD14F33A18C3C3DC5BCDC775F4E7496ABFE31D394F55EB09C91B4C9DDD6EE57CB34276BB270BD7FE0E6AEE8756A8D29CF3E8CD17AB1B3B070E55F37954CD7B121085AB508421008421008421008421008421008421008421008421078C7C66A9DDAE5302E1B69E0E2FC39C578B55C84C877657A07C529273D5D5FF00897EE264F94DFE968C00BCF66BB8DFB2C7FACF57EA1CDC5EF7054522F90A4CC4876320F64DB18E3603175369984EC2EC05674D420D234DAEE73C06A629291F3D435A3CAD1D4523A17D2DAC034EE202E6DEFF00] 90 00 got resp - ResponseAPDU(data: [39, 65, 86, 224, 230, 145, 148, 220, 99, 111, 242, 189, 44, 222, 199, 145, 228, 150, 85, 238, 145, 91, 61, 52, 173, 20, 243, 58, 24, 195, 195, 220, 91, 205, 199, 117, 244, 231, 73, 106, 191, 227, 29, 57, 79, 85, 235, 9, 201, 27, 76, 157, 221, 110, 229, 124, 179, 66, 118, 187, 39, 11, 215, 254, 14, 106, 238, 135, 86, 168, 210, 156, 243, 232, 205, 23, 171, 27, 59, 7, 14, 85, 243, 121, 84, 205, 123, 18, 16, 133, 171, 80, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 0, 132, 33, 7, 140, 124, 102, 169, 221, 174, 83, 2, 225, 182, 158, 14, 47, 195, 156, 87, 139, 85, 200, 76, 135, 118, 87, 160, 124, 82, 146, 115, 213, 213, 255, 0, 137, 126, 226, 100, 249, 77, 254, 150, 140, 0, 188, 246, 107, 184, 223, 178, 199, 250, 207, 87, 234, 28, 220, 94, 247, 5, 69, 34, 249, 10, 76, 196, 135, 99, 32, 246, 77, 177, 142, 54, 3, 23, 83, 105, 152, 78, 194, 236, 5, 103, 77, 66, 13, 35, 77, 174, 231, 60, 6, 166, 41, 41, 31, 61, 67, 90, 60, 173, 29, 69, 35, 161, 125, 45, 172, 3, 78, 226, 2, 230, 222, 255, 0], sw1: 144, sw2: 0) Amount of data left read - 14333 2020-12-25 10:57:57.344257+0800 TWFidODemo[1328:1186335] [CoreNFC] 00000002 82b00870 -[NFCTagReaderSession setAlertMessage:]:90 (null) Expected response length: 256 Mask class byte and pad command header CmdHeader: 0CB0177A80000000 Build DO'97 DO97: [151, 1, 0] Concatenate CmdHeader and DO97 M: 0CB0177A80000000970100 SSC: 6C6A01757360290F Compute MAC of M Increment SSC with 1 SSC: 6C6A017573602910 Concatenate SSC and M and add padding N: 6C6A0175736029100CB0177A800000009701008000000000 x0: 6C6A017573602910 y0: 5C1AB17E3324A0AE x1: 0CB0177A80000000 y1: 7C6386E27A5A7907 x2: 9701008000000000 y2: 94C794539DE29DCE y: 94C794539DE29DCE bkey: E638769E34981349 akey: FD4AC70407EA4954 b: 1EFB1FB95B59CAA3 a: 2635F328CF5F3D08 Compute MAC over N with KSmac CC: 2635F328CF5F3D08 Build DO'8E DO8E: 8E082635F328CF5F3D08 Construct and send protected APDU ProtectedAPDU: 0CB0177A0D9701008E082635F328CF5F3D0800 [SM] [0x0C, 0xB0, 0x17, 0x7A, 0x0D, 0x97, 0x01, 0x00, 0x8E, 0x08, 0x26, 0x35, 0xF3, 0x28, 0xCF, 0x5F, 0x3D, 0x08, 0x00] Receive response APDU of MRTD's chip RAPDU: 9000 Fatal error: Array index is out of range: file Swift/Array.swift, line 383 2020-12-25 10:57:57.374497+0800 TWFidODemo[1328:1186445] Fatal error: Array index is out of range: file Swift/Array.swift, line 383

AndyQ commented 3 years ago

This should be fixed in the current version of the app. The problem was down to the amount of data being read. Dropping this down to a more supported amount (rather than trying to read until the passport said it had finished which isn't supported by all passports apparently) should fix this.

If you are still having issues please re-open

andycg0327 commented 1 year ago

Thank you for the fix. It been a while since the last check, unfortunately, today we tried in iPhone (XR, SE, 12, 13), the same issue still happen and just only in iPhone12...

Can you please help for this problem again? Thank you so much.