Η κατάσταση. Γίνεται χαμός στο εξωτερικό. Εταιρίες και σύλλογοι προστασίας των πνευματικών δικαιωμάτων των δημιουργών μουσικής, ταινιών, software, που μέχρι τώρα έβαλλαν κατά των P2P δικτύων διαμοίρασης αρχείων, όπως το Napster, to Kazaa κλπ, αποφάσισαν ότι αυτό δεν είναι η καλύτερη τακτική. Όσα P2P δίκτυα και να κλείσεις, άλλα πιο δημοφιλή θα αναδυθούν από τις στάχτες. Έτσι λοιπόν, εδώ και καιρό, έχουν ένα νέο σχέδιο σε εφαρμογή. Τα εξώδικα αντί να τα λαμβάνουν εταιρίες και οργανισμοί που λειτουργούν P2P δίκτυα, τα λαμβάνουν απλοί χρήστες του δικτύου. Δεν κυνηγάνε τα μεγάλα ψάρια πλέον, κυνηγάνε τον απλό χρήστη, τον ανήμπορο να πληρώσει ακριβούς δικηγόρους (αν μπορούσε θα πλήρωνε για τα CD και τα DVD αντί να τα κατεβάζει από P2P δίκτυα) με απώτερο σκοπό τον εκφοβισμό των υπολοίπων χρηστών. Στην Ελλάδα δεν είχαμε κρούσματα ακόμα, αν και έχω πληροφορίες συγκεκριμένα τουλάχιστον για το κέντρο διαχείρισης δικτύου του Α.Π.Θ., που παρέχει στους φοιτητές του τεράστια εύρη γραμμών με το εξωτερικό, πολύ μεγαλύτερα από τις ταπεινές DSL μας, λαμβάνουν καθημερινά πολλά mail από το εξωτερικό με καταγγελίες για συγκεκριμένες IP διευθύνσεις εντός του ιδρύματος. Φαντάζομαι ότι κάτι παρόμοιο θα συμβαίνει και σε κάθε μεγάλο ελληνικό ISP. Το θέμα είναι ότι στην Ελλάδα οι νομικές πιέσεις δεν είναι ακόμα μεγάλες και έτσι ο έλληνας την «βγάζει καθαρή» και αμέριμνος συνεχίζει να έχει εγκατεστημένα κάποια απ’ τα uTorrent, Azureus, LimeWire, eMule, DC++ κλπ. Μέχρι ο κλητήρας να του χτυπήσει την πόρτα.
Πως Γίνονται οι Μηνύσεις; Ας πούμε ότι δουλεύω για την MPAA, την Motion Picture Association of America. Ας πούμε επίσης ότι τα αφεντικά μου έχουν τρελαθεί γιατί το “Χάρι Πότερ 13: Το σεντούκι με τα φράγκα” ενώ μόλις βγήκε στις αμερικάνικες αίθουσες, το έχει δει ήδη η μισή υφήλιος γιατί κυκλοφορεί στο διαδίκτυο εδώ και ένα μήνα. Τι κάνω; Πάω στο PirateBay.org, κάνω μια έρευνα για την ταινία, βρίσκω το κατάλληλο torrent με μπόλικα seeds, το κατεβάζω, ανοίγω το torrent που κατέβασα με το uTorrent μου, και αρχίζω να κατεβάζω και εγώ παράνομα την ταινία. Στο μεταξύ και μέχρι να κατέβει, βάζω το uTorrent να σώσει όλες τις διευθύνσεις IP με τις οποίες συνδέομαι για να κατεβάσω την ταινία. Αφού κατεβάσω την ταινία και επιβεβαιώσω ότι είναι όντως το παράνομο «Χάρι Πότερ», κάνω traceroute όλα τα IP και βρίσκω σε ποιους παρόχους internet ανήκουν. Ας πούμε ότι ένα IP ανήκει στον εικονικό ISP, fifthnet. Στέλνω ένα email στην fifthnet και τους λέω ότι την τάδε ώρα, ο συνδρομητής τους με IP την τάδε IP, είχε στην κατοχή του και ακόμα χειρότερα μοιραζόταν με το υπόλοιπο διαδίκτυο, παράνομο υλικό. Ζητάω από την fifthnet να μου δώσει τα στοιχεία του χρήστη που κατείχε την δεδομένη ώρα την δεδομένη IP. Η ευρωπαική νομοθεσία απαιτεί οι ISP να κρατάνε αρχείο που να δείχνει ποιος χρήστης είχε σε χρήση μια συγκεκριμένη IP, για τουλάχιστον 6 μήνες. Παίρνω τα στοιχεία, τα δίνω στο νομικό τμήμα της εταιρίας και το εξώδικο έχει πάρει το δρόμο του.
Στο δικαστήριο ζητάω τεράστιες ποινές, γιατί μην ξεχνάμε ότι όλα αυτά γίνονται για να φοβηθούν οι υπόλοιποι, δεν μπορώ να κάνω αυτή τη διαδικασία για κάθε ένα χρήστη P2P.
Στην Ελλάδα η διαδικασία κολλάει εκεί που η fifthnet πρέπει να «καρφώσει» τον χρήστη. Οι ISP δεν έχουν συμφέρον να καρφώνουν τους πελάτες τους γιατί με αυτόν τον τρόπο καταστρέφουν το όνομά τους και χάνουν πελάτες. Στην Αμερική μάλιστα υπάρχουν ISP που διαφημίζουν την εχεμύθειά τους. Προστατεύοντας τους πελάτες τους, κερδίζουν τεράστια εισροή νέων πελατών και συνεπώς χρήμα. Το χρήμα αυτό το χρειάζονται για να πληρώνουν τα πρόστιμα που τους επιβάλλουν τα δικαστήρια για την συγκάληψη του δράστη. Στην Ελλάδα αυτό φυσικά δεν χρειάζεται γιατί δεν υπάρχουν νομικές πιέσεις. Οι ελληνικοί ISP κάνουν προς το παρόν «τον κινέζο». Για πόσο καιρό όμως;
Τι έκαναν γι' αυτό τα P2P δίκτυα; Αρχικά τα P2P δίκτυα όπως το Napster είχαν κεντρικούς servers όπου ο χρήστης έπρεπε να συνδεθεί για να έρθει σε επαφή με άλλους χρήστες και να μοιραστούν όλοι τα αρχεία τους. Η δουλειά συλλόγων όπως της RIAA και της MPAA ήταν απλή τότε μιας και απαιτούσε την νομική επίθεση μόνο στους ιδιώτες που συντηρούσαν τους servers. Κλείνοντας τους servers εμπόδιζαν εκατομμύρια χρήστες να μοιράζονται αρχεία και περιόριζαν σημαντικά την πειρατεία.
Οι νομικές διαδικασίες όμως έπαιρναν καιρό και έτσι έπρεπε να βρουν κάτι πιο βολικό. Έτσι στην περίπτωση επίθεσης κατά του Kazaa κάναν κάτι πιο έξυπνο. Το Kazaa έδινε για πρώτη φορά την δυνατότητα να κατεβάζεις κάτι από πολλαπλούς χρήστες για να έχεις μεγαλύτερη ταχύτητα. Έτσι οι προστάτες των δικαιωμάτων πήρανε ισχυρούς υπολογιστές, με γρήγορες συνδέσεις και μεγάλες χωρητικότητες και ότι καινούργιο και δημοφιλές έβγαινε στο Kazaa το μοίραζαν και αυτοί. Μόνο που αυτό που μοίραζαν αυτοί δεν ήταν το σωστό αρχείο αλλά ένα αρχείο που περιείχε τυχαίο περιεχόμενο, απλά ταίριαζε ο τίτλος του αρχείου και το μέγεθος. Έτσι όταν κάποιος κατέβαζε π.χ. ένα νέο τραγούδι της Madonna για παράδειγμα, συνδεόταν με μπόλικους χρήστες, μεταξύ των οποίων και ο χρήστης με το ψεύτικο αρχείο. Έτσι όταν κατέβαινε το αρχείο, ένα σημαντικό μέρος του, αντί να περιέχει μουσική, περιείχε άσχετα δεδομένα κατεβασμένα από τον ψεύτικο χρήστη. Έτσι το αρχείο ήταν άχρηστο και μάλιστα αν ο χρήστης δεν το έσβηνε αμέσως, θα το μοιραζόταν και αυτός ελαττωματικό.
Το πρόβλημα αυτό αντιμετωπίστηκε από τους κατασκευαστές P2P δικτύων και προγραμμάτων με την χρήση του hashing. Δεν είναι σκοπός μας εδώ να αναλύσουμε τι ακριβώς κάνει το hashing, αρκεί να πούμε ότι εξαλείφει το πρόβλημα των ελαττωματικών αρχείων όταν κατεβάζουμε από πολλαπλές πηγές.
Με την έλευση του πρωτοκόλλου GNUtella, βρέθηκε και ο τρόπος ώστε να μην χρειάζεται κεντρικός server για να έρθουν σε επαφή οι χρήστες. Αν και το GNUtella δεν κέρδισε πολύ κόσμο, η ύπαρξη και μόνο ενός τρόπου στον οποίο δεν χρειάζεται κέντρο, έκανε τις εταιρίες να συνειδητοποιήσουν ότι είναι μάταιο να στοχεύουν τους ιδιώτες που συντηρούν τους κεντρικούς servers σε άλλα P2P δίκτυα, γιατί αυτό απλά θα ωθήσει τους χρήστες στην χρήση του GNUtella.
Έτσι ενώ σήμερα τα διασημότερα πρωτόκολλα όπως το BitTorrent και το DC++ χρειάζονται κεντρικούς server, είτε αυτός λέγεται tracker στην περίπτωση του BitTorrent, είτε λέγεται hub στην περίπτωση του DC++, οι εταιρίες προστασίας πνευματικών δικαιωμάτων δεν τους κυνηγάνε νομικά. Κυνηγάνε τους χρήστες με τον τρόπο που αναφέραμε παραπάνω.
Άκου τι σκεφτήκα! Η σκέψη για το πώς να κατασκευαστεί ή να μετατραπεί ένα υπάρχων P2P πρωτόκολλο ώστε να είναι αλώβητο σε μηνύσεις μου καρφώθηκε πριν αρκετό καιρό. Σκεφτόμουν ότι οι προσπάθειες όλων όσων θέλουν να αποφύγουν μηνύσεις περιστρέφονται γύρω από τρόπους να αποκρύψουν την IP τους, μια μέθοδος που ουσιαστικά απαιτεί την ύπαρξη ανώνυμων proxy servers το οποίο επαναφέρει το πρόβλημα εξάρτησης των χρηστών από servers οι οποίοι μπορούν κάλλιστα να κυνηγηθούν νομικά και να κλείσουν. Έτσι δεν το δεχόμουν σαν λύση και έψαχνα κάτι διαφορετικό.
Όπως οι περισσότεροι γνωρίζετε είμαι μαθηματικός και πριν μερικούς μήνες συζητούσα με ένα φίλο για μια μέθοδο επώνυμης δημοσκόπησης ευαίσθητων νομικά θεμάτων. Η μέθοδος στηρίζεται στην νομική αρχή της βάσιμης αμφιβολίας (reasonable doubt). Την διάβασα στο βιβλίο «Εισαγωγή στη Δειγματοληψία» του δόκτορα Νικόλαου Φαρμάκη πρόεδρου του τμήματος Στατιστικής του τμήματος Μαθηματικών του Α.Π.Θ. Τότε σκέφτηκα ότι η μέθοδος αυτή μπορεί να χρησιμοποιηθεί στη δημιουργία ενός P2P πρωτοκόλλου.
Θα περιγράψω πρώτα την μέθοδο δημοσκόπησης και μετά θα δούμε πως μπορεί μια ανάλογη μέθοδος να ενσωματωθεί σε ένα P2P πρωτόκολλο.
Η Μέθοδος Δημοσκόπησης. Ας υποθέσουμε πως θέλουμε να κάνουμε μια δημοσκόπηση σε ένα ευαίσθητο νομικά θέμα π.χ. να το ρωτήσουμε αν κλέβει την εφορία. Θέλουμε επίσης η δημοσκόπηση να είναι επώνυμη ώστε να έχει μεγάλη αξιοπιστία. Όπως καταλαβαίνετε υπάρχει πρόβλημα, γιατί το δείγμα μας θα έχει πρόβλημα να απαντήσει ειλικρινά στο ερώτημα φοβούμενο νομικές κυρώσεις. Η στατιστική μέθοδος που ακολουθείται είναι η εξής:
Πριν κάνουμε την ερώτηση στον κάθε ερωτώμενο, του δίνουμε μια κάλπη με 1000 αριθμημένους λαχνούς. Του ζητάμε να τραβήξει ένα λαχνό, να δει τον αριθμό και να ρίξει τον λαχνό πίσω στην κάλπη χωρίς να μας πει τι τράβηξε. Του ζητάμε στην συνέχεια αν τράβηξε οποιοδήποτε αριθμό από το 2 μέχρι το 1000 να μας απαντήσει ειλικρινά στην ερώτηση. Αν τράβηξε όμως το 1 του ζητάμε να απαντήσει πως κλέβει την εφορία.
Με αυτόν τον τρόπο στην έρευνά μας υπεισέρχεται λάθος 1 τοις χιλίοις, το οποίο μπορούμε να διορθώσουμε με μια μαθηματική μέθοδο που δεν μας αφορά αυτή τη στιγμή, αλλά άλλωστε δεν είναι και τόσο μεγάλο ώστε να επηρεάσει σημαντικά τα αποτελέσματα.
Ας πούμε ότι η έρευνα δείχνει ότι 90% των ανθρώπων κλέβουν την εφορία. Και ας υποθέσουμε ότι κάποιος εισαγγελέας ενοχλείται από το γεγονός αυτό και μας αναγκάζει νομικά να του δώσουμε όλα τα στοιχεία της δημοσκόπησης, μαζί με τα ονόματα του κάθε ερωτώμενου και την απάντηση του καθενός.
Το θέμα είναι ότι ενώ σε ένα δείγμα π.χ. 2000 ανθρώπων ο εισαγγελέας γνωρίζει ότι οι 1800 (90%) κλέβουν την εφορία δεν μπορεί να καταδικάσει κανέναν από τους επώνυμους 1800 ανθρώπους που απάντησαν θετικά, ότι δηλαδή, κλέβουν την εφορία. Γιατί καθένας από τους 1800 ανθρώπους μπορεί να ισχυριστεί στο δικαστήριο ότι τράβηξε τον λαχνό με τον αριθμό 1. Και ενώ όλο το δικαστήριο θα γνωρίζει ότι οι πιθανότητες λένε ότι σε 2000 άτομα περίπου 2 μόνο θα τραβήξουν τον αριθμό 1, δεν θα γνωρίζει ποιος από τους 1800 λέει αλήθεια ή ψέματα. Η αρχή της βάσιμης αμφιβολίας λέει ότι δεν μπορείς να καταδικάσεις έναν πιθανά αθώο ή ανάποδα έναν αμφίβολα ένοχο. Και ο καθένας έχει πιθανότητα 999/1000 να είναι ένοχος αλλά υπάρχει και πιθανότητα 1/1000 να είναι αθώος και οι καταδίκες δεν γίνονται όταν νομίζουμε την ενοχή αλλά όταν αυτή είναι αληθινή πέρα από βάσιμες αμφιβολίες (beyond reasonable doubt).
Εφαρμογή σε P2P [update 12/9]. Ας δούμε τώρα πως μπορεί να εφαρμοστεί η μέθοδος σε ένα P2P πρωτόκολλο. Θα προσπαθήσω να χρησιμοποιήσω το δυνατόν λιγότερους τεχνικούς όρους ώστε να είναι εύκολα κατανοητό.
Ας πάρουμε για παράδειγμα το πρωτόκολλο BitTorrent και ας δούμε περιληπτικά πως λειτουργεί.
Ο BitTorrent client όπως είναι σήμερα παίρνει από τον tracker μια λίστα με διευθύνσεις IP υπολογιστών που διαθέτουν το αρχείο που θέλει ο χρήστης να κατεβάσει (seeders). Επίσης παίρνει και μια λίστα με διευθύνσεις IP υπολογιστών που επιθυμούν και βρίσκονται ήδη στη διαδικασία να κατεβάσουν το εν λόγω αρχείο αλλά δεν το έχουν ολοκληρώσει (leachers). Επίσης ο client προμηθεύεται από τον tracker με μια λίστα από hashes για κάθε κομματάκι του συνολικού torrent. Στην συνέχεια ο client συνδέεται με όσους περισσότερους seeders και leachers είναι δυνατόν, ώστε να κατεβάζει μέρη του αρχείου από τους seeders, να κατεβάζει μέρη του αρχείου από του leachers που έχουν κατεβάσει ήδη μέρη του αρχείου από τους seeders, και για να δώσει σε άλλους leachers κομμάτια του αρχείου που αυτός κατέβασε ήδη αλλά αυτοί δεν έχουν λάβει ακόμα. Όσο ο client κατεβάζει είναι leacher, δηλαδή παίρνει μέρη του αρχείου από seeders και άλλους leachers σαν και αυτόν, αλλά και δίνει μέρη του αρχείου σε άλλους leachers όπως εκείνος παίρνει. Όταν ολοκληρωθεί το κατέβασμα, ο client γίνεται seeder, δεν κατεβάζει πλέον από κανέναν, δεν χρειάζεται να είναι συνδεμένος με άλλους seeders αλλά συνδέεται μόνο με leachers για να δώσει το αρχείο παραπέρα. Κατά την διάρκεια του downloading, όλα τα κομμάτια που λαμβάνει ο client από τους υπόλοιπους χρήστες ελέγχονται για την εγκυρότητα τους και για λάθη κατά την μεταφορά, σύμφωνα με τα hashes που έχει προμηθευτεί εξ αρχής ο client από τον tracker. Αν ένα κομμάτι βρεθεί ελαττωματικό γιατί περιέχει λανθασμένα δεδομένα απορρίπτεται ως hashfail.
Η όλη διαδικασία είναι διάφανη και ο χρήστης του client μπορεί να δει με ποιες διευθύνσεις IP συνδέεται και τι μέρος του αρχείου έχει ο καθένας. Αυτό είναι και το πρόβλημα.
Πως εφαρμόζουμε λοιπόν την μέθοδο στο πρωτόκολλο; Ο tracker μπορεί να δίνει μαζί με τις πραγματικές IP και την IP ενός χρήστη που δεν μοιράζεται το συγκεκριμένο αρχείο αλλά κάποια άλλα αρχεία. Όταν ο client ο δικός μας επικοινωνήσει με αυτήν την IP και ζητήσει το αρχείο που ο υπολογιστής στην άλλη άκρη της σύνδεσης δεν έχει, ο client εκεί θα αρχίσει να δημιουργεί και να στέλνει τυχαία δεδομένα. Ο δικός μας client θα λαμβάνει αλλά θα απορρίπτει φυσικά τα δεδομένα που θα λαμβάνει από τον συγκεκριμένο χρήστη ως hashfails. Όλες οι συνδέσεις μεταξύ όλων των χρηστών, seeders και leachers, θα είναι κωδικοποιημένες, μια επιλογή που υπάρχει ήδη στους BitTorrent clients.
Η λειτουργία του πρωτοκόλλου θα ανακοινωθεί και θα γίνει ευρέως γνωστή. Με αυτόν τον τρόπο ο κάθε χρήστης που θα εμφανίζεται σαν να έχει μέρος του παράνομου υλικού θα μπορεί να ισχυριστεί ότι η δικιά του IP τυχαία βρέθηκε στη λίστα και ότι ο ίδιος το μόνο που μοίραζε εκείνη τη στιγμή είναι η τελευταία έκδοση του Fedora Linux που είναι απολύτως νόμιμο.
Ο κυνηγός της εταιρίας προστασίας πνευματικών δικαιωμάτων, δεν θα μπορεί να βρει ποια IP είναι η ψεύτικη, γιατί για αυτόν όλες οι IP θα είναι ίδιες. Ο client συνδέεται πραγματικά με όλες τις IP, ακόμα και με την ψεύτικη και κατεβάζει από όλες τις IP ακόμα και από την ψεύτικη. Ούτε κάποιο πρόγραμμα sniffer μπορεί να τον βοηθήσει αφού όλα τα δεδομένα που θα λαμβάνει πριν φτάσουν στον client θα είναι κωδικοποιημένα, οπότε δεν θα μπορεί να ξεχωρίσει ποιοι στέλνουν πραγματικά δεδομένα και ποιος όχι.
Το τίμημα φυσικά θα είναι ένα ποσοστό bandwidth που θα πηγαίνει χαμένο, για την επικοινωνία με τον ψεύτικο κάτοχο του torrent.
Η υλοποίηση στο πρωτόκολλο BitTorrent δίνεται ενδεικτικά, και δεν είναι και η καλύτερη δυνατή γιατί ο uploader του torrent συνεχίζει να μένει εκτεθειμένος, παρόλα αυτά η εφαρμογή σε ένα δίκτυο σαν αυτό του GNUtella που δεν απαιτεί κεντρικούς servers θα καθιστούσε το δίκτυο τελείως αλεξίσφαιρο από μηνύσεις.
2 σχόλια:
Διακρίνω 2 σκέλη στην εφαρμογή.
Το πρώτο το νομικό, και το δεύτερο το τεχνικό (προγραμματιστικό).
Άρα θέλουμε και 2 απαντήσεις απο 2 "ειδικούς" αντίστοιχα, για την υλοποιησιμότητα.
Και "ειδικοί" μπορούν να βρεθούν στα Fora :)
Δυστυχώς δεν γνωρίζουμε κάποιο εξειδικευμένο forum ούτε για προγραμματισμό μήτε για νομικά θέματα :)
Δημοσίευση σχολίου