I dubbi sulla tecnologia del Sistema di Interscambio (Fattura Elettronica)
Essendo l’Italia detentrice del Guinness World Record per le catastrofi tecnologiche, dalla Posta Elettronica Certificata (PEC) ai vari down dei siti istituzionali durante elezioni e censimenti, non ho potuto sottrarmi dal dedicare le mie attenzioni a Sistema di Interscambio e Fattura Elettronica.
Tutto è iniziato quando mi sono trovato sommerso nella valanga di commenti negativi di utenti che segnalavano problemi tecnici e di sviluppatori che si lamentavano della complessità di implementazione e del basso livello di qualità delle API del SdI. Dopo aver passato qualche serata a studiarne le specifiche (pubblicate qui), mi sento di condividere i dubbi sulla qualità dell’implementazione, dell’infrastruttura e della gestione di quest’ultimo.
Vi starete chiedendo il perchè, immagino. Le osservazioni più rilevanti, in ordine sparso, sono:
- Le API si basano su SOAP+XML, uno standard superato dal molto più diffuso REST+JSON. Non si tratta solamente di una questione estetica: l’utilizzo di tecnologie obsolete scarica sugli sviluppatori che devono utilizzare queste API una complessità che non potrà che crescere nel tempo. Utilizzare librerie deprecate o poco supportate e standard non più ampiamente utilizzati significa diventare parte di una nicchia, con svantaggi e problemi facilmente immaginabili.
- I template WSDL pubblicati contengono URL come http://servizi.fatturapa.it/ e http://www.fatturapa.it/): tutte in chiaro, nessuna traccia di HTTPS. Va detto che un redirect verso HTTPS lo effettuano, ma questo modo di procedere lascia comunque aperti vari scenari di attacco Man in The Middle. Potrebbe trattarsi di semplici segnaposto, ma anche se fosse, per quale motivo diffondere dei template che contengono simili oscenità?
- Gli endpoint SOAP non sono protetti da una CDN che possa permettere di bloccare flooding e attacchi più sofisticati che malintenzionati potrebbero lanciare contro la piattaforma: si possono solo immaginare gli effetti catastrofici che l’indisponibilità del SdI avrebbe sull’economia dell’intero paese (parlavo giusto qualche giorno fa di come realtà quali Netflix e Spotify siano più resistenti di molte infrastrutture critiche nazionali).
- I frontend, some se non bastasse, sono tutti all’interno dello stesso range di IP, annunciato da AS33964 (Sogei) a due soli carrier prettamente nazionali, Fastweb e BT Italia.
Sia chiaro: queste scelte potrebbero avere serie motivazioni alle spalle, e non possiamo valutarle come “sbagliate” a priori e dal nostro punto di osservazione esterno. La loro distanza dalla pratica comune però garantisce il diritto, il dovere quasi, di fare delle domande e metterle sotto la lente, per assicurare siano la scelta migliore per tutti noi.
Un tema che è importante discutere è infatti quello della trasparenza (trattasi pur sempre di Pubblica Amministrazione, che lavora con i soldi dei cittadini e per i cittadini). Mentre le segnalazioni di difficoltà e ritardi nell’elaborazione non si fermano (basta fare una ricerca sui social media), ad esempio, l’Agenzia delle Entrate diffonde comunicati stampa in cui sostiene che:
“sul sistema di interscambio sono già transitate quasi un milione e mezzo di fatture elettroniche senza che il partner tecnologico Sogei abbiano (sic.) rilevato alcun problema tecnico”
Il valore di una simile affermazione è nullo se non contestualizzato: non serve a niente sapere quante sono le fatture processate se non sappiamo quante ne sono invece fallite, quante sono quelle emesse lo scorso anno nello stesso periodo con metodo cartaceo, qual è il tempo medio di elaborazione, etc.
Molti interrogativi ma poche risposte, quindi. Per trovarle abbiamo riunito alcuni dei professionisti che si erano espressi sulla piattaforma e inviato sia all’Agenzia delle Entrate che a Sogei una Istanza di Accesso Civico Generalizzato (FOIA), richiedendo copia dei documenti relativi a progettazione, sicurezza e manutenzione del SdI.
L’intenzione, una volta entrati in possesso di questi documenti, è quella di studiarli e avviare un dibattito aperto sui punti sopra espressi e quanto di nuovo dovesse emergere: è responsabilità di tutti noi. Vi terremo aggiornati.
UPDATE: qui trovate la seconda parte di questa odissea.
(per domande, richieste varie o se volete contribuire, potete contattarmi qui o su Twitter)