Questions à un expert : Jornt van der Wiel nous parle de chiffrement

Dans cette seconde partie de «Questions à un expert», Jornt van der Wiel répond à des questions concernant le chiffrement : comment il fonctionne, à quoi il sert, et plus encore.

Jornt Van der Viel est un de nos meilleurs experts en ransomware de notre Équipe internationale de recherche et d’analyse (GreAT). Mais pas seulement, il est aussi doté de connaissances approfondies concernant le chiffrement. Nous avons donné la possibilité à nos lecteurs de poser des questions à Jornt concernant ces deux thèmes. Il y en avait tellement que nous avons été obligés de diviser les questions et réponses en deux articles séparés.

Dans la première partie, Jornt avait répondu à des questions concernant les ransomwares. A présent, il est temps de parler de chiffrement et d’autres sujets relatifs.

Ask the expert: Jornt van der Wiel talks encryption

Je me suis toujours demandé à quoi servait la sécurité informatique. Pour la liberté ? La vie privée ? Ou pour la sécurité ? Ce n’est pas facile de trouver une réponse, c’est pourquoi j’aimerais bien connaître votre avis d’expert à ce sujet.

Selon moi, la sécurité informatique sert à protéger le quotidien des utilisateurs. Rappelons-nous que l’automatisation, et plus tard l’informatique ont été principalement inventés pour nous rendre la vie plus facile, pour automatiser ce que les êtres-humains faisaient d’habitude manuellement. Malheureusement, de nombreux systèmes informatiques n’étaient pas conçus pour assurer la sécurité, ce qui explique la situation dans laquelle nous sommes aujourd’hui. Si l’informatique n’est pas protégée, la vie au quotidien finira par devenir un chaos.

Imaginez que vous ayez été transporté d’urgence à l’hôpital et qu’ils ne peuvent pas vous aider parce qu’ils auraient été piratés. Ou que vous viviez en dessous du niveau de la mer et que votre maison se retrouve soudainement engloutie sous les eaux parce qu’un barrage aurait été piraté. Voici quelques scénarios qui pourraient avoir lieu.

Mais il n’est pas seulement question de ces scénarios catastrophes, le quotidien est également fait de petites choses qui nous concernent tous. Imaginez un instant que quelqu’un perde les photos de son père récemment disparu à cause d’un ransomware qui aurait infecté son ordinateur. Ce genre de perte a un énorme impact sur la vie des gens. Et c’est pourquoi la sécurité informatique existe, pour protéger les choses qui comptent le plus pour chacun d’entre nous.

Comment aideriez-vous une personne qui n’a pas beaucoup de connaissances informatiques, à comprendre l’importance du chiffrement au quotidien ?

Je pense que la meilleure manière de le faire est de donner quelques exemples de ce qui se passerait s’il n’y avait pas de chiffrement. Une des choses qui se produit souvent est lorsqu’on perd ou qu’on se fait voler des données sur une clé USB ou sur un ordinateur portable. Si les données ne sont pas chiffrées, les documents personnels de la victime peuvent être vus par quiconque aurait accès à son ordinateur portable ou sa clé USB. On peut aussi penser aux paiements en ligne et à leur suivi s’il n’y avait pas de chiffrement. Etc. Les exemples de la vie réelle sont la meilleure explication.

Est-il facile de concevoir des algorithmes de chiffrement ? Combien de temps cela prend-t-il ?

Créer un algorithme de chiffrement fiable, un qui soit mathématiquement sécurisé, prend des années de recherche, sans parler de l’enseignement des mathématiques. Si vous souhaitez en revanche créer quelque chose de simple, qui pourrait être craqué en quelques secondes, ça ne prend presque rien.

Comment fonctionne réellement le chiffrement ?

Nous devons ici faire la différence entre différents types de chiffrement : les chiffrements de flux, la cryptographie symétrique, et la cryptographie asymétrique (cette dernière est aussi connue comme la cryptographie à clé publique).

Concernant les chiffrements de flux, c’est assez simple. Sur la base de votre clé, un flux interminable de données est généré, vous maintenez tout simplement la fonction OU exclusif (XOR) sur votre texte crypté (si vous tapez les deux ensembles de données, vous pouvez juste les maintenir l’un contre l’autre) Le résultat sera le texte original.

Pour les cryptographies symétriques, vous devez faire le procédé inverse de votre processus de chiffrement. Par exemple, pour chiffrer des données, vous devez faire A, puis B, puis C, et ensuite pour déchiffrer, C, puis B, puis A.

En ce qui concerne la cryptographie asymétrique, c’est de la « pure magie ». Cela dépend réellement du type de cryptographie asymétrique (ECC et RSA travaillent de façon complètement différente). J’ai cependant écrit « magie » à cause des propriétés mathématiques impliquées. Savoir de quelle manière déchiffrer est différent de comprendre les maths à l’origine du processus de déchiffrement.

Quel algorithme de chiffrement est le plus fiable ?

Il existe plusieurs algorithmes de chiffrement qui peuvent être utilisés à des fins différentes. En général, je pencherais plus pour ceux qui ont gagné la NIST competition (AES/Rijndael et SHA-3/KECCAK). Ça dépend aussi vraiment de quelle façon l’algorithme sera utilisé dans quel type de système. Si vous avez une mémoire limitée, vous pouvez par exemple opter pour la cryptographie sur les courbes elliptiques (ECC), qui utilise de plus petites clés que RSA.

Quelles méthodes de chiffrement sont résistantes à l’attaque de la force brute depuis un ordinateur quantique ?

Waouh ! J’ai dû en lire pas mal avant de répondre à cette question (rires). C’est exactement ce à quoi je voulais en venir. Tout d’abord, les différences entre un ordinateur quantique et un ordinateur ordinaire est que l’ordinateur quantique fonctionne, avec ce qu’on appelle des « qubits » au lieu des bits normaux. Un qubit peut contenir deux bits. Maintenant pour faire simple, en ce qui concerne la cryptographie symétrique, doubler la taille de la clé réduirait les avantages d’avoir un ordinateur quantique pour déchiffrer via l’attaque de la force brute.

En ce qui concerne la cryptographie asymétrique, l’histoire est légèrement différente. Peter Shor, un grand mathématicien, a inventé l’algorithme de Shor, qui peut être utilisé pour la décomposition en produit de facteurs premiers en temps polynomial. En clair, le problème de la décomposition en produit de facteurs premiers est un des problèmes sur lequel de nombreux algorithmes à clé publique dépendent lourdement. Etre capable de factoriser la décomposition en produit de facteurs premiers en temps polynomial, réduit considérablement la sécurité des algorithmes à zéro.

Comment peut-on mettre un algorithme de chiffrement dans son programme ?

Tout simplement en téléchargeant une bibliothèque cryptographique pour votre langage de programmation et en utilisant une API. Vous pouvez ensuite nommer des fonctions cryptographiques de cette bibliothèque et l’utiliser dans votre code.

Est-ce que toutes les organisations utilisent des algorithmes de chiffrement « forts », ou préfèrent-elles prendre le code de sources publiques et ne l’ajuster qu’un peu ?

Je suppose que vous parlez des entreprises de développement de logiciels ? J’espère bien qu’elles n’ajustent pas le code depuis des sources publiques. Par le passé, nous avons pu voir que les choses peuvent mal tourner. Comme ce fut le cas pour le bug du générateur de nombres aléatoires de Debian Linux par exemple. Pour résumer, ils ont modifié le code, en le rendant plus faible au lieu de plus fort. Ce que nous voyons dans la pratique est que plusieurs fois, les kits de développement logiciel sont utilisés accompagnés d’un package (par exemple un terminal de point de vente (TPV)), ou ceux qui sont publiquement disponibles. C’est aussi la raison pour laquelle les bugs d’Open SSL provoquent tant de problèmes pour de nombreux vendeurs.

A l’avenir, le chiffrement va-t-il devenir obsolète ou en voie de disparation, étant donné que les agences gouvernementales (telles que le GCHQ) tenteront de mettre en place des portes dérobées afin de recueillir des données, cela veut-il dire que le chiffrement pourrait devenir désuet ?

Je ne pense pas que le chiffrement puisse être obsolète, et je suis convaincu qu’il ne le deviendra pas. Par exemple, le Data Encryption Standard (DES) a été inventé il y longtemps, et on en voit toujours fréquemment sur des appareils. On peut donc imaginer que ça prendra un bon bout de temps avant que ces dispositifs et que les nouveaux équipés de l’Advanced Encryption Standard (AES) deviennent complètement hors d’usage. Il existe aussi certains pays, comme celui dans lequel je vis, qui ont récemment pris fermement position contre les portes débordées sur les logiciels en affirmant que le chiffrement était une bonne chose. De l’argent a même été donné (si je ne me trompe pas) en faveur du développement d’Open SSL. Donc je ne pense pas qu’il deviendra obsolète.

Est-il possible de connaître la fiabilité d’un système tel que TrueCrypt ? Existe-t-il des alternatives viables qui pourraient être utilisées, peut-être sur le Cloud, comme Dropbox ?

TrueCrypt a été examiné pour les portes dérobées et les erreurs d’exécution. Ils n’ont rien trouvé. Un peu plus tard, le code source de TrueCrypt avait été publié, ainsi les utilisateurs pouvaient le contrôler d’eux-mêmes s’ils le souhaitaient. Quelques vulnérabilités avaient été découvertes, mais rien qui ne ressemblait à une porte dérobée. Ensuite, les retombées basées sur le code de TrueCrypt avaient été mises sous open source, ce qui veut dire également qu’elles peuvent et doivent être examinées. En clair : oui, la fiabilité existe parce qu’elle a été contrôlée. L’avantage de TrueCrypt comme solution par rapport à Dropbox est que vous pouvez obtenir les clés vous-même. Même si Dropbox chiffre vos fichiers lorsqu’il les sauvegarde sur le serveur, il détient toujours les clés, ce qui veut dire qu’il peut accéder à vos données. D’un autre côté, l’avantage de Dropbox par rapport à TrueCrypt est qu’il effectue des sauvegardes. Mon conseil ? Chiffrez vos fichiers localement, vous pourrez ensuite les sauvegarder n’importe où, aussi longtemps que vous serez en possession de la clé.

Est-ce que les jeux chiffrent les données qu’ils transfèrent depuis un client du serveur et inversement ? Si non, un utilisateur peut-il faire quelque chose pour sécuriser les données transférées des escrocs du net ?

J’ose espérer que les jeux communiquent avec le serveur par le biais d’une connexion chiffrée. Dans le cas contraire, ce serait la porte ouverte à toutes sortes de fraudes. S’il n’y a pas de chiffrement, il n’y a rien qu’on puisse faire, ni vous en tant que joueur. Etablir seulement une connexion SSL au serveur ne fonctionnera pas, le serveur ne comprenant pas le protocole SSL. J’émettrai tout de même une petite remarque : si la connexion entre le serveur est le client n’est pas chiffrée, et qu’il vous arrive d’héberger à la fois le serveur et le client, vous pouvez tout simplement développer des tunnels SSL entre le client et le serveur afin d’avoir des communications chiffrées.

Comment peut-on concevoir une protection fiable pour un jeu d’ordinateur ?

Si vous voulez vraiment une protection fiable, vous devriez passer à une solution hardware sans porte dérobée. Voici une vidéo intéressante à ce sujet :

Si vous souhaitez le faire uniquement sur logiciel, regardez comment Denuvo protège les jeux d’ordinateur (même si ces derniers ont également été craqués). Vous pouvez vous faire une idée de comment ça marche, et de ce qui peut être fait, en cliquant ici.

Voilà qui met fin à notre interview avec Jornt Van der Wiel, un de nos meilleurs experts en ransomware et chiffrement. On espère que vous avez trouvé des réponses à vos questions. Merci à tous pour votre participation !

Conseils

Assurer la sécurité du domicile

Les entreprises de sécurité proposent des technologies intelligentes, principalement des caméras, pour protéger votre maison contre les vols, les incendies et les autres incidents. Mais qu’en est-il de la protection des systèmes de sécurité eux-mêmes contre les intrus ? Nous comblons cette lacune.