31
Gregorio D’Agostno TVG Come ho scritto via email, cercheremo di non perdere lezioni continuando via skype. La prossima lezione servirà il portatile Utilizzeremo Octave (compatibile con Mathlab) per scrivere semplici codici di cifratura, decifratura e decrittazione Comunicazioni 1

Come ho scritto via email, cercheremo di non perdere ...gordion.casaccia.enea.it/SicurezzaInformatica/Lectures/Lesson03-20… · • La steganografia può essere un metodo semplice

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Gregorio D’Agostno TVG

    • Come ho scritto via email, cercheremo dinon perdere lezioni continuando via skype.

    • La prossima lezione servirà il portatile

    • Utilizzeremo Octave (compatibile conMathlab) per scrivere semplici codici dicifratura, decifratura e decrittazione

    Comunicazioni

    1

  • Gregorio D’Agostno TVG

    Confdenzialità

    Dati e RisorseDevono essere accessibili solo ai soggetti autorizzati.

    Confidentiality is a set of rules that limits access toinformation

    Insieme di regole per limitare l’accesso alleinformazioni.

    2

  • Gregorio D’Agostno TVG

    Metodi per la Confdenzialità

    • Identificazione Utenti: Id e password (nome-utente parola d’ordine)• Limitazione dei canali di accesso (on line, solo fisico, solo da alcuni ip etc)• Verifiche Biometriche (scansione iride occhio, impronte digitali, timbro vocale,

    dna)• Limitare le ridondanze (questo è in contrasto con la disponibilità)• Limitare all’essenziale la comunicazione dei dati (non chiedere password inutili)• Gerarchizzare le informazioni (classificazione) e conseguentemente i dispositivi di

    confidenzialità applicati.• In caso di informazioni ultra-sensibili:

    – Chiudere fisicamente ogni canale di comunicazione con l’esterno (air gapped computers/net)– Eliminare porte (usb, ps2, seriali, thunderbolt, bluetooth etc)– Segregare dispositivi mobili di immagazzinamento informazione (storage devices)– Saldare o integrare tastiere, video e dispositivi I/O sul tavolo– Scrivere i dati SOLO SU CARTA o dischi a singola scrittura

    • Crittazione dei dati e Steganografia3

  • Gregorio D’Agostno TVG

    Steganografa

    • Il termine nasce dalla crasi di στεγανός (coperto) e γραφία(scrittura); significa scrittura coperta.

    • Trae origine dalla consuetudine di incidere messaggisegreti sulle tavolette che poi venivano coperte di cera esulle quali veniva scritto un testo “innocente”(ragionevole, ma inutile).

    Erotodo racconta che: Demarato, un emigrato in Persia rivelò l’imminente attacco di Dario

    (Dario I VI-V sec ac) scrivendo usando la tecnica.Histaiaeo tentò di convincere Aristagora (Miletus V sec a.c.) di

    ribellarsi contro la Persia. Rase un servo, scrisse il messaggio sulloscalpo ed attese la ricrescita. La tecnica era usata da Alessandro, daDario etc fino a Ciro il Grande (Persia VI sec a.c.).

    4

  • Gregorio D’Agostno TVG

    Steganografe artgianali

    Esempio modernoSi usa un liquido organico trasparente (saliva) e si scrive su una superficie. Poi silegge il messaggio con il luminol (Attualmente usato per trovare tracce organiche sulluogo dei delitti).

    Sono in commercio penne con inchiostro invisibile che si leggono con una luceultravioletta. La lucetta nel retro della penna è uv.

    Le filigrane delle banconote contengono inchiostri leggibili solo con luce ultravioletta.Questo è uno dei metodi per evitare la contraffazione della valuta.

    Chiunque a casa può usare uno stecchino ed un limone per scrivere su un pezzo dicarta (già usato con testo “innocente”) un messaggio segreto. Per leggerlo bastascaldare con una candela il retro.Pizzini ai mafiosi nella carta delle caramelle.

    5

  • Gregorio D’Agostno TVG

    Stenografa Moderna

    Si può aggiungere un messaggio ad una foto o ad una musicain formato jpeg o mp3 (formati compressi). Utilizzando i bitaleatori. Si può realizzare anche senza comprimere, ma è più facile dascoprire.

    Per decifrare occorre l’originale.

    Il messaggio contenuto (bit extra) può essere a sua voltacifrato o in codice.

    6

  • Gregorio D’Agostno TVG

    Il segreto del sorriso di Monna Lisa

    7

  • Gregorio D’Agostno TVG

    Critografa

    • Il termine crittografia nasce dalla crasi di κρυπτóς (kryptós) che significa “oscuro", e

    γραφία (graphía) che significa "scrittura”. Scrittura incomprensibile.• Cryptography.• Anche una scritta in caratteri Cuneiformi o

    geroglifici può essere “crittografia”

    • Finché non si trovò la chiave: per igeroglifici la stele di rosetta.

    • Nella II GuerraMondiale si usavanoMarconisti Indiani

    8

  • Gregorio D’Agostno TVG

    Terminologia

    9

    • Testo in chiaro: un testo leggibile scritto inmaniera tradizionale.

    • Crittogramma: sequenza di caratteri ottenutaalterando il testo in chiaro con una regolapredefinita.

  • Gregorio D’Agostno TVG

    Terminologia

    10

    • Cifratura: Trasformazione di un testo in chiaroin un altro (crittogramma) non direttamenteleggibile.

    • Decifrazione: Trasformazione inversa perconvertire il crittogramma in un testo leggibileconoscendo il metodo di cifratura e la chiave.

    • Decrittazione: Trasformazione inversa perconvertire il crittogramma in un testo leggibilesenza conoscere il metodo di cifratura o lachiave.

  • Gregorio D’Agostno TVG

    Principi di Bacone

    11

    • Il metodo di cifratura deve essere“facile” (ai tempi di Bacone:fattibile in pochi minuti con carta epenna)

    • Le decriptazione deve essere“impossibile” [molto lunga n.d.r.] senon si conosce il metodo di cifratura.La decifratura invece facile.

    • Il messaggio cifrato deve apparire“innocente”

    Sir Francis Bacon

    22 Gennaio 1561

    9 Aprile 1626

    Cancelliere Inglese

  • Gregorio D’Agostno TVG

    La Scitale Spartana

    12

    • E un cifrario a trasposizione (cambiamento ordine).

    • Coniuga steganografia ecrittografia.

    • La parte crittografica in praticaconsiste nell’usare una periodicitàper comporre le parole

    • AFExxDASxxERExxSEMxxSMPxxOOIx

    • Adessofaremoesempi.• Le xx sono sostituiti da caratteri a

    caso per rendere tutto più confuso.• Se anche venisse scoperta la cinta

    poi bisognerebbe decifrare ilmessaggio

    Steganografia Il passo dell’elica(raggio bastone + larghezza cinta)definisce la periodicità

    La cinta viene indossata (rovesciata)

    Principio di innocenza

    Da Enea Tattico (Poliorketika)

  • Gregorio D’Agostno TVG

    Julius Caesar: “Scripta per notas”

    • Nel “De Bello Gallico” J.C. descrive il suo algoritmo semplicissimo:Si utilizza l’ordine alfabetico e si traslano tutte le lettere di 3 passi:

    Dbhzfdsnzr meglio di Dbhzf dsnzr?Avete capito?

    ABCDEFGHKILMNOPQRSTUVZ -> DEFGHKILMNOPQRSTUVZABC

    Trattando di questioni Romane, Cesare complicava il tutto scrivendo in Greco senza spazi e con le lettere latine.D ->a E ->b F ->g etc

    13

    Gaius Julius Caesar

    Roma 13 Luglio 101 ac

    Idi di Marzo (15) 44 ac

  • Gregorio D’Agostno TVG

    Estensione del codice di Giulio

    • Si traslano le lettere in un ordine NOTO di k passi.

    • Occorrono:– Scrittura: insieme di simboli con cui si formano le

    parole.– Un ordine predefinito noto (alfabeto)– Una “Chiave numerica” ordine della traslazione

    Cifratura per sostituzione14

  • Gregorio D’Agostno TVG

    Critazioni famose

    Congiura di Bamington (1542): Mary Stuart fu condannata amorte da Elisabeth I perché fu scoperta la suacorrispondenza con principi ribelli del Galles e Scozia.Walsingham, fido di Elisabetta e crittografo, decodificò Imessaggi e aggiunse una risposta falsa di Mary che laincastrava.Nell’ Aprile del 2006, Bernardo Provenzano fu catturatograzie alla decifratura di un pizzino.Il boss usava una variante del cifrario di Cesare

    "A" -> "4”, "B” ->"5” etc

    15

  • Gregorio D’Agostno TVG

    Codifcare o Cifrare

    • Quando si sostituiscono i caratteri si parla dicifratura

    • Quando si sostituiscono le parole si parla dicodifica o linguaggio in codice

    (Avvistate tre balene = visti col radar 3 sommergibili)• Si possono usare entrambi• Si può aggiungere un dispositivo steganografico (di

    occultazione) al messaggio codificato e cifrato.

    16

  • Gregorio D’Agostno TVG

    La cifratura

    • Algoritmo per modificare un testo in chiaro m– Può contenere uno o più parametri detti Chiavi– Deve essere iniettivo C=C(m)=CK(m)– L’algoritmo può essere noto, ma non la chiave.

    • Algoritmo per la decodifica (decifratura)– Un algoritmo per calcolare l’inversa dell’algoritmo di

    codifica: m=D(C) D(C(m))=m C(D(C))=C– D deve essere semplice– Anche D può essere nota ma dipendere da una chiave.– DK’(CK(m))=m’ diverso da m a meno che K’=K

    17

  • Gregorio D’Agostno TVG

    Terminologia

    • Messaggio o testo in chiaro: informazione fruibile• Crittogramma: messaggio cifrato• Cifratura: operazione atta a crittare o cifrare• Decifratura: operazione inversa LECITA• Decrittazione: operazione inversa non autorizzata• Crittanalisi: disciplina che studia i metodi per la

    decrittazione

    18

  • Gregorio D’Agostno TVG

    Classifcazione Cifrature antche

    • TrasposizioneAlterazione dell’ordine in cui sono scritti i caratteriEs: Bastone a Scitale

    • SostituzioneUso di un carattere col valore di un altroEs: Cifrario di Cesare

    • Le tecniche si possono coniugare19

  • Gregorio D’Agostno TVG

    Esercitazioni

    • Critatori

    20

    • Decritatori

  • Gregorio D’Agostno TVG

    Variant suggerite

    • Usare una diversa lingua (Latino, Inglese, Greco…)• Inserire spazio• U=V, C=K, aggiungere JKXY in italiano• Una volta avanti una indietro• Due traslazioni una per i caratteri pari una per i dispari• Scrivere indietro• Aggiungere n cifre 0,1,2• Insalata russa, Budini (Pudding)

    21

  • Gregorio D’Agostno TVG

    Metodo per risolvere gli esercizi

    • Selezionare una sottostringa• Scrivere in colonna tutti gli alfabeti passanti per le

    stringhe• Identificare una parola (o parte di) significativa• Ipotizzare la chiave• Se non viene nulla cambiare stringa• Se solo una parte del messaggio è decifrata, riprovare con

    alfabeti ridondanti (numeri in più), stranieri, o deficitari(V=U); Spazio vuoto, caratteri speciali: @ - , “ \ / etc,sostituzione di lettere con numeri.

    • Se nessuna funziona allora non è una crittografia di cesaremodificata. 22

  • Gregorio D’Agostno TVG

    Variant più complese

    • Si selezionano gruppi non contigui (es. posti pari, postidispari) cioè si aggiunge una trasposizione.

    • Si applicano due possibili chiavi.• Se si trovano frammenti significativi si prova a

    decodificare tutto il messaggio.• Se anche questo non va si sospetta una criptazione per

    trasposizione o ibrida sostituzione trasposizione.

    23

  • Gregorio D’Agostno TVG

    Octave per la Cifratura/Decritazione

    • Octave non è un mezzo specifico• Non fornisce buone prestazioni di calcolo• Non possiede primitive di struttura dati specifiche

    per la cifratura e per la crittazione• Non ci sono librerie già scritte per i nostri scopi• Lo usiamo perché è facile da programmare open

    source e platform independent (codice sorgentedisponibile e funzionamento universale permacchine linux/windows/apple

    24

  • Gregorio D’Agostno TVG

    ASCII ISO 8859-I (1993) 0-31

    25

  • Gregorio D’Agostno TVG

    ASCII ISO 8859-I (1993) 32-255

    26

  • Gregorio D’Agostno TVG

    Ascii con Octave

    I caratteri tra 0 e 255 sono universali (ISO 8859-I)Ogni computer ha i suoi caratteri ascii relativi allanumerazione più elevata. Quindi bisogna verificarlasul proprio computer.

    Sul sito gordion.casaccia.enea.it/SicurezzaInformatica/Exercises/AsciiTrovate un codice che spiega il legame tra le letteredell’alfabeto inglese e i numeri asci che le codificano

    27

  • Gregorio D’Agostno TVG

    I/O con Octave

    Il secondo problema più semplice è la lettura escrittura dei file.

    Esercizio:Scrivere un progamma octave che legge un file e loriscrive.

    Esercizio:Scrivere un programma che legge un file testo e lotrasforma in numeri

    28

  • Gregorio D’Agostno TVG

    Caesar con Octave

    Il più semplice esempio di cifratura è quella di GiulioCesare.Esercizio:Scrivere due programmi che cifrano e decifrano untesto con una trasposizione a passo fisso K (1,26).Passi:-Leggere testo in chiaro t-Trasformarlo in ascii maiuscoli tu=toupper(t)-Trasporlo di K passi: tu(i)=rem(tu(i)+k,26)+1-Scrivere il testo cifrato

    29

  • Gregorio D’Agostno TVG

    Messaggio Lezione

    • La confidenzialità dei dati è un problemaantichissimo.

    • La confidenzialità si consegue sia inibendo l’accessoai dati che codificandoli e cifrandoli cioè criptandoli.

    • La codifica delle informazioni avviene spesso tramiteun linguaggio.

    • I metodi di crittazione antica sono alla base di quellimoderni.

    • La cifratura o criptazione consente di rendereutilizzabile il dato (istantaneamente) solo dailegittimi destinatari.

    30

  • Gregorio D’Agostno TVG

    Messaggio Lezione

    • Abbiamo visto due generi di cifratura: per traspozione esostituzione

    • La steganografia può essere un metodo semplice per occultareinformazioni

    • I crittogrammi devono essere facili da cifrare e da decifrare edapparire innocenti.

    • Le tecniche di manipolazione possono essere composte tra loro.• La complessità della cifratura dipende dalle capacità di

    crittanalisi del potenziale attaccante.• La chiave è la conoscenza necessaria per decifrare rapidamente

    un crittogramma, NOTO l’algoritmo di cifratura.

    31

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31