A Torino esiste un servizio chiamato Torino Facile, “il portale e-gov della Città di Torino”. E’ un progetto della Città e del CSI Piemonte, per offrire “un insieme di servizi on line in grado di sostituire le funzionalità offerte dagli sportelli comunali”.
Nei giorni scorsi un conoscente si è registrato, complice il ‘pastrocchio’ per il borsellino elettronico con cui pagare la mensa scolastica (ma questo argomento meriterebbe un post a parte, ad esempio per commentare i 2 euro extra richiesti per chi paga con carta di credito on line).
Prova e riprova, non riesce ad accedere. Scrive al servizio di assistenza e quella a fianco è la risposta, riassumibile più o meno così: “Gentile utente, si ricordi che il sistema è sensibile al maiuscolo/minuscolo e che se ha scelto una password più lunga di 8 caratteri, comunque deve inserire nel campo password i primi 8“.
Io l’ho letta e riletta, questa mail. Perchè non ero sicuro di aver letto bene. Le menti informatiche piemontesi hanno prodotto questo sistema che, qualsiasi sia la lunghezza della password, legge solo, sempre e comunque i primi 8 caratteri. Geniale.
Update:
@Twitorino mi fa sapere via Twitter che:
– le password sono crittografate e inserite sotto HTTPS, non in chiaro
– per alcuni servizi, il passaggio dall’autenticazione Torinofacile ai servizi limita la password a 8 caratteri
– il blocco della lunghezza a 8 caratteri in fase di registrazione, di modo che l’utente non possa registrarsi con password più lunghe, è in fase di realizzazione ma i tempi saranno lunghi per la complessità dei sistemi
by Napolux
05 Nov 2013 at 09:53
Una mail del genere mi fa pensare che le password non siano criptate o salvate con un salt+hash nel database, ma che siano in chiaro fino all’ottavo carattere, quindi troncate.
Un buco di sicurezza non da poco: già che non siano criptate / hashate è un grave rischio, ma che vengano troncate le password lunghe (permettendo a chiunque di entrare solo con una parte della password) è una cosa inaudita.
Occhio alla password che usi su quel sito. Non è protetta in alcun modo…
by Skull
05 Nov 2013 at 10:30
+Napolux: non capisco in base a cosa deduci che non sarebbe conservata come hash.
Apparentemente, la procedura di impostazione della password tronca all’8° carattere, mentre la procedura di login non fa altrettanto con la password inserita.
Che poi dei primi 8 caratteri venga archiviato l’hash (salato o meno) o la password in chiaro, poco cambia, né mi pare di vedere nel comportamento sopra descritto qualcosa che lasci intuire l’una o l’altra metodologia di archiviazione…
by Takky
05 Nov 2013 at 10:57
Ed io che pensavo non si potesse peggiorare il livello del sito PostaCertificata che, dopo una decina di tentativi, scopro non accettare caratteri non alfanumerici nel campo password…
Il bello è che per fare queste cose si avvalgono anche di consulenti esterni.
by Maxkava
05 Nov 2013 at 11:54
Interessante. E’ sicuro che sia così, oppure è un’ipotesi e ci potrebbe essere un altro motivo? perchè se le password sono in chiaro è un bel problema…
by rob71
05 Nov 2013 at 12:15
La lunghezza di 8 sarà per qualche ragione legacy ma è un’inferenza gratuita che ci sia un confronto in chiaro senza hash.
by blabla
05 Nov 2013 at 12:28
Si, ma qual’è la novità?
Ci sono 120.000 siti (una cifra a caso, ma sicuramente di più) che hanno le stesse policy, e alcuni sono anche bancari!!
Ci sono siti di banche che ti obbligano a mettere una password di al massimo 8 caratteri, in altri casi addirittura 6. Lo stesso account hotmail che posseggo (da svariati anni) ha una lunghezza massima di 16 caratteri. E di esempi potrei farne a dozzine.
Queste cose ci sono in tutto il mondo, l’italia non è che non è un paese per informatici.
L’Italia non è per gente intelligente capace di analizzare le cose e capire l’italiano.
Infatti la frase “e in particolare la password se è più lunga di otto caratteri, occorre inserirla solo fino all’ottavo.”
ha un senso completamente diversa da questo tuo commento: ” Le menti informatiche piemontesi hanno prodotto questo sistema che, qualsiasi sia la lunghezza della password, legge solo, sempre e comunque i primi 8 caratteri.”
in quella frase non è proprio specificato in nessun posto che “qualsiasi sia la password legge i primi otto (sempre o comunque)”, lì c’è scritto che la password deve essere di otto caratteri e, se più lunga, ti consiglia di troncarla. E’ un consiglio, non una intimidazione. Se vuoi puoi anche scriverne un’altra.
Poi addirittura gente che da una mail dice che le password sono scritte in chiaro. Ridicolo! Non è proprio detto che sia così. Il limite degli otto caratteri può esserci per tanti motivi. Inoltre la password potrebbe essere tranquillamente criptata con un algoritmo simmetrico, di certo questo non lo si può dedurre da una mail automatica.
by Maxkava
05 Nov 2013 at 14:01
[non so come chiamarti, essendo anonimo… pur uscendo con IP Alitalia] Non è così: se la password che scegli è lunga 9 o 10 caratteri, e li metti tutti mentre fai login, non funziona. DEVI mettere solo i primi 8 caratteri, indipendentemente dalla lunghezza della password scelta. La mail lo spiega, ma soprattutto se vuoi prova e scoprirari da solo che è come scrivo io.
Il che porta da un lato a potenziali problemi di sicurezza (che avrai letto nei commenti tecnici di chi ne sa più di me), dall’altro al creare inutili problemi all’utente. se hai bisogno di una password di 8 caratteri (legacy?), scrivili: ‘esattamente 8 caratteri’ è diverso da ‘almeno 8 caratteri’… il fatto che esistano altre aziende (per curiosità, quali? un paio di nomi?) che lo fanno non ne fa una buona pratica no?
by blabla
05 Nov 2013 at 14:29
Bravo, sono bravo con i proxy. Ma puoi tenertelo anche per il whois del mio ip eh… (vorrei che venga cancellato, grazie). Se ti fa piacere puoi chiamarmi “blabla”
Poi perché mai dovrei scrivere a te quali sono i problemi legati alla scelta di 8 caratteri o meno? Che ne sai qual’è il sistema che c’è dietro e quali sono le scelte fatte dalle persone (nel bene o nel male).
Inoltre non sto qui ad elencare a te quali altri siti usano le stesse policy, ti ho fatto alcuni esempi e sono sufficienti. Per gli altri basta navigare un po’ su internet e vedrai che ne troverai a bizzeffe.
Tutti i siti bancari hanno credenziali con un numero di caratteri limitati (se non proprio esattamente x caratteri), perché dietro c’è del codice legacy che costerebbe milioni smantellare, quindi si sceglie di limitare il cliente nella scelta. Questo non significa che le banche salvino in chiaro le password come hanno scritto gli esperti più bravi di me (ah ah ah).
In ogni caso il problema non è nel criticare qualcosa, il problema sta nel dare giudizi senza conoscere la materia e purtroppo è una cosa diffusa in italia.
Tutto qui, niente di che. Non volevo mica offenderti, ma post del genere dovresti farli tutti i giorni, per questo lo trovo inutile.
by blabla
05 Nov 2013 at 14:32
p.s. Non lavoro ne con chi ha fatto il sistema ne per chi ha fatto il sistema, ma essendo uno del campo so i problemi che ci sono e mi da fastidio che qualcuno dica delle cose senza senso.
Senza contare che “l’informatico” spesso e volentieri non ha neanche voce in merito sulle scelte fatte da qualcuno “più in alto”.
by Maxkava
05 Nov 2013 at 14:47
[caro anononimo,] io ho esposto un semplice fatto: un sistema e-gov di una città all’avanguardia (?) ti lascia registrare con una password di lunghezza indefinita (= la sceglie l’utente da 8 caratteri in su), ma poi se la usi non funziona. perchè funzioni, l’utente deve mettere solo le prime 8 *indipendentemente* dalla lunghezza scelta in fase di registrazione. Il che, ovvio, genera errori su errori perchè non c’è scritto da nessuna parte.
Il che porta al dire che il sistema è progettato male. Basterebbe, se 8 caratteri è l’unica lunghezza consentita (per qualsiasi ragione), *impedire* in fase di registrazione di scegliere una lunghezza diversa da 8.
NON conosco sistemi bancari che ti lasciano scegliere la lunghezza della password ma poi senza dire nulla ti obbligano a mettere tot caratteri (e se metti la password scelta non funzionano). Ne conosco che ti dicono ‘password di tot caratteri’ in fase di registrazione, e il cliente lo sa.
ps: quali sono le cose ‘senza senso’ che ci sono scritte nel post?
by blabla
05 Nov 2013 at 14:56
Ok, hai ragione lei.
L’italia non è un paese per informatici.
Grazie dell’attenzione.
p.s. Sto aspettando che cancelli il whois del mio IP visto che è una cosa privata e vorrei che se lo tenga per lei (che è il gestore del sito) e non lo scriva in chiaro sui commenti. Grazie
by Maxkava
05 Nov 2013 at 17:33
[non trovo dove sia pubblicato l’IP da cui arrivano i post anonimi; Alitalia ha un range vasto non rconducibile ad una sola persona]
by mfp
07 Nov 2013 at 09:12
Minchia che ariaccia che tirate… e io che pensavo di essere imbattibile nel litigare…
Tecnicamente parlando mi sembra che abbia ragione Napolux, l’unico cioe’ che prende in seria considerazione la sicurezza sistemica e per questo fa delle ipotesi che non sono esplicitate nella risposta dell’operatore.
Dal punto di vista di un informatico infatti, una password DEVE essere un hash salato affinche’ neanche gli operatori del sistema con il piu’ alto livello d’accesso, e gli intercettatori (governativi o meno), siano in grado di conoscere la password di un utente (e quindi impersonificarlo; la password infatti e’ la conferma dell’identità dichiarata con il nome utente).
In teoria cioe’ la password dovrebbe essere una stringa varia piu’ lunga possibile. Per “varia” intendo “con meno ripetizioni possibile” (perchè per le combinazioni e le permutazioni esiste un massimo di combinazioni possibili sensibilmente diverso, senza ripetizioni di caratteri e’ cioè mooolto piu’ difficile azzeccare per tentativi) e quindi formata da un alfabeto piu’ ampio possibile (“abc…123…:;,?’…”).
Questo perchè quando poi vengono fatte le operazioni di hashing (ovvero cifratura senza possibilità di decifratura), viene aggiunto il sale generato dal sistema e il risultato memorizzato nel database; a quel punto nessun operatore del database – ammesso che i dati di sessione, così come i bachi in libssl/vpn, e i terminali, non sono anch’essi sotto il suo controllo – puo’ fare porcate a nome di un utente, per lo meno non senza lasciare una incoerenza tra i dati di sessione (“tizio e’ entrato il giorno x”) e i dati nel database (“tizio ha 500 euro ma l’ultimo prelievo e’ del giorno x+1”, ovvero una operazione avvenuta dopo il suo ultimo accesso… c’e’ cioe’ un topo nel database che ha cambiato il saldo senza che l’utente titolare del conto accedesse al sistema).
La lunghezza della password insomma e’ “solo” una questione di robustezza; in teoria un sistema ben fatto dovrebbe chiedere all’utente solo i caratteri minimi necessari (per tutelare gli utenti pigri), la presenza di numeri e simboli addizionali, e poi sbrogliarsi da solo gli eccessi di zelo (ie: la password da 50 caratteri viene troncata a 20 prima di aggiungere il sale).
Volendo si possono costruire sistemi piu’ complessi e paranoici, ma se i politici legiferano su queste cose (che non conoscono, e al piu’ hanno consulenti giuridici e webmaster arrivati li’ via familismo, anche quello “sacrosanto” di prendere a lavorare gente in difficoltà per quanto non adatta al lavoro) non e’ possibile neanche sperare in una corretta informatizzazione anche in queste piccole faccende di vita quotidiana, e nonostante oggi ci siano milioni di persone in piu’ bendisposte in questo cambio di paradigma funzionale, rispetto agli anni ’90, ’80, etc…
Poi, vabe’, i pampini appena usciti dall’università sono piu’ facili da manipolare, pagare poco, far lavorare di piu’, etc.
C’e’ anche un problema diffuso di fiducia: io, per ovvi motivi di tempo/costo, non sono in grado di scrivere per intero un framework web per ogni lavoro da 500 euro, quindi mi appoggio su semilavorati pre-esistenti, e in genere senza neanche revisionarne il codice prima di rivendermelo al cliente che mi paga i 500 euro. Ma se il framework e’ bacato – es: perchè un’azienda paga dei sabotatori per sporcare il codice open source disponibile a chiunque – il risultato e’ questo in oggetto del post.
C’e’ poi una questione statistica: per fare un terminale testuale “a fosfori verdi” servono 5000 righe di codice, per fare il terminale iFigo servono 5 milioni di righe di codice… e’ semplicemente piu’ facile che, nonostante modelli di sviluppo molto rigidi e strumenti di auditing estremamente sofisticati, qualcosa vada storto…
Per questi motivi e altri sono state aggiunte le macchinette (pseudo OTP) per confermare le singole transazioni: nella peggiore delle ipotesi cioe’ qualcuno con la password puo’ vedere quanto hai in banca ma non puo’ spostarti i soldi perche’ non ha il codice dispositivo emesso dall’OTP in tuo possesso.
E per questi motivi sono state aggiunti degli OTP che impiegano la carta bancomat come password di sblocco dell’OTP stesso: anche nel caso in cui un qualche operatore malevolo interno alla banca, che ha accesso all’algoritmo inserito nel tuo OTP, impiega il suo livello di accesso per falsificare il tuo OTP e quindi, conoscendo la password, fare transazioni a nome tuo… non ha la tua carta da inserire nell’OTP che s’e’ fatto da solo in cantina… deve entrarti in casa e rubartela (o tagliarti il dito se al posto della carta ci sono le impronte digitali; volendo anche tagliarti la testa se al posto delle impronte digitali c’e’ il riconoscimento dell’iride; va un po’ meglio con la mappatura termica facciale perche’ i capillari smettono di essere caldi se ti staccano la testa… ma basta una giornata di diarrea per alterare il tuo viso dolorante al punto che il sistema non ti riconosce piu’).
Episodi personali: 10 anni fa comprai un e-ticket con Alitalia, arrivai all’aereoporto (FCO, Fiumicino, primo aereoporto di Roma, capitale d’Italia, non una pista sterrata in Congo) 90 minuti prima, e passai alla macchinetta a ritirare il biglietto cartaceo come da procedura indicata: non prendeva il mio doppio cognome (correttamente indicato sul web come da stampa che avevo alla mano), ne’ con lo spazio ne’ senza lo spazio tra le due parole; e non oso immaginare che cosa combinava con i cognomi accentati o apostrofati. Analogamente i geni che mi hanno messo sotto controllo l’email nel 2010 a seguito di una denuncia preventiva farlocca (che consente di violare i miei diritti costituzionali); nel 2012 ho scoperto – usando l’accesso POP3 una tantum perchè nel frattempo in Australia avevo l’NSA alle calcagna – che avevano sbagliato una regexp… le mie mail partivano con entrambi i cognomi e venivano memorizzate (e probabilmente arrivavano, o non arrivavano all’occorrenza) con un cognome solo.
Casi estremi: una signora s’e’ vista rifiutare l’erogazione della pensione mensile perchè il terminale diceva all’operatore delle poste che… era morta.
Problemi insomma di ben più grave entita’ del pagamento della mensa scolastica. Pero’ si, fa rodere il culo ugualmente.
Un’ultima nota: in Australia, paese per informatici, per me ha funzionato tutto alla perfezione. Pero’ e’ capitato anche – così diceva il giornale, ma non ho trovato testimoni – che i bancomat di una banca iniziassero a sputare denaro all’unisono in tutta Melbourne…