Οδηγός εγκατάστασης και χρήσης του Pidgin με το OTR plugin
Οδηγός εγκατάστασης και χρήσης του Pidgin με το OTR plugin | |
---|---|
Εφαρμογή |
Pidgin, OTR |
Στόχος |
Εμπιστευτικότητα, ακεραιότητα, πιστοποίηση σε instant messaging συνομιλίες |
Πλατφόρμες |
Linux, Windows |
Επίπεδο δυσκολίας |
Εύκολο |
Χρόνος ολοκλήρωσης |
10-15 λεπτά |
Το pidgin είναι ένας instant messenger client ελεύθερου λογισμικού που υποστηρίζει πληθώρα πρωτοκόλλων (ενδεικτικά msn/windows live messenger,aim,google talk,irc,xmpp,yahoo! κα) και είναι επίσης cross-platform.
Θα χρησιμοποιήσουμε επίσης το OTR plugin (πρόσθετο) για τον Pidgin, το οποίο του παρέχει τη δυνατότητα χρήσης του πρωτοκόλλου OTR.
Αν σε μία συζήτηση instant messaging και τα 2 μέρη έχουν υποστήριξη και χρησιμοποιούν το OTR πρωτόκολλο, η συζήτηση θα είναι κρυπτογραφημένη.
Περιεχόμενα
Τι μας προσφέρει το OTR[επεξεργασία]
Με το OTR plugin δίνεται η δυνατότητα χρήσης του πρωτοκόλλου OTR στον im client Pidgin. Το κρυπτογραφικό πρωτόκολλο Off-the-record Messaging προσφέρει:
- Εμπιστευτικότητα (confidentiality): Όλα τα μηνύματα που ανταλλάσσονται μεταξύ της Alice και του Bob κρυπτογραφούνται και αποκρυπτογραφούνται στους υπολογιστές των δύο, και άρα δε μπορούν να αναγνωστούν από την Eve στη διαδρομή.
- Πιστοποίηση (authentication): H Alice και ο Bob μπορούν να πιστοποιήσουν ο ένας την ταυτότητα του άλλου είτε ελέγχοντας τα fingerprints των δημόσιων κλειδιών τους μέσω κάποιου άλλου καναλιού (πχ από τηλέφωνο), είτε πολύ πιο απλά μέσω μιας κοινής μυστικής φράσης, αποφεύγοντας έτσι μία Man in the middle attack((Man in the middle attack)) από την Eve ή την Mallory.
- Perfect Forward Secrecy: Τα μηνύματα που ανταλλάσσονται κρυπτογραφούνται με προσωρινά κλειδιά που συμφωνούνται αυτόματα με έναν αλγόριθμο ανταλλαγής κλειδιών. Σε περίπτωση που κάποιος τρίτος αποκτήσει το ιδιωτικό κλειδί του χρήστη, δε θα μπορεί να διαβάσει κάποια προηγούμενη συζήτηση.
- Αμφισβητήσιμη Πιστοποίηση (deniable authentication): Τα μηνύματα σε μία συζήτηση δεν έχουν Ψηφιακές υπογραφές και έτσι μετά το πέρας μίας συζήτησης, δεν μπορεί να αποδειχτεί ότι ένα συγκεκριμένο μήνυμα ήρθε από ένα συγκεκριμένο άτομο. Κατά τη διάρκεια της συζήτησης όμως, ο παραλήπτης μπορεί να είναι σίγουρος για την ταυτότητα του αποστολέα.
Έτσι όλα τα γραπτά μηνύματα που ανταλλάσσουν η Alice και ο Bob είναι κρυπτογραφημένα και δε μπορούν να αναγνωστούν από κάποιον τρίτο. Επιπλέον μπορούν να είναι σίγουροι πως όντως μιλάνε ο ένας με τον άλλον με τις διαδικασίες πιστοποιήσης που προσφέρει το OTR.
Εγκατάσταση[επεξεργασία]
Windows[επεξεργασία]
Αν χρησιμοποιούμε windows, κατεβάζουμε το pidgin [1] και στη συνέχεια το OTR plugin [2] (στην μεσαία στήλη, με τίτλο "OTR plugin for Pidgin" πατάμε το 2ο link κάτω από τον τίτλο Windows). Τρέχουμε και τα δύο εκτελέσιμα και ακολουθούμε τα βήματα της εγκατάστασης, χωρίς κάποια ιδιαίτερη επιλογή. Εφόσον η εγκατάσταση ολοκληρωθεί χωρίς πρόβλημα, από το μενού έναρξη ή από κάποια συντόμευση στην επιφάνεια εργασίας, εκκινούμε το πρόγραμμα pidgin.
Linux[επεξεργασία]
Αν χρησιμοποιούμε linux κατεβάζουμε και εγκαθιστούμε τα ίδια πακέτα προγραμμάτων. Αυτό γίνεται είτε χρησιμοποιώντας τον διαχειριστή πακέτων-προγραμμάτων της διανομής μας (πχ. Synaptic Package Manager σε Debian, Ubuntu, Mint κα) είτε δίνοντας τις κατάλληλες εντολές σε ένα terminal(κονσόλα).Αφού εγκαταστήσουμε σωστά το λογισμικό μας, εκκινούμε το pidgin από το menu εφαρμογών για να ενεργοποιήσουμε το plugin.
Debian, Ubuntu, Mint[επεξεργασία]
ανοίγουμε terminal και δίνουμε
sudo su
αν είμαστε σε Ubuntu, Mint
ή
su
σε Debian, για να πάρουμε δικαιώματα υπερ-χρήστη.
Στη συνέχεια
apt-get update && apt-get install pidgin pidgin-otr
Mac OS[επεξεργασία]
Από την ιστοσελίδα του pidgin [3] μπορεί κανείς να κατεβάσει τον πηγαίο κώδικα του προγράμματος. Εκεί θα βρει και την εξής ανακοίνωση:
"Για μία πιο γνήσια εμπειρία Mac OS X, μπορεί να σας ενδιαφέρει να χρησιμοποιήσετε τον Adium αντί του Pidgin, που χρησιμοποιεί τη βιβλιοθήκη libpurple (τον πυρήνα του pidgin), για μεγάλο μέρος της υποστήριξης πρωτοκόλλων.
Για να χρησιμοποιήσετε τον pidgin στα Mac OS X, μπορεί να βρείτε τα πακέτα που προσφέρονται από το Fink [4] και το Macports[5] πιο βολικά από το να κάνετε compile τον πηγαίο κώδικα."
Χρήση[επεξεργασία]
Στη χρήση δεν υπάρχουν διαφορές ανάμεσα σε windows και linux χρήστες.
Βασικά του Pidgin και ενεργοποίηση του OTR[επεξεργασία]
Προσθήκη λογαριασμών[επεξεργασία]
Τρέχοντας την εφαρμογή pidgin, από κάποια συντόμευση ή menu, αρχικά δημιουργούμε έναν ή περισσότερους λογαριασμούς που θα χρησιμοποιούμε. Την πρώτη φορά που θα εκτελέσουμε το pidgin θα μας ανοίξει αυτόματα ένα παράθυρο για προσθήκη λογαριασμών. Το παράθυρο προσθήκης λογαριασμών μπορούμε να το βρούμε και από το menu επιλέγοντας Accounts > Manage Accounts > Add.
Στο παράθυρο που μας ανοίγεται επιλέγουμε κάποιες βασικές ρυθμίσεις για τον λογαριασμό instant-messaging που διατηρούμε. Για παράδειγμα, για να βάλουμε τον λογαριασμό μας στο Msn, θα επιλέξουμε το πρωτόκολλο MSN από τη λίστα, θα προσθέσουμε το username μας, όπως tade @ hotmail.com και θα βαλουμε και τον κωδικό μας. Αν χρησιμοποιούμε άλλη υπηρεσία IM, απλώς επιλέγουμε το αντίστοιχο πρωτόκολλο, όπως Jabber, Google Talk κοκ. Μπορούμε στο pidgin να ρυθμίσουμε και πολλαπλούς λογαριασμούς (μπορούμε πχ να έχουμε 2 διαφορετικούς λογαριασμούς windows live messenger και ένα λογαριασμό jabber).
XMPP (Jabber)[επεξεργασία]
Η παρακάτω παράγραφος αναφέρεται στη χρήση του πρωτοκόλλου XMPP. Αν δεν επιθυμείτε να χρησιμοποιήσετε αυτό το πρωτόκολλο και προτιμάτε κάποιο άλλο, προχωρήστε στην #Ενεργοποίηση λογαριασμού. Συνίσταται ωστόσο η χρήση XMPP.
Όπως αναφέραμε στην αρχή, το Pidgin υποστηρίζει μία πληθώρα πρωτοκόλλων instant messaging. Ο περισσότερος κόσμος στην Ελλάδα γνωρίζει και χρησιμοποιεί το Skype το οποίο είναι ένα κλειστό και ανασφαλές πρωτόκολλο/υπηρεσία της Microsoft.
Εμείς προτείνουμε να γίνεται χρήση του XMPP (Extensible Messaging and Presence Protocol). Το XMPP (γνωστό και ως Jabber) είναι ένα αναγνωρισμένο από τον IETF ανοιχτό πρότυπο. Αυτό σημαίνει πως οποιοσδήποτε μπορεί να στήσει μία υπηρεσία IM που να χρησιμοποιεί το XMPP. Το XMPP θυμίζει στη λειτουργία του τα emails: διαφορετικοί χρήστες μπορούν να έχουν λογαριασμούς σε διαφορετικούς servers και να επικοινωνούν μεταξύ τους. Τα αναγνωριστικά των χρηστών (JabberID ή JID) επίσης έχουν τη μορφή των email δηλαδή username@server.
Υπάρχουν πολλοί xmpp servers, δωρεάν και επί πληρωμή, εμπορικοί και μη. Υπηρεσίες XMPP προσφέρουν και διάφοροι κινηματικοί πάροχοι όπως Riseup [6], Autistici [7] και Systemli [8]. Αν δεν έχετε Riseup ή Autistici λογαριασμό, προτείνουμε προς χρήση το jabber.systemli.org το οποίο έχει εύκολη και ανοιχτή δημιουργία νέων λογαριασμών. Η δημιουργία λογαριασμού μέσω του pidgin γίνεται εύκολα επιλέγοντας create this new account, όπως φαίνεται στην εικόνα.
Προσθήκη λογαριασμού xmpp (jabber). Το xmpp είναι ένα ανοιχτό πρωτόκολλο instant messaging. Εδώ χρησιμοποιούμε ως server τον jabber.ccc.de. Αν δεν έχουμε λογαριασμό στο συγκεκριμένο server, μπορούμε να τον δημιουργήσουμε πανεύκολα, επιλέγοντας την επιλογή create this new account, όπως φαίνεται στην εικόνα.
Ενεργοποίηση λογαριασμού[επεξεργασία]
Για να εισέλθουμε στην υπηρεσία, πάλι από το menu Accounts, ενεργοποιούμε (enable) τον λογαριασμό. Καλώς εχόντων των πραγμάτων, θα εμφανιστεί η λίστα των επαφών μας.
Ενεργοποίηση OTR[επεξεργασία]
Τέλος, ενεργοποιούμε και το OTR plugin του pidgin. Στο menu στο πάνω μέρος του παραθύρου, επιλέγουμε tools > plugins, βρίσκουμε στην λίστα το plugin μας Off-the-Record Messaging, βάζουμε ένα tick στα αριστερά και πατάμε close.
Κρυπτογραφημένη συνομιλία με OTR[επεξεργασία]
Ανοίγοντας ένα παράθυρο συνομιλίας με μια επαφή μας, παρατηρούμε ότι στο δεξί μέρος έχει προστεθεί το κουμπί κατάστασης του OTR. Το κουμπί αυτό μας ενημερώνει για την κατάσταση της συνομιλίας μας καθώς επίσης μας παρέχει κάποιες δυνατότητες ελέγχου του OTR. Εφόσον δεν έχουμε χρησιμοποιήσει προηγουμένως το OTR σε συνομιλία με την επαφή μας, το κουμπί θα λέει Not Private. Αυτό σημαίνει ότι η συνομιλία μας δεν είναι κρυπτογραφημένη, δηλαδή το plugin είναι ανενεργό.
Για να περάσουμε σε κατάσταση κρυπτογραφημένης συνομιλίας με την επαφή μας, πατάμε το κουμπί του OTR και επιλέγουμε Start Private Conversation. Πατώντας το κουμπί, το OTR στο παρασκήνιο θα δημιουργήσει ένα ζεύγος κλειδιών για ασύμμετρη κρυπτογράφηση. Ταυτόχρονα θα σταλεί στην επαφή μας αίτηση για κρυπτογραφημένη συνομιλία. Είναι απαραίτητο και η επαφή μας να χρησιμοποιεί το OTR plugin.
Καλώς εχόντων των πραγμάτων η ένδειξη κατάστασης θα γυρίσει σε Unverified. Αυτό με απλά λόγια σημαίνει ότι η συνομιλία είναι μεν κρυπτογραφημένη, δεν είναι όμως βέβαιο ότι δεν παρεμβάλλεται κάποιος τρίτος στην επικοινωνία μας. Το φαινόμενο να παρεμβάλλεται σε ανταλλαγή δεδομενών ένας τρίτος εν άγνοια των 2 νόμιμων πλευρών λέγεται επίθεση τύπου άνθρωπος-στη-μέση(Man in the Middle Attack).
Πιστοποίηση με OTR[επεξεργασία]
Ευτυχώς οι δημιουργοί του OTR, έχουν υλοποιήσει μεθόδους για να σιγουρευτούμε ότι η συνομιλία μας, δεν υφίσταται επίθεση man in the middle. Κάνοντας ξανά κλικ στο κουμπί του OTR η 3η επιλογή που έχουμε λέγεται Authenticate Buddy. Μπορούμε λοιπόν να κάνουμε ένα test πιστοποίησης, εξασφαλίζοντας ότι αυτός που μιλάμε είναι όντως η επαφή μας και δεν μεσολαβεί κάποιος τρίτος. Στο παράθυρο που ανοίγει έχουμε 3 επιλογές στο dropdown menu. Θα εστιάσουμε στην 2η και την 3η.
Η 2η επιλογή έχει τίτλο Shared Secret. Για να αυθεντικοποιήσουμε την επαφή μας, επιλέγουμε ένα μυστικό(πχ μια λέξη) την οποία γνωρίζουμε μόνο εμείς κι η επαφή μας. Είναι σημαντικό να μην πληκτρολογήσουμε το μυστικό στο παράθυρο επικοινωνίας του pidgin, ή σε κάποιον άλλο ανασφαλή δίαυλο. Σε περίπτωση που δεν έχουμε προσυμφωνήσει ένα κοινό μυστικό με την επαφή μας με φυσική επαφή, μπορούμε στο παράθυρο επικοινωνίας του pidgin, στην ακόμα Unverified συνομιλία μας, να το περιγράψουμε περιφραστικά. Παράδειγμα : ενημερώνουμε την επαφή μας πως το shared secret που θα εισάγουμε είναι το όνομα της όμορφης κοπέλας που γνωρίσαμε πριν 2 καλοκαίρια στη σαμοθράκη.
Εισάγουμε λοιπόν το κοινό μυστικό και πατάμε authenticate. Την ίδια στιγμή στο πρόγραμμα της επαφής μας, θα ανοίξει ένα παράθυρο που θα ζητάει το shared secret. Σε περίπτωση που η επαφή μας εισάγει σωστά τη φράση, εγκαθιδρύεται κρυπτογραφημένη και αυθεντικοποιημένη επικοινωνία με την επαφή μας, και η κατάσταση γυρνάει σε Private με πράσινα γράμματα.
Η 3η επιλογή είναι κάπως πιο απλοϊκή αλλά εξίσου αξιόπιστη. Επιλέγοντας Manual Fingerprint Verification, μας εμφανίζει δύο ακολουθίες αριθμών και γραμμάτων, μια για τον δικό μας λογαριασμό και μια για την επαφή μας. Οι ακολουθίες αυτές είναι τα αποτυπώματα(fingerprints) των δημοσίων κλειδιών που το OTR παρήγαγε και αντάλλαξε για την κρυπτογράφηση της επικοινωνίας. Μην ξεχνάμε πως το OTR υλοποιεί ασύμμετρη κρυπτογράφηση και πως με κάποιο τρόπο χρειάζεται να επαληθεύσουμε ότι το δημόσιο κλειδί που πρόκειται να χρησιμοποιήσουμε ανήκει όντως στην επαφή μας. Μπορούμε από κάποιον άλλο δίαυλο επικοινωνίας, για παράδειγμα τηλέφωνο (αφού ακούμε και αναγνωρίζουμε την φωνή της επαφής μας) να διαβάσουμε τα αποτυπώματα των κλειδιών μας και τέλος να επιλέξουμε I have verified that....
Ρυθμίσεις του OTR plugin[επεξεργασία]
Γενικές ρυθμίσεις[επεξεργασία]
Στο menu στο πάνω μέρος του παραθύρου του pidgin, πάμε tools > plugins και βρίσκουμε το plugin Off-the-record Messaging, το οποίο πρέπει να είναι ήδη ενεργοποιημένο. Το επιλέγουμε και πατάμε Configure Plugin. Από το παράθυρο που ανοίγει μπορούμε να αλλάξουμε τις ρυθμίσεις του OTR plugin.
Μας ενδιαφέρει να είναι ενεργοποιημένες οι επιλογές:
- Enable private messaging
- Automatically initiate private messaging
Η επιλογή require private messaging είναι προτιμότερο να μην είναι τσεκαρισμένη, διότι σε αντίθετη περίπτωση το pidgin θα κάνει μόνο κρυπτογραφημένες συζητήσεις και, στην περίπτωση που κάποια επαφή μας δεν έχει OTR, δε θα μπορούμε να επικοινωνήσουμε με την επαφή αυτή.
Χρήσιμο είναι επίσης να τσεκάρουμε το don't log OTR conversations, ώστε να μην κρατάται στον υπολογιστή μας ιστορικό από τις κρυπτογραφημένες συζητήσεις μας, το οποίο θα μπορούσε κάποιος αργότερα να διαβάσει, αν αποκτήσει πρόσβαση στον υπολογιστή μας.
Ρυθμίσεις ανά επαφή[επεξεργασία]
Στο κεντρικό παράθυρο του pidgin, όπου και βλέπουμε τη λίστα επαφών μας (buddy list), μπορούμε να κάνουμε δεξί κλικ σε μία επαφή και από το drop-down menu να επιλέξουμε OTR settings. Το παράθυρο που μας ανοίγει έχει τις ίδιες επιλογές με αυτές που είδαμε στις γενικές ρυθμίσεις παραπάνω. Άρα πέραν από τις γενικές ρυθμίσεις που ισχύουν για όλους, μπορούμε να ρυθμίσουμε ξεχωριστά συγκεκριμένες επαφές. Για παράδειγμα, σε επαφές που ξέρουμε ότι έχουν OTR και με τις οποίες θέλουμε να επικοινωνούμε μόνο με κρυπτογράφηση, μπορούμε να τσεκάρουμε το require private messaging.