Università di Genova Genova, marzo 2006
Introduzione (1) La protezione dei web services è un argomento di grande interesse; in particolare la WS-Security, uno standard OASIS che facilita la descrizione dei meccanismi di sicurezza Fine: garantire l integrità e la confidenzialità dei messaggi usati nei web- services. L aspettativa è che la tecnologia aiuti la scienza medica ma anche la stessa distribuzione dell Assistenza Sanitaria ediamond (Digital Mammography National Database) è un esempio di questo progetto di distribuzione della Assistenza ste Sanitaria a Università di Genova - Facoltà di Ingegneria
Introduzione (2) Requisiti fondamentali: Confidenzialità e protezione dei dati Architettura base: creazione di un servizio di accesso sicuro agente come un custode per il web service da proteggere. Il Servizio di accesso è già un web service ed è parte di un sistema globale provvisto di consistenti meccanismi per l autenticazione, i il trasferimento sicuro dei messaggi ed il controllo dell accesso. Università di Genova - Facoltà di Ingegneria
Motivazione (1) Scopo fondamentale di ediamond: sviluppare un prototipo per un database nazionale di mammografie, unito ad alcune applicazioni dimostrative, in sintonia con le pratiche di lavoro dell BSP (Programma di monitoraggio del seno). Requisito desiderabile per tale sistema: la facilitazione offerta da queries distribuite in un modello sicuro in accordo conla politiche i di controllo dell accesso accurate e flessibili. Università di Genova - Facoltà di Ingegneria
Motivazione (2) Il sistema centrale di ediamond consiste nell immagazzinamentoi middleware e virtualizzato it t di immaginii i mediche allo scopo di supportare il concetto di data grid. Grid di ediamond: formata da organismi partecipanti che si accorpano in un organizzazione virtuale unendo i loro databases individuali come unasingola risorsa logica. Università di Genova - Facoltà di Ingegneria
Motivazione (3) La piattaforma ediamond si sviluppa nella prospettiva di soddisfare un certo numero di applicazioni, prime tra queste, gli studi epidemiologici e l assistenza sanitaria centrata sul paziente. Si immagini la correlazione tra un deposito nazionale di raccolta di mammografie e un database di pazienti impiegata come risorsa inestimabile per gli studi sulle tendenze della malattia del cancro. Università di Genova - Facoltà di Ingegneria
Web services (1) Il termine generico Web Services è qui impiegatoi per descrivere i mezzi di integrazione delle applicazioni su web che fausodi XML, SOAP, WSDL e UDDI. Un architettura base di web service viene rappresentata nella figura 1. Università di Genova - Facoltà di Ingegneria
Architettura di web service Università di Genova - Facoltà di Ingegneria
Web services (2) SOAP: è un protocollo leggero che puntella tutte le interazioni tra i web services. SOAP utilizza XML per definire una intelaiatura estendibile dei messaggi. SOAP scambia informazioni usando messaggi, che sono una sorta di busta nella quale l applicazione racchiude qualunque tipo di informazione che deve essere inviata. La busta (envelope) è formata da un titolo (header) opzionale ed da un corpo (body). Università di Genova - Facoltà di Ingegneria
Web services (3) WSDL: definisce una grammatica XML per descrivere i servizi di network come collezioni di punti finali della comunicazione in grado di scambiare messaggi. I documenti WSDL contengono i seguenti elementi: porttypes (descrive le operazioni compiute dal Web service), messages (descrive il messaggio), types (descrive i tipi di dati usati) e binding (definisce i protocolli di comunicazione usati dl dal web service). Università di Genova - Facoltà di Ingegneria
Web services (4) UDDI: è una directory per immagazzinare informazioni in merito ai i web services services. UDDI: specifica le strutture di dati per descrivere e trovare i web services. In particolare specifica gli API per la pubblicazione delle descrizioni dei servizi nel registro e per la ricerca nel registro di quelle pubblicate.
Protezione dei Web Services (1) In generale, e e, la protezione pote o edei web services comporta la creazione di una sorta di web di inviluppo Si adotta un proxy SOAP che minimizza il tempo di sviluppo di trasmissione. proxy invia tutti i messaggi SOAP diritto attraverso il web proxy invia tutti i messaggi SOAP diritto attraverso il web service senza cambiarne il contenuto.
Protezione dei Web Services (2) Autenticazione dei clienti: con un web di inviluppo, si utilizza il system wide authentication. Invio di messaggi sicuro: security zone. local security zone e system Controllo di accesso: è essenziale il che ciascun nodo localel abbia l abilità di mantenere il controllo locale sui suoi dati e, in particolare, predisporre le sue proprie politiche di controllo di accesso.
Protezione dei Web Services (3) Registri: immagazzinamento di informazioni circa la allocazione dei servizi (registro UDDI). Referenze: un registro è soltanto un modo in cui una referenza ad un servizio ii esistente it t può essere ottenuta. t
Architettura ediamond Sebbeneidatisianotrattaticomeunsingolo data set, si tratta in realtà di una federazione di singoli data set. Il servizio OGSA DAI può interagire con i set di dati federati come se fossero singole sorgenti di dati.
XACML (1) Si trattatt di uno standard d OASIS che consente di descrivere, in termini i di XML, due linguaggi per una particolare applicazione. Primo linguaggio: gg il linguaggio gg policy è usato per descrivere le caratteristiche generali richieste per il controllo di accesso. Secondo linguaggio: il linguaggio di richiesta/ risposta consente di costruire una query per determinare se una determinata azione sia essere permessa. La richiesta viene inviata ad un PDP (policy decision point) che la analizza e determina una policy chesiapplica a quellarichiesta. Una policy può avere un certo numero di regole. Alla base di gran parte delle regole vi è una condizione, che è una funzione booleana.
XACML (2) All interno del documento di richiesta devono esistere valori di specifici attributi che devono essere confrontati con i corrispondenti valori di policy del documento al fine di determinare se l accesso debba essere consentito. Policy set: può contenere policies multiple e, a loro volta, le policies possono contenere regole multiple, ciascuna delle quali determina il valore di differenti decisioni di controllo di accesso. Ciascun algoritmo rappresenta un differente modo di combinare decisioni multiple in una singola decisione di autorizzazione. Quandoil PDP confronta i valori di attributo contenuti nel documento di richiesta con quelli contenuti nella policy o nel documento di policy set, viene generato un documento di risposta.
Modello di sicurezza standard per OGSA DAI Il meccanismo standard per proteggere le griglie informatiche si basa sul Globus Toolkit ed è il GSI. GSI usa la chiave crittografica pubblica come base per la propria funzionalità ed include il supporto per standards come la WS Security, l Encryption XML e la Signature XML. Motivazioni base per il GSI: il bisogno di una comunicazione sicura tra elementi di una griglia computazionale il bisogno di supportare sicurezza attraverso confini di tipo organizzativo, il che impedisce un sistema di sicurezza gestito a livello centrale. il bisogno di supportare singoli sign on pergliutilizzatoridiuna griglia, includendo la delega di credenziali per calcolazioni che coinvolgano risorse multiple e/ o siti.
Discussione E un approccio alla facilitazione di un ampio sistema della sicurezza che fornisce il potenziale per consentire il controllo di accesso fine all internodi allinternodi sistemi doveweb Servicesdi terzi sonoimpiegati. Si confrontano approcci alternativi basati su proxies SOAP generici: la flessibilità addizionale dell uso di un servizio wrapping, consente la protezione di un più ampio spettro di web services rispetto al caso di un generico SOAP proxy. Si noti che i grid services OGSA DAI presentano un pattern di utilizzo molto più complesso di molti web services. Le operazioni fatte su documenti contenenti attività multiple sono più problematiche.
Sviluppi futuri Si vuole estendere ed utilizzare questo approccio nel contesto di nuovi progetti. Si anticipa l adozione di questo tipo di ricerca con domini anchediversi daquello della Sanità. Compito importante:restringere e modificare SQL in modo tale che le queries si comportino in accordo alle policy globali e locali. Questione affrontata: lo sviluppo di metodi appropriati per controllare la consistenza di combinazioni di policies di controllo di accesso multiple.