Denizione e valutazione di uno schema di prova di possesso dei dati. (Sintesi)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Denizione e valutazione di uno schema di prova di possesso dei dati. (Sintesi)"

Transcript

1 Facoltà di scienze matematiche siche e naturali Corso di Laurea Magistrale in Matematica Tesi di Laurea Magistrale in Matematica Denizione e valutazione di uno schema di prova di possesso dei dati (Sintesi) Relatore: Prof. Roberto Di Pietro Candidata: Emanuela Iacobone mat Correlatore: Prof. Agustin Orla Anno Accademico 2011/2012

2 Introduzione Il Cloud Computing è al giorno d'oggi una parola molto usata nell'information Technology. Aziende come Amazon, Google e altre, stanno cercando di accelerare il passo nello sviluppo e nel miglioramento dei loro sistemi di Cloud Computing per fornire i loro servizi ad una maggiore quantità di utenti. Questo recente rapido aumento della fruibilità dei servizi Cloud insieme ai molti vantaggi derivanti dal suo utilizzo, rendono tali servizi attraenti ed economicamente convenienti. La loro adozione da parte di un numero sempre crescente di utenti ha portato ad un aumento del volume di dati memorizzati nei Cloud; si è cominciato dunque a sentire l'esigenza di implementare nuove tecniche che permettano di risparmiare spazio di memoria e larghezza di banda. Una promettente idea in questo contesto è la deduplication: con questo termine si indica quel processo che permette di evitare di dover memorizzare uno stesso dato più volte. La sua eettiva utilità è evidente dal fatto che spesso grandi quantità di dati mostrano un'alta ridondanza: ne sono un esempio i documenti nanziari, che hanno intestazioni comuni e campi semi-identici, oppure i contenuti multimediali più popolari, come musica e video, che aspirano ad essere posseduti da molti utenti. Alquanto semplice in teoria, l'implementazioni delle tecniche di deduplication introduce nuovi rischi riguardo la sicurezza. Harnik et al. [1] hanno identicato alcune delle possibili minacce che possono interessare un sistema Cloud Storage che si avvale di queste tecniche: oltre a compromettere la privacy e la condenzialità degli utenti del sistema, alcuni possibili attacchi sono in grado di sovvertire l'uso previsto per un sistema Cloud Storage, trasformandolo ad esempio in un Content Distribution Network (CDN). Un attacco di quest'ultimo tipo è stato realmente messo in atto, solo qualche anno fa, da Wladimir van der Laan contro uno fra i più popolari servizi di Cloud Storage, Dropbox; van der Laan ha creato un progetto open source, chiamato Dropship 1

3 [2], che consentiva agli utenti di scaricare contenuti dal server Dropbox pur non avendoli eettivamente mai posseduti. Il progetto è stato poi però ritirato dopo che il co-fondatore di Dropbox lo ha richiesto in un modo davvero civile. Per evitare attacchi di questo tipo, Halevi et al. [3] hanno introdotto la nozione di Proof of Ownership (POW), un protocollo di sicurezza che permette al sistema di autorizzare il ripristino di un determinato le solo agli utenti che eettivamente si sono dimostrati i reali possessori dello stesso. In questa tesi introdurremo e presenteremo un nuovo schema di proof of ownership e lo compareremo con i due precedentemente introdotti da Halevi et al. [3] e Di Pietro, Sorniotti [4]. La peculiarità del nostro schema riguarda l'utilizzo di una struttura dati probabilistica che, introdotta più di quarant'anni fa, ha avuto n da allora un notevole successo nelle applicazioni database: il ltro di Bloom. Nel corso del lavoro verranno descritte e confrontate fra loro le implementazioni di tutti e tre gli schemi di POW menzionati, insieme alla complessità computazionale, l'i/o, la quantità di memoria e la larghezza di banda necessarie per eseguire l'intero protocollo. L'analisi comparativa delle tre soluzioni verrà eettuata sia in maniera formale che avvalendosi dei tempi di esecuzione misurati nei test condotti utilizzando le implementazioni in linguaggio C++ dei tre schemi. 1 Cloud Computing e Cloud Storage Nonostante negli ultimi anni il Cloud computing è l'argomento di IT del quale si è più scritto, discusso e parlato, rimane tuttavia molta confusione riguardo a cosa esattamente esso sia. Società di analisi, docenti universitari, operatori del settore e aziende di IT, hanno fornito denizioni diverse di Cloud computing [5]. La denizione data dal National Institute of Standards and Technology (NIST) 2

4 è la seguente: Denizione. Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of congurable computing resources (e.g., networks, servers, storage applications and services) that can be rapidly provisioned and released with minimal management eort or service provider interaction. La Berkeley RAD Lab dà una denizione più precisa riguardo a cosa il termine Cloud Computing si riferisce: indica sia le applicazioni fornite come servizi su internet sia i sistemi hardware e software nei data center che forniscono tali servizi; il data center hardware e software è detto Cloud [6]. Il Cloud Computing è quindi un grande pool di risorse virtualizzate di facile accesso e utilizzo, che possono essere dinamicamente ricongurate per adattarsi ad un carico variabile consentendo dunque in questo modo un ottimale utilizzo delle risorse. Poichè l'accesso alle risorse da parte dell'utente avviene solo con l'aiuto di internet e di un browser, la fruizione delle stesse è indipendente dal dispositivo utilizzato dall'utente o dalla sua posizione. Inoltre, dato che le infrastrutture alle quali si accede sono fornite da terze parti, l'utente le utilizza senza conoscerne le caratteristiche di dettaglio e senza occuparsi della loro gestione; la manutenzione è più facile e i costi per gli utenti sono ridotti proprio perchè le applicazioni non devono essere installate sui computer personali degli utenti. La modalità pay-per-use utilizzata, permette di misurare l'uso delle applicazioni per client su basi regolari; ed in più la condivisione sia dei costi che delle risorse tra un elevato numero di utenti, consente un utilizzo eciente delle infrastrutture. Il Cloud Storage ore agli utenti la possibilità di memorizzare i propri dati su uno spazio di archiviazione on-line scalabile ed elastico gestito da terzi, accessibile tramite la rete. Al suo livello più elementare, un sistema di Cloud Storage necessita solo di un le system connesso a Internet. Un cliente (ad esempio, un utente di computer 3

5 abbonato ad un servizio Cloud Storage) invia delle copie di alcuni le su Internet al server, che le memorizza. Quando il cliente desidera recuperare questi dati, accede al server attraverso un interfaccia Web-based. Il server puo' allora o inviare i le al cliente o consentire a questo di accedere e manipolare i le sul server stesso. L'utilizzo del Cloud Storage ha notevoli vantaggi dal punto di vista dei costi, della gestione e della qualità del servizio oerta: permette di semplicare drasticamente il mantenimento degli hardware, dei software e in generale delle infrastrutture che supportano l'archiviazione di dati, con la conseguente riduzione dei costi di gestione e del personale addetto; le soluzioni Cloud-based, inoltre, sono essibili e forniscono il necessario spazio di archiviazione. Dal punto di vista della sicurezza, il sistema di Cloud Storage ha però inevitabilmente creato nuove pericolose minacce per una serie di ragioni, che riguardano per lo più la sua architettura e il suo funzionamento, e per le quali sono state proposte diverse tecnologie in grado di fronteggiarle e sconggerle [7]. 1.1 Deduplication Nonostante le suddette questioni relative alla sicurezza, c'è stato negli ultimi tempi un rapido incremento nell'utilizzo del servizio di Cloud Storage, con un conseguente aumento del volume di dati memorizzati. Si è iniziato dunque a sentire l'esigenza di implementare nuove tecniche che permettano di risparmiare spazio di memoria e larghezza di banda. Una centrale e promettente idea in questo contesto è la deduplication: sono tecniche che permettono di memorizzare solo una singola copia dei dati ridondanti. La sua ecacia dipende da fattori quali il tipo di dato, il periodo di conservazione e il numero di utenti. Le strategie di deduplication si possono classicare a seconda delle unità dati di base che trattano [1]; si distingue la le-level deduplication, nella quale sono le 4

6 singole copie di le ad essere memorizzate, dalla block-level deduplication, in cui i le vengono suddivisi in blocchi ed è una sola copia di ogni singolo blocco ad essere salvata. Un'altra classicazione può essere fatta in base a dove si verica la deduplication; si parla di source-based o client-side deduplication se viene eseguita dal lato dell'utente, prima cioè che il dato venga trasferito: il software dell'utente comunica con il sistema, inviandogli un piccolo valore che identica il dato, per vericare l'esistenza o meno del le o del blocco nella memoria del sistema; se il le o blocco è già presente, il sistema lo sostituisce con un puntatore, e non è quindi necessario inviarlo sulla rete. Si parla invece di target-based o server-side deduplication se avviene dal lato del sistema; con questo approccio l'utente resta ignaro della eventuale deduplication che potrebbe vericarsi. Alquanto semplice in teoria, l'implementazione di questa tecnica presenta però molti rischi legati alla sicurezza. In [1], Harnik et al. hanno identicato e descritto alcune delle possibili minacce che potrebbero interessare un sistema Cloud Storage che esegue la client-side deduplication Proof of Ownership Uno dei rischi più gravi riguardo la sicurezza dovuto all'utilizzo della tecnica del client-side deduplication, deriva dal fatto che la dimostrazione che un utente possegga un dato le è basata unicamente su un piccolo valore (solitamente l'hash di quel le), la cui conoscenza automaticamente garantisce all'utente l'accesso all'intero le. Per evitare questo tipo di attacco, in [3], Halevi et al. hanno introdotto la nozione di Proof of Ownership (POW), un protocollo di sicurezza che permette al sistema di vericare (con un certo grado di garanzia) se l'utente possiede l'intero le o meno. Il protocollo di POW è un protocollo che si svolge tra client e server, su un le in input comune, e funziona in questo modo: in primo luogo il server agisce 5

7 sul le in input applicandogli una funzione di hash, il cui digest utilizzerà come identicatore del le, e generando poi una (piccola) informazione per la verica v. Successivamente, quando un client chiede di caricare un le che il server ha accertato di possedere già (utilizzando il digest inviatogli dal client), server e client avviano un protocollo interattivo, nel quale il client è in possesso del le mentre il server ha solo l'informazione v, al termine del quale il server accetta o riuta. Halevi et al. [3] hanno introdotto il primo pratico protocollo crittograco che implementa il POW. Successivamente Di Pietro e Sorniotti [4] hanno presentato un nuovo schema di Proof of Ownership più eciente del primo dal punto di vista delle performance sul lato del cliente, e la cui sicurezza, a dierenza del suo predecessore, deriva esclusivamente dalla teoria dell'informazione. Noi introdurremo ora un ulteriore schema di POW e lo confronteremo con i due precedenti per mostrarne le qualità e i punti di forza. 2 Gli schemi b-pow e s-pow 2.1 b-pow: algoritmo e sicurezza Halevi et al. [3] hanno presentato tre schemi che implementano il protocollo di POW, i quali dieriscono in termini di ecienza e sicurezza. Tutti e tre prevedono che il server sdi il client a presentare dei sibling path validi per un sottoinsieme di foglie di un albero di Merkle [8], scelte in modo random dal server. Sia il client che il server costruiscono l'albero di Merkle; il server memorizza solo la radice dell'albero e sda i client che aermano di possedere il le. La dimostrazione della sicurezza nell'utilizzo del protocollo di prova dell'albero di Merkle, appena descritto, si basa sul Lemma dell'albero di Merkle (per il cui enunciato e dimostrazione si rimanda all'appendice in [3]). Il Lemma aerma 6

8 che chiunque superi con successo questo protocollo, con un alta probabilità puo' essere convertito in un estrattore che è in grado di estrarre la maggior parte delle foglie dell'albero. L'albero di Merkle è costruito su un buer, il cui contenuto viene derivato dal le, e pre-processato in tre dierenti modi per i tre diversi schemi presentati. Il primo schema applica sul contenuto del le originale un erasure code; sul le codicato viene poi costruito l'albero di Merkle. Il secondo schema, invece, pre-processa il le con una funzione di hash universale che, applicata sull'intero le, genera un output che va a riempire un buer ridotto intermedio, la cui dimensione è abbastanza grande da scoraggiarne lo scambio tra client maliziosi, ma non così tanto da renderlo non pratico: gli autori hanno stabilito una dimensione di 64 MiB. Il buer ridotto ottenuto viene poi usato come input per la costruzione dell'albero di Merkle. Il terzo schema, che è quello con cui confronteremo la soluzione presentata in questa tesi, segue lo stesso approccio, ma sostituisce la funzione di hash universale con una procedura che prevede una fase di riduzione e di miscelazione in grado di generare un buon hash sul buer ridotto intermedio, utilizzato poi per costruire l'albero di Merkle. Nel resto della tesi ci riferiremo a questo schema utilizzando la sigla b-pow. Questo schema ha due fasi: la prima fase (reduction) popola il buer ridotto XORando ogni blocco, in cui il le viene diviso, in quattro posizioni scelte in modo random nel buer (dopo aver eseguito uno shift di bit). La fase successiva di mixing amplica la confusione e diusione nel buer ridotto XORando insieme i contenuti delle posizioni nel buer, scelte in modo random. A dierenza dei due schemi precedenti, gli autori sono in grado di provare la sicurezza del terzo schema solo per un numero ristretto di distribuzioni in input e sotto un'ipotesi sul codice che si ottiene dopo la trasformazione. 7

9 2.2 s-pow: algoritmo e sicurezza In [4], R. Di Pietro e A. Sorniotti hanno presentato un nuovo schema di Proof of Ownership che è più eciente del suo predecessore dal punto di vista delle performance; l'i/o e i costi computazionali non dipendono dalla grandezza del le in input ed inoltre, a dierenza dello schema b-pow, la sua sicurezza deriva esclusivamente dalla teoria dell'informazione. Ci riferiremo a questo schema usando l'acronimo s-pow. L'idea di base sul quale poggia lo schema s-pow, è che la probabilità che un utente malintenzionato è in grado di produrre il valore corretto di K bit del le, con ogni bit scelto in una posizione casuale del le, è trascurabile nel parametro di sicurezza k (se si assume un limite superiore al sottoinsieme di bit del le conosciuti dall'attaccante). La soluzione proposta dagli autori, consiste di due fasi separate. Nella prima fase, il server riceve il le per la prima volta e pre-computa le risposte per un numero di sde POW relative al le. Per la considerazione su esposta, la risposta ad una sda sarà una stringa di bit di dimensione K, costruita con la concatenazione dei K bit del le originale, presi nelle K posizioni casuali. La computazione delle sde POW per un dato le è eettuata sia quando viene richiesto di caricare il le che non è ancora presente tra quelli memorizzati dal server, ma anche quando la riserva di risposte alle sde calcolate in precedenza si esaurisce. La seconda fase è attivata dal client quando invia al server un identicatore univoco per un le di cui desidera dimostrarne il possesso. Il server sceglie una sda ancora inutilizzata tra quelle pre-computate per quel le e la invia al client; il client calcola la risposta in base alla sua conoscenza del le e la invia al server. Il server quindi controlla se la risposta ricevuta dal client coincide con quella pre-computata. Nell'analisi della sicurezza dello schema s-pow, gioca un ruolo il limite su- 8

10 periore della frazione di le conosciuta dall'attaccante. Assumendo che il client malizioso non possieda il le nella sua interezza, nella loro analisi gli autori hanno ipotizzato che la frazione di le conosciuta dall'attaccante sia pari a p = (1 ε). Analizzando una sda su un singolo bit proposta dal server, hanno ipotizzato il vericarsi di due casi: o il bit richiesto appartiene alla porzione di le conosciuta dall'attaccante (evento ω), il che puo' accadere con probabilità P (ω) = (1 ε), oppure, in caso contrario, l'attaccante tirare ad indovinare avendo una probabilità di successo pari a g. Con queste premesse si ha dunque che la probabilità di successo dell'attaccante nella sda su un singolo bit lanciata dal server (P (succ 1 )), assumendo ε > 0 è pari a: P (succ 1 ) = P (succ 1 (ω ω) = 1 ε(1 g) Tuttavia l'attaccante deve confrontarsi con K sde, ognuna i.i.d. rispetto alle altre; quindi la probabilità che l'attaccante riesca a passare la sda con successo è: P (succ) = (1 ε(1 g)) K (1) da cui un valore appropriato per il parametro K puo' essere facilmente dedotto come: K = k ln 2 ε(1 g) Con l'obiettivo di migliorare l'ecienza dello spazio utilizzato, nell'implementazione dello schema s-pow, gli autori hanno calcolato i seed per generare le sde utilizzando il server master secret; questa scelta gli ha precluso il raggiungimento della sicurezza incondizionata che puo' essere però semplicemente ottenuto, come hanno fatto notare, generando per ogni nuova sda un nuovo seed. (2) 9

11 3 Un nuovo schema di POW: bf-pow Introdurremo ora il nostro nuovo schema di Proof of Ownership, al quale ci riferiremo con la sigla bf-pow. La peculiarità del nostro schema riguarda l'utilizzo dei ltri di Bloom [9], una struttura dati probabilistica che fornisce una space-ecient memorizzazione di insiemi ed è concepita per poter garantire una facile verica di appartenenza di un dato elemento all'insieme memorizzato (al costo di una probabilità di falsi positivi ma mai di falsi negativi). Halevi et al. [3] hanno aermato che, per dissuadere dagli attacchi CDN, la quantità di informazione sul le che deve essere nota al client per poter superare la sda con il server, deve essere di grandezza pari ad almeno 64 MiB, per le di dimensione superiore a 64 MiB; per le più piccoli riconoscono sia suciente una conoscenza pari almeno alla dimensione del le in questione. Nel progettare la nostra soluzione, abbiamo tenuto conto di questo. 3.1 Filtri di Bloom Un ltro di Bloom per rappresentare un insieme S = x 1, x 2,... x n di n elementi è costituito da un array di m bit, inizialmente settati a 0. Un ltro di Bloom utilizza k funzioni hash indipendenti h 1,..., h k con output nell'insieme 1,..., m. Assumiamo che queste funzioni hash mappino ogni elemento in un numero random uniformemente scelto nell'insieme 1,..., m. Per ogni elemento x S, vengono settati a 1 i bit h i (x) per 1 i k. Per vericare se un elemento y appartiene all'insieme S, si controlla che tutti gli h i (y) siano settati a 1. Se non è così, allora chiaramente y non è un elemento di S. Se tutti gli h i (y) sono settati a 1 invece, si assume che y appartiene ad S, con una certa probabilità di errore. Dunque un ltro di Bloom puo' generare un falso positivo quando insinua che un elemento x appartiene ad S anche se così non è. Per evitare banalità, si 10

12 assumerà n da adesso kn < m. La probabilità di un falso positivo per un elemento non nell'insieme, il false positive rate (FPR), puo' essere stimata in modo semplice, sotto l'ipotesi che le funzioni hash utilizzate abbiano la caratteristica sopra descritta. Dopo che su tutti gli elementi dell'insieme S sono stati calcolati gli hash e il ltro di Bloom è stato aggiornato di conseguenza, la probabilità che un bit specico sia ancora settato a 0 è: ( 1 1 ) kn e kn/m m Quindi la probabilità che i k indici individuati dalle funzioni di hash siano tutti settati a 1, e dunque si incorra in un falso positivo è: fpr = ( 1 e kn/m) k Si supponga ora di avere m e n e di voler ottimizzare il numero di funzioni hash da utilizzare. Il valore ottimale del numero di funzioni hash che minimizza la probabilità di un falso positivo fpr come funzione di k puo' essere facilmente trovato utilizzando le derivate, ottenendo per k il valore di k = ln 2 (m/n) (3) Un modo per determinare quanto siano ecienti i ltri di Bloom è di considerare quanti bit sono necessari per rappresentare tutti gli insiemi di n elementi in un insieme universo, in modo da permettere falsi positivi per al più una frazione ɛ dell'insieme universo ma da non consentire falsi negativi. Il limite inferiore per m che si ottiene è pari a n log 2 (1/ɛ). Ricordando il valore del false positive rate e di k, prima calcolati, dopo alcune manipolazioni algebriche si ottiene: m = n log 2 e log 2 (1/ɛ) (4) Tra le tante interessanti proprietà che i ltri di Bloom possiedono, una delle caratteristiche importanti per l'utilizzo che noi ne faremo nel nostro schema, 11

13 riguarda il tempo necessario per aggiungere un elemento e per vericare che un dato elemento sia presente nell'insieme: in entrambi i casi si tratta di una costante ssa, O(h), completamente indipendente dal numero di elementi già inseriti nell'insieme. Inoltre poichè il controllo degli h indici sono indipendenti fra loro, nelle implementazioni hardware possono essere eseguiti in parallelo, migliorando ulteriormente le performance. 3.2 Algoritmo bf-pow Sia h una funzione di hash crittograca; sia invece h C una funzione di hash crittograca che prende in input una stringa e restituisce un output di dimensione C; consideriamo inoltre una funzione pseudo-random R s che utilizza s come seed. L'Algoritmo 1 descrive le operazioni che avvengono sul lato server ogniqualvolta un client carica per la prima volta un le. Dopo aver diviso l'intero le in blocchi indicizzati di dimensione N (ottenendo n blocchi) e calcolato su ogni blocco l'hash, applica la funzioni di hash crittograca h C ; il digest ottenuto è successivamente utilizzato come seed per la funzione pseudo-random R s, che prende in input il valore dell'indice del blocco considerato. Sull'ultimo output ottenuto (con Bloom), vengono applicate le k funzioni di hash del ltro di Bloom e viene poi aggiornato il ltro settando a 1 i bit nelle posizioni ottenute. Associando ad ogni blocco di le il suo indice, con la funzione di hash crittograca h C, si elimina la possibilità che un eventuale attaccante possa utilizzare, per superare la sda, dei blocchi di cui è in possesso, e non quelli richiesti dal server. L'utilizzo della funzione pseudo-random R s, invece, con la giusta dimensione dell'output impostata, permette di ottenere una quantità di contenuto totale, necessaria per superare ogni sda lanciata dal server, pari a 64 MiB: come asserito da Halevi et al. [3], questa è la dimensione necessaria per scoraggiare eventuali client maliziosi dall'attuare un attacco CDN. 12

14 Algoritmo 1: Lato server: il server costruisce il ltro di Bloom del le Input: il le, la dimensione del le F e la dimensione dei blocchi N, il numero di funzioni hash del ltro di Bloom k Output: il ltro di Bloom aggiornato n F/N; for i 0 to n 1 do end hash h(le[i]); seed h C (hash); ToBf R seed (i); for ii 0 to k do end Bloom ii (ToBF); update Bloom lter ; L'Algoritmo 2 fornisce invece una descrizione delle operazioni messe in atto dal client quando viene sdato dal server a dimostrare di possedere eettivamente il le che chiede di poter caricare ma che è già presente nella memoria di back-end del server (ricordiamo che questa verica avviene grazie all'hash del le che il client invia al server come identicatore dello stesso). Ogni volta che sda un client, il server sceglie in modo random j indici (il valore di j verrà discusso nel prossimo paragrafo) corrispondenti a j blocchi di le. Utilizzando le j posizioni ricevute, il client ripete i primi due step eseguiti dal server, solo sui blocchi denotati dagli indici; gli output ottenuti formano l'array di risposta che il client invia al server. 13

15 Algoritmo 2: Lato client: il client calcola la risposta alla sda lanciata dal server Input: il le, la dimensione dei blocchi N, un array di j indici scelti dal server (pos[j]) Output: l'array di risposta del client for i 0 to j 1 do end hash h(f[pos[i] N]); res[i] h C (hash); In fase di verica, descritta dall'algoritmo 3, il server applica la funzione pseudo-random R s utilizzando come seed ogni elemento dell'array di risposta ricevuto dal client e, come messaggio in input, il valore dell'indice del blocco sul quale quella risposta è stata calcolata. Algoritmo 3: Lato server: il server calcola le posizioni nel ltro di Bloom ottenute considerando la risposta inviata dal client Input: il numero di funzioni hash del ltro di Bloom k, l'array degli j indici (pos[j]) e l'array di risposta alla sda inviato dal client Output: le j k posizioni nel ltro di Bloom calcolate sulla risposta del client for i 0 to j 1 do end ToBf R res[j] (pos[i]); for ii 0 to k 1 do end Bloom ii (ToBF); 14

16 Se tutte le j k posizioni del ltro di Bloom ottenute applicando le k funzioni di hash (le stesse utilizzate in precedenza per costruire il ltro di Bloom di f), sono settate a 1 nel ltro di Bloom del le memorizzato dal server, allora la sda è superata e il client viene riconosciuto dal server come un legittimo proprietario del le. 3.3 Sicurezza bf-pow Analizziamo la sicurezza dello schema assumendo che un eventuale attaccante conosca una frazione p = (1 ε) del le originario e venga sdato su un numero j di blocchi di le (di dimensione in bit B) di un le di dimensione (in bit) F. Facciamo prima di tutto una considerazione. Ad una prima analisi, quando l'avversario viene sdato dal server su un blocco di le, possono presentarsi due casi: o l'avversario possiede quel blocco nella sua interezza, e quindi vince sicuramente la sda, oppure no, ed allora cerca di ricostruirlo indovinando i bit che lo formano. Supponiamo che l'attaccante conosca n B blocchi di le e n b bit tra i blocchi che non conosce. Si ha allora che p = (1 ε) = n B B F + n b F Indichiamo con p B = n B B F e con p b = n b F la probabilità che l'attaccante conosca un dato blocco la probabilità che conosca un singolo bit di un blocco che non possiede. Indichiamo con guess B l'evento in cui l'avversario riesce a ricostruire l'intero blocco. Dopo alcuni calcoli si ottiene: P (guess B ) = p B + (1 p B )(p b + (1 p b )g) B dove g è la probabilità che l'attaccante indovini un singolo bit sconosciuto. Nel calcolare la probabilità di vittoria dell'attaccante su una singola sda, bisogna tenere conto anche del false positive rate: se l'attaccante non riesce a 15

17 ricostruire esattamente l'intero blocco puo' comunque riuscire a superare la sda avvalendosi dei falsi positivi che l'uso del ltro di Bloom comporta. allora: Indichiamo con win l'evento in cui l'attaccante vince la singola sda. Si ha P (win B ) = P (win B (guess B guess B )) = p B + (1 p B )(fpr + (p b + (1 p b )g) B (1 fpr)) Ricordando che l'attaccante viene sdato su j blocchi, si ha: P (win) = P (win B ) j = (p B + (1 p B )(fpr + (p b + (1 p b )g) B (1 fpr))) j (5) Da questa equazione possiamo ricavare un limite inferiore per il numero di sde j: k ln2 j = (1 p B ) (1 (fpr + (p b + (1 p b )g) B (1 fpr))) Attraverso quest'ultima equazione si deduce che la miglior strategia che l'avversario puo' mettere in atto, quella che richiede il più alto valore per j, corrisponde a quella in cui l'avversario raggruppa tutta la sua conoscenza del le in blocchi di dimensione B; eguagliando a zero p b (p b = 0) e, di conseguenza, p B = p = (1 ε) si ha dunque: k ln2 j = ε (1 fpr) (1 g B ) 4 Implementazione e analisi 4.1 Scelte implementative Allo scopo di valutarne l'ecacia, abbiamo implementato il nostro schema bf- POW confrontandone le performance misurate con quelle ottenute utilizzando le implementazioni degli schemi b-pow e s-pow. 16 (6) (7)

18 Tutti i codici sono stati sviluppati in C++ ed è stata utilizzata la libreria OpenSSL Crypto per tutte le operazioni crittograche. Nell'implementazione dello schema bf-pow abbiamo preso come funzione di hash crittograca la funzione di cifratura RC4: per generare l'output della dimensione voluta, abbiamo passato alla funzione una stringa di zeri della dimensione dell'output impostata ed utilizzato come chiave il digest del blocco di le precedentemente calcolato; come funzione pseudo-random (R s ), è stata invece scelta la funzione HMAC. Per i ltri di Bloom è stata utilizzata l'implementazione fornita da Nicolas Bernard in [10]. 4.2 Scelta dei parametri Per misurarne le performance, le implementazioni dei tre schemi sono state fatte girare su una macchina a 64 bit con SO Ubuntu 12.10, processore Pentium(R) Dual-Core CPU E GHz(x2), 3,9 GiB di RAM. Tutti e tre gli schemi sono stati testati su le generati in modo random; la dimensione dei le in input inizia da 1 MiB no ad arrivare a 2 GiB, raddoppiando ad ogni step. La scelta del valore dei parametri dello schema b-pow, così come dello schema s-pow, sono state fatte attenendosi rispettivamente alle scelte adottate in [3] e in [4]. Per garantire un giusto confronto, anche per lo schema bf-pow il valore del parametro di sicurezza è stato ssato, come negli altri schemi, a 66, così come i valori p delle frazioni di le conosciute dall'attaccante sono stati presi nello stesso insieme utilizzato per s-pow (p {0.5, 0.75, 0.9, 0.95}). Il nostro schema ha inoltre altri due parametri liberi: il false positive rate e la dimensione dell'output della funzione RC4. Il valore di tutti quanti questi quattro parametri 17

19 sono necessari per derivare poi un valore per il numero di blocchi j richiesti in ogni sda, dall'equazione 7. Al false positive rate abbiamo assegnato il valore 0.1. Per quanto riguarda la dimensione dell'output dell'algoritmo di cifratura RC4 invece, abbiamo scelto i valori (espressi in Byte) nell'insieme {16, 256, 512}. Altri parametri del nostro schema sono la dimensione del ltro di Bloom m, utilizzato per rappresentare il le, e il numero di funzioni di hash utilizzate dal ltro, k. Una volta calcolato il numero di blocchi in cui il le viene diviso (n) e scelto il false positive rate, abbiamo utilizzato rispettivamente le formule 4 e 3 per calcolare i valori ottimali. Ricordiamo che, per garantire i 64 MiB di contenuto indispensabile per superare ogni sda, necessari per dissuadere i client maliziosi dall'attuare un attacco CDN (come asserito da Halevi et al. [3]), il valore della dimensione dei blocchi è stato derivato utilizzando la dimensione dell'output dell'rc4: per le inferiori a 64 MiB, la dimensione dei blocchi coincide con quella dell'output dell'rc4 mentre per le più grandi, ssata la dimensione del le, la dimensione dei blocchi è direttamente proporzionale alla dimensione del le in input con costante di proporzionalità pari a C/64M ib. Ogni congurazione è stata fatta girare per 100 volte. Tutti i graci di questa tesi sono stati generati riportando il valore medio e la deviazione standard (utilizzando un box-plot) del numero dei cicli di clock estratti utilizzando l'istruzione assembly RDTSC. 4.3 Lato client Analizziamo e confrontiamo ora le performance del lato client dei tre schemi b-pow, s-pow e bf-pow. Per tutti e tre gli schemi, il lato client prevede il calcolo dell'hash dell'intero le seguito, in b-pow, dall'esecuzione della fase di reduction e mixing ed il 18

20 calcolo dell'albero di Merkle, in s-pow, dalla generazione degli array di bit di risposta, mentre in bf-pow, dall'esecuzione dell'algoritmo 2. La Figura 1 mostra i risultati dei test condotti sui tre schemi per il lato client mentre in Figura 2 sono riportati i diversi tempi di esecuzione del nostro schema, misurati per i diversi valori della dimensione dell'output dell'rc4 settati. Tutte e tre le soluzioni mostrano una crescita lineare rispetto alla dimensione dei le in input; la ragione di ciò è dovuta al fatto che, per tutti e tre gli schemi, leggere e calcolare l'hash del le sono le operazioni predominanti. bf-pow è da un minimo di 1,2 no ad un massimo di 4 volte più veloce di b-pow; s- POW invece computazionalmente più vantaggiosa della nostra soluzione no ad un massimo di 1,4 volte. Figura 1: Confronto tra i tempi di esecuzione del client di bf-pow con valore della dimensione dell'output dell'rc4 impostato a 512 Byte, per i diversi valori di j, con quelli di b-pow e di s-pow, per dierenti valori di K, al crescere della dimensione dei le in input. 19

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Funzioni Hash e Network Security Vedi: A.S. Tanenbaum, Computer Networks, 4th ed., Prentice Hall: sez. 8, pagg.

Dettagli

C Cloud computing Cloud storage. Prof. Maurizio Naldi

C Cloud computing Cloud storage. Prof. Maurizio Naldi C Cloud computing Cloud storage Prof. Maurizio Naldi Cos è il Cloud Computing? Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

I nuovi modelli di delivery dell IT: un quadro di riferimento

I nuovi modelli di delivery dell IT: un quadro di riferimento I nuovi modelli di delivery dell IT: un quadro di riferimento Stefano Mainetti Fondazione Politecnico di Milano stefano.mainetti@polimi.it Milano, 25 Ottobre 2010 Cloud Computing: il punto d arrivo Trend

Dettagli

CLOUD COMPUTING. Che cos è il Cloud

CLOUD COMPUTING. Che cos è il Cloud CLOUD COMPUTING Che cos è il Cloud Durante la rivoluzione industriale, le imprese che si affacciavano per la prima volta alla produzione dovevano costruirsi in casa l energia che, generata da grandi macchine

Dettagli

w w w. n e w s o f t s r l. i t Soluzione Proposta

w w w. n e w s o f t s r l. i t Soluzione Proposta w w w. n e w s o f t s r l. i t Soluzione Proposta Sommario 1. PREMESSA...3 2. NSPAY...4 2.1 FUNZIONI NSPAY... 5 2.1.1 Gestione degli addebiti... 5 2.1.2 Inibizione di un uso fraudolento... 5 2.1.3 Gestione

Dettagli

Nuove tecnologie: scenari e opportunità per gli studi professionali

Nuove tecnologie: scenari e opportunità per gli studi professionali S.A.F. SCUOLA DI ALTA FORMAZIONE Nuove tecnologie: scenari e opportunità per gli studi professionali DAVIDE GRASSANO Membro della Commissione Informatica 1 Dicembre 2010 - Milano Agenda 1 Il software come

Dettagli

IT ARCHITECTURE: COME PREPARARSI AL CLOUD

IT ARCHITECTURE: COME PREPARARSI AL CLOUD IT ARCHITECTURE: COME PREPARARSI AL CLOUD Stefano Mainetti stefano.mainetti@polimi.it L ICT come Commodity L emergere del Cloud Computing e i nuovi modelli di delivery Trend n. 1 - ICT Commoditization

Dettagli

ROI - Return on Investment applicato alla tecnologia Cloud

ROI - Return on Investment applicato alla tecnologia Cloud ROI - Return on Investment applicato alla tecnologia Cloud In questo breve Working Paper si definiscono, presentano e analizzano le linee guida teoriche per la costruzione di un indice quantitativo di

Dettagli

Cloud Computing....una scelta migliore. ICT Information & Communication Technology

Cloud Computing....una scelta migliore. ICT Information & Communication Technology Cloud Computing...una scelta migliore Communication Technology Che cos è il cloud computing Tutti parlano del cloud. Ma cosa si intende con questo termine? Le applicazioni aziendali stanno passando al

Dettagli

Clouds over Europe Osservazioni su alcune attività europee

Clouds over Europe Osservazioni su alcune attività europee Clouds over Europe Osservazioni su alcune attività europee ForumPA, 19 maggio 2010 Daniele Tatti (tatti@digitpa.gov.it) Ufficio relazioni internazionali 1 Government Cloud Computing Status and plans in

Dettagli

PROGETTAZIONE FISICA

PROGETTAZIONE FISICA PROGETTAZIONE FISICA Memorizzazione su disco, organizzazione di file e tecniche hash 2 Introduzione La collezione di dati che costituisce una BDD deve essere fisicamente organizzata su qualche supporto

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

Dettagli

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology Virtualization Strutturare per semplificare la gestione Communication Technology Ottimizzare e consolidare Le organizzazioni tipicamente si sviluppano in maniera non strutturata e ciò può comportare la

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

ICT Information &Communication Technology

ICT Information &Communication Technology ICT Information &Communication Technology www.tilak.it Profile Tilak Srl, azienda specializzata in soluzioni in ambito Communication Technology opera nell ambito dei servizi di consulenza, formazione e

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

The Design and Implementation of a Transparent Cryptographic Filesystem for UNIX

The Design and Implementation of a Transparent Cryptographic Filesystem for UNIX The Design and Implementation of a Transparent Cryptographic Filesystem for UNIX Ciro Amati, Stefania Cardamone Universitá degli Studi di Salerno December 5, 2014 1 / 47 Introduzione Conoscenze scientifiche

Dettagli

Il Cloud Computing: uno strumento per migliorare il business

Il Cloud Computing: uno strumento per migliorare il business Il Cloud Computing: uno strumento per migliorare il business Luca Zanetta Uniontrasporti I venti dell'innovazione - Imprese a banda larga Varese, 9 luglio 2014 1 / 22 Sommario Cos è il cloud computing

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Una rassegna dei sistemi operativi per il Cloud Computing

Una rassegna dei sistemi operativi per il Cloud Computing Alma Mater Studiorum Università di Bologna SCUOLA DI SCIENZE Corso di Laurea in Informatica Una rassegna dei sistemi operativi per il Cloud Computing Tesi di Laurea in Reti di Calcolatori Relatore: Chiar.mo

Dettagli

ECDL Base. Moduli compresi: Descrizione.

ECDL Base. Moduli compresi: Descrizione. ECDL Base Com'è facilmente deducibile anche dal nome, la certificazione ECDL Base attesta il livello essenziale di competenze informatiche e web del suo titolare, aggiornate alle funzionalità introdotte

Dettagli

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13 Architectural & Engineering Software L INGEGNERE NELLE NUVOLE App, WEB App e Cloud ing. Sauro Agostini Mitterand 1981 Reagan Battaglin Alice IBM PC 5150 Alonso C ERA UNA VOLTA IL DOS Non è una rivoluzione,

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Il cloud computing, inquadramenti giuridici e differenze di approccio contrattuale

Il cloud computing, inquadramenti giuridici e differenze di approccio contrattuale Il Cloud Computing - I diversi approcci contrattuali e nuove definizioni in ambito privacy 17 gennaio 2012 Milano Avv. Alessandro Mantelero Ricercatore Politecnico di Torino IV Facoltà Cloud computing:

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

ECDL Full Standard. Descrizione. Moduli compresi: Skills Card.

ECDL Full Standard. Descrizione. Moduli compresi: Skills Card. ECDL Full Standard Descrizione. La certificazione ECDL Full Standard costituisce la naturale evoluzione della vecchia certificazione ECDL Core e accerta le competenze del suo titolare aggiornate alle funzionalità

Dettagli

Gartner Group definisce il Cloud

Gartner Group definisce il Cloud Cloud Computing Gartner Group definisce il Cloud o Cloud Computing is a style of computing in which elastic and scalable information technology - enabled capabilities are delivered as a Service. Gartner

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Questa scelta è stata suggerita dal fatto che la stragrande maggioranza dei navigatori usa effettivamente IE come browser predefinito.

Questa scelta è stata suggerita dal fatto che la stragrande maggioranza dei navigatori usa effettivamente IE come browser predefinito. Pagina 1 di 17 Installazione e configurazione di applicazioni Installare e configurare un browser Come già spiegato nelle precedenti parti introduttive di questo modulo un browser è una applicazione (lato

Dettagli

HDD contro Kingston SSDNow V+ 200 Serie 240GB: Test comparativo...1

HDD contro Kingston SSDNow V+ 200 Serie 240GB: Test comparativo...1 HDD contro Kingston SSDNow V+ 200 Serie 240GB: Test comparativo Indice HDD contro Kingston SSDNow V+ 200 Serie 240GB: Test comparativo...1 HDD contro SSD: Test comparativo...3 Punti essenziali...3 Test...3

Dettagli

WHITE PAPER. I vantaggi offerti dalla deduplicazione alle aziende di ogni dimensione White paper di Acronis

WHITE PAPER. I vantaggi offerti dalla deduplicazione alle aziende di ogni dimensione White paper di Acronis I vantaggi offerti dalla deduplicazione alle aziende di ogni dimensione White paper di Acronis Copyright Acronis, Inc., 2000 2009 Sommario Riepilogo... 3 Cos è la deduplicazione?... 4 Deduplicazione a

Dettagli

Wordpress corso base. Mario Marino Corso Base Wordpress

Wordpress corso base. Mario Marino Corso Base Wordpress Wordpress corso base Mario Marino Corso Base Wordpress introduzione Cosa sappiamo fare adesso e cosa vorremmo sapere fare alla fine del corso Parole chiave Sito / Blog Database CMS Client / Server Account

Dettagli

Come funziona la crittografia delle unità. Amministratori della sicurezza e IT

Come funziona la crittografia delle unità. Amministratori della sicurezza e IT WHITE PAPER: COME FUNZIONA LA CRITTOGRAFIA DELLE UNITÀ........................................ Come funziona la crittografia delle unità Who should read this paper Amministratori della sicurezza e IT Sommario

Dettagli

Riconoscimento targhe

Riconoscimento targhe Riconoscimento targhe AS: 2014-2015 ITT M. Buonarroti Matteo Dalponte Andrea Filippi La mia passione per l automazione L'automazione, il controllo remoto, la gestione delle immagini e la comunicazione

Dettagli

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15 Istituto di Istruzione Superiore V. Bachelet Istituto Tecnico Commerciale - Liceo Linguistico Liceo Scientifico Liceo Scienze Umane Via Stignani, 63/65 20081 Abbiategrasso Mi PROGRAMMA FINALE SVOLTO CLASSE

Dettagli

Ridisegnare i Sistemi Operativi per una Nuova Sicurezza

Ridisegnare i Sistemi Operativi per una Nuova Sicurezza Andrea Pasquinucci, Febbraio 2013 pag. 1 / 6 Ridisegnare i Sistemi Operativi per una Nuova Sicurezza Sommario I nuovi strumenti informatici, dagli smartphone ai tablet che tanto ci sono utili nella vita

Dettagli

Azienda-Online. La gestione dell azienda ora vola sulla cloud!

Azienda-Online. La gestione dell azienda ora vola sulla cloud! Azienda-Online La gestione dell azienda ora vola sulla cloud! Riduzione dei costi di acquisto, gestione e manutenzione Aumento e velocizzazione della comunicazione in azienda Accessibilità al sistema di

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

Dettagli

FileMaker Server 11. Guida all'aggiornamento dei plug-in

FileMaker Server 11. Guida all'aggiornamento dei plug-in FileMaker Server 11 Guida all'aggiornamento dei plug-in 2010 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di

Dettagli

Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo

Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo Digital Signature Standard Corso di Sicurezza A.A. 2006/2007 Luca Palumbo La storia Digital Signature Standard (DSS) è uno standard che descrive un protocollo di crittografia a chiave pubblica per la firma

Dettagli

Descrizione servizio Websense Hosted Mail Security

Descrizione servizio Websense Hosted Mail Security Descrizione servizio Websense Hosted Mail Security Alla luce della crescente convergenza delle minacce nei confronti del Web e della posta elettronica, oggi è più importante che mai poter contare su una

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Specialista della rete - Un team di specialisti della rete

Specialista della rete - Un team di specialisti della rete Allied Telesis - creare qualità sociale Allied Telesis è da sempre impegnata nella realizzazione di un azienda prospera, dove le persone possano avere un accesso facile e sicuro alle informazioni, ovunque

Dettagli

Data protection. Cos è

Data protection. Cos è Data protection Cos è La sicurezza informatica è un problema molto sentito in ambito tecnico-informatico per via della crescente informatizzazione della società e dei servizi (pubblici e privati) in termini

Dettagli

Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole

Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole Stefano Mainetti stefano.mainetti@polimi.it L ICT come Commodity L emergere del Cloud Computing e i nuovi modelli di delivery Trend n.

Dettagli

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr. COSTRUIRE APPLICAZIONI WEB GIS: SERVIZI E STRATEGIE Corso - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it I servizi WebGIS...1 Download di dati...3 Visualizzazione

Dettagli

LABORATORIO DI TELEMATICA

LABORATORIO DI TELEMATICA LABORATORIO DI TELEMATICA COGNOME: Ronchi NOME: Valerio NUMERO MATRICOLA: 41210 CORSO DI LAUREA: Ingegneria Informatica TEMA: Analisi del protocollo FTP File Transfer Protocol File Transfer Protocol (FTP)

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply Abstract Nei nuovi scenari aperti dal Cloud Computing, Reply si pone come provider di servizi e tecnologie, nonché come abilitatore di soluzioni e servizi di integrazione, volti a supportare le aziende

Dettagli

RETI DI CALCOLATORI. Crittografia. La crittografia

RETI DI CALCOLATORI. Crittografia. La crittografia RETI DI CALCOLATORI Crittografia La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice ed è il fondamento su cui si basano i meccanismi di autenticazione,

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Intrusion Detection System

Intrusion Detection System Capitolo 12 Intrusion Detection System I meccanismi per la gestione degli attacchi si dividono fra: meccanismi di prevenzione; meccanismi di rilevazione; meccanismi di tolleranza (recovery). In questo

Dettagli

Protezione delle informazioni in SMart esolutions

Protezione delle informazioni in SMart esolutions Protezione delle informazioni in SMart esolutions Argomenti Cos'è SMart esolutions? Cosa si intende per protezione delle informazioni? Definizioni Funzioni di protezione di SMart esolutions Domande frequenti

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Sistemi Distribuiti. Il corso: informazioni utili AA 2006/2007. Riferimenti del docente: Ricevimento: Materiale Didattico:

Sistemi Distribuiti. Il corso: informazioni utili AA 2006/2007. Riferimenti del docente: Ricevimento: Materiale Didattico: Sistemi Distribuiti Corso di Laurea Specialistica in Telecomunicazioni AA 2006/2007 Slides del corso Sara Tucci Piergiovanni Il corso: informazioni utili Riferimenti del docente: - sito web: www.dis.uniroma1.it/

Dettagli

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007 hdone hdone Team 13 dicembre 2007 1 Overview hdone è una web application che fornisce il supporto necessario a tutte le aziende che si occupano di fornire servizi di assistenza al cliente. Dopo gli anni

Dettagli

Introduzione al Cloud Computing

Introduzione al Cloud Computing Risparmiare ed innovare attraverso le nuove soluzioni ICT e Cloud Introduzione al Cloud Computing Leopoldo Onorato Onorato Informatica Srl Mantova, 15/05/2014 1 Sommario degli argomenti Definizione di

Dettagli

VELOCIZZARE IL TUO SITO IN WORDPRESS CON WEB ACCELERATOR

VELOCIZZARE IL TUO SITO IN WORDPRESS CON WEB ACCELERATOR VELOCIZZARE IL TUO SITO IN WORDPRESS CON WEB ACCELERATOR CON QUESTO WHITEPAPER SCOPRIRAI COME VELOCIZZARE IL TUO WORDPRESS GRAZIE A UNA SOLUZIONE SEMPLICISSIMA: IL WEB ACCELERATOR SEEWEB Velocizzare il

Dettagli

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Mattia Gentilini Relatore: Renzo Davoli Laurea Specialistica in Informatica I Sessione A.A. 2005/2006

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Valutazione delle prestazioni DOCENTE Luigi Palopoli AA. 2011/2012 Valutare le Prestazioni La complessita di un moderno calcolatore rende la valutazione delle prestazioni

Dettagli

L evoluzione dei sistemi di telecontrollo: metodologie, approcci e soluzioni

L evoluzione dei sistemi di telecontrollo: metodologie, approcci e soluzioni AUTORI Maurizio Bigoloni Franco Corti Maria Antonietta Di Jonno Damiano Manocchia L evoluzione dei sistemi di telecontrollo: metodologie, approcci e soluzioni Introduzione OBIETTIVO: ANALISI DEGLI SCENARI

Dettagli

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15 Entrare in un pc è una espressione un po generica...può infatti significare più cose: - Disporre di risorse, quali files o stampanti, condivise, rese fruibili liberamente o tramite password con i ripettivi

Dettagli

Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi.

Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi. UNIVERSITÀ DEGLI STUDI DI FERRARA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell'automazione Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi.

Dettagli

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 10 Giovedì 9-04-2015 1 Database distribuiti e gerarchici

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale 1. Livello infrastrutturale Il Cloud, inteso come un ampio insieme di risorse e servizi fruibili da Internet che possono essere dinamicamente

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

La sicurezza del datacenter all'ombra della "nuvola" Come scongiurare il maltempo?

La sicurezza del datacenter all'ombra della nuvola Come scongiurare il maltempo? L Eccellenza nei servizi e nelle soluzioni IT integrate. La sicurezza del datacenter all'ombra della "nuvola" Come scongiurare il maltempo? 2013 APRILE Omnitech s.r.l. Via Fiume Giallo, 3-00144 Roma Via

Dettagli

Licenza di vcloud Suite

Licenza di vcloud Suite vcloud Suite 5.5 Questo documento supporta la versione di ogni prodotto elencato e di tutte le versioni successive finché non è sostituito da una nuova edizione. Per controllare se esistono versioni più

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

[EEDS] Comprendere cosa è l hardware, conoscere i fattori che influiscono sulle prestazioni di un computer e sapere cosa sono le periferiche.

[EEDS] Comprendere cosa è l hardware, conoscere i fattori che influiscono sulle prestazioni di un computer e sapere cosa sono le periferiche. PROPOSTA PER L EROGAZIONE DI CORSI DI FORMAZIONE CON CERTIFICAZIONE FINALE ECDL (CORE E/O HEALTH) A CURA DEL DIPARTIMENTO DI CHIRURGIA (TEST CENTER DI ATENEO AGI_02) A FAVORE DEL DIPARTIMENTO DI FILOSOFIA,

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

Dettagli

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione Comunicazioni sicure su Internet: https e SSL Fisica dell Informazione Il servizio World Wide Web (WWW) Come funziona nel dettaglio il Web? tre insiemi di regole: Uniform Resource Locator (URL) Hyper Text

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

DuBackup+ OnlineBackups BestPractices

DuBackup+ OnlineBackups BestPractices DuBackup+ OnlineBackups BestPractices ver. 3.0-2014 Linee Guida + Do You Backup Your Invaluable Data? Now You Can with DuBackup! NSC s.r.l. Tutti i diritti riservati. Tutti i materiali informativi sono

Dettagli

Concurrent and Distributed Programming - Assigned Project - Document Version 1.3

Concurrent and Distributed Programming - Assigned Project - Document Version 1.3 Concurrent and Distributed Programming - Assigned Project - Document Version 1.3 Lecturer: Mauro Conti, PhD - conti@math.unipd.it Teaching Assistant: Eyüp Serdar Canlar - canlar@math.unipd.it Academic

Dettagli

Guida dell'amministratore di JMP 8 alle versioni con licenza annuale per Windows, Macintosh e Linux

Guida dell'amministratore di JMP 8 alle versioni con licenza annuale per Windows, Macintosh e Linux Guida dell'amministratore di JMP 8 alle versioni con licenza annuale per Windows, Macintosh e Linux Gli estremi corretti per la citazione bibliografica di questo manuale sono i seguenti: SAS Institute

Dettagli

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l.

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l. CRESCO - SPI.2 MAGO Relazione finale sul Progetto MAGO Relativo al contratto tra ENEA e CRIAI avente per oggetto: Analisi e Realizzazione di tool innovativi a supporto delle funzionalità GRID stipulato

Dettagli

Sistemi Operativi. Conclusioni e nuove frontiere

Sistemi Operativi. Conclusioni e nuove frontiere Sistemi Operativi (modulo di Informatica II) Conclusioni e nuove frontiere Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione futura

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Symantec Backup Exec.cloud

Symantec Backup Exec.cloud Protezione automatica, continua e sicura con il backup dei dati nel cloud o tramite un approccio ibrido che combina il backup on-premise e basato sul cloud. Data-sheet: Symantec.cloud Solo il 21% delle

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

Introduzione alle basi di dati (prima parte)

Introduzione alle basi di dati (prima parte) Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

MANUALE UTENTE INTERNET - ISTRUZIONI TECNICHE PER L UTILIZZO DEL SERVIZIO

MANUALE UTENTE INTERNET - ISTRUZIONI TECNICHE PER L UTILIZZO DEL SERVIZIO Rev. n 02 Pag. 1 di 25 SERVIZIO DI CERTIFICAZIONE TERNA L UTILIZZO DEL SERVIZIO Storia delle revisioni Rev. n Data Descrizione 01 23/08/2010 Prima emissione del documento. 02 24/09/2010 Aggiornamento printscreen

Dettagli

Sistemi Distribuiti. Libri di Testo

Sistemi Distribuiti. Libri di Testo Sistemi Distribuiti Rocco Aversa Tel. 0815010268 rocco.aversa@unina2.it it Ricevimento: Martedì 14:16 Giovedì 14:16 1 Libri di Testo Testo Principale A.S. Tanenbaum, M. van Steen, Distributed Systems (2

Dettagli