Nodo eIDAS, data di nascita errata di un giorno

Buongiorno,
l’altro giorno stavo cercando di accedere tramite eIDAS in un sito web del governo lituano, durante il login, attraverso CIE, il mio account segnalava che la data di nascita errata di un giorno, per correttezza ho provato ad accedere anche con lo SPID e l’errore è ancora presente.
Ho fatto notare ciò all’assistenza lituana che dopo aver effettuato alcune verifiche non ha trovato problemi nella ricezione dei dati da parte loro. Ho dunque segnalato la cosa via email a servicedeskeidas@agid.gov.it ma non ho ricevuto risposta.

Ho anche controllato su un sito italiano attraverso il login con CIE/SPID e la data di nascita risulta corretta. Ho anche controllato il profilo su PosteID e la data risulta corretta.
C’è dunque un errore sul nodo italiano di eIDAS che invia una data di nascita errata di un giorno? Qualcuno può verificare?

Grazie.

Direi che e’ una tipica questione legata al fuso orario…

In Lituania sono difatti un ora avanti all’Italia.
C’è un modo per risolvere localmente, es. cambiando orario del PC mettendolo uguale al paese del servizio, oppure è necessaria una modifica da parte dei server di eIDAS?

Aggiornamento, cambiano il fuso orario sul mio PC, ora mostra la data corretta, grazie dell’aiuto.

Esatto, questo è un problema annoso e dovuto a un problema concettuale nello sviluppo.

Chi lavora con i sistemi informatici dovrebbe distinguere molto attentamente il concetto stesso di data intesa come giorno di calendario e data-ora-fuso, inteso come insieme della data, ora e fuso orario di riferimento.

Quanto descritto accade perché c’è l’odioso vizio, ma altrettanto l’odiosa limitazione da parte delle librerie, di rappresentare una data del calendario come il suo equivalente della mezzanotte data-ora (es. “1991-01-10 00:00:00” a indicare tutta la giornata), con l’evidente risultato che spostando il device di fuso orario se quell’informazione diventa le 23 del giorno prima, essa viene troncata al giorno prima di calendario.

Negli USA, dove l’informatica nasce e cresce più di ovunque, questo problema non l’hanno mai avuto avendo offset tutti negativi.

In poche parole, è indispensabile che le figure coinvolte nello sviluppo (dall’analista allo sviluppatore) rappresentino il dato per come esso è, senza ricorrere ad oggetti di tipo “new Date”, “ISODateTime”, ecc., altrimenti si incorre il serio rischio che in documenti ufficiali vengano riportate date inesatte, non sempre rilevabili in fase di test.

Riassumendo: il consiglio che do agli sviluppatori è usare le stringhe in formato “yyyy-MM-dd”, le colonne relazionali di tipo “DATE” (e non “TIMESTAMP”) quando si parla di date di nascita, date contabili, ecc. ecc. per evitare pastrocchi.

Ovviamente tutto quello che dici e’ corretto, ma sono convinto che sia una interpretazione vecchia. Con l’informatica ed Internet sarebbe necessario ridefinire il concetto di data in modo univoco.
Se un bambino nasce in un fuso orario diverso da quello di cui avesse la nazionalita’, se chiedessi il codice fiscale (o il suo equivalente, o un qualunque documento) il giorno stesso della nascita (quando magari nel paese che lo rilascia e’ ancora il giorno precedente) cosa succederebbe ? Caso estremo, ma molto plausibile ora che questa operazione (con l’informatizzazione della PP.AA. ) puo’, magari, essere svolta dal cellulare in un paio di click.

Ovvio che se io nasco il 01-01-1990 in UK (faccio esempio di fuso 0), negli USA è ancora il 31-12-1989. Il governo UK mi rilascerà un passaporto con data di nascita 01-01-1990.

L’aneddoto che suggerisco io è quello sull’età per bere, votare o guidare. Il bambino di cui sopra, divenuto adulto, si presenta in un negozio (oppure richiede un servizio online ad una qualsiasi PA, oppure usa una identità digitale per accedere a un servizio a limitazione di età) e deve usare la sua data di nascita per ottenere un servizio.

Da che ora in poi lo si considera maggiorenne? Si considera il fuso orario dell’attività/PA o quello del paese di nascita? Nel tentare di rispondere a questo aneddoto la mia interpretazione di cui sopra. Nel passaporto/identità digitale tu metti solo la data. L’orario viene aggiunto in base all’ora locale e al fuso, e tutte le operazioni matematiche si fanno solo rispetto alla data del documento.

Spero di aver fornito un valido spunto

Concordo pienamente con djechelon, anche perchè tutte le date di nascita di tutti i cittadini sono espresse come 01-01-2000T00:00:00 (ora italiana) questo fa sì che accedendo a servizi di paesi che sono un ora indietro provoca l’invio della stringa 31-12-1999T23:00:00 (ora locale del paese -1).
Questo defaulting all’orario delle 00:00:00 italiane è da considerarsi un vero e proprio errore concettuale nello sviluppo, poiché causa questo errore in diversi servizi europei, anche a cittadini nati tipo alle 09/10 un po’ come me.

Il problema esiste perche’ se nasci il 01/01 alle 00.00 nell’altro paese sei nato il 31/12 dell’anno precedente.
Penso che serva un regolamento internazionale che stabilisca come comportarsi in questi casi.
Come ho gia’ scritto, prima dell’informativa e dei servizi erogati online questo non era un problema, ma ora lo e’.!

Questo lo capisco, ma il fatto è che io come molti altri non siamo nati a mezzanotte quindi in problema non dovrebbe sussitere e invece avviene perché automaticamente risulta che tutti noi siamo nati a mezzanotte.

io vedo due problemi intrecciati:

  1. uno digitale connesso al fuso
  2. uno analogico legale connesso alla nascita e compleanni

Per il secondo bisognerebbe chiedere a un legale. Se nel giorno del mio 14 compleanno compio un reato, potrei usare l’ora di nascita (da certificato) per dimostrare di esssere ancora non punibile?

dal punto di vista dell’età legale, l’arrotondamento si fa al giorno o al minuto?

nella carta di identità si riporta il giorno, sul certificato di nascita il minuto.

Nel caso sia registrata solo la data si potrebbe prendere la mezzanotte e un minuto di default per tutti. In questo modo la data di nascita e’ legata al fuso orario del luogo di nascita.

Se invece sono considerati anche ora e minuto verrebbe da prendere UTC. Non so pero’ quanti americani e cinesi oltre che parecchi europei, australiani, sudamericani ecc. avrebbero voglia di cambiare la data di nascita ufficiale. Ma in futuro, se ci fosse uno standard mondiale, perche’ no?

Il problema qui discusso era stato inizialmente segnalato riguardo eIDAS. Se questo fosse progettato in maniera sensata, con un unico hub centrale di interfaccia, questo problema non esisterebbe. Ma hanno preferito lasciare lo sviluppo agli stati nazionali, una soluzione Italia-Lituania (e una Lituania-Italia, che e’ diversa), una Lituania-Portogallo, una tra Portogallo e Cipro e cosi’ via. Hai voglia ad accumulare errori! C’e’ da stupirsi che al momento eIDAS, almeno in parte, funzioni.