Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

VLC dévoile les sombres dessous de la signature d’apps Android

Par : Korben
27 mars 2024 à 09:21

Astuces VLC

La sécurité sur Android et plus particulièrement la signature des applications c’est loin d’être tout beau tout rose. Vous le savez peut-être, notre bon vieux VLC, a quelques soucis pour mettre à jour son app Android sur le Play Store ces derniers temps.

Alors pourquoi ce blocage ? Eh bien tout simplement parce que Google a décidé de rendre obligatoire l’utilisation des App Bundles pour toutes les applications proposant des fonctionnalités TV. Jusque-là, pas de problème me direz-vous. Sauf que ce nouveau format nécessite de fournir sa clé de signature privée à Google. Et ça, c’est juste im-po-ssible pour l’équipe de VLC !

Fournir sa clé privée à un tiers, c’est comme donner les clés de son appartement à son voisin. C’est la base de la sécurité : ce qui est privé doit le rester. Sinon autant laisser sa porte grande ouverte avec un panneau « Servez-vous » ! 😅

Depuis les débuts d’Android, chaque app doit être installée via un fichier APK. Ce fichier contient tout le nécessaire : le code, les ressources, les données… Et pour vérifier qu’un APK est authentique, il doit être signé avec une clé privée générée par le développeur. N’importe qui peut alors vérifier la clé publique utilisée pour signer le fichier.

L’avantage de ce système est de garantir l’intégrité de l’app. Si le développeur perd sa clé privée ou son mot de passe, impossible de publier des mises à jour car la nouvelle signature ne correspondra pas. Et s’il file sa clé à quelqu’un d’autre, cette personne pourra signer ses propres versions qui seront considérées comme légitimes. Vous voyez le problème maintenant ?

Avec les App Bundles, on passe à un système de double signature où une clé de téléchargement (upload key) permet au Play Store de vérifier que celui qui envoie le fichier est légitime. Jusque-là, ça va. Mais où clé de signature (release key), doit être détenue par Google ! Autrement dit, le Play Store signe l’app à la place du développeur. C’est donc cette clé privée que Google réclame aujourd’hui à VLC.

Google a bien tenté de mettre en place des mesures pour atténuer le problème, comme le dual release qui permet sur les appareils récents (Android 11+) d’installer une mise à jour signée différemment si une preuve de rotation de clé est fournie. Mais pour les apps comme VLC qui supportent aussi les vieux appareils et la TV, ça ne fonctionne pas.

Du coup, l’équipe de VLC se retrouve face à un choix cornélien :

  1. Donner sa clé privée à Google et continuer à publier normalement. Bénéfice : aucun. Risque : Google a le contrôle total sur les mises à jour et la sécurité de l’app. Autant dire que pour eux c’est non.
  2. Virer le support TV des APK publiés sur le Play Store. Avantage : pas besoin de donner sa clé privée pour les appareils récents. Inconvénient : plus de support TV pour les vieux appareils sous Android 10 et moins. Pas top.
  3. Passer full App Bundles. Avantage : aucun. Inconvénient : ça rendrait l’app incompatible avec 30% des utilisateurs actuels. Même pas en rêve !

Bref, vous l’aurez compris, l’équipe de VLC est dans une impasse et c’est pour ça qu’aucune mise à jour n’a été publiée ces derniers mois sur le Play Store.

Et ce n’est pas qu’une question de principe. Le Play Store n’est pas le seul store sur Android. VLC est aussi disponible sur le site officiel, l’Amazon AppStore, le Huawei AppGallery… Donc donner sa clé à Google compromettrait toute la chaîne de publication.

Malheureusement, sans modification de la part de Google sur ces nouvelles exigences, il n’y a pas de solution miracle pour continuer à proposer le support TV sur les vieux appareils Android via le Play Store.

C’est rageant pour les développeurs qui se retrouvent pieds et poings liés, mais c’est aussi inquiétant pour nous utilisateurs. Quand le plus gros store d’apps au monde se met à réclamer les clés privées des développeurs, on peut légitimement se poser des questions sur sa conception de la sécurité et de la vie privée.

Espérons que Google entendra les critiques et fera machine arrière sur ce point. En attendant, la seule chose à faire est de soutenir les développeurs comme VLC qui résistent encore et toujours à l’envahisseur et continuent à privilégier la sécurité de leurs utilisateurs avant tout.

Si ça vous interesse, vous pouvez suivre toute l’affaire en détail sur cet article passionnant (si si, je vous jure) : VLC for Android updates on the Play Store

❌
❌