Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore: Prof. Fabio Vitali Lucia Melotti Correlatori: Ing. Piero De Sabbata Dott. Nicola Gessa 1/14 Bologna, 7 luglio 2004 Introduzione Lo scopo del mio lavoro di tesi è stato creare una applicazione Client - Web Service in grado di far comunicare in maniera sicura un client ebXML con un Web Service. La sicurezza della comunicazione è data dall’applicazione della firma digitale e della crittografia ai messaggi scambiati. Lucia Melotti 2/14 Bologna, 7 luglio 2004 MODA-ML (Middleware tOols and Documents to enhAnce the textile/clothing supply chain through XML) E’ un progetto che definisce un modello comune di scambio di informazioni di business tra aziende della filiera del Tessile/Abbigliamento. Offre alle imprese di questo settore sia un linguaggio comune basato su XML per la descrizione dei dati di business sia prototipi software che implementano i meccanismi di scambio dei dati. Utilizza XML come linguaggio comune per permettere alle aziende che utilizzano sistemi informativi non interoperabili di scambiarsi dati. Lucia Melotti 3/14 Bologna, 7 luglio 2004 Tecnologie SOAP: protocollo per lo scambio di informazioni in un ambiente distribuito o decentralizzato che utilizza HTTP. Avvalendosi di XML e HTTP garantisce una comunicazione semplice e leggera. ebXML: standard OASIS e UN/CEFACT basato su XML che definisce un modello per lo scambio di messaggi di e-business. Web Service: E’ un’interfaccia che descrive e fornisce servizi via rete, permettendo l’utilizzo di applicazioni distribuite attraverso uno scambio di messaggi basati su SOAP. XML Signature: standard W3C che consente di apporre firme digitali definendo una sintassi per la loro rappresentazione. XML Encryption: standard W3C che fornisce un metodo per cifrare/decifrare dati ed una sintassi per rappresentare il contenuto cifrato. Lucia Melotti 4/14 Bologna, 7 luglio 2004 Introduzione al mio contributo Comunicazione e sicurezza in MODA-ML Ieri Oggi Scambio di messaggi tramite l’MSH: Scambio di messaggi tramite: POSTA ELETTRONICA (SMTP) POSTA ELETTRONICA (SMTP) FIRMA DIGITALE E CRITTOGRAFIA Sicurezza garantita da: FIRMA DIGITALE CRITTOGRAFIA Sicurezza garantita da: Scambio di messaggi tramite: WEB SERVICE (HTTP) Sicurezza garantita da: FIRMA DIGITALE E CRITTOGRAFIA Lucia Melotti 5/14 Bologna, 7 luglio 2004 ebXML vs Web Service Security La comunicazione tra un Client MODA-ML ed un Web Service è ostacolata dall’incompatibilità del formato dei messaggi: Messaggi MODA-ML ebXML Message Service (std. OASIS/ISO 15000) Messaggi Web Service Web Service (W3C) + Web Service Security (std.OASIS) + Web Service Reliability (Draft) Necessità di un confronto tra le due specifiche per verificare: La possibilità di trasformare un messaggio ebXML in uno Web Service senza perdere informazioni La possibilità di applicare ai messaggi Web Service lo stesso grado di sicurezza presente nei messaggi MODA-ML (ebXML). Lucia Melotti 6/14 Bologna, 7 luglio 2004 Struttura del messaggio Web Service Il confronto tra le specifiche ha evidenziato la possibilità di trasformare i messaggi in diversi modi. Tra quelli possibili ho scelto quello più vantaggioso. Del messaggio ebXML viene mantenuto solo il payload che viene inserito nel boby come parametro. La nuova busta Web Service viene creata con le informazioni della busta ebXML. MODA-ML Web Service Busta WS Busta ebXML Body Payload Lucia Melotti Payload 7/14 Bologna, 7 luglio 2004 MODA-WAS (MODA-ML Web Service Application Security) Il contributo che ho dato al progetto MODA-ML, MODA-WAS, è costituito da tre parti: Un’applicazione dimostrativa stand-alone in grado di fungere da Client in una comunicazione con un Web Service. Un Web Service molto semplice che riceve richieste ed invia risposte compatibili con i file di documento MODA-ML. Una libreria disponibile sia al Client che al Web Service che permette di scambiare messaggi in maniera sicura. Azienda A Lucia Melotti ebXML ASP 8/14 WS WS Azienda B Bologna, 7 luglio 2004 Funzionamento di MODA-WAS Esempio di scambio sicuro di messaggi tra un Client MODA-ML ed un Web Service CLIENT WEB SERVICE ebXML WS WS Risposta Lucia Melotti Risposta Risposta 9/14 Bologna, 7 luglio 2004 Sicurezza e affidabilità Lo scambio di messaggi tra un Client Moda-ML ed un Web Service è reso sicuro dall’applicazione di firma digitale e crittografia, che garantiscono: Autenticazione Integrità Riservatezza Per rendere ancora più sicuro questo canale di comunicazione ho implementato anche due aspetti di affidabilità presenti in ebXML: Richiesta di acknowledgment Non ripudio Lucia Melotti 10/14 Bologna, 7 luglio 2004 Interfaccia Lucia Melotti 11/14 Bologna, 7 luglio 2004 Valutazioni Vantaggi tecnici apportati da MODA-WAS: Offre la possibilità di far comunicare in maniera sicura due partner commerciali che utilizzano tecnologie differenti. MODA-WAS essendo un intermediario che opera da traduttore, consente ad ogni partner di continuare ad utilizzare esclusivamente la tecnologia che già conosce. Lo scambio di messaggi tramite Web Service permette a MODA-ML la comunicazione sincrona, cosa che non era possibile ottenere mediante l’utilizzo della posta elettronica. Il nuovo canale di comunicazione non è sostitutivo, ma è parallelo a quello basato sul protocollo SMTP fino ad ora in uso. Lucia Melotti 12/14 Bologna, 7 luglio 2004 Conclusioni MODA-WAS permette di passare da ebXML a Web Service senza perdere informazioni o diminuire il grado di sicurezza. Il nuovo canale di comunicazione, che ha come destinatari i Web Service, porta MODA-ML ad essere più interoperabile e aumenta notevolmente il numero dei suoi potenziali utilizzatori. La possibilità di veicolare i messaggi tramite un intermediario permette di comunicare con aziende che adottano i Web Service come interfaccia di comunicazione e di interagire con centri di servizi o con portali Web Service. Tutto questo facilita la creazione di reti interaziendali per il B2B che integrano tra loro sistemi completamente indipendenti. Lucia Melotti 13/14 Bologna, 7 luglio 2004 Sviluppi futuri Estensione dell’applicazione MODA-WAS in modo tale che sia in grado di prendere in input anche messaggi ebXML già firmati e cifrati. Possibilità per gli utenti MODA-ML di ricevere messaggi di richiesta dai Web Service. Questa modifica renderà completamente bidirezionale la comunicazione tra i client MODA-ML ed i Web Service. Lucia Melotti 14/14 Bologna, 7 luglio 2004 Struttura del messaggio Web Service MODA-ML Busta ebXML Payload Web Service Busta WS Body MODAML L’applicazione prende il messaggio così com’è e lo inserisce tutto in un messaggio di tipo Web Service, più precisamente viene inserito nel body come parametro, sotto forma di stringa. MODA-ML Web Service Busta ebXML Busta WS In questo caso il messaggio ebXML viene aggiunto al messaggio Web Service come attachment, cioè come parte MIME e quindi esternamente alla busta. MODA-ML Busta ebXML Payload Lucia Melotti Payload MODA-ML intero Web Service Busta WS Body Payload Del messaggio ebXML viene mantenuto solo il payload che viene inserito nel boby come parametro. Viene creata una nuova busta Web Service con le informazioni della busta ebXML. 15/14 Bologna, 7 luglio 2004