Convalesco

Current revision: 0.8

Last update: 2024-01-12 12:51:22 +0000 UTC

It is our choice of good or evil that determines our character, not our opinion about good or evil.

Aristotle , Nicomachean Ethics - 339 B.C.


Παρουσίαση Apple Filevault 2

Ημερομηνία: 20/08/2011, 20:22

Κατηγορία: technology

Αναθεώρηση: 1η



Εισαγωγή

Η Apple με την μετάβαση από** Snow Leopard** σε Lion, παρουσίασε το νέο σύστημα κρυπτογράφησης. Λόγο της ονομασίας πολλοί πιστεύουν πως πρόκειται απλά για μια νέα έκδοση του κάκιστου Filevault, που πρωτοπαρουσιάστηκε στο Panther (MacOSX 10.3). Δεν είναι όμως έτσι, το Filevault 2 έχει εντελώς διαφορετική προσέγγιση κι επιδόσεις, χωρίς να δημιουργεί προβλήματα.

Η πρώτη έκδοση του Filevault κρυπτογραφούσε το “user home directory” του χρήστη. Αν το username του χρήστη είναι “nickos” το σύστημα θα κρυπτογραφούσε τον κατάλογο “/Users/nickos” και τίποτε άλλο. Αυτή η προσέγγιση δημιούργησε πάρα πολλά προβλήματα σε προγράμματα τρίτων κατασκευαστών, αλλά ακόμη και σε ευρέως διαδεδομένα προγράμματα της Apple όπως το Time Machine. Ήταν απαράδεκτο δύο προϊόντα της Apple να μην λειτουργούν αρμονικά μεταξύ τους και να βρίσκονται στο βασικό σύστημα κι όμως είναι ένα πρόβλημα που δεν μπόρεσε να λύσει η Apple έως το Filevault 2. Πέρα από αυτό, οι πρώτες εκδόσεις είχαν κι άλλες σημαντικές αδυναμίες. Αρχικά το swap space έμενε στο σκληρό δίσκο χωρίς κρυπτογράφηση. Στα παραπάνω προσθέστε και τις κάκιστες επιδόσεις που είχε το σύστημα στην καθημερινή λειτουργία του, καθώς ο επεξεργαστής σε πολλές περιπτώσεις ζοριζόταν υπερβολικά κατά την διαδικασία κρυπτογράφησης ή αποκρυπτογραφήσης των δεδομένων.

Το Filevault 2 είναι εντελώς διαφορετικό! Το Filevault 2 κρυπτογραφεί ολόκληρο τον σκληρό δίσκο. Η προσέγγιση αυτή χρησιμοποιήθηκε αρχικά από το TrueCrypt, έπειτα από επισήμανση του Bruce Schneier. Αυτή η προσέγγιση παρέχει σαφώς μεγαλύτερη ασφάλεια στον χρήστη, είναι ιδανική για φορητές συσκευές όπως π.χ. Laptops και λειτουργεί σε πλήρη αρμονία με τους νέους επεξεραστές της Intel (i3, i5 & i7) αλλά και με τους δίσκους SSD. Με το Filevault 2 ή Apple έχει βρει την πιο ασφαλεί και εύκολη (user friendly) μέθοδο κρυπτογράφησης ολόκληρου του σκληρού δίσκου, καθώς το bitlocker της Microsoft πωλείται αποκλειστικά με τις εκδόσεις Enterprise και Ultimate.

Εγκατάσταση και λειτουργία

Η εγκατάσταση δεν θα μπορούσε να είναι πιο απλή:

System Preferences-> Security and Privacy -> Turn On Filevault

Αμέσως θα σας ζητήσει έναν κωδικό χρήστη. Ο κωδικός αυτός, είναι για κρυπτογραφείται και να αποκρυπτογραφείται ο σκληρός δίσκος! Εάν το χάσατε η διαδικασία είναι μη αναστρέψιμη, με αποτέλεσμα να χάσατε όλα τα δεδομένα που εμπεριέχει ο δίσκος! Για προφανείς λόγους η Apple προσφέρει την δυνατότητα να αποκρυπτογραφήσετε τον σκληρό δίσκο χρησιμοποιώντας ένα δεύτερο κλειδί, που μοιάζει με serial key. Το Filevault 2 και πάλι προσφέρει 2 επιλογές, η πρώτη είναι να σώσετε το κλειδί σας σε έναν server της Apple. Για να κάνετε recover το key θα πρέπει να απαντήσετε σωστά σε 3 ερωτήσεις, κάτι σαν email password. Η άλλη δυνατότητα που προτείνει η εταιρία είναι να γράψετε τον κωδικό σε ένα χαρτάκι, και να τον φυλάξετε σε ασφαλή τοποθεσία.

Όταν τελειώσετε αυτήν την διαδικασία, το σύστημα θα κάνει επανεκκίνηση. Μόλις ανοίξει ο υπολογιστής θα σας ζητήσει κωδικό, απευθείας. Ο κωδικός, όπως είπα και πιο πάνω, είναι για να κάνει boot το σύστημα. Εδώ υπάρχει η εξής ιδιομορφία.** Αν έχετε πάνω από έναν χρήστες στο σύστημα, θα πρέπει να αποφασίσετε ποιοι χρήστες μπορούν να εκκινήσουν το σύστημα**. Οι χρήστες που δεν μπορούν να εκκινήσουν το σύστημα, θα μπορέσουν να κάνουν login μόνο εφόσον ένα χρήστης Filevault έχει ξεκλειδώσει το σύστημα και η διαδικασία εκκίνησης του υπολογιστή προχωράει κανονικά. Αν έχετε 4 χρήστες π.χ. οι οποίοι έχουν όλοι πρόσβαση στο Filevault τότε το σύστημα κάνει automatic login στο σύστημα του χρήστη. Το σύστημα θα ξεχωρίσει τους χρήστες από τους κωδικούς τους. Αυτό σημαίνει πως σε ένα σύστημα με Filevault 2 και 4 χρήστες Filevault έχουμε 4 κωδικούς για να ξεκλειδώσουμε το σύστημα.

Η κρυπτογράφηση γίνεται στο background, την ώρα που δουλεύεται με τον υπολογιστή σας. Καλό θα ήταν έως ότου να ολοκληρωθεί η διαδικασία να μην “κατεβάσετε” μεγάλα αρχεία στον σκληρό δίσκο. ιδανικά αφήστε τον υπολογιστή σας ανοιχτό ένα βράδυ, η διαδικασία θα κρατήσει κάποιες ώρες και το επόμενο πρωί θα έχετε έναν πλήρως κρυπτογραφημένο σκληρό δίσκο.

Η διαδικασία κρυπτογράφησης του δίσκου είναι πλήρως αναστρέψιμη εφόσον έχουμε τον κωδικό. Μπορούμε να ξαναγυρίσουμε στην προηγούμενη κατάσταση αποκρυπτογραφώντας τον σκληρό δίσκο με την ίδια ακριβώς διαδικασία.

Επιδόσεις

Αρχικά να τονίσουμε ότι το Filevault 2 χρησιμοποιεί την νέα τεχνολογία της Apple σε επίπεδο συστήματος αρχείων (filesystem) που κυκλοφορεί με την ονομασία Core Storage. Το Core Storage έχει πολλά στοιχεία τα οποία αυτήν την στιγμή, δεν υποστηρίζονται στο HFS+, το σύστημα αρχείων (filesystem) της Apple για το MacOSX. Πολλά από αυτά τα στοιχεία θα τα βρείτε στο ZFS. Κυκλοφορούν πολλές φήμες για το μέλλον του HFS+ που μοιάζει πλέον απαρχαιωμένο και χρίζει αναβάθμισης. Το πρόβλημα την υιοθέτηση των ZFS ή Brtfs μάλλον είναι οι πατέντες που περιλαμβάνουν και οι άδειες χρήσης των. Το Filevault ενεργοποιεί κάποιες από τις δυνατότητες του Core Storage στο HFS+.

Οι νέοι δίσκοι στους φορητούς υπολογιστές της Apple είναι τεχνολογίας Solid State Drive (SSD) και προσφέρουν ασύγκριτα καλύτερες επιδόσεις σε σχέση με τους  κλασικούς σκληρούς δίσκους (SATA/IDE). Κάνοντας όμως χρήση του Filevault κάθε bit που χρησιμοποιείται θα πρέπει να περνάει από τον επεξεργαστή για αποκρυπτογράφηση, κάτι που θεωρητικά προσθέτει σημαντικό overheat. Με την χρήση τεχνολογιών σε διάφορα επίπεδα, η διαδικασία κρυπτογράφησης κι αποκρυπτογράφησης γίνεται με πολύ μικρότερο ζόρι από την νέα σειρά επεξεργαστών της Intel.

Οι επεξεργαστές i3, i5 και i7 έχουν ειδικά instruction sets για κρυπτογράφηση AES. Τα συγκεκριμένα instruction sets ονομάζονται AES-NI κι έχουν δημιουργηθεί από την Intel και την AMD ακριβώς για να διευκολύνουν τους επεξεργαστές να φέρουν εις πέρας την συγκεκριμένη διαδικασία.

Ένα ακόμη σημαντικό πεδίο που αυξάνει την απόδοση η έλλειψη συμπίεσης στον controller. Οι controllers που είναι βασισμένοι στο Sandforce chipset έχουν την τάση να συμπιέζουν τα δεδομένα πριν πριν γράψουν στο NAND. Όταν έχουμε δεδομένα με κρυπτογράφηση AES, το σύστημα δεν μπορεί - ευτυχώς - να ξεχωρίσει πια δεδομένα είναι συμπιεσμένα και πια όχι, με αποτέλεσμα να προσπαθεί να συμπιέσει κάτι που είναι είδη συμπιεσμένο και να ζορίζετε περισσότερο. Από όσο γνωρίζω τα MBA και MBP έχουν sandforce based controllers, άρα σίγουρα χάνουν λιγάκι από εκεί αν κι έχει αναφερθεί πως οι controllers που φέρουν τα Apple laptops δεν χρησιμοποιούν αυτήν την δυνατότητα. Δυστυχώς δεν γνωρίζω λεπτομέρειες καθότι δεν δουλεύω σε Apple support center :-).

Οι μετρήσεις (benchmarks) που έχουμε δει στο διαδίκτυο (( Π.χ. http://osxdaily.com/2011/08/10/filevault-2-benchmarks-disk-encryption-faster-mac-os-x-lion/ έχει πάρα πολλές και είναι όλες παρόμοιες, Google it!)), δείχνουν ότι η διαφορά (read/write speed) είναι σχετικά μικρή, που σημαίνει πως είναι παραπάνω από ανεκτή για τον μέσο χρήστη, δεδομένου ότι προσφέρει ένα αυξημένα επίπεδο προστασίας. Από όσο έχω διαβάσει χάνουμε στα 40 MB/s την στιγμή που το “throughput” είναι από 3 Gb/s (350 MB/s) έως 6 Gb/s (750 MB/s) (( Κι αυτό είναι σχετικό. Έχω δει πολλά benchmarks αλλά και πολλά threads. Δεν είμαι σίγουρος αν ο controller στο MBA ή στο MBP είναι SATA 3 )), εξαρτάται από τον SATA controller.

Οι μετρήσεις έχουν δείξει ότι ακόμη και σε παραδοσιακούς δίσκους (non SSD) το Filevault είναι εντυπωσιακά γρήγορο. Έως τώρα δεν έχουν σημειωθεί προβλήματα με οποιοδήποτε πρόγραμμα και δεν πιστεύω να υπάρχουν τέτοια θέματα ούτε στο μέλλον, καθότι μιλάμε για full disk encryption.

Σχόλια

Το full disk encryption βγάζει_ knock out_ λύσεις όπως το “back to my mac”, το Prey κι οποιοδήποτε anti-theft software για τον απλούστατο λόγο πως ο “κλέφτης” δεν θα μπορέσει να μπει στο σύστημα. Θα πρέπει να σβήσει τα δεδομένα του σκληρού δίσκου. Αυτό σημαίνει πως πρέπει να αξιολογήσετε εάν πιο χρήσιμο σας είναι το laptop ή τα δεδομένα του. Εάν τα στοιχεία που βρίσκονται στο Mac σας ΔΕΝ υπερβαίνουν την αξία του, μην χρησιμοποιείται ως μέτρο προστασίας το Filevault. Μπορείτε να χρησιμοποιήσετε το TrueCrypt ή encrypted DMG images για τους φακέλους που θέλετε να κρατήσετε μακρυά από αδιάκριτα μάτια. Με το Prey π.χ. θα δώσετε μια ύστατη ευκαιρία στο κλεμμένο σας macbook να βρεθεί.

Κάτι ακόμη που σηκώνει σχολιασμό είναι η δυνατότητα να στείλετε το encryption key στην Apple ( seriously? ). Δεν βλέπω το νόημα να έχει μια μεγάλη εταιρία, που θα λυγίσει σίγουρα σε οποιαδήποτε κρατική υπηρεσία ζητήσει το encnryption key του μηχανήματος, να έχει στην κατοχή της το κλειδί σας. Η Apple φυσικά, δηλώνει πως δεν έχει τα κλειδιά σε μορφή plain text, αλλά ποιος εμπιστεύεται μια corp; Οι τελευταίοι που την πάτησαν στην υπόθεση Dropbox γνωρίζουν περί τίνος πρόκειται. Πιστεύω πως το έχουν ως επιλογή, για τους λιγότερο υποψιασμένους χρήστες που στην πραγματικότητα δεν χρειάζονται τέτοιου είδους προστασία, απλά θέλουν να το παίζουν… security-wise users.

Επίλογος

Το full disk encryption θεωρώ πως είναι overkill. Παρόλα αυτά καλό είναι η κρυπτογραφία να γίνει μέρος της καθημερινότητας του χρήστη. Θα ήθελα να δω πολύ μεγαλύτερη χρήση της κρυπτογραφίας στα email μέσω του GnuPG αλλά και σε κάθε μορφή επικοινωνίας, τους δύσκολους καιρούς που διανύουμε.

Θεωρώ πως η κρυπτογραφημένη επικοινωνία είναι σημαντικότερη από την ανωνυμία στο διαδίκτυο. Διότι προστατεύει τόσο τους επώνυμους όσο και τους ανώνυμους από αδιάκριτα αυτιά και μάτια.

Η λύση της Apple θεωρώ πως είναι εξαιρετική. Αν έπρεπε να διαλέξω έναν αλγόριθμο βέβαια, θα διάλεγα τον blowfish Twofish καθότι θεωρώ ότι προέρχεται από πιο αξιόπιστη πηγή, αναλογικά με τον AES. Θα υπάρξουν άραγε instruction sets σε επεξεργαστές της Intel για blowfish Twofish;

Όσοι ταξιδεύετε συχνά και κάνετε εκτεταμένη χρήση της κρυπτογραφίας καλό θα είναι να γνωρίζεται ότι σε πολλές χώρες η μη παροχή του “κωδικού πρόσβασης” θεωρείται αδίκημα, κι ο κατηγορούμενος αυτόματα ένοχος. Μια από αυτές τις χώρες είναι η Αγγλία. Σε περίπτωση λοιπόν που ταξιδεύετε συχνά προς τα εκεί, καλό είναι να χρησιμοποιήσετε το TrueCrypt που παρέχει δυνατότητα ‘plausible deniability’.