Facebook met à disposition le code source de Conceal, une librairie fortement optimisée destinée à sécuriser le stockage d'informations sur les cartes SD de mobiles Android.

Avec Android, Google a fait le choix de considérer que les cartes SD étaient des espaces de stockage auxquels les applications pouvaient accéder librement, comme un logiciel installé sur un ordinateur peut accéder aux données du disque dur. Ce choix a les défauts de ses qualités. Il permet de ne pas compartimenter les données, et donc de permettre aux mêmes applications d'accéder aux mêmes photos, vidéos, MP3 ou autres documents enregistrés par l'utilisateur sur un support de stockage amovible. Mais du même coup, il rend délicat le stockage de données confidentielles auxquelles les autres applications ne devraient pas avoir accès.

Les auteurs d'applications Android qui souhaitent utiliser l'espace disponible sur les cartes SD pour y stocker des informations doivent donc bricoler un système de chiffrement, en utilisant leurs propres moyens ou des librairies comme BouncyCastle. Mais Facebook n'était pas satisfait par les solutions existantes, et a choisi de développer sa propre librairie open-source, baptisée "Conceal".

Conceal est censé offrir aux développeurs un moyen plus simple et plus sécurisé de stocker des données chiffrées sur les cartes SD, en utilisant une version optimisée de OpenSSL pour rendre la librairie la plus légère et la plus rapide d'exécution possible. Alors que OpenSSL compilé pour armv7 pèse environ 1 Mo, la version écrite par Facebook pèse seulement 85 ko.

Les ingénieurs de Facebook ont par ailleurs travaillé sur les paramétrages par défaut pour exploiter les méthodes de chiffrement les plus solides. Conceal utilise AES-GCM pour chiffre les données et calculer un "code d'authentification du message" (MAC) destiné à s'assurer de l'intégrité des données chiffrées.

"Nous croyons que les librairies s'améliorent avec les contributions et les retours de la communauté, et le soutien de la communauté peut aider à améliorer la performance et la sécurité de cette librairie", explique l'ingénieur Subodh Iyengar à Ars Technica.

Le code source est disponible sur Github.

Partager sur les réseaux sociaux

Articles liés