Uvoz VPN klijentskog certifikata na Androidu traje nekoliko minuta. Provjera da je sletio na pravo mjesto traje duže, a to je dio koji većina ljudi preskoči kad dijalog za instalaciju kaže da je uspješno. Poruka o uspjehu znači samo da je datoteka parsirana. Ne govori ništa o tome koji provajder drži privatni ključ ni da li kopija još stoji u vašoj mapi Downloads.

Korak 1: Pročitajte P12 prije nego napusti vaš računar

Počnite od same datoteke. Ako ne možete imenovati subjekt, izdavaoca i datum isteka u njoj, uvodite nešto što kasnije nećete moći provjeriti.

PKCS#12 paket obično nosi klijentski certifikat, njegov privatni ključ i lanac izdavaoca. openssl pkcs12 -in client.p12 -info -noout ispisuje MAC i algoritme šifriranja bez ispisivanja ključnog materijala, pa vidite je li paket zaštićen lozinkom i kojim šifrom. Zatim pokrenite keytool -list -v -keystore client.p12 -storetype PKCS12 da dobijete alias, SHA-256 otisak i period važenja koji ćete uporediti s telefonom.

Pošaljite lozinku drugim kanalom od datoteke ili predajte datoteku unutar upravljanog toka distribucije koji ne ostavlja kopiju. Lozinka zalijepljena u istu chat poruku kao arhiva pretvara dvije kontrole u jednu.

Korak 2: Instalirajte ga u utor koji VPN aplikacija zaista čita

Na standardnom Androidu 11 do 14 put ide kroz Postavke, Sigurnost, Šifriranje i vjerovanja, Instaliraj certifikat, zatim VPN i korisnički certifikat aplikacije. Formulacija i ugnježđivanje se mijenjaju između izdanja i proizvođačkih skela, zato slijedite oznaku tipa vjerovanja, a ne zapamćenu poziciju menija. U radnom profilu instalirajte iz unutrašnjosti radne strane, jer vjerovanja ne prelaze granicu profila.

Ne stavljajte klijentski identitet u utor za CA certifikat. Taj utor hrani korisničko skladište povjerenja, a od Androida 7 aplikacije ignoriraju CA koje je dodao korisnik osim ako to njihova mrežna sigurnosna konfiguracija ne dopusti, pa se klijentski certifikat ostavljen tamo nikada ne pojavljuje u VPN biraču ključeva.

Neki VPN klijenti nikada ne diraju sistemsko skladište i umjesto toga uvoze P12 u vlastiti direktorij aplikacije. To je legitiman dizajn, ali mijenja svaki kasniji korak: ključ sada živi u pješčaniku aplikacije i jak je tačno onoliko koliko ta aplikacija upravlja vlastitim skladištem. Provjerite dokumentaciju klijenta prije nego pretpostavite da je KeyChain u igri.

Korak 3: Dokažite koji provajder drži ključ

Uvoz potvrđuje parsiranje, ne hardversku podršku. Na Androidu 12 i novijem KeyInfo.getSecurityLevel() izvještava da li ključ stoji u Trusted Execution Environment, u StrongBoxu ili u softveru, i zamjenjuje stariji poziv isInsideSecureHardware(). Ako VPN klijent ne prikazuje tu vrijednost, otisak iz koraka 1 je vaša rezerva. Certifikat ponovo kodiran tokom uvoza neće se poklopiti bajt za bajt, ali javni ključ i subjekt hoće.

Neizvoziv nije isto što i neupotrebljiv. Ključ koji ne može napustiti uređaj i dalje može koristiti svaka aplikacija kojoj korisnik odobri da odabere taj alias, zato je upit za alias stvarna kontrola, a ne formalnost. Android Keystore dokumentacija vrijedi jednom pročitati ako donosite tu dizajnersku odluku.

Zatim uzmite u obzir kopije koje ste napravili. P12 na vašem laptopu, onaj u prilogu tiketa i onaj u prošlomjesečnoj sigurnosnoj kopiji svi su još valjani identiteti dok ih izdavalac ne opozove. Hardverska zaštita instance na telefonu za njih ne čini ništa.

Korak 4: Saznajte ko posjeduje zahtjev za zaključavanje ekrana

Tri tajne se ovdje miješaju: PIN za otključavanje uređaja, šifra privatnog ključa i lozinka VPN računa. Upit za jedno nikada nije zahtjev za resetovanje ostalih, a resetovanje pogrešnog je način na koji se ljudi zaključaju izvan profila koji je dobro radio.

Kada administrator uređaja ili politika upravljanog profila zahtijeva zaključavanje, zahtjev pripada toj politici, a ne certifikatu. adb shell dumpsys device_policy navodi aktivne administratore i kvalitet lozinke koji nameću, što je najbrži način da vidite je li MDM agent razlog što su se vaša PIN pravila promijenila. Uklanjanje certifikata neće ublažiti politiku, a uklanjanje politike je administrativna odluka, a ne podešavanje.

Očekujte i kompromis u upotrebljivosti. Ako ključ zahtijeva korisničku autorizaciju, tunel ne može ustati prije prvog otključavanja, pa zakazane sinhronizacije i udaljena buđenja po dizajnu propadaju. Odlučite to prije implementacije, ne poslije.

Izbjegnite prečicu uređivanja locksettings.db ili ponovnog pokretanja starog zaobilaznog rješenja za zaboravljeni uzorak. Te rutine su pisane za određene buildove, mogu ostaviti skladište vjerovanja u stanju koje framework više ne očekuje, i nikada ne mijenjaju politiku koja je zaključavanje prvobitno zatražila.

Korak 5: Povucite identitet i provjerite odbijanje

Povlačenje ima tri dijela i samo je prvi lokalni. Uklonite VPN profil, izbrišite korisnički certifikat pod Postavke, Sigurnost, Šifriranje i vjerovanja, Korisnička vjerovanja, zatim neka izdavalac opozove serijski broj certifikata. Lokalno brisanje samo po sebi ostavlja vjerovanje koje server još prihvata ako je neko sačuvao P12.

Provjerite rezultat umjesto da ga pretpostavite. Pokušajte vezu s povučenim profilom i potvrdite da je server odbija. Tunel koji se još diže znači da ste opozvali pogrešan serijski broj ili da je klijent tiho prešao na drugi instalirani identitet.

Ako vraćate neuspjeli uvoz, ponovo uvezite iz originalnog šifriranog paketa i ponovo provjerite otisak umjesto da ponovo koristite dešifriranu ključnu datoteku koju ste ostavili na disku.

Povezani članci