Dues aplicacions de l’iPhone poden totes dues col·locar una entrada de VPN a la configuració, totes dues anomenar-se clients de VPN i no compartir gairebé cap implementació. Apple anomena Personal VPN una d’aquestes integracions, i aquest nom produeix la major part de la confusió. Personal VPN és una API per crear i gestionar configuracions que utilitzen la implementació integrada d’IPsec o IKEv2. Un proveïdor de túnel de paquets és l’altre model: l’aplicació inclou una extensió que implementa el costat client del seu propi protocol. Tot el que la gent infereix després de l’etiqueta, des dels xifratges fins a la propietat i fins a si el telèfon ha d’estar gestionat, és inferència i no declaració.

Qui implementa el túnel

La divisió decideix qui és responsable quan alguna cosa falla. Amb IPsec o IKEv2 integrats, l’iOS posseeix la màquina d’estats del túnel i l’aplicació posseeix la configuració i els botons. Amb un proveïdor, l’aplicació posseeix totes dues coses, de manera que un error de protocol es converteix en una actualització de l’aplicació en lloc d’una del sistema operatiu.

La comparació és curta si preguntes qui implementa el protocol.

IntegrationApple interfaceProtocol implementation
Personal VPNNEVPNManager with a Personal VPN configurationThe system IPsec or IKEv2 client
Packet tunnelNETunnelProviderManager plus the provider extensionWhatever the extension implements

La documentació de Personal VPN també esmenta el missatge explícit d’autorització de l’usuari quan una aplicació desa una configuració per primera vegada, cosa que pertany a aquest model i no a les aplicacions de VPN en general.

Dues afirmacions sobre l’etiqueta que val la pena retirar

La primera és que Personal VPN selecciona un xifratge. No ho fa; el conjunt negociat prové del protocol i de la seva configuració, i una etiqueta Personal no diu res sobre quin obtindràs. La segona és que Personal VPN implica un proxy o un túnel limitat. Implica IPsec o IKEv2 integrats, que és un túnel complet sempre que les rutes ho diguin.

Per tant, la presència d’una aplicació no és cap prova sobre el protocol de cable. Un client de tercers que parla WireGuard o OpenVPN és per construcció una aplicació de proveïdor, perquè l’iOS no implementa aquests protocols de manera nativa.

Per què la formulació empresarial enganya

La documentació d’Apple classifica les configuracions de NETunnelProviderManager com a configuracions VPN empresarials normals. Aquesta formulació és una categoria d’API, i empeny la gent cap a dos errors oposats: suposar que una aplicació de consum no pot utilitzar el model de proveïdor, i suposar que el telèfon ha d’estar supervisat per a això. Cap de les dues no se’n deriva. Les aplicacions de consum inclouen proveïdors habitualment, i la supervisió és una qüestió separada sobre qui pot aplicar polítiques.

La propietat de la gestió és aquesta quarta qüestió, i és independent d’ambdós models. Una configuració instal·lada per una organització porta la seva pròpia identitat, abast de trànsit i regles de cicle de vida, i aquestes viatgen amb el perfil i no amb l’aplicació que hi hagi instal·lada. Llegeix-les al costat del model d’integració, perquè un perfil integrat gestionat i un perfil de proveïdor no gestionat poden seure al mateix telèfon alhora.

Comprova l’evidència en lloc de la captura de pantalla

Les captures de pantalla són la pitjor evidència disponible, perquè l’agrupació de la configuració canvia entre versions. Un perfil gestionat anomena el seu propi tipus de càrrega: un perfil integrat declara un tipus de VPN com IKEv2 o IPsec, mentre que un perfil de proveïdor porta un subtipus que anomena l’identificador de paquet del proveïdor. Això és comprovable al dispositiu que tens al davant, i sobreviu al proper redisseny.

Quant a l’aplicació mateixa, la classe en ús respon la mateixa pregunta des de l’altre costat: objectes de configuració de l’API de Personal VPN, o un gestor de proveïdor i la seva extensió.

Després tria segons el que l’operador subministra realment. On existeix un perfil natiu compatible, la via integrada té menys peces mòbils i una cosa menys per actualitzar. On el servei necessita un protocol que l’iOS no inclou, una aplicació de proveïdor és l’única opció i el seu ritme de versions es converteix en part del teu risc.

Conserva el registre amb la connexió

Adjunta l’autenticació i la política de recursos al registre de connexió i no a l’aplicació, perquè una reinstal·lació no s’emporti el model d’autorització. Aquest registre també és el que necessita un enginyer de suport quan el túnel s’aixeca i res més funciona.

La pregunta que val la pena fer al final no és quin model és millor. És quin model admet el teu operador, i quin pots depurar a les dues de la matinada amb les eines que realment tens.

Articles relacionats