Programmazione avanzata Java e C. Sicurezza

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione avanzata Java e C. Sicurezza"

Transcript

1 Programmazione avanzata Java e C Sicurezza

2 É risaputo che le password sono, generalmente, una delle parti più sensibili di un sito, nonchè una delle più critiche di un database. Per garantire sicurezza e fiducia agli utenti, esse vanno protette. Spesso si sente parlare di leaks (fuga di informazioni) da siti vulnerabili, di informazioni sensibili, tra cui anche le già citate password.

3 Obiettivo di queste slide è di fornire delle basi su alcune delle tecniche utilizzate per rendere "irriconoscibile" la password. Una delle tecniche più famose, che sarà protagonista di queste slide, si basa sull'utilizzo degli algoritmi di Hashing. Se la password è canebagnato12 o pippopippo123 allora un attacco a forza bruta impiegherà non più di qualche ora per indovinare la password.

4 Le funzioni di hash, sono funzioni matematiche one way che prendono un valore e lo trasformano in un altro valore.

5 Gli algoritmi di hashing sono degli algoritmi che, dato in input un testo di qualsiasi lunghezza, restituiscono un altra frase di lunghezza fissa. Essi, generalmente, vengono utilizzati per determinare l'integrità di dati di una cerca importanza.

6 Facciamo un esempio: abbiamo un testo molto lungo che vogliamo inviare ad un nostro amico; glielo inviamo e vogliamo verificare che il testo sia identico a quello di partenza. Otteniamo l'hash del testo di partenza e quello di arrivo, e la loro coincidenza determinerà l'integrità del testo. Se qualcuno pensa che una funzione di hash è una funzione di crittografia, non sa di cosa sta parlando. Il motivo principale per cui si usano gli algoritmi di hashing al posto di algoritmi crittografici, è relativo all'irreversibilità dei primi, ovvero non è possibile determinare il testo originale.

7 Ci sono algoritmi di crittografia che sono anche funzioni di hash, ma non è detto che tutte le funzioni di hash sia anche un algoritmo di crittografia. Eviterei di usare la parola crittografia perché lo scopo della crittografia è avere un sistema sicuro per lo scambio di informazioni che permetta ai legittimi interlocutori di mettere in chiaro il testo. Le funzioni di secure hashing non hanno questo obiettivo. Una volta offuscato, il dato resta offuscato e l unico modo di metterlo in chiaro è un attacco di forza bruta o con dizionario.

8 L attaccante ha una serie di hash, che non sono reversibili per definizione. Nel suo arsenale d attacco di saranno un bel po di dizionari contenente password di uso comune alle quali verrà applicato l algoritmo di hash per vedere se il valore offuscato è nel database appena trafugato.

9 Il particolare algorito di hash viene desunto dalla lunghezza dell hash stesso. Quindi è un informazione che dobbiamo dare per scontata sia in mano a chi ci attacca. Terminati i dizionari, si parte enumerando tutte le possibili combinazioni di lettere e numeri. E qui è solo una questione di tempo (tranne in un caso).

10 Proprietà di un Algoritmo di Hashing: ü Digest (Hash): valore ottenuto dall'hashing, che noi nella guida chiameremo "Hash" per praticità. ü Collision (Collisione): quando due stringhe in input hanno lo stesso Hash. Questo succede perchè abbiamo un numero infinito di lettere nel testo, mentre un numero limitato di caratteri nell'hash. ü Collision Rate (Tasso di collisione) : La frequenza di collisioni in un algoritmo hashing. Più piccola è la lunghezza dell'hash, maggiore sarà il numero di collisioni. ü Salt (Sale): Una stringa creata random che si andrà ad aggiungere alla nostra password per renderla più sicura.

11 Metodi di "Rottura" (crash) Hash (I peggior nemici degli Hash) Prima di parlare dei metodi di rottura, vorrei farvi notare una cosa, che nell'hashing una velocità lenta è una cosa positiva, perchè richiede più tempo di calcolo, e leggendo i vari metodi, capirete il perchè. Quelli sotto elencati, sono i metodi con i quali è possibile trovare la stringa originaria attraverso l'hash:

12 Brute Force Prova tutte le possibili combinazioni di caratteri data una certa lunghezza. Si trova l'hash di ogni singola combinazione e si controlla con l'hash che dobbiamo risolvere. E' un metodo abbastanza lento poichè bisogna valutare tutte le combinazioni possibili, e la sua efficacia dipende dalla macchina in cui ci si trova.

13 Directionary Simile al Brute Force, differenzia solo per le parole usate: non sono possibili tutte le combinazioni di caratteri ma solo parole ben definite e comuni, generalmente contenute in un file di testo o in un database. Hash Tables Consiste nel creare una tabella dove ogni riga contiene una parola (ovvero la possibile password) e il suo relativo Hash, così che sia possibile la corrispondenza del nostro Hash, ovviamente solo ve ne è una.

14 Rainbow Tables Molte volte vengono scambiate per le Hash Tables ma il loro utilizzo è nettamente più complesso. Avrei il piacere di spiegarle più dettagliatamente in un'altra guida.

15 Gli algoritmi Hashing più usati MD5: Restituisce un Hash da 128 bit ( 32 caratteri ) di caratteri esadecimali, è uno dei più utilizzati ma anche quello più sconsigliato perchè molto veloce (quindi più facile da cracckare con bruteforce) e anche perchè molto corto e quindi maggior probabilità che si presentino collisioni. SHA: Secure Hashing Algorithm, è una famiglia di vari algoritmi di hashing. Venne creato dal NIST, National Institute of Standards and Technology. Di questa famiglia abbiamo attualmente 3 funzioni: SHA1: Progettato dall'nsa. Restituisce un hash da 160 bit ( 40 caratteri) di caratteri esadecimali. Ma come MD5 è sempre molto utilizzato e molto veloce, quindi il suo uso viene sconsigliato.

16 SHA2: E' più robusto di SHA1. Comprende SHA-256 ( 64 caratteri), SHA-512 (128 caratteri). Data la sua lunghezza maggiore, il numero di collissioni diminuisce di molto, ma comunque rimane un algoritmo molto "veloce" e ciò lo penalizza di tanto. Da notare che esiste anche SHA-384 ( 96 caratteri) e SHA-224 (56 caratteri). SHA3: Comprende SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, il difetto di questo Hash è che ha una velocità di calcolo molto elevata. Bcrypt : Basato su Blowfish, attualmente considerato uno dei miglior algoritmi di Hashing, ogni suo hash è preceduto da "$2a$" o "$2b$" o "$2y$". Scrypt : E' simile a Bcrypt ma più sicuro per il suo tempo di calcolo molto elevato. Whirlpool : Restituisce un Hash da 512 bit, anch'esso è un algoritmo molto buono.

17 Rafforzare Hash con Salt e Pepper Per combattere i peggior nemici degli Hash, si fa ricorso al Salting e al Pepper (sale e pepe), questo metodo è molto utile, poichè nel caso di password uguali, avremo altrettanti Hash uguali, e ciò non sarà positivo alla nostra sicurezza delle password e alla loro "unicità".

18 Il Salt è una stringa random che viene aggiunta alla password per poi azionare l'algoritmo di Hashing sulla password+salt, così da renderla unica e aumentandone la lunghezza. E' sconsigliato l'uso di un Salt corto o di un Salt statico, ovvero uguale per tutte le password, di solito. E' sconsigliato l'utilizzo di informazioni date dall'utente come Salt, per non far restituire lo stesso Hash da due database differenti.

19 Non c'è bisogno che il Salt sia segreto,perchè le Rainbow Table, bruteforce ecc diventano inutilizzabili. Visto che si dovrebbero calcolare tutte le possibili password per ogni Salt, quando senza Salt trovando tutte le combinazioni potevi avere già tutte le password del database.

20 Il Pepper è una chiave segreta (key) che serve per trasformare un hash in HMAC (in maniera migliore, è un valore che serve per trasformare un Hash in MAC, e ci sono vari metodi per farlo, uno dei migliori è HMAC). L'HMAC keyed-hash Message Authentication Code è un'algoritmo di hashing che però utilizza una chiave segreta. E quindi per preservare l'integrità di un messaggio è necessaria una chiave(senza la chiave non può essere riprodotto l'hash). Ovviamente il Pepper è utile quando il nostro utente malintenzionato non conosca la chiave.

21 Alcuni programmatori, hanno l'abitudine di usare più volte md5 e sha1 sopra una password, es: md5(md5(sha1(password))). Io non consiglio metodi del genere, prima di tutto, diversamente da come si pensi, i benefici ottenuti tramite questi algoritmi sono davvero pochi, e secondo è inutile sprecare tempo di calcolo quando esistono algoritmi migliori e pensati meglio per questo genere di lavoro, e questo metodo risulta efficace quando il nostro malintenzionato non conosca l'algoritmo di hashing, ma nel caso il nostro source sia opensource, questo metodo perde tutta la sua efficacia.

22 Annidamento di Hash Uno dei metodi più efficaci per rafforzare i nostri Hash, è quello di annidarli (nested hash), ovvero di ricalcolarli per un dato numero di volte, riutilizzando comunque la password e il salt in modo adeguato. Come abbiamo detto prima, usare una tecnica come il riutilizzo dello stesso algoritmo, non migliora di tanto la sicurezza del nostro hash, tuttavia risalire alla password diventa molto più complesso per il notevole aumento del tempo di calcolo.

23 Se applicato correttamente non vi è neanche un aumento di collisioni. Un esempio di algoritmo di annidamento è PBKDF2. SHA1 e SHA2 e SHA3 sono algoritmi buoni, ma come ho detto prima, l'unico difetto che hanno è quello di essere molto veloci; attraverso PBKDF2 il tempo di calcolo aumenta di gran lunga: la loro efficacia aumenta. Generalmente viene comunque preferito l'uso di Bcrypt rispetto all'annidamento.

24 Esiste una regola aurea nel mondo dell IT security. Mai, mai, mai inventarsi un metodo di cifratura fatto in casa. Gli algoritmi in uso sono stati elaborati da scienziati con profonde basi matematiche e sono stati rivisti più e più volte da comitati fatti di matematici ed esperti di criptoanalisi..

25 DefCon 1 le tue password sono memorizzate in chiaro Non ci sono tante giustificazioni nel salvare la password di un utente in chiaro se non una serafica ignoranza. Essendo routine già pronte ed il web pieno zeppo di esempi di come usare una cifratura X ad una password, volerla salvare in chiaro è il semplice mix tra menefreghismo ed ignoranza. Ingiustificabile.

26 Come può un utente scoprire se ha dato la password in mano ad un cialtrone siffatto? Prova a seguire il link del reset password, se l applicazione ti fa scadere la password e ti da un link per fare il reset password allora hai qualche speranza. Se ti arriva una mail con la password in chiaro nel corpo del testo, cambia fornitore del servizio

27 DefCon 2 le tue password sono offuscate senza salt Allora aggiungere un salt random nel momento in cui viene applicata la funzione di hash alla password è sicuramente un ottima cosa. Perturba l input quanto basta per rendere un attacco a dizionario inutile e un attacco a forza bruta veramente difficile, visto che devi attaccare sia la password che il salt quindi le combinazioni lievitano.

28 Certo è, che se il salt è nello stesso DB delle password e quindi finisce in mano all attaccante, aggiungerlo non rende la tua ricetta molto più gustosa, anzi. Il salt va protetto e memorizzato in un luogo diverso dall hash. Se l attaccante ha in mano anche l hash allora il tuo livello di nervosismo è legato all algoritmo di cifratura utilizzato. Se l attaccante non ha in mano l hash, diciamo che ragionevolmente puoi stare un po più tranquillo.

29 DefCon 3 le tue password sono offuscate con SHA1 o MD5 con il salt Dunque MD5 e SHA1 erano il top forse una decina d anni fa. Il problema è che lo sviluppatore medio ha sentito questi nomi all Università e li ha associati al nome password e non si è mai evoluto.

30 MessageDigest md = MessageDigest.getInstance("SHA-1"); String text = Precipitevolissimevolmente"; md.update(text.getbytes("utf-8")); byte[] digest = md.digest(); // SHA-256 MessageDigest md = MessageDigest.getInstance("SHA-256"); String text = " Precipitevolissimevolmente "; md.update(text.getbytes("utf-8")); byte[] digest = md.digest(); // SHA-512 MessageDigest md = MessageDigest.getInstance("SHA-512"); String text = " Precipitevolissimevolmente "; md.update(text.getbytes("utf-8")); byte[] digest = md.digest();

31 DefCon 4 Le tue password sono offuscate con SHA256 o SHA512 con il salt Ok, ci sei quasi. Il metodo di cifratura è quasi quello ottimale. Per un attaccante un attacco a dizionario è sempre possibile nel caso di password senza vincoli di complessità e un attacco di forza bruta se hai usato un salt è veramente complesso. Puoi stare quasi tranquillo.

Funzioni di hash sicure: MD5 e SHA-1

Funzioni di hash sicure: MD5 e SHA-1 POLITECNICO DI MILANO Funzioni di hash sicure: MD5 e SHA-1 CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ Funzioni di hash Una funzione di hash (o message digest) è una

Dettagli

!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

!### $  Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema !"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 2 ' Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,

Dettagli

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità

Dettagli

Crittografia avanzata Lezione del 21 Marzo 2011

Crittografia avanzata Lezione del 21 Marzo 2011 Crittografia avanzata Lezione del 21 Marzo 2011 Attacchi alle funzioni hash Collisioni: trovare due messaggi M1 e M2 tali che H(M1) = H(M2) in meno di 2^(L/2) tentativi L è la lunghezza dell'hash Mezzi

Dettagli

SHAttered: uno sguardo alla collisione SHA1 ed al mondo degli hash

SHAttered: uno sguardo alla collisione SHA1 ed al mondo degli hash ICT Security Magazine ICT Security - La Prima Rivista Dedicata alla Sicurezza Informatica https://www.ictsecuritymagazine.com SHAttered: uno sguardo alla collisione SHA1 ed al mondo degli hash Date : 27

Dettagli

Tecnologie e applicazioni web Autenticazione

Tecnologie e applicazioni web Autenticazione Tecnologie e applicazioni web Autenticazione Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018 Autenticazione

Dettagli

Applicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M

Applicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M !"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 ' 2 Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,

Dettagli

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli Sicurezza della comunicazione tra due entità Prof.ssa Gaia Maselli maselli@di.uniroma1.it La sicurezza nelle reti Principi di crittografia Integrità dei messaggi Autenticazione end-to-end 2 Sicurezza nella

Dettagli

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6) Crittografia & Java Cryptographic Architecture (JCA) 1 (Es. 6) La crittografia La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare una

Dettagli

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica ITC Mossotti - Novara II Segmento - progetto POLIS Verica di Informatica Nome e Cognome:... Data e Ora:... 1) Nella cifratura convenzionale uso la chiave privata per cifrare l'impronta del messaggio uso

Dettagli

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici metodi crittografici 1 sommario richiami di crittografia e applicazioni hash crittografici crittografia simmetrica crittografia asimmetrica attacchi e contromisure birthday rainbow key rollover generatori

Dettagli

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici metodi crittografici 1 sommario richiami di crittografia e applicazioni hash crittografici crittografia simmetrica crittografia asimmetrica attacchi e contromisure birthday rainbow key rollover generatori

Dettagli

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash Funzioni crittografiche di hash Codici di checksum Un codice di checksum è una firma di dimensione fissa (ad es. 32 bit) calcolata a partire da un messaggio (*) di lunghezza variabile. Ogni messaggio ha

Dettagli

Sistemi operativi e reti 1

Sistemi operativi e reti 1 Sistemi operativi e reti 1 Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2014/15 1 cba 2015 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Crittografia. Codifica dei caratteri di un messaggio con criteri noti solo a mittente e destinatario

Crittografia. Codifica dei caratteri di un messaggio con criteri noti solo a mittente e destinatario Crittografia Codifica dei caratteri di un messaggio con criteri noti solo a mittente e destinatario CODIFICA e DECODIFICA sono due funzioni che hanno come parametro rispettivamente il messaggio in chiaro

Dettagli

cifrario di Feistel cifrario di Feistel

cifrario di Feistel cifrario di Feistel cifrario di Feistel Horst Feistel (IBM) ha introdotto uno schema di cifrario nei primi anni 70. Il DES è un cifrario di Feistel. La cifratura e la decifratura funzionano essenzialmente allo stesso modo.

Dettagli

Cosa fare quando un algoritmo crittografico viene 'rotto'?

Cosa fare quando un algoritmo crittografico viene 'rotto'? ICT Security n. 33, Aprile 2005 p. 1 di 5 Cosa fare quando un algoritmo crittografico viene 'rotto'? Nell'agosto 2004 alcuni ricercatori cinesi hanno annunciato di aver scoperto dei problemi negli algoritmi

Dettagli

Elementi di crittografia: Gli algoritmi di hashing

Elementi di crittografia: Gli algoritmi di hashing Elementi di crittografia: Gli algoritmi di hashing Non spaventarti, continua a leggere! Ho esordito in questo modo in quanto vedere nello stesso titolo parole come crittografia e algoritmi di hashing potrebbe

Dettagli

CRYPTO-CURRENCY LA CRITTOGRAFIA E LA BLOCKCHAIN

CRYPTO-CURRENCY LA CRITTOGRAFIA E LA BLOCKCHAIN CRYPTO-CURRENCY LA CRITTOGRAFIA E LA BLOCKCHAIN LA BOLLA ethereum https://www.etoro.com/it/discover/markets/cryptocurrencies LE MONETE VIRTUALI FRA TRADING E VIRTÙ PERCHÉ CRYPTO ALGEBRA, PROBABILITÀ E

Dettagli

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche

Dettagli

RETI DI CALCOLATORI II

RETI DI CALCOLATORI II RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Sicurezza informatica: esercitazione 1

Sicurezza informatica: esercitazione 1 Sicurezza informatica: esercitazione 1 Cataldo Basile < cataldo.basile @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Dictionary attack tecnica per indovinare password senza provare

Dettagli

Sicurezza Documentale a.a. 2017/2018 DOCENTI: DOTT.SSA VALERIA FIONDA DOTT. GIUSEPPE PIRRÒ

Sicurezza Documentale a.a. 2017/2018 DOCENTI: DOTT.SSA VALERIA FIONDA DOTT. GIUSEPPE PIRRÒ Sicurezza Documentale a.a. 2017/2018 DOCENTI: DOTT.SSA VALERIA FIONDA DOTT. GIUSEPPE PIRRÒ Sistemi di Autenticazione Tipi di servizio Servizi senza autenticazione : proteggere i server (ftp, http...) rendendo

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Collegio Ghislieri Convegno 2015 di Informatica giuridica

Collegio Ghislieri Convegno 2015 di Informatica giuridica Collegio Ghislieri Convegno 2015 di Informatica giuridica UN SENTITO RINGRAZIAMENTO A QUANTI HANNO COLLABORATO PER REALIZZARE QUESTO IMPORTANTE CONVEGNO, ALLE AUTORITÀ INTERVENUTE, AGLI AMICI RELATORI

Dettagli

FUNZIONI HASH ONE-WAY ITERATE

FUNZIONI HASH ONE-WAY ITERATE FUNZIONI HASH ONE-WAY ITERATE SNEFRU SHA-1 di Davide Gallo per Elementi di Crittografia 2004/2005 Prof.sa Rosaria Rota Funzioni Hash : contesto Oltre alla Segretezza i moderni sistemi di crittografia a

Dettagli

cifrario di Feistel cifrario di Feistel

cifrario di Feistel cifrario di Feistel cifrario di Feistel Horst Feistel (IBM) ha introdotto uno schema di cifrario nei primi anni 70. il DES è un cifrario di Feistel molti cifrari a blocchi sono cifrari di Feistel - per esempio i due finalisti

Dettagli

Message Authentication Code

Message Authentication Code Message Authentication Code Message Authentication Code (MAC) messaggio M Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads

Dettagli

Crittografia con Python

Crittografia con Python Crittografia con Python Corso introduttivo Marzo 2015 Con materiale adattato dal libro Hacking Secret Cypher With Python di Al Sweigart (http://inventwithpython.com/hacking/index.html) Ci eravamo lasciati

Dettagli

Autenticazione, firme digitali e certificati digitali

Autenticazione, firme digitali e certificati digitali Nota di Copyright ETI DI CALCOLATOI II Prof. PIE LUCA MONTESSOO Ing. DAVIDE PIEATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto

Dettagli

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d Definizione Sistemi per la creazione e la verifica di firme digitali Differenze tra firma digitale e firma convenzionale Valore giuridico della firma digitale in Italia Crittografia asimmetrica 11-01-2010

Dettagli

BLOWFISH. Introduzione Algoritmo. Prestazioni Cryptanalysis of Vaundenay. Egizio Raffaele

BLOWFISH. Introduzione Algoritmo. Prestazioni Cryptanalysis of Vaundenay. Egizio Raffaele Introduzione Algoritmo Prestazioni Cryptanalysis of Vaundenay Egizio Raffaele Introduzione E un cifrario a blocchi a chiave simmetrica Utilizza varie tecniche tra le quali la rete Feistel, le S-box dipendenti

Dettagli

Crittografia e OpenSource

Crittografia e OpenSource Crittografia e OpenSource Matteo Carli matteo@matteocarli.com http://www.matteocarli.com http://www.lug-acros.org Chi sono Studente di Sicurezza dei sistemi e delle reti informatiche presso il polo di

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Università degli Studi di Foggia - CdLS in Odontoiatria e Protesi Dentarie La sicurezza digitale

Dettagli

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015 Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015 Lezione del 11 Maggio 2015 1 Crittografia Scienza antichissima: codificare e decodificare informazione Tracce risalenti all epoca di

Dettagli

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Identificazione, Autenticazione e Firma Digitale. Firma digitale... Identificazione, Autenticazione e Firma Digitale In origine crittografia = confidenzialità Diffusione delle reti: nuove funzionalità. Identificazione Autenticazione Firma digitale Identificazione: un sistema

Dettagli

Definizione. La crittografia serve per: Crittografia deriva dal greco = scrittura nascosta

Definizione. La crittografia serve per: Crittografia deriva dal greco = scrittura nascosta Crittografia Definizione La crittografia serve per: Celare il significato del messaggio Garantire l autenticità del messaggio Identificare l autore del messaggio Firmare e datare il messaggio Crittografia

Dettagli

metodi crittografici 2006-2007 maurizio pizzonia sicurezza dei sistemi informatici e delle reti

metodi crittografici 2006-2007 maurizio pizzonia sicurezza dei sistemi informatici e delle reti metodi crittografici 1 sommario richiami di crittografia e applicazioni hash crittografici crittografia simmetrica crittografia asimmetrica attacchi e contromisure attacchi tipici key rollover generatori

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

Attacchi ai FileSystem cifrati

Attacchi ai FileSystem cifrati ICT Security n. 46, Giugno 2006 p. 1 di 5 Attacchi ai FileSystem cifrati Negli articoli precedenti abbiamo illustrato alcuni modi per cifrare dischi, partizioni eccetera, occupandoci di aspetti pratici

Dettagli

Algoritmi di criptografia a chiave. Cifrari a blocchi

Algoritmi di criptografia a chiave. Cifrari a blocchi Algoritmi di criptografia a chiave simmetrica Cifrari a blocchi Criptografia Simmetrica Gli algoritmi di criptografia a chiave simmetrica, o chiave segreta, sono preferiti perché, più è corta la chiave,

Dettagli

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Corso di Crittografia Prof. Dario Catalano. Firme Digitali Corso di Crittografia Prof. Dario Catalano Firme Digitali Introduzione n Una firma digitale e l equivalente informatico di una firma convenzionale. n Molto simile a MA, solo che qui abbiamo una struttura

Dettagli

CODICI. Crittografia e cifrari

CODICI. Crittografia e cifrari CODICI Crittografia e cifrari CRITTOGRAFIA - La crittografia è una scrittura convenzionale segreta, decifrabile solo da chi conosce il codice. - La parola crittografia deriva da 2 parole greche, ovvero

Dettagli

Crittografia per la sicurezza dei dati

Crittografia per la sicurezza dei dati Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza Approcci al problema della sicurezza Aspetti della sicurezza e tecnologie correlate Requisiti per la sicurezza: 1. qualcosa che sai (username/password) 2. qualcosa che hai (cellulare, token, smart-card,

Dettagli

Crittografia con OpenSSL crittografia simmetrica

Crittografia con OpenSSL crittografia simmetrica Crittografia con OpenSSL crittografia simmetrica Laboratorio del corso Sicurezza dei sistemi informatici (03GSDOV) Politecnico di Torino AA 2016/17 Prof. Antonio Lioy preparata da: Cataldo Basile (cataldo.basile@polito.it)

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce crittosistema RSA Sia N = pq, p, q primi. Sia P = C = Z N. Lo spazio delle chiavi è K = {(N, p, q, d, e) de 1 (mod φ(n))}. Se k = (N, p, q, d, e) è una chiave, poniamo e k (x) = x e (mod N) N e e sono

Dettagli

Gestire bene le password per evitare guai

Gestire bene le password per evitare guai Gestire bene le password per evitare guai Gestire bene le password per evitare guai Il 6 Giugno del 2016 qualcuno ha preso il controllo degli account Twitter e Pinterest di marck Zuckerberg: se la notizia

Dettagli

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

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

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Digital Signature Standard

Digital Signature Standard Corso di Sicurezza 2008/2009 Golinucci Thomas Zoffoli Stefano Gruppo 11 Firme digitali 1. Introduzione. 2. Caso d uso e digitalizzazione. 3. Firme digitali e possibili attacchi. 4. Manuali vs Digitali.

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

Sicurezza delle reti 1

Sicurezza delle reti 1 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2011/12 1 c 2011 12 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. http://creativecommons.org/licenses/by-sa/2.5/it/.

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Esercitazione 1 Crittografia Simmetrica

Esercitazione 1 Crittografia Simmetrica Sommario Esercitazione 1 Crittografia Simmetrica Laboratorio di Sicurezza 2018/2019 Andrea Nuzzolese Crittografia simmetrica Cifrare messaggi con chiave segreta Decifrare messaggi con chiave segreta Argomenti

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

REPORT ED ANALISI DEI DATI 9 Giugno 2015 F. Petrella per l Associazione Italiana Ulcere Cutanee ( AIUC-onlus)

REPORT ED ANALISI DEI DATI 9 Giugno 2015 F. Petrella per l Associazione Italiana Ulcere Cutanee ( AIUC-onlus) PROGETTO S.I.U.C. ( STUDIO INCIDENZA ULCERE CUTANEE) ( 1 Gennaio 2015 31 Dicembre 2016) REPORT ED ANALISI DEI DATI 9 Giugno 2015 F. Petrella per l Associazione Italiana Ulcere Cutanee ( AIUC-onlus) PREMESSA

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

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

Dizionari. Hashtables.

Dizionari. Hashtables. Dizionari Hashtables http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione I tipi di dato che abbiamo introdotto fino ad ora sono

Dettagli

Software McAfee epolicy Orchestrator 5.9.0

Software McAfee epolicy Orchestrator 5.9.0 Note sulla versione Revisione B Software McAfee epolicy Orchestrator 5.9.0 Sommario Informazioni su questo rilascio Nuove funzionalità Miglioramenti Problemi noti Istruzioni per l'installazione Trova documentazione

Dettagli

Crittografia: Servizi richiesti

Crittografia: Servizi richiesti Reti di Calcolatori Elementi di Crittografia Servizi Crittografia: Servizi richiesti SEGRETEZZA: evitare che i dati inviati da un soggetto A a un soggetto B vengano intercettati da un terzo soggetto C.

Dettagli

Piattaforma AlmaChannel e laboratori virtuali

Piattaforma AlmaChannel e laboratori virtuali Piattaforma AlmaChannel e laboratori virtuali Tecnologie per la Sicurezza L-S AA 2005-2006 Anna Riccioni anna.riccioni@gmail.com Laboratori virtuali Supporto alla didattica tradizionale Simulatore come

Dettagli

FIRMA ELETTRONICA. Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare:

FIRMA ELETTRONICA. Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare: Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare: Riservatezza (protezione delle informazioni da accessi non autorizzati) Integrità (garanzia che l'informazione

Dettagli

Il Livello di presentazione

Il Livello di presentazione IL LIELLO I RESENTAIONE 1 La codifica dei dati 1 La compressione dei dati. 2 Tecnica di uffmann 3 Crittografia 18 Il Livello di presentazione La codifica dei dati Scopo fondamentale del livello di presentazione

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 2)

Architettura dei sistemi di elaborazione: La memoria (parte 2) Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale

Dettagli

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese Sommario Esercitazione 02 Andrea Nuzzolese Certificati Descrizione esercitazione Free Secure Email Certificates (con InstantSSL) ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA! Un certificato digitale in breve

Dettagli

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443 Http e Https http usa la porta 80 E usato semplicemente per navigare Il traffico dati è in chiaro, visibile da altri in ascolto sul canale trasmissivo Sniffing del traffico dati facile in una rete wi-fi

Dettagli

Facoltà di Ingegneria Industriale. e dei Trasporti. Dipartimento di Elettronica e Informazione. Informatica B. Prof.

Facoltà di Ingegneria Industriale. e dei Trasporti. Dipartimento di Elettronica e Informazione. Informatica B. Prof. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Prof. Marco Masseroli Indice Laboratorio 5: Linguaggio

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche FABIO SCOTTI I cifrari polialfabetici: Vigenère Laboratorio di programmazione per la sicurezza Indice

Dettagli

Corso di Informatica di Base. Laboratorio 3

Corso di Informatica di Base. Laboratorio 3 Corso di Informatica di Base Laboratorio 3 Francesca Mazzoni Gestire le password Ogni sito o servizio a cui siamo iscritti richiede di scegliere un utente e una password che devono essere ricordate Non

Dettagli

Corso di Crittografia

Corso di Crittografia Prova in Itinere del 24 Aprile 203 2. Sia SE=(KeyGen,Enc,Dec) uncifrariosimmetricoesianom, K, C gli insiemi dei messaggi, delle chiavi e dei crittotesti, rispettivamente. M = {, 2, 3} K = {, 2, 3} Supponiamo

Dettagli

Elementi di Crittografia

Elementi di Crittografia Elementi di Crittografia Algoritmi Messaggio in chiaro messaggio crittografato M X =C k (M C ) Messaggio crittografato messaggio in chiaro M C =D k (M X ) Per la codifica/decodifica è necessario un parametro

Dettagli

La crittografia asimmetrica è alla base della moderna crittografia ed è particolarmente utilizzata nei sistemi di protezione delle comunicazioni

La crittografia asimmetrica è alla base della moderna crittografia ed è particolarmente utilizzata nei sistemi di protezione delle comunicazioni La crittografia asimmetrica è alla base della moderna crittografia ed è particolarmente utilizzata nei sistemi di protezione delle comunicazioni digitali via Internet. Questo nuovo tipo di approccio consente

Dettagli

IL BACKUP DEI DATI backup restore

IL BACKUP DEI DATI backup restore IL BACKUP DEI DATI Il backup è l operazione che permette di creare una copia di sicurezza dei dati del sistema informatico su supporti di memorizzazione esterni al computer. Esso viene eseguito per poter

Dettagli

Problemi intrattabili e quantum computing

Problemi intrattabili e quantum computing Problemi intrattabili e quantum computing Il problema del commesso viaggiatore Noto anche come Travelling Salesman Problem (TSP) Il commesso viaggiatore deve visitare n città in automobile Se viaggiasse

Dettagli

I formati delle istruzioni

I formati delle istruzioni Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...

Dettagli

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria Informatica A.A. 2018-2019 Sicurezza nella comunicazione

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Sicurezza dei calcolatori e delle reti. Le protezioni cripto in rete Lez. 10

Sicurezza dei calcolatori e delle reti. Le protezioni cripto in rete Lez. 10 Sicurezza dei calcolatori e delle reti Le protezioni cripto in rete Lez. 10 Crittografia e sicurezza Vediamo la strategia generale che può essere adottata con l adozione di un sistema crittografico, per

Dettagli

Sicurezza dei sistemi e delle reti 1

Sicurezza dei sistemi e delle reti 1 Sicurezza dei sistemi e delle 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2015/16 1 cba 2011 15 M.. Creative Commons Attribuzione Condividi allo stesso

Dettagli

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria delle Telecomunicazioni Corso di Laurea in Ingegneria

Dettagli

Sicurezza e Crittografia

Sicurezza e Crittografia Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti Prof. Gabriele D'Angelo, Università di Bologna https://www.unibo.it/sitoweb/g.dangelo/

Dettagli

crittoanalisi del DES

crittoanalisi del DES crittoanalisi del DES Di fatto, il modo più efficiente di violare il DES è un attacco a forza bruta: provare ogni possibile chiave, una dopo l altra. Ci sono due attacchi a livello teorico applicabili

Dettagli

1 Esercizio - caso particolare di ottimalità

1 Esercizio - caso particolare di ottimalità Corso: Gestione ed elaborazione grandi moli di dati Lezione del: 5 giugno 2006 Argomento: Compressione aritmetica e Tecniche di compressione basate su dizionario Scribes: Andrea Baldan, Michele Ruvoletto

Dettagli

Introduzione all'informatica

Introduzione all'informatica Introduzione all'informatica Loriano Storchi loriano@storchi.org http:://www.storchi.org/ CRITTOGRAFIA CENNI DI BASE Crittografia cenni di base Nei calcolatori le informazioni sono memorizzate come sequenze

Dettagli