Il talk si propone di fornire strumenti utili ai developer che vogliono offrire ai propri utenti autenticazione ed autorizzazione da differenti canali quali mobile e browser su differenti tipi di risorse come web-application e REST services. Saranno mostrati gli algoritmi di crittografia ed i protocolli più noti di autenticazione/autorizzazione, evitando noie matematiche e considerando solo le applicazioni pratiche.
Gli argomenti trattati saranno
Crittografia (25 minuti)
symmetric key, asymmetric key, key exchange, key derivation function, key management, hash function, MAC function
Autenticazione e Autorizzazione (50 minuti)
HTTPS, Password, autenticazione a 2 fattori, Cookie (stateful), Access Token (stateless), JWT,OAuth2 e OpenID Connect
Il talk si propone di fornire strumenti utili ai developer che vogliono offrire ai propri utenti autenticazione ed autorizzazione da differenti canali quali mobile e browser su differenti tipi di risorse come web-application e REST services. Saranno mostrati gli algoritmi di crittografia ed i protocolli più noti di autenticazione/autorizzazione, evitando noie matematiche e considerando solo le applicazioni pratiche.
Gli argomenti trattati saranno
Crittografia (25 minuti)
symmetric key, asymmetric key, key exchange, key derivation function, key management, hash function, MAC function
Autenticazione e Autorizzazione (50 minuti)
HTTPS, Password, autenticazione a 2 fattori, Cookie (stateful), Access Token (stateless), JWT,OAuth2 e OpenID Connect
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò
Il 4 giugno 2011, presso il Centro Studi Informatica Giuridica di Reggio Calabria, Vincenzo Calabrò ha tenuto un seminario dal titolo: Tracciabilita' delle Operazioni in Rete e Network Forensics. Questo seminario ha come obiettivo l'analisi delle problematiche lagate alla tracciabilità delle operazioni in Rete e cenni di Network Forensics.
https://www.vincenzocalabro.it
Una presentazione sulle (in)sicurezze delle rete wireless 802.11b, parlando di Wi-Fi, il wardriving e warchalking, cracking della crittografia WEP e WPA e delle tecniche di protezione della proprio rete
Cosa dobbiamo ancora capire sui containers?
Sicurezza: Cosa cambia, Come mi adeguo e Dove mi Fermo?
Attacchi:un esempio pratico di resilienza delle architetture a Containers
This document discusses the launch of a Cybersecurity Task Force within ASECAP to address cybersecurity issues in the road transportation sector. It notes that while most industries have undergone digital transformation, the road sector's cybersecurity maturity is still developing. The task force aims to initially represent the sector to the European Union Agency for Cybersecurity (ENISA). It conducted a questionnaire of ASECAP members that found most operate critical digital services but few have certified security governance. The task force seeks to increase harmonization of cybersecurity postures among members and engage in international cooperation activities.
Securing Critical Infrastructures with a cybersecurity digital twin Massimiliano Masi
Critical Infrastructures are common targets for cyber-and-physical attacks. Smart Grids, Water Transport Systems, Railway, or Motorway witness an increase of malware and attacks partially due to the IT/OT convergence. Usually, critical infrastructures are composed by legacy software or hardware that cannot be easily patched or upgraded, facilitating the work of the attackers by exposing vulnerabilities solved in IT decades ago. Moreover, it is usually impossible to have a test system for such infrastructures, where a security countermeasure is evaluated for its impact. In fact, in OT systems, availability is of its utmost importance, thus adding a security countermeasure has to be carefully evaluated to not hinder such property. To overcome such shortcomings, digital twins are used. In this talk, it will be presented how digital twins specifically devised for cybersecurity are used for the evaluation of threats in cyber-and-physical systems in an industrial environment. In particular, it will be shown how a digital twin will be systematically derived from the Architectural representation of a real-world industrial system (the "collaborative intelligent transport system") and how the security measures are evaluated with an specific architectural view.
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò
Il 4 giugno 2011, presso il Centro Studi Informatica Giuridica di Reggio Calabria, Vincenzo Calabrò ha tenuto un seminario dal titolo: Tracciabilita' delle Operazioni in Rete e Network Forensics. Questo seminario ha come obiettivo l'analisi delle problematiche lagate alla tracciabilità delle operazioni in Rete e cenni di Network Forensics.
https://www.vincenzocalabro.it
Una presentazione sulle (in)sicurezze delle rete wireless 802.11b, parlando di Wi-Fi, il wardriving e warchalking, cracking della crittografia WEP e WPA e delle tecniche di protezione della proprio rete
Cosa dobbiamo ancora capire sui containers?
Sicurezza: Cosa cambia, Come mi adeguo e Dove mi Fermo?
Attacchi:un esempio pratico di resilienza delle architetture a Containers
This document discusses the launch of a Cybersecurity Task Force within ASECAP to address cybersecurity issues in the road transportation sector. It notes that while most industries have undergone digital transformation, the road sector's cybersecurity maturity is still developing. The task force aims to initially represent the sector to the European Union Agency for Cybersecurity (ENISA). It conducted a questionnaire of ASECAP members that found most operate critical digital services but few have certified security governance. The task force seeks to increase harmonization of cybersecurity postures among members and engage in international cooperation activities.
Securing Critical Infrastructures with a cybersecurity digital twin Massimiliano Masi
Critical Infrastructures are common targets for cyber-and-physical attacks. Smart Grids, Water Transport Systems, Railway, or Motorway witness an increase of malware and attacks partially due to the IT/OT convergence. Usually, critical infrastructures are composed by legacy software or hardware that cannot be easily patched or upgraded, facilitating the work of the attackers by exposing vulnerabilities solved in IT decades ago. Moreover, it is usually impossible to have a test system for such infrastructures, where a security countermeasure is evaluated for its impact. In fact, in OT systems, availability is of its utmost importance, thus adding a security countermeasure has to be carefully evaluated to not hinder such property. To overcome such shortcomings, digital twins are used. In this talk, it will be presented how digital twins specifically devised for cybersecurity are used for the evaluation of threats in cyber-and-physical systems in an industrial environment. In particular, it will be shown how a digital twin will be systematically derived from the Architectural representation of a real-world industrial system (the "collaborative intelligent transport system") and how the security measures are evaluated with an specific architectural view.
Security and Safety by Design in the Internet of Actors an Architectural Appr...Massimiliano Masi
The document proposes an architectural approach to designing complex systems like smart grids and healthcare projects with security and safety by design. It introduces the Internet of Actors framework which designs systems using smart actors that cooperate through roles and business processes. The framework is enhanced with an Architecture Development Method and by mapping actors to the RAMI 4.0 reference model. This allows applying the Risk and Impact Assessment Methodology Security Steps at each stage of development to systematically achieve security goals. The approach aims to provide governance, sustainability, security and safety from the early design phases.
Securing Mobile e-Health Environments by Design: A Holistic Architectural App...Massimiliano Masi
The document proposes a holistic architectural approach for securing mobile e-health environments. It combines the Reference Model of Industrial Automation (RAMI) 4.0, the Risk Management for Information Security Architecture (RMIAS) method, and standards like Integrating the Healthcare Enterprise (IHE) and Fast Healthcare Interoperability Resources (FHIR) to address security and interoperability throughout the lifecycle of medical devices. The approach involves applying RMIAS cycles at each layer of the RAMI architecture to integrate ubiquitous medical devices into healthcare IT infrastructures in a secure-by-design manner. A tool called MOSAA is being developed to enable security architects to formally model and evaluate such architectures.
Enabling Security-by-design in Smart Grids: An architecture-based approachMassimiliano Masi
Use an architectural approach to provide security-based design in Smart Grids, with influence from the healthcare world. Slides preseted in DSOGRI.org workshop in Naples.
The need for interoperability in blockchain-based initiatives to facilitate c...Massimiliano Masi
Slides for the IEEE Blockchain Symposium in Glasgow, https://blockchain.ieee.org/standards/clinicaltrialseurope18, https://blockchain.ieee.org/standards/clinicaltrialseurope18/speakers
Blockchain technology has many potential use cases in healthcare, but also faces challenges regarding interoperability, security, and performance. While blockchain investments peaked in 2017-2018, many projects have failed due to a lack of real use cases. For healthcare, appropriate uses of blockchain may include payments and supply chain applications that do not require storing sensitive medical data on the blockchain. Overall, blockchain remains an emerging technology that could play a role in healthcare if standards, security, and technical limitations are properly addressed.
The document proposes automating the design of smart grid solution architectures using a formal model. It introduces an approach used in healthcare to define integration profiles and transactions between actors. This is formalized to automatically evaluate interdependencies and quality attributes. As a proof of concept, secure message exchange in a virtual power plant use case is modeled to check throughput requirements. Future work aims to integrate additional smart grid reference architecture components and quality metrics into the formal evaluation.
This is the introductory material to blockchain that I had at the Firenze Linux User Group meeting http://www.firenze.linux.it/2018/02/il-bitcoin-e-le-altre/
Distributed Ledger Technologies just left the peek of the Gartner’s Hype Cycle for Emerging technologies of 2017. However the status of the art for Blockchain-based initiatives in healthcare has not yet been reached, mostly due to the lack of knowledge about the need of interoperability amongst blockchain practitioners.
Following the adagio “The nice thing about standards is that you have so many to choose from”, the GrapevineWorld Project brings together DLT technologies in the healthcare context following the rules set by the IHE international standardisation body, whose specifications are the pillars of continental healthcare information exchange.
First, this presentation will introduce the IHE governance model.
Then it will tackle the benefit of DLTs to introduce the Grapevine research ecosystem.
A governance model for ubiquitous medical devices accessing eHealth data: the...Massimiliano Masi
The Electronic Health Record (EHR) is a reality in almost all the EU and USA regions.
The introduction of EHR dramatically reduced the need for paper-based records, thus resulting in an improvement of patient care, including the “freedom of movement” principle across countries. EHRs contain very sensitive information (Private Healthcare Information, PHI) and they are ruled by several acts and international regulations, defined by each country. Key principles for this sector are interoperability, and security. There are two overarching standards for such security, FHIR and IHE. This short presentation aims at providing an overall status across eHealth Security and Interoperability, common pitfalls, and a description of common architectures, when connecting medical devices to patient’s EHR.
Addressing Security and Provide through IHE Profiles Massimiliano Masi
This is the talk that I had at Med-e-Tel 2015, presenting IHE security profiles, how to exploit IHE to fulfill the security needs of local, regional, national, continental, healthcare information exchange
2. Obiettivi del corso
• Teoria e pratica di Information Security Management Systems (ISMS)
• Attacchi, Vettori, Vulnerabilità, Architettura, Rischi
• Intrusion Detection
• Blockchain
• Best Practices, ISO 27000, e framework legali (GDPR, eIDAS)
• Impareremo: OpenSSL, Packet Filtering, Ethereum, HyperLedger,
Apache
3. Introduzione
• «La parola Sicurezza viene sempre con un’accezione negativa: viene
applicata quando le cose non vanno come dovrebbero» [A, pg1]
• La sicurezza di un sistema IT (detta anche cybersecurity) deve essere
un impegno di tutte le persone che si occupano dello scambio e la
memorizzazione di dati e informazioni.
4. Introduzione
• Gli strumenti per la sicurezza dei dati si sono evoluti nel tempo
• Documenti riservati venivano rinchiusi in armadi
• Personale selezionato con dei criteri ben definiti
5. Introduzione
• Con l’avvento dei computer, è risultato evidente l’utilizzo di questi
sistemi per la memorizzazione e il controllo dell’accesso di documenti
riservati
• Successivamente i dati sensibili sono stati condivisi (avvento delle reti
private e di internet).
7. Che cosa s’intende per sicurezza?
• La vulnerabilità (vulnerability) è il buco nel tetto
• La minaccia (threat) è la nuvola carica di pioggia
• La pioggia può sfruttare (exploit) la vulnerabilità
• Il rischio (risk) è che l’edificio e le sue dotazioni internet possano
essere danneggiate finché la vulnerabilità esiste e non viene
riparata, ed esiste una probabilità che piova.
8. Recap
• Sicurezza dei dati in transit e in rest
• Concetto di Vulnerabilità, Rischio, Exploit, Threat
• Concetto di Vettore di Attacco: la modalità di ingresso nel sistema (il
«buco»)
9. Prima architettura della sicurezza
• La sicurezza è un concetto
CrossCutting: interessa tutti gli
aspetti della gestione del dato e
dell’informazione
• Modello ISO/OSI (wiki)
10. Architetture
• Ogni singolo layer dell’architettura del sistema richiede delle misure di
sicurezza a se
• Nelle reti moderne si usa il protocollo
TCP/IP
• Architetture superiori hanno gli stessi
concetti (SGAM, IIoT)
11. Meccanismi, attacchi e servizi
• Attacco alla sicurezza: qualsiasi azione che compromette la sicurezza
delle informazioni di proprietà dell’organizzazione
• Meccanismo di sicurezza: processo progettato perrilevare, prevenire
o riparare i danni prodotti da un attacco
• Servizio Di Sicurezza: servizio che migliora la sicurezza dei sistemi di
elaborazione e trasmissione delle informazioni [B, pg11]
12. Attacchi
• Sono di due tipi: passivi e attivi
• Attacchi passivi: si preoccupano di intercettare o monitorare le
trasmissioni. L’obiettivo è di carpire le informazioni che vengono
trasmesse.
• Sono molto difficili da rilevare
• Esempio: packet sniffing, traffic analysis
• Attacchi attivi: modificano il flusso dei dati
• Esempio: ripetizione, mascheramento, modifica, DoS
13. Servizi di Sicurezza
• Definizione di X.800:
• Autenticazione (utente e dati)
• Controllo degli accessi
• Segretezza dei dati
• Integrità dei dati
• Non ripudiabilità
• Definizione di ISO 27000: la CIA (Confidentiality, Integrity, Availability)
• Ci sono moltissime «*bility»
14. CIA
• Confidentiality: (exclusivity) si definisce come il servizio che limita chi
può accedere a cosa.
• Si implementa con il meccanismo di Access Control, e Cifratura
• Integrity: si definisce come la correttezza o consistente con lo stato
delle informazioni presunto (ogni modifica dei dati non autorizzata è
una rottura dell’integrity)
• Si implementa con il meccanismo di firme digitali, One-Way Hash Function
• Availability: la probabilità di ottenere il servizio richiesto ad un tempo
t, per ogni possibile valore di t.
15. Meccanismi
• Crittografia
• Firma
• Controllo accessi
• Integrità dei dati
• Scambio di autneticazione
• Riempimento del traffico (creazione di caos)
• Controllo dell’instradamento
• Uso di una Trusted Third Party
17. Esempio: interoperabilità
• L’interoperabilità è definita in tre livelli
• Fondazionale (messaggi scambiati, protocollo)
• Strutturale (a livello di scambio di dati)
• Semantica (a livello di informazione scambiata).
• È da considerarsi un esempio di sicurezza?
18. Risposta
• SI! Se un dato non è interoperabile, non è accessibile (available),
quindi la probabilità di ottenere il servizio ad un tempo t>0 è 0.
• Si viola la triade CIA
• L’interoperabilità è importante in sicurezza
19. Due care and Due diligence
• Due diligence is the act of investigating and understanding the risks
the company faces
• A company practices due care by developing and implementing
security policies, procedure and standards [A, pg 15]
• La sicurezza è di solito regolata dalla legge in maniera abbastanza
precisa (ad esempio, General Data Protection Regulation (ex Data
Protection Regulation, dagli anni 90) e electronic ID and Advanced
Signature, dagli anni 90.
20. Mantra: NO security by obscurity
• Mettere in sicurezza un dato con un metodo inventato da noi, e
mantenuto segreto, è estremamente debole:
• Bisogna essere parecchio bravi affinché il metodo sia robusto
• Richiede conoscenza: prima o poi verrà scritto da qualche parte e tecniche di
attacco sociali lo rendono disponibile
• Il codice si può disassemblare (vedi le vecchie crack delle licenze)
• Sempre utilizzare algoritmi pubblici e ben conosciuti da tutti
• Security e Privacy by design (cfr. GDPR)
23. Tecniche di Crittografia
• La crittografia è un meccanismo per implementare la … ?
• È una funzione che trasforma una serie di dati (messaggio in chiaro) in
un’altra serie di dati (messaggio cifrato) e li rende accessibili solo a chi
conosce un segreto (chiave).
• Se la chiave usata per cifrare viene usata per decifrare, si parla di
cifrari simmetrici
• Se viene usata una chiave differente, asimmetrici.
24. Robustezza e attacchi
• Come si attacca un sistema crittografico simmetrico?
• Analisi Crittografica (basata sulle caratteristiche dell’algoritmo)
• Forza Bruta, viene fatta un’analisi sull’intero spazio delle chiavi
• Storicamente si usano due tecniche
• Sostituzione
• Trasposizione
• Nella seconda guerra mondiale usate macchine a rotazione
• L’analisi crittografica viene solitamente instrumentata con attacchi di
tipo passivo
25. Analisi
• Schema incondizionatamente sicuro: il testo cifrato generato non
contiene informazioni sufficienti per determinare in modo univico il
relativo test in chiaro
• Schema computazionalmente sicuro: iil costo della violazione del
testo cifrato supera il valore delle informazioni crittografate, e il
tempo richiesto per violare il testo cifrato è superiore alla vita utile
delle informazioni
• Cercheremo cifrari computazionalmente sicuri.
26. Esempio
Dimensioni della chiave
(bit)
Numero di chiavi possibili 1 crittografia / 𝝁sec 1.000.000 crittografie /
𝝁sec
32 232 = 4,3 × 109 231 𝜇𝑠 = 35 minuti 2,15 millisec
56 256
= 7,2 × 1016
256
𝜇𝑠 = 1142 anni 10,01 ore
128 2128
= 3,4 × 1038
2127
𝜇𝑠 = 5,4 × 1024
anni
5,4 × 1018
anni
168 2128 = 3,7 × 1050 2167 𝜇𝑠 = 5,9 × 1036
anni
5,9 × 1030 anni
• DES: 56 bit
• AES: 128 / 256
28. Cifrario di Giulio Cesare
• Consiste in una sostituzione di ciascuna lettera con altre che
occupano k posizioni in più o in meno nell’alfabeto (considerato
circolare)
• BAH, CAPIRAI. L'ABITO NON FA IL DRUIDO!
• EDKFDSLUDLODELWRQRQIDLOGUXLGR
• http://www.crittologia.eu/critto/caesar.htm
• Come scambiarsi la chiave?
29. Decisione
• La chiave di sostituzione era fissata a 3.
• Sia E(k, p) l’algoritmo di encryption, k la chiave, 𝑝 ∈ 𝑀, M il testo in
chiaro.
• 𝐶 = 𝐸 3, 𝑝 = 𝑝 + 3 𝑚𝑜𝑑 26 per cifrare e
• 𝑝 = 𝐷 3, 𝐶 = 𝐶 − 𝑘 𝑚𝑜𝑑 26 per decifrare
30. Il modulo
• Dato l’insieme N dei numeri interi, si definisce l’operazione di modulo,
che da come risultato il resto della divisione euclidea. Da wiki:
• 13 𝑚𝑜𝑑 3 = 1,
13
3
= 4, 13 − 4 × 3 = 1
• Nota: 3 𝑚𝑜𝑑 4 = 3, ¾ = 0, 3 − 4 × 0 = 3, ∀𝑎 𝑚𝑜𝑑 𝑏 ∶ 𝑎 < 𝑏
• Congruenza:
• 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑛) se 𝑎 − 𝑏 è multiplo di n, o 𝑎 𝑚𝑜𝑑 𝑛 = (𝑏 𝑚𝑜𝑑 𝑛)
• 38 ≡ 14 𝑚𝑜𝑑 12 perché 38-14 = 24, multiplo di 12.
31. Esempi
• (3 + 𝑘) 𝑚𝑜𝑑 26, (9 + 𝑘) 𝑚𝑜𝑑 26, (1 + 𝑘) 𝑚𝑜𝑑 26, (15 + 𝑘) 𝑚𝑜𝑑 26
• K = 2
• E se p = 26? 26 + 2 𝑚𝑜𝑑 26 = 2
• Analisi crittografica: una volta conosciuto E, si attacca di forza bruta.
• Che capacità computazionale? Al più 25. Se il testo in chiaro è
conosciuto
• E se fosse compresso?
echo 'ciao' | tr 'A-Za-z' 'C-ZA-Bc-za-b'
32. Domande
• E se invece di k si usasse una permutazione? Invece che 25 chiavi, ce
ne sarebbero 26!, tantissime
• Complesso da attaccare in forza bruta
• Crittoanalisi in frequenza (delle lettere. In inglese ERTA)
• Conseguente diminuzione dello spazio delle chiavi
33. Altri tipi di cifrari
• Vigenere, Playfair (usato nella seconda guerra mondiale)
• Uso del concetto di chiave ripetuta
• One time pad: chiave lunga quanto il messaggio, usata una sola volta.
• Se la chiave è casuale, allora il risultato è casuale
• Cifrario più sicuro, ma ha due problemi, quali?
35. La seconda guerra mondiale
• Macchine a rotazione (Enigma)
• Gli inglesi (bletchley park) usavano la RAF per
cercare il testo in chiaro
• La necessità computazionale necessaria per
indovinare le chiavi Enigma, ha spinto la
creazione degli elaboratori di Von Neumann, e
dei modelli concettuali di macchine di Turing
• Nascono i primi studi moderni di crittografia,
applicati ai dati gestiti dagli elaboratori
36. Due righe sull’entropia
• Se sto leggendo un libro di informatica, qual è la probabilità che ci sia
scritto la parola «software»?
• Se questo fosse cifrato come abbiamo visto prima, la sua
contestualizzazione (la RAF e le sue bombe … ) fornisce accorgimenti
per la crittoanalisi
• Confusione: nasconde la relazione esistente tra testo in chiaro e tsto
cifrato (la RAF non servirebbe più) -> sostituzione
• Diffusione: nasconde la ridondanza del testo in chiaro spargendola
all’interno del testo cifrato -> trasposizione
37. Segretezza
• Un cifrario si dice perfetto se dopo aver intercettato un testo cifrato c
l’incertezza a posteriori sul testo in chiaro m è uguale all’intercezza
che si aveva a priori.
• Un cifrario è sicuro se dato un qualsiasi testo c, per chi non conosce
𝐸 𝑘
−1
e quindi k, pè impossibile trovare m tale che 𝐸 𝑘 𝑚 = 𝑐
• L’informazione I(m) fornita all’arrivo di un messaggio m è tanto più
grande quanto più piccola è la probabilità del messaggio stesso.
• Che informazione mi da la parola «Drago» in un libro di computer?
• L’entropia di Shannon (la misura dell’incertezza), dimostra che OTP è
un cifrario sicuro
38. Block Ciphers
• Finora si cifrava un bit o un byte alla volta
• Cifrari a blocchi: si usa un blocco di testo in chiaro per essere trattato
come entità, usato per produrre un blocco di testo cifrato di uguale
lunghezza, di 64 o 128 bit (Schema di Feistel)
39. Data Encryption Standard
• Primo algoritmo usato su scala mondiale (DES)
• Adottato nel 1977 dal National Bureau of Standards (oggi NIST)
• Block Ciphers
• Chiave a 56 bit
• Algoritmo Polemico: il suo funzionamento si basava su delle funzioni
(chiamate S-Box) che non erano resi pubblici:
• Gli utenti non potevano sapere se la struttura interna di DES fosse esente da
punti deboli nascosti che potessero consentire alla NSA di decifrare i messaggi
senza utilizzare la chiave.
40. Punti deboli
• Chiave a 56 bit imposta. Rotta nel 1998 con un hardware di 250.000$
• Necessità di conoscere il testo in chiaro
• Attacchi Temporizzati: si ottiene informazioni sulla chiave sulla base
del tempo impiegato da una data implementazione asvolgere la
decrittografia (bit a 0: non c’è corrente).
41. Block Ciphers
• Con ECB, l’attaccante può modificare l’ordine dei blocchi e non ce ne
accorgeremmo (modificando la semantica del messaggio).
• CBC: Cipher Block Chaining
42. OpenSSL
• Iniziamo a cifrare e decifrare dei testi e vediamo quanto fatto fino qui.
• Esercizio 1: ROT13
• Esercizio 2: DES-CBC
• Useremo OpenSSL, un tool e una libreria open source utilizzata da
qualsiasi sistemista al mondo per operazioni di crittografia
43. OpenSSL
max@spirit6 ~/Desktop/Corso PIN $ openssl version
LibreSSL 2.6.5
Configuration file: openssl.cnf (di solito in /etc)
Sintassi dei comandi:
• La prima parte è data dal nome del comando stesso, seguito da tutte le
opzioni che si intendono specificare, ciascuna separata da spazio
• Le opzioni iniziano con un trattino
Prendere: wget https://norvig.com/big.txt
44. OpenSSL
• Cifratura Simmetrica in OpenSSL
openssl enc args
Cifrare con DES
openssl enc -des-cbc -in FILECORTO.txt -out corto_des_cbc.enc
La password viene usata per generare il vettore di inizializzazione e il
salt
46. Generare Chiavi da Password
• Si usa PBKDF2 (Password Based Key Derivation Function 2)
• Rfc 2898
• NIST Special Publication 800-132
• (Note: sia il NIST.gov, che ENISA (European Union Agency for Network
and Information Security forniscono lo stato dell’arte da utilizzare nei
contesti lavorativi).
47. AES
• Con DES reso non usabile dalla EFF, è stata pubblicata dal NIST
un’altra richiesta di interesse per la creazione di un nuovo algoritmo
di cifratura simmetrica standard
• Nel 2001 è stato introdotto Advanced Encryption Standard (AES,
Rjiandel)
• Dopo DES è stato usato 3DES, fino al 2001 (comunque molto lento)
• Chiave da 128 a 256 bit
48. Esempio (molto empirico)
• max@spirit6 ~/Desktop/Corso PIN $ time openssl enc -in big.txt -des-cbc -
out big.des
real 0m2.922s
• max@spirit6 ~/Desktop/Corso PIN $ time openssl enc -in big.txt -des3 -out
big.des
• enter des-ede3-cbc encryption password:
real 0m3.164s
• max@spirit6 ~/Desktop/Corso PIN $ time openssl enc -in big.txt -aes-128-
cbc -out big.des
real 0m2.834s
49. Esercizi con OpenSSL (da A. De Santis)
• Codificare un file di testo arbitrario on Base64 e vedere il risultato
• Codificare un file binario arbitrario con Base64 e vedere il risultato
• Scrivere una password in un file, codificarla Base64, inviare il file ad
un compagno, e lasciarla decifrare
• Cifrare un file arbitrario con DES, identificare un compagno di corso
come fidato, e lasciarlo decifrare. Gli altri studenti cercano un modo
per attaccarlo
50. Esercizi
• Usare «ls –al > dir.txt» per generare il file dir1.
• Cifrare con DES-ECB, per ottenere dir1.ecb: come si usa?
• Cifrare con DES-CBC, che comando si usa?
• Cifrare con AES-256-CBC, che comando si usa?