Logo el.androidermagazine.com
Logo el.androidermagazine.com

Πώς αποθηκεύει το Android τα δακτυλικά σας αποτυπώματα;

Anonim

Η απελευθέρωση ενός iPhone χωρίς αισθητήρα δακτυλικών αποτυπωμάτων έχει οδηγήσει σε κάποιες συζητήσεις για τη χρήση δακτυλικών αποτυπωμάτων για έλεγχο ταυτότητας και για το πόσο καλά αποθηκεύονται τα δεδομένα. Είναι υπέροχο. Ακόμα κι αν δεν ανησυχείτε για το πώς έχει γίνει, χρειάζεστε πολλούς άλλους ανθρώπους για να ανησυχείτε ώστε να γίνει με έναν τρόπο που δεν χρειάζεται να ανησυχείτε!

Για αρχάριους, η Apple χρησιμοποιεί μια παρόμοια λύση και αν έχετε ένα παλαιότερο μοντέλο με έναν αισθητήρα δακτυλικών αποτυπωμάτων, είστε εξίσου ασφαλείς με τη χρήση του όπως και πριν. Το ίδιο ισχύει και για τα παλαιότερα τηλέφωνα της Samsung που ξεκίνησαν προ-Marshmallow και χρησιμοποίησαν τις δικές τους μεθόδους της Samsung.

Ο τρόπος αποθήκευσης των δεδομένων δακτυλικών αποτυπωμάτων από την Google είναι ο πιο ασφαλής τρόπος με την τρέχουσα τεχνολογία. Είναι επίσης συναρπαστικό πόσο απλή είναι η επισκόπηση του όλου πράγματος μόλις το κοιτάξετε. Το απλό και ασφαλές είναι πάντα ένα νικηφόρο combo.

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

Ένα ΤΕΕ είναι μια ξεχωριστή και απομονωμένη περιοχή στο υλικό του τηλεφώνου. Ένα TEE μπορεί να χρησιμοποιήσει τον δικό του επεξεργαστή και μνήμη ή μπορεί να χρησιμοποιήσει μια εικονικοποιημένη παρουσία στην κύρια CPU. Και στις δύο περιπτώσεις, το ΤΕΕ είναι πλήρως απομονωμένο και μονωμένο χρησιμοποιώντας μνήμη υποστηριζόμενη από υλικό και προστασία εισόδου / εξόδου. Ο μόνος τρόπος που θα εισέλθετε είναι αν το TEE σας αφήσει μέσα, και δεν θα το κάνει ποτέ. Ακόμη και αν το τηλέφωνο είναι ριζωμένο ή ο ξεκλειδιστής του bootloader ξεκλειδωθεί, το TEE είναι ξεχωριστό και εξακολουθεί να είναι άθικτο.

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

Η Google χρησιμοποιεί αυτό που αποκαλούν Trusty TEE για να το υποστηρίξει. Ένα πολύ μικρό και αποτελεσματικό λειτουργικό σύστημα, το οποίο ονομάζεται Trusty OS, τρέχει στο υλικό του TEE και οι οδηγοί του πυρήνα του επιτρέπουν να επικοινωνεί με το σύστημα. Υπάρχουν βιβλιοθήκες Android (το μαντέψατε: το Trusty API) για να χρησιμοποιήσουν οι προγραμματιστές, ώστε να μπορούν να ρωτήσουν ποια είναι τα ποσά για ένα ερώτημα ναι ή όχι στο ΤΕΕ. Δεν αποθηκεύονται μόνο δεδομένα δακτυλικών αποτυπωμάτων στο ΤΕΕ. Πράγματα όπως τα κλειδιά DRM και τα κλειδιά κρυπτογράφησης του bootloader του κατασκευαστή ζουν επίσης στο TEE και δουλεύουν με τον ίδιο τρόπο που κάνουν τα δεδομένα δακτυλικών αποτυπωμάτων σας - απαντήστε εάν τα δεδομένα που παρουσιάζονται σε μια εφαρμογή αντιστοιχούν στα γνωστά καλά δεδομένα που αποθηκεύει.

Άλλοι κατασκευαστές μπορούν να χρησιμοποιήσουν Trusty OS ή στη συνέχεια να χρησιμοποιήσουν διαφορετικό σύστημα. Όσο πληρούνται όλα τα κριτήρια (αναφέρονται παρακάτω) και το ΤΕΕ είναι απομονωμένο και μονωμένο, θα πληροί τα πρότυπα ασφαλείας που απαιτούνται για τη χρήση του Pixel Imprint (πρώην Nexus Imprint).

Αρχιτεκτονικό διάγραμμα TEE TrustZone ARM.

Όταν καταχωρείτε ένα δακτυλικό αποτύπωμα στο τηλέφωνό σας Android, ο αισθητήρας αρπάζει τα δεδομένα από τη σάρωση. Το Trusty OS αναλύει αυτά τα δεδομένα μέσα στο TEE και στη συνέχεια δημιουργεί δύο πράγματα: ένα σύνολο δεδομένων επικύρωσης και ένα κρυπτογραφημένο πρότυπο δακτυλικών αποτυπωμάτων. Αυτό φαίνεται να είναι ανεπιθύμητα δεδομένα για τα πάντα, εκτός από το TEE που έχει επίσης το κλειδί για να αποκρυπτογραφήσει τα δεδομένα σκουπίδια. Αυτό το κρυπτογραφημένο πρότυπο δακτυλικών αποτυπωμάτων αποθηκεύεται σε κρυπτογραφημένο δοχείο είτε στο TEE είτε στο κρυπτογραφημένο χώρο αποθήκευσης του τηλεφώνου σας. Τρία επίπεδα κρυπτογράφησης σημαίνουν ότι είναι σχεδόν αδύνατο να αποκτήσετε τα δεδομένα και ακόμα κι αν θα μπορούσατε να είναι άχρηστα χωρίς τρόπο να τα αποκρυπτογραφήσετε.

Το Android απαιτεί τα δεδομένα δακτυλικών σας αποτυπωμάτων να ασφαλίζονται με ένα μοναδικό κλειδί και μπορείτε να το πάρετε σε άλλο τηλέφωνο ή να το επαναχρησιμοποιήσετε για άλλο χρήστη.

Τα δεδομένα επικύρωσης αποθηκεύονται στο εσωτερικό του TEE. Όταν τοποθετείτε το δάχτυλό σας στο σαρωτή για να προσπαθήσετε να κάνετε κάτι, ο σαρωτής δημιουργεί ένα προφίλ δεδομένων. Μέσω του Trusty API, η σχετική εφαρμογή ζητά από τον πυρήνα να ζητήσει από το TEE αν έχει δίκιο. Το TEE ελέγχει τα αποθηκευμένα δεδομένα επικύρωσης χρησιμοποιώντας τον ξεχωριστό επεξεργαστή και τη μνήμη του και αν αρκετά δεδομένα ταιριάζουν λέει ναι. Αν δεν υπάρχουν αρκετά δεδομένα που ταιριάζουν, το λέει όχι. Αυτή η απάντηση περάσει ή αποτύχει αποστέλλεται πίσω στον πυρήνα ως ένα διακριτικό λογισμικού που το API μπορεί να διαβάσει για να δει το αποτέλεσμα.

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

Οι βασικοί κανόνες που πρέπει να τηρούν όλες οι εταιρείες που κάνουν τα τηλέφωνα Android με αισθητήρα δακτυλικών αποτυπωμάτων:

  • Όλες οι αναλύσεις δεδομένων δακτυλικών αποτυπωμάτων πρέπει να εκτελούνται εντός του ΤΕΕ
  • Όλα τα δεδομένα που σχετίζονται με ένα δακτυλικό αποτύπωμα πρέπει να αποθηκεύονται στο TEE ή σε αξιόπιστη μνήμη (μνήμη που δεν μπορεί καν να δει η κύρια CPU)
  • Τα δεδομένα προφίλ δακτυλικών αποτυπωμάτων πρέπει να είναι αυτο κρυπτογραφημένα ακόμη και αν αποθηκεύονται σε κρυπτογραφημένη αποθήκευση τηλεφώνου
  • Η κατάργηση ενός λογαριασμού χρήστη πρέπει επίσης να σκουπίσει με ασφάλεια τα δεδομένα που σχετίζονται με τα δακτυλικά αποτυπώματα αυτού του χρήστη
  • Όπου αποθηκεύονται τα προφίλ δακτυλικών αποτυπωμάτων, δεν πρέπει να είναι ορατά σε καμία εφαρμογή, διαδικασία ή χρήστη, συμπεριλαμβανομένου του χρήστη ρίζας
  • Τα δεδομένα δακτυλικών αποτυπωμάτων οποιουδήποτε είδους δεν πρέπει να υποστηρίζονται από οποιαδήποτε άλλη πηγή, συμπεριλαμβανομένου του cloud ή του υπολογιστή σας ή οποιασδήποτε εφαρμογής
  • Ο έλεγχος ταυτότητας με δακτυλικό αποτύπωμα πρέπει να χρησιμοποιείται από τη διαδικασία που το ζήτησε (χωρίς να μοιράζεται κανείς κανένα δεδομένο δακτυλικών αποτυπωμάτων, ακόμα και μόνο την απάντηση ναι ή όχι για να δει αν ήταν σωστή)

Όταν έχετε μερικές τυποποιημένες προδιαγραφές που είναι σαφείς, δεν είναι δύσκολο να τις ικανοποιήσετε. Αυτό εξασφαλίζει ότι ανεξάρτητα από το τι τηλέφωνο Android που χρησιμοποιείτε τα δεδομένα δακτυλικών αποτυπωμάτων σας θα αποθηκεύονται με ασφάλεια και καμία άλλη διαδικασία συστήματος ή εφαρμογή δεν μπορεί να έχει πρόσβαση σε αυτό. Καθώς η κρυπτογραφία εξελίσσεται, ειδικά η κρυπτογράφηση που υποστηρίζεται από υλικό, έτσι και αυτή η μέθοδος θα διατηρήσει τα δεδομένα δακτυλικών αποτυπωμάτων σας ασφαλή. Θα είναι ενδιαφέρον να κοιτάξουμε πίσω όταν ξεκινήσει το Android Z και να δούμε πόσο μακριά έχουμε έρθει.