Università degli Studi di Siena Facoltà di Ingegneria CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA Crittografia Neurale: un'esperienza investigativa Relatore Prof. Edmondo Trentin Tesi di Guido Francesco Vargas A.A. 2010/2011 Indice 1 Introduzione 1 2 Crittograa 4 2.1 La Sicurezza Informatica . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 La Crittograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Un problema intrattabile . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 I numeri primi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 Gli attacchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 I protocolli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 La Crittograa Neurale 11 3.1 Interazione tra Reti Neurali . . . . . . . . . . . . . . . . . . . . . . . 3.2 Mutual learning: caso simmetrico . . . . . . . . . . . . . . . . . . . . 13 3.3 Altre applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 Reti neurali e crittograa . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.1 La Tree Parity Machine . . . . . . . . . . . . . . . . . . . . . 18 3.4.2 La chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.3 Il protocollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5 Le prestazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.6 Attacchi al crittosistema 24 . . . . . . . . . . . . . . . . . . . . . . . . . 4 Varianti proposte 11 26 4.1 Struttura della nuova teoria . . . . . . . . . . . . . . . . . . . . . . . 4.2 Adaptive-Topology Tree Parity Machine 26 . . . . . . . . . . . . . . . . 27 4.2.1 La rappresentazione interna . . . . . . . . . . . . . . . . . . . 28 4.2.2 La dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.3 Il nuovo protocollo . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 L'algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Una nestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.5 Resistenza agli attacchi . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5 Simulazioni 5.1 Tree Parity Machine a confronto . . . . . . . . . . . . . . . . . . . . . 37 37 5.2 Topology search latency window . . . . . . . . . . . . . . . . . . . . . 42 5.3 Casualità dei neuroni nascosti 46 . . . . . . . . . . . . . . . . . . . . . . 6 Conclusioni 48 6.1 La crittograa neurale 6.2 Adaptive-Topology Tree Parity Machine . . . . . . . . . . . . . . . . 49 6.3 Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Bibliograa . . . . . . . . . . . . . . . . . . . . . . . . . . 48 53 Capitolo 1 Introduzione In questo lavoro è stato analizzato un nuovo approccio crittograco utilizzando le reti neurali come strumento per generare chiavi simmetriche in modo sicuro. La crittograa neurale è un protocollo crittograco che consente a due entità di condividere una chiave segreta attraverso un canale di comunicazione pubblico (insicuro), ottenuta mediante un processo di sincronizzazione delle reti neurali. I vari scenari in cui si presenta l'interazione tra due o più reti neurali possono essere distinti in base al tipo di addestramento: nel caso di identical training ogni perceptron riceve l'output dal suo vicino; mentre in competitive training i perceptron apprendono in modo mutuamente esclusivo e vengono addestrati con l'opposto del proprio output. Inizialmente si considerino due perceptron identici, con un unico strato nascosto, che ricevono entrambi in ingresso un vettore di input; i pesi σ. vengono modicati in relazione al valore di un output bit con vettori w w di ciascuna rete Partendo inizialmente random per entrambe le reti (con angolo compreso ϕ), si comincia l'addestramento: ad ogni passo viene fornito in ingresso ai due perceptron un vettore x comune; dopo opportune trasformazioni con i pesi rispettivo bit di output σ; w, viene generato in uscita il a questo punto i vettori dei pesi verranno aggiornati seguendo una regola di apprendimento scelta in modo da far avvicinare i due vettori. Iterando il procedimento si arriverà al punto che le due reti convergeranno in uno stato in cui i due vettori w saranno completamente antiparalleli: ϕ = 180°. È stata introdotta una nuova architettura, la Tree Parity Machine per implementare al meglio questo approccio: ambo le parti A e B dispongono di una TPM congurata con K neuroni nascosti, di un vettore units e di un output bit τ x di N elementi per ogni hidden che viene usato per un mutuo addestramento . Inizialmen- te il vettore dei pesi viene scelto random e tenuto segreto; ad ogni passo ognuno calcola l'output della propria rete e lo invia all'altro in modo che lo si utilizzi per un addestramento reciproco. Raggiunto un adeguato numero di epoche i vettori dei pesi w delle due reti (opportunamente limitati in un range paralleli (ϕ = 0°); [−L, +L] ) risulteranno in questo modo è possibile utilizzarli come chiave segreta condi- 1 CAPITOLO 1. 2 INTRODUZIONE visa tra i due utenti A e B (le due reti neurali). In denitiva, la sincronizzazione di due Tree Parity Machine permette la condivisione di chiavi sicure scegliendo opportunamente i parametri pubblici K, N e L. Un attaccante può venire a conoscenza dell'architettura, dei messaggi scambiati e dei dati in ingresso, ma, non conoscendo la rappresentazione interna della rete neurale, dicilmente riuscirà a risalire al processo di addestramento dei perceptron usando una qualsiasi congurazione. Sono state proposte alcune varianti all'architettura generale della Tree Parity Machine, cercando in primo luogo di migliorare l'apporto crittograco del metodo iniziale, poi cercando delle strutture che ottimizzino i tempi di esecuzione dell'intero processo. Pertanto è stata sviluppata una tecnica di aggiornamento dei nodi interni delle due reti neurali implicate nella comunicazione, che ha introdotto una incertezza tale da rendere la nuova Tree Parity Machine molto più resistente agli attacchi e innalzando il livello di sicurezza e adabilità. Inoltre sono state presentate ulteriori modiche a questa architettura rendendola più essibile e modellabile, sia dal punto di vista computazionale che da quello crittograco, per poter gestire i problemi di scambio chiavi nel modo più eciente possibile. Nel Capitolo 2 è stata illustrata brevemente la sicurezza informatica e le varie problematiche relative soprattutto agli attacchi a cui sono soggetti i sistemi che ne fanno uso. Sono state prese in rassegna le varie tecniche di cifratura e decifratura di informazioni con le relative applicazioni tutt'oggi utilizzate in molteplici ambienti e gli algoritmi alla base dei crittosistemi moderni; quindi le proprietà della crittograa che stanno alla base di queste tecnologie, con qualche accenno alla teoria dei numeri e i problemi computazionalmente intrattabili. In seguito, nel Capitolo 3 sono state prese in esame le varie nozioni fondamentali per introdurre la crittograa neurale, partendo dallo scenario Teacher-Student , passando per l'interazione tra reti neurali e descrivendo esaustivamente le varie teorie alla base del lavoro svolto in questa tesi. Inoltre, sono state prese in considerazione le varie applicazioni di perceptron competitivi ad alcuni problemi di natura diversa: gli algoritmi di decision-making , i modelli di mercato chiuso, i problemi di Teoria dei Giochi come Il problema del bar di El Farol e Minority Game. È stato, poi, presentato il protocollo di scambio chiavi neurale in tutte le due parti e una breve delucidazione sulle varie tipologie di attacchi a cui può essere soggetta la rete in questione. Il Capitolo 4 è stato dedicato alla nuova architettura, prima denendo la struttura alla base della teoria proposta, poi è stata ridenita opportunamente la Tree Parity Machine con le modiche apportate. Dunque è stata sviluppata una nuova dinamica e aggiornato il protocollo di scambio chiavi e quindi è stato implementato un algoritmo per poter studiare, gestire ed analizzare le prestazioni del nuovo sistema. Inne sono stati introdotti nuovi parametri per una modellazione più eciente CAPITOLO 1. INTRODUZIONE 3 della nuova rete. Nel Capitolo 5 sono state esaminate e confrontate le prestazioni della Tree Parity Machine con l'architettura proposta; poi è stato studiato il contributo del nuovo parametro ed è stata misurata la sua funzionalità all'interno del processo di sincronizzazione. Inoltre sono state valutate le caratteristiche intrinseche del nuovo metodo anche a prescindere dalla sua applicazione crittograca. Inne, nel Capitolo 6 sono state riportate tutte relative conclusioni riguardo la crittograa neurale e le sue reali potenzialità. Sono stati evidenziati i vari approcci pratici in cui le nuove modiche possono trarre vantaggio e le congurazioni ottimali a seconda dei vari casi considerati. Inne, uno sguardo agli sviluppi futuri di questa nuova applicazione. Capitolo 2 Crittograa 2.1 La Sicurezza Informatica La sicurezza rappresenta una delle questioni più delicate e critiche dell'informazione in tutte le sue forme, dalla manipolazione allo scambio, alla condivisione, ecc.. La sicurezza informatica si occupa di studiarne i problemi e trovare soluzioni adeguate per poter limitare eventuali danni, più o meno gravi, ai dati scambiati attraverso varie tipologie di reti di comunicazione. Da quando la comunicazione ha assunto un ruolo fondamentale nella vita quotidiana si è avuta sempre più la necessità di scambiare messaggi e, per impedirne l'appropriamento indebito da parte di terzi, sono stati escogitati sistemi sempre più complessi per mascherare il contenuto di questi messaggi. Uno dei primi metodi per celare il contenuto di una missiva risale a circa 2500 anni fa: l'esercito di Sparta utilizzava la scitala, un sottile cilindro di legno con una striscia di pergamena avvolta attorno a mo' di spirale (Figura 2.1.1). Si scriveva il messaggio sulla pergamena seguendo la lunghezza della scitala e appena si srotolava il testo del messaggio appariva incomprensibile; solo quando la pergamena veniva riavvolta attorno alla scitala gemella (posseduta dal destinatario) riacquistava una forma comprensibile. Attualmente, per via di una sempre più forte informatizzazione della società e dei servizi, la sicurezza informatica occupa un ruolo centrale nella vita di tutti i giorni; basti pensare con quanta frequenza ogni giorno si interagisce con qualche Figura 2.1.1: Scitala (www.ecriture-art.com/codes2.htm; ylib.com/books/en/2.827.1.72/1/) 4 CAPITOLO 2. 5 CRITTOGRAFIA meccanismo o processo che richiede una certa riservatezza e tutela dei dati: pc (in ogni sua forma e dimensione), cellulare (di ogni generazione), bancomat, internet. La salvaguardia delle informazioni, sia per le reti di comunicazione che per i sistemi di calcolo, è soggetta a numerose tipologie di attacchi sempre più innovativi e talvolta decisivi, tanto da minare denitivamente l'adabilità del sistema in questione. Questo perché, per trasmettere un messaggio, mittente e destinatario devono incontrarsi e decidere quale metodo di codica adottare. I generali spartani, ad esempio, avevano bisogno di accordarsi sulle dimensioni della scitala e, chiaramente, le dicoltà logistiche potevano risultare insormontabili. 2.2 La Crittograa La sicurezza informatica fonda le sue radici sulla crittograa, una branca della matematica che studia gli algoritmi e le tecniche per trasformare in modo reversibile un'informazione in chiaro, ossia comprensibile, in una rappresentazione indecifrabile (cifrata). La cifratura e decifratura di un messaggio può essere vista come l'apertura e la chiusura di una porta con una chiave: nel caso di una porta tradizionale si usa la stessa chiave per aprirla e per chiuderla. Un sistema crittograco del genere è caratterizzato da una totale reversibilità che rende suciente un'unica chiave sia per la cifratura che per la decifratura. È una parte della crittograa detta simmetrica o a chiave privata , nel senso che la chiave (della porta) deve essere mantenuta segreta anché nessuno, oltre al mittente e al destinatario, possa entrarne in possesso. L'altro ramo invece, è rappresentato dalla crittograa a chiave pubblica o asimmetrica : è come una porta con due chiavi distinte, una è in grado di chiuderla, mentre l'altra può solo aprirla. Pertanto scompare la necessità di mantenere a tutti i costi il segreto sulla chiave: il possesso di una delle due non compromette (sotto opportune ipotesi) la sicurezza del sistema. Questi due settori hanno sviluppato algoritmi molto sosticati e sicuri tanto da riuscire a respingere i numerosissimi attacchi apportati ogni giorno e quindi renderli quasi invulnerabili. Il crittosistema a chiave privata (Figura 2.2.1) per eccellenza è senz'altro l' Advanced Encryption Standard (AES), il nome di una gara disputata in Europa per denire un nuovo algoritmo di crittograa a chiave privata più sicuro del predecessore Data Encryption Standard (DES) risultato vulnerabile. A dierenza del DES, l'AES è una rete a sostituzione e permutazione che implementa il principio crittograco di Shannon di "confusione e diusione"; è un algoritmo veloce, relativamente semplice da implementare ed ore un ottimo livello di protezione, motivi per cui in generale lo si preferisce ad altri crittosistemi. I sistemi crittograci asimmetrici sono caratterizzati da due chiavi, una pubblica e una privata, ma l'ipotesi fondamentale è che il calcolo della chiave segreta cono- CAPITOLO 2. 6 CRITTOGRAFIA Figura 2.2.1: Schema di un sistema crittograco a chiave privata: s è il messaggio da inviare e c è la sua cifratura scendo quella pubblica deve risultare un problema computazionalmente intrattabile, cioè non esiste un algoritmo eciente che lo risolve in tempo polinomiale. 2.3 Un problema intrattabile Non avete idea di quanta poesia ci sia in una tavola dei logaritmi. (Carl Friedrich Gauss) È possibile realizzare algoritmi crittograci anche facendo uso di funzioni one-way , ossia di funzioni facilmente calcolabili, ma delle quali non esistono le funzioni inverse oppure il calcolo è computazionalmente intrattabile. Però si parte dal presupposto che un destinatario deve riuscire sempre a leggere i messaggi cifrati, pertanto una funzione one-way pura non è utile per questi scopo, anche se teoricamente orirebbe una sicurezza completa contro ogni tipologia di attacco. Dunque si ricorre a funzioni one-way con trap-door, cioè per le quali è possibile fornire un'informazione ausiliaria che rende queste funzioni facilmente invertibili per chi la possiede, ma al contempo non invertibili per chi non la possiede. Questa informazione aggiuntiva è proprio una chiave di decifratura di cui solo il destinatario deve averne conoscenza L'origine della crittograa a chiave pubblica è da attribuire a due ricercatori del Massachussets Institute of Technology di Boston, Whiteld Die e Martin Hellman, che a metà degli anni '70 introdussero un sistema originale e geniale per arontare la condivisione delle chiavi in modo sicuro utilizzando crittosistemi a chiave pubblica. Il loro schema, in realtà, è un protocollo di key agreement 1 sviluppato per la diusione delle chiavi nei crittosistemi simmetrici. Per descrivere in modo opportuno questo approccio si consideri questo scenario: A vuole mandare un messaggio a B, ma ha a disposizione soltanto un canale non sicuro e quindi soggetto ad intrusioni da parte di 1 I protocolli di accordo generano una chiave collettivamente tra le parti, come risultato di una particolare interazione determinata dal protocollo utilizzato. CAPITOLO 2. 7 CRITTOGRAFIA 2 terzi, dunque si immagini E in ascolto nel mezzo . L'idea di Die-Hellman è stata di far scegliere pubblicamente ad uno dei due, si supponga A, un numero primo ed un generatore intero b ∈ Zp−1 . g di Z∗p 3 , successivamente A sceglie un intero chiave comune e B un A questo punto ognuno costruisce il messaggio da inviare all'altro: p, A invia a B il numero primo il generatore b g mod p e in questo modo, a·b privata k = g mod p. ad A il numero a ∈ Zp−1 p g e il numero g a mod p, mentre B invia entrambe le parti possono calcolare la Il crittosistema appena mostrato, fonda la sua robustezza su un problema noto come Problema di Die-Hellman, sulla dicoltà di calcolare la chiave pur conoscendo g, p e le chiavi segrete personali g a mod p e g b mod p. g a·b mod p La complessità computazionale di questo problema è paragonabile a quella del calcolo del logaritmo discreto, per cui, se un giorno si riuscisse a sviluppare un algoritmo che risolvesse in modo eciente il problema del logaritmo discreto, allora riuscirebbe a risolvere anche il problema Die-Hellman. 2.4 I numeri primi Ci sono alcuni misteri che la mente umana non penetrerà mai. Per convincercene non dobbiamo far altro che gettare un'occhiata alle tavole di numeri primi. Ci accorgeremo che non vi regna né ordine né legge. (Leonhard Euler, 1751) Pochi anni dopo fu la volta di un nuovo crittosistema, implementato ancora negli uci del MIT da tre ricercatori Ronald Rivest, Adi Shamir e Leonard Adleman, da cui prende il nome quello che oggi è sicuramente uno degli algoritmi più utilizza- 4 ti nella crittograa e soprattutto per la cifratura di rme digitali : l'RSA. Questo sistema incentra la sua forza sulla fattorizzazione di numeri di grandi dimensioni come problema computazionalmente intrattabile. Nell'articolo Communications of the Association for Computing Machinery che descriveva il crittosistema (Figura 2.4.1), Rivest ha presentato le due parti comunicanti come Alice e Bob, richiedendo loro di scegliere due numeri primi un messaggio s p e q (si considera l'anello Zp·q ), una chiave pubblica a e che viene cifrato con la funzione: c = Ca (s) = sa mod (p · q) 2 Man in the middle attack: un tipo di attacco nel quale l'attaccante E può inserire o modicare messaggi tra le due parti A e B senza che questi siano in grado di sapere se il collegamento è stato eettivamente manomesso. 3 Z∗ è il gruppo moltiplicativo dei residui modulo p p, ovvero l'insieme delle classi residue modulo p invertibili. Questo insieme forma un gruppo abeliano ciclico, pertanto esiste almeno un elemento g ∈ Z∗p , detto generatore, tale che il sottogruppo di potenze da esso generato coincide con Z∗p . a L'ordine di un elemento g di un gruppo è il più piccolo intero a, se esiste, tale che g = 1, altrimenti l'ordine di g è innito. 4 La rma digitale è un sistema di autenticazione di documenti digitali per garantire che un mittente non possa rinnegare un documento da lui rmato. CAPITOLO 2. 8 CRITTOGRAFIA Figura 2.4.1: Schema di un sistema crittograco a chiave pubblica: s è il messaggio da inviare e c è la sua cifratura mentre la decifratura viene eettuata con la chiave privata b e con la funzione: s = Db (c) = cd mod (p · q). In pratica, Bob sceglie a caso i due interi p e q, calcola e pubblica il loro prodotto, poi sceglie una chiave pubblica a e calcola la chiave segreta: b = a−1 mod (p − 1)(q − 1). Ciò nonostante per fronteggiare gli attacchi e per usare in modo opportuno l'RSA bisogna aumentare di pari passo la lunghezza della chiave con il crescere delle risorse di calcolo disponibili, arrivando a valori di 1024 o addirittura a 2048 bit. Questo aspetto risalta un punto critico di tutta la crittograa: qualora un algoritmo venisse attaccato in modo esaustivo, allora diventerà del tutto ineciente. In denitiva, come per l'RSA, un crittosistema è considerato sicuro se può essere reso insensibile all'aumento della potenza di calcolo; la certezza matematica non esiste nella pratica, dal momento che aumentando la lunghezza delle chiavi si rende la cifratura o la decifratura sempre più onerosa computazionalmente. 2.5 Gli attacchi Per attacchi al crittosistema ci si riferisce a comportamenti maliziosi e disonesti di chi tenta di violare l'integrità software e hardware di sistemi informatici; si distinguono in attacchi passivi e attivi. Alla prima catogoria appartengono attacchi in cui si tenta l'appropriemento di informazioni segrete contenute in un qualsiasi sistema o rete, ossia l' intercettazione e l'analisi del traco , che, come si vedrà di qui a poco, rappresentano gli unici attacchi che possono essere apportati ad un crittosistema neurale. L'intercettazione consiste nel carpire i messaggi scambiati ed analizzarne il contenuto per scopi illeciti; l'analisi CAPITOLO 2. 9 CRITTOGRAFIA del traco invece, cerca di controllare i messaggi che circolano nella rete e inferire le informazioni relative alle comunicazioni, in modo da poter risalire al contenuto dei messaggi o più esplicitamente alle chiavi crittograche. Questa tipologia di attacchi è molto dicile da rilevare ed evitare, poiché in generale non alterano i messaggi, né cercano di modicare il sistema di comunicazione, pertanto per difendersi sono possibili soltanto misure preventive, dato che di solito è impossibile sapere a chi indirizzare una eventuale contromisura o ritorsione. Gli attacchi attivi invece, tendono a modicare il usso dei dati e in generale possono riguardare: la falsicazione, nel tentativo di ricostruire la chiave analizzando le regolarità presenti in un gran numero di messaggi cifrati; la sostituzione di un messaggio con uno falsicato o alterato; il mascheramento, cioè contraare l'identità propria o altrui; negare il servizio, ossia impedire il corretto funzionamento di un sistema utilizzando varie tecniche. 2.6 I protocolli La gura del generatore di chiavi , precedentemente illustrata (Figure 2.2.1 e 2.4.1), in senso pratico comporta la determinazione e distribuzione sicura delle chiavi tramite canali insicuri. Questo rappresenta un problema notevole soprattutto nelle reti di comunicazioni con tanti utenti. Qualora le chiavi non possano essere fornite in modo sicuro, allora devono essere generate e distribuite su richiesta, pertanto c'è bisogno di progettare metodi adatti per la creazione automatica ed eventualmente anche il trasporto. Per implementare un servizio di sicurezza adeguato ad una situazione specica è necessario individuare un protocollo di sicurezza o di denizione che ogni partecipante alla comunicazione deve osservare fedelmente e che permetta di eseguire queste operazioni in modo controllato. Ne esistono due tipologie, i protocolli di trasporto che di solito prevedono la presenza di una Trusted Authority colli di distribuzione . 5 e per questa ragione sono anche detti proto- I protocolli di accordo suggeriscono di generare una chiave in modo collettivo tra le varie parti comunicanti, eseguendo opportune interazione prestabilite. I protocolli di sicurezza vengono utilizzati quando c'è la necessità di abilitare due o più utenti a condividere una chiave crittograca, oppure per l'autenticazione stessa delle parti. Devono essere eseguiti con estrema attenzione dato che solitamente la comunicazione tra le parti avviene attraverso reti pubbliche non sicure come Internet; 5 Trusted Authority (TA) , un'autorità data che ha il compito di generare le chiavi sulla base di informazioni ricevute dagli utenti e di distribuirle. Il requisito fondamentale che deve possedere una TA è la ducia: con assoluta certezza la TA deve seguire il protocollo di distribuzione; non deve svolgere attività ostili verso gli utenti; non deve diondere le informazioni segrete e nessun attaccante deve essere in grado entrare in collusione con essa o di corromperla. CAPITOLO 2. 10 CRITTOGRAFIA pertanto durante tutte le sue fasi un attaccante può commettere azioni illecite come scambiare, modicare, registrare e cancellare i messaggi tra i partecipanti. Per la condivisione di una chiave crittograca esistono molte tipologie di protocolli di accordo che possono coinvolgere due o più utenti contemporaneamente. Uno dei più utilizzati è senz'altro il protocollo di ElGamal , ovvero una variante dell'algoritmo Die-Hellman, che introduce una Trusted Authority avente il compito di preservare in un pubblico registro le chiavi delle parti comunicanti. Sempre Alice e Bob vogliono accordarsi su una chiave comune segreta k. La TA custodisce pubblicamente una chiave di Bob scelta opportunamente (come nello scambio di chiavi Die-Hellman originale). Alice acquisisce dalla TA una copia autentica della chiave pubblica di Bob, e con le stesse modalità genera la propria chiave pubblica e la spedisce a Bob. Con questi dati ambo le parti sono capaci di calcolare la chiave segreta comune k. Il protocollo garantisce ad Alice e Bob che la chiave può essere scambiata solo tra loro, perciò non c'è bisogno di ulteriori certicazioni. Questo appena descritto è il protocollo di base, ma esistono versioni migliorate ed ampliate che prevedono, ad esempio, la generazioni di chiavi pubbliche certicate da parte della TA ( protocollo station-to-station , di Die, Van Oorschot e Wiener), oppure l'estensione dell'algoritmo a più utenti che intendono stabilire una comunicazione protetta ( protocolli di chiavi-conferenza ). Un altro protocollo molto utilizzato è Kerberos, o meglio è un sistema di autenticazione sviluppato sempre presso il MIT, progettato per fornire strumenti di autenticazione agli utenti che utilizzano reti di calcolatori non sicure, accedendo ai servizi di server distribuiti nella rete. Lo scopo di questo protocollo è di limitare gli accessi ai server ai soli utenti autorizzati, implementando un meccanismo di autenticazione che altrimenti non potrebbe essere gestito dai singoli computer della rete. Il metodo introdotto nei prossimi capitoli riguarda un protocollo di scambio di chiavi basato sulle reti neurali che prevede la condivisione di una chiave segreta tra Alice e Bob senza il supporto della Trusted Authority. Capitolo 3 La Crittograa Neurale Le reti neurali al giorno d'oggi sono modelli utilizzati in molteplici discipline: oltre alla teoria dell'informazione, negli ultimi anni è cresciuta notevolmente l'importanza anche in altri campi come la bioinformatica, la neurobiologia e aermandosi sempre di più anche come mezzo per previsioni nanziarie, analisi dei dati e teorie economiche. Le diverse architetture delle reti neurali permettono di interfacciarle a parecchi problemi tra cui quello della crittograa, oggetto di questa tesi, e in particolare vengono utilizzate reti di tipo feed-forward (a propagazione in avanti) [23]. 3.1 Interazione tra Reti Neurali Per introdurre questo nuovo metodo è necessario illustrare uno scenario particolare delle reti neurali feed-forward [22, 23]. Siano teacher network (TN) e student network 1 (SN) due simple perceptron , il primo ha il compito di fornire un set di esempi, ricevendo in ingresso un vettore σ(t) x(t) di dimensione N e generando un output bit (Figura 3.1.1). σ w x 1 w w 1 2 x 2 3 x 3 ... w N ... ... x N Figura 3.1.1: Teacher/student Network 1 Reti neurali feed-forward, fully-connected, con propagazione simultanea dall'input layer all'output layer e funzioni di attivazione tipicamente sigmoidali. 11 CAPITOLO 3. 12 LA CRITTOGRAFIA NEURALE Figura 3.1.2: Vettori dei pesi di Teacher e student network Pertanto si consideri un perceptron avente un unico layer con pesi sinaptici [w1 , ..., wN ], un vettore x w= di dati in ingresso da cui si ottiene un bit di output: N X σ = sign ! wi x i i=1 L'apprendimento è di tipo supervisionato e gli esempi da cui impara il perceptron (x(t), σ(t)) con t = 1, ..., αN , dove α = t/N . ogni passo t i pesi vengano modicati seguendo la corrispondono a coppie input/output Il training on-line richiede che ad regola di apprendimento: w(t + 1) = w(t) + η σ(t)x(t) f (σ(t)x(t) · w(t)) (3.1.1) N ogni peso wi dipende dalla coppia (x(t), σ(t)); f (z) = 1 è la Hebbian rule e f (z) = Θ(z) (Θ(·) è la funzione gradino) dove è detta Rosenblatt rule e l'apprendimen- to avviene solo se l'esempio è classicato erroneamente; inne, la Adatron rule f (z) = |z| Θ(−z) con cui si ottengono ottimi risultati per la generalizzazione . TN ha un vettore dei pesi sso wT , mentre nella SN wS (t) dipende dal tempo, quindi in ogni istante quest'ultima produce un nuovo esempio seguendo la regola di apprendimento (3.1.1). In questo modo, ad ogni training step avvicinarsi a TN (Figura 3.1.2): il vettore dei pesi w S t, SN tende ad si muove verso wT [1]. La distanza tra teacher e student network la si può misurare come la sovrapposizione dei due vettori, cioè relativamente all'angolo R= φ compreso tra wS e wT : wT · wS = cosφ |wT | · |wS | Ora, è possibile calcolare l'errore di generalizzazione eg come la probabilità di divergenza (disagreement), cioè la probabilità che la SN dia una risposta dierente da TN in funzione del coseno dell'angolo compreso: eg = arccos R π CAPITOLO 3. Per 13 LA CRITTOGRAFIA NEURALE N → ∞ la dinamica di R(t) può essere calcolata analiticamente. Dalla regola di apprendimento (3.1.1) si ha che la dimensione del training step è proporzionale a 1/N, quindi è possibile denire α = t/N in modo da derivare una variabile temporale continua (con N abbastanza grande). La dipendenza dal tempo di ricavare moltiplicando l'equazione (3.1.1) con queste due equazioni sul vettore di input x wT e wS , R(α) la si può e poi calcolando la media di random [2]. Considerando la Adatron rule si ottiene l'equazione dierenziale: dR R 1 = − arccos R + dα 2π π R2 1− 2 √ 1 − R2 Da questa equazione è possibile calcolare l'errore di generalizzazione eg il cui andamento è mostrato in Figura 3.1.3 [2]: Figura 3.1.3: Errore di generalizzazione Se α = 0, eg al variare del tempo α. [2] cioè che solo un numero limitato di esempi è stato appreso, allora l'errore di generalizzazione è pari al 50%, come tirare a indovinare, ma se il numero N (α > 0) allora la student network Per α → +∞ l'errore tende a zero e le degli esempi del training set è dell'ordine di tende a sovrapporsi alla teacher network. due reti raggiungono una sovrapposizione completa. 3.2 Mutual learning: caso simmetrico Per applicare i risultati del paragrafo precedente, si immagini un sistema costruito in questo modo: un certo numero di reti neurali identiche vengono disposte su un anello orientato, tutte ricevono lo stesso input producendo un output dierente in relazione ai propri vettori dei pesi (Figura 3.2.1). CAPITOLO 3. 14 LA CRITTOGRAFIA NEURALE Figura 3.2.1: Reti neurali disposte su un anello orientato Ogni rete viene addestrata ricevendo in ingresso l'output del suo vicino sull'anello e il processo viene iterato n quando non si raggiunge uno stato stazionario, in cui si avrà che le norme e gli angoli tra i vettori dei pesi rimangono invariati. A tale scopo, si considera un insieme di pesi wi (i = 1, ..., K) K simple perceptron, composti da un vettore dei N , il vettore di input (comune a tutte le reti) x σi = sign x · wi . Si denisce la norma wi = |wi | di dimensione e quindi si calcola l'output binario e le rispettive misure per la sovrapposizione Rij = wi · wj oppure 2 [4]: cos(θij ) = (wi ·wj ) (wi · wj ) . La regola di apprendimento utilizzata per questo sistema è: wi 0 = wi + e la forma per vettori wi normalizzati: wi 0 = Il vettore prendimento, ηi f (σi , s) sx N wi + (ηi /N ) f (σi , s) sx |wi + (ηi /N ) f (σi , s) sx| w 0 = w + 4w rappresenta il vettore dei pesi dopo un passo di η è il learning rate, s è l'output desiderato, f (σi , s) è la funzione apche denisce l'apprendimento e, oltre a quelle presentate nel paragrafo precedente, si introduce la Perceptron learning rule f (σi , s) = Θ(−σi s). Si restringa il campo a due soli perceptron che tentano di raggiungere un accordo apprendendo l'uno il rispettivo output dell'altro. Si prenda in esame la 2 Senza perdere di generalità e per comodità di calcolo, d'ora in poi si considera il prodotto scalare come misura della sovrapposizione dei due vettori: a · b = |a| |b| cosθ = P k ak bk CAPITOLO 3. 15 LA CRITTOGRAFIA NEURALE Perceptron learning rule e si supponga che le due reti abbiano identico learning rate η1 = η2 = η ; la regola di apprendimento diventa così: w1 0 = w1 + η x σ2 Θ(−σ1 σ2 ) N w2 0 = w2 + η x σ1 Θ(−σ1 σ2 ) N (3.2.1) Come si vede, la somma dei due vettori è conservata: se ha luogo un passo di apprendimento allora avranno la stessa direzione e modulo. Questa proprietà con- Figura 3.2.2: Mutual learning (simulazioni con N = 100) [4] w1 e w2 al cos(θ): assumendo inizialmente θ0 = π/2, si ottiene: w + w = w · cos(θ0 /2) = sente di mettere in relazione i vettori w1 = w2 = w e partendo con w0 e √ w0 / 2. Con queste ipotesi, è possibile scrivere le equazioni dierenziali, conside- rando il prodotto scalare delle regole (3.2.1) e la variabile temporale N →∞ [4]: dw1 η η2θ = − √ (1 − cos(θ)) + dα 2 w1 π 2π dw2 η η2θ = − √ (1 − cos(θ)) + dα 2 w2 π 2π dR η η2θ = √ (1 − cos(θ))(w1 + w2 ) − dα π 2π α = t/N per CAPITOLO 3. 16 LA CRITTOGRAFIA NEURALE Esiste una curva di punti ssi del sistema data dall'equazione: e usando le ipotesi ηθ w=√ 2π(1 − cos(θ)) √ w = w0 /( 2cos(θ/2)) il sistema siderando il punto sso del coseno scalato con il peso iniziale η/w0 3 si risolve analiticamente con- in funzione del learning rate opportunamente (Figura 3.2.2) [4]. Tutto ciò può essere visto geometricamente in questo modo: ad ogni passo di apprendimento si considerano le due componenti di ciascun vettore, una parallela al piano descritto da w1 e w2 ηxk esercita una forza in ηx⊥ tende ad incrementarla. ed una perpendicolare; grado di diminuire la distanza tra i due vettori, mentre L'equilibrio viene raggiunto quando, ad un certo punto, il passo di apprendimento non modica più l'angolo w1 + w2 θ e w1 e e con raggio proporzionale w2 a η giacciono in un cono centrato sulla somma (Figura 3.2.3). Figura 3.2.3: Interpretazione geometrica del Mutual learning Tornando allo scenario dell'anello, è possibile generalizzare il mutual learning a K reti: il perceptron i i + 1 solo se sono in disaccordo, Θ(−σ1 σ2 ) = 1 e cioè σ1 6= σ2 . La apprende dal perceptron dal momento che l'apprendimento avviene se condizione viene ripetuta ciclicamente su tutto l'anello e la somma totale dei vettori si conserva sempre dato che i perceptron vanno tutti nella stessa direzione, pertanto le considerazioni fatte prima si possono applicare anche a questo sistema (sempre con 3 Il coseno naturale (in radianti) ha un unico punto sso attrattivo e utilizzando l'iterazione di punto sso si può vedere che converge al valore 0.739085133, ovvero il punto sso. Precisamente, dove il graco della funzione coseno interseca la retta y = x. CAPITOLO 3. 17 LA CRITTOGRAFIA NEURALE Perceptron learning rule). Ne conviene che il punto sso è completamente simmetrico ed esiste un unico angolo θ tra ogni coppia di perceptron; la relazione che deriva da questo sistema è: √ w0 ηθ =p 2π(1 − cos(θ) 1 + (K − 1) cos(θ) cos(θ) = =1/(K =1), P accade quando la | wi | è L'angolo massimo che i vettori possono raggiungere è pari a corrispondente a un ipertetraedro con trascurabile rispetto a K angoli e ciò wi . Come nel caso di due reti neurali, così ogni perceptron con il vicino j per η → 0, i sull'anello si accorda mentre con un learning rate abbastanza alto il sistema tende ad uno stato di completa simmetria dove tutti gli angoli θij tra i K vettori sono uguali [4]. 3.3 Altre applicazioni L'interazione tra reti neurali appena descritta può essere applicata in modo molto eciente anche ad alcuni problemi di Teoria dei Giochi, come ad esempio i Minority Game, una variante del problema del Bar di El-Farol [5]. 100 abitanti di El-Farol devono decidere se recarsi o meno al Bar e la loro scelta viene apprezzata se al Bar trovano meno di 60 persone, invece viene valutata negativa se trovano il Bar sovraollato e quindi non in grado di fornire un'accoglienza adeguata. Gli abitanti non interagiscono tra loro, però tutti hanno un registro del numero di presenze dei giorni passati. Ci sono varie soluzioni proposte: ognuno si lascia trasportare da un abitante/agente rappresentativo, ma poi il sistema risulterebbe frustrato in quanto tutti gli decidono contemporaneamente di andare o di non andare e di conseguenza il bar risulterebbe troppo aollato oppure vuoto; l'autore Brian Arthur propone che gli abitanti siano tutti diversi e che ognuno decida in base alla propria esperienza. L'equilibrio di questa soluzione si raggiunge con una presenza media intorno al 60%. Dunque il problema si può risolvere considerando un insieme di agenti che devono prendere una decisione binaria e ognuno vince se sceglie in modo da appartenere alla minoranza di ogni decisione. Pertanto ogni abitante di El Farol può essere fornito, oltre che della serie storica con tutte le decisioni passate, di un perceptron per riuscire a prendere in modo opportuno la sua decisione e quindi ogni rete viene addestrata sulla minoranza di ogni bit di output. CAPITOLO 3. 18 LA CRITTOGRAFIA NEURALE 3.4 Reti neurali e crittograa L'approccio descritto ha messo in risalto un aspetto che si congiunge perfettamente allo scopo della crittograa, o meglio, ai protocolli di cui ci si avvale per poter scambiare una chiave crittograca nel modo più sicuro possibile. Il processo di sincronizzazione di reti neurali , proprio per la sua singolare dinamica, può essere usato per costruire un protocollo di scambio di chiavi senza che nessun altro sia in grado di interferire [6, 7, 8]. Come per gli abitanti di El Farol, anche Alice e Bob sono provvisti ciascuno di una particolare rete neurale in modo da sfruttare l'interazione descritta precedentemente per i propri scopi: vogliono scambiarsi messaggi su un canale pubblico senza che Eve 4 riesca ad intercettarli, allora Alice codica il suo messaggio usando un algoritmo simmetrico, ma Bob non è in grado di leggerlo perché non conosce il metodo per decodicarlo, serve assolutamente la chiave. 3.4.1 La Tree Parity Machine Le reti neurali nora descritte hanno evidenziato il fenomeno della sincronizzazione di due vettori di pesi, come una proprietà di particolari congurazioni di perceptron. L'idea è quella di esportare questa proprietà al problema di Alice e Bob e riuscire a farli accordare su una chiave alle spalle di Eve, instaurando un protocollo di scambio basato sulla sincronizzazione di reti neurali. Si introduce una nuova architettura ad hoc, sviluppata a partire dagli scenari Teacher-Student: la Tree Parity Machine (Figura 3.4.1). Una rete neurale multi- τ Π σ w x Figura 3.4.1: Tree Parity Machine layer feed-forward costituita da K neuroni nascosti, ognuno dei quali rappresenta l'output di un perceptron, ciascuno avente in ingresso N neuroni di input e un 4 Eavesdropper è di solito un attaccante passivo, può ascoltare i messaggi tra Alice e Bob e fondare i suoi attacchi su intercettazione e analisi del traco, ma non alterarne i contenuti. CAPITOLO 3. 19 LA CRITTOGRAFIA NEURALE 5 neurone di output . I valori in ingresso sono binari: xi,j ∈ {−1, 1} mentre i pesi assumono valori interi in un intervallo compreso tra −L e +L: wi,j ∈ {−L, −L + 1, . . . , L − 1, +L} dove i = 1, . . . , K indica l'i-esimo neurone nascosto della TPM e j = 1, . . . , N è un elemento del vettore dei pesi. Per determinare l'output del neurone nascosto si utilizza la sommatoria pesata: N 1 X 1 √ √ w i · xi = wi,j xi,j hi = N N j=1 e quindi l'output σi dell'i-esimo neurone nascosto è denito come: σi = sign(hi ) hi = 0 si pone σi = −1 in modo da avere un output binario, pertanto σi ∈ {−1, 1} cioè che se la somma è positiva allora σi = +1 è un neurone attivo, altrimenti se la somma è negativa σi è inattivo. L'output della Tree Parity Machine quando è dato dal prodotto dei neuroni nascosti: τ= K Y σi (3.4.1) i=1 È opportuno notare che τ rappresenta l'informazione che viene scambiata, quindo può cadere nelle mani di un un attaccante, ma comunque indica soltanto se il numero di neuroni nascosti inattivi, cioè quelli con dispari (τ σi = −1, sia pari (τ = +1) o = =1). Da questa introduzione si può già avere un'idea delle dimensioni del problema: 2K−1 output τ . ci sono di 3.4.2 rappresentazioni interne (σ1 , σ2 , . . . , σK ) che producono lo stesso valore La chiave Ritornando al problema di fornire a Bob un modo per decifrare il messaggio di Alice, entrambi ora sono dotati di una Tree Parity Machine: inizialmente scelgono a caso i valori per il proprio vettore dei pesi A/B wi che rappresenta la chiave privata personale, tenuta segreta (Figura 3.4.2); ad ogni passo vengono generati (sempre random) vettori di input xi e calcolati i rispettivi output τ A/B seguendo l'equazione (3.4.1) Dopodiché Alice e Bob si scambiano il proprio bit di output e controllano se 5 Con K=1 è un perceptron K τ A 6= τ B , CAPITOLO 3. Figura 3.4.2: 20 LA CRITTOGRAFIA NEURALE Schema del nuovo sistema crittograco: utilizza due chiavi private e il canale insicuro non viene più usato per inviare le chiavi, ma soltanto per la comunicazione. in tal caso l'apprendimento non avrà luogo e i pesi non verranno modicati. invece, τ A =τ B Se allora viene applicata una delle seguenti regole di apprendimento che permettono la sincronizzazione: 0 wi,j = g(wi,j + xi,j τ Θ(σi τ ) Θ(τ A τ B )) (3.4.2) 0 wi,j = g(wi,j − xi,j τ Θ(σi τ ) Θ(τ A τ B )) (3.4.3) 0 wi,j = g(wi,j + xi,j Θ(σi τ ) Θ(τ A τ B )) (3.4.4) Nel caso della Hebbian Learning Rule, le reti apprendono l'una dall'output dell'altra e la regola di apprendimento è data dall'equazione (3.4.2); oppure l'una dall'output opposto dell'altra, la Anti-Hebbian Learning Rule (3.4.3); le due Tree Parity Machine possono apprendere anche utilizzando la Random-walk learning rule (3.4.4), cioè omettendo τ e non considerando le informazioni provenienti dall'altra rete [2, 7, 11]. Inoltre, la regola impone che i pesi siano limitati in un intervallo compreso tra −L e +L e di modicare soltanto quelli che che nel neurone nascosto hanno σi = τ : questo permette di ouscare sempre di più il processo di intercettazione, dato che risulta impossibile riuscire a capire quali pesi verranno modicati senza conoscere nulla riguardo la rappresentazione interna dei σi . È questa la peculiarità fonda- mentale di tutto il processo, anché si riescano a fornire i requisiti necessari per implementare il metodo crittograco, sfruttando le potenzialità della Tree Parity Machine. Il passo di addestramento appena descritto viene ripetuto n quando i vettori dei pesi wiA di Alice e wiB di Bob delle rispettive Tree Parity Machine risulteranno uguali. Quando l'algoritmo terminerà, Alice e Bob avranno trasformato la propria chiave privata, scelta all'inizio del processo, in una chiave segreta e condivisa solo tra loro due, cioè i valori dei pesi risultanti dal processo di sincronizzazione delle CAPITOLO 3. LA CRITTOGRAFIA NEURALE 21 due Tree Parity Machine; a questo punto, la prossima volta che Alice dovrà inviare un messaggio lo codicherà con la nuova chiave e Bob non avrà più problemi a decodicarlo, visto che anch'egli ne è a conoscenza. 3.4.3 Il protocollo Con il processo appena descritto è possibile denire il protocollo di scambio di chiavi neurale [6]: 1. siano A e B le due parti comunicanti, dotate di identiche Tree Parity Machine; 2. si deniscono i 3 parametri pubblici che determinano le prestazioni e le sorti dell'algoritmo: (a) K, il numero di neuroni nascosti; (b) N, la dimensione del vettore di input per ogni neurone nascosto; con K, determina la lunghezza della chiave che si vuole generare; (c) L, l'intervallo di valori possibili per il vettore dei pesi; 3. ciascuna rete genera un vettore dei pesi random e segreto; 4. dopo un certo numero di passi (sincronizzazione totale) A e B potranno usare il vettore dei pesi come chiave segreta. Figura 3.4.3: Comunicazione tra Alice e Bob Si noti che ad ogni passo le uniche informazioni che possono essere intercettate sono il vettore degli input x e i valori dell'output τA e τ B. CAPITOLO 3. 22 LA CRITTOGRAFIA NEURALE 3.5 Le prestazioni Si consideri una Tree Parity Machine come in Figura 3.5.1 e congurata con i seguenti parametri: τ Π w1,1 σ3 σ2 σ1 w1,3 ... ... w1,2 w1,100 x1,1 x x 1,3 1,2 w2,1 x1,100 w2,3 w2,100 w2,2 ... ... x2,1 x x 2,3 K=3 w3,2 ... ... x3,100 K = 3; N = 100; L = 3 neuroni nascosti; N = 100, L = 3, w3,3 w3,100 x3,1 x 3,2 x 3,3 x2,100 2,2 Figura 3.5.1: Tree Parity Machine: w3,1 dimensione dei vettori di input; dove 2L + 1 sono i possibili valori di ogni elemento della chiave. Entrambi i partecipanti hanno a disposizione la Tree Parity Machine così costituita. Ogni rete ha un architettura composta da tre perceptron (neuroni nascosti) che producono un output: σiA = sign(wiA · xi ); σiB = sign(wiB · xi ); il vettore dei pesi e quello di input, entrambi dimensione A/B wi,j ∈ {−L, −L + 1, . . . , L − 1, +L} N = 100: xi,j ∈ {−1, 1} quindi i due bit di output risultano: τ A = σ1A σ2A σ3A τ B = σ1B σ2B σ3B Si prosegue con l'algoritmo descritto precedentemente, ad ogni passo le Tree Parity Machine ricevono entrambe i tre vettori di input x1 , x 2 , x3 casuali e si continua con CAPITOLO 3. 23 LA CRITTOGRAFIA NEURALE l'addestramento, se i due vettori τA e τB coincidono si procede con l'aggiornamento dei pesi: A/B 0 wi A/B = wi + xi altrimenti si ricomincia; le componenti del vettore vengono opportunamente troncate se risultano fuori dall'intervallo ±L. Si consideri il caso in cui i due bit di output sono uguali, ad esempio τ A = τ B = 1, allora possono vericarsi soltanto quattro situazioni: (+1, +1, +1) =⇒ 3 vettori (+1, =1, =1) =⇒ solo il vettore w1 dovrà essere aggiornato; (=1, +1, =1) =⇒ solo il vettore w2 dovrà essere aggiornato; (=1, =1, +1) =⇒ solo il vettore w3 dovrà essere aggiornato. w1 , w2 , w3 dovranno essere aggiornati; A e B non hanno alcuna informazione per individuare quali di questi vettori verranno cambiati, a maggior ragione E; ci sono nell'intervallo [−L, +L] 6·N di una quantità pari a to, n quando non diventano uguali. elementi dei vettori che si muovono ±1 per ogni passo di apprendimen- A sincronizzazione avvenuta i due vettori continueranno a modicare i loro pesi seguendo la regola di apprendimento, ma cambieranno identicamente in entrambe le Tree Parity Machine con un movimento random sincronizzato in uno spazio discreto di dimensioni (2L + 1)KN . I risultati sperimentali, così come quelli analitici [12, 13], confermano che l'algoritmo termina in un numero di passi abbastanza limitato e più che accettabile. Per la rete congurata come in Figura 3.5.1 e con i parametri appena deniti, si ottiene una distribuzione del numero di passi di sincronizzazione come in Figura 3.5.2: Figura 3.5.2: Distribuzione dei passi di sincronizzazione di una Tree Parity Machine con K = 3, N = 100, L = 3 CAPITOLO 3. Sia ts 24 LA CRITTOGRAFIA NEURALE il tempo in passi che impiegano due reti a raggiungere una completa sin- cronizzazione, le simulazioni rivelano che è ragionevole considerare il numero medio di passi di sincronizzazione pari a vettori di input, t t¯s ' 400 [7] e all'aumentare della dimensione dei non cresce linearmente, né esponenzialmente, bensì come logN [12]. Ciò implica che aumentare il numero di input (quindi la lunghezza della chiave) non è determinante per la complessità computazionale dell'algoritmo, piuttosto aumenta il livello di sicurezza del metodo [7]. 3.6 Attacchi al crittosistema Se Alice e Bob decidono di usare il protocollo di scambio di chiavi neurale, dopo aver inizializzato le proprie Tree Parity Machine, possono cominciare la comunicazione come descritto precedentemente. Sono a conoscenza del fatto che il canale da cui attingono al vettore di input non è sicuro, quindi può essere intercettato e, in generale, ci sono tre possibili metodi che Eve può usare per impensierire la segretezza 6 della loro comunicazione : 1. un attacco semplice utilizzando la stessa Tree Parity Machine di Alice e Bob, prelevando l'input dal canale e intercettando il bit di output scambiato dalle due parti; 2. l'attacco geometrico in cui, oltre ad avere la stessa rete, memorizza il proprio bit di output e i neuroni nascosti; 3. nel majority attack si tenta una vera e propria predizione della rappresentazione interna di una delle Tree Parity Machine; È da premettere che i parametri K, N e L sono pubblici così come l'architettura (quindi anche la regola di apprendimento), il vettore x e i bit di output τ che vengono scambiati (Figura 3.4.3). La prima tipologia di attacchi non è molto ecace perché, pur avendo un'identica architettura, Eve deve inizializzarla con un vettore dei pesi casuali e, a meno che non sia in grado di indovinare gli stessi elementi di Alice o Bob tra le (2L+1)KN possibili congurazioni, ha scarsissime possibilità di sincronizzarsi. L'idea è di intercettare uno tra i due e sostituirsi all'altro per l'addestramento, quindi supponiamo Eve voglia rimpiazzare Bob: ad ogni passo calcola l'output della propria rete controlla con τA intercettato; quindi modicherà i suoi pesi in relazione a stesso non fa Alice che, invece, segue τ B τE τ A, e lo ma lo ; pertanto Eve eseguirà l'apprendimento in modo errato [6]. L'attacco geometrico è l'attacco più incisivo che può essere apportato a questo crittosistema: Eve procede come per l'attacco precedente, ma stavolta esegue 6 Per questi crittosistemi è possibile soltanto un attacco di tipo eavesdropper, non c'è possibilità di attacchi attivi e quindi di inuenzare il contenuto del messaggio oppure di generare falsi ussi. CAPITOLO 3. LA CRITTOGRAFIA NEURALE 25 l'apprendimento anche quando gli output sono diversi, utilizzando un'ulteriore informazione derivante dai suoi pesi nascosti: calcola l'intervallo di condenza associato a τA e τB per stimare la rappresentazione interna di una delle due reti, però, per l'ele- vato numero di possibili neuroni nascosti diversi, la qualità della stima è fortemente pregiudica[14]. Nell'ultimo tipo di attacco, Eve si procura un insieme di Tree Parity Machine e le inizializza con elementi random: se τA = τB prosegue con l'apprendimento delle sole reti che hanno una particolare rappresentazione interna (cioè calcolando la probabilità che σiA 6= σiE ) scegliendo quella più probabile; con questa rete im- plementa l'attacco geometrico ed è possibile anche alternare i due approcci, ma si dimostra che non tutti i vettori della chiave risulteranno uguali e quindi non ci sarà sovrapposizione [14, 21]. Capitolo 4 Varianti proposte La Tree Parity Machine è stata sottoposta a varie tipologie di attacchi il cui esito non lascia dubbi sulla sua adabilità. Le simulazioni confermano quanto è stato descritto nei capitoli precedenti: le teorie sviluppate [1, 2, 3, 4] e altrettanto vericate sperimentalmente aprono nuovi scenari riguardo miglioramenti da apportare al crittosistema per renderlo sempre più adabile e inattaccabile. 4.1 Struttura della nuova teoria Per prima cosa è stato esaminato il problema dal punto di vista pratico, sviluppando un algoritmo per poter studiare e testare le potenzialità di una Tree Parity Machine, confrontando i risultati ottenuti con altri esperimenti [7] ed esaminando le eventuali debolezze del sistema. Da una attenta analisi è emerso che, dovendo agire sui parametri pubblici N, L K , e sulle informazioni di cui può venire a conoscenza un attaccante, le strade da seguire sono queste: si potrebbe operare sugli ingressi x e la sua dimensione N, ma come si vede dalle simulazioni (nel prossimo capitolo), ciò comporterebbe solo un rallentamento del protocollo dovuto ad eventuali codiche o mascheramenti degli ingressi; un'altra strada per rendere più sicuro il metodo è sicuramente quella di aumentare la dimensione L della chiave; le simulazioni confermano che l'algoritmo è più sicuro, ma cresce di gran lunga la complessità computazionale e quindi il numero di passi per la convergenza alla soluzione comune; altrimenti, sarebbe possibile operare sul numero di neuroni nascosti K, ma i miglioramenti apportati sono minimi e soprattutto si scopre l'algoritmo ad attacchi semplici. Da queste ed altre considerazioni emerge che, operare sul vettore di input può essere rischioso per l'ecienza del metodo perché rappresenta l'informazione comune su cui 26 CAPITOLO 4. 27 VARIANTI PROPOSTE è fondata la proprietà di sincronizzazione, pertanto eventuali alterazioni da parte di ogni singola rete, pregiudicherebbe la sovrapposizione dei due vettori. Il parametro più gestibile è senz'altro K, ma è anche il più cruciale: si dimostra che all'aumentare del numero di neuroni nascosti si rende la Tree Parity Machine più vulnerabile agli attacchi semplici, compromettendo perno la sicurezza del protocollo [15]. Allora un'idea possibile potrebbe essere quella di eliminare K dalle informa- zioni disponibili all'attaccante, in modo che abbia meno opportunità di sfruttare l'architettura e i parametri a sua conoscenza. Si potrebbe fare in modo che calcolare i (2L + 1)N K possibili valori non sia così facile per Eve; d'altra parte se l'attac- cante riuscisse a sincronizzarsi Con Alice prima di Bob allora potrebbe intercettare la chiave e sa che dovrà essere composta di K·N gli input per in numero di neuroni nascosti. elementi, cioè la dimensione de- E se si riuscisse ad omettere questa informazione? 4.2 Adaptive-Topology Tree Parity Machine Se l'attaccante non riuscisse ad entrare in possesso del parametro K allora divente- rebbe davvero complicato intercettare la chiave; è anche vero che, tra i vari attacchi che ha a disposizione, non tutti sono strettamente dipendenti dal numero di neuroni nascosti. L'attacco geometrico e il majority attack hanno come obiettivo la predizione della congurazione interna delle Tree Parity Machine, quindi riuscire a stimare che valore hanno i vettori dei pesi e soprattutto che dimensione hanno. Dato che tutte queste caratteristiche hanno in comune il parametro un modo per mascherarlo. T P MB K allora si può cercare Si considerino le due Tree Parity Machine T P MA e come in gura 3.4.1, con la stessa architettura e gli stessi parametri, ognuna riceve in ingresso il vettore di input x (sempre in comune), ma ciascuna rete ha una KA e KB il numero di neuroni nascosti delle due Tree Parity Machine, (σ1 , σ2 , . . . , σKA ) e (σ1 , σ2 , . . . , σKB ) le rappresentazioni interne rispettivamente di A e B , l'equazione 3.4.1 diventa: congurazione interna diversa. Siano A τ = KA Y i=1 se KA 6= KB σi , B τ = KB Y σi i=1 allora le due reti sono caratterizzate da due strutture interne completamente dierenti. Si denisce così l'architettura dell' Adaptive-Topology Tree Parity Machine e ciò che risalta subito è che questa nuova conformazione introduce nella rete un'incertezza tale da rendere il sistema molto più confuso, dal momento che il numero di neuroni nascosti non è ssato a priori. Analizzando l'architettura proposta si nota immediatamente che essendo diversi il numero di neuroni nascosti, saranno diverse CAPITOLO 4. 28 VARIANTI PROPOSTE anche le dimensioni delle chiavi, indipendentemente dal loro valore, dato che anche N · KA 6= N · KB . 4.2.1 La rappresentazione interna Per questa nuova struttura però, c'è bisogno di rivisitare le varie proprietà, equazioni e anche le regole di apprendimento presentate nel capitolo precedente; l'aspetto fondamentale è legato sicuramente alla sincronizzazione, ma per due reti siatte non avrebbe senso né la sovrapposizione dei due vettori, né lo scambio di chiavi e quindi l'intero protocollo crittograco. Si consideri la situazione in Figura 4.2.1 e si provi per un attimo ad eseguire i passi descritti nel paragrafo 3.4.3 per due Adaptive-Topology TPM: Figura 4.2.1: Adaptive-Topology Tree Parity Machine con KA = 2 e KB = 4 1. siano A e B i due partecipanti alla comunicazione; 2. si deniscono i parametri pubblici K A , KB , N e L ; 3. ciascuna rete genera un vettore dei pesi random e segreto in accordo con la propria architettura; 4. dopo un certo numero di passi (sincronizzazione totale) A e B potranno usare il vettore dei pesi come chiave segreta . Ovviamente, a prescindere della validità di quest'ultimo punto, anche KA e KB possono essere di dominio pubblico e quindi in possesso di un attaccante, oltre che al vettore degli input x e i valori dell'output τA e τ B. CAPITOLO 4. 29 VARIANTI PROPOSTE Il punto 4 assicura che alla ne A e B abbiano nelle proprie Adaptive-Topology TPM la stessa chiave, dunque per forza di cose dovrà risultare che e inoltre wA e wB N · KA = N · KB devono sovrapporsi. Pertanto bisogna denire una nuova dinamica della rete che preveda la variazione dei pesi ad ogni passo di apprendimento e inoltre una opportuna modicazione del numero di neuroni nascosti. Si prenda in esame soltanto l'Adaptive-Topology TPM di A, AT P MA congurata come in Figura 4.2.2: Figura 4.2.2: Adaptive-Topology TPM con KA = 3 la struttura interna è composta da un numero di neuroni nascosti KA = 3 ; si deniscono inoltre: un vettore di input x di dimensione indica l'i-esimo neurone nascosto e N con xi,j ∈ {−1, 1}, dove i = 1, . . . , KA j = 1, . . . , N un elemento del vettore dei pesi; wA il vettore i pesi con valori wi,j ∈ {−L, −L + 1, . . . , L − 1, +L}; per l'output del neurone nascosto si utilizza la sommatoria pesata: N 1 A 1 X hi = √ wi · xi = √ wi,j xi,j ; N N j=1 quindi l'output si pone σi dell'i-esimo neurone nascosto σi = sign(hi ) (quando hi = 0 σi = −1); inne, l'output dell'Adaptive-Topology TPM è dato dal prodotto dei singoli output dei neuroni nascosti τA = QK A i=1 σi . CAPITOLO 4. 30 VARIANTI PROPOSTE La nuova rete ha esattamente gli stessi parametri di quella generale e segue le regole di apprendimento 3.4.2, 3.4.3, 3.4.4 descritte in precedenza, ma utilizza un nuovo algoritmo per la denizione di 4.2.2 KA . La dinamica L'Adaptive-Topology TPM appena presentata segue una dinamica denita nel modo seguente: 1. ad ogni passo riceve KA vettori di input x1 , x2 , . . . , xKA casuali e continua con l'addestramento seguendo una delle tre regole di apprendimento 3.4.2, 3.4.3, 3.4.4; τ A e τ B sono = wiA + xi altrimenti 2. se i due vettori A0 pesi wi coincidenti si procede con l'aggiornamento dei si ricomincia; (a) le componenti del vettore vengono opportunamente troncate se risultano fuori dall'intervallo ±L; τ A 6= τ B allora l'apprendimento non avrà luogo e verrà eseguita una modica del numero di neuroni nascosti KA seguendo una regola di aggiornamento K : 3. se KA0 = KA + 4KA (4.2.1) si otterranno tre possibili casi: (a) 4KA = +1 (b) 4KA = −1 (c) 4KA = 0 nel primo caso viene aggiunto un neurone nascosto alla rete iniziale, nel secondo caso viene eliminato e nel terzo la rete rimane intatta; KA viene opportunamente limitato in un intervallo [KM IN , KM AX ], ≤ KM AX due numeri interi che deniscono le dimensioni minime e 4. il parametro con KM IN massime della Tree Parity Machine; 5. il procedimento si sviluppa come nel metodo classico no alla completa sin- cronizzazione delle due reti . L'intervallo [KM IN , KM AX ] è cruciale per non permettere un'esplosione dello strato nascosto, così come accade per il vettore dei pesi limitato nell'intervallo se KM IN = KM AX l'architettura della Adaptive-Topology TPM si riduce alla Tree Parity Machine originale. Inoltre si presuppone che interagisca con [−L, +L]; AT P MA come nel caso generale. AT P MB segua gli stessi passi e CAPITOLO 4. 31 VARIANTI PROPOSTE Il numero di neuroni nascosti di entrambe le reti osserva la seguente regola di aggiornamento 1. sia x ∈ [0, 1] 2. siano [0, 1] sM IN e un numero reale casuale; sM AX , con sM IN ≤ sM AX , due numeri reali deniti nell'intervallo che rappresentano le soglie di aggiornamento ; 3. il valore dove K: 4K è così denito: (a) 4K = +1 se x > sM AX ; (b) 4K = −1 se x < sM IN ; (c) 4K = 0 4K può essere visto come un passo che nella direzione di fermo se altrimenti. KM IN se 4K = −1, verso K compie, ad ogni aggiornamento, KM AX se 4K = +1, oppure resta 4K = 0; Quindi con questa regola si ottiene una Tree Parity Machine con un neurone aggiunto, sottratto oppure uguale a quella del passo precedente. giornamento permettono di limitare la uttuazione dei valori di Le soglie di ag- K e di controllare l'andamento generale della rete, in relazione al numero di neuroni nascosti (con sM IN = sM AX si avrà sempre una modica di K ). A questo punto è possibile far interagire A e B che eseguono autonomamente i passi appena elencati, ma anché alla ne del protocollo il vettore dei pesi di entrambe le reti sia coincidente è necessario garantire la sincronizzazione anche per questo nuovo metodo. Dai risultati sperimentali si evince che iterando il procedimento con queste regole per un certo numero di passi i due vettori wA e wB riescono a sovrapporsi, cioè che la proprietà di sincronizzazione delle due Tree Parity Machine è conservata indipendentemente dai neuroni nascosti e pertanto, dopo un numero nito di iterazioni risulta KA = KB e wA = wB Le simulazioni confermano che: l'Adaptive-Topology TPM conserva tutte le proprietà della Tree Parity Machine; permette la sovrapposizione dei due vettori dei pesi indipendentemente dal numero di neuroni nascosti inizialmente scelto dalle due reti; i valori di KM IN e KA KM AX e KB oscillano per un periodo transitorio iniziale tra i limiti e poi convergono anch'essi allo stesso valore KA = KB = K ; Per come è stata denita, l'Adaptive-Topology TPM adatta la topologia della rete in relazione agli aggiornamenti richiesti dalla regola. CAPITOLO 4. 4.2.3 32 VARIANTI PROPOSTE Il nuovo protocollo Utilizzando l'Adaptive-Topology Tree Parity Machine è possibile ridenire il protocollo di scambio chiavi del paragrafo 3.4.3: 1. siano A e B le due parti comunicanti, dotate di due Tree Parity Machine; 2. si deniscono i seguenti parametri pubblici: (a) N, (b) L, (c) KM IN la dimensione del vettore di input per ogni neurone nascosto; l'intervallo di valori possibili per il vettore dei pesi; KM AX , il numero minimo e massimo di possibili neuroni nascosti e della rete; (d) sM IN e sM AX , le soglie di aggiornamento K; 3. ciascuna rete sceglie a caso il proprio numero di neuroni nascosti nell'intervallo KA KB [KM IN , KM AX ]; 4. A e B generano i vettori dei pesi random di dimensione rispettivamente e e N · KA N · KB ; 5. dopo un numero ssato di passi, eseguiti rispettando la dinamica denita nei paragra precedenti, si arriverà alla sincronizzazione ed A e B potranno usare il vettore dei pesi come chiave segreta. È opportuno osservare che per denire il problema crittograco è necessario ipo- 1 tizzare che l'attaccante conosca l'architettura delle due Adaptive-Topology TPM , quindi KM IN e KM AX , ma soltanto quella iniziale. Per la sicurezza del protocol- lo basti osservare che, siccome si inizia con un qualsiasi [KM IN , KM AX ], KA e KB appartenente a l'algoritmo assicura che ad ogni passo questi due valori cambiano continuamente e quindi per l'attaccante sarà inutile individuare il loro valore iniziale, pur conoscendo l'intervallo di denizione. 4.3 L'algoritmo La prova decisiva per qualunque teoria è il modo con cui questa si concilia con i risultati sperimentali. Pertanto è stato sviluppato un software che simula la Tree Parity Machine come denita nel paragrafo 3.4.1; la struttura del software è stata implementata seguendo questi criteri: 1. inizializzazione: 1 Un qualsiasi sistema crittograco deve rispettare il Principio di Kerckhos: la sicurezza di un crittosistema deve dipendere soltanto dalla segretezza della chiave, anche se il suo algoritmo è pubblico. Quindi si suppone che l'attaccante conosca il sistema, ma non la chiave. CAPITOLO 4. 33 VARIANTI PROPOSTE K, N (a) scelta dei parametri (b) generazione dei vettori xi e L; ad ogni passo; (c) creazione e generazione dei vettori iniziali wA/B ; 2. iterazione: (a) calcolo di (b) se σiA = sign(wiA · xi ) τA = τB e σiB = sign(wiB · xi ) si esegue l'aggiornamento dei pesi A/B 0 wi A/B = wi + xi (per le simulazioni è stata scelta la Hebbian Rule); (c) calcolo di τA = QK i=1 σi e τB = QK i=1 σi (d) scambio dei bit di output. 3. criterio d'arresto. Inoltre, per l'analisi e la valutazione del sistema sono state implementate funzioni per il calcolo della norma dei vettori e per la stima della probabilità w, per la distribuzione dei tempi di sincronizzazione A B di coincidenza di τ e τ valutata su un test set. Con questo software sono state eettuate varie simulazioni (riportate nel capitolo seguente) sia per la Tree Parity Machine, vericando i risultati ottenuti precedentemente [2, 7], che per l'Adaptive-Topology TPM. Per quel che riguarda il nuovo sistema sono state introdotte ulteriori procedure: scelta delle soglie di aggiornamento generazione di aggiornamento dei neuroni nascosti come descritto prima, generando i valori 4K KA e KB sM IN nell'intervallo e sM AX nell'intervallo [0, 1]; [KM IN , KM AX ]; e modicando la rete in base all'esito della regola. La fase di aggiornamento è ben denita anche rispetto alla posizione dei neuroni da aggiornare. Sia un ordine tra i K = m il numero di neuroni nascosti in un certo istante, si denisce neuroni da 1 a m in modo che possano essere individuati: 4K = +1 K 0 = m + 1; 1. se 2. se 4K = −1 si aggiunge un neurone nella posizione si elimina il neurone nella posizione m m+1 e si aggiorna (Figura 4.3.1); 3. se 4K = 0 4. se K 0 > KM AX si lascia K 0 = KM AX ; 5. se K 0 < KM IN si lascia K 0 = KM IN . non si eettuano aggiornamenti e e si aggiorna K 0 = K = m. K0 = m − 1 CAPITOLO 4. 34 VARIANTI PROPOSTE Figura 4.3.1: Posizione dei neuroni: eliminazione del neurone in posizione m Questo approccio è stato preferito ad un aggiornamento di tipo casuale perché permette ai neuroni nelle prime posizioni di poter fruire dell'apprendimento in modo più costante rispetto a quelli nelle ultime posizioni, che sono soggetti a continue eliminazioni. Come si vedrà successivamente, questa osservazione risulterà fondamentale per la validità del nuovo sistema. L'idea alla base di questo metodo è che la proprietà di sincronizzazione viene fatta digerire alla rete a piccole dosi, in modo da lasciargli l'opportunità di assimilarla meglio e permettere l'avvicinamento di un neurone al suo corrispondente nell'altra Adaptive-Topology TPM. Così facendo si possono aggiungere e sottrarre altri neuroni n quando le due congurazioni non convergono ad una soluzione comune. I risultati sperimentali confermano che un aggiornamento random comporta continue oscillazioni dei valori KA e KB con la perdita completa della sincronizzazione, motivo per cui si preferisce un aggiornamento dal basso . 4.4 Una nestra Analizzando l'andamento e i tempi di sincronizzazione della Adaptive-Topology TPM e dalla considerazione appena fatta, si deduce che c'è una fase transitoria in cui il numero di neuroni nascosti varia eccessivamente. Durante questa fase la rete cambia continuamente congurazione, sprecando passi alla ricerca della giusta combinazione di K per poter apprendere con più costanza. A tal proposito, si in- troduce la topology search latency window (TSLW), ossia una nestra di passi di esecuzione durante la quale non avviene la fase di aggiornamento dei neuroni nasco- CAPITOLO 4. 35 VARIANTI PROPOSTE sti. L'intento è quello di limitare le uttuazioni dei neuroni nascosti ricercando la giusta congurazione e concedendo un certo numero di passi per l'apprendimento a quei neuroni che sono più presenti, come per far raorzare il legame tra quelli che vengono aggiunti. Quindi la presenza della nestra induce la rete a consolidare le relazioni tra i neuroni corrispondenti durante l'intervallo in cui non si aggiungono o sottraggono nodi e a modicare la propria struttura interna no alla sincronizzazione di KA e KB . Dopo che il numero di neuroni nascosti di entrambe le reti converge a una soluzione comune, i vettori dei pesi rimangono sovrapposti. Le simulazioni, delle quali si parlerà di qui a poco, confermano che l'introduzione della topology search latency window riduce i tempi di sincronizzazione rispetto al metodo con il semplice aggiornamento ad ogni passo. L'algoritmo viene così esteso, f introducendo durante l'inizializzazione un numero intero tramite cui si impone alla Adaptive-Topology TPM l'aggiornamento dei neuroni nascosti soltanto ogni f iterazioni, mentre durante gli altri passi in cui la rete non viene aggiornata si prosegue con il metodo generale. 4.5 Resistenza agli attacchi È opportuno evidenziare alcune conseguenze degli approcci appena introdotti: nuovi parametri pubblici la conoscenza dell'architettura implica che anche KM IN e KM AX , oltre ad N e L; sM IN , sM AX ed f sono pub- blici; ora ci saranno la chiave che A e B andranno a condividere, quindi il vettore (2L + 1)N ·KM AX possibili congurazioni; da un numero di elementi che varia in un intervallo w, sarà composta [N · KM IN , N · KM AX ]; Da queste osservazioni si può inferire che per quel che riguarda un attacco semplice, Eve dovrebbe inizializzare la sua rete con una delle (2L + 1)N ·KM AX possibili con- KA e KB non KA = KB = K , gurazioni. Tra l'altro anche la conoscenza del valore iniziale esatto di implicherebbe in alcun modo l'individuazione del valore nale di dal momento che la funzione di aggiornamento costruisce lo strato nascosto della rete neurale con una casualità che dipende dalle soglie di aggiornamento; pertanto l'attaccante dovrebbe indovinare, oltre alla struttura iniziale, anche i passi e le direzioni che la rete compie durante il suo processo di aggiornamento. Per le altre due tipologie di attacchi, fondati sulla predizione dello stato interno della rete, per gli stessi motivi di prima, la stima della congurazione è notevolmente pregiudicata dalla continua variazione della conformazione interna. La predizione viene fatta anche utilizzando più Adaptive-Topology TPM, una per ogni possibile struttura iniziale, ma rimane il problema non banale di riuscire ad eseguire tutti i CAPITOLO 4. passi ∆K VARIANTI PROPOSTE 36 che la rete intercettata è in grado di compiere no alla ne del processo di sincronizzazione. Gli attacchi presentati nel capitolo precedente sono i più pericolosi che possono essere apportati alle Tree Parity Machine, ma il metodo proposto introduce un ulteriore mescolamento dell'architettura interna rispetto alla rete originale, in grado di resistere in modo eccellente ad attacchi fondati sulla rilevazione dei vari parametri della rete; ovviamente, si ottiene un livello di sicurezza considerevole a costo di un incremento accettabile dei passi di sincronizzazione, come si vedrà dalle simulazioni nel prossimo capitolo. In denitiva, si può dedurre che le informazioni in possesso di un attaccante non sono sucienti a intercettare la chiave condivisa, dato che è stata rimossa la dipendenza della chiave da alcuni parametri fondamentali, anche se di pubblico dominio. Capitolo 5 Simulazioni In questo capitolo sono stati raccolti tutti i risultati sperimentali conseguiti e le varie simulazioni eettuate con il software descritto in precedenza. Quindi è stato eseguito prima un confronto con i risultati ottenuti da altre simulazioni, poi una valutazione generale delle prestazioni della nuova struttura e inne una comparazione con l'approccio originale. Sono stati adottati i seguenti criteri di valutazione: tempo medio di sincronizzazione distribuzione dei tempi di sincronizzazione; probabilità di coincidenza dei bit di output valutata su un test set; norma dei vettori dei pesi; topology search latency window. t¯s delle due reti; I parametri utilizzati nelle varie simulazioni sono stati scelti tra quelli che più incidono sulla rete sia dal punto di vista computazionale che per la sicurezza del protocollo. Come accennato in precedenza, la sincronizzazione di questa tipologia di reti neurali dipende strettamente dai parametri K, N e L; i loro valori sono legati sia alle prestazioni dell'algoritmo, sia alla sicurezza del crittosistema. Nw = ||wA −wB || wB e quindi come Inoltre è stata studiata la dierenza della norma dei due vettori al variare di t, in quanto misura della sovrapposizione di wA e criterio d'arresto per l'eettivo numero di passi di sincronizzazione necessari per una applicazione completa del metodo. Le simulazioni sono state eettuate su 10000 applicazioni indipendenti dell'intero processo di esecuzione, valutando per ognuna i risultati che verranno presentati. 5.1 Tree Parity Machine a confronto Nel paragrafo 3.5 è stata mostrata la distribuzione dei passi di sincronizzazione di una Tree Parity Machine congurata con i parametri 37 K = 3, N = 100, L = 3; questi CAPITOLO 5. 38 SIMULAZIONI Figura 5.1.1: Distribuzione dei passi di sincronizzazione di una Tree Parity Machine con K = 3, N = 100, L = 3 valori sono stati vagliati e preferiti ad altri perché permettono una valutazione più che soddisfacente sia per le prestazioni delle reti, sia per le chiavi crittograche; una rete di questo tipo impiega in media un numero di passi di sincronizzazione t¯s ' 400 (Figura 5.1.1). In prima analisi è stato studiato l'andamento della norma Nw per la Tree Parity Machine in esame: le simulazioni sono relative a tre applicazioni diverse del protocollo e, come si può vedere dall'andamento di Nw , dopo A B una fase transitoria di studio, i due vettori w e w tendono ad avvicinarsi no pari a ad una completa sovrapposizione, come in Figura 5.1.2. Figura 5.1.2: Norma della dierenza dei due vettori K = 3, N = 100, L = 3. w: Tree Parity Machine con CAPITOLO 5. 39 SIMULAZIONI Le tre applicazioni del protocollo confermano quanto denito precedentemente a proposito della sincronizzazione delle reti: dopo un certo periodo i bit di output τA e τB tendono a coincidere sempre di più ad ogni iterazione no a ts , facendo in modo che dopo la fase transitoria le reti apprendano l'una dall'altra con più costanza. Questo andamento lo si può esaminare meglio da un'altra simulazione eettuata, prendendo in considerazione la probabilità di coincidenza output τ A e τ B N valutata su un test set di Pτ dei bit di input per ogni passo di sincronizzazione. Utilizzando gli stessi parametri, si ha un andamento generale del tipo in Figura 5.1.3. Pτ Figura 5.1.3: Probabilità di coincidenza di una Tree Parity Machine valutata su un test set Da questo graco si può notare come l'andamento della probabilità di coincidenza Pτ cresce ad ogni passo, quindi da un certo punto in poi i bit di output diventano tutti coincidenti raorzando sempre di più i legami esistenti no a quando la rete converge ad una soluzione comune. come la norma Nw Chiaramente questi ultimi due andamenti confermano è inversamente proporzionale alla probabilità di coincidenza: τA = τB Nw = 0. all'aumentare delle iterazioni in cui decresce sempre di più no a no a Pτ = 1, la norma ||wA − wB || A questo punto sono state valutate le prestazioni della Adaptive-Topology Tree Parity Machine introducendo i nuovi parametri, oltre a quelli appena utilizzati: l'intervallo le soglie di aggiornamento topology search latency window [KM IN , KM AX ] in cui è denito sM IN e K; sM AX ; f; Per quanto riguarda la norma non si registrano cambiamenti sostanziali, tranne che per il tempo di sincronizzazione, ma l'andamento generale viene conservato CAPITOLO 5. 40 SIMULAZIONI completamente no a Nw = 0, mentre l'analisi della probabilità di coincidenza ha evidenziato qualche dierenza rispetto alla Tree Parity Machine. Le simulazioni sono state eettuate tenendo conto di questi aspetti: è stato scelto N = 100 come valore di riferimento tra tutti quelli testati, in N ∼ 10, quanto risulta essere un ragionevole equilibrio tra troppo scarsa la sicurezza della chiave, e N ∼ 1000 con cui risulta che si incrementa eccessi- vamente ed inutilmente la complessità computazionale rendendo anche la rete più vulnerabile; per quanto riguarda le soglie di aggiornamento sM IN e sM AX sono stati consi- derati vari approcci: simmetrico, cioè con sM IN = 1 − sM AX e quindi la stessa probabilità di aggiungere o eliminare un nodo, poi: * sM IN < sM AX − sM IN , cioè è più probabile che non vengano modi- cati i neuroni nascosti piuttosto che aggiunti o sottratti; * sM IN > sM AX − sM IN , quindi è più probabile un aggiornamento che nessuna modica; asimmetrici, con sM IN 6= 1 − sM AX e quindi la probabilità di aggiungere un nodo è diversa da quella di eliminarlo e tutte le varie combinazioni. Dai risultati delle simulazioni evince che la soluzione asimmetrica tende soltanto a rallentare la sincronizzazione delle reti, senza alcun miglioramento delle prestazioni; l'approccio migliore è sicuramente quello simmetrico e inoltre, il caso con sM IN > sM AX − sM IN porta a soluzioni con continue uttuazio- ni del numero di neuroni nascosti, non compromettendo la convergenza ad una soluzione comune, ma i tempi ts si dilatano dal momento che la congu- razione cambia troppo spesso; pertanto è preferibile utilizzare intervalli con sM IN < sM AX − sM IN e quelli sono [sM IN , sM AX ] = [0.2 , 0.8] che più si addicono agli scopi di questo lavoro e [sM IN , sM AX ] = [0.3 , 0.7]; KM IN e KM AX valgono le stesse considerazioni fatte per il pesi w limitato in un intervallo [−L, +L]: al crescere di KM AX per vettore dei aumenta la complessità computazionale del metodo, rendendo però il protocollo molto più sicuro, ma è preferibile lavorare su intervalli limitati in modo da poter sfruttare tutte le proprietà della Adaptive-Topology TPM; la sicurezza del protocollo, come verrà spiegato nel prossimo capitolo, non dipende strettamente dalle dimensioni di questo intervallo, dunque per le simulazioni è opportuno considerare intervalli [KM IN , KM AX ] = [2, 6] o meglio [KM IN , KM AX ] = [3, 5] per poter valutare nel modo migliore le prestazioni delle modiche apportate e successivamente il valore crittograco del sistema. CAPITOLO 5. 41 SIMULAZIONI la topology search latency window f rappresenta un'agevolazione per la rete che permette di ridurre i tempi di esecuzione; si considera la nestra in un intervallo di valori [0, 400], dove per f = 0 si riduce al metodo che prevede l'aggiornamento quando non c'è l'apprendimento. Tornando alla probabilità di coincidenza valutata sul test set, l'andamento risultante dell'Adaptive-Topology TPM (con f = 0) Pτ [KM IN , KM AX ] = [3, 5] Figura 5.1.4: Probabilità di coincidenza su un test set, con è quello in Figura 5.1.4: di un'Adaptive-Topology TPM valutata come è possibile notare, questa curva della probabilità di coincidenza è molto simile a quella della Figura 5.1.3, ma ha una fase transitoria più lunga per poi risalire verso Pτ = 1 . Ciò fa capire come la rete spende un certo numero di passi per trovare la giusta congurazione tra KA e KB , modicando continuamente la struttura interna con continui aggiornamenti, ma i neuroni che realmente raorzano la loro relazione sono quelli più in alto, come spiegato nel paragrafo 4.3. In questa simulazione è stato usato un KM IN = 3, dunque KA e KB hanno almeno tre neuroni sempre presenti nello strato nascosto, per tutta la durata del processo, dato che sono contenuti nell'intervallo [KM IN , KM AX ] = [3, 5]; gli altri due neuroni (per entrambe le reti) sono soggetti a continui aggiornamenti, n quando non raggiungono un livello di apprendimento tale da permettergli la sincronizzazione con il corrispondente dell'altra rete. Per considerare le prestazioni della Adaptive-Topology TPM è stata studiata la distribuzione dei passi di sincronizzazione (Figura 5.1.5): da questo istogramma è possibile notare che, com'era prevedibile, i tempi di sincronizzazione si sono dilatati, l'andamento è meno concentrato rispetto a quello classico e il tempo medio di sincronizzazione è pari a t¯s ' 4400. A quanto pare questa soluzione comporta un incremento del numero di iterazioni necessarie di circa un ordine di grandezza CAPITOLO 5. SIMULAZIONI 42 Figura 5.1.5: Distribuzione dei passi di sincronizzazione di un'Adaptive-Topology TPM con [KM IN , KM AX ] = [3, 5], N = 100, L = 3 rispetto al metodo generale, proprio perché c'è una fase transitoria dispendiosa a causa delle eccessive aggiunte ed eliminazioni di neuroni. 5.2 Topology search latency window Proprio per limitare questo fenomeno è stata introdotta la topology search latency window f; nel capitolo precedente ne è stata descritta la dinamica e in che modo viene utilizzata nel nuovo approccio, pertanto è stata valutata nell'intervallo (dove f = 0 [0, 400] si riduce all'esempio precedente) e la probabilità di coincidenza ha l'andamento in Figura 5.2.1: Pτ di un'Adaptive-Topology TPM valutata [KM IN , KM AX ] = [3, 5], N = 100, L = 3, f = 10 Figura 5.2.1: Probabilità di coincidenza su un test set, con CAPITOLO 5. 43 SIMULAZIONI è stata usata una nestra f = 10 e, come si può vedere dal graco, l'andamento è perfettamente identico a quello precedente, quindi la proprietà di sincronizzazione è stata preservata. L'introduzione della nestra non comporta alcuna conseguenza in termini di convergenza a una soluzione comune e anche la distribuzione dei passi di sincronizzazione registra pochi cambiamenti generali, ma qualche miglioramento nel tempo medio di sincronizzazione t¯s ' 4150 (Figura 5.2.2). Figura 5.2.2: Distribuzione dei passi di sincronizzazione di un'Adaptive-Topology TPM con [KM IN , KM AX ] = [3, 5], N = 100, L = 3, f = 10 A questo punto è utile osservare come la variazione dell'intervallo di denizione di KM IN e KM AX può comportare un ulteriore aumento del tempo medio di sincronizzazione, infatti si consideri [KM IN , KM AX ] = [2, 6] e i soliti parametri uti- lizzati nora, si avrà una distribuzione con un andamento generale identico, ma con t¯s ' 5300 (Figura 5.2.3). Figura 5.2.3: Distribuzione dei passi di sincronizzazione di un'Adaptive-Topology TPM con [KM IN , KM AX ] = [3, 5], N = 100, L = 3, f = 10 Questo incremento è stato vericato anche per zione di t¯s , f = 50 con un ulteriore diminu- allora ciò induce a pensare che allargando ancora la nestra si tende a CAPITOLO 5. 44 SIMULAZIONI ridurre i passi di esecuzione; infatti, proseguendo con ulteriori simulazioni, si mostra come è possibile trovare una congurazione ottimale sia dal punto di vista computazionale che crittograco. Pertanto sono state esaminate tre architetture, entrambe con f = 100, ma stavolta confrontando tre intervalli diversi per [sM IN , sM AX ] (Figura 5.2.4): (a) (b) (c) Figura 5.2.4: Distribuzione dei passi di sincronizzazione di una Tree Parity Machi- [KM IN , KM AX ] = [3, 5], N = 100, L = 3, f = 100: (a) [sM IN , sM AX ] = [0.2 , 0.8], (b) [sM IN , sM AX ] = [0.3 , 0.7], (c) [sM IN , sM AX ] = [0.4 , 0.6] ne con CAPITOLO 5. 45 SIMULAZIONI le tre distribuzioni hanno un andamento simile, più concentrato rispetto alle simulazioni mostrate nora, ma hanno un tempo di sincronizzazione molto inferiore: utilizzando la rete con 2500 si ha un tempo medio t¯s ' (Figura 5.2.4 (a)); [sM IN , sM AX ] = [0.3 , 0.7] il numero pari a ts ' 2100 (Figura 5.2.4 (b)); mentre con zione è [sM IN , sM AX ] = [0.2 , 0.8] [sM IN , sM AX ] = [0.4 , 0.6] ts ' 2500 (Figura 5.2.4 (c)). con medio di passi di sincronizza- si ha un tempo medio leggermente più basso Queste distribuzioni dimostrano che la topology search latency window apporta miglioramenti per quanto riguarda il numero medio di passi necessari per convergere, quindi è molto più veloce rispetto alle congurazioni precedenti; inoltre si può notare che i tre graci della Figura 5.2.4 sono identici in quanto in questa architettura con f = 100 si ha in generale meno uttuazione dei neuroni nascosti, essendo gli aggiornamenti limitati dalla nestra. Anche al variare delle soglie di aggiornamento [sM IN , sM AX ] = [0.1 , 0.9] precedenti strutture in cui i tempi sono abbastanza simili: ciò in contrasto con le [sM IN , sM AX ] incideva molto sull'oscillazione dei neuro- ni nascosti. Inoltre si conferma che l'architettura migliore risulta essere quella con [sM IN , sM AX ] = [0.3 , 0.7] e che la probabilità di coincidenza non registra alcun cambiamento rispetto agli esempi precedenti, quindi ancora una volta viene preservata la proprietà di sincronizzazione. Inne, si riportano due esempi di architetture più ampie. [sM IN , sM AX ] = [0.3 , 0.7], [KM IN , KM AX ] = [2, 8], f = 400 N , L (Figura 5.2.5): una rete con valori per La distribuzione di e i soliti Figura 5.2.5: Distribuzione dei passi di sincronizzazione di un'Adaptive-Topology [KM IN , KM AX ] = [2, 8], N = 100, L = 3, f = 100, [sM IN , sM AX ] = [0.3 , 0.7], f = 400 TPM con CAPITOLO 5. 46 SIMULAZIONI Pτ di un'Adaptive-Topology TPM valutata [KM IN , KM AX ] = [2, 12] Figura 5.2.6: Probabilità di coincidenza su un test set, con anche con questa architettura risulta un andamento concorde con i precedenti e t¯s ' 5000; la probabilità di coincidenza per una Adaptive-Topology TPM con [sM IN , sM AX ] = [0.3 , 0.7], [KM IN , KM AX ] = [2, 12], f = 400 e i soliti valori per N , L (Figura 5.2.6): un tempo medio di sincronizzazione Anche per architetture di Adaptive-Topology TPM più ampie è conservata la proprietà fondamentale della sincronizzazione di due Tree Parity Machine e i tempi ts crescono limitatamente rispetto agli approcci con f = 0. 5.3 Casualità dei neuroni nascosti Nelle architetture appena mostrate si osserva un ulteriore fenomeno riguardante i neuroni nascosti. Come ampiamente descritto, l'Adaptive-Topology TPM introduce un livello di incertezza nel sistema dovuto principalmente alla casualità con cui viene costruita la struttura nale. Dai capitoli precedenti si evince che la conformazione della rete alla ne delle iterazioni, avrà un numero di neuroni nascosti K compreso [KM IN , KM AX ]; quindi ci saranno KM AX − KM IN + 1 possibili valori assumere K in relazione agli aggiornamenti che verranno fatti in tutto il nell'intervallo che potrà processo. Durante le simulazioni è stata esplorata anche un'altra caratteristica di queste nuove reti: oltre ai parametri descritti in precedenza è stato osservato anche quanto sono dispersi i valori nali di K = KA = KB , cioè è stato valutato quanto si discostano l'uno dall'altro i numeri di neuroni nascosti per ogni singola applicazione dell'intero processo di sincronizzazione. Si sono registrati risultati sorprendenti soprattutto al variare della topology search latency window e pertanto si ripor- CAPITOLO 5. 47 SIMULAZIONI tano queste considerazioni in relazione alle architetture presentate nel paragrafo precedente: per da f = 10 da f = 60 f = 0 tutte le congurazioni esaminate presentano valori nali dei neuroni nascosti K = KM IN ; a f = 50 a non sono stati registrati cambiamenti rispetto a f = 80 si ha una leggerissima dispersione dei valori l'andamento generale conferma che da f = 90 leggera da a più netta dei valori si osserva una completa dispersione dei valori denti dal valore K, ma K → KM IN ; f = 150 si ha una dispersione prevalenza di K = KM IN ; f = 160 f = 0; K, K, con una non più dipen- KM IN . Questo fenomeno permette ulteriori osservazioni riguardo il comportamento dell'AdaptiveTopology TPM: quando la nestra snon viene applicata, f = 0, allora si avrà una frequenza di aggiornamento tale da non permettere di inferire la proprietà di sincronizzazione ai quei neuroni che vengono aggiornati più spesso. occupano una posizione compresa nell'intervallo (KM IN , KM AX ] Cioè quelli che tendono ad essere eliminati, mentre gli altri raorzano il legame. Questi risultati sono stati riscontrati anche modicando le soglie di aggiornamento in modo da avere meno aggiornamenti possibili. Al contrario, quando la nestra è molto ampia, f = 400, allora i valori dei neuroni nascosti sono completamente casuali, non si registrano anomalie e propensioni varie. Ciò si verica proprio per la denizione della topology search latency window, che lascia il tempo ai neuroni nascosti di instaurare un rapporto con i corrispondenti dell'altra rete in modo da poter aggiungere ed eliminare i nodi, ricercando la giusta topologia e allo stesso tempo di raorzare le loro relazioni. Capitolo 6 Conclusioni In questo lavoro sono stati esaminati vari aspetti, partendo dalla presentazione dell'argomento generale ed esplorandone le varie caratteristiche. Sono state dimostrate le relazioni che permettono di denire questo nuovo metodo, con tutte le varie applicazioni necessarie e inne è stato implementato lo sviluppo di un approccio crittograco che consenta lo scambio di chiavi. Alla ne di questa esperienza investigativa, è opportuno valutare i risultati separando i vari aspetti così come sono stati presentati. 6.1 La crittograa neurale Il protocollo crittograco sviluppato in questo lavoro rappresenta una valida alternativa a quelli classici basati sulla teoria dei numeri e sull'impossibilità computazionale di risolvere un determinato problema. La crittograa neurale lavora su un campo diverso, l'approccio presentato può essere visto come un sistema in cui agiscono forze stocastiche attrattive e repulsive che, in modo casuale, sono in grado di farlo convergere ad una soluzione comune, ossia il punto d'incontro dell'interazione tra le due reti neurali. In questo crittosistema la trap-door della funzione one-way viene realizzata dinamicamente, in modo dierente per le due parti comunicanti e l'attaccante fonda le sue possibilità di attacco sull'interazione con i partecipanti alla comunicazione. I protocolli crittograci moderni, basati sugli algoritmi crittograci classici, godono di un'invulnerabilità e una funzionalità quasi perfetta, la loro sicurezza viene misurata ogni secondo e al contempo confermano la loro impenetrabilità, tanto da renderli sempre più sicuri e adabili. L'approccio di tipo neurale solo per il confronto dovrebbe superare anni e anni di attacchi pratici, più che teorici, ma ciò non incia in alcun modo i vantaggi che questo metodo può apportare: sicuramente è un algoritmo molto semplice da implementare e da utilizzare, il numero di calcoli per generare una chiave è abbastanza limitato, nell'ordine del numero di passi da eseguire per raggiungere la sincronizzazione; la velocità del metodo consente di ge- 48 CAPITOLO 6. 49 CONCLUSIONI nerare una nuova chiave per ogni comunicazione o per ogni scambio i messaggi, in modo da non lasciare tracce o informazioni memorizzate troppo a lungo. Per fare un esempio pratico che dia le dimensioni del problema, si pensi che per n bit, cioè che dispone di uno spazio delle chiavi di 2n , N ·K è necessario che sia (2L + 1) ≥ 2n : quindi per una chiave di 256 bit basta una congurazione con K = 3, N = 31 L = 3; per una da 512 bit basta un N > 60, e generare una chiave lunga così via. In generale gli algoritmi descritti nel Capitolo 2 devono resistere agli attacchi di forza bruta, quindi sono legati indissolubilmente alla velocità dei calcolatori, che aumenta esponenzialmente nel tempo, così come lo spazio delle chiavi aumenta in modo esponenziale al crescere di n. La crittograa neurale è indipendente dalla teoria dei numeri e gli attacchi esaminati, di tipo eavesdropper, rappresentano l'unica tipologia di attacchi possibile; oltre che alle prestazioni sicuramente eccellenti, preserva anche un livello di sicurezza del tutto slegato da altri fattori esterni, che siano numeri primi o processori quantistici. 6.2 Adaptive-Topology Tree Parity Machine Tessere le lodi di un approccio crittograco può renderlo oggetto di sda ed esporlo a numerosi e innovativi attacchi, ma è anche l'unico modo per saggiare le reali potenzialità e magari poter reggere il confronto con i più illustri RSA o AES. La Tree Parity Machine si è rivelato uno strumento molto ecace e attendibile per scambiare semplicemente una chiave tra due parti comunicanti. La segretezza della chiave è tra le maggiori preoccupazioni di chi utilizza un crittosistema e l'Adaptive-Topology TPM nasce per riuscire ad innalzare il livello di solidità già accettabile nel metodo originale e di renderlo ancora più inattaccabile e invulnerabile. In questo lavoro non sono state studiate tecniche di crittoanalisi, ma sono stati raggiunti risultati importanti e sorprendenti per quanto riguarda l'ecienza e l'attendibilità del metodo proposto. L'incertezza che introduce la regola di aggiornamento dei neuroni nascosti porta ad avere un'architettura dicilmente predicibile per un attaccante e sicuramente invulnerabile alle oensive che prevedono la semplice interazione con uno dei partecipanti; questo sistema possiede una struttura interna talmente casuale da non conoscere nemmeno il numero dei propri neuroni nascosti. Se Eve riuscisse a sincronizzarsi con la Tree Parity Machine, lo stesso non riuscirebbe a fare con un'Adaptive-Topology TPM; tra l'altro se fosse fornita anch'ella della nuova struttura allora non farebbe altro che introdurre ulteriori casualità nel sistema, elevando eccessivamente lo stato di incertezza; del resto è poco utile attaccare con una struttura ssa, dato che il numero di neuroni nascosti viene costruito dinamicamente. CAPITOLO 6. 50 CONCLUSIONI Nei casi in cui la dimensione della nestra fa registrare un valore nale di tendente a KM IN , K allora è come se si utilizzasse una Tree Parity Machine con un numero sso di neuroni nascosti K, ma che nel frattempo i pesi si sono opportuna- mente mescolati nella fase di aggiornamento, in modo dierente da come farebbero in una rete classica; dunque Eve non può attaccare una Adaptive-Topology TPM come se fosse una Tree Parity Machine. Le simulazioni confermano che la convergenza ad una soluzione comune è conservata in quanto proprietà insita della sincronizzazione tra le due reti neurali; ciò assicura la funzionalità del sistema e permette quindi alle varianti proposte di incrementare il livello di sicurezza indipendentemente dall'interazione delle due Tree Parity Machine. È opportuno esaminare alcuni risultati ottenuti nel capitolo precedente al ne di precisare le caratteristiche principali per l'applicazione delle varianti proposte. Il sistema presentato può assumere varie congurazioni ed essere utilizzato a seconda dei casi che si presentano durante uno scambio di chiavi tra due comunicanti. Qualora ci fossero limiti sulla dimensione della chiave da condividere, sia relativi ai dati da trasmettere oppure a causa di una qualche restrizione sulla lunghezza, l'Adaptive-Topology TPM potrebbe essere utilizzata con una nestra N · KM IN f = 0 e un pari alla dimensione massima, oppure più semplicemente utilizzare una congurazione del tipo f > 90 e N · KM IN maggiore o uguale della lunghezza della chiave, per poi troncarla alla dimensione desiderata. Dalle valutazioni è emerso che la congurazione di un'architettura ottimale è denita dai seguenti parametri: N = 100, ma dipende dalla dimensione della chiave da utilizzare in relazione alle considerazioni fatte nel paragrafo precedente, quindi anche N < 100; L = 3; f = 100 permette un'ottima dispersione dei K; [sM IN , sM AX ] = [0.3 , 0.7] dalle simulazioni si è dimostrato l'intervallo ottimale per le soglie di aggiornamento; [KM IN , KM AX ] = [2, 8] è più che suciente per la sicurezza del protocollo. Una congurazione di questo tipo assicura prestazioni elevate dal punto di vista dei passi di sincronizzazione e la topology search latency window garantisce una confusione adeguata per un eccellente livello di sicurezza. 6.3 Sviluppi futuri Ci sono studi recenti riguardo la progettazione di hardware che implementano l'interazione tra due Tree Parity Machine per realizzare tecniche crittograche [16, 17, CAPITOLO 6. 18, 19]. 51 CONCLUSIONI Queste reti si sono dimostrate semplici da sviluppare e molto veloci per la progettazione di sistemi embedded, paragonabili anche ai sistemi che utilizzano RSA o altri metodi basati sulla teoria dei numeri. L'Adaptive-Topology Tree Parity Machine sicuramente dovrebbe superare qualche attacco diretto apportato in modo indipendente dalla rete originale, quindi potrebbe essere sviluppata qualche qualche tecnica di crittoanalisi per testare la reale adabilità e sicurezza della nuova architettura. La nestra di non-aggiornamento rappresenta un parametro che riesce a modellare la rete in modo appropriato a seconda degli scopi: sarebbe opportuno studiare tutte le varie caratteristiche dell'intero sistema al variare di f e magari utilizzare un approccio dinamico anche per la nestra, in relazione all'andamento della rete, in modo da poter ulteriormente ridurre i tempi di sincronizzazione della rete. Bibliograa [1] Biehl, M., and Caticha, N. (2001) Statistical Mechanics of On-line Learning and Generalisation, The Handbook of Brain Theory and Neural Networks , ed. by M. A. Arbib (MIT Press, Berlin) [2] Kinzel, W. (2005) Theory of interacting neural networks , in Handbook of Graphs and Networks: From the Genome to the Internet (eds S. Bornholdt and H. G. Schuster), Wiley-VCH Verlag GmbH & Co. KGaA, Weinheim, FRG. doi: 10.1002/3527602755.ch9 [3] Biehl, M. and Riegler,P. (1994) On-line learning with a perceptron , Europhys. Lett. 28, 525 [4] Metzler, R., Kinzel, W., and Kanter, I. (2000) Interacting Neural Networks , Phys. Rev. E 62, 2555 [5] Brian Arthur, W. (1994) Inductive reasoning and bounded rationality (The El Farol Problem) , Amer. Econ. Rev., 84 (1994) 406. (61) D. C HALLET e Y.-C. Z HANG , Emergence of cooperation and organization [6] Kanter, I., Kinzel W., and Kanter E. (2002) Secure exchange of information by synchronisation of neural networks , Europhys. Lett. 57, 141-147 [7] Kinzel, W. and Kanter, I. (2002) Neural cryptography . cond-mat/0208453 [8] Kinzel, W. and Kanter, I. (2002) Interacting neural networks and cryptogra- phy. In B. Kramer, editor, Advances in Solid State Physics, volume 42, pages 383391. Springer, Berlin. [9] Ruttor, A., Reents, G., and Kinzel, W. (2004) Synchronization of random walks with reecting boundaries. J. Phys. A: Math. Gen., 37:86098618. [10] Kinzel, W., and Kanter, I. (2003) Disorder generated by interacting neural net- works: application to econophysics and cryptography . J. Phys. A: Math. Gen., 36 (43):1117311186. [11] Mislovaty, R. , Perchenok, Y., Kanter, I., and Kinzel, W. (2002) Secure key-exchange protocol with an absence of injective functions. Phys. Rev. E, 66:066102. 53 BIBLIOGRAFIA 54 [12] Rosen-Zvi, E., Kanter, I., and Kinzel, W. (2002) Cryptography based on neural networks: analytical results , condmat/ 0202350 [13] Rosen-Zvi, M., Klein, E., Kanter, I., and Kinzel, W. (2002) Mutual learning in a tree parity machine and its application to cryptography , Phys. Rev. E [14] Klimov, A., Mityaguine, A., and Shamir, A. (2003) Analysis of neural crypto- graphy. In Y. Zheng, editor, Advances in CryptologyASIACRYPT 2002, page 288. Springer, Heidelberg, 2003. [15] Ruttor, A. (2007) Neural Synchronization and Cryptography . arXiv:0711.2411v1 [cond-mat.dis-nn] [16] Volkmer, M., and Wallner, S. (2004) A low-cost solution for frequent symmetric key exchange in ad-hoc networks. In P. Dadam and M. Reichert, editors, Proceedings of the 2nd German Workshop on Mobile Ad-hoc Networks, WMAN 2004, volume P-50 of Lecture Notes in Informatics (LNI), pages 128137, Ulm. Bonner Kollen Verlag. [17] Volkmer, M. and Wallner, S. (2005) Tree parity machine rekeying architectures. IEEE Trans. Comput., 54(4):421427. [18] Volkmer, M. and Wallner, S. (2005) A key establishment ip-core for ubiquitous computing. In Proceedings of the 1st International Workshop on Secure and Ubiquitous Networks, SUN'05, pages 241245, Copenhagen. IEEE Computer Society. [19] Volkmer, M. and Wallner, S. (2005) Lightweight key exchange and stream ci- pher based solely on tree parity machines. In ECRYPT (European Network of Excellence for Cryptology) Workshop on RFID and Lightweight Crypto, pages 102113, Graz. Graz University of Technology. [20] Shacham, L. N., Klein, E., Mislovaty, R., Kanter, I., and Kinzel, W. (2004) Cooperating attackers in neural cryptography. Phys. Rev. E, 69(6):066137. [21] Ein-Dor, L. and Kanter, I. (1999) Condence in prediction by neural networks. Phys. Rev. E, 60(1):799802. [22] Biehl, M. and Schwarze, H. (1993) Learning drifting concepts with neural networks. J.Phys. A26 (1993) 2651 [23] Bishop, C. M. (1995) Neural Networks for Pattern Recognition . Oxford: Oxford University Press.
© Copyright 2024 Paperzz