Android 5.0 : le chiffrement réduit les performances sur Lollipop

 

Android 5.0 alias Lollipop est enfin disponible pour les appareils Nexus. Comme prévu, cette mise à jour majeure d’Android a adopté un système de chiffrement pour augmenter la sécurité des données stockées sur vos appareils. Comme on pouvait s’y attendre, ce chiffrement systématique a des conséquences sur les performances.

id384039

Il n’existe pas de moyen simple pour protéger de manière transparente les données. Néanmoins, il devient obligatoire de trouver une méthode de sécurisation des données avec un maximum de confort et des exigences minimales.

Pour quelles raisons chiffrer ?

Il y a plusieurs raisons de chiffrer les données dans une application Android : faire en sorte que les fichiers exportés sur les stockages partagés (carte SD, cloud, etc.) ne soient pas facilement accessibles à partir d’applications tierces, chiffrer les informations sensibles (telles que les informations d’authentification pour les services tiers) stockées sur les applications ou encore fournir un système de DRM.

Sur Android, comment ça marche ?

Avant Lollipop, Le SDK Android comprenait déjà ce que l’on appelle Java Cryptography Extension interfaces (JCE) qui offre un accès facile à des opérations communes de chiffrement, et tous les appareils Android traditionnels viennent avec les fournisseurs JCE qui mettent en œuvre des algorithmes de chiffrement symétriques actuels, tel que AES.

Sur Android 5.0, Google a adopté un système de sécurité qui protège tous les données stockées sur la partition, sans avoir recours à des méthodes de chiffrement spécifiques à chaque application. Cette solution utilise eCryptfs, un système de chiffrement que l’on peut déjà utiliser sur Linux, et que l’on pouvait utiliser manuellement sur Android.

Ce chiffrement est un processus de codage de données au niveau du noyau Linux avec une clé chiffrée unique. Une fois qu’un appareil est chiffré, toutes les données créées par l’utilisateur ou par une application sont automatiquement chiffrées.

En pratique, il faut s’attendre à des performances en baisse de l’ordre de 30 % (…)

Malgré l’utilisation de Blowfish – un bloc de chiffrement 64 bits qui a été conçu pour être rapide, compact et simple – les premiers utilisateurs des images de restauration de Lollipop (qui ont été libérées hier soir) ont réalisé des tests de performances sur un Nexus 5. Il s’avère que ce système de chiffrement a un impact non négligeable sur les performances des appareils Android, bien que cela reste transparent pour les utilisateurs (d’un point de vue expérience utilisateur).

image_new (11)

En pratique, il faut s’attendre à des performances d’accès en baisse de l’ordre de 30 %, même pour les opérations simples sur les bases de données SQL (sqlite) et légèrement inférieures (entre 20 et 35 %) lors l’utilisation de l’appareil photo et d’une webview (navigateur). Il faut néanmoins nuancer, car l’utilisation du moteur d’exécution ART et l’arrivée de SoC 64 bits devraient contrebalancer cette baisse de performances, sans oublier les différentes optimisations que l’on retrouve sur Android 5.0 alias Lollipop.

Si le sujet vous intéresse, je vous conseille de vous rendre directement sur le site de Google, différents articles sont dédiés au système de chiffrement d’Android 5.0.