Η φράση ενσωματωμένο VPN καλύπτει στο Android δύο άσχετα πράγματα: μια υλοποίηση πρωτοκόλλου που εκτελεί η πλατφόρμα για λογαριασμό σας και τη μορφή ρυθμίσεων που αποφάσισε να εκθέσει ο κατασκευαστής. Δεν είναι το ίδιο αντικείμενο, και κανένα από τα δύο δεν εγγυάται ότι η σήραγγα ανήκει στον χρήστη του οποίου οι εφαρμογές τη χρειάζονται. Η παροχή γίνεται σε συγκεκριμένο χρήστη με συγκεκριμένο πακέτο κλήσης, και όλα όσα ακολουθούν κληρονομούν αυτό το πλαίσιο. Διαβάστε την αλυσίδα ιδιοκτησίας πριν από την οθόνη ρυθμίσεων.

Τι χτίζει η πλατφόρμα για εσάς

Από το Android 11 η πλατφόρμα εκθέτει την παροχή VPN μέσω VpnManager. Μια εγκεκριμένη εφαρμογή περιγράφει προφίλ IKEv2 και η πλατφόρμα εκτελεί η ίδια την ανταλλαγή IPsec και IKE, οπότε η εφαρμογή δεν αγγίζει ποτέ πακέτα. Αυτή είναι η ουσιαστική διαφορά από μια δική της εφαρμογή VPN, που υλοποιεί το VpnService και χτίζει τη σήραγγα στη δική της διεργασία.

val profile = Ikev2VpnProfile.Builder(serverAddress, identity)
    .setAuthUsernamePassword(user, secret, rootCa)
    .build()
getSystemService(VpnManager::class.java).provisionVpnProfile(profile)

Η κλήση παραπάνω είναι σκίτσο της μορφής, όχι μπλοκ για αντιγραφή: ο builder έχει αρκετές παραλλαγές ελέγχου ταυτότητας, διαφέρουν ανά επίπεδο API, και το προφίλ φέρει και το υλικό εμπιστοσύνης του πιστοποιητικού διακομιστή. Για το ζήτημα της ιδιοκτησίας, το κρίσιμο είναι στενότερο από τη σύνταξη.

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

Ιδιοκτήτης είναι ο χρήστης, μετά το πακέτο

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

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

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

Τρεις πύλες πριν κινηθεί ένα πακέτο

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

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

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

Γιατί μια προσωπική σύνδεση δεν καλύπτει τις εφαρμογές εργασίας

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

Η επίλυση ονομάτων ακολουθεί το ίδιο όριο. Τα ιδιωτικά επιθήματα DNS και οι άγκυρες εμπιστοσύνης είναι ανά χρήστη, άρα ένα εσωτερικό όνομα κεντρικού υπολογιστή που επιλύεται στο προσωπικό προφίλ μπορεί να αποτύχει στο προφίλ εργασίας ακόμη και με φαινομενικά ισοδύναμη σήραγγα, γιατί η πολιτική του resolver και ο χώρος CA είναι διαφορετικά αντικείμενα.

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

Στη συσκευή, εντοπίστε πρώτα τον ιδιοκτήτη της καταχώρισης: ποιος χρήστης, ποιο πακέτο, και αν το προφίλ ήρθε από τον παρέχοντα της πλατφόρμας ή από εφαρμογή με δική της υπηρεσία VPN. Έπειτα επιβεβαιώστε ότι η ταυτότητα που περιμένει το προφίλ υπάρχει πράγματι στο χώρο κλειδιών εκείνου του χρήστη.

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

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

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

Σχετικά άρθρα