Τι γνωρίζει το σημείο συνάντησής μας για εσένα
Ας ξεκινήσουμε από τα βασικά. Το σημείο συνάντησής μας γνωρίζει ακριβώς τρία πράγματα για εσένα: το όνομα χρήστη σου, το μοναδικό σου αναγνωριστικό και έναν κατακερματισμό (hash) του κωδικού πρόσβασής σου. Ένα hash είναι ένας μη αναστρέψιμος μαθηματικός μετασχηματισμός — μπορεί να επαληθεύσει ότι ο κωδικός πρόσβασής σου είναι σωστός χωρίς να γνωρίζει ποιος είναι. Ο πραγματικός σου κωδικός πρόσβασης υπάρχει μόνο στο κεφάλι σου και στη συσκευή σου.
Τίποτα περισσότερο. Δεν αποθηκεύουμε με ποιον μιλάς ούτε τι λες. Τα τούνελ σου και τα ονόματα των επαφών σου υπάρχουν μόνο στη συσκευή σου, κρυπτογραφημένα, και το σημείο συνάντησής μας δεν μπορεί να τα ανοίξει ακόμα και αν το ήθελε.
Οι θυρίδες
Φαντάσου έναν τοίχο με αριθμημένες θυρίδες, όπως αυτές ενός παλιού ταχυδρομείου. Όταν η εφαρμογή σου θέλει να συνδεθεί με κάποιον, αφήνει ένα σημείωμα σε μια θυρίδα λέγοντας "θέλω να μιλήσω με τον χρήστη Χ". Τίποτα άλλο. Δεν λέει ποιος είσαι εσύ. Δεν λέει για τι θέλεις να μιλήσεις. Απλά ένα σημείωμα σε μια θυρίδα.
Κατά καιρούς, όλες οι εφαρμογές που είναι συνδεδεμένες στο Solo2 ελέγχουν τις θυρίδες μήπως κάποιος τους έχει αφήσει ένα σημείωμα. Είναι σαν να περνάς από το ταχυδρομείο και να ρωτάς: «Υπάρχει κάτι για μένα;». Αν η επαφή σου βρει το σημείωμά σου, ζητά από το σημείο συνάντησης τη διεύθυνση IP που άφησες. Εκείνο της τη δίνει. Η διεύθυνση παραμένει στη μνήμη του διακομιστή για λίγα δευτερόλεπτα και δεν εγγράφεται ποτέ στον δίσκο.
Από εκεί και πέρα, το σημείο συνάντησης εξαφανίζεται
Μόλις οι δύο συσκευές γνωρίζουν τη διεύθυνση της άλλης, μιλούν απευθείας μεταξύ τους. Το σημείο συνάντησης δεν συμμετέχει πλέον. Αν η άμεση σύνδεση δεν είναι δυνατή, τα μηνύματα περνούν κρυπτογραφημένα από τον καθρέφτη μας, ο οποίος δεν αποθηκεύει τίποτα. Δεν τα αποθηκεύει. Δεν γνωρίζει εάν η σύνδεση εδραιώθηκε ή όχι. Δεν γνωρίζει πόσο διαρκεί. Δεν γνωρίζει πόσα μηνύματα ανταλλάσσονται ούτε τι μεγέθους είναι.
Τόσο πολύ, που εάν το σημείο συνάντησης έσβηνε εκείνη τη στιγμή, σε μια άμεση σύνδεση οι δύο χρήστες θα συνέχιζαν να μιλούν ακριβώς το ίδιο. Η συνομιλία δεν εξαρτάται από αυτό. Εξαρτιόταν από αυτό μόνο για να βρεθούν οι δύο συσκευές. Μόλις συνδεθούν, είναι άσχετο.
Η συνομιλία είναι ασφαλής πριν καν ξεκινήσει
Όταν δύο άτομα δημιουργούν ένα τούνελ στο Solo2, οι συσκευές τους ανταλλάσσουν δημόσια κρυπτογραφικά κλειδιά. Από εκείνη τη στιγμή, κάθε μήνυμα κρυπτογραφείται με το κλειδί του παραλήπτη —και μόνο ο παραλήπτης μπορεί να το αποκρυπτογραφήσει. Αυτό συμβαίνει πριν ξεκινήσει οποιαδήποτε συνομιλία. Τα κλειδιά είναι έτοιμα από τη στιγμή που δημιουργείται το τούνελ.
Γι' αυτό, όταν οι δύο συσκευές συνδέονται απευθείας, η επικοινωνία είναι ήδη προστατευμένη. Δεν χρειάζεται να διαπραγματευτούν τίποτα. Δεν χρειάζεται να ζητήσουν άδεια από το σημείο συνάντησης. Τα κλειδιά είναι δικά τους, βρίσκονται στις συσκευές τους, και κανείς άλλος δεν τα έχει.
Τι σημαίνει αυτό στην πράξη
Ότι οι συνομιλίες σου δεν αποθηκεύονται σε κανέναν διακομιστή. Δεν υπάρχει βάση δεδομένων μηνυμάτων για παραβίαση. Ταξιδεύουν κρυπτογραφημένα από τη συσκευή σου σε εκείνη του άλλου ατόμου.
Την επόμενη φορά που κάποιος θα σου πει ότι μια εφαρμογή «κρυπτογραφεί τα μηνύματά σου από άκρο σε άκρο», ρώτησέ τον για όλα τα υπόλοιπα: ποιος γνωρίζει τις επαφές σου, τι ώρα μιλάς, με ποια συχνότητα. Αν η απάντηση είναι «ο διακομιστής μας, αλλά δεν το χρησιμοποιούμε για τίποτα κακό», αυτό είναι μια υπόσχεση. Στο Solo2 η απάντηση είναι άλλη: οι επαφές σου είναι κρυπτογραφημένες στη συσκευή σου και δεν αποθηκεύουμε με ποιον μιλάς ούτε τι λες.