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

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

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

(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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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

Protocolli Internet. Canale di comunicazione. canale di comunicazione

Protocolli Internet. Canale di comunicazione. canale di comunicazione Network Programming Java Programming Language Livelli di middleware Applicazioni e servizi RMI send, receive, read, write serializzazione UDP e TCP Rete 2 Protocolli Internet Un processo è definito da

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TFA 42 Sistemi e Reti di Calcolatori per la Didattica

TFA 42 Sistemi e Reti di Calcolatori per la Didattica Università degli Studi di Pisa 42 Sistemi e Reti di Calcolatori per la Didattica 29/03/2013 Laura Ricci Laura Ricci 1 DNS: DOMAIN NAME SYSTEM Persone: molti identificativi: o # CF, nome, # passaporto Host

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

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

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

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

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

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete 1. Si consideri un protocollo per il trasporto non affidabile di dati realtime. Il sender spedisce un pacchetto

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

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

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

Synchronized (ancora)

Synchronized (ancora) Synchronized (ancora) Riscriviamo l esempio di prima. Usiamo una struttura modulare, con una classe Notificatore che ha opportuni metodi. La classe ha due campi privati, la lista buftext e un suo thread.

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

Java Networking TCP J0 1. Marco Ronchetti - ronchet@altavista.it

Java Networking TCP J0 1. Marco Ronchetti - ronchet@altavista.it Java Networking TCP 1 Sockets Java supporta un accesso semplificato e objectoriented alle sockets. Questo rende la network comunicazione di rete sensibilmente piu semplice. Molto piu semplice che in C++!!

Dettagli

RuparPiemonte Manuale di installazione certificato digitale per la sicurezza Certification Authority di SistemaPiemonte

RuparPiemonte Manuale di installazione certificato digitale per la sicurezza Certification Authority di SistemaPiemonte RuparPiemonte Manuale di installazione certificato digitale per la sicurezza Certification Authority di SistemaPiemonte Pag. 1 di 17 SOMMARIO 1. PREMESSE...2 2. IL...2 3. VERIFICA DELLA VERSIONE CORRETTA

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

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

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

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

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

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

Crittografia in Java

Crittografia in Java Crittografia in Java di Oreste Delitala Progetto di Computer Security 2013-2014 Introduzione La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare

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

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

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

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT Meccanismi di autenticazione sicura Paolo Amendola GARR-CERT Argomenti Crittografazione del traffico Identita digitali One-time passwords Kerberos Crittografazione del traffico Secure Shell SASL SRP sftp

Dettagli

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Telematica II 15. Esercitazione/Laboratorio 5

Telematica II 15. Esercitazione/Laboratorio 5 Protocollo FTP FTP Client TCP control connection (port 21) FTP Server Telematica II 15. Esercitazione/Laboratorio 5 File System locale TCP data connection (port( 20) File System remoto La connessione di

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Internet Socket e RMI

Internet Socket e RMI Internet Socket e RMI Programmazione in Rete e Laboratorio Architettura / Un servizio presso un computer-server è identificato dai seguenti valori: IP (32 bit, presto 128 bit) (16 bit) Servizi telnet TCP

Dettagli

Il Linguaggio Java: Socket.

Il Linguaggio Java: Socket. Il Linguaggio Java: Socket Il Linguaggio Java: Socket. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@disi.unige.it Walter Cazzola Java Avanzato:

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

Programmazione concorrente in Java

Programmazione concorrente in Java Programmazione concorrente in Java Multithreading in Java Ogni thread e un oggetto, creato come istanza della classe java.lang.thread La classe Thread contiene tutti i metodi per gestire i threads L utente

Dettagli