ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!
Το Mozilla Foundation το έχετε ακουστά φαντάζομαι. Αν σας λένε κάτι ο Firefox ή ο Thunderbird, τότε έχετε χρησιμοποιήσει κι εσείς κάποια από τα, ανοιχτού κώδικα, έργα του.
Η φιλοσοφία του είναι απλή και πολύ ξεκάθαρη: Open Web. Ανοιχτό και ελεύθερο (για τους χρήστες) διαδίκτυο. Χωρίς περιορισμούς, χωρίς – παρακολούθηση – κλειστό κώδικα – συλλογή προσωπικών δεδομένων…και όλα τα συναφή. Πόσο όμως μπορείς να μείνεις «πιστός» στη φιλοσοφία που ο ίδιος μεταδίδεις, όταν ολόκληρο το Web πάει προς την αντίθετη κατεύθυνση;
DRM, W3C EME specification και CDM
Το DRM(Digital Rights Management), με λίγα λόγια, σε περιορίζει ως προς τα πνευματικά δικαιώματα του περιεχομένου. Για παράδειγμα, ένα τραγούδι ή βίντεο που εσύ θέλεις να αγοράσεις, μέσω του DRM, σου απαγορεύει να το μεταφέρεις σε άλλη συσκευή. Σε μια μόνο συσκευή μπορεί να αναπαραχθεί. Στην ουσία, ο ιδιοκτήτης του περιεχομένου καθορίζει στο πως εσύ θα μοιράζεσαι το περιεχόμενο που εκείνος έφτιαξε.
Προσφάτως (το 2013) η Google μαζί με την Microsoft, συνεργάστηκαν για να φτιάξουν ένα extension ονόματι W3C EME(Encrypted Media Extensions) και να έχουν πλέον την διαχείριση του DRM «built-in» στο Web. Στην συνεργασία συμμετείχαν και προμηθευτές τέτοιου περιεχομένου(DRM), όπως το Netflix. Μέχρι στιγμής την διαχείριση του DRM την έκανε πρόσθετο λογισμικό όπως ο γνωστός σε όλους flash player της Adobe. Αυτή η προδιαγραφή (το W3C EME) το μόνο που κάνει είναι να καθορίσει το πως θα παιχτεί τέτοιο περιεχόμενο, φορτώνοντας ένα module το οποίο ονομάζουν CDM(Content Decryption Module). Αυτό το module είναι «από την φύση» του κλειστού κώδικα και δεν θα μπορούσε άλλωστε να είναι ανοιχτού.
Πως λειτουργεί:
Αυτό που κάνει είναι το λεγόμενο fingerprinting. Μαζεύει πληροφορίες για την συσκευή του χρήστη και τις στέλνει στους εκάστοτε servers. Λόγω της «φύσης» του κλειστού κώδικα βέβαια, δεν γνωρίζει κανείς πόσες πληροφορίες συλλέγει, που ακριβώς τις στέλνει και αν παραβιάζει προσωπικά δεδομένα ή οτιδήποτε άλλο.
Αφού συλλέξει τις απαραίτητες πληροφορίες, «κλειδώνει» κατά κάποιον τρόπο το περιεχόμενο έτσι ώστε ο χρήστης να μην μπορεί να το μεταφέρει και να το προβάλει σε άλλες συσκευές. Καταλαβαίνουμε πως ένα τέτοιο module δεν θα μπορούσε να είναι ανοιχτού κώδικα γιατί θα ήταν η χαρά του cracker.
Πως θα ενσωματωθεί στον Firefox
Το Mozilla Foundation αποφάσισε να ξεκινήσει την ενσωμάτωσή του από τον Firefox στους υπολογιστές(Desktop). Αυτό που θα γίνει (και είναι ας το πούμε μια ανακούφιση), δεν θα είναι η ενσωμάτωση του κλειστού κώδικα module (CDM) στον Firefox, αλλά η επιλογή θα αφήνεται στον ίδιο τον χρήστη.
Επιπλέον, για να προστατευθεί ο χρήστης από την συλλογή μη επιτρεπομένων δεδομένων (προσωπικά δεδομένα..κλπ) και να διασφαλιστεί πως το CDM θα συλλέγει μόνον τα απαραίτητα, ο Firefox θα διαχειρίζεται το CDM μέσω ενός sandbox.
Αυτό το sandbox θα είναι ανοιχτού κώδικα έτσι ώστε οι εταιρίες, ιδιοκτήτες περιεχομένου..και λοιποί να μπορούν να το εξετάσουν και να δουν πως δεν παραβιάζει τα πνευματικά τους δικαιώματα (DRM) και πως κάνει σωστά την δουλειά του.
Το sandbox θα διασφαλίζει πως δεν θα υπάρχει διαρροή άλλων δεδομένων, πέραν αυτών που χρειάζονται για να εξασφαλιστεί η προστασία του DRM. Με αυτόν τον τρόπο, το Mozilla Foundation πιστεύει ότι, ο Firefox δεν θα είναι τόσο ευάλωτος στην διαρροή προσωπικών δεδομένων και θα επιστρέφει τον έλεγχο στον χρήστη, όσο αυτό είναι επιτρεπτό.
Έπραξε σωστά το Mozilla Foundation;
Βλέποντας τους δυο μεγαλύτερους «παίχτες» του διαδικτύου (Google & Microsoft) να συνεργάζονται πάνω στο W3C EME και όλοι οι ιδιοκτήτες περιεχομένου να κινούνται πλέον προς αυτή την κατεύθυνση, δεν νομίζω πως έμεναν πολλές επιλογές.
Ή οι χρήστες του Firefox δεν θα είχαν πρόσβαση σε περιεχόμενο DRM ή κάτι έπρεπε να γίνει για να έχουν. Προκειμένου να χάσει ένα μεγάλο ποσοστό χρηστών, οι οποίοι θα επέλεγαν έναν άλλο περιηγητή για τα αγαπημένα τους Netflix, Amazon Video..κλπ, προτίμησαν να δώσουν στους χρήστες την δυνατότητα παρακολούθησης τέτοιου περιεχομένου.
Σωστό ή λάθος; Προσωπικά δεν ξέρω, αλλά η προσέγγιση που έκανε το Mozilla Foundation σε αυτό το W3C EME specifiation ήταν νομίζω καλή(εννοώ με το open source sandbox).
Πιστεύω ότι το Mozilla Foundation δεν έσφαλε, όσο γράφουν ορισμένοι, σε αυτή την περίπτωση. Δεν μπορούσε να κάνει κι αλλιώς (που λένε). Επίσης, όλοι οι σθεναρά διαμαρτυρόμενοι (έχω διαβάσει κάτι εξωφρενικά άρθρα διαμαρτυρίας) που χρησιμοποιείτε Facebookια, Google Plus, Twitter, Flash Player και όλων των ειδών κλειστό κώδικα, ε.. ε.. , ηρεμήστε λίγο.
Δικαίωμα διαμαρτυρίας έχουμε όλοι, διότι αντί να βαδίζουμε σε ένα πιο ανοιχτό Web, βλέπουμε να μας επιβάλλουν (τρόπο τινά) το αντίθετο. Αλλά μην το παρατραβάμε κιόλας.
Το μόνο που θα κατάφερνε, αν δεν ενσωμάτωνε την υποστήριξη DRM, θα ήταν να χάσει ένα μεγάλο ποσοστό χρηστών, κυρίως από την Αμερική (Netflix..κλπ). Δεν υποστηρίζω ότι είναι καλό αυτό που έγινε, αλλά πρέπει να καταλάβουμε ότι μερικές φορές δεν μπορεί να γίνει αλλιώς.
Ελπίζω πως θα συνεχιστεί η προσπάθεια για ένα πιο Open Web, όπως πιστεύω ότι λίγοι είναι οι οργανισμοί(Mozilla included) που έχουν αποδείξει εμπράκτως (τόσα χρόνια) ότι εμμένουν σε αυτές τις απόψεις.
Αν ο χρήστης έχει τις ελευθερίες του Ελεύθερου Λογισμικού είναι τόσο απλό. Ο μόνος τρόπος να λειτουργήσει το DRM είναι σε κλειστές συσκευές ή cloud υπηρεσίες που, άσχετα με το αν βασίζονται ή χρησιμοποιούν ανοικτό κώδικα, αφαιρούν κάθε δικαίωμα παρέμβασης του χρήστη στο λογισμικό που τρέχει η συσκευή. Π.χ. Tablet/Smartphone Συσκευές με android, ubuntu touch ή firefox os, με τα store τους, χωρίς εύκολο τρόπο να παρέμβει ο χρήστης στο λογισμικό ή στις εφαρμογές, και με την εκγγύηση να σπάει και τα DRM modules να μην παίζουν αν ανιχνευτεί ότι η συσκευή τρέχει διαφορετικο λειτουργικό από αυτό με το οποίο ήρθε από τον κατασκευαστή. Κοινώς, δεν νομίζω ότι θα δούμε ποτέ CDM να δέχεται να συνεργαστεί με συσκευή που τρέχει κάποια standard ανοικτή διανομή linux, *bsd, linux from scratch ή οτιδήποτε άλλο μπορεί να τρέξει firefox αλλά δεν έχει εγκριθεί (τόσο ως προς το λογισμικό, όσο και ως προς το ποιος ελέγχει την ανάπτυξή του) από τους πάροχους περιεχομένου.
Δεν νομίζω να γίνεται τόσο εύκολα αυτό, αλλά θα το δούμε στην πορεία. Οι του DRM σίγουρα θα ελέγξουν το sandbox για να δουν πως δουλεύει και να βρουν αδυναμίες.
Είναι μια κακή ιδέα, απλά και μόνο επειδή είναι αδύνατο να λειτουργήσει. Γράφεις:
«Μαζεύει πληροφορίες για την συσκευή του χρήστη και τις στέλνει στους εκάστοτε servers. Λόγω της «φύσης» του κλειστού κώδικα βέβαια, δεν γνωρίζει κανείς πόσες πληροφορίες συλλέγει, που ακριβώς τις στέλνει και αν παραβιάζει προσωπικά δεδομένα ή οτιδήποτε άλλο.
Αφού συλλέξει τις απαραίτητες πληροφορίες, «κλειδώνει» κατά κάποιον τρόπο το περιεχόμενο έτσι ώστε ο χρήστης να μην μπορεί να το μεταφέρει και να το προβάλει σε άλλες συσκευές. Καταλαβαίνουμε πως ένα τέτοιο module δεν θα μπορούσε να είναι ανοιχτού κώδικα γιατί θα ήταν η χαρά του cracker. »
«Επιπλέον, για να προστατευθεί ο χρήστης από την συλλογή μη επιτρεπομένων δεδομένων (προσωπικά δεδομένα..κλπ) και να διασφαλιστεί πως το CDM θα συλλέγει μόνον τα απαραίτητα, ο Firefox θα διαχειρίζεται το CDM μέσω ενός sandbox.
Αυτό το sandbox θα είναι ανοιχτού κώδικα έτσι ώστε οι εταιρίες, ιδιοκτήτες περιεχομένου..και λοιποί να μπορούν να το εξετάσουν και να δουν πως δεν παραβιάζει τα πνευματικά τους δικαιώματα (DRM) και πως κάνει σωστά την δουλειά του.
Το sandbox θα διασφαλίζει πως δεν θα υπάρχει διαρροή άλλων δεδομένων, πέραν αυτών που χρειάζονται για να εξασφαλιστεί η προστασία του DRM. »
Οι παρπάνω 2 παράγραφοι ακυρώνουν η μια την άλλη: Το να έχω τον κώδικα του sandbox και να ξέρω τι πληροφορίες περνά στο CDM, σημαίνει ότι ξέρω το input στο οποίο βασίζεται το CDM προκειμένου να αποφασίσει αν επιτρέπεται η αναπαραγωγή ή όχι. Από κει και πέρα, το να παραποιήσω αυτό το input έτσι ώστε το CDM να νομίζει ότι είναι στη σωστή συσκευή, είναι πολύ εύκολο για λειτουργικά ανοικτού κώδικα και αρκετά εύκολο για λειτουργικά κλειστού κώδικα. Hint: Δεν χρειάζεται καν να τροποιήσω το sandbox, τροποποιήσεις του οποίου μπορεί να ανιχνεύσει το CDM. Μπορώ να κάνω τη δουλειά στο αμέσως πιο κάτω επίπεδο δίνοντας στο ίδιο sandbox παραποιημένο input. Εφόσον ξέρω τον κώδικα του sandbox, αυτό είναι παιχνιδάκι.
Ο μόνος τρόπος να προστατευθεί το CDM είναι με κάποιον τρόπο να μπορεί να παρακάμψει το sandbox και να συλλέξει μόνο του απευθείας πληροφορία από διάφορα υποσυστήματα της συσκευής, χωρίς να μπορώ να ξέρω ποια είναι αυτά και πως τις συνδυάζει. Τότε όμως δεν έχει νόημα η ύπαρξη sandbox, μια και αυτό ΔΕΝ θα διασφαλίζει πως δεν θα υπάρχει διαρροή άλλων δεδομένων, πέραν αυτών που χρειάζονται για να εξασφαλιστεί η προστασία του DRM. Άρα δεν θα προστατεύεται ο χρήστης.
Βλέπεις, αυτό είναι το εγγενές πρόβλημα της ιδέας του DRM. Δεν υπάρχει τρόπος να προστατεύσεις τον έναν από τον άλλο 2 οντότητες που δεν εμπιστεύονται η μια την άλλη χωρίς να υποσκάψεις με κάποιο τρόπο την ασφάλεια της μίας από τις 2 (ή και των 2). Το DRM εκ φύσεως έχει ρόλο αντίστοιχο του φουσκωτού που πουλάει προστασία στον υπόκοσμο της νύχτας. Πληρώνεται από εσένα για να προστατέψει το μαγαζί σου από τους μπράβους του απέναντι ανταγωνιστή, και ταυτόχρονα από τον απέναντι για να προστατεύσει αυτόν από τους δικούς σου μπράβους, και ποιος ξέρει από πόσους ακόμα, χωρίς φυσικά να σε αφήνει ναξέρεις για ποιούς αλλους δουλεύει, τι άλλες δουλειές κάνει, πόσα του δίνει ο καθένεις και τι συμφωνία έχει κάνει με τον καθένα. Είναι προφανές ότι αν θες την ησυχία σου είναι καλό να μείνεις μακρυά από ένα τέτοιο κύκλωμα. Συνεργαζόμενος μαζί του, για το μόνο που μπορεις να είσαι σίγουρος είναι ότι έχεις βάλει μπελά στο κεφάλι σου και ότι κάποια στιγμή θα βρεις σπασμένο το μαγαζί σου.
Ο κλειστός κώδικας είναι κλειστός κώδικας. Τέλος. Αυτό το ξέρουμε. Από την άλλη, το sandbox υποτίθεται πως θα προστατεύει τον χρήστη επιτρέποντας στο CDM να συλλέγει μόνο την πληροφορία που χρειάζεται έτσι ώστε να «βγάλει» το συγκεκριμένο fingerprint που χρειάζεται.
Δεν ακυρώνει ακριβώς η μια την άλλη. Τα δεδομένα που θα συλλέγονται θα είναι εμφανή και ανιχνεύσιμα από το open source sandbox. Τα δεδομένα που στέλνονται (στους servers) είναι κρυπτογραφημένα και αποκρυπτογραφούνται μέσω του CDM. Αυτά τα δεδομένα που στέλνονται πρέπει να είναι κρυπτογραφημένα διότι εκεί δημιουργείται το fingerprint, το κλείδωμα του περιεχομένου.
Ναι, σίγουρα δεν είναι ότι καλύτερο και γι’ αυτό γράφω
«…ο Firefox δεν θα είναι τόσο ευάλωτος στην διαρροή προσωπικών δεδομένων και θα επιστρέφει τον έλεγχο στον χρήστη, όσο αυτό είναι επιτρεπτό.»
Επιπλέον ο κλειστός κώδικας, το CDM δεν θα είναι ενσωματωμένο στον Firefox. Αν θέλει ο χρήστης το κατεβάζει, αν δεν τον ενδιαφέρει το περιεχόμενο με DRM δεν τον κατεβάζει.
Μα εφόσον το κρυπτογραφημένο fingerprint παράγεται με βάση τα δεδομένα που συλλέγει το sandbox δεν χρειάζεται να έχεις το fingerprint. Τροφοδοτείς το sandbox με τα «σωστά» δεδομένα και το CDM θα φτιάξει το fingerprint που θέλεις.