Tesi di Guido Francesco Vargas - Università degli Studi di Siena

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.