Tor

Το **Tor** (συντομογραφία του **The onion router**) είναι ένα σύστημα που δίνει στους χρήστες του τη δυνατότητα ανωνυμίας στο Διαδίκτυο. Το λογισμικό πελάτη Tor δρομολογεί τη διαδικτυακή κίνηση μέσω ενός παγκόσμιου εθελοντικού δικτύου διακομιστών με σκοπό να αποκρύψει την τοποθεσία ενός χρήστη ή τη χρήση της κίνησης από οποιονδήποτε διεξάγει διαδικτυακή παρακολούθηση ή ανάλυση της διαδικτυακής κίνησης. Η χρήση Tor κάνει δύσκολη την ανίχνευση διαδικτυακής δραστηριότητας του χρήστη, συμπεριλαμβανομένου επισκέψεων σε κάποια ιστοσελίδα, διαδικτυακές αναρτήσεις, προγράμματα άμεσων μηνυμάτων και άλλων μέσων διαδικτυακής επικοινωνίας, κι έχει σκοπό να προστατεύσει την ατομική ελευθερία, την ιδιωτικότητα και τη δυνατότητα του χρήστη να διεξάγει εμπιστευτικές εργασίες χωρίς να καταγράφονται οι διαδικτυακές δραστηριότητές του.
Το “Onion routing” αναφέρεται στη στρωματοποιημένη φύση της κρυπτογράφησης των δεδομένων: τα αρχικά δεδομένα κρυπτογραφούνται και επανακρυπτογραφούνται πολλές φορές, έπειτα στέλνονται μέσω διαδοχικών κόμβων του Tor, ο καθένας από τους οποίους αποκρυπτογραφεί ένα «στρώμα» κρυπτογράφησης προτού μεταφέρει τα δεδομένα στον επόμενο κόμβο και τελικά στον προορισμό τους. Για την ακρίβεια ο χρήστης δημιουργεί ένα κρυπτογραφημένο τούνελ δεδομένων με τον κόμβο εισόδου στο Tor, μέσα από αυτό το τούνελ δημιουργεί ένα δεύτερο κρυπτογραφημένο τούνελ με τον ενδιάμεσο κόμβο του Tor, και τέλος δημιουργεί ένα τρίτο κρυπτογραφημένο τούνελ δεδομένων με τον κόμβο εξόδου. Αυτά τα τούνελ, έχουν τη δομή του κρεμμυδιού (Onion). Ο κόμβος εισόδου γνωρίζει μόνο με ποιον ενδιάμεσο κόμβο συνδέεται ο χρήστης καθώς του προωθεί το δεύτερο κρυπτογραφημένο τούνελ μέσα στο οποίο δεν μπορεί να δει. Μέσα από το δεύτερο τούνελ, το λογισμικό του χρήστη δίνει οδηγίες να δημιουργήσει και το τρίτο κρυπτογραφημένο τούνελ με τον κόμβο εξόδου. Έτσι ο ενδιάμεσος κόμβος γνωρίζει τον κόμβο εισόδου και τον κόμβο εξόδου, αλλά δεν γνωρίζει τη διεύθυνση του χρήστη εκτός και αν συνωμοτήσει με τον κόμβο εισόδου, ούτε τη διεύθυνση προορισμού, εκτός εάν συνωμοτήσει με τον κόμβο εξόδου.

Αυτό μειώνει την πιθανότητα να αποκρυπτογραφηθούν ή να γίνουν κατανοητά κατά τη μεταφορά τους τα αρχικά δεδομένα και μεταδεδομένα.

Το Tor είναι ελεύθερο λογισμικό και η χρήση του είναι δωρεάν.

## Ιστορικό

Μια άλφα έκδοση του λογισμικού με το δίκτυο δρομολογητών onion να είναι «λειτουργικό και αναπτυσσόμενο», ανακοινώθηκε στις 20 Σεπτεμβρίου του 2002. Ο Roger Dingledine, ο Nick Mathewson και ο Paul Syverson παρουσίασαν το “Tor: The Second-Generation Onion Router" στο 13ο συμπόσιο για την ασφάλεια USENIX στις 13 Αυγούστου 2004. Αν και το όνομα Tor προήρθε από το ακρωνύμιο του έργου The onion routing, το τρέχον έργο δε θεωρεί πλέον το όνομα ως ακρωνύμιο και γι' αυτό δεν γράφεται με κεφαλαία γράμματα.
Χρηματοδοτούμενο αρχικά από το ερευνητικό εργαστήριο του ναυτικού των ΗΠΑ  το Tor υποστηριζόταν οικονομικά από το Electronic Frontier Foundation την περίοδο μεταξύ 2004 και 2005. Το λογισμικό Tor αναπτύσσεται πλέον από το Tor project, μία μη κυβερνητική οργάνωση τύπου 501(c)(3)[10] που βρίσκεται στις ΗΠΑ από τον Δεκέμβριο του 2006 και στηρίζεται σε διάφορες πηγές οικονομικής υποστήριξης.
Τον Μάρτιο του 2011 το έργο Tor πήρε το βραβείο έργου κοινής ωφέλειας του Free Software foundation για το 2010 για τους εξής λόγους:
« Χρησιμοποιώντας ελεύθερο λογισμικό, το Tor έδωσε τη δυνατότητα σε 36 εκατομμύρια ανθρώπους ανά τον κόσμο να απολαύσουν την ελευθερία πρόσβασης και έκφρασης στο Διαδίκτυο ενώ τους έδινε τον έλεγχο της ιδιωτικότητας και της ανωνυμίας τους. Το δίκτυο του αποδείχθηκε κρίσιμο σε αντικαθεστωτικά κινήματα στο Ιράν και στην Αίγυπτο. Επίσης, μεγάλο ποσοστό των χρηστών προέρχεται από την Κίνα, όπου κυριαρχεί η λογοκρισία στο Διαδίκτυο.

## Λειτουργία

right|After obtaining a list of Tor nodes from a directory server. Alice's Tor client pick a random path to destination server Bob.Στόχος του Tor είναι να αποκρύπτει τις ταυτότητες των χρηστών του και τη δραστηριότητα τους στο δίκτυο αποτρέποντας την παρακολούθηση και την ανάλυση της κίνησης και διαχωρίζοντας τον εντοπισμό από τη δρομολόγηση. Αποτελεί την υλοποίηση του onion routing, το οποίο κρυπτογραφεί και δρομολογεί τυχαία την επικοινωνία μέσω ενός δικτύου από κόμβους που το λειτουργούν εθελοντές ανά την υφήλιο. Οι συγκεκριμένοι δρομολογητές onion (κρεμμύδι) εφαρμόζουν κρυπτογράφηση πολλαπλών στρωμάτων (εξ ου και η μεταφορά του κρεμμυδιού) για να εξασφαλίσουν τέλεια μυστικότητα προς τα εμπρός (perfect forward secrecy) μεταξύ των κόμβων, και γι’ αυτό προσφέρει ανωνυμία της δικτυακής τοποθεσίας. Αυτή η ανωνυμία επεκτείνεται στη φιλοξενία ανθεκτικού στη λογοκρισία περιεχομένου μέσω των ανώνυμων κρυμμένων υπηρεσιών του Tor. Επιπλέον, διατηρώντας κάποιους από τους κόμβους εισόδου (γεφυρωμένους κόμβους) μυστικούς, οι χρήστες αποφεύγουν τη διαδικτυακή λογοκρισία η οποία στηρίζεται στο μπλοκάρισμα των δημόσιων κόμβων του Tor.

Η διαδικτυακή διεύθυνση του αποστολέα και του παραλήπτη δεν είναι αμφότερες σε μορφή αρχικού κειμένου (cleartext) σε κάθε πέρασμα κατά μήκος της διαδρομής προς έναν κόμβο, ο οποίος δεν είναι εξόδου (ή ενδιάμεσος), ούτε κομμάτια της πληροφορίας είναι σε μορφή μη κρυπτογραφημένου κειμένου, έτσι ώστε οποιοσδήποτε ωτακουστής σε οποιαδήποτε σημείο κατά μήκος του καναλιού επικοινωνίας δεν μπορεί άμεσα να ταυτοποιήσει και τα δύο άκρα. Επιπλέον, στον παραλήπτη φαίνεται ότι ο τελευταίος κόμβος Tor (κόμβος εξόδου) είναι ο δημιουργός της επικοινωνίας.

## Η κίνηση στο Δίκτυο

Οι χρήστες του δικτύου Τor εκτελούν στο μηχάνημά τους έναν διακομιστής μεσολάβησης (proxy). Το λογισμικό του Tor ανά διαστήματα διαπραγματεύεται τη δημιουργία ενός εικονικού κυκλώματος μέσω του δικτύου του, χρησιμοποιώντας κρυπτογράφηση πολλαπλών στρωμάτων, για να εξασφαλίσει τέλεια μυστικότητα προς τα εμπρός. Συγχρόνως, το λογισμικό του διακομιστή μεσολάβησης onion εμφανίζει στους πελάτες τη διεπαφή SOCKS. Οι εφαρμογές που χρησιμοποιούν το SOCKS στρέφονται στο Tor, το οποίο στη συνέχεια κρυπτογραφεί πολλαπλά μέσω του εικονικού κυκλώματός του. Ο διακομιστής μεσολάβησης Polipo χρησιμοποιεί τα πρωτόκολλα  SOCKS 4 & SOCKS 5 και γι’ αυτό συνίσταται να χρησιμοποιείται μαζί με το δίκτυο ανωνυμοποίησης Tor. Ο Polipo είναι ένας διαδικτυακός διακομιστής μεσολάβησης ο οποίος εκτελεί καλά τη διασωλήνωση HTTP 1.1 , ώστε να ενισχύει την επικοινωνιακή λανθάνουσα του Tor.
Όσο κάποιος βρίσκεται μέσα στο δίκτυο του Tor, η κίνηση αποστέλλεται από δρομολογητή σε δρομολογητή, και τελικά καταλήγει στο κόμβο εξόδου όπου το μη κρυπτογραφημένο πακέτο γίνεται διαθέσιμο και προωθείται στον αρχικό προορισμό. Από την πλευρά του προορισμού, η κίνηση φαίνεται να προέρχεται από τον κόμβο εξόδου του Tor.

Η αυτονομία της εφαρμογής του Tor το διαφοροποιεί από τα περισσότερα από δίκτυα ανωνυμοποίησης: λειτουργεί στο Transmission Control Protocol (TCP) επίπεδο μεταφοράς OSI. Στις εφαρμογές που χρησιμοποιούν ευρέως το Tor για ανωνυμοποίηση περιλαμβάνονται το Internet Relay Chat (IRC), προγράμματα άμεσων μηνυμάτων και στην περιήγηση στο Διαδίκτυο World Wide Web. Όταν γίνεται περιήγηση στο διαδίκτυο, το Tor συχνά συνδυάζεται με τους Polipo ή Privoxy διακομιστές μεσολάβησης.

Σε παλιότερες εκδόσεις του Tor (επιλύθηκε το Μάιο και τον Ιούλιο του 2010), όπως και σε πολλά συστήματα ανώνυμης πλοήγησης στο Διαδίκτυο, τα άμεσα αιτήματα Domain Name System (DNS) συνήθως εκτελούνται ακόμα από πολλές εφαρμογές χωρίς τη χρήση ενός διακομιστή μεσολάβησης Tor. Αυτό επιτρέπει σε κάποιον να παρακολουθεί τη σύνδεση ενός χρήστη για να καθορίσει (για παράδειγμα) ποιες WWW ιστοσελίδες επισκέπτεται χρησιμοποιώντας Tor, αν και δεν μπορεί να δει το περιεχόμενο που εμφανίζεται. Για να λυθεί το συγκεκριμένο πρόβλημα, μια λύση είναι να χρησιμοποιηθεί το Privoxy ή η εντολή *torify*, που περιλαμβάνεται στη διανομή του Tor.[ Επιπλέον, οι εφαρμογές που χρησιμοποιούν SOCKS 5, το οποίο υποστηρίζει αιτήματα του διακομιστή μεσολάβησης βασισμένα στο όνομα, μπορούν να δρομολογήσουν τα αιτήματα DNS διαμέσω του Tor, εκτελώντας την αναζήτηση στον κόμβο εξόδου λαμβάνοντας έτσι τον ίδιο βαθμό ανωνυμίας όσο η υπόλοιπη κίνηση στο Tor.

Από την έκδοση 0.2.0.1 άλφα, το Tor περιλαμβάνει τον δικό του επιλυτή (resolver) DNS που αποστέλλει τα ερωτήματα στο mix network. Αυτό κλείνει τη διαρροή του DNS και μπορεί να αλληλεπιδρά με την υπηρεσία χαρτογράφησης του Tor ώστε να παρέχει πρόσβαση στις κρυμμένες υπηρεσίες του Tor (.onion) σε εφαρμογές που δεν αναγνωρίζουν το SOCKS.

## Κρυμμένες Υπηρεσίες

Το Tor μπορεί επίσης να προσφέρει ανωνυμοποίηση στους διακομιστές στη μορφή της υπηρεσίας απόκρυψης τοποθεσίας, η οποία αποτελείται από πελάτες του Tor ή κόμβους που τρέχουν ειδικά διαμορφωμένο λογισμικό διακομιστών. Αντί να αποκαλύπτουν τη διεύθυνση ΙΡ των διακομιστών(και άρα τη διαδικτυακή τοποθεσία τους) οι κρυμμένες υπηρεσίες είναι προσβάσιμες μέσω Tor-specific .onion pseudo top-level domain (TLD), ή αλλιώς pseudomain. Το δίκτυο Tor αντιλαμβάνεται το TLD και δρομολογεί δεδομένα από και προς τις κρυμμένες υπηρεσίες ανώνυμα. Εξαιτίας της έλλειψης εμπιστοσύνης σε μια δημόσια διεύθυνση, οι κρυμμένες υπηρεσίες μπορούν να φιλοξενηθούν πίσω από αναχώματα ασφαλείας ή μεταφραστές δικτυακών διευθύνσεων (network address translators, NAT). Ένας πελάτης Tor είναι απαραίτητος για την πρόσβαση σε μια κρυμμένη υπηρεσία.

Οι κρυμμένες υπηρεσίες έχουν αναπτυχθεί στο δίκτυο Tor από τις αρχές του 2004. Εκτός από τη βάση δεδομένων που αποθηκεύει τις εγγραφές στις κρυμμένες υπηρεσίες, το Tor είναι αποκεντρωμένο με βάση τον σχεδιασμό του. Δεν υπάρχει δηλαδή άμεσα αναγνώσιμη λίστα των κρυμμένων υπηρεσιών. Υπάρχει ένας αριθμός ανεξάρτητων κρυμμένων υπηρεσιών που εξυπηρετούν αυτό το σκοπό.

Επειδή οι υπηρεσίες απόκρυψης τοποθεσίας δεν χρησιμοποιούν κόμβους εξόδου, δεν υπόκεινται σε ωτακουστές των κόμβων αυτών. Υπάρχει παρ' όλα αυτά ένας αριθμός ζητημάτων ασφαλείας που περιλαμβάνονται στις κρυμμένες υπηρεσίες. Για παράδειγμα, υπηρεσίες που είναι προσβάσιμες μέσω των κρυμμένων υπηρεσιών του Tor και του δημόσιου διαδικτύου είναι επιρρεπείς σε επιθέσεις συσχετισμού (correlation attacks) κι επομένως όχι εντελώς κρυμμένες. Άλλες παγίδες περιλαμβάνουν κακοδιαμορφωμένες υπηρεσίες (π.χ. την αναγνώριση πληροφοριών που εμπεριέχονται προεπιλεγμένα σε μηνύματα σφάλματος των δικτυακών διακομιστών) ], στατιστικές χρόνου λειτουργίας και χρόνου μη λειτουργίας, επιθέσεις παρεμβολής και σφάλματα του χρήστη.

## Ασφάλεια Tor - Αδυναμίες και ευπάθειες
Όπως όλα τα τωρινά δίκτυα ανωνυμοποίησης χαμηλής λανθάνουσας, το Tor δεν μπορεί και δεν προσπαθεί να προστατεύσει τους χρήστες από την παρακολούθηση της κίνησης στα όρια του δικτύου Tor, όπως για παράδειγμα, η κίνηση που εισέρχεται και εξέρχεται από το δίκτυο. Ενώ το Tor παρέχει προστασία κατά της ανάλυσης κίνησης, δεν προλαμβάνει την επιβεβαίωση της κίνησης (ονομάζεται επίσης συσχέτιση από άκρο σε άκρο).
Τον Μάρτιο του 2011, ερευνητές μαζί με ανθρώπους από το Rocquencourt, το εθνικό ινστιτούτο έρευνας στην επιστήμη της πληροφορικής και του ελέγχου (Institut national de recherche en informatique et en automatique, INRIA), που βρίσκεται στη Γαλλία, κατέγραψαν μια επίθεση ικανή να αποκαλύψει τη διεύθυνση IP των χρηστών του BitTorrent στο δίκτυο Tor. Η επίθεση *bad apple* χρησιμοποιεί τον σχεδιασμό του Tor και εκμεταλλεύεται κάθε μη ασφαλή χρήση εφαρμογής για να συσχετίσει την ταυτόχρονη χρήση μιας ασφαλής εφαρμογής με τη διεύθυνση ΙΡ του συγκεκριμένου χρήστη Tor. Μία μέθοδος επίθεσης εξαρτάται από τον έλεγχο ενός κόμβο εξόδου ή την υποκλοπή της απάντησης ενός ανιχνευτή, ενώ μία δεύτερη μέθοδος επίθεσης βασίζεται εν μέρει στη στατιστική εκμετάλλευση της ανίχνευσης του κατανεμημένου πίνακα κατακερματισμού.

Τον Οκτώβριο του 2011 ερευνητική ομάδα από την Esiea, Γαλλική σχολή μηχανολόγων, δήλωσε ότι ανακάλυψε έναν τρόπο να υπονομεύσει το δίκτυο του Tor με το να αποκρυπτογραφήσει επικοινωνίες που το διαπερνούν.] Η τεχνική που περιέγραψαν απαιτεί τη δημιουργία ενός χάρτη των κόμβων του δικτύου Tor, τον έλεγχο του ενός τρίτου από αυτούς και στη συνέχεια να αποκτήσουν τα κλειδιά κρυπτογράφησής τους και τις πηγές του αλγόριθμου. Ύστερα, χρησιμοποιώντας τα γνωστά πλέον κλειδιά και τις πηγές θεωρούν ότι έχουν την ικανότητα να αποκρυπτογραφούν δύο από τα τρία στρώματα κρυπτογράφησης. Ισχυρίζονται ότι μπορούν να σπάσουν το τρίτο κλειδί με μια επίθεση που βασίζεται στη στατιστική ανάλυση. Για να επανακατευθύνουν την κίνηση του Tor στους κόμβους που ελέγχουν, χρησιμοποίησαν μεθόδους επίθεσης άρνησης εξυπηρέτησης και επίθεσης packet spinning. Καμία τεχνική ανάλυση δεν είναι ακόμα διαθέσιμη για το κοινό ή για του κατασκευαστές του Tor για περαιτέρω μελέτη. Ο Eric Filiol και η ομάδα του σκοπεύουν να κυκλοφορήσουν τις συγκεκριμένες πληροφορίες στο επερχόμενα συνέδρια PacSec και Hackers.

## Νομική διάσταση

Σύμφωνα με το CNet, η λειτουργία ανωνυμίας του Tor "υπερθεματίζεται από το Electronic Frontier Foundation και από άλλες ομάδες πολιτικών δικαιωμάτων ως μέθοδος ανθρώπων που δουλεύουν για τα ανθρώπινα δικαιώματα για να επικοινωνούν με δημοσιογράφους"..] Συστήματα για ανωνυμία, όπως το Tor, χρησιμοποιούνται κατά καιρούς για ζητήματα που θεωρούνται παράνομα σε μερικές χώρες. Για παράδειγμα, το Tor μπορεί να χρησιμοποιηθεί για την απόκτηση πρόσβασης σε λογοκριμένες πληροφορίες, για την οργάνωση πολιτικών δραστηριοτήτων, είτε για την παράκαμψη νόμων ενάντια στην κριτική κατά του κράτους. Παράλληλα, το Tor επιτρέπει ανώνυμες συκοφαντίες, αυθαίρετες διαρροές ευαίσθητων πληροφοριών, διανομή χωρίς άδεια υλικού με πνευματική ιδιοκτησία ή με παράνομο σεξουαλικό περιεχόμενο.

## Τεχνολογίες Ανωνυμοποίησης και Ενίσχυσης της Ιδιωτικότητας
*Freenet
*l2p
*Hordes
*Crowds
*Gap
*Anonymizer
*Onion routing
*LPWA
*P3P
*TRUSTe

## Υποσημειώσεις

## Εξωτερικοί σύνδεσμοι

* torproject.org
* Tor Project FAQ: LiveCD & Bundled Software 
* Tor Support Programs — Commonly used programs that integrate with Tor
* Core Onion — Introductory point to Tor services (Tor is required to access this site)
* Tor: The Onion Router – Introduction to Tor in How to Bypass Internet Censorship
* Tor Hidden Service (.onion) search

Κατηγορία:Ελεύθερο λογισμικό
Κατηγορία:Πρωτόκολλα του ίντερνετ
Κατηγορία:Πρότυπα διαδικτύου
Κατηγορία:Σκοτεινό διαδίκτυο
Κατηγορία:Δικτύωση υπολογιστών