JUG Ancona Italy. Sicurezza in Java. Andrea Del Bene. Membro fondatore Jug Marche

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JUG Ancona Italy. Sicurezza in Java. Andrea Del Bene. Membro fondatore Jug Marche"

Transcript

1 JUG Ancona Italy Sicurezza in Java Andrea Del Bene Membro fondatore Jug Marche

2 Teoria della comunicazione Mittente: chi produce l'informazione e la vuole comunicare Destinatario: chi riceve la comunicazione inviata dal mittente Comunicazione riservata: può essere compresa solo da specifici destinatari voluti dal mittente (al limite solo il mittente stesso!).

3 Esigenza di riservatezza. Informazioni tattiche: ambito milatare, politco, economico... Erogazione servizi apagamento: pay tv Esigenze di privacy...

4 Esigenza di autenticazione. Ci basta la riservatezza? NO! In diversi contesti ci vuole anche autenticazione. -Dobbiamo essere sicuri sull'identità del nostro interlocutore -Dobbiamo avere la garanzia che l'informazione scambiata non sia manibolata da qualcuno durante la comunicazione.

5 Esigenza di autenticazione. Esempi Chi non ha sentito parlare di phising? Di mail fasulle? Di spam? dobbiamo essere sicuri dell'identità del mittente di un messaggio che ci arriva dobbiamo essere sicuri dell'identità di chi eroga il servizo -il sito di home bancking che sto usando è veramente vero?

6 Crittografia moderna La crittografia moderna si occupa di risolvere sia il problema della riservatezza sia quello dell'autenticazione. In genere garantire l'autenticazione è più impegnativo Garantire l'autenticazione di solito implica garantire riservatezza. Autenticazione Riservatezza

7 Definizione di crittografia Cifratura: rendere illeggibile un'informazione tramite tecniche crittografiche Decifratura: rendere nuovamente leggibile un'informazione tramite le stesse tecniche crittografiche usate per la cifratura Cifrario: tecnica crittografica con cui ottengo riservatezza e/o autenticazione

8 JUG Ancona Italy Riservatezza Come garantire riservatezza dei propri dati? Cifratura a chiave simmetrica.

9 Canali di comunicazioni riservati Soluzione naive: non uso la crittografia :-) e comunico su un canale riservato e accessibile solo al mittente e ai destinatari. Impossibile (nel quotidiano): devo creare un canale ad hoc esclusivo e riservato. Costi improponibili. Implementazione: linea rossa Mosca-Washington, canali bancari...

10 Canali di comunicazione non riservati Nella realtà le comunicazioni avvengono quasi sempre su canali non riservati: -comunicazione verbale (aria) -Internet (aperta per natura), canali telefonici Se il mittente può usare solo canali non riservati deve agire sull'informazione, rendendola comprensibile solo a chi vuole lui.

11 Prima soluzione: comunicare in codice! Il codice assegna a significati arbitrari a determinate parole/simboli si usa un canale non riservato l'informazione viene compresa solo da chi conosce il codice Es: pizzini di Provenzano... Il codice usato è detto anche cifrario.

12 Esempio di comunicazione in codice: cifrario di Cesare Mittente: Cesare Destinatari: i suoi generali Canale di comunicazione: messaggi scritti su carta, tarsportati da una staffetta. Funzionamento: si riscrive il messaggio traslando ogni lettera avanti di 3 posizioni rispetto l'alfabeto: la a diventa d, la i diventa n, la z diventa c... Es: Ciao diventa Fndr Prima di mandarli in missione Cesare spiega il trucco ai generali. Se il messaggio cade in mani nemiche non può essere compreso.

13 Cifrari moderni. Nei giorni nostri i cifrari si basano su complessi algoritmi matematici Tali algoritmi sono pubblici, ma richiedono almeno un parametro in input segreto, detto chiave. Basano la loro forza sulla complessità matematica, rendono "confusa" l'informazione in maniera molto sofisticata E' computazionalmente impossibile mettere in chiaro un'informazione così cifrata. Impiegheremmo un numero di anni nemmeno pronunciabile (età dell'universo miliardi di anni)!

14 Crittografia a chiave simmetrica 1 La branca della crittografia che assicura riservatezza ai nostri dati è chiamata Crittografia a chiave simmetrica. Chiave simmetrica indica che mittente e destinatario condividono la stessa chiave da usare con l'algoritmo di cifratura scelta e devono in qualche modo mettersi d'accordo sulla chiave comune da usare! Quindi (teorema ovvio)... La chiave deve rimanere segreta tra mittenti e destinatari!

15 Crittografia a chiave simmetrica 2 La chiave usata da mittente e destinatario è sempre la stessa! Cifrario (cifratura) Mittente Cifrario (decifratura) Destinatario

16 Algoritmi asimmetrici Algoritmi veloci e molto robusti Non risolvono il problema della distribuzione della chiave e della mutua autenticazione (vedremo) Algoritmi più usati: -Blowfish, DES (molto vecchio), 3DES (triplo DES), AES...

17 Algoritmi asimmetrici: AES AES è il re degli algoritmi simmetrici. Molto recente (anno 2000), scelto tramite concorso dall'esercito americano per rimpiazzare il DES Ideato da Joan Daemen e Vincent Rijmen professori dell'università di Katholieke Universiteit Leuven (Belgio)

18 Algoritmi asimmetrici: la chiave Per usare questi algoritmi occcorre generare la chiave segreta. La chiave ha una dimensione variabile in bit Sono "sicure" chiavi di almeno 128 bit Il DES è bloccato a 56 bit :( ed è quindi obsoleto ed insicuro Una decina di anni fa una chiave DES è stata "rotta" in meno di 24 ore con dei computer connessi su Internet DES è stata un ottimo laboratorio per evidenziare debolezze e mancanze da correggere nei futuri algoritmi.

19 Attacco di forza bruta Posso pensare di rompere l'algoritmo provando tutte le possibili chiavi...ma quante sono? Con una chiave da N bit le possibili chiavi sono 2^N (2 elevato alla N). Es: chiave da 128 bit, 2^128 possibili chiavi...ti passa la voglia di provarle tutte! Posso creare anche chiavi più sicure: -256 bit -512 bit -...sei paranoico??!!

20 Finalmente un po' di codice... Generiamo una chiave 3DES. Il triple DES come dice il nome è un DES 3 volte più sicuro : 3 x 56 = 168 bit di chiave. La dimensione della chiave è fissa. KeyGenerator keygenerator = KeyGenerator.getInstance("TripleDES"); keygenerator.init(168); Key key = keygenerator.generatekey(); Ora per usare questa chiave ci serve il cifrario, opportuna -mente inizializzato... Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding"); Come possiamo notare, per creare il cifrario non ci siamo limitati a specificare l'algoritmo voluto.

21 La Modalità e il Padding. Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding"); Istanziazione del cifrario è possibile specificare: 1. il tipo di chiave [TripleDES], 2. la Modalità [ECB], 3. il Padding [PKCS5Padding] La creazione di un cifrario asimmetrico richiede di specificare anche una Modalità e un Padding e quindi (purtroppo per voi :-) ) dobbiamo vedere questi due concetti...

22 Modalità La modalità definisce come un cifrario debba applicare un algoritmo di cifratura. Ad esempio si può specificare se un cifrario deve essere a blocchi o a flusso. La differenza tra cifrario a blocchi o a flusso è abbastanza semplice: Il cifrario a flusso cifra un byte alla volta, il cifrario a blocchi considera più byte alla volta (es 8). Alcuni algoritmi consentono di specificare la grandezza del blocco.

23 Modalità a blocchi 1 Noi considereremo la modalità a blocchi. Ma anche l'uso dei blocchi ci costringe a scegliere tra due modalità operative... Due tra le modalità più comuni sono: ECB :[Elettronic Code Book] lo stesso blocco di dati in chiaro viene sempre cifrato con lo stesso blocco di dati cifrato. CBC :[Cipher Block Chaining] ogni blocco cifrato dipende dal relativo blocco in chiaro, ma anche da tutti i blocchi precedenti e da un vettore di inizializzazione IV.

24 Modalità a blocchi 2 Si ma che problema c'è se a blocchi in chiaro uguali corrispondono blocchi cifrati sempre uguali? La figura al centro è cifrata in modalità ECB. (fonte Wikipedia)

25 Modalità a blocchi 3

26 Padding I cifrari a blocchi operano su blocchi di dati ma i dati in chiaro difficilmente saranno esattamente un multiplo del blocco prima di cifrare occorre dunque aggiungere il padding (spaziatura).

27 Padding Il padding PKCS#5 (Public Key Criptography Standard) è il più utilizzato per la Cifratura simmetrica e funziona in questo modo: Ai byte che mancano per riempire un blocco viene assegnato un numero che equivale al numero di byte mancanti. h e l l o blocco blocco t e s t t r o t t a 2 2 blocco blocco

28 Esempio finale 1 KeyGenerator keygenerator = KeyGenerator.getInstance("TripleDES"); keygenerator.init(168); Key key = keygenerator.generatekey(); Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding"); cipher.init(cipher.encrypt_mode, key); byte[] plaintext = text.getbytes("utf8"); byte[] ciphertext = cipher.dofinal(plaintext);... Per decifrare... cipher.init(cipher.decrypt_mode, key); byte[] decryptedtext = cipher.dofinal(ciphertext);

29 Esempio finale 2 Per usare il CBC... Cipher cipher = Cipher.getInstance("Rijndael/CBC/PKCS5Padding"); SecureRandom random = new SecureRandom(); byte[] iv = new byte[16]; random.nextbytes(iv); IvParameterSpec spec = new IvParameterSpec(iv); La classe SecureRandom permette di generare i RandomBytes, che permettono a loro volta la creazione del SEME, grazie alla classe IvParameterSpec cipher.init(cipher.encrypt_mode, key, spec);

30 Password-Based Encryption Il problema di questo metodo sta nel fatto che è meno potente di DESede o Blowfish. con questi algoritmi si usano fino a 448 bit con password di un utente medio sarà circa di 6 caratteri e quindi 48 bit come password si usano parole con un significato keyspace davvero limitato Inoltre le password sono soggette agli attacchi con dizionario 2 tecniche: Salting; Conteggi di ripetizione

31 Salting conteggi di ripetizione Salting Consiste nell aggiungere alla password un insieme di bit casuali per ampliarne il keyspace Conteggi di ripetizione Consiste nel effettuare molte volte, un operazione sulla password per ottenere la chiave per il cifrario PBE. ad esempio se applico alla password 1000 volte un algoritmo di hash per un intruso sarà 1000 volte più difficile rompere il cifrario

32 Cifratura Testo In chiaro Testo cifrato Password Cifrario PBE Salt SALT Dati cifrati Testo Cifrato

33 Codice di esempio di PBE private final int ITERATIONS = 1000; int ITERATIONS = 1000; byte[] salt = new byte[8]; Random random = new Random(); random.nextbytes(salt); PBEKeySpec keyspec = new PBEKeySpec(password); SecretKeyFactory keyfactory=secretkeyfactory.getinstance("pbewithmd5andde SecretKey key = keyfactory.generatesecret(keyspec);

34 Codice di esempio di PBE 2 PBEParameterSpec paramspec = new PBEParameterSpec(salt, ITERATIONS); Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES"); cipher.init(cipher.encrypt_mode, key, paramspec); byte[] ciphertext = cipher.dofinal(plaintext.getbytes()); String saltstring = new String(salt); String ciphertextstring = new String(cipherText); return saltstring+ciphertextstring;

35 Decifratura Testo cifrato SALT Dati cifrati Testo Cifrato Password Cifrario PBE Salt Testo In chiaro

36 Decifratura (codice) String salt = input.substring(0,8); String ciphertext = input.substring(8,text.length()); byte[] saltarray = salt.getbytes(); byte[] ciphertextarray = ciphertext.getbytes(); // Creazione di PBEKeySpec con la password PBEKeySpec keyspec = new PBEKeySpec(password); // SecretKeyFactory per PBEWithMD5AndDES SecretKeyFactory keyfactory = SecretKeyFactory.getInstance(" PBEWithMD5AndDES "); // Creazione della chiave SecretKey key = keyfactory.generatesecret(keyspec); // Creazione di un parameter spec per salt e iterations PBEParameterSpec paramspec = new PBEParameterSpec(saltArray, ITERATIONS); // Creazione del cifrario e inizializzazione Cipher cipher = Cipher.getInstance(" PBEWithMD5AndDES "); cipher.init(cipher.decrypt_mode, key, paramspec); // Decifratura byte[] plaintextarray = cipher.dofinal(ciphertextarray); return new String(plaintextArray);

37 Memorizzazione della chiave memorizzazione della chiave su floppy o smart card scomodo perché servono mezzi fisici esterni Supponiamo allora di utilizzare il disco fisso: occorre cifrare la chiave un metodo per farlo è usare PBE dobbiamo essere consci però del fatto che la memorizzazione nel FileSystem riduce la sicurezza delle chiavi. Conviene allora proteggere ulteriormente la chiave ad esempio impostando i permessi di accesso al file

38 Incapsulamento ed estrazione della chiave Alcuni provider che implementano JCE forniscono un più comodo mezzo per la cifratura della chiave Occorre un cifrario PBE È possibile incapsulare una chiave segreta, come segue: cipher.init(cipher.wrap_mode, passwordkey, paramspec); Byte[] encryptedkeybytes = cipher.wrap(secretkey); Per decifrare la chiave: cipher.init(cipher.unwrap_mode, passwordkey, paramspec); Key key = cipher.unwrap(encryptedkeybytes, Blowfish, Cipher.SECRET_KEY);

39 CipherStreams CipherInputStream e CipherOutputStream: costituiscono utili contenitori intorno ai flussi standard di I/O Sono capaci di cifrare automaticamente. Esempio: FileInputStream input = new FileInputStream( plaintext_filename ); FileOutputStream output = new FileOutputStream( ciphertext_filename ) ; CipherOuputStream cipheroutput = new CipherOutputStream (ouput,cipher);

40 JUG Ancona Italy Autenticazione Come garantire la mutua autenticazione tra mittente e destinatario? Come evitare di doversi scambiare una chiave su canale pubblico? Cifratura a chiave asimmetrica.

41 Cifratura a chiave asimmetrica 1. Nella cifratura a chiave simmetrica si basa sul concetto di chiave pubblica e chiave privata. Entrambe le chiavi possono essere usate per la cifratura o per la decifratura, però... REGOLA: ciò che viene cifrato da una delle chiavi è rimesso in chiaro dall'altra! Il meccanismo è quindi ben diverso dalla cifratura asimmetrica dove la stessa chiave cifra e mette in chiaro.

42 Cifratura a chiave asimmetrica 2. Le chiavi sono generate in coppia dallo stesso algoritmo asimmetrico. Tuttavia le chiavi non sono fisicamente correlate, è impossibile ricavarne una conoscendo l'altra! Come dice il nome la chiave pubblica è di pubblico dominio, mentre quella privata rimane ben nascosta da chi l'ha generata. Es: voglio inviare un messaggio che può essere letto solo e soltanto da un destinatario con chiave pubblica e privata

43 Ma posso fare molto di più... Il destinatario come fa a fidarsi che il messaggio sia stato spedito da un determinato mittente? Vogliamo assicurare mutua autenticazione a entrambi i soggetti... Allora facciamo così: 1.Prima di cifrare il messaggio con la chiave pubblica del destinatario produciamo un hash del messaggio. 2.L'hash viene cifrato con la chiave privata del mittente. 3.Vengono inviati l'hash e il messaggio così cifrati. 4.Il destinatario mette in chiaro il messaggio con la sua chiave privata e ne calcola l'hash. 5.Il destinatario mette in chiaro l'hash con la sua chiave pubblica del mittente. 6.Se i due hash sono uguali il destinatario è sicuro dell'origine del messaggio.

44 Firma digitale Il secondo punto del meccanismo appena esposto si chiama proprio firma digitale, poiché è in grado di associare un documento all'identità di un suo produttore. In sostanza si tratta di cifrare l'hash di un file con la propria chiave privata in modo che tutti possano verificare la paternità del documento.

45 Algoritmo RSA 1 E' l'algoritmo più usato per la produzioni di chiavi pubbliche/private. Non vedremo nel dettaglio tale algoritmo. Ad RSA si è arrivati mediante lo studio dell'aritmetica dei moduli e dei numeri primi... 7 mod 5 = 2, 4 mod 3 = 1 Numeri primi, coprimi, crivello di Erastone... Teorema di Eulero... Esponenziazione di numeri primi.

46 Algoritmo RSA 2 La sicurezza computazionale di RSA si basa sul problema della scomposizione in fattori primi di un numero. E' molto difficile scomporre un numero molto grande nei suoi fattori primi. Per qusto RSA... richiede chiavi molto grandi, almeno 1024 bit, forse non più sufficienti tra qualche anno... Nel 2005 un gruppo di ricerca riuscì a scomporre un numero di 640 bit (193 decimali) in due numeri primi da 320 bit, impiegando per cinque mesi un cluster Opteron con 80 processori da 2,2 GHz, potenzialmente decifrando un messaggio codificato con RSA-640.

47 Algoritmo RSA: controindicazioni La cifratura con RSA è molto più debole di una cifratura con chiave simmetrica. Una chiave AES a 256 bit è già molto sicura. Se un algoritmo di cifratura è debole meno dati si cifrano meglio è... Inoltre la crittografia asimmetrica è circa 1000 volte più lenta della crittografia simmetrica, ergo... Si cifrano sempre pochi dati con una chiave asimmetrica, pochi byte (hash, chiavi simmetriche)

48 RSA + chiave asimmetrica Voglio mandare a Bob un messaggio riservato e voglio che solo lui lo legga. 1.Mi creo una chiave simmetrica (es: AES) 2.Cifro il messaggio con la chiave simmetrica 3.Cifro la chiave simmetrica con la chiave pubblica di bob 4.Invio a Bob la coppia messaggio cifrato + chiave cifrata Bob una volta ricevuto il tutto: 1.Separa il messaggio cifrato dalla chiave cifrata 2.Rimette in chiaro la chiave simmetrica cifrata con la sua chiave privata 3.Rimette in chiaro il messaggio cifrato con la chiave simmetrica. La chiave di simmetrica è detta chiave di sessione Es: siti Internet con SSL,...

49 Modalità Padding Nei cifrari asimmetrici si usa quasi sempre ECB Nella cifratura asimmetrica non si usa PKCS#5 Tipicamente i cifrari asimmetrici sono utilizzati per cifrare un singolo blocco in chiaro Generalmente le dimensioni di quel blocco sono grandi quasi come quelle della chiave Se è necessario cifrare più dati si utilizzerà la cifratura a chiave di sessione che vedremo in seguito Gli standard per cifrare con RSA sono invece PKCS#1 e OAEP (Optimal Asymmetric Encryption Padding) Di seguito non sarà illustrato il funzionamento di tali forme di padding Per chi fosse interessato :

50 Cifrare con RSA // Creazione di una coppia di chiavi RSA KeyPairGenerator keypairgenerator=keypairgenerator.getinstance("rsa"); keypairgenerator.initialize(1024); KeyPair keypair = keypairgenerator.genkeypair(); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(cipher.encrypt_mode, keypair.getpublic()); byte[] messagebytes = new String( Combinazione:1234 ).getbytes( UTF8 ); byte[] ciphertext = cipher.dofinal(messagebytes);

51 PROBLEMA Convalida di una firma serve una chiave pubblica Ma come essere certi che la chiave pubblica è autentica? Serve un qualche mezzo per averne la certezza I CERTIFICATI sono il tentativo di risolvere questo problema attribuendo l identità a una chiave pubblica in modo inconfutabile

52 CERTIFICATI DIGITALI Un certificato digitale è la garanzia fornita da una terza parte che una chiave pubblica appartiene al suo proprietario Questa terza parte è detta Certificate Authority (CA) Le due CA più note sono Verisign e Thawte (che in realtà è una filiale di Verisign). Per l elenco dei certificatori attivi in Italia vedere La CA certifica una chiave pubblica firmandola con la sua chiave privata

53 Contenuto dei certificati (1) Per default, il JDK utilizza i certificati X.509: Sono gli standard maggiormente utilizzati per i certificati digitali. Sono definiti in RFC 2459 reperibile all indirizzo Esistono 3 versioni di X.509: v1,v2 e v3. v2 e v3 aggiungono ai certificati alcune informazioni supplementari. CERTIFICATO X.509v1 Comprende le seguenti aree: Versione: definisce la versione del certificato: v1,v2,v3 Numero di serie: intero univoco che identifica la CA che emette il certificato

54 Contenuto dei certificati (2) CERTIFICATO X.509v1 Comprende le seguenti aree: Algoritmo di firma: definisce l algoritmo di firma usato dalla CA Validità: definisce il periodo di tempo per cui è valido il certificato. Si usano 2 date: non prima e non dopo. Il certificato è valido solo nell intervallo Soggetto: indica a chi è stato emesso il certificato. I soggetti sono memorizzati coi nomi X.500 Chiave pubblica del soggetto Firma della CA

55 Java e la sicurezza. I progettisti di java hanno da sempre posto molta attenzione al modello di sicurezza implementato nell ambiente Java, migliorandolo di continuo Nella versione Java 2 la sicurezza è policy-based ossia il sistema controlla le risorse a cui può accedere il codice. Tale policy è espressa nel file java.policy che esamineremo tra breve. In generale i permessi sono accordati sulla base di due parametri: codebase e signer CODEBASE: indica la posizione da cui proviene il codice da eseguire. Può quindi essere la directory del disco fisso locale o un URL remoto. SINGNER: indica l entità che ha firmato il codice mediante un certificato digitale (es x.509). Codebase e signer formano il codesource ossia il codice sorgente.

56 Keystore. Prima di esaminare il file di policy è indispensabile vedere come java gestisce le firme crittografiche e come si possa firmare il codice. In Java un keystore è un insieme di chiavi e certificati. Al suo interno si trovano due tipi di voci: I certificati affidabili: un certificato affidabile è un certificato che si presuppone appartenga al soggetto dichiarato su di esso. Un esempio di certificato affidabile è un certificato che proviene da una CA quale Verisign, che verrà utilizzato per verificare altri certificati. Le chiavi private: una chiave privata in un keystore deve essere associata a un certificato per quella chiave. Questo non è un certificato affidabile, ma solo un certificato che contiene il soggetto che possiede la chiave privata.

57 Keytool. In Java c è un keystore predefinito, memorizzato nel file.keystore che si trova nella home directory dell utente. Keytool è un comando che consente di manipolare un keystore e può creare certificati. Per default lavora sul keystore presente nella home directory dell utente (/home/utente/.java/security C:\Documents and Settings\utente\KeyStore). Mediante l opzione keystore è possibile specificare un altro file key-store diverso da quelllo di default. Al primo utilizzo di un file di key-store keytool chiederà con quale password proteggere il file. Tale password ovviamente verrà richiesta nei successivi accessi. Focalizzeremo la nostra attenzione sull utilizzo di keytool per creare certificati e per esportarli dal keystore sotto forma di singoli file, operazione quest ultima indispensabile per firmare il nostro codice.

58 Creazione di un certificato 1. La generazione di un certificato nel keystore di default è effettuata tramite l esecuzione di questo semplice comando: keytool -genkey -alias tomcat -keyalg RSA -genkey: esplicita la volontà di generare una coppia di chiavi asim-metriche e un certificato autofirmato. -alias <alias>: è il nome con cui il certificato verrà creato nel keystore. Nell esempio tale nome è tomcat poiché il certificato sarà utilizzato dal web server in fase di handshake nel protocollo SSL. -keyalg <algoritmo>: questo switch consente di esplicitare l algoritmo con cui verrà creato il certificato. L algoritmo di default è il DSA.

59 Creazione di un certificato.

60 Dettagli del certificato.

61 Esportazione di un certificato. L esportazione di un certificato dal keystore a file è effettuata tramite l esecuzione di questo semplice comando: keytool -export -alias tomcat -file tomcat.cer -export: esplicita la volontà di esportare un certificato. -alias <alias>: è il nome delcertificato da esportare. -file : è semplicemente il nome del file che conterrà il certificato. NOTA: chiaramente esiste anche la funzione speculare di importa-zione dei certificati utile quando si è in possesso di un certificato sicuro (es. firmato Verisign). E sufficiente sostituire all opzione export l opzione import.

62 Esportazione di un certificato.

63 I file jar. I JAR (Java Archive) sono una sorta di file zip potenziati. Al pari di quest ultimi posso infatti contenere file di qualsiasi tipo in forma compressa. Vi si può inoltre inserire il codice copilato e fare in modo che venga eseguito dall ambiente Java. Supponiamo di avere il file compilato del programma FileWriteTest. class (ovviamente va benissimo un qualsiasi programma). Per creare un file JAR FileWriteTest.jar basta digitare: jar cvf FileWriteTest.jar FileWriteTest.class non approfondiremo ulteriormente in questa sede l utilizzo del coman-do jar.

64 Jarsigner. Jarsigner è il comando che ci consente di firmare un JAR con una chiave privata e un certificato presenti nel keystore. Dato il nostro jar HelloWorld.jar e il certificato avente come alias Tomcat la firma avviene nel seguente modo: jarsigner FileWriteTest.jar Tomcat Se volessimo verificare la firma di un jar firmato dovremmo invece scrivere: jarsigner -verify FileWriteTest. jar

65 Creazione e firma di un jar.

66 Jar e le firme. I JAR utilizzano tre elementi per immagazzinare le informazioni relative alla loro firma: 1. Il manifesto 2. Il file di firma 3. Il file di firma digitale A tali elemneti corrisponde un file rispettivo contenuto nella directory META-INF presente in ogni JAR. Di seguito analizzeremo nel dettaglio tali file.

67 Manifesto. Il file di manifesto è MANIFEST.MF. Al suo interno troviamo i nomi e gli hash dei file contenuti nel jar. Nel nostro esempio il contenuto di tale file è il seguente: Manifest-Version: 1.0 Created-By: (Sun Microsystems Inc.) Name: FileWriteTest.class SHA1-Digest: jkg3jhgoz808fyxemsxizhydrru=

68 Il file di firma. Il file di firma è <SIGNER>.MF. Al suo interno troviamo l impronta del manifesto e quella delle voci in esso contenute. Nel nostro esempio il contenuto di tale file è il seguente: Signature-Version: 1.0 Created-By: (Sun Microsystems Inc.) SHA1-Digest-Manifest: R/FQvQw+RjqhKXJu +mvltsi02do= Name: FileWriteTest.class SHA1-Digest: ugufnmsdqbuhzyaylmqjg+wxsu0=

69 Il file di firma digitale. Il file di firma digitale è <SIGNER>.<ALGORITMO>. E un file binario quindi non direttamente leggibile. E ottenuto dalla firma digitale del file.sf nel nostro esempio si chiama TOMCAT.RSA poiché l algoritmo di firma è appunto l RSA.

70 Il security manager 1. E l entità delegata a gestire il controllo dei permessi analizzando il file java.policy. L implementazione di default è java.lang.securitymanager ma può essere sottoclassata. Per illustrare il suo funzionamento af-frontiamo l esempio di un azione potenzialmente pericolosa (accesso ad un file): new FileInputStream( nomefile ); 1. Il codice invoca il security manager per verificarne i permessi. 2. Il security manager decidere se accordare o meno tali permessi de-legando in genere tale azione a java.security.accesscontroller. Se i permessi vengono negati viene lanciata un eccezione java.lang. SecurityException mentre in caso contrario viene restituito il control-lo al chiamante senza problemi. Il security manager controlla l intero thread di esecuzione per controllare che tutte le classi dello stack dispongano dei diritti necessari.

71 Il security manager 2. Di norma il security manager non è attivo ed è necessario attivarlo in fase di avvio di un programma. Per i nostri esempi continueremo ad usare il file FileWriteTest di cui riportiamo il codice: import java.io.*; public class FileWriteTest { public static void main (String[] args) throws Exception { modifyfile(); } public static void modifyfile() throws Exception { FileOutputStream fos = new FileOutputStream("test.txt");//tenta di creare un file fos.write("nel mezzo del cammin...".getbytes()); fos.close(); }}

72 Il security manager 3. Procediamo eseguendo il programma attivando il security manager con lo switch -Djava.security.manager:

73 Cosa è successo?. Il codice della funzione FileOutputStream assomiglia al seguente: public FileOutputStream(String name, boolean append) throws FileNotFoundException{ Security manager = System.getSecurityManager(); if(security!= null){ security.checkwrite(name); } fd = new FileDescriptor(); } Se è stato abilitato il security manager (security!= null) vengono con-trollati i diritti di scrittura sul file ( security.checkwrite(name); )

74 Cosa è successo?. SecurityManager Il compito di controllare le policy è demandato da SecurityManager ad AccessCcontroller che a sua volta chiama AccessControllerContext. Quest ultimo lancia l eccezione che fa fallire il programma non essendo impostati i giusti permessi per esso. AccessController AccessController Context Eccezione!

75 Java.policy:struttura 1. Possiamo finalmente parlare del file che ci permette di controllare i permessi in ambiente java. Sitratta di un simplice file di testo contenente una serie di voci ciascuna relativa ad uno specifico codesource. Ogni voce è costruita con la seguente sintassi: grant signedby <signer>, codebase <URL> { permission <permissionclass> <target_name>, <action> ; }; Come esempio riportiamo una voce che si trova di default nel file policy di Java:

76 Java.policy:struttura 2. grant codebase "file:${java.home}/lib/ext/*"{ permission java.security.allpermission; }; Tale voce riguarda tutto il codice presente nelle directory lib/ext/ della nostra installazione Java. Non è presente il codesigner: è infatti sufficiente che sia presente o il codesigner o il codebase (come in questo caso) o entrambi per scrivere un codesource. La voce concede al suo codesource ogni tipo di permesso: il codice presente all URL specificato avrà diritti illimitati (e questo può essere molto pericoloso!).

77 Java.policy:permessi. Le classi di permessi sino numerose. Ci limiteremo a riportarne solo alcune. java.security.allpermission: permessi illimitati. java.security.basicpermission: superclasse per la maggior parte dei permessi semplici. java.io.filepermission: permessi per leggere e scrivere file. java.net.socketpermission: permesso di aprire socket verso macchine remote.. Nel nostro caso volendo concedere diritti di scrittura, lettura e cancel-lazione su un file, occorreà impostare un permesso del tipo: permission java.io.filepermission <filename>, read,write,delete ;

78 Riassumendo. In definitiva vogliamo che il nostro programma, presente in un jar firmato dall alias tomcat, possa avere accesso completo al file test.txt presente nella stessa directory. La voce da aggiungere al file di policy è quindi la seguente: keystore ".keystore"; grant signedby "tomcat" { permission java.io.filepermission "test.txt", "read,write,delete"; }; L istruzione keystore.keystore indica al file di policy dove cercare i certificati per convalidare le firme dei jar (il keystore di default).

JUG Ancona Italy. Sicurezza in Java. Andrea Del Bene. Membro fondatore Jug Marche

JUG Ancona Italy. Sicurezza in Java. Andrea Del Bene. Membro fondatore Jug Marche JUG Ancona Italy Sicurezza in Java Andrea Del Bene Membro fondatore Jug Marche Teoria della comunicazione Mittente: chi produce l'informazione e la vuole comunicare Destinatario: chi riceve la comunicazione

Dettagli

Introduzione alla crittografia con OpenPGP

Introduzione alla crittografia con OpenPGP Introduzione alla crittografia con OpenPGP D avide Cerri dav ide@ linux.it Crittografia Per proteggere le comunicazioni su Internet si utilizza la crittografia. La crittografia è la scienza che si occupa

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

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

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

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette Crittografia Cenni Damiano Carra Università degli Studi di Verona Dipartimento di Informatica La crittografia! Scienza che si occupa di proteggere l informazione rendendola sicura, in modo che un utente

Dettagli

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo La Firma Digitale La sperimentazione nel Comune di Cuneo Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo Perchè questa presentazione Il Comune di Cuneo, aderente alla RUPAR, ha ricevuto due

Dettagli

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale 2008 Gennaio SUAP On Line i pre-requsiti informatici: La firma digitale 1 La firma digitale Indice La firma digitale La firma digitale: destinatario 2 La firma digitale Cos è La Firma Digitale è il risultato

Dettagli

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica

Dettagli

La firma digitale CHE COSA E'?

La firma digitale CHE COSA E'? La firma digitale La Firma Digitale è il risultato di una procedura informatica che garantisce l autenticità e l integrità di messaggi e documenti scambiati e archiviati con mezzi informatici, al pari

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

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

Certificati digitali con CAcert Un'autorità di certificazione no-profit

Certificati digitali con CAcert Un'autorità di certificazione no-profit Certificati digitali con CAcert Un'autorità di certificazione no-profit Davide Cerri Associazione di Promozione Sociale LOLUG Gruppo Utenti Linux Lodi davide@lolug.net 11 novembre 2008 Crittografia asimmetrica:

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Crittografia. Appunti a cura del prof. Ing. Mario Catalano Crittografia Appunti a cura del prof. Ing. Mario Catalano La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice. Solitamente, i meccanismi crittografici

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Sicurezza a livello IP: IPsec e le reti private virtuali

Sicurezza a livello IP: IPsec e le reti private virtuali Sicurezza a livello IP: IPsec e le reti private virtuali Davide Cerri Sommario L esigenza di proteggere l informazione che viene trasmessa in rete porta all utilizzo di diversi protocolli crittografici.

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I. Università degli studi di Catania Pubblica Amministrazione digitale Elementi tecnici sulla firma digitale Ignazio Zangara Agatino Di Bella Area della Formazione Gestione dell archivio (novembre dicembre

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

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012 e VIRTUALCARD 19 Aprile 2012 e VIRTUALCARD Introduzione Il nostro obiettivo é quello di illustrare la struttura e le caratteristiche di fondo che stanno alla base delle transazioni online operate tramite

Dettagli

Quasar Sistemi S.r.l.

Quasar Sistemi S.r.l. La Firma Digitale Quasar Sistemi S.r.l. Via San Leonardo, 52 84131 Salerno Telefono 089.3069802-803 Fax 089.332989 E-Mail: info@quasar.it Web http://www.quasar.it Documento Elettronico (D.E.) Un documento

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

Manuale Servizio NEWSLETTER

Manuale Servizio NEWSLETTER Manuale Servizio NEWSLETTER Manuale Utente Newsletter MMU-05 REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale 28/01/2011 Lorenzo Bonelli

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

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

Firma digitale: aspetti tecnologici e normativi. Milano,

Firma digitale: aspetti tecnologici e normativi. Milano, Firma digitale: aspetti tecnologici e normativi Milano, Premessa digitale Il presente documento ha la finalità di supportare le Amministrazioni che intendono dotare il proprio personale di digitale, illustrando

Dettagli

Introduzione alla Crittografia

Introduzione alla Crittografia Liceo Scientifico N. Tron, 6 febbraio 2006 Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di elementi < n e coprimi con n. Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

Analisi di programmi: Crittografia

Analisi di programmi: Crittografia Analisi di programmi: Crittografia Come caso concreto di sistema, proviamo ad abbozzare e a vedere una prima implementazione di un sistema di crittografia a chiave pubblica La crittografia studia le tecniche

Dettagli

Allegato A: Regole tecniche per la gestione dell identità.

Allegato A: Regole tecniche per la gestione dell identità. Allegato A: Regole tecniche per la gestione dell identità. Allegato A: Regole tecniche per la gestione dell identità. Art. 1. Aventi diritto alle Credenziali-People 1. Per l accesso ai Servizi-People sviluppati

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

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

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

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

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

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

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

Firma Digitale. dott. Andrea Mazzini

Firma Digitale. dott. Andrea Mazzini Firma Digitale dott. Andrea Mazzini La Crittografia La prima persona che usò la crittografia fu Giulio Cesare! Egli doveva inviare messaggi ma non si fidava dei messaggeri, così inventò un metodo per codificare

Dettagli

La firma digitale e le sue possibili applicazioni

La firma digitale e le sue possibili applicazioni Il documento informatico e la firma digitale nelle applicazioni pratiche La firma digitale e le sue possibili applicazioni dott. Enrico Zimuel (enrico@zimuel.it) Pescara, 15 febbraio 2008 Centro Studi

Dettagli

Note Operative per Accedere alla Posta Elettronica Certificata (PEC) Obbligo Iscrizioni 2011

Note Operative per Accedere alla Posta Elettronica Certificata (PEC) Obbligo Iscrizioni 2011 Note Operative per Accedere alla Posta Elettronica Certificata (PEC) Obbligo Iscrizioni 2011 Indirizzo web = https://webmail.pec.leonet.it/ E possibile accedere anche dal nostro sito www.agriro.net (alias

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

12/12/11 Data ultimo aggiornamento

12/12/11 Data ultimo aggiornamento U.O. Autonoma Informatica Relazione Tecnica Libreria di firma digitale P7MUtility Codice Classificazio ne Autorizzati Autore Nome file Ad uso interno Enrico Doni LibreriaFirmaDigitale.odt Versione 00.02.00

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

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

Plugin ImageJ Steganografia Digitale

Plugin ImageJ Steganografia Digitale Università degli Studi di Catania Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica (a.a. 2012/13) Plugin ImageJ Steganografia Digitale Massimiliano Portelli (matricola

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Software di crittografia per GNOME. Nicola VITUCCI POuL Politecnico Open unix Labs

Software di crittografia per GNOME. Nicola VITUCCI POuL Politecnico Open unix Labs Software di crittografia per GNOME Nicola VITUCCI POuL Politecnico Open unix Labs Crittografia: definizione Dal greco kryptós, nascosto, e gráphein, scrivere Crittografia: l arte scrivere cifrato dello

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Dettagli

Firma digitale e PEC: facili e sicure

Firma digitale e PEC: facili e sicure Firma digitale e PEC: facili e sicure Trento, 23 Novembre 2012 Ing. Andrea Gelpi Commissione Ingegneria dell'informazione Ordine degli Ingegneri della Provincia di Trento Firma Digitale La Firma digitale

Dettagli

Corso basi di dati Installazione e gestione di PWS

Corso basi di dati Installazione e gestione di PWS Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Scambio delle chiavi. mercoledì 7 dicembre 2011

Scambio delle chiavi. mercoledì 7 dicembre 2011 Scambio delle chiavi 1 mercoledì 7 dicembre 2011 Distribuzione della chiave Dati due terminali A e B, si possono avere varie alternative per la distribuzione delle chiavi. 1. A sceglie una chiave e la

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO Andrea Marin Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO a.a. 2013/2014 Section 1 Introduzione Parliamo di acquisti online quando a seguito

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti Sicurezza nei Sistemi Distribuiti Aspetti di Sicurezza La sicurezza nei sistemi distribuiti deve riguardare tutti i componenti del sistema e coinvolge due aspetti principali: Le comunicazioni tra utenti

Dettagli

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti Sicurezza nei Sistemi Distribuiti Aspetti di Sicurezza La sicurezza nei sistemi distribuiti deve riguardare tutti i componenti del sistema e coinvolge due aspetti principali: Le comunicazioni tra utenti

Dettagli

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ POLITECNICO DI MILANO CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ è un cifrario a flusso progettato da Ron Rivest (la R di RSA) nel 1987. Era un segreto commerciale della

Dettagli

Utilizzo della smart card di Ateneo (CMRT)

Utilizzo della smart card di Ateneo (CMRT) Utilizzo della smart card di Ateneo (CMRT) La Firma Digitale è l'equivalente informatico della firma autografa e ne ha il medesimo valore legale con in più il vantaggio della totale sicurezza. La Firma

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

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

UNIVERSITA DI CATANIA

UNIVERSITA DI CATANIA UNIVERSITA DI CATANIA RELAZIONE SUL CHALLENGE DEDICATO ALLA GESTIONE DEI CERTIFICATI ORESTE DELITALA - W82000025 1. Introduzione L obiettivo del seguente challenge è incentrato sullo studio della gestione

Dettagli

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it Pagina 1 di 6 Joomla! 2.5:Utenti e permessi Da Il wiki di Joomla.it. Traduzione (http://cocoate.com/it/j25it/utenti) dal libro Joomla! 2.5 - Beginner's Guide (http://cocoate.com/j25/users-permissions)

Dettagli

ARCHIVIAZIONE E. Obblighi & Opportunità. 8 Gennaio 2010

ARCHIVIAZIONE E. Obblighi & Opportunità. 8 Gennaio 2010 ARCHIVIAZIONE E CONSERVAZIONE SOSTITUTIVA Obblighi & Opportunità 8 Gennaio 2010 Conservazione di documenti dal 2000 al 2006 2 MEMORIZZAZIONE, ARCHIVIAZIONE, CONSERVAZIONE 3 COSA SERVE 4 DOCUMENTO INFORMATICO

Dettagli

Software Servizi Web UOGA

Software Servizi Web UOGA Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: info@isis.sm Identificatore

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

MODALITA DI REGISTRAZIONE

MODALITA DI REGISTRAZIONE MODALITA DI REGISTRAZIONE Oltre all Amministratore, ci sono cinque diversi tipi di utenti del Registro: - gli Operatori, le Organizzazioni e i singoli Individui, che devono registrarsi per aprire un conto

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Leggere un messaggio. Copyright 2009 Apogeo

Leggere un messaggio. Copyright 2009 Apogeo 463 Leggere un messaggio SyllabuS 7.6.3.3 Per contrassegnare un messaggio selezionato puoi fare clic anche sulla voce di menu Messaggio > Contrassegna messaggio. Marcare, smarcare un messaggio I messaggi

Dettagli

GateManager. 1 Indice. tecnico@gate-manager.it

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

TUTORIAL. Come compilare il Modulo Ordine Spedizione per spedire un pacco con SpedireAdesso.com

TUTORIAL. Come compilare il Modulo Ordine Spedizione per spedire un pacco con SpedireAdesso.com TUTORIAL Come compilare il Modulo Ordine Spedizione per spedire un pacco con SpedireAdesso.com In questa breve guida cercheremo di spiegare ed illustrare come compilare il modulo ordine spedizione dal

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Manuale Utente MyFastPage

Manuale Utente MyFastPage Manuale MyFastPage Utente Elenco dei contenuti 1. Cosa è MyVoice Home?... 4 1.1. Introduzione... 5 2. Utilizzo del servizio... 6 2.1. Accesso... 6 2.2. Disconnessione... 7 2.3. Configurazione base Profilo

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

SendMedMalattia v. 1.0. Manuale d uso

SendMedMalattia v. 1.0. Manuale d uso 2 SendMedMalattia v. 1.0 Pagina 1 di 25 I n d i c e 1) Introduzione...3 2) Installazione...4 3) Prima dell avvio di SendMedMalattia...9 4) Primo Avvio: Inserimento dei dati del Medico di famiglia...11

Dettagli

DOCUMENTO ESPLICATIVO

DOCUMENTO ESPLICATIVO DOCUMENTO ESPLICATIVO Modificare il proprio menu con Web designer - CATEGORIA MENU Digitate il vostro username e password, vedrete comparire tre tasti: AREA RISERVATA, WEB DESIGNER e LOGOUT ( vedi foto

Dettagli

Guida all accesso sicuro al sito dberw.univr.it

Guida all accesso sicuro al sito dberw.univr.it UNIVERSITÀ DEGLI STUDI DI VERONA ACCESSO SICURO VIA HTTPS Università degli Studi di Verona Guida all accesso sicuro al sito dberw.univr.it Guida per l utente Versione 1.4 Giovanroberto Torre Roberto Posenato

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli

Manuale per la configurazione di un account di PEC in Mozilla.

Manuale per la configurazione di un account di PEC in Mozilla. Manuale per la configurazione di un account di PEC in Mozilla. 1/21 AVVIO DI MOZILLA E CREAZIONE NUOVO ACCOUNT. 3 IMPOSTAZIONI AVANZATE. 12 SCARICA MESSAGGI. 15 APERTURA DI UN MESSAGGIO DI PEC. 15 RICEVUTA

Dettagli

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27 Istruzioni operative installazione FirmaVerifica3.0 Pag.1 di 27 Generalità... 3 Operazioni preliminari... 4 Requisiti tecnici... 5 Installazione applicazione...6 Visualizzazione fornitura... 14 Gestione

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

GUIDA DETTAGLIATA ALL ACQUISIZIONE DELL ACCOUNT GMAIL.

GUIDA DETTAGLIATA ALL ACQUISIZIONE DELL ACCOUNT GMAIL. GUIDA DETTAGLIATA ALL ACQUISIZIONE DELL ACCOUNT GMAIL. La pagina di accesso alla Gmail è presente all indirizzo http://www.gmail.com. Qui possiamo accedere al servizio inserendo il nostro nome utente e

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli