Lezione 5: Socket SSL/ TLS. Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 5: Socket SSL/ TLS. Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno"

Transcript

1 Lezione 5: Socket SSL/ TLS Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno 1

2 Outline Introduzione Gestione delle chiavi e dei certificati Comunicazione con socket SSL/TLS 2

3 Introduzione Mentre per applicazioni limitate a una rete locale si può assumere che il contesto sia amichevole, l arrivo di Internet rende necessarie considerazioni sulla sicurezza della comunicazione autenticazione dell altro end-point con cui si comunica riservatezza dei dati scambiati 3

4 Crittografia Le esigenze di sicurezza si risolvono adottando algoritmi di crittografia per proteggere le comunicazioni In particolare, la crittografia a chiave pubblica (detta anche a chiave asimmetrica) consente l autenticazione dell altro end-point senza il problema della condivisione della chiave 4

5 Crittografia a chiave pubblica Ciascuno dei due end-point genera due chiavi: una chiave privata, che deve essere nota solo al proprietario una chiave pubblica, che deve essere resa nota all altro end-point I dati codificati con una chiave privata possono essere decodificati solo con la corrispondente chiave pubblica e viceversa 5

6 Crittografia a chiave pubblica Il mittente codifica due volte l informazione: con la propria chiave privata con la chiave pubblica del destinatario Il destinatario deve effettuare una doppia decodifica per leggere l informazione: con la propria chiave privata con la chiave pubblica del mittente 6

7 Crittografia a chiave pubblica Il mittente è certo che solo il destinatario leggerà i dati, perché è necessaria la chiave privata del destinatario per la decodifica (riservatezza) Il destinatario è certo che i dati sono stati inviati dal mittente, perché è necessaria la chiave privata del mittente per la codifica (autenticazione) 7

8 Crittografia a chiave pubblica In pratica, per motivi prestazionali, il client e il server usano questa tecnica per scambiarsi una chiave simmetrica in modo sicuro e poi passano a un algoritmo di crittografia tradizionale Spesso è necessaria la sola autenticazione del server; in tal caso solo il server ha una coppia di chiavi, e il client deve avere la chiave pubblica del server 8

9 Certificati Per evitare la necessità di scambiare in anticipo in modo sicuro le chiavi pubbliche, si usano certificati Un certificato contiene una chiave pubblica autenticata mediante la firma digitale di una Certification Authority (CA) Chi riceve il certificato può verificare direttamente l autenticità della chiave pubblica usando la chiave pubblica della CA (che deve essere nota) 9

10 SSL/TLS I protocolli di Internet (TCP/UDP/IP) non offrivano inizialmente nessun supporto alla crittografia, che doveva essere realizzata a livello applicazione Nel 1995 Netscape propose un protocollo denominato Socket Security Layer (SSL) per rendere sicuro il web attraverso l uso di crittografia a chiave pubblica Successivamente l IETF ha recepito il protocollo come base per lo standard 10 Transport Layer Security (TLS)

11 SSL/TLS Implementati a livello applicazione (nonostante il nome) mediante librerie (anche Open Source) Usati per incapsulare altri protocolli di livello applicazione (es. HTTP, SMTP etc.) in modo da renderli sicuri 11

12 Gestione delle chiavi e dei certificati Il Java Development Kit include un tool (da usare a linea di comando) per gestire chiavi e certificati: keytool Le chiavi pubbliche e private sono memorizzate in un keystore I certificati ritenuti fidati sono memorizzati in un truststore Il formato del keystore e del truststore è proprietario, ma keytool offre funzioni per import/export di chiavi e certificati nei 12 formati dello standard X.509

13 Generazione delle chiavi Per generare una coppia di chiavi in un keystore il comando è: keytool -genkey [opz...] -alias nome -validity giorni -keystore keystore Il tool richiede alcune informazioni sull identità della persona che genera le chiavi, che saranno memorizzate all interno delle chiavi stesse Il keystore è protetto da una password 13

14 Generazione delle chiavi Esempio foggia% keytool -genkey -alias foggia -validity 365 -keystore keystore.jks Immettere la password del keystore: pippobaudo Specificare nome e cognome [Unknown]: Pasquale Foggia Specificare il nome dell'unit? aziendale [Unknown]: diiie Specificare il nome dell'azienda [Unknown]: unisa Specificare la localit? [Unknown]: fisciano Specificare la provincia [Unknown]: sa Specificare il codice a due lettere del paese in cui si trova l'unit? [Unknown]: it Il dato CN=Pasquale Foggia, OU=diiie, O=unisa, L=fisciano, ST=sa, C=it? corretto? [no]: s Immettere la password della chiave per <foggia> (INVIO se corrisponde alla password del keystore): foggia% 14

15 Generazione delle chiavi È possibile visualizzare il contenuto di un keystore con il comando: keytool -list -v -keystore keystore foggia% keytool -list -v -keystore keystore.jks Immettere la password del keystore: pippobaudo Tipo keystore: jks Provider keystore: SUN Il keystore contiene 1 entry Nome alias: foggia Data di creazione: 31-mar-2009 Tipo entry: keyentry Lunghezza catena certificati: 1 Certificato[1]: Proprietario: CN=Pasquale Foggia, OU=diiie, O=unisa, L=fisciano, ST=sa, C=it Organismo di emissione: CN=Pasquale Foggia, OU=diiie, O=unisa, L=fisciano, ST=sa, C=it Numero di serie: 49d1e411 Valido da Tue Mar 31 11:36:17 CEST 2009 a Wed Mar 31 11:36:17 CEST 2010 Impronte digitali certificato: MD5: 58:A9:4F:D3:31:E9:C1:58:E3:75:5C:90:85:8D:81:13 SHA1: C1:20:ED:DC:43:14:00:F3:50:ED:07:15:D2:0A:93:B2:5C:38:21:B1 15

16 Generazione di certificati In genere il processo per generare un certificato richiede tre passi: creazione di una Certificate Request a partire dalla chiave pubblica nel keystore invio della Certificate Request alla CA, che produce il certificato importazione del certificato della CA nel truststore 16

17 Generazione di certificati Non avendo a disposizione una CA, genereremo un self-signed certificate non c è la garanzia sull identità data dalla CA adeguato se i due end-point si fidano reciprocamente e possono scambiarsi i certificati in maniera sicura I passi diventano: generazione del certificato dalla chiave pubblica nel keystore importazione del certificato nel truststore 17

18 Generazione di certificati Per generare il certificato, il comando è: keytool -export -alias nome -keystore keystore -rfc -file filecert foggia% keytool -export -alias foggia -keystore keystore.jks -rfc -file foggia.cer Immettere la password del keystore: pippobaudo Il certificato? memorizzato nel file <foggia.cer> foggia% foggia% cat foggia.cer -----BEGIN CERTIFICATE----- MIIDAjCCAsACBEnR5BEwCwYHKoZIzjgEAwUAMGcxCzAJBgNVBAYTAml0MQswCQYDVQQIEwJzYTER MA8GA1UEBxMIZmlzY2lhbm8xDjAMBgNVBAoTBXVuaXNhMQ4wDAYDVQQLEwVkaWlpZTEYMBYGA1UE AxMPUGFzcXVhbGUgRm9nZ2lhMB4XDTA5MDMzMTA5MzYxN1oXDTEwMDMzMTA5MzYxN1owZzELMAkG A1UEBhMCaXQxCzAJBgNVBAgTAnNhMREwDwYDVQQHEwhmaXNjaWFubzEOMAwGA1UEChMFdW5pc2Ex DjAMBgNVBAsTBWRpaWllMRgwFgYDVQQDEw9QYXNxdWFsZSBGb2dnaWEwggG3MIIBLAYHKoZIzjgE ATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow 9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVU E1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps9 3su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbh PBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVk AUw7/s9JKgOBhAACgYAwr9DQG3MVcFIPlzTr5yyAfn28J2PvzAQp9Eft84hLr7d9vGaSFY4vHrx0 ecacuvouvbc6bzqo5h6crbberaqqigd5dtworji4qdwkzdnvl8eeehtnlrsmb55jdnuw/epyhz6a /Fdz6/QgYp3bEYRTwwoIf4YJusTrzC500Ip2cjALBgcqhkjOOAQDBQADLwAwLAIULlNtybkWx9nm /yq0s3iw+ad4dvocfhzbqcw9j/4qpggfoppaf43pt9in -----END CERTIFICATE

19 Generazione di certificati Per importare il certificato, il comando è: keytool -import -alias nome -keystore truststore -file filecert foggia% keytool -import -alias foggiacert -keystore truststore.jks -file foggia.cer Immettere la password del keystore: pippobaudo Proprietario: CN=Pasquale Foggia, OU=diiie, O=unisa, L=fisciano, ST=sa, C=it Organismo di emissione: CN=Pasquale Foggia, OU=diiie, O=unisa, L=fisciano, ST=sa, C=it Numero di serie: 49d1e411 Valido da Tue Mar 31 11:36:17 CEST 2009 a Wed Mar 31 11:36:17 CEST 2010 Impronte digitali certificato: MD5: 58:A9:4F:D3:31:E9:C1:58:E3:75:5C:90:85:8D:81:13 SHA1: C1:20:ED:DC:43:14:00:F3:50:ED:07:15:D2:0A:93:B2:5C:38:21:B1 Considerare attendibile questo certificato? [no]: s Il certificato? stato aggiunto al keystore foggia% foggia% keytool -list -keystore truststore.jks Immettere la password del keystore: pippobaudo Tipo keystore: jks Provider keystore: SUN Il keystore contiene 1 entry 19 foggiacert, 31-mar-2009, trustedcertentry, Impronta digitale certificato (MD5): 58:A9:4F:D3:31:E9:C1:58:E3:75:5C:90:85:8D:81:13

20 Comunicazione con Socket SSL/TLS In Java l uso di SSL/TLS si basa sulle classi SSLSocket e SSLServerSocket, che estendono rispettivamente Socket e ServerSocket Una volta effettuata la creazione dei socket, non c è differenza per l applicazione rispetto all uso di socket non crittografati 20

21 Creazione di socket SSL Le classi e le interfacce necessarie sono nei package: javax.net.* javax.net.ssl.* Il primo passo è la creazione di una SocketFactory, che è un oggetto che astrae l operazione di creazione di un socket 21

22 Creazione di un socket SSL Per creare una SocketFactory in grado di creare Socket SSL occorre usare il metodo static getdefault() della classe SSLSocketFactory SocketFactory factory=sslsocketfactory.getdefault(); 22

23 Creazione di un socket SSL Una volta ottenuta una factory, si può usare il metodo createsocket() per creare il socket vero e proprio: Socket sock=factory.createsocket(host, port); Una volta creato, il socket si usa come un normale client socket 23

24 Keystore e truststore Per rendere possibile la creazione del socket SSL, il programma deve conoscere il keystore e il truststore e le relative password È possibile fornire tali informazioni usando opportune proprietà di sistema 24

25 Keystore e truststore Le proprietà di sistema possono essere impostate con il metodo System.setProperty(): System.setProperty("javax.net.ssl.keyStore", "clientkeystore.jks"); System.setProperty("javax.net.ssl.keyStorePassword", "pippobaudo"); System.setProperty("javax.net.ssl.trustStore", "clienttruststore.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "pippobaudo"); 25

26 Creazione di Server Socket La creazione di server socket SSL è analoga alla creazione di socket Occorre usare le classi: ServerSocketFactory SSLServerSocketFactory SSLServerSocket 26

27 Creazione di Server Socket Esempio: ServerSocketFactory factory=sslserversocketfactory.getdefault(); ServerSocket sock=factory.createserversocket(port); Una volta creato, il server socket si usa esattamente come un ServerSocket non crittografato Il keystore e il truststore devono essere specificati con le stesse proprietà di 27 sistema

28 Creazione di Server Socket Per default i socket creati dalla factory effettuano l autenticazione del solo server Se si desidera l autenticazione anche del client, occorre convertire il socket in un SSLServerSocket e richiamare il metodo setneedclientauth() ServerSocketFactory factory=sslserversocketfactory.getdefault(); SSLServerSocket sock=(sslserversocket) factory.createserversocket(port); sock.setneedclientauth(true); 28

29 Un client completo import java.io.*; import java.net.*; import javax.net.*; import javax.net.ssl.*; public class SSLEchoClient { public static final int PORT=7777; public static Socket createsocket(string host, int port) throws IOException { } SocketFactory factory=sslsocketfactory.getdefault(); Socket sock=factory.createsocket(host, port); return sock; // continua... 29

30 Un client completo public static void main(string args[]) throws IOException { System.setProperty("javax.net.ssl.keyStore", "clientkeystore.jks"); System.setProperty("javax.net.ssl.keyStorePassword", "pippobaudo"); System.setProperty("javax.net.ssl.trustStore", "clienttruststore.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "pippobaudo"); Socket sock=createsocket(args[0], PORT); OutputStream os=sock.getoutputstream(); Writer wr=new OutputStreamWriter(os, "UTF-8"); PrintWriter prw=new PrintWriter(wr); prw.println("hello, world"); prw.flush(); InputStream is=sock.getinputstream(); Reader rd=new InputStreamReader(is, "UTF-8"); BufferedReader brd=new BufferedReader(rd); String answer=brd.readline(); System.out.println(answer); } } sock.close(); 30

31 Un server completo import java.io.*; import java.net.*; import javax.net.*; import javax.net.ssl.*; public class SSLEchoServer implements Runnable { public static final int PORT=7777; private Socket sock; public SSLEchoServer(Socket s) { } sock=s; public static ServerSocket createserversocket(int port) throws IOException { ServerSocketFactory factory=sslserversocketfactory.getdefault(); SSLServerSocket sock=(sslserversocket) factory.createserversocket(port); sock.setneedclientauth(true); return sock; } // continua... 31

32 Un server completo public static void main(string args[]) throws IOException { System.setProperty("javax.net.ssl.keyStore", "servkeystore.jks"); System.setProperty("javax.net.ssl.keyStorePassword", "pippobaudo"); System.setProperty("javax.net.ssl.trustStore", "servtruststore.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "pippobaudo"); ServerSocket serv=createserversocket(port); while (true) { Socket sock=serv.accept(); } SSLEchoServer server=new SSLEchoServer(sock); Thread t=new Thread(server); t.start(); } // continua... 32

33 Un server completo public void run() { try { BufferedReader brd=new BufferedReader( new InputStreamReader( sock.getinputstream(), "UTF-8")); String s=brd.readline(); } } PrintWriter prw=new PrintWriter( new OutputStreamWriter( sock.getoutputstream(), "UTF-8")); prw.print(s); prw.println(s); prw.flush(); } catch (IOException exc) { System.out.println("Eccezione I/O:" + exc); exc.printstacktrace(); } finally { } try { sock.close(); } catch (IOException exc2) { } 33

Proprietà di Sicurezza I

Proprietà di Sicurezza I Java Security Proprietà di Sicurezza I Confidenzialità Le informazioni possono essere lette solo dai soggetti che ne hanno diritto Integrità Le informazioni possono essere modificate solo dai soggetti

Dettagli

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica. Sistemi e tecnologie per la multimedialità e telematica Fabio Burroni Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena burronif@unisi unisi.itit La Sicurezza delle Reti La presentazione

Dettagli

Architettura Client-Server

Architettura Client-Server Architettura Client-Server 1. il client manda una richiesta al server 2. il server (in attesa) riceve la richiesta 3. il server esegue il servizio richiesto (generando un thread concorrente) 4. il server

Dettagli

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata. Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto

Dettagli

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell Tecnologie Web L-A Java e HTTP Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi Java e TCP/IP in a Nutshell! java.net.inetaddress: rappresenta un indirizzo IP e

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP D (FKR&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: il server attende una connessione da parte del client (su MDYDQHW6HUYHU6RFNHW), usa la

Dettagli

Secure Simple Budget Manager

Secure Simple Budget Manager Secure Simple Budget Manager Caso di studio Reti di Calcolatori CdL: Informatica e Tecnologie per la Produzione del Software A.A. 2009 2010 Outline Obiettivi e motivazioni Analisi Progettazione dell architettura

Dettagli

Parte II: Reti di calcolatori Lezione 12

Parte II: Reti di calcolatori Lezione 12 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 12 Giovedì 16-04-2015 1 Confronto architetture C/S e

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. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Applicazioni web. Parte 5 Socket

Applicazioni web. Parte 5 Socket Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Applicazioni web Parte 5 Michele Tomaiuolo tomamic@ce.unipr.it Protocolli Internet I computer

Dettagli

Sincronizzazione con Java

Sincronizzazione con Java Sincronizzazione con Java Corse critiche e sincronizzazione Java implementa un meccanismo simile al monitor per garantire la sincronizzazione fra thread Ogni oggetto ha un lock associato ad esso Nelle

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

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp ) Sicurezza dei protocolli (https, pop3s, imaps, esmtp ) Stack di protocolli nella trasmissione della posta elettronica 2 Sicurezza a livello applicativo Ma l utilizzo di meccanismi di cifratura e autenticazione

Dettagli

La sicurezza nelle reti di calcolatori

La sicurezza nelle reti di calcolatori La sicurezza nelle reti di calcolatori Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza Analisi di traffico

Dettagli

Corso di Laurea in Informatica Reti e Sicurezza Informatica

Corso di Laurea in Informatica Reti e Sicurezza Informatica Corso di Laurea in Informatica Reti e Sicurezza Informatica Esercitazione 6 Autenticazione in Tomcat per lo sviluppo di Web Service. In questo documento si presentano i meccanismi fondamentali che consentono

Dettagli

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer : applicazioni telematiche Secure Socket Layer E-commerce Trading on-line Internet banking... Protocollo proposto dalla Netscape Communications Corporation Garantisce confidenzialità e affidabilità delle

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

Corsi di Reti di Calcolatori (Docente Luca Becchetti)

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Corsi di Reti di Calcolatori (Docente Luca Becchetti) NOT : le soluzioni proposte sono volutamente sintetiche. Lo studente dovrebbe fare uno sforzo per risolvere i quesiti in modo autonomo, espandendo

Dettagli

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi Connessioni di rete Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi 1 Socket orientato alla connessione o non orientato alla connessione 2 Socket in astratto 3 Socket modalità

Dettagli

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Operazioni di input/output Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Input /Output introduzione Per ottenere delle informazioni un programma apre un flusso (Stream)

Dettagli

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante Sicurezza digitale requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza soddisfatti mediante crittografia = codifica dei dati in forma illeggibile per assicurare

Dettagli

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza Web Ing. Gianluca Caminiti SSL Sommario Considerazioni sulla Sicurezza del Web Secure Socket Layer (SSL) 3 Brevi Considerazioni sulla Sicurezza del Web Web come

Dettagli

Informatica per la comunicazione" - lezione 13 -

Informatica per la comunicazione - lezione 13 - Informatica per la comunicazione" - lezione 13 - Funzionamento di una password" 1: l utente tramite il suo browser richiede l accesso a una pagina del server; 2: il server richiede il nome utente e la

Dettagli

Introduzione. Java. G. Prencipe prencipe@di.unipi.it. accesso alla rete -- TCP

Introduzione. Java. G. Prencipe prencipe@di.unipi.it. accesso alla rete -- TCP Java accesso alla rete -- TCP G. Prencipe prencipe@di.unipi.it Introduzione Storicamente, programmare su un sistema di macchine distribuite è sempre stato complesso Il programmatore doveva conoscere diversi

Dettagli

Datagrammi. NOTA: MulticastSocket estende DatagramSocket

Datagrammi. NOTA: MulticastSocket estende DatagramSocket Datagrammi Le applicazioni che comunicano tramite socket possiedono un canale di comunicazione dedicato. Per comunicare, un client ed un server stabiliscono una connessione, trasmettono dati, quindi chiudono

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

Sicurezza: necessità. Roberto Cecchini Ottobre 2002 1

Sicurezza: necessità. Roberto Cecchini Ottobre 2002 1 Sicurezza: necessità Riservatezza: la comunicazione è stata intercettata? Autenticazione: l utente è veramente chi dice di essere? Autorizzazione: ogni utente può accedere solo alle risorse cui ha diritto.

Dettagli

Programmare con le Socket TCP in java. 2: Application Layer 1

Programmare con le Socket TCP in java. 2: Application Layer 1 Programmare con le Socket TCP in java 2: Application Layer 1 Il Client contatta il server Il Server: Il processo server è sempre attivo in attesa di connessioni (demone) Crea una socket per accettare la

Dettagli

RMI e Firewall. Una soluzione è offerta dal transport layer di RMI stesso

RMI e Firewall. Una soluzione è offerta dal transport layer di RMI stesso Firewall Ogni applicazione di rete, che opera fuori da quelli che sono i confini di una rete locale, incontra inevitabilmente i cosiddetti firewall Tipicamente i firewall bloccano tutto il traffico di

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

PKI PUBLIC KEY INFRASTRUCTURES

PKI PUBLIC KEY INFRASTRUCTURES Premesse PKI PUBLIC KEY INFRASTRUCTURES Problemi Come distribuire in modo sicuro le chiavi pubbliche? Come conservare e proteggere le chiavi private? Come garantire l utilizzo corretto dei meccanismi crittografici?

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

Sommario. Introduzione alla Sicurezza Web

Sommario. Introduzione alla Sicurezza Web Sommario Introduzione alla Sicurezza Web Considerazioni generali IPSec Secure Socket Layer (SSL) e Transport Layer Security (TLS) Secure Electronic Transaction (SET) Introduzione alla crittografia Introduzione

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP D /LQH&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: i inviano al server pacchetti (vuoti) che vengono interpretati dal server come richiesta

Dettagli

Problemi legati alla sicurezza e soluzioni

Problemi legati alla sicurezza e soluzioni Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Accesso remoto ad impianti domotici Problemi legati alla sicurezza e soluzioni Domotica

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Vallarino Simone. Corso di sicurezza A.A. 2003/2004 HTTPS

Vallarino Simone. Corso di sicurezza A.A. 2003/2004 HTTPS Vallarino Simone Corso di sicurezza A.A. 2003/2004 HTTPS INTRODUZIONE Per cominciare a parlare di https è necessario aprire la discussione ricordando le caratteristiche dell http: HTTP Nel sistema telematico

Dettagli

Corso di Reti di Calcolatori

Corso di Reti di Calcolatori Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (3 a parte) e comandi di rete paolo.trunfio@deis.unical.it 1 Datagrammi Le applicazioni che

Dettagli

Approfondimento di Marco Mulas

Approfondimento di Marco Mulas Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Web Autore: Alessio Bernardo Revisione: 1 Data: 23/05/13 Titolo: Sviluppo piattaforma e-learning e sviluppo siti web File: Documentazione tecnica Sito:

Dettagli

Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale S/MIME rilasciato

Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale S/MIME rilasciato Guida all installazione e all utilizzo di un certificato personale S/MIME (GPSE) Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale

Dettagli

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind()

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind() Organizzazione della lezione Lezione 18 Remote Method Invocation - 6 Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno

Dettagli

Cifratura simmetrica

Cifratura simmetrica Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

Dettagli

Sicurezza in Internet

Sicurezza in Internet Sicurezza in Internet Mario Cannataro cannataro@unicz.it 1 Sommario Internet, Intranet, Extranet Servizi di filtraggio Firewall Servizi di sicurezza Autenticazione Riservatezza ed integrità delle comunicazioni

Dettagli

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008 Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Sicurezza in Internet. Criteri di sicurezza. Firewall

Sicurezza in Internet. Criteri di sicurezza. Firewall Sicurezza in Internet cannataro@unicz.it 1 Sommario Internet, Intranet, Extranet Criteri di sicurezza Servizi di filtraggio Firewall Controlli di accesso Servizi di sicurezza Autenticazione Riservatezza,

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509. Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509. Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509 Chiara Braghin chiara.braghin@unimi.it! OpenSSL (1) Libreria crittografica rilasciata come software opensource

Dettagli

La sicurezza nel Web

La sicurezza nel Web La sicurezza nel Web Protezione vs. Sicurezza Protezione: garantire un utente o un sistema della non interazione delle attività che svolgono in unix ad esempio i processi sono protetti nella loro esecuzione

Dettagli

PRINCIPI DI COMPUTER SECURITY. Andrea Paoloni

PRINCIPI DI COMPUTER SECURITY. Andrea Paoloni PRINCIPI DI COMPUTER SECURITY Andrea Paoloni 2 Cade il segreto dei codici cifrati Corriere della Sera 26 febbraio 2008 3 Gli hacker sono utili? 4 Safety vs Security SAFETY (salvezza): protezione, sicurezza

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Laboratorio di Programmazione di Rete Docente: Novella Bartolini Lezione dell 16 Maggio 2005

Laboratorio di Programmazione di Rete Docente: Novella Bartolini Lezione dell 16 Maggio 2005 Laboratorio di Programmazione di Docente: Novella Bartolini Lezione dell 16 Maggio 2005 Mandare una e-mail da una pagina JSP Esistono numerosi package che fanno al caso nostro Le API JavaMail sono fornite

Dettagli

Corso di Reti di Calcolatori. Datagrammi

Corso di Reti di Calcolatori. Datagrammi Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (3 a parte) e comandi di rete paolo.trunfio@deis.unical.it 1 Datagrammi Le applicazioni che

Dettagli

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità: 7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)

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

OpenVPN: un po di teoria e di configurazione

OpenVPN: un po di teoria e di configurazione Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica 10 dicembre 2004 Sommario 1 Introduzione: definizione e utilizzo delle VPN 2 3 4 5 Sommario

Dettagli

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB Precondizioni Per poter eseguire i passi previsti da questa procedura è necessario che: - l'operatore (di seguito OP) abbia presentato l istanza

Dettagli

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca)

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca) Ministero dell Istruzione, dell Università e della Ricerca Istituto Tecnico Industriale Statale Enrico Mattei Via Martiri di Cefalonia 46-20097 San Donato Milanese Tel. 0255691411 - Fax 025276676 itisando@tin.it

Dettagli

Crittografia. Crittografia Definizione. Sicurezza e qualità dei servizi su internet. 2009 Università degli Studi di Pavia, C.

Crittografia. Crittografia Definizione. Sicurezza e qualità dei servizi su internet. 2009 Università degli Studi di Pavia, C. Definizione La crittografia è la scienza che utilizza algoritmi matematici per cifrare e decifrare i dati. La criptoanalisi è la scienza che analizza e decifra i dati crittografati senza conoscerne a priori

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server Versione 30.5.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/: applicazioni 1 La logica dei socket Abbiamo visto che un applicazione client si connette

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

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec Crittografia Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec Elementi di crittografia Crittografia: procedimento

Dettagli

Appl. di emissione PKCS#11. API (Metacomandi) Resource Manager Windows. Drivers PC/SC dei lettori

Appl. di emissione PKCS#11. API (Metacomandi) Resource Manager Windows. Drivers PC/SC dei lettori Roma, 30 gennaio 2003 La realtà della carta di identità elettronica (nel seguito CIE) e della carta nazionale dei servizi (nel seguito CNS) rende ineluttabile l individuazione di servizi da erogare in

Dettagli

Introduzione alla programmazione Http lato server in Java

Introduzione alla programmazione Http lato server in Java Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url

Dettagli

Flussi, lettori e scrittori

Flussi, lettori e scrittori Flussi, lettori e scrittori Per sequenze di byte, InputStream, OutputStream e loro sottoclassi. Es: InputStream in = ; int next = in. read(); if (next!= -1) byte b = (byte) next; Per sequenze di caratteri,

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

RMI: metodi equals e hashcode

RMI: metodi equals e hashcode RMI: metodi equals e hashcode Per verificare se due oggetti remoti contengono gli stessi dati, la chiamata indirizzata al metodo equals() avrebbe bisogno di contattare i server dove si trovano gli oggetti

Dettagli

SSL (cenni) Problema con socket standard

SSL (cenni) Problema con socket standard SSL (cenni) M. Danelutto Lab. di programmazione di rete - Corso B A.A. 07-08 Problema con socket standard Dati inviati viaggiano in chiaro intercettabili (basta uno sniffer) Non è garantita autenticazione

Dettagli

Compute engine generici in RMI

Compute engine generici in RMI Compute engine generici in RMI Esempio: Calcolo del prodotto scalare Un unico server offre il servizio di calcolo del prodotto scalare tra vettori di interi Un client richiede al server il calcolo del

Dettagli

Benvenuti. Luca Biffi, Direttore Supporto Tecnico di Achab supporto@achab.it. Achab techjam Gateway PEC per MDaemon

Benvenuti. Luca Biffi, Direttore Supporto Tecnico di Achab supporto@achab.it. Achab techjam Gateway PEC per MDaemon Benvenuti Luca Biffi, Direttore Supporto Tecnico di Achab supporto@achab.it Achab techjam Gateway PEC per MDaemon Protocolli di sicurezza per la posta elettronica... inclusa la PEC Achab 2 Agenda Acronimi

Dettagli

Livello Applicazione. Davide Quaglia. Motivazione

Livello Applicazione. Davide Quaglia. Motivazione Livello Applicazione Davide Quaglia 1 Motivazione Nell'architettura ibrida TCP/IP sopra il livello trasporto esiste un unico livello che si occupa di: Gestire il concetto di sessione di lavoro Autenticazione

Dettagli

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009 Applicazioni per l autenticazione Kerberos Kerberos Servizio di autenticazione sviluppato dal MIT Fornisce un server di autenticazione centralizzato Basato su crittografia simmetrica (chiave privata) Permette

Dettagli

Corso di Reti di Calcolatori. java.net.url

Corso di Reti di Calcolatori. java.net.url Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (2 a parte) paolo.trunfio@deis.unical.it 1 java.net.url URL (String spec) crea un oggetto URL

Dettagli

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente Centro Tecnico RUPAR Puglia Servizio PEC Manuale Utente Versione 1.1 Del 22-01-2009 Controllo della Configurazione Titolo: Servizio PEC Manuale Utente Autore: Gruppo di Lavoro Centro Tecnico Rupar Storia

Dettagli

Corso di ARCHITETTURA DEI SISTEMI INFORMATIVI - Prof. Crescenzio Gallo. 114 Sistemi informativi in rete e sicurezza 4.6

Corso di ARCHITETTURA DEI SISTEMI INFORMATIVI - Prof. Crescenzio Gallo. 114 Sistemi informativi in rete e sicurezza 4.6 Approcci al problema della sicurezza 114 Sistemi informativi in rete e sicurezza 4.6 Accessi non autorizzati Hacker: coloro che si avvalgono delle proprie conoscenze informatiche e di tecnologia delle

Dettagli

Input/Output in Java

Input/Output in Java Corso Java Input/Output in Java Docente: Dott. Marco Bianchi Slide realizzate da Ing. A.Bei, Dott. M.Bianchi, Dott. F.Lombardi Input/Output in Java Per effettuare operazioni di I/O in Java è possibile

Dettagli

I flussi di ieri e di oggi

I flussi di ieri e di oggi I flussi di ieri e di oggi Si crea il documento ieri si firma si spedisce si protocolla si archivia si conserva oggi Firma digitale Posta Elettronica (Certificata) Protocollo informatico Conserv. a norma

Dettagli

Jav@Lab Il linguaggio Java I file sequenziali

Jav@Lab Il linguaggio Java I file sequenziali Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria

Dettagli

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete Compito in classe proposto Realizzare un applicazione C/S per trasferire al Client il contenuto

Dettagli

CONCETTI DI NAVIGAZIONE IN RETE

CONCETTI DI NAVIGAZIONE IN RETE CONCETTI DI NAVIGAZIONE IN RETE Internet (La rete delle reti) è l insieme dei canali (linee in rame, fibre ottiche, canali radio, reti satellitari, ecc.) attraverso cui passano le informazioni quando vengono

Dettagli

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente Centro Tecnico RUPAR Puglia Servizio PEC Manuale Utente Versione 1.4 Del 29-05-2015 Controllo della Configurazione Titolo: Servizio PEC Manuale Utente Autore: Gruppo di Lavoro Centro Tecnico Rupar Storia

Dettagli

FORSETI BLOG. Readcast. Aprile 2014 Speciale Heartbleed. http://blog.forseti.it/

FORSETI BLOG. Readcast. Aprile 2014 Speciale Heartbleed. http://blog.forseti.it/ FORSETI BLOG Readcast Aprile 2014 Speciale Heartbleed http://blog.forseti.it/ Indice di 3 Forseti Blog - Aprile 2014 3 di Dottore in Sicurezza dei Sistemi e delle Reti Informatiche, Dottore Magistrale

Dettagli

Sicurezza delle email, del livello di trasporto e delle wireless LAN

Sicurezza delle email, del livello di trasporto e delle wireless LAN Sicurezza delle email, del livello di trasporto e delle wireless LAN Damiano Carra Università degli Studi di Verona Dipartimento di Informatica La sicurezza nello stack protocollare TCP/IP Livello di rete

Dettagli

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124 UnicastRemoteObject Java RMI fornisce diverse classi base per definire server remoti: UnicastRemoteObject < RemoteServer < RemoteObject dove A < B significa che A è una sottoclasse di B. UnicastRemotObject

Dettagli

Elementi di Sicurezza informatica

Elementi di Sicurezza informatica Elementi di Sicurezza informatica Secure Socket Layer Università degli Studi di Perugia Indice 1 1.Introduzione 2 3 Perché SSL Funzionalità Storia di SSL Introduzione Introduzione Perché SSL; Funzionalità;

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

La sicurezza nelle comunicazioni fra PC. Prof. Mauro Giacomini A.A. 2008-2009

La sicurezza nelle comunicazioni fra PC. Prof. Mauro Giacomini A.A. 2008-2009 La sicurezza nelle comunicazioni fra PC Prof. Mauro Giacomini A.A. 2008-2009 Sommario Cosa significa sicurezza? Crittografia Integrità dei messaggi e firma digitale Autenticazione Distribuzione delle chiavi

Dettagli

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Firma digitale Definizione

Firma digitale Definizione FIRMA DIGITALE Firma digitale Definizione La definizione di firma digitale è contenuta nel Dlgs. Del 4/04/2006 n.159 che integra il Codice dell amministrazione digitale in vigore dal 1/01/2006. Firma digitale

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli