Η απομακρυσμένη παροχή κλειδιού της Google θα είναι υποχρεωτική στο Android 13: Τι σημαίνει αυτό για εσάς

Το Remote Key Provisioning της Google θα επιβάλλεται στο Android 13, αλλά είναι ένα περίπλοκο θέμα. Να τι σημαίνει αυτό για εσάς.

Η βεβαίωση κλειδιού του Android είναι η ραχοκοκαλιά πολλών αξιόπιστων υπηρεσιών στα smartphone μας, όπως SafetyNet, Digital Car Key και το Identity Credential API. Απαιτείται ως μέρος του Android από το Android 8 Oreo και βασιζόταν σε ένα βασικό κλειδί εγκατεστημένο σε μια συσκευή στο εργοστάσιο. Η παροχή αυτών των κλειδιών απαιτούσε άκρα μυστικότητα από την πλευρά του κατασκευαστή, και εάν ένα κλειδί διέρρευε, τότε αυτό θα σήμαινε ότι το κλειδί θα έπρεπε να ανακληθεί. Αυτό θα είχε ως αποτέλεσμα ο καταναλωτής να μην μπορεί να χρησιμοποιήσει οποιαδήποτε από αυτές τις αξιόπιστες υπηρεσίες, κάτι που θα ήταν ατυχές εάν υπάρξει κάποια ευπάθεια που μπορεί να την εκθέσει. Απομακρυσμένη παροχή κλειδιού, η οποία θα επιβληθεί σε Android 13, στοχεύει στην επίλυση αυτού του προβλήματος.

Τα στοιχεία που αποτελούν την τρέχουσα αλυσίδα εμπιστοσύνης στο Android

Πριν εξηγήσετε πώς λειτουργεί το νέο σύστημα, είναι σημαντικό να παρέχετε ένα πλαίσιο σχετικά με τον τρόπο λειτουργίας του 

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

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

Αξιόπιστο περιβάλλον εκτέλεσης

Το Trusted Execution Environment (TEE) είναι μια ασφαλής περιοχή στο SoC που χρησιμοποιείται για το χειρισμό κρίσιμων δεδομένων. Το TEE είναι υποχρεωτικό σε συσκευές που κυκλοφορούν με Android 8 Oreo και νεότερες εκδόσεις, πράγμα που σημαίνει ότι το έχει οποιοδήποτε πρόσφατο smartphone. Οτιδήποτε δεν είναι εντός του ΤΕΕ θεωρείται "μη αξιόπιστο" και μπορεί να δει μόνο κρυπτογραφημένο περιεχόμενο. Για παράδειγμα, το περιεχόμενο που προστατεύεται με DRM είναι κρυπτογραφημένο με κλειδιά στα οποία είναι δυνατή η πρόσβαση μόνο από λογισμικό που εκτελείται στο ΤΕΕ. Ο κύριος επεξεργαστής μπορεί να δει μόνο μια ροή κρυπτογραφημένου περιεχομένου, ενώ το περιεχόμενο μπορεί να αποκρυπτογραφηθεί από το ΤΕΕ και στη συνέχεια να εμφανιστεί στον χρήστη.

ARM Trustzone

Το Trusty είναι ένα ασφαλές λειτουργικό σύστημα που παρέχει ένα TEE στο Android και στα συστήματα ARM χρησιμοποιεί το Trustzone της ARM. Το Trusty εκτελείται στον ίδιο επεξεργαστή με το κύριο λειτουργικό σύστημα και έχει πρόσβαση στην πλήρη ισχύ της συσκευής αλλά είναι εντελώς απομονωμένο από το υπόλοιπο τηλέφωνο. Το Trusty αποτελείται από τα ακόλουθα:

  • Ένας μικρός πυρήνας λειτουργικού συστήματος που προέρχεται από Μικρός πυρήνας
  • Ένα πρόγραμμα οδήγησης πυρήνα Linux για τη μεταφορά δεδομένων μεταξύ του ασφαλούς περιβάλλοντος και του Android
  • Μια βιβλιοθήκη χώρου χρηστών Android για επικοινωνία με αξιόπιστες εφαρμογές (δηλαδή ασφαλείς εργασίες/υπηρεσίες) μέσω του προγράμματος οδήγησης πυρήνα

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

StrongBox

Οι συσκευές StrongBox είναι εντελώς ξεχωριστές, ειδικά κατασκευασμένες και πιστοποιημένες ασφαλείς CPU. Αυτά μπορεί να περιλαμβάνουν ενσωματωμένα Secure Elements (eSE) ή on-SoC Secure Processing Unit (SPU). Η Google λέει ότι το StrongBox "προτείνεται ανεπιφύλακτα" προς το παρόν να συνοδεύεται από συσκευές που ξεκινούν Android 12 (σύμφωνα με το Έγγραφο ορισμού συμβατότητας) καθώς είναι πιθανό να γίνει απαίτηση σε μια μελλοντική έκδοση Android. Είναι ουσιαστικά μια πιο αυστηρή εφαρμογή ενός χώρου αποθήκευσης κλειδιών που υποστηρίζεται από υλικό και μπορεί να εφαρμοστεί παράλληλα με το TrustZone. Ένα παράδειγμα εφαρμογής του StrongBox είναι το τσιπ Titan M σε smartphone Pixel. Δεν υπάρχουν πολλά τηλέφωνα που χρησιμοποιούν το StrongBox και τα περισσότερα χρησιμοποιούν το Trustzone της ARM.

Keymaster TA

Το Keymaster Trusted Application (TA) είναι το ασφαλές keymaster που διαχειρίζεται και εκτελεί όλες τις λειτουργίες αποθήκευσης κλειδιών. Μπορεί να τρέξει, για παράδειγμα, στο TrustZone της ARM.

Πώς αλλάζει η βεβαίωση κλειδιού με το Android 12 και το Android 13

Εάν ένα κλειδί εκτεθεί σε smartphone Android, η Google πρέπει να το ανακαλέσει. Αυτό δημιουργεί πρόβλημα για κάθε συσκευή που έχει εγχυθεί κλειδί στο εργοστάσιο -- κάθε είδους διαρροή που αποκαλύπτει το κλειδί θα σήμαινε ότι οι χρήστες δεν θα μπορούσαν να έχουν πρόσβαση σε συγκεκριμένο προστατευμένο περιεχόμενο. Αυτό μπορεί να περιλαμβάνει ακόμη και την ανάκληση της πρόσβασης σε υπηρεσίες όπως το Google Pay, κάτι στο οποίο βασίζονται πολλοί άνθρωποι. Αυτό είναι ατυχές για τους καταναλωτές, διότι χωρίς να επισκευαστεί το τηλέφωνό σας από έναν κατασκευαστή, δεν θα υπήρχε τρόπος να το επισκευάσετε μόνοι σας.

Εισαγάγετε την παροχή απομακρυσμένου κλειδιού. Ξεκινώντας από το Android 12, η ​​Google αντικαθιστά την εργοστασιακή παροχή ιδιωτικού κλειδιού με έναν συνδυασμό εξόρυξη δημόσιου κλειδιού στο εργοστάσιο και παροχή πιστοποιητικού over the air με βραχύβια πιστοποιητικά. Αυτό το σχέδιο θα απαιτείται στο Android 13 και υπάρχουν μερικά πλεονεκτήματα σε αυτό. Πρώτα και κύρια, αποτρέπει τους OEM και τους ODM από το να χρειάζεται να διαχειρίζονται το απόρρητο κλειδιού σε ένα εργοστάσιο. Δεύτερον, επιτρέπει την ανάκτηση συσκευών σε περίπτωση που παραβιαστούν τα κλειδιά τους, πράγμα που σημαίνει ότι οι καταναλωτές δεν θα χάσουν για πάντα την πρόσβαση σε προστατευμένες υπηρεσίες. Τώρα, αντί να χρησιμοποιείτε ένα πιστοποιητικό που υπολογίζεται χρησιμοποιώντας ένα κλειδί που υπάρχει στη συσκευή και θα μπορούσε να διαρρεύσει μέσω α ευπάθεια, ένα προσωρινό πιστοποιητικό ζητείται από την Google κάθε φορά που απαιτείται βεβαίωση μιας υπηρεσίας μεταχειρισμένος.

Όσο για το πώς λειτουργεί, είναι αρκετά απλό. Ένα μοναδικό, στατικό ζεύγος κλειδιών δημιουργείται από κάθε συσκευή και το δημόσιο τμήμα αυτού του ζεύγους κλειδιών εξάγεται από τον OEM στο εργοστάσιό του και υποβάλλεται στους διακομιστές της Google. Εκεί, θα χρησιμεύσουν ως βάση εμπιστοσύνης για την παροχή αργότερα. Το ιδιωτικό κλειδί δεν φεύγει ποτέ από το ασφαλές περιβάλλον στο οποίο δημιουργείται.

Όταν μια συσκευή χρησιμοποιείται για πρώτη φορά για σύνδεση στο Διαδίκτυο, θα δημιουργήσει ένα αίτημα υπογραφής πιστοποιητικού για κλειδιά που έχει δημιουργήσει, υπογράφοντας το με το ιδιωτικό κλειδί που αντιστοιχεί στο δημόσιο κλειδί που συλλέγεται στο εργοστάσιο. Οι διακομιστές υποστήριξης της Google θα επαληθεύσουν την αυθεντικότητα του αιτήματος και στη συνέχεια θα υπογράψουν τα δημόσια κλειδιά, επιστρέφοντας τις αλυσίδες πιστοποιητικών. Το κατάστημα κλειδιών στη συσκευή θα αποθηκεύσει στη συνέχεια αυτές τις αλυσίδες πιστοποιητικών, αναθέτοντάς τες σε εφαρμογές κάθε φορά που ζητείται βεβαίωση. Αυτό μπορεί να είναι οτιδήποτε, από το Google Pay έως το Pokemon Go.

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

Οι τελικοί χρήστες δεν θα παρατηρήσουν καμία αλλαγή, αν και οι προγραμματιστές πρέπει να προσέχουν τα ακόλουθα, σύμφωνα με την Google.

  • Δομή Αλυσίδας Πιστοποιητικών
    • Λόγω της φύσης της νέας μας υποδομής παροχής διαδικτυακών υπηρεσιών, το μήκος της αλυσίδας είναι μεγαλύτερο από ό, τι στο παρελθόν και υπόκειται σε αλλαγές.
  • Root of Trust
    • Η ρίζα της εμπιστοσύνης θα ενημερωθεί τελικά από το τρέχον κλειδί RSA σε ένα κλειδί ECDSA.
  • Κατάργηση βεβαίωσης RSA
    • Όλα τα κλειδιά που δημιουργούνται και πιστοποιούνται από την KeyMint θα υπογράφονται με ένα κλειδί ECDSA και την αντίστοιχη αλυσίδα πιστοποιητικών. Προηγουμένως, τα ασύμμετρα κλειδιά υπογράφονταν από τον αντίστοιχο αλγόριθμό τους.
  • Πιστοποιητικά βραχείας διάρκειας και κλειδιά βεβαίωσης
    • Τα πιστοποιητικά που παρέχονται σε συσκευές θα ισχύουν γενικά για έως και δύο μήνες πριν λήξουν και εναλλάσσονται.

Επικοινωνήσαμε με την Google και ρωτήσαμε εάν αυτό έχει κάποια σχέση με το Widevine DRM και πώς ορισμένοι χρήστες Pixel ανέφεραν ότι το επίπεδο DRM τους υποβαθμίστηκε με κλειδωμένο bootloader. Ρωτήσαμε επίσης εάν αυτό μπορεί να διανεμηθεί ως αναβάθμιση OTA στους χρήστες μέσω των Υπηρεσιών Google Play τώρα. Θα φροντίσουμε να ενημερώσουμε αυτό το άρθρο αν μάθουμε ξανά. Δεν είναι σαφές ποια στοιχεία της τρέχουσας αλυσίδας εμπιστοσύνης θα επηρεαστούν ή με ποιον τρόπο.


Πηγή: Google