Connessione NFC persa durante autenticazione PACE

Ciao a tutti,
sto testando su iOS e Android l’interazione con l’applicazione ICAO esposta dalla CIE3 via NFC.

Quando utilizzo l’autenticazione BAC riesco ad autenticarmi con successo e a leggere i vari Data Group, ma nel caso del PACE dopo alcuni tentativi non andati a buon fine ora la connessione NFC viene sistematicamente persa subito dopo avere inviato il primo comando General Authenticate. C’è sulla CIE qualche meccanismo che blocca l’uso del PACE in caso siano stati effettuati troppi tentativi di autenticazione? In tal caso c’è modo di riportare la CIE allo stato iniziale e riprovare?

Per testare con il PACE su Android sto utilizzando l’applicazione ReadID su Google Pixel 2 e Samsung Galaxy A5.

Novità qui? Ho notato anche io che succede qualcosa del genere…

Tentando l’autenticazione con MRZ ha funzionato per un po’ poi facendo un po’ di debugging pare non andare dopo alcuni tentativi… Mentre ReadID pare continuare

Io ho provato con tre o quattro volte l’app ReadID ME su iPhone 12 pro Max iOS 15.2.1 ed non ha mai avuto problemi a riconoscere la mia CIE

Neanche io… Ma ReadID utilizza BAC per accedere ai dati della CIE, non PACE.

Il problema è che lavorand su PACE apparentemente sia io che @dmazzoni siamo giunti ad un punto in cui la propria CIE non risponde più ai messaggi e crasha (ulteriori dettagli qui):

P:739893; T:0x139741119854592 02:24:39.523 [npa-tool] sm-eac.c:786:eac_gen_auth_1_encrypted_nonce: 
General authenticate (Encrypted Nonce) command data (2 bytes):
7C 00 |.

P:739893; T:0x139741119854592 02:24:39.524 [npa-tool] apdu.c:550:sc_transmit_apdu: called
P:739893; T:0x139741119854592 02:24:39.524 [npa-tool] card.c:473:sc_lock: called
P:739893; T:0x139741119854592 02:24:39.524 [npa-tool] reader-pcsc.c:688:pcsc_lock: called
P:739893; T:0x139741119854592 02:24:39.524 [npa-tool] card.c:513:sc_lock: returning with: 0 (Success)
P:739893; T:0x139741119854592 02:24:39.524 [npa-tool] apdu.c:515:sc_transmit: called
P:739893; T:0x139741119854592 02:24:39.525 [npa-tool] apdu.c:363:sc_single_transmit: called
P:739893; T:0x139741119854592 02:24:39.525 [npa-tool] apdu.c:367:sc_single_transmit: CLA:10, INS:86, P1:0, P2:0, data(2) 0x55ba94f1c360
P:739893; T:0x139741119854592 02:24:39.525 [npa-tool] reader-pcsc.c:325:pcsc_transmit: reader 'Virtual PCD 00 01'
P:739893; T:0x139741119854592 02:24:39.525 [npa-tool] reader-pcsc.c:326:pcsc_transmit: 
Outgoing APDU (8 bytes):
10 86 00 00 02 7C 00 00 .....|..

P:739893; T:0x139741119854592 02:24:39.525 [npa-tool] reader-pcsc.c:244:pcsc_internal_transmit: called
P:739893; T:0x139741119854592 02:24:40.145 [npa-tool] reader-pcsc.c:332:pcsc_transmit: unable to transmit
P:739893; T:0x139741119854592 02:24:40.145 [npa-tool] apdu.c:380:sc_single_transmit: unable to transmit APDU: -1213 (Unknown data received from card)
P:739893; T:0x139741119854592 02:24:40.145 [npa-tool] apdu.c:518:sc_transmit: transmit APDU failed: -1213 (Unknown data received from card)
P:739893; T:0x139741119854592 02:24:40.145 [npa-tool] card.c:523:sc_unlock: called
P:739893; T:0x139741119854592 02:24:40.145 [npa-tool] reader-pcsc.c:740:pcsc_unlock: called
P:739893; T:0x139741119854592 02:24:40.146 [npa-tool] reader-pcsc.c:749:pcsc_unlock: Virtual PCD 00 01:SCardEndTransaction failed: 0x80100069
P:739893; T:0x139741119854592 02:24:40.146 [npa-tool] apdu.c:640:sc_transmit_apdu: sc_unlock failed
P:739893; T:0x139741119854592 02:24:40.146 [npa-tool] sm-eac.c:1342:perform_pace: Could not get encrypted nonce from card (General Authenticate step 1 failed).
P:739893; T:0x139741119854592 02:24:40.146 [npa-tool] sm-eac.c:1536:perform_pace: returning with: -1213 (Unknown data received from card)

E da quel punto non pare sia possibile rieseguire alcuna interazione usando PACE.

Di fatto gli APDU invati son molto semplici, per lo meno io non ho neanche mai inviato parametri di autenticazione errati:

00 B0 9C 00 DF # non necessario, seve solo a controllare la EF.CardAccess
00 22 C1 A4 0F 80 0A 04 00 7F 00 07 02 02 04 01 01 83 01 01
10 86 00 00 02 7C 00 00