Mon téléphone ne peut pas être rooté mais je veux MITM mon propre trafic. Y a-t-il un inconvénient à inscrire mon appareil en tant qu'appareil d'entreprise géré et à installer un certificat par le programme? Cela semble possible, mais je n'ai pas trouvé cette solution nulle part sur internet donc je me demandais s'il y a un inconvénient.
Réponse
Trop de publicités?Votre question (ou du moins la réponse) est plus axée sur le développement. Mais je profite de l'occasion pour partager mes connaissances limitées du point de vue de l'utilisateur final.
Y a-t-il un inconvénient à inscrire mon appareil en tant qu'appareil d'entreprise géré et installer un certificat via le programme ?
Oui. Le coût et la complexité.
Pour utiliser la gestion de la mobilité d'entreprise (EMM) sur Android, vous devez acheter une suite de gestion des appareils mobiles (MDM). Habituellement, les organisations le font pour leurs employés ; cela a un coût de configuration initiale et des frais d'abonnement récurrents par appareil.
Ou vous pouvez envisager de développer votre propre solution. Le développement d'une solution EMM complète peut prendre des mois voire des années. Cela peut inclure la création d'une console EMM (généralement une interface web) pour définir des politiques, un serveur EMM en back-end pour contenir des politiques, et une application Device Policy Controller (DPC, ou Work Policy Controller) qui récupère les politiques du serveur et les applique sur l'appareil.
Mais comme mentionné par @Robert en commentaire, Google ne souhaite pas que vous utilisiez votre propre application DPC (qui faisait partie de l'API Google Play EMM depuis Android 5) :
"Android Enterprise n'accepte plus de nouvelles inscriptions pour les contrôleurs de stratégie de périphérique personnalisés (DPC). En savoir plus."
La solution recommandée la plus récente est d'utiliser l'API de gestion Android de Google (après avoir établi un partenariat avec Google en tant que fournisseur de solution EMM) qui applique des politiques sur les appareils en utilisant l'application DPC Android Device Policy de Google, et fournit également des fonctionnalités supplémentaires (en utilisant les Services Play privilégiés) qui n'ont pas fait partie des implémentations précédentes. Cela couvre tous les scénarios possibles y compris le Work Profile (sur des appareils détenus par l'utilisateur ou l'entreprise) et les appareils Entièrement gérés (sans profil personnel). Les deux ne doivent pas être confondus avec les utilisateurs multiples d'Android.
LA SOLUTION
Donc je ne pense pas que vous voudriez aller aussi loin simplement pour installer un certificat CA racine / de feuille. Cependant, il existe la possibilité de développer une simple application DPC autonome basée sur l'API d'administration des appareils Android (que les solutions mentionnées ci-dessus utilisent en interne), sans intégration avec une API distante. Shelter est un exemple de ce cas d'utilisation, qui fournit une isolation / duplication d'applications en créant un profil professionnel (c'est open source, je n'ai aucun lien). En utilisant les API d'administration, il est possible de accorder l'accès à un certificat de client, c'est ce que vous voulez. Cependant, comme indiqué dans (le lien que vous avez fourni : "... le certificat est disponible pour ... les applications installées dans le profil professionnel", et) la documentation officielle :
"Toutes les applications dans le profil pourront accéder à la chaîne de certificats et utiliser la clé privée..."
Donc si vous souhaitez utiliser le CA installé pour toutes vos applications (y compris celles installées dans le profil personnel / propriétaire de l'appareil), votre DPC doit fonctionner en mode Entièrement géré, pas en profil professionnel. Heureusement, Google fournit une application Test DPC qui peut fonctionner dans les deux modes. Elle permet d'installer un CA, donc peut être un bon point de départ :
LE HIC
Cité du blog des développeurs Android :
"Les applications ciblant le niveau API 24 et supérieur ne font plus confiance par défaut aux CA ajoutés par l'utilisateur ou l'administrateur pour les connexions sécurisées."
"Mais les développeurs d'applications peuvent choisir de laisser leurs applications fonctionner avec des certificats CA ajoutés manuellement" en ajoutant à la configuration de sécurité du réseau. Ainsi dans ce cas, un CA ajouté par EMM / administrateur ne diffère en rien d'un CA ajouté par l'utilisateur, tandis que ce dernier est très simple à réaliser.
2 votes
Vous devez acheter une suite MDM. Habituellement, les organisations le font; cela a un coût de configuration initial et des frais d'abonnement récurrents par appareil. Ou vous pouvez envisager de développer votre propre solution MDM, ce qui peut prendre un an ou plus si vous êtes un bon programmeur. Alors foncez si vous pouvez vous le permettre financièrement, ou si vous pouvez le gérer techniquement.
0 votes
@IrfanLatif Je ne pense pas que les solutions MDM actuelles utilisent simplement l'API de gestion des appareils (qui a été marquée comme obsolète). Je pense que vous devez enregistrer votre MDM chez Google et obtenir un "partenaire EMM", donc juste des compétences en développement et du temps ne suffisent pas.
1 votes
@Robert, Je ne suis pas sûr mais je ne pense pas que tous les fournisseurs de solutions Android Enterprise soient enregistrés auprès de Google. Google fait de son mieux, comme toujours, pour rendre les choses de plus en plus dépendantes du GMS. Cependant, les APIs AOSP liées aux MDM devraient fonctionner sans les Services Google Play aussi, du moins lorsqu'elles sont intégrées à une ROM personnalisée avec des permissions élevées. Je n'ai pas une connaissance approfondie cependant. Vous pourriez avoir raison. Dans tous les cas, le MDM n'est pas destiné aux utilisateurs finaux, ce que souhaite l'OP.