Himitsu project the beginning: initial architecture and multiparty support
Master Thesis
Συγγραφέας
Δεσύλλας, Δημήτριος
Ημερομηνία
2019-09Επιβλέπων
Λαμπρινουδάκης, ΚωνσταντίνοςΠροβολή/ Άνοιγμα
Λέξεις κλειδιά
PET ; Privacy ; Himitsu project ; Instant messaging ; Group key agreements ; End-to-end encryption ; Service advertizement ; Group instant messaging ; New systemΠερίληψη
Στην εργασία αυτή γίνετε μια μελέτη στο πως προστατεύεται η ιδιωτικότητα σε συστήματα ανταλλαγής στιγμιαίων
μηνυμάτων πολλών προς πολλούς. Ο απώτερος σκοπός η δημιουργία μιας αρχικής αρχιτεκτονικής του μακροχρόνιου project με την ονομασία Himitsu, ενός συστήματος που επιτρέπει στους τελικούς χρήστες να δημοσιεύουν στους
φίλους τους υπηρεσίες και μέσω αυτών να ανταλλάσσουν δεδομένα. Το βασικό εργαλείο που αξιοποιείτε για την προστασία της ιδιωτικότητας είναι η άκρο-προς-άκρο κρυπτογραφημένη ανταλλαγή δεδομένων (end-to-end encryption).
Στην αρχή μελετάμε με ποιους αλγορίθμους μπορεί να επιτευχθεί ενός κεντρικού ομαδικού κλειδιού, που αργότερα
μπορεί να αξιοποιηθεί για την ανταλλαγή δεδομένων. Μελετάμε την λειτουργία τους καθώς και μοντέλα ανάλυσης
ασφάλειας καθώς και τα υπολογιστικώς δύσκολα προβλήματα στα οποία η ασφάλεια αυτών βασίζεται. Ακόμη δε,
βλέπουμε ότι οι αλγόριθμοι βασίζονται είτε σε αρχιτεκτονική κύκλου στην οποία αξιοποιείτε ο προηγούμενος συμμετέχοντας και ο επόμενος στον σχηματισμό ενός ενδιάμεσου κλειδιού, αργότερα συνδυάζονται όλα τα ενδιάμεσα κλειδιά
στην δημιουργία ενός ενιαίου κλειδιού. Μια εναλλακτική προσέγγιση είναι η χρήση δέντρου στο οποίο ο συνδυασμός
φύλλων κλειδιών έως την ρίζα δημιουργεί ένα ενιαίο κοινό συμμετρικό κλειδί.
Αργότερα βλέπουμε τρόπους που διαδεδομένες εφαρμογές και αλγόριθμοι εφαρμόζουν μηχανισμούς ιδιωτικότητας στην αρχή βλέπουμε το (N+1)sec και το mPOTR που, εφόσον δημιουργηθεί ένα κοινό συμμετρικό κλειδί, πέρα
από την εμπιστευτικότητα με την άκρο-προς-άκρο κρυπτογράφηση δεδομένων προσφέρει και άλλους μηχανισμούς
προστασίας όπως η διαμφησβιτισιμότητα (deniability), η συνοχή μηνυμάτων (consesus) και άλλους. Τέλος βλέπουμε
και άλλες εφαρμογές όπου εφαρμόζουν έναν δικό τους τρόπο χωρίς όμως να εφαρμόζουν στο σύνολο τους όσες
υπηρεσίες προσφέρει το (N+1)sec και mPOTR.
Μετά κάνω 2 απόπειρες ανάπτυξης γνωστών αλγόριθμων συμφωνίας κλειδιών που αναφέρω στο κεφάλαιο 3. Η
πρώτη είναι υλοποίηση του αλγορίθμου mDP+P σε Javascript με την χρήση electron και του πρωτοκόλλου επικοινωνίας XMPP και η δεύτερη είναι αξιοποιώντας C και MPI σαν μηχανισμό ανταλλαγής δεδομένων προκειμένου να
υλοποιήσω το πρωτόκολλο Burmester Desmedt.
Επιπλέον, βάση των γνώσεων και εμπειριών που απέκτησα από τα προηγούμενα κεφάλαια ορίζω μια βασική
αρχιτεκτονική για το Himitsu project. Αρχικά ορίζω τα βασικά δομικά στοιχεία του project και αργότερα σε κάθε δομικό
στοιχείο ορίζω τις τεχνικές απαιτήσεις αυτού. Μετά ορίζω απαιτήσεις για την διαχείριση των κλειδιών καθώς και τους
κρυπτογραφικούς αλγορίθμους οι οποίοι θα αξιοποιηθούν. Τέλος ορίζω βασικά συμπεράσματα από την εμπειρία
καθώς και τι ελλείψεις υπάρχουν στην βιβλιογραφία. Τέλος ορίζω ποια θα είναι τα επόμενα βήματα ανάπτυξης του Himitsu project.