Informatica per la comunicazione" - lezione 16 - Connessioni sicure: protocollo HTTPS" Connessioni sicure: protocollo HTTPS" S sta per “sicurezza”: è la versione di HTTP arricchita con i meccanismi crittografici per proteggere le informazioni trasmesse da eventuali malintenzionati in ascolto." La crittografia asimmetrica rende inoltre possibile la firma digitale. Un mittente di un messaggio deve cifrarlo con la propria chiave privata. Così, tutti possono verificare che, riuscendo a decifrare il messaggio con la corrispondente chiave pubblica, tale messaggio non può esser stato scritto da nessun altro, visto che nessun altro avrebbe potuto cifrarlo con quella particolare chiave privata." Problema" Chi crea e gestisce le coppie di chiavi pubbliche/private? Chi gestisce l’elenco delle chiavi pubbliche delle varie (id)entità presenti in internet? Chi garantisce che una chiave pubblica appartenga proprio all’(id)entità dichiarata?" Risposta: certification authorities (o autorità di certificazione)" Si tratta di organizzazioni il cui compito è di garantire che l’identità reale (al di fuori di internet) coincida con quella digitale dichiarata in internet, associata a una particolare chiave pubblica. Ad es. si deve garantire che la chiave pubblica di Twitter sia gestita proprio da Twitter e non da altri soggetti." Ritorna la questione del trust. La fiducia che ho nell’autenticità di un’identità garantita da una certification authority dipende dalla fiducia che ho nella certification authority stessa." Il modo più comune che una certification authority ha di verificare l’identità di una persona è di incontrarla fisicamente e di controllarne un documento di identità." Le certification authority devono quindi aver fiducia nella verifica delle identità effettuata dallo Stato." Se guardiamo dentro un passaporto capiamo su quale tipo di definizione di identità si basa lo Stato." Parte III: il computer come strumento per l’interazione e la comunicazione " Si è parlato di identità…" Parte III: il computer come strumento per l’interazione e la comunicazione " § aspetti fisici" § aspetti mentali" § aspetti anagrafici" Parte III: il computer come strumento per l’interazione e la comunicazione " L’identità è definita anche dal comportamento" § che cosa mi piace" § che cosa compro" § che cosa guardo" § che cosa ascolto" § che cosa indosso" § che cosa leggo" § che cosa dico" User profile (profilo utente): una raccolta di dati personali associati a uno specifico utente di un servizio" " " L’informazione contenuta in un profilo utente può essere usata per adattare il servizio fornito alle caratteristiche e alle preferenze dell’utente. " " User profiling (profilazione utente): il processo di costruzione " del profilo di un utente mediante estrazione di informazioni da una collezione di dati." " Database" Database: collezione strutturata di dati riguardanti un certo aspetto della realtà, un’entità, o un’organizzazione. " Esempi di database: " i voti degli esami degli studenti di UniBG dalla fondazione dell’università ad oggi; i nomi degli abitanti della Svezia; " la targhe delle auto immatricolate in Italia nel marzo 2006. " Database Management System (DBMS): sistema informatico che gestisce un database." " Database system: il sistema complessivo che include un database e il " suo DBMS. " Data model, o modello dei dati Per costruire un database e il relativo DBMS " bisogna innanzitutto fissare un data model, ossia " la struttura con cui vengono organizzati i dati, la quale determina come tali dati v e r ra n no immagazzinati, letti, e comunicati. " " Il data model è importante per le applicazioni che usano e scambiano dati perché ne determina le " modalità di comunicazione e la precisione. Di fatto, crea un contesto comune allo scambio di " informazione, quindi la facilità d’uso e la minimizzazione delle ambiguità sono fondamentali." Il " data model più diffuso è il modello relazionale." " Edgar F. Codd (1923 – 2003)" Il modello relazionale " Proposto nel 1969 da Edgar Codd, un informatico " inglese che lavorava per IBM. Come dice il suo " " nome stesso, il modello si basa sul concetto di relazione: i dati vengono "organizzati secondo delle relazioni che legano tra loro determinati attributi. " Una relazione viene rappresentata sotto forma di " tabella, le cui colonne corrispondono agli attributi "legati da tale relazione. I dati nel database vengono organizzati secondo tali attributi, i cui valori riempiono le righe della " tabella, chiamate tuple." " nome della tabella " attributi/colonne" " testata" " " " " valore" " " corpo" " " " tupla/riga" " " Esempio " " " Il linguaggio SQL " " Query Language, “sequel”) è SQL (Structured il linguaggio più diffuso per la creazione e gestione su computer di database " " " SQL è composto da due sottolinguaggi: DDL (Data Definition Language) per specificare lo " schema delle tabelle con cui organizzare il database; DML (Data Manipulation Language) per inserire, modificare, esaminare, cancellare i dati nelle tabelle." " " Schema di una tabella " Lo schema di una tabella Ad esempio: " si specifica assegnando: il nome della tabella, CREATE TABLE Studente (" l’elenco degli attributi " matricola "INTEGER(5), della tabella, ciascuno cognome"VARCHAR(20), con il relativo dominio nome " "VARCHAR(20), (ovvero, il tipo dei dati data-iscr "DATE, che possono essere facoltà "CHAR(3)," assegnati come valori dell’attributo)." )" " " " Studente" matricola cognome" nome" data-iscr" INTEGER(5)" VARCHAR(20)" VARCHAR(20)" DATE" facoltà" CHAR(3)"