Ανώνυμη επικοινωνία ανθεκτική σε επιθέσεις ανάλυσης κίνησης δικτύου - Αλεξόπουλος, Νικόλαος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών, 2016)
Η διατήρηση της ιδιωτικότητας κατά την επικοινωνία στο διαδίκτυο έχει εξελιχθεί σε πολύ σημαντικό ζήτημα τα τελευταία χρόνια. Μεμονωμένα άτομα, επιχειρήσεις ή ακόμα και κυβερνήσεις, υποκλέπτουν δεδομένα ώστε να τα χρησιμοποιήσουν προς το συμφέρον τους. Η κρυπτογράφηση του περιεχομένου των μηνυμάτων δεν είναι πλέον αρκετή, καθώς η ταυτοποίηση των δύο μερών που επικοινωνούν είναι συχνά αρκετή για να βγουν συμπεράσματα. Λύσεις για τη διατήρηση της ιδιωτικότητας στην επικοινωνία, όπως το Tor, υπάρχουν αλλά είναι ευάλωτες σε επιθέσεις ανάλυσης της κίνησης του δικτύου από αντιπάλους που έχουν εποπτεία του συνόλου του. Σε αυτή την εργασία, θα μελετήσουμε το πρόβλημα της ανώνυμης επικοινωνίας, με τη μορφή της σχεδόν πραγματικού χρόνου ανταλλαγής μηνυμάτων (πχ email, sms) και τις πιθανές λύσεις του. Αρχικά παρουσιάζουμε ένα μαθηματικό μοντέλο και ορίζουμε το πρόβλημα τυπικά. Στη συνέχεια, και αφού παρουσιάσουμε κάποια απαραίτητα εργαλεία, αναλύουμε το σύστημα Vuvuzela των van den Hooff, Lazar, Zaharia και Zeldovich, το οποίο είναι ένα νέο σύστημα που προσπαθεί να λύσει το πρόβλημα. Σε αυτό το σημείο παρουσιάζουμε μια εκδοχή της θεωρίας της διαφορικής ιδιωτικότητας, προσαρμοσμένη στο μοντέλο του προβλήματος που ορίσαμε και συμβατή με το σύστημα Vuvuzela. Έχοντας ως έμπνευση το συγκεκριμένο σύστημα, στη συνέχεια αναζητούμε μία λύση για το πρόβλημα που να προσφέρει πιο ισχυρή ασφάλεια από τη διαφορική ιδιωτικότητα που προσφέρει το Vuvuzela. Προς αυτή την κατεύθυνση ορίζουμε το πρόβλημα ως μαθηματική συνάρτηση και δημιουργούμε κυκλώματα ώστε να γίνει δυνατή η αποτίμησή της, μέσω τεχνικών Secure Multiparty Computation. Μέσω της ασφαλούς αποτίμησης της συνάρτησης από κάποιους servers, το πρόβλημα της ανώνυμης ανταλλαγής μηνυμάτων μπορεί να λυθεί με πολύ καλές εγγυήσεις ασφαλείας. Σαν πρώτο βήμα παρουσιάζουμε ένα κύκλωμα απλό στην κατανόηση αλλά μη αποδοτικό, και στη συνέχεια εξελίσσουμε αυτό το κύκλωμα χρησιμοποιώντας επιπλέον ιδέες δικτύων ταξινόμησης (sorting networks) ώστε να καταλήξουμε σε ένα κύκλωμα που επιλύει το πρόβλημα και το οποίο έχει μέγεθος κατάλληλο για υλοποίηση.