Fondamentaux du chiffrement de flux : définition, utilisation et comparaisons

Fondamentaux du chiffrement de flux : définition, utilisation et comparaisons

Des milliers d’entreprises dans le monde s’appuient sur Okta pour gagner du temps et réduire les coûts. Découvrez l’impact que la gestion des identités pourrait avoir sur la vôtre.

Fondamentaux du chiffrement de flux : définition, utilisation et comparaisons

Découvrez pourquoi les principaux analystes du secteur classent systématiquement Okta et Auth0 parmi les leaders de l’identité

Le chiffrement de flux, ou « stream cipher », se base sur un processus octet par octet qui transforme un texte ordinaire en code illisible pour quiconque ne dispose pas de la clé appropriée. 

Le chiffrement de flux étant linéaire, la même clé est utilisée pour chiffrer et déchiffrer les messages. Et bien qu'il soit difficile de craquer le code ainsi chiffré, des hackers y sont parvenus.

C'est pourquoi des experts estiment que le chiffrement de flux n'offre pas la sécurité requise pour une utilisation généralisée. Malgré cela, de nombreux utilisateurs continuent de faire confiance à cette technologie pour transmettre des informations via Internet. 

Comment fonctionne le chiffrement de flux ?

Toutes les méthodes de chiffrement visent à mélanger des données pour les rendre inaccessibles aux personnes non autorisées. Mais contrairement à ses homologues, la technique du chiffrement de flux, également appelée chiffrement par flot, traite chaque bit de donnée, au lieu de diviser le message en groupes et de les chiffrer par bloc. 

Le chiffrement de flux utilise les éléments suivants :

  • Du texte ordinaire. Un message prédéterminé à encoder. 
  • Des flux de clés. Un jeu de caractères aléatoires pour remplacer ceux du texte ordinaire. Il peut s'agir de caractères alphabétiques et numériques, et des symboles ou caractères spéciaux. 
  • Du texte chiffré. Voici un exemple de message encodé. 

La génération d'une clé de chiffrement est un processus mathématique complexe. La plupart des ordinateurs peuvent exécuter chacune de ces étapes en quelques secondes.

Les bits du texte ordinaire sont injectés dans le système de chiffrement qui applique la formule mathématique définie par la clé sur chaque bit pour l'encoder. Le texte obtenu est ainsi totalement brouillé. Personne, pas même son destinataire, ne peut le lire sans la clé appropriée. 

Avec la bonne clé, le destinataire peut injecter le texte chiffré dans le processus de chiffrement de flux, qui retransformera le texte brouillé en texte ordinaire.

Deux types de chiffrement de flux sont utilisés, caractérisés par un fonctionnement légèrement différent.

Le chiffrement de flux n'est pas le seul outil à votre disposition. Vous pouvez aussi utiliser le chiffrement par bloc (ou « block cipher »). Le chiffrement par bloc décompose les messages en blocs, puis chaque section est codée par un algorithme de chiffrement.

Quelles sont les applications du chiffrement de flux?

Si vous avez déjà regardé un film sur la Seconde Guerre mondiale, vous avez probablement vu des applications réelles de la puissance de cette technique de chiffrement. Le commandement allemand l'utilisait pour envoyer ses ordres à ses navires et autres forces. Mais après des années d'efforts, des experts anglais ont réussi à craquer leur code. 

Enigma, la machine utilisée par les Allemands était très complexe et ressemblait vaguement à une machine à écrire. Une rangée de 26 témoins lumineux au-dessus des touches confirmait chaque bonne conversion. Chaque témoin représentait un caractère converti. Les clés étaient modifiées périodiquement. Une simple pression sur un bouton permettait à la machine Enigma d'enregistrer des messages dans un nouveau code. 

Aujourd'hui, un modèle en ligne vous permet d'expérimenter vous-même la machine Enigma (très complète avec les sons d'origine). Si vous tapez le mot « Welcome » sur cette simulation, vous obtenez le message codé : « 4JOTSXI ». 

L'histoire est fascinante. Mais n'allez pas croire que le chiffrement de flux a cessé avec la fin de la guerre. En fait, ses utilisateurs sont encore très nombreux aujourd'hui. 

Le chiffrement de flux offre de nombreux avantages. Par exemple :

  • La rapidité. Cette technique de chiffrement est généralement plus rapide que les autres, y compris le chiffrement par bloc. 
  • La réduction de la complexité. Le chiffrement de flux peut être facilement incorporé dans des programmes modernes et son développement n'exige pas de matériel complexe. 
  • Le côté séquentiel. Certaines entreprises préfèrent envoyer les messages au fur et à mesure de leur codage, au compte-gouttes. Grâce au traitement bit par bit, le chiffrement de flux permet d'envoyer les informations dès qu'elles sont codées, au lieu d'attendre et de tout envoyer en un seul transfert.
  • La facilité d'utilisation. Le chiffrement de flux utilise des outils de chiffrement symétriques, ce qui évite à ses utilisateurs de gérer des clés privées et des clés publiques. Les concepts mathématiques, qui sous-tendent le chiffrement de flux moderne permettent aux ordinateurs de déterminer la bonne clé de déchiffrement à utiliser. 

Comme le chiffrement de flux est facile à mettre en œuvre, de nombreuses personnes et organisations l'utilisent. En fait, c'est aussi le cas dans la plupart des navigateurs et sites Web. 

Lorsque vous vous connectez à un site Web protégé, ce dernier envoie à votre ordinateur un certificat SSL. Ce document est chiffré. La plupart des sites utilisent le chiffrement de flux pour protéger ce type de communication.

Examinons de plus près la création d'un chiffrement de flux

Le chiffrement de flux est principalement basé sur des concepts mathématiques. Ils régissent le remplacement des informations dans le texte ordinaire et déterminent le processus de transformation du message chiffré en contenu lisible. 

Dans la plupart des cas, le chiffrement de flux est basé sur ce que l'on appelle des registres à décalage à rétroaction (ou « linear-feedback shift registers », LFSR). Faciles à mettre en œuvre, ils n'offrent pas une sécurité très robuste. Les développeurs tentent de renforcer la sécurité par les moyens suivants :

  • Des fonctions de combinaisons non-linéaires. Elles éliminent la nature linéaire des mathématiques utilisées et augmentent donc légèrement le niveau de difficulté du déchiffrement. 
  • Des fonctions commandées par l'horloge. Elles intègrent un facteur temps qui modifie le code final. 
  • Des filtres. Les développeurs ajoutent à leur calculs un élément supplémentaire ou filtre, qu'ils gardent strictement secret. 

À l'avenir, des développeurs pourraient mettre au point des techniques encore plus robustes, pour renforcer le chiffrement de flux, et s'assurer que des pirates ne puissent pas démonter leur travail.

Le chiffrement de flux est-il à l'épreuve des hackers ?

Comme nous l'avons appris pendant la Seconde Guerre mondiale, même les codes sophistiqués peuvent être craqués avec une bonne dose de créativité et de persévérance. Aucune méthode de chiffrement n'est 100 % infaillible lorsque des experts sont déterminés à investir leur temps et leurs efforts pour pénétrer dans un système. 

Si vous avez consulté des forums de hackers, vous savez déjà que la plupart d'entre eux considèrent que les algorithmes de chiffrement de flux sont extrêmement faciles à inverser. Examinez-les pour savoir comment ils ont été codés. Vous pouvez utiliser les mêmes outils pour inverser le processus. 

Pour optimiser la sécurité, la meilleure méthode de chiffrement de flux consiste à n'utiliser les clés qu'une seule fois. Aucune des clés ne doit avoir quel que lien que ce soit avec d'autres clés précédemment utilisées. Ainsi, même si des pirates craquent une clé, le reste de la sécurité de votre système restera intact.

Chiffrements de flux les plus utilisés 

Dans le domaine du chiffrement de flux, on parle beaucoup du RC4. Il est le chiffrement de flux le plus populaire au monde, et il est donc très largement utilisé. 

Le fonctionnement du RC4 est le suivant :

Mais précisons que d'autres options très nombreuses sont disponibles. Wikipedia ne compte pas moins de 25 types différents de chiffrements de flux, différenciés par leurs coûts, leur rapidité et leurs niveaux de complexité. 

Le choix de la bonne méthode de chiffrement est seulement un des éléments du développement d'un système de sécurité robuste. Vous devez aussi protéger les données à l'aide des pare-feu requis, organiser le stockage approprié des mots clés et la formation des employés.

Nous pouvons vous aider. Découvrez comment Okta peut collaborer avec vous pour assurer la sécurité de votre entreprise.

Références

« Rusty but Intact: Nazi Enigma Cipher Machine Found in the Baltic Sea », (décembre 2020), Ars Technica. 

« The Lorenz SZ40/42 Cipher Attachment », Virtual Lorenz. 

« Introduction to Cryptography: One-Time Pads and Stream Ciphers », (février 2020), Medium. 

« Stream Ciphers », ScienceDirect.

« Synchronous Stream Cipher », (2011), Encyclopedia of Cryptography and Security.

« Self-Synchronizing Stream Cipher », (2011), Encyclopedia of Cryptography and Security.

« Send Encrypted Messages Like They Did During the War With This Virtual Lorenz Cipher Machine », (mai 2017), Wired. 

« Having Keys and Binary, How Do I Reverse/Decrypt a Stream Encryption? », (2016), Reverse Engineering Stack Exchange. 

« Stream Cipher », Wikipedia.