Mi teléfono no puede ser rooteado pero quiero hacer MITM a mi propio tráfico. ¿Hay algún inconveniente en inscribir mi dispositivo como un dispositivo de empresa gestionado e instalar un certificado a través del programa? Es parece posible Pero no he encontrado esta solución en ningún sitio de Internet, así que me preguntaba si hay algún inconveniente.
Respuesta
¿Demasiados anuncios?Su pregunta (o al menos la respuesta) está más orientada al desarrollo. Pero aprovecho para compartir mis limitados conocimientos desde la perspectiva de un usuario final.
¿Hay alguna desventaja en inscribir mi dispositivo como dispositivo de empresa gestionado e instalar un certificado a través del programa?
Sí. El coste, y la complejidad.
Para utilizar la gestión de la movilidad empresarial (EMM) en Android, es necesario adquirir una suite de gestión de dispositivos móviles (MDM). Normalmente las organizaciones lo hacen para sus empleados; tiene un coste de configuración inicial y una cuota de suscripción recurrente por dispositivo.
O puede pensar en desarrollar una solución propia. El desarrollo de una solución EMM completa puede llevar meses y años. Puede incluir la creación de un EMM consola (normalmente una interfaz web) para establecer las políticas, un EMM back-end servidor para mantener las pólizas, y un Controlador de la política de dispositivos ( CPD o Controlador de la política de trabajo ) que obtiene las políticas del servidor y las aplica en el dispositivo.
Pero como menciona @Robert en el comentario, Google no quiere que use su propia aplicación de CPD (que era una parte de API de Google Play EMM desde Android 5):
"Android Enterprise ya no acepta nuevos registros de controladores de políticas de dispositivos (DPC) personalizados. Más información ."
La última solución recomendada es utilizar el programa de Google API de gestión de Android (después de hacer una asociación con Google como proveedor de soluciones EMM) que hace cumplir las políticas en los dispositivos que utilizan la plataforma de Google Política de dispositivos Android aplicación del CPD, y también proporciona características (haciendo uso de Servicios de juego privilegiados ) que no han formado parte de las implementaciones anteriores. Cubre todos los posibles escenarios incluyendo Perfil de trabajo (en dispositivos propiedad del usuario o de la empresa) y Totalmente gestionado dispositivos (sin perfil personal). Ambos no deben confundirse con los de Android varios usuarios .
LA SOLUCIÓN
Así que no creo que quieras ir tan lejos sólo para instalar una CA de root/hoja. Sin embargo, existe la posibilidad de desarrollar un sencillo CPD autónomo basada en la aplicación de Android API de administración de dispositivos (que las soluciones anteriores utilizan bajo el capó), sin integrarse con ninguna API remota. Refugio es un ejemplo de este caso de uso, que proporciona aislamiento / duplicación de aplicaciones mediante la creación de un perfil de trabajo (es de código abierto, no tengo ninguna afiliación). Usando las APIs de administración es posible conceder acceso a un certificado de cliente Eso es lo que quieres. Sin embargo, como se indica en (el enlace que usted proporcionó: "... el certificado está disponible para ... aplicaciones instaladas en el perfil de trabajo" y) la documentación oficial:
"Todas las apps del perfil podrán acceder a la cadena de certificados y utilizar la clave privada..."
Por lo tanto, si quieres utilizar la CA instalada para todas tus aplicaciones (incluidas las instaladas en el perfil personal/del propietario del dispositivo), tu CPD debe ejecutarse en modo totalmente gestionado, no en un perfil de trabajo. Por suerte, Google proporciona un Prueba de la aplicación del CPD que puede funcionar en ambos modos. Permite instalar una CA, por lo que puede ser un buen punto de partida:
LA GUARDA
Citado en Blog de desarrolladores de Android :
"Las aplicaciones que se dirigen al nivel de API 24 y superior ya no confían en el usuario o CAs añadidas por el administrador para conexiones seguras, por defecto".
"Pero los desarrolladores de aplicaciones pueden elegir que sus aplicaciones funcionen con certificados CA añadidos manualmente" añadiendo <certificates src="user" />
a Configuración de la seguridad de la red . Así que en este caso una CA añadida por el EMM/administrador no es diferente de una CA añadida por el usuario, mientras que esta última es muy sencilla de conseguir.
2 votos
Necesitas comprar una suite MDM. Normalmente las organizaciones lo hacen; tiene un coste de configuración inicial y una cuota de suscripción recurrente por dispositivo. O puede pensar en desarrollar una solución MDM por su cuenta, lo que puede llevar un año o más si es un buen programador. Así que, si puedes permitírtelo económicamente o manejarlo técnicamente, hazlo.
0 votos
@IrfanLatif No creo que las soluciones MDM actuales se limiten a utilizar la API de gestión de dispositivos (que se ha marcado como obsoleta). Creo que hay que registrar el MDM en Google y conseguir un "EMM partner", de ahí que sólo las habilidades de desarrollo y el tiempo no sean suficientes.
1 votos
@Robert No estoy seguro pero no creo que todos los proveedores de soluciones Android Enterprise estén registrados en Google. Google hace todo lo posible, como siempre, para que las cosas dependan cada vez más de GMS. Pero las APIs de AOSP relacionadas con MDM deberían funcionar también sin Google Play Services, al menos cuando se integran con una ROM personalizada con altos privilegios. Aunque no tengo muchos conocimientos en profundidad. Puede que tengas razón. En cualquier caso MDM no está pensado para los usuarios finales, lo que el OP quiere.