Izvoz profila VPN iz Androida je videti kot korak varnostnega kopiranja, in meni, ki to ponuja, ne naredi ničesar, da bi ta vtis popravil. Ostane vam vhod za razčlenjevalnik, ključ, ki ga operacijski sistem morda nikoli ne vrne, in avtorizacija, izdana prav temu telefonu. Ločite te tri stvari in pojavi se koristno vprašanje: kateri del na novi napravi še manjka?

Datoteka je lažji del. Drugi dve odločata, ali bo selitev uspela.

Kaj izvoženi profil v resnici vsebuje

Preden mu zaupate, odprite datoteko v urejevalniku besedila. Profil OpenVPN je majhen konfiguracijski jezik: remote, proto, data-ciphers in pogosto vgrajeni bloki <ca>, <cert>, <key> ali <tls-crypt>, ki jih odjemalec preda svojemu skladu TLS. Konfiguracija WireGuard je bolj ploska: [Interface] vsebuje PrivateKey in Address, nato po en [Peer] za vsako končno točko z PublicKey, AllowedIPs in Endpoint. IKEv2 pride kot .mobileconfig s slovarji koristne obremenitve namesto blokov ključev.

Nobeno od teh besedil samo po sebi ni poverilnica. Poverilnica je zasebni ključ in vsaka oblika ga bodisi vstavi znotraj bodisi pokaže na vzdevek, ki se razreši samo znotraj odjemalca, ki ga je ustvaril.

Kje ključ v resnici živi v Androidu

Android hrani podatke aplikacij pod /data/data/<package>, berljive samo za UID te aplikacije. Ni podprtega načina, da bi s telefona brez roota kopirali zasebno mapo druge aplikacije, in adb backup ni bil več splošen odgovor, potem ko ga je Android 12 opustil in so odjemalci začeli deklarirati allowBackup="false". Izvoz iz odjemalca Android torej pomeni, kar ta odjemalec izvaja, ne kopije datotečnega sistema.

Plast identitete je pod aplikacijo. Če je odjemalec uvozil vaš ključ v Android Keystore, se gradivo tam ustvari ali zavije, poznejši izvozi pa lahko nosijo sklic na vzdevek Keystore namesto bajtov. Ključi s strojno podporo so zgrajeni tako, da jih tudi lastniška aplikacija ne more prebrati, kot opisuje Keystore documentation, zato se profil, ki kaže na ta vzdevek, na istem telefonu uvozi čisto, povsod drugje pa ne uspe.

To ni pokvarjen izvoz. To je lastnost, ki je bila od platforme zahtevana.

Česa profil ne more prenesti

Primerjajte objekte s tem, kar bo sprejela ciljna naprava:

ObjektSe prenese?Zakaj
Protokol in končna točkaDa, če ciljni odjemalec to podpiraGolo besedilo v profilu
Potrdilo CA in preverjanje imena gostiteljaObičajnoJavno gradivo, vendar mora ime gostitelja še vedno ustrezati potrdilu
Odjemalsko potrdiloDa, razen če je vezano na napravoPotrdila so prenosljiva; izdajatelj odloči, koliko naprav jih lahko uporablja eno
Zasebni ključSamo če je bil ustvarjen zunaj KeystoreKljučev s strojno podporo ni mogoče izvoziti, le zamenjati
Račun, MFA, seja SSONeŽetoni potečejo in ostanejo vezani na napravo, ki jih je pridobila
Poti, DNS in obseg aplikacijSamo kot konfiguracijsko besediloAndroid jih uporabi pri povezovanju prek VpnService.Builder
Seznam aplikacij za razdeljen tunelRedkoImena paketov se med napravami razlikujejo, seznam pa je stanje odjemalca

Dve vrstici povzročita večino zmede. Ključ, ustvarjen v napravi in označen kot neizvozljiv, v resnici izgine s podatki aplikacije, zato je zamenjava nov ključ plus potrdilo, izdano zanj. Sejni žeton, kopiran v nov telefon, običajno umre ob prvem osvežitvi, kar je videti kot neuspešen uvoz.

Uvoz je razčlenjevanje in nato zahteva za soglasje

Na sprejemni strani je uvoz razčlenjevanje, ki mu sledi zapis. Odjemalec prebere konfiguracijo, preveri, da vsak navedeni blok obstaja, nato zapiše definicijo tunela v svoj peskovnik, zato datoteka, ki ste jo izbrali v Prenosih, ni tisto, kar se pozneje poveže.

Nato pride korak avtorizacije, ki ga nobena datoteka ne more preskočiti. Android zahteva, da aplikacija pokliče VpnService.prepare() in prejme vaše soglasje, preden lahko vzpostavi tunel, zato na novo uvožen profil še enkrat pokaže sistemsko pogovorno okno. Nato se tunel zgradi izrecno prek addAddress, addRoute, addDnsServer in addAllowedApplication ali addDisallowedApplication za usmerjanje po aplikacijah. Nič od tega ne izhaja iz končne točke, zato lahko isti profil v dveh odjemalcih ustvari drugačen nabor dejanskih poti.

Nastavitve na podlagi potrdil dodajo še eno razvejitev. Ko strežnik izda potrdilo določeni napravi, kot to počneta MDM in vpis SCEP, ponovna uporaba na drugem telefonu bodisi deluje, dokler strežnik ne zahteva ene seje na identiteto, bodisi ne uspe pri rokovanju TLS. Preden načrtujete ponovno uporabo, preverite pravilnik izdajatelja.

Preverite novo napravo, preden staro upokojite

Naj bo stari telefon povezan, dokler novi ne opravi česa boljšega od zelene ikone. Potrdite izhodni naslov iz nove naprave in DNS razreševalnik, ki ga je dejansko uporabila. Če je split tunneling pomemben, zaženite aplikacijo, ki naj bi tunel obšla, in tisto, ki ne bi smela, ter poglejte, katera doseže vašega ponudnika.

En pregled odloči o izhodnem naslovu. Odprite https://ifconfig.me v brskalniku telefona, nato zaženite curl -s https://ifconfig.me s prenosnika v istem omrežju Wi-Fi in oba odgovora primerjajte z naslovom, ki vam ga je dodelil ponudnik.

Šele nato upokojite staro identiteto, in to prek izdajatelja: prekličite potrdilo ali odstranite napravo iz računa. Brisanje datoteke iz Prenosov ne konča ničesar, ker sta dve napravi z istim potrdilom v dnevniku strežnika videti enaki.

Če se izvoz izkaže za neprenosljivega, je rešitev nova registracija, ne javni konfiguracijski paket. Zaprosite za profil za drugo napravo ali ustvarite par ključev v novem telefonu in predložite CSR; počasneje je in to je pot, ki jo izdajatelj podpira.

Pojdite skozi kontrolni seznam, preden karkoli izbrišete: nova naprava se poveže, izhodni naslov in DNS se ujemata, obseg po aplikacijah je tak, kot ste nameravali, stara identiteta je preklicana in vsaka shranjena konfiguracijska datoteka je v šifriranem shrambi.

Sorodni članki