PROJET AUTOBLOG


Le blog de ValVin

Site original : Le blog de ValVin

⇐ retour index

Android sans Google ? #1

jeudi 5 novembre 2015 à 15:02
Android sans Google ? #1

Android est un projet Opensource (AOSP) dont Google est le leader. Ils livrent les sources de son système dès que qu'une nouvelle version est disponible. Récemment ce fut le cas pour Android 6.0 (Mashmallow). Cependant, ce projet ne contient pas les applications Google que l'on retrouve sur tous les smartphones Android. Il s'agit des Google Apps ou Google Mobile Services (GMS)

Android sans Google ? #1 Dans ces fameuses Google Apps, on retrouve tout l'écosystème de Google : Gmail, Google Drive, Youtube, Chrome ... et bien entendu le PlayStore.
D'ailleurs de ce côté, ils ont été très malins, car sans le PlayStore, on perd l'accès à un très grand catalogue d'applications. Du coup, les constructeurs, se doivent de livrer un téléphone avec celui-ci.
MAIS :

  1. si tu veux installer le PlayStore, il faut installer l'ensemble des Google Apps ! C'est la raison pour laquelle, très peu de téléphone Android sont livrés sans l'écosystème Google.
  2. les constructeurs ne peuvent pas installer les Google Apps sans obtenir une licence:

    After building an Android compatible device, consider licensing Google Mobile Services (GMS), Google’s proprietary suite of apps (Google Play, YouTube, Google Maps, Gmail, and more ) that run on top of Android. GMS is not part of the Android Open Source Project and is available only through a license with Google. For information on how to request a GMS license, see Contact Us.

  3. sur un téléphone non rooté, toutes les applications systèmes ne peuvent pas être désinstallées. Et les Google Apps sont dans 99% des cas, des applications systèmes.

Et le souci de tout ça, c'est que l'écosystème Google et la notion de vie-privée ne font pas bon ménage ! D'ailleurs souvent le constructeur ne se gêne pas non plus.
Et sur son smartphone, les données privées, ce n'est pas ce qu'il manque :

Avec ce préambule, on se dit qu'on est coincé, ils ont bien verrouillé leur affaire ... Ce n'est pas tout à fait faux mais il existe tout de même des solutions.

Il existe trois solutions "radicales" ou plutôt pour les plus téméraires :

  1. ne plus utiliser la version d'Android de son constructeur et s'orienter vers une version OpenSource compatible avec son matériel, la plus connue étant Cyanogen. Vigilance cependant car même si la société fourni une version 100% open-source, elle établi de plus en plus de contrats commerciaux avec des sociétés comme Spotify, Microsoft ... (Article à ce sujet)
    Android sans Google ? #1

  2. rooter son téléphone, c'est à dire obtenir les droits administrateurs (root). Car effectivement, sur les smartphones en général, on n'est qu'utilisateur, l'administrateur c'est le constructeur ou l'éditeur.
    Android sans Google ? #1

  3. s'orienter vers un OS open-source plus respectueux de la vie privée comme Firefox OS ou encore Ubuntu Phone
    Android sans Google ? #1

Ou bien, si l'on ne veut pas prendre de risque pour ne pas casser la garantie de son téléphone ou tout simplement pour ne pas le réinitialiser. A partir d'Android 4.4, on peut bloquer certaines applications même système. Cela permet de bloquer les GApps au fur et à mesure. Dans un premier temps, on peut commencer par les GApps que l'on ne se sert pas ou que l'on peut facilement contourner.

Dans ce premier billet, je vous présente les principales GApps et leurs alternatives. Il s'agit du Play Store, Chrome, Google Search, Hangout et Google+.
J'indique pour chaque GApps son package afin de faciliter son blocage (via adb), sa description et l'alternative proposée.

Store d'application : Play Store

Package : com.android.vending Android sans Google ? #1

Description : Tout possesseur d'Android connait le Play Store, il s'agit de l'application qui permet de parcourir 98% des applications de les installer et de les mettre à jour.

Alternative proposée : F-Droid Android sans Google ? #1

F-Droid est une application permettant de gérer différents catalogues d'applications. Elle est disponible avec le catalogue F-Droid qui contient une liste d'applications 100% open-source.
Le catalogue du Gardian Project est également disponible mais non activé par défaut.

Il est également possible de rajouter d'autres catalogues d'applications. Sur Diaspora, on m'a conseillé cet article de Matlink qui permet de générer un catalogue d'applications F-Droid ayant comme source le Play Store. Je n'ai pas encore créé mon propre catalogue mais ça ne saurait tarder :)

Browser Web : Google Chrome

Package : com.android.chrome Android sans Google ? #1

Description : Chrome est bien connu car il est probablement, après le moteur de recherche, le produit Google le plus utilisé.Il s'agit du navigateur web qui dispose d'une très grosse part de marché sur les postes de travail.

Alternative proposée : Firefox Android sans Google ? #1

Petite vigilance avec Firefox est qu'il est amené à disparaître de F-Droid car :

Il est cependant toujours possible d'avoir les mises à jours en utilisant FFUpdater ou encore utiliser Fennec qui est Firefox recompilé par F-Droid avec uniquement les composants 100% open-source.

Recherche : Google Search

Package : com.google.android.voicesearch Android sans Google ? #1

Description : Cette application permet d'effectuer différents types de recherches sur votre téléphone. Elle s'active en effectuant un appui long sur le bouton Home. Elle effectue des recherches sur Google mais également sur le contenu du téléphone (contacts, applications ...).

Attention, certaines applications on des dépendances avec celle-ci. Je pense notamment à l'application téléphone qui sur mon téléphone était utilisée par défaut pour la recherche contact. Quand je recherchais un contact après l'avoir désactivé, l'application téléphone crashé.

Alternative proposée : Duck Duck Go / FAST App Search Tool Android sans Google ? #1 Personnelement j'utilise FAST en tant qu'application de recherche. Cela permet de l'activer avec un appuie long sur le bouton "Home". Fast permet de rechercher uniquement dans mes applications mais cela correspond à mon besoin. FAST permet également de remplacer le Launcher mais je n'ai pas choisit cette solution.
Android sans Google ? #1 Pour les recherches web, il y a l'application Duck Duck Go disponible sur F-Droid.

Social : Hangout et Google+

Hangout

Package : com.google.android.talk Android sans Google ? #1

Description : Hangout, initialement Gtalk, est l'application permettant d'utiliser le système de chat Google que l'on retrouve dans l'interface web Gmail.
Récemment,Hangout peut également être l'application permettant de lire / écrire les SMS tout en les fusionnant aux différentes conversations sur GTalk.

Alternative proposée : Conversation pour la partie messagerie instantannée / SMS Secure pour la gestion SMS Android sans Google ? #1 Pour la partie messagerie instantanée, je propose Conversation qui est un client XMPP. Il est possible de paramétrer Hangout mais ce n'est pas vraiment l'objectif. Il sera donc nécessaire de se créer un compte XMPP sur un serveur dont voici une liste.
Je recommande la lecture des billets de Goofy sur XMPP.
Android sans Google ? #1 Pour la gestion des SMS, il est possible de conserver l'application SMS d'Android. Cependant, de mon côté, j'utilise SMS Secure qui permet d'échanger des SMS chiffrés avec les personnes disposant de la même application tout en restant compatible avec ceux qui ne la dispose pas. L'avantage c'est que le stockage des SMS est chiffré et il est possible de définir un code PIN pour accéder à l'application.

Google+ :

Package : com.google.android.apps.plus Android sans Google ? #1 Description : Google+ est le réseau social de Google qui a souhaité "concurrencer" Facebook / Twitter. Même si Google a fait un énormément d'effort pour "forcer" l'utilisation de son réseau social, on ne peut pas dire qu'il a été une très grande réussite.

Alternative proposée : Diaspora Native Web App Android sans Google ? #1 Diaspora est un réseau social basé sur trois valeurs : décentralisé, liberté et confidentialité. Framasoft propose un pod Framasphère sur lequel je vous conseille de vous inscrire. Pour ma part, je suis ici

Voici pour ce premier billet concernant la degooglisation de son téléphone Android. Dans les prochains billets, on parlera de GMail, Maps et Street View et les autres Gapps pas encore abordé.

Sources: Pixabay : androïde-linux-guimauve-smartphone

Android sans Google ? #1

jeudi 5 novembre 2015 à 14:02
Android est un projet Opensource (AOSP) dont Google est le leader. Ils livrent les sources de son système dès que qu’une nouvelle version est disponible. Récemment ce fut le cas pour Android 6.0 (Mashmallow). Cependant, ce projet ne contient pas les applications Google que l’on retrouve sur tous les smartphones Android. Il s’agit des Google Apps ou Google Mobile Services (GMS) Dans ces fameuses Google Apps, on retrouve tout l’écosystème de Google : Gmail, Google Drive, Youtube, Chrome … et bien entendu le PlayStore.

Android sans Google ? #1

jeudi 5 novembre 2015 à 14:02
Android est un projet Opensource (AOSP) dont Google est le leader. Ils livrent les sources de son système dès que qu’une nouvelle version est disponible. Récemment ce fut le cas pour Android 6.0 (Mashmallow). Cependant, ce projet ne contient pas les applications Google que l’on retrouve sur tous les smartphones Android. Il s’agit des Google Apps ou Google Mobile Services (GMS) Dans ces fameuses Google Apps, on retrouve tout l’écosystème de Google : Gmail, Google Drive, Youtube, Chrome … et bien entendu le PlayStore.

Messagerie - DNS - DKIM

mercredi 21 octobre 2015 à 17:33
Messagerie - DNS - DKIM

Dans les articles précédents, nous avons vu les enregistrements DNS MX pour déclarer ces serveurs SMTP, SPF pour autoriser les serveurs ayant le droit d'utiliser le domaine pour expédier des emails. Cet article a pour but de présenter le protocole DKIM qui va utiliser également un enregistrement DNS mais ce n'est qu'un maillon de la chaine.
Je ne traiterais pas dans cet article la configuration DKIM côté messagerie, mais peut être dans un prochain article :)

DomainKeys Identified Mail - DKIM

Tout comme l'enregistrement SPF, DKIM - RFC4871 a pour objectif d'authentifier le serveur afin de limiter le SPAM. Sauf que cette authentification est un peu plus forte et utilisera un chiffrement à base d'une clé publique et d'une clé privée.
Messagerie - DNS - DKIM Le chiffrement asymétrique propose soit de rendre confidentiel un message en le chiffrant avec la clé publique du destinataire que seul lui pourra lire grâce à sa clé privée. Soit de signer un message avec sa clé privée afin d'en assurer son intégrité, le destinataire utilisera la clé publique de l'émetteur pour vérifier que le contenu du message est valide.
Dans DKIM, on utilise la signature afin de s'assurer que c'est effectivement le bon serveur qui envoie le message. C'est un peu comme la signature PGP que l'on peut intégrer dans nos emails. Afin d'avoir une sécurité correcte, il ne faudra pas utilisé un clé inférieure à 1024 bits.

DKIM indique un entête dans le mail dont voici les champs principaux :

Voici un exemple d'entête DKIM reçu de la part de Twitter :
Messagerie - DNS - DKIM

La messagerie à réception de ce message va donc récupérer la clé publique déclarée dans le DNS par l'enregistrement dkim-201406._domainkey.twitter.com et vérifier la signature présente dans le champs b= qui n'a pu être générée que par un serveur disposant de la clé privée correspondante.

Je ne vais pas plus loin dans la mise en place de DKIM car l'article traite de l'enregistrement DNS lui même. Petit indice, l'implémentation de DKIM peut se faire facilement avec OpenDKIM sur Postfix. De mon côté, j'ai profité de l'implémentation "toute faite" de Synology.

L'enregistrement DNS DKIM

L'enregistrement DNS utilisé dans le protocole DKIM permettra de fournir la clé publique de notre serveur. Cela permettra aux autres serveurs SMTP de vérifier la signature incluse dans le message.
Comme vu précédemment, l'enregistrement DNS sera composé d'un sélecteur, suivi de _domainkey.domain.tld. Ce selecteur devra correspondre à celui paramétré dans votre messagerie (opendkim).
L'enregistrement DNS DKIM est donc selector._domainkey.tld.

Si je reprends l'exemple plus haut, l'enregistrement DNS DKIM est dkim-201406._domainkey.twitter.com.
On obtient donc le certificat public de Twitter en faisant la commande suivante :
nslookup -type=TXT dkim-201406._domainkey.twitter.com

Non-authoritative answer:  
dkim-201406._domainkey.twitter.com    text = "v=DKIM1\; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwe34ubzrMzM9sT0XVkcc3UXd7W+EHCyHoqn70l2AxXox52lAZzH/UnKwAoO+5qsuP7T9QOifIJ9ddNH9lEQ95Y/GdHBsPLGdgSJIs95mXNxscD6MSyejpenMGL9TPQAcxfqY5xPViZ+1wA1qcr"  

L'enregistrement DNS DKIM est donc un champs de type TXT qui contiendra les informations suivantes :

On obtiendra donc un enregistrement de ce type si on choisit comme sélecteur DKIM mail :

mail._domainkey 10800 IN TXT "v=DKIM1; k=rsa; p=MONCERTIFICATPUBLICENBASE64"  

Quelques exemples :

nslookup -type=TXT proddkim1024._domainkey.linkedin.com  
Non-authoritative answer:  
proddkim1024._domainkey.linkedin.com    text = "v=DKIM1\;  p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnp6VIffGakD19jp9mLNI4+Qn5Rx/mqBYOJOp+oMEUxmYRJB5+dtow7EZ2VRJQdIHwRQlYJ7+DJYX6DVvRJb7yfP119kueITuq9CfwPloMEb0Ds/TCItQNNXRBTIlZCE94p0qyEbS0x1pJA1MGaEiBhNrH5mNPRgybeu+JfnoNtQIDAQAB\;"
nslookup -type=TXT mailout._domainkey.ovh.com  
Non-authoritative answer:  
mailout._domainkey.ovh.com    text = "v=DKIM1\; k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLRNQLXoWaKmGbUV2IUmI0JRNXMJ76VyMWnQdIRX0mC9mS7aHFG/iR2hCj5w4NPpRJTeA5t9TYkd15bgY7HK4KddGhwOQ+oj6YJdFjF/ODVIsNOkoZQC8KWdlufXRf3pyYwWMZzUUNRXxs+CbL1m0m2XgZ84Ka5dPtuzFSBT6jYQIDAQAB"  

Sources

Messagerie - DNS - DKIM

mercredi 21 octobre 2015 à 15:33
Dans les articles précédents, nous avons vu les enregistrements DNS MX pour déclarer ces serveurs SMTP, SPF pour autoriser les serveurs ayant le droit d’utiliser le domaine pour expédier des emails. Cet article a pour but de présenter le protocole DKIM qui va utiliser également un enregistrement DNS mais ce n’est qu’un maillon de la chaine. Je ne traiterais pas dans cet article la configuration DKIM côté messagerie, mais peut être dans un prochain article :)