Πώς να εισαγάγετε πιστοποιητικό VPN σε Android και να επαληθεύσετε το κλειδί
Εισαγάγετε ένα P12 στο Android, επιβεβαιώστε ποιος πάροχος κρατά το κλειδί και βρείτε ποιος κατέχει πραγματικά την απαίτηση κλειδώματος οθόνης.
Η εισαγωγή ενός πιστοποιητικού πελάτη VPN σε Android διαρκεί μερικά λεπτά. Ο έλεγχος ότι προσγειώθηκε στη σωστή θέση διαρκεί περισσότερο, και αυτό είναι το μέρος που οι περισσότεροι παραλείπουν μόλις το παράθυρο εγκατάστασης πει επιτυχία. Ένα μήνυμα επιτυχίας σημαίνει μόνο ότι το αρχείο αναλύθηκε. Δεν λέει τίποτα για το ποιος πάροχος κρατά το ιδιωτικό κλειδί ή αν υπάρχει ακόμη αντίγραφο στον φάκελο Downloads.
Βήμα 1: Διαβάστε το P12 πριν φύγει από τον υπολογιστή σας
Ξεκινήστε από το ίδιο το αρχείο. Αν δεν μπορείτε να ονομάσετε το υποκείμενο, τον εκδότη και την ημερομηνία λήξης μέσα σε αυτό, εισάγετε κάτι που δεν θα μπορείτε να επαληθεύσετε αργότερα.
Ένα πακέτο PKCS#12 συνήθως περιέχει πιστοποιητικό πελάτη, το ιδιωτικό του κλειδί και την αλυσίδα του εκδότη. Το openssl pkcs12 -in client.p12 -info -noout εκτυπώνει το MAC και τους αλγορίθμους κρυπτογράφησης χωρίς να εκθέτει υλικό κλειδιού, ώστε να βλέπετε αν το πακέτο προστατεύεται με κωδικό και με ποιον αλγόριθμο. Ακολουθήστε με keytool -list -v -keystore client.p12 -storetype PKCS12 για να πάρετε το ψευδώνυμο, το αποτύπωμα SHA-256 και το παράθυρο ισχύος που θα συγκρίνετε με το τηλέφωνο.
Στείλτε τον κωδικό από διαφορετικό κανάλι από το αρχείο, ή παραδώστε το αρχείο μέσα σε μια διαχειριζόμενη ροή διανομής που δεν αφήνει αντίγραφο. Ένας κωδικός που επικολλάται στο ίδιο μήνυμα συνομιλίας με το αρχείο μετατρέπει δύο ελέγχους σε έναν.
Βήμα 2: Εγκαταστήστε το στη θέση που διαβάζει πραγματικά η εφαρμογή VPN
Στο στοκ Android 11 έως 14 η διαδρομή περνά από Ρυθμίσεις, Ασφάλεια, Κρυπτογράφηση και διαπιστευτήρια, Εγκατάσταση πιστοποιητικού, έπειτα VPN και πιστοποιητικό χρήστη εφαρμογής. Η διατύπωση και η ένθεση αλλάζουν ανάμεσα σε εκδόσεις και περιβάλλοντα κατασκευαστών, οπότε ακολουθήστε την ετικέτα τύπου διαπιστευτηρίων και όχι μια απομνημονευμένη θέση μενού. Σε προφίλ εργασίας, εγκαταστήστε από μέσα στην πλευρά εργασίας, γιατί τα διαπιστευτήρια δεν περνούν τα όρια του προφίλ.
Μην βάζετε ταυτότητα πελάτη στη θέση πιστοποιητικού CA. Αυτή η θέση τροφοδοτεί το χώρο εμπιστοσύνης του χρήστη, και από το Android 7 οι εφαρμογές αγνοούν CA που πρόσθεσε ο χρήστης εκτός αν το επιτρέπει η διαμόρφωση ασφάλειας δικτύου τους, οπότε ένα πιστοποιητικό πελάτη που αφήνεται εκεί δεν εμφανίζεται ποτέ στον επιλογέα κλειδιών του VPN.
Ορισμένοι πελάτες VPN δεν αγγίζουν ποτέ το χώρο του συστήματος και εισάγουν το P12 στον δικό τους κατάλογο εφαρμογής. Είναι νόμιμος σχεδιασμός, αλλά αλλάζει κάθε επόμενο βήμα: το κλειδί ζει πλέον μέσα στο sandbox της εφαρμογής και είναι ακριβώς τόσο ισχυρό όσο η εφαρμογή διαχειρίζεται τον δικό της χώρο. Ελέγξτε την τεκμηρίωση του πελάτη πριν υποθέσετε ότι παίζει ρόλο το KeyChain.
Βήμα 3: Αποδείξτε ποιος πάροχος κρατά το κλειδί
Η εισαγωγή επιβεβαιώνει την ανάλυση, όχι την υποστήριξη υλικού. Στο Android 12 και μετά, το KeyInfo.getSecurityLevel() αναφέρει αν ένα κλειδί βρίσκεται στο Περιβάλλον Αξιόπιστης Εκτέλεσης, στο StrongBox ή σε λογισμικό, και αντικαθιστά την παλαιότερη κλήση isInsideSecureHardware(). Αν ο πελάτης VPN δεν εμφανίζει αυτή την τιμή, το αποτύπωμα από το βήμα 1 είναι η εφεδρεία σας. Ένα πιστοποιητικό που επανακωδικοποιήθηκε κατά την εισαγωγή δεν θα ταιριάξει byte προς byte, αλλά το δημόσιο κλειδί και το υποκείμενο θα ταιριάξουν.
Το μη εξαγώγιμο δεν είναι το ίδιο με το άχρηστο. Ένα κλειδί που δεν μπορεί να φύγει από τη συσκευή μπορεί ακόμη να χρησιμοποιηθεί από οποιαδήποτε εφαρμογή που ο χρήστης εξουσιοδοτεί να επιλέξει αυτό το ψευδώνυμο, γι' αυτό η προτροπή ψευδωνύμου είναι πραγματικός έλεγχος και όχι τυπικότητα. Η τεκμηρίωση του Android Keystore αξίζει μια ανάγνωση αν παίρνετε αυτή την απόφαση σχεδιασμού.
Στη συνέχεια υπολογίστε τα αντίγραφα που κάνατε. Το P12 στον φορητό σας, εκείνο στο συνημμένο του δελτίου και εκείνο στο αντίγραφο ασφαλείας του περασμένου μήνα είναι όλα έγκυρες ταυτότητες μέχρι να τα ανακαλέσει ο εκδότης. Η προστασία υλικού του στιγμιότυπου στο τηλέφωνο δεν κάνει τίποτα γι' αυτά.
Βήμα 4: Βρείτε ποιος κατέχει την απαίτηση κλειδώματος οθόνης
Τρία μυστικά μπερδεύονται εδώ: το PIN ξεκλειδώματος της συσκευής, η φράση πρόσβασης του ιδιωτικού κλειδιού και ο κωδικός του λογαριασμού VPN. Μια προτροπή για το ένα δεν είναι ποτέ αίτημα επαναφοράς των άλλων, και η επαναφορά του λάθος είναι ο τρόπος με τον οποίο οι άνθρωποι κλειδώνονται έξω από ένα προφίλ που δούλευε καλά.
Όταν ένας διαχειριστής συσκευής ή μια πολιτική διαχειριζόμενου προφίλ απαιτεί κλείδωμα, η απαίτηση ανήκει σε αυτή την πολιτική, όχι στο πιστοποιητικό. Το adb shell dumpsys device_policy απαριθμεί τους ενεργούς διαχειριστές και την ποιότητα κωδικού που επιβάλλουν, που είναι ο ταχύτερος τρόπος να δείτε αν ένας πράκτορας MDM είναι ο λόγος που άλλαξαν οι κανόνες PIN σας. Η αφαίρεση του πιστοποιητικού δεν θα χαλαρώσει την πολιτική, και η αφαίρεση της πολιτικής είναι διοικητική απόφαση και όχι ρύθμιση.
Περιμένετε και έναν συμβιβασμό χρηστικότητας. Αν το κλειδί απαιτεί εξουσιοδότηση χρήστη, η σήραγγα δεν μπορεί να σηκωθεί πριν από το πρώτο ξεκλείδωμα, οπότε οι προγραμματισμένοι συγχρονισμοί και οι απομακρυσμένες αφυπνίσεις αποτυγχάνουν εκ σχεδιασμού. Αποφασίστε το πριν από την ανάπτυξη, όχι μετά.
Αποφύγετε τη συντόμευση της επεξεργασίας του locksettings.db ή της επανάληψης μιας παλιάς παράκαμψης για ξεχασμένο μοτίβο. Αυτές οι ρουτίνες γράφτηκαν για συγκεκριμένες εκδόσεις, μπορούν να αφήσουν το χώρο διαπιστευτηρίων σε κατάσταση που το πλαίσιο δεν περιμένει πια, και δεν αλλάζουν ποτέ την πολιτική που ζήτησε το κλείδωμα εξαρχής.
Βήμα 5: Αποσύρετε την ταυτότητα και επαληθεύστε την άρνηση
Η απόσυρση έχει τρία μέρη και μόνο το πρώτο είναι τοπικό. Αφαιρέστε το προφίλ VPN, διαγράψτε το πιστοποιητικό χρήστη στις Ρυθμίσεις, Ασφάλεια, Κρυπτογράφηση και διαπιστευτήρια, Διαπιστευτήρια χρήστη, και μετά ζητήστε από τον εκδότη να ανακαλέσει τον σειριακό αριθμό του πιστοποιητικού. Η τοπική διαγραφή μόνη της αφήνει διαπιστευτήριο που ο διακομιστής εξακολουθεί να δέχεται αν κάποιος κράτησε το P12.
Επαληθεύστε το αποτέλεσμα αντί να το υποθέσετε. Δοκιμάστε σύνδεση με το αποσυρμένο προφίλ και επιβεβαιώστε ότι ο διακομιστής την απορρίπτει. Μια σήραγγα που ακόμη σηκώνεται σημαίνει ότι ανακαλέσατε λάθος σειριακό αριθμό ή ότι ο πελάτης έπεσε σιωπηλά σε άλλη εγκατεστημένη ταυτότητα.
Αν αναιρείτε μια αποτυχημένη εισαγωγή, εισάγετε ξανά από το αρχικό κρυπτογραφημένο πακέτο και ελέγξτε ξανά το αποτύπωμα αντί να ξαναχρησιμοποιήσετε ένα αποκρυπτογραφημένο αρχείο κλειδιού που αφήσατε στο δίσκο.