Closed mfortini closed 2 years ago
@mfortini No, scade ogni 30 giorni. Fissi 😢
Leggevo che la funzionalità (obbligo di ri-login) per ragioni di sicurezza. La richiesta la vedo più che sensata, Io potrebbe avvisare che la login è scaduta. "Per continuare a ricevere avvisi dalle Pubbliche Amministrazioni, effettua nuovamente il login con SPID o CIE"
Related: #1782
Ha senso ;) Grazie https://www.pivotaltracker.com/story/show/176993783
A proposito del login, una soluzione del genere: utenti in possesso di uno smartphone con riconoscimento biometrico attivo (TouchID/FaceID per iPhone, similari nel mondo Android) -> accede all'app, dopo il primo accesso, senza login con SPID o CIE, finché non fa logout volontario. utenti in possesso di smartphone senza riconoscimento biometrico o non attivo -> login ogni 30 giorni
potrebbe essere tecnicamente adottabile? Leggendo le recensioni, le maggiori critiche sono rivolte proprio alla fase di login, che a volte fallisce anche (ed in effetti il sistema di SPID è molto macchinoso, sopratutto se la password dell'utente è scaduta, ma questo è fuori dal vostro controllo)
Non credo che l'autenticazione biometrica sia una discriminante sensata. Touch id & co sono solo dei facilitatori, qualcosa che non ti costringe a ricordare diversi pin. Infatti "dietro" l'impronta digitale o la scansione del volto c'è proprio il PIN di 6 cifre di IO.
IO non può verificare le impronte dell'utente, ma solo il pin. Il dispositivo rilascia il pin in chiaro se il sensore riconosce le impronte.
Paradossalmente, dal punto di vista della sicurezza il solo touch id è controproducente. Non è il "classico" threat model di IO, ma l'autenticazione con impronta funziona anche se l'utente è in stato di incoscienza (sonno, narcosi) mentre l'estorsione di pin o impronta causano la consapevolezza. Qui stiamo divagando un po' peró...
Credo semplicemente che qualcuno in PagoPA debba prendere una fatidica decisione compatibilmente con il CAD e soprattutto con le migliaia di app finanziarie che non richiedono ulteriore autenticazione. Decisione per tutti.
Aggiungo ora che ho capito meglio il commento. La situazione è peggio di quanto discusso.
La proposta è di consentire la prosecuzione della sessione se ci si autentica con impronta.
La login si fa ogni 30 giorni per due motivi Sicurezza: se il cellulare viene usato da terzi (ci arrivo...) La sessione deve scadere Tecnico: il token SAML di spid non può essere revocato. La maggior parte delle app che usa token JWT consente di revocare alcuni token già emessi su uno specifico dispositivo. IO non ha una "gestione dispositivi".
Problema. Le impronte sono di qualcuno. del proprietario del dispositivo, si spera. IO non potrà mai sapere DI CHI sono le impronte.
Scenari. Figlio che accede allo IO del genitore e usa le proprie impronte sul proprio telefono, poi litiga e si tiene la login. Il genitore non ha mezzi tecnici per revocargliela Coniuge che accede, poi i due vanno in causa.
Ad oggi dopo 30 giorni il peggio è passato
Si hai ragione, non ho valutato tutti i possibili scenari. Però a questo punto è necessario far 'ingoiare la pillola' a tutti quelli che si vedono buttati fuori e perdono la pazienza. Dal 31' giorno sarebbe opportuno mostrare all'utente una schermata del tipo "Ehi, la tua sessione è scaduta. Per ragioni di sicurezza, è necessario effettuare nuovamente il login dopo 30 giorni dal precedente." con un link ad una pagina dove sono spiegati diversi casi d'uso in cui la sicurezza dell'utente può essere a rischio.
Concorderai con me che vedersi buttato fuori dall'app da un giorno all'altro, senza preavviso, porta al classico "ma quest'app non funziona mai quando mi serve", sopratutto quando gli utilizzatori sono utenti medi con scarse capacità digitali.
Ah ma io non ho dubbi che la modalità di interazione con l'utente vada cambiata. Mi pare ci siano alcuni suggerimenti tipo un preavviso, tra i ticket di GitHub.
Giorno 1 del green pass obbligatorio essere buttati fuori da IO appena fuori dal ristorante non ha prezzo. Per tutto il resto ci sono le issue
Forse un miglioramento potrebbe essere rinnovare la sessione ogni volta che si apre l'app (magari limitato una volta al giorno)? Oppure fare in modo che dopo i trenta giorni l'app invece di fare il logout entri in una modalità sola lettura o ridotta dove almeno notifiche e green pass siano accessibili? O una combinazione delle due... Alla fine credo che i vari servizi online o altre app rinnovino la sessione ad ogni richiesta online...
Se il problema è il green pass, questo andrebbe esportato con l'apposita funzione così rimane permanentemente in galleria.
L'idea invece di creare una modalità offline di IO in cui puoi vedere solo i vecchi contributi (compreso green pass e pagamenti PagpPA passati) è allettante. Non so quanto fattibile. Non sono del team di sviluppo e non prendo questa decisione, "io"...
Come avete già supposto il motivo principale dei 30 giorni è legato al sistema di autenticazione. Il token SAML non può essere revocato e nemmeno rinnovato automaticamente.
Quando si entra in IO si usa un identity provider (sia esso SPID o CIE) per essere riconosciuti come cittadini in IO. Da quel momento in poi la sessione esiste solo tra l'app e IO, intesa come piattaforma. Gli identity provider non entrano più in gioco.
Quindi IO, su indicazione stessa del garante e seguendo le linee guida AGID in merito a SPID/CIE, può tenere "viva" la sua sessione per max 30 giorni.
IO infatti, in quei 30 giorni, non sa se il cittadino esiste ancora presso SPID, se ha revocato la sua identità digitale, o se ha cambiato qualche attributo (tipo il cognome, la data di nascita, o altro)
Una mitigazione potrebbe essere appunto rendere noto in app tra quanto scade la sessione così che il cittadino non venga sorpreso sconnesso proprio nel momento del bisogno.
Il GreenPass è meglio esportarlo come immagine e salvarlo dove e meglio si credo cosi da averlo a disposizione anche offline
Altra alternativa, ma richiede l'intervento di AGID, è un flusso semplificato di rinnovo SPID usando solo un fattore di autenticazione senza ripetere la solfa (il più alto ovviamente). Ma richiede un intervento normativo (decreto tecnico) e implementazione da parte di tutti gli IdP.
Forse meglio usare la CIE, chi ce l'ha.
Magari due righe su Forum Italia appena ho tempo...
This issue is stale because it has been open for 60 days with no activity. If the issue is still present, please leave a comment within 14 days to keep it open, otherwise it will be closed automatically.
This issue was closed because it has been inactive for 14 days since being marked as stale.
Il login su IO scade se l'app non viene aperta per troppo tempo.
Di conseguenza non si hanno più neppure le notifiche relative a messaggi, scadenze, ...
To Reproduce
Expected behavior Notifica per riaprire l'app in modo da rinnovare la scadenza o per indicare il login scaduto.
Versione dell'app
1.20.0.2
Smartphone (please complete the following information):