Connexion
Abonnez-vous

Adiantum : Google dit avoir une solution pour le chiffrement des appareils Android d’entrée de gamme

Adiantum : Google dit avoir une solution pour le chiffrement des appareils Android d'entrée de gamme

Le 08 février 2019 à 09h39

Ces derniers ne peuvent bénéficier de l'accélération d'AES via leurs SoC à bas coût. En attendant que cette technologie se démocratise, le géant américain a planché sur une solution logicielle.

Elle se base sur la même technique utilisée pour le chiffrement des connexions HTTPS dans des conditions identiques et mise sur ChaCha. Mais le duo ChaCha20-Poly1305 ne peut être utilisé de manière classique sur un système de fichiers, car peu adapté à cet usage (voir les détails).

C'est ici qu'Adiantum se distingue : il permet d'obtenir un bloc de 4 096 octets chiffrés depuis un bloc de 4 096 octets en clair. Il se repose en partie sur Poly1305 pour la phase de hash, et sur ChaCha12 (12 tours de calculs plutôt que 20) pour le chiffrement.

Selon Google, ce choix n'impacte pas la sécurité puisqu'actuellement, huit tours suffisent à s'assurer que les données ne sont pas compromises. AES reste en partie utilisé, mais pour une part mineure des données (16 octets).

L'ensemble est annoncé comme cinq fois plus efficace qu'un chiffrement AES-256-XTS sans accélération matérielle, mais reste moins performant si une telle fonctionnalité est présente. Adiantium ne doit donc être utilisé que sur des appareils où elle fait défaut.

Un document plus technique vient détailler la solution. Google précise que les constructeurs peuvent activer Adiantum, qui devrait se généraliser avec l'arrivée d'Android Q. La société précise d'ailleurs qu'elle souhaite faire du chiffrement une obligation sur tous les appareils à l'avenir.

À voir si cette initiative en inspire d'autres, notamment dans le domaine de la sécurité des objets connectés, où le chiffrement n'est malheureusement pas toujours considéré comme une obligation, là aussi pour des raisons de performances.

Le 08 février 2019 à 09h39

Commentaires (9)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar



On an ARM Cortex-A7 processor, Adiantum decrypts 4096-byte messages at 10.6 cycles per byte, over five times faster than AES-256-XTS, with a constant-time implementation.





Donc dans les 50 cycles/octet sur du ARM ?

Sur du Intel, AES-256-XTS, sans instructions AES-NI, sans SIMD, et sur du mono-thread, c’est environ 20 cycles/octet (pour mon application codée en C et tournant sur un i7-2600k, j’en suis à 21, XTS inclus).

votre avatar

Est-ce vraiment une bonne idée de multiplier les “standards” de chiffrement ?



Je crois que je préférerais avoir le classique XTS-AES sur de l’entrée de gamme - même si c’est plus lent - , plutot que d’avoir un machin spécifique made-in-google qui disparaitra d’ici quelques mois quand l’accélération AES sera dispo sur tous les SoC.

votre avatar

déjà qu’un entrée de gamme c’est lent, avec un algo 5 fois plus lent ça risque d’être inutilisable.

mais bon j’imagine que les gars de chez Google ne savent pas ce qu’ils font, et ont dépensé du temps et de l’argent stupidement alors qu’il suffit d’attendre encore quelques mois. <img data-src=" />

votre avatar







hellmut a écrit :



déjà qu’un entrée de gamme c’est lent, avec un algo 5 fois plus lent ça risque d’être inutilisable.

mais bon j’imagine que les gars de chez Google ne savent pas ce qu’ils font, et ont dépensé du temps et de l’argent stupidement alors qu’il suffit d’attendre encore quelques mois. <img data-src=" />







Bah, je sais pas… Google a dépensé du temps et de l’argent pour:

* WebP (plus efficace que JPEG)

* WEBM (meilleur que H264)

* Protobuf (supérieur a JSON)

* AMP (plus rapide sur mobile que HTML)





Etait-ce de l’argent bien dépensé ? C’est a chacun de voir…


votre avatar

byte = octet

bit = bit



Donc 10.6 cycles/byte ==&gt; 10.6 cycles/octet

votre avatar

Sans oublier que là on parle de SoC d’entrée de gamme, avec de faibles puissance de calcul, donc la comparaison avec un processeur desktop n’a absolument aucun intérêt.

votre avatar







Freeben666 a écrit :



byte = octet

bit = bit



Donc 10.6 cycles/byte ==&gt; 10.6 cycles/octet





C’est bien ce que je disais… 10 x 5 = 50 cycles/octet pour AES-256-XTS. C’est lamentable.

Et la comparaison avec un processeur desktop reste pertinente, vu qu’il s’agit ici de performance pour 1 thread, et en faisant abstraction de la fréquence vu qu’on parle en nombre de cycles.

De plus, AES ne requiert rien de particulier : un petit nombre de registres 32 bits, ou exclusif, décalage de bit, tableaux indexés en 32 bits… Ça devrait être efficace sur la plupart des architectures.


votre avatar

Ok j’avais mal compris ton message, je croyais que “Donc dans les 50 cycles/octet sur du ARM” s’appliquait à Adantium et je ne comprenais pas.



Par contre, non, même avec du mono-thread, ça ne fait aucun sens de comparer les perf d’un SoC ARM avec un processeur desktop intel. Les architecture n’ont rien à voir (RISC vs. CISC, jeux d’instruction incomparables ,…).

votre avatar







vampire7 a écrit :



Donc dans les 50 cycles/octet sur du ARM ?

Sur du Intel, AES-256-XTS, sans instructions AES-NI, sans SIMD, et sur du mono-thread, c’est environ 20 cycles/octet (pour mon application codée en C et tournant sur un i7-2600k, j’en suis à 21, XTS inclus).





Ca ne m’étonne pas, l’ARM c’est du pur RISC, donc il faut plus d’instructions pour faire la même chose (l’Intel c’est du CISC).







127.0.0.1 a écrit :



Est-ce vraiment une bonne idée de multiplier les “standards” de chiffrement ?

Je crois que je préférerais avoir le classique XTS-AES sur de l’entrée de gamme - même si c’est plus lent - , plutot que d’avoir un machin spécifique made-in-google qui disparaitra d’ici quelques mois quand l’accélération AES sera dispo sur tous les SoC.





Il a toujours existé plusieurs algo de chiffrement, SSH par exemple en a toujours eu plusieurs à disposition, SSL aussi. Un algo de chiffrement c’est peu de code généralement (quelques k), ça ne pose pas de problème.







hellmut a écrit :



déjà qu’un entrée de gamme c’est lent, avec un algo 5 fois plus lent ça risque d’être inutilisable.

mais bon j’imagine que les gars de chez Google ne savent pas ce qu’ils font, et ont dépensé du temps et de l’argent stupidement alors qu’il suffit d’attendre encore quelques mois. <img data-src=" />





Juste pour ma réponse ci-dessus.







127.0.0.1 a écrit :



Bah, je sais pas… Google a dépensé du temps et de l’argent pour:

* WEBM (meilleur que H264)

* Protobuf (supérieur a JSON)





Protobuf je n’en avais pas entendu parler, je vais aller regarder.

Note que côté WebM, ils ont depuis poussé un autre standard vidéo, concurrent du H265, si je ne m’abuse.


Adiantum : Google dit avoir une solution pour le chiffrement des appareils Android d’entrée de gamme

Fermer