Crittografia in Java
|
|
|
- Gastone Buono
- 10 anni fa
- Visualizzazioni
Transcript
1 Crittografia in Java di Oreste Delitala Progetto di Computer Security Introduzione La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare una sequenza di byte con senso logico (messaggio) in un altra del tutto incomprensibile. Scopo della crittografia è consentire la trasmissione di un messaggio in forma non leggibile ad altri che non sia il destinatario inteso, che deve essere il solo a poterne capire il significato, la trasformazione avviene grazie ad una chiave : solo chi possiede la chiave per aprire e chiudere il messaggio potrà criptare e decriptare il messaggio. La Crittografia è usata per garantire la confidenzialità di un messaggio tra mittente e ricevente, oppure per autenticare al ricevente un messaggio con il legittimo mittente. Le tecniche usate per garantire confidenzialità sono la cifratura Simmetrica e la cifratura Asimmetrica, dove la prima utilizza una sola chiave condivisa tra i due interlocutori, invece la seconda usa due chiavi distinte per entrambi gli interlocutori una chiave per cifrare ed una chiave per decifrare, la chiave per cifrare resa pubblica in modo che chiunque possa mandare messaggi nascosti e la chiave per decifrare privata in modo da poter interpretare soltanto il ricevente il messaggio inviato e garantendo confidenzialità. Le tecniche usate invece per garantire l autenticazione del messaggio invece sono il Mac e la Firma Digitale. Il Mac viene utilizzato per autenticare messaggi usando una chiave Simmetrica che deve essere condivisa tra entrambi gli interlocutori, invece la Firma Digitale usa due chiavi come per la crittografia asimmetrica, con la differenza che firmo con la chiave privata e verifico che la firma sia corretta con la chiave pubblica. Il progetto consiste nel creare una demo che implementi queste tecniche di crittografia nel linguaggio di programmazione Java, utilizzando le librerie disponibili sul web. Le librerie scaricate sono: javax-crypto.jar javax-security.jar sun.misc.base64decoder.jar
2 JCA e JCE Java Cryptography Architecture (JCA) La Java Cryptography Architecture (JCA) è un framework Java, incluso nel JDK, che permette di eseguire operazioni crittografiche, basato su principi di: Indipendenza dall implementazione Interoperabilità delle implementazioni Indipendenza e estendibilità degli algoritmi Indipendenza dall implementazione perché le applicazioni non hanno bisogno di implementare funzioni crittografiche, possono richiedere i servizi crittografici alla piattaforma Java, dove i servizi per le funzioni di sicurezza saranno implementati da diversi Provider. I Provider stessi dovranno conformarsi a un interfaccia comune, che permette alla piattaforma di fornire i servizi richiesti. Interoperabilità perché i servizi forniti dalle diverse implementazioni devono essere interoperabili, è possibile ad esempio creare una chiave di firma con un implementazione, usare un implementazione diversa per firmare i documenti e una terza implementazione per verificare le firme. L interoperabilità delle implementazioni è complementare all indipendenza dalle stesse, si possono usare i servizi crittografici senza preoccuparsi di chi li implementa. Indipendenza dagli algoritmi si ottiene attraverso la definizione di Servizi che forniscono le funzionalità di base necessarie alla crittografia come: Signature per la firma MessageDigest per le impronte KeyPairGenerator per le coppie di chiavi KeyFactory per la chiavi simmetriche Cipher per la cifratura MAC L indipendenza dall implementazione è ottenuta aggiungendo alla piattaforma dei plugin chiamati CSP (Cryptographic Service Provider) o semplicemente Provider. Ogni Provider fornisce uno o più Servici per determinati algoritmi, l interoperabilità degli algoritmi garantisce che i Servizi forniti da Provider diversi ma relativi allo stesso algoritmo possano cooperare. Estendibilià degli algoritmi è il principio di estendibilità su cui è basata la piattaforma JCA, implica che nuovi algoritmi possono essere aggiunti facilmente, l unico requisito è che siano uniformabili a uno dei Servizi previsti: Cipher, MessageDigest etc.
3 Architettura JCA L architettura JCA è composta dalle seguenti componenti: Factory pattern che definisce un interfaccia per la creazione di un oggetto ma lascia che le sottoclassi decidano quale classe istanziare, e l istanza si ottiene con getinstance( ). Strategy pattern che astrae una famiglia di algoritmi, li incapsula e li rende interscambiabili, permettendo all utente di scambiare gli algoritmi provenienti da provider diversi Engine(abstract) Service Provider Interface (abstract) Providers Provider Un Provider è un insieme di implementazioni di vari algoritmi. Il provider SUN (sun.java.security.sun) incorpora i seguenti algoritmi: MD5, SHA-1 DSA: firma, verifica e generazione delle chiavi, parametri Creazione di certificati X.509 Generazione di numeri random proprietaria Keystore proprietario Altri provider RSAJCA (com.sun.rsajca.provider): Gestione chiavi RSA Firma digitale RSA con SHA-1 o MD5
4 Java Cryptography Extension (JCE) La Java Cryptography Extension (JCE) implementa in modo completo le funzionalità di cifratura e decifrazione dichiarate dalla JCA, offrendo il supporto all utilizzo di cifrari simmetrici a blocco e a flusso, cifrari asimmetrici e cifrari con password tutti applicabili a Dati, Serializable Objects e I/O stream. Le sue classi principali di JCE sono: Cipher o CipherInputStream / CipherOutputStream KeyGenerator SecretKeyFactory SealedObject MAC Principali Provider per JCE sono: Provider SunJCE o Algoritmi di cifratura (AES, DES, TripleDes, PBE, ) o Modalità di cifratura (ECB, CBC, OFB, CFB, CTR, PCBC) o Padding (NoPadding, PKCS5PADDING) o Facilità per la conversione delle chiavi da oggetti Java in array di byte e viceversa o KeyGenerator o Algoritmi MAC Provider BouncyCastle (non integrato nel JDK va installato ) o Implementa ed estende le tecniche crittografiche definite dalla JCA e dalla JCE Implementazione alternativa degli algoritmi di cifratura (AES, DES, TripleDES, PBE, ) Algoritmi di cifratura asimmetrica (RSA, ElGamal) Algoritmi di firma digitale Padding (None, PKCS1PADDING) Facilità per diversi protocolli di KeyAgreement Facilità per utilizzare cifrari simmetrici a flusso e a blocchi Le API utilizzate dalle 2 architetture JCA e JCE sono: Package java.security: o API per configurare JCA o Configurare e interrogare i Provider o Definizione generica di Service o Classi statiche con metodi statici di configurazione Package javax.crypto o API crittografiche (JCE) o Definizione dei diversi Service (non implementazione degli algoritmi) o Pattern Factory
5 Cifratura Simmetrica Introduzione Un algoritmo di cifratura si dice a chiave simmetrica quando la stessa chiave K viene usata sia per la cifratura, sia per la successiva decifratura. Le implementazioni svolte nella Demo fanno riferimento ai seguenti algoritmi di Cifratura: DES DESede (TripleDes) AES Il primo usa una chiave a 64 bit, il secondo una chiave a 192 bit ed il terzo una chiave a 128 bit. Vengono usate due modalità di cifratura: ECB: dove ogni blocco da cifrare viene cifrato direttamente con la chiave simmetrica K. CBC: dove il primo blocco viene XORato con un IV generato Random e crittografato con la chiave K, e la risultate codifica generata viene XORata con il blocco successivo del testo in chiaro e codificato con la chiave K, e così via fino all ultimo blocco del testo in chiaro. E vengono usati i seguenti Padding: NoPadding: non viene inserita nessuna sequenza di byte nell ultimo blocco del testo in chiaro, quindi si suppone che il testo in chiaro sia un multiplo del blocco di cifratura.
6 PKCS5Padding: viene aggiunta all ultimo blocco del testo in chiaro una sequenza di byte in modo da renderlo della stessa grandezza del blocco per la cifratura. Implementazione Le principali classi ed interfacce utilizzate sono state: javax.crypto.cipher o getinstance, init, update, dofinal java.security.key (interfaccia) o Un oggetto Key viene creato con un factory: javax.crypto.keygenerator (se generiamo la chiave senza specifiche iniziali) Javax.security.KeyFactory (se vogliamo che la chiave sia generata seguendo delle specifiche iniziali) javax.crypto.keygenerator o getinstance, init, generatekey Vediamo nello specifico la classe principale utilizzata per eseguire Cifratura Simmetrica (la classe Cipher) La classe Cipher è un engine class, una classe astratta che definisce le funzionalità di un dato tipo di algoritmo crittografico, senza però fornire alcuna implementazione, questa sarà definita con il metodo getinstance dove noi andremo a inserire il Provider e le informazioni sull algoritmo che utilizzeremo. getinstance ( Algoritmo/Modalità/Padding, Provider ); o Algoritmo: DES DESede AES o Modalità ECB CBC o Padding NoPadding PKCS5Padding o Provider SUN Può essere anche omesso usa quello standard SunJCE Altri metodi della classe Cipher utilizzati sono: init(mode, key) o mode: Cipher.ENCRYPT_MODE (modalità di cifratura) Cipher.DECRYPT_MODE (modalità di decifratura) update(bytes) (vengono inseriti i bytes da elaborare) dofinal(bytes) (esegue la Codifica o Decodifica sui bytes passati in input)
7 I passi della Crittografia Simmetrica I passi per effettuare la Crittografia Simmetrica in ambiente Java sono i seguenti (ora un esempio di Crittografia Des in modalità ECB): Creazione di una chiave 1. KeyGenerator keygenerator = KeyGenerator.getIstance( DES ); 2. keygenerator.init(64); 3. SecretKey key = keygenerator.generatekey(); Creazione ed inizializzazione di un cifrario 1. Chiper cipher = Cipher.getInstance( DES/ECB/PKCS5Padding ); Cifratura 1. cipher.init(cipher.encrypt_mode, key); 2. byte[] ciphertext = cipher.dofinal(stringtoencrypt.getbytes()); Decifratura 1. cipher.init(cipher.decrypt_mode, key); 2. byte[] plaintext = cipher.dofinal(ciphertext); La classe KeyGenerator si occupa di generare una chiave simmetrica DES di lunghezza 64 bit. Con getinstance( DES ) si definisce l algoritmo per cui sarà usata la chiave, con init(64) si definisce la lunghezza della chiave e con generatekey() viene creata la chiave. Adesso guardiamo la differenza con la modalità CBC (un esempio di Cifratura Des in modalità CBC): Creazione di una chiave 1. KeyGenerator keygenerator = KeyGenerator.getInstance( DES ); 2. SecretKey key = keygenerator.generatekey(); Creazione ed inizializzazione di un cifrario 3. byte[] randombytes = new byte[8]; //iv size = block size 4. SecureRandom random = new SecureRandom(); 5. random.nextbytes(randombytes); 6. IvParameterSpec ivparams = new IvParameterSpec(randomBytes); 7. Cipher cipher = Cipher.getInstance( DES/CBC/PKCS5Padding ); 8. Cipher.init(Cipher.ENCRYPT_MODE, key, ivparams); // cifratura 9. Cipher.init(Cipher.DECRYPT_MODE, key, ivparams); // decifratura La differenza sta nell utilizzo di una variabile IV generata Random.
8 C è anche un modo alternativo per la generazione della chiave, invece di lasciarla generare al KeyGenerator( ) la si fa generare a partire da una stringa. 1. String password = password ; 2. byte[] deskeydata = password.getbytes(); 3. DESKeySpec deskeyspec = new DESKeySpec(desKeyData); 4. SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("DES"); 5. SecretKey key = keyfactory.generatesecret(deskeyspec); Sicurezza Cifratura Simmetrica Per quanto riguarda la sicurezza per la Crittografia Simmetrica si hanno vari scenari. Per quanto riguarda la Modalità di cifratura la modalità ECB è vulnerabile ad attacchi di crittoanalisi (valutare la frequenza dei blocchi), invece nella modalità CBC questo tipo di attacco non dà nessun risultato. Per quanto riguarda invece l algoritmo utilizzato il Des è vulnerabile in quanto usa una chiave a 64 bit e si potrebbe effettuare l attacco del compleanno con un costo computazione di passi. Per risolvere questo problema è stato implementato il TripleDes (DESede) con una chiave a 192 bit, sufficiente a rendere inpraticabile l attacco del compleanno, però la grandezza del blocco di 64 bit è sempre un limite per questo algoritmo. L algoritmo più sicuro e più efficiente è AES con la lunghezza del blocco e della chiave a 128 bit.
9 Cifratura Asimmetrica Introduzione Un algoritmo di cifratura si dice a chiave Asimmetrica quando si usane sue chiavi, una viene usata sia per la cifratura ed è pubblica,una si usa per la successiva decifratura ed è privata. Le implementazioni svolte nella Demo fa riferimento al seguente algoritmo di Cifratura: RSA RSA è un algoritmo che permette di usare chiave di lunghezza 1024 o 2048 bit. Un limite della Crittografia Asimmetrica è la complessità dell algoritmo elevata, in quanto permette di cifrare solo piccole quantità di dati, per grandi quantità di dati viene usata un altro tipo di Crittografia Asimmetrica detta a chiave di sessione che consiste nei seguenti passi: ( e, d) un public-private key pair P un grande payload K newsimmetrickey() M = [ E k (P), E e (K) ] Un ibrido tra Crittografia Simmetrica e Crittografia Asimmetrica, viene generata una chiave simmetrica e viene cifrata con la chiave pubblica della controparte, e con la chiave simmetrica viene crittografato il Payload. Un alternativa al normale pudding per RSA è l algoritmo OAEP, dove prima di eseguire la cifratura RSA effettua due funzioni hash G e H (SHA-1 o SHA-256).
10 Implementazione Principali classi ed interfacce utilizzate nella demo sono state: java.security.keypair 1. getpublic(), getprivate() java.security.publickey(interfaccia) javax.crypto.privatekey(interfaccia) Java.security.KeyPairGenerator 1. genkeypair() e la classe Cipher come per la Crittografia Simmetrica: getinstance( algorithm/mode/padding, provider) 1. Algorithm RSA 2. Mode ECB 3. Padding NoPadding PKCS1Padding OAEPWithSHA-1AndMGF1Padding OAEPWithSHA-256AndMGF1Padding init(mode, key) 1. Cipher.ENCRYPT_MODE publickey 2. Cipher.DECRYPT_MODE update(bytes) dofinal(bytes) privatekey
11 I passi della Crittografia Asimmetrica I passi per effettuare la Crittografia Asimmetrica in ambiente Java sono i seguenti (ora un esempio di Crittografia RSA con padding PKCS1Padding): Creazione di una chiave 1. KeyPairGenerator generator = KeyPairGenerator.getIstance( RSA ); 2. keygenerator.init(1024); 3. KeyPair pair = generator.generatekeypair(); 4. Key pubkey = pair.getpublic(); 5. Key privkey = pair.getprivate(); Creazione ed inizializzazione di un cifrario 6. Chiper cipher = Cipher.getInstance( RSA/ECB/PKCS1Padding ); Cifratura 7. cipher.init(cipher.encrypt_mode, pubkey); 8. byte[] ciphertext = cipher.dofinal(stringtoencrypt.getbytes()); Decifratura 9. cipher.init(cipher.decrypt_mode, privkey); 10. byte[] plaintext = cipher.dofinal(ciphertext); La coppia di chiavi (pubblica, privata) vengono codificate con le seguenti codifiche, chiave pubblica con codifica X.509 e chiave privata con codifica PKCS#8, quindi se vogliamo mantenere le chiavi su dei file bisogna usare la giusta codifica e decodifica dei byte della chiave: Decodifica Public key 1. KeyFactory keyfactory = KeyFactory.getInstance("RSA"); 2. X509EncodedKeySpec publickeyspec = new X509EncodedKeySpec(keyBytes); 3. PublicKey publickey = keyfactory.generatepublic(publickeyspec); Private key 4. KeyFactory keyfactory = KeyFactory.getInstance("RSA"); 5. PKCS8EncodedKeySpec privatekeyspec = new PKCS8EncodedKeySpec(keyBytes); 6. PrivateKey privatekey = keyfactory.generateprivate(privatekeyspec) Sicurezza Cifratura Asimmetrica La sicurezza riguardo la cifratura Asimmetrica sta nel problema della fattorizzazione, che è un problema computazionalmente intrattabile.
12 HMAC L Hmac è una tipologia di codice per l autenticazione di messaggi basata su una funzione hash, utilizzata in diverse applicazioni legate alla sicurezza informatica. Tramite l Hmac è infatti possibile garantire sia l integrità che l autenticità di un messaggio. Il messaggio originale viene codificato tramite una chiave simmetria condivisa tra i due agenti generando un codice che sarà inviato insieme al testo in chiaro. Implementazione Principali classi ed interfacce utilizzate nella Demo per l Hmac sono state: java.crypto.mac 1. getinstance( algoritmo, provider ) algoritmo HmacSHA1 HmacSha init(key) 3. update(bytes) 4. dofinal()
13 I passi della codifica Adesso vedremo un esempio di codifica Hmac usando come funzione hash Sha-1. Generazione della chiave 1. KeyGenerator keygen = KeyGenerator( HmacSha1 ) 2. Key makey = keygen.generatekey(); Creazione di un oggetto MAC 1. Mac mac = Mac.getInstance( HmacShai1 ); Inizializzazione del MAC 1. mac.init(mackey); Restituzione del MAC 1. mac.update(text.getbyte()); 2. byte[] result = mac.dofinal(); Verifica del MAC 1. Si prende in input (messaggio, mac) 2. Si calcola il mac del messaggio con la chiave Simmetrica 3. Si confronta il mac calcolato con il mac ricevuto, se sono uguali torna esito positivo se sono diversi torna esito negativo Sicurezza Hmac L Hmac è soggetto ad attacchi di tipo replay in quanto un messaggio con la stessa chiave torna sempre lo stesso codice mac. Una soluzione a questo tipo di attacco è cifrare con cifratura simmetrica in modalità CBC il codice mac e spedirlo. Oppure usare crittografia asimmetria con il vantaggio di non dover avere il problema della confidenzialità della chiave. Oppure mantenere condiviso, e segreto tra i due agenti, un valore SAB da concatenare al messaggio su cui calcolare l Hmac: HMAC(SAB M) Un altro problema è che non si ha la sicurezza di chi ha generato l Hmac tra i due agenti quindi non garantisce autenticazione su chi ha generato il codice. Firma Digitale La Firma Digitale come l Hmac è una tipologia di codice per l autenticazione di messaggi utilizzata in diverse applicazioni legate alla sicurezza informatica. Tramite la Firma Digitale sempre come l Hmac è infatti possibile garantire sia l integrità che l autenticità di un messaggio. La differenza sta sia nell algoritmo di implementazione ma la differenza sostanziale sta nell utilizzo di due chiavi asimmetriche (pubblica, privata), la chiave privata usata per firmare e la chiave pubblica per verificare la firma ricevuta.
14 Implementazione Principali classi ed interfacce utilizzate nella Demo per l Hmac sono state: java.crypto.signature 1. getinstance( algoritmo, provider ) algoritmo SHA1whithDSA 2. initsign(privkey) (per inizializzare la firma) 3. initverify(pubkey) (per inizializzare la verifica) 4. update(bytes) 5. sign() (genera la firma) 6. verify(sign) (verifica che la firma sia corretta) I passi della Firma Adesso vedremo un esempio di Firma Digitale implementato nella Demo. Generazione di una coppia di chiavi 1. KeyPairGenerator keygen = KeyPairGenerator.getInstance( DSA, SUN ); 2. SecureRandom random = SecureRandom.getInstance( SHA1PRNG, SUN ); 3. keygen.inizialize(1024, random); 4. KeyPair keypair = keygen.generatekey(); Generazione di un Signature engine 1. Signature sig = Signature.getInstance( SHA1withDSA, SUN ); Generazione della Firma Digitale 1. sig.initsign(privkey); 2. sig.update(data); 3. Byte[] signbyte = sig.sign(); Verifica della Firma Digitale 1. sig.initverify(pubkey); 2. sig.update(data); 3. try{ 4. verified = sig.verify(signbyte); 5. }catch(signatureexception e){ 6. verified = false; 7. }
15 Sicurezza Firma Digitale La Firma Digitale rispetto all Hmac riesce a risolvere il problema di autenticare chi generare il codice, in quanto si usa la chiave privata per crittografare. Quindi riesce a garantire a livello di sicurezza la non ripudiabilità.
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
Java Security Extensions(J2SE)
Università degli Studi di Bologna IIª Facoltà di Ingegneria - Cesena Anno Accademico 2010/2011 OUTLINE Java Security Extensions(J2SE) Prof. Enrico Denti Dipartimento di Elettronica, Informatica e Sistemistica
SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.
SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata
Crittografia & Java Cryptographic. Architecture (JCA) A cura di Franzin Michele. 29-30 Settembre 1 Ottobre 2006. Java User Group Padova
Crittografia & Java Cryptographic 29-30 Settembre 1 Ottobre 2006 Architecture (JCA) A cura di Franzin Michele 1 Copyright Quest'opera è protetta dalla licenza Creative Commons Attribution-ShareAlike 2.5;
Programmazione avanzata Java e C. Crittografia
Programmazione avanzata Java e C Crittografia ü JCA o Java Cryptography Architecture è il framework java per la crittografia che fa parte della API di sicurezza di Java, ed è stato introdotto nei pacchetti
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
Java Security Extensions Corso di Tecnologie per la Sicurezza LS Prof. R. Laschi. Java Security Extensions
Corso di Laurea Specialistica in Ingegneria Informatica Facoltà di Ingegneria - A.A. 2003/04 Università degli studi di Bologna Java Security Extensions Corso di Tecnologie per la Sicurezza LS Prof. R.
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
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
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
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,
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
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
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
Lezione 7 Sicurezza delle informazioni
Lezione 7 Sicurezza delle informazioni Sommario Concetti generali Meccanismi per la sicurezza IT: Crittografia Hash Firma digitale Autenticazione 1 Concetti generali Availability Confidentiality Integrity
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
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
RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano [email protected] http://www.cefriel.it/~cerri/
POLITECNICO DI MILANO CEFRIEL - Politecnico di Milano [email protected] http://www.cefriel.it/~cerri/ è un cifrario a flusso progettato da Ron Rivest (la R di RSA) nel 1987. Era un segreto commerciale della
Crittografia e sicurezza informatica. Sistema di voto elettronico
Crittografia e sicurezza informatica Sistema di voto elettronico Deliano Perfetti Gabriele Paone Anno 2003 1 indice 1. Specifiche 2 2. Scelte progettuali 2 Schema Server Authority Server di Voto Client
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.
e-government La Posta Elettronica Certificata
Creare un canale preferenziale di contatto tra lo Stato e il cittadino attraverso la forza di internet La Posta Elettronica Certificata Francesco Cipollone [email protected] La Posta Elettronica
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
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
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
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
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
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: [email protected] Web http://www.quasar.it Documento Elettronico (D.E.) Un documento
! 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
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
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
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
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
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
Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit
- Carta Regionale dei Servizi e Certificati Qualificati di Firma Digitale Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit Codice del Documento: CRS-CA-MES#05 Revisione
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
DNS-Tunneling. Reference to. Ettore di Giacinto Luca Montunato http://www.pilug.org
DNS-Tunneling Reference to Ettore di Giacinto Luca Montunato http://www.pilug.org Se, in un sistema, è possibile trasmettere bits ad un altro, ed esso risponde a questa trasmissione, è praticamente impossibile
Progettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli [email protected] 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy
Crittografia e sicurezza delle reti WEP: Wired Equivalent Privacy Stream Ciphers Inizia con una chiave segreta ( seed ) Genera uno stream di byte (Keystream): byte i dello stream è funzione della chiave
Capitolo 8 La sicurezza nelle reti
Capitolo 8 La sicurezza nelle reti Reti di calcolatori e Internet: Un approccio top-down 4 a edizione Jim Kurose, Keith Ross Pearson Paravia Bruno Mondadori Spa 2008 Capitolo 8: La sicurezza nelle reti
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
DOCUMENTO ELETTRONICO E FIRMA DIGITALE
DOCUMENTO ELETTRONICO E FIRMA DIGITALE CHE COSA È LA CRITTOGRAFIA LA CRITTOLOGIA È SCIENZA CHE STUDIA LE SCRITTURE SEGRETE 2 CRITTOGRAFIA STUDIA I SISTEMI DI PROTEZIONE DEI MESSAGGI CRITTOANALISI STUDIA
ARCHITETTURA DI RETE FOLEGNANI ANDREA
ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce
La Firma Digitale. Manuale d uso Fornitore. Introduzione alla Firma Digitale. Aprile 2015
Manuale d uso Fornitore Introduzione alla Firma Digitale Cenni generali sulla Firma Digitale La firma digitale può essere definita come un sistema di autenticazione di documenti digitali tale da garantire
Crittografia con OpenSSL crittografia asimmetrica
Crittografia con OpenSSL crittografia asimmetrica Laboratorio del corso Sicurezza dei sistemi informatici (03GSD) Politecnico di Torino AA 2014/15 Prof. Antonio Lioy preparata da: Cataldo Basile ([email protected])
Protezione della posta elettronica mediante crittografia
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Politecnico di Milano Protezione della posta elettronica mediante crittografia Davide Cerri CEFRIEL - Area e-service e Technologies
Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security
Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Funzioni Hash e Network Security Vedi: A.S. Tanenbaum, Computer Networks, 4th ed., Prentice Hall: sez. 8, pagg.
FAQ per l utilizzo della piattaforma tecnologica KEP (Key Exchanger Platform)
FAQ per l utilizzo della piattaforma tecnologica KEP (Key Exchanger Platform) 1. Che cos è KEP? E una Piattaforma Web Centralizzata multi-utente e multi-account composta, a seconda delle versioni, di un
Serve a garantire la nostra privacy nell era era della comunicazione digitale.
La crittografia di Antonio Cilli 1. La crittografia, perché? 2. Crittografia asimmetrica 3. Firma digitale 4. Documento elettronico 5. Autorità di certificazione 6. Certificati digitali 7. Requisiti di
PkBox Client Smart API
19 aprile 2013 Le informazioni contenute in questo documento sono da considerarsi CONFIDENZIALI e non possono essere utilizzate o riprodotte - sia in parte che interamente - senza un permesso scritto rilasciato
Architettura JCA. Architettura JCA. Provider JCE. Factory pattern. Strategy pattern
Laurea Specialistica in Ingegneria Informatica per la Gestione d Azienda Facoltà di Ingegneria Università di Pisa Crittografia in Java JCA e JCE Java Cryptography Architecture (JCA) JCA Reference Guide:
JCA e JCE. Crittografia in Java. Java Cryptography Architecture (JCA) Java Cryptography Extension (JCE)
Laurea Specialistica in Ingegneria Informatica per la Gestione d Azienda Facoltà di Ingegneria Università di Pisa Crittografia in Java JCA e JCE Java Cryptography Architecture (JCA) JCA Reference Guide:
Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
PEC un obbligo che semplifica
PEC un obbligo che semplifica Obbligatorietà della PEC. Risvolti organizzativi e opportunità per lo studio professionale STEFANO STRINGA Ordine Dottori Commercialisti e Esperti Contabili di Mantova Da
Reti di Telecomunicazione Lezione 7
Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica [email protected] Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione
TRASMISSIONE DI DATI VIA INTERNET
TRASMISSIONE DI DATI VIA INTERNET 2.0 1 11 Sommario SOMMARIO...2 1. STORIA DELLE MODIFICHE...3 2. TRASMISSIONE DATI VIA INTERNET...4 2.1 SCOPO DEL DOCUMENTO...4 2.2 INTRODUZIONE...4 3. FORMATO DEI DOCUMENTI...5
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
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
Siti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
Allegato 3 Sistema per l interscambio dei dati (SID)
Sistema per l interscambio dei dati (SID) Specifiche dell infrastruttura per la trasmissione delle Comunicazioni previste dall art. 11 comma 2 del decreto legge 6 dicembre 2011 n.201 Sommario Introduzione...
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
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
La firma digitale. Diagnostica per immagini e Radioterapia nel 2011 Fare sistema CongressoAITASIT 17-19 novembre 2011
Diagnostica per immagini e Radioterapia nel 2011 Fare sistema CongressoAITASIT 17-19 novembre 2011 La firma digitale Studio di Ingegneria 2F Consulting di Flavio Flamini Agenda Principi generali e definizioni
LA FIRMA DIGITALE. Evoluzione della normativa italiana e componenti di base
LA FIRMA DIGITALE Evoluzione della normativa italiana e componenti di base UNIVERSITA DEGLI STUDI DI CAGLIARI FACOLTA DI GIURISPRUDENZA DIRITTO PRIVATO DELL INFORMATICA A.A. 2006 / 2007 DOCENTI: PROF.
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link
Sicurezza ai livelli di rete e data link Sicurezza a livello applicativo Ma l utilizzo di meccanismi di cifratura e autenticazione può essere introdotto anche ai livelli inferiori dello stack 2 Sicurezza
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Aspetti Crittografici nel Cloud Computing
Aspetti Crittografici nel Cloud Computing Prof. Massimiliano Sala Università di Trento Trento, 10 Maggio 2013 Prof. Sala (Università di Trento) Trust and Cloud Computing Trento, 10 Maggio 2013 1 / 20 Introduzione
POSTA ELETTRONICA CERTIFICATA
POSTA ELETTRONICA CERTIFICATA Questo vademecum ha lo scopo di riassumere i concetti relativi alla PEC. Per approfondimenti e verifiche, si rimanda alla legislazione vigente. 1 COS E ED A COSA SERVE PEC
Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML
Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security
MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA
MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
Seminario di Sistemi Distribuiti RPC su SOAP
Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP
Una rivoluzione importante. Sottoscrizione e trasporto di un documento digitale
Una rivoluzione importante Sottoscrizione e trasporto di un documento digitale I nuovi scenari Con la pubblicazione del decreto legislativo n. 82 del 7 marzo 2005 Codice dell'amministrazione Digitale sulla
Crittografia e Protocolli di Sicurezza
Crittografia e Protocolli di Sicurezza Ing. Emilio Spinicci 07/04/2004 1 Argomenti della lezione Introduzione Principi di Crittografia Protocolli di Sicurezza Attacchi ai Protocolli di Sicurezza 07/04/2004
Dettaglio attività e pianificazione. snamretegas.it. San Donato Milanese Aprile 2014
Evoluzioni tecnologiche nelle integrazioni B2B introdotte dalla Nuova Piattaforma informatica per la Gestione dei processi commerciali di Programmazione e Bilancio Dettaglio attività e pianificazione San
DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7
DURC Client 4.1.7 Guida configurazione firma digitale Attenzione: Per poter utilizzare la firma digitale con il Durc Client dalla versione 4.1.7 e successive è necessario riconfigurare la procedura di
Implementazione dell'open SSL in un dispositivo
CardProject Implementazione dell'open SSL in un dispositivo di validazione elettronica di bordo. [email protected] In collaborazione con Saverio Sivo ed Anonio Eletto tesisti del dipartimento
Algoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
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
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
www.privacyblack.com BLACK si distingue da qualsiasi altro servizio criptato.
www.privacyblack.com BLACK si distingue da qualsiasi altro servizio criptato. TERMINALE CRIPTATO BLACK La premessa Ogni possessore di un terminale BLACK sarà identificato da un numero interno personale
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
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
Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009
Cifratura a chiave pubblica Crittografia a chiave privata Chiave singola Crittografia simmetrica La stessa chiave è utilizzata sia per la cifratura che per la decifratura dei messaggi La chiave rappresenta
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
Reti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica [email protected] Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
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: [email protected] Identificatore
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
Pretty Good Privacy. PGP fornisce crittografia ed autenticazione. creato da Phil Zimmermann nel 1991. in origine è un'applicazione per e-mail
Pretty Good Privacy PGP fornisce crittografia ed autenticazione creato da Phil Zimmermann nel 1991 in origine è un'applicazione per e-mail RFC 2440 - OpenPGP Message Format nov.98 RFC 3156 - MIME Security
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
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
Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti
Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti Il 27 aprile 2012 Il team della società Doctor Web continua a esaminare la prima nella storia botnet di vasta scala creata
