Un bon cryptage des données sensibles ne suffit pas à les protéger. Il faut aussi que les protocoles de communication utilisés pour coder ces données soient dépourvus de failles, dans leur logique comme dans leur mise en œuvre.
Le 6 septembre 2013, le monde apprenait avec stupéfaction l'existence de Bullrun. Ce programme de l'Agence de sécurité américaine, la nsa (National Security Agency), vise à décoder un grand nombre d'informations cryptées circulant sur Internet. À partir des documents secrets que leur a livrés le lanceur d'alerte Edward Snowden, le New York Times et le Guardian révélaient qu'une percée technique avait multiplié la puissance de Bullrun en 2010, de sorte que les transactions et communications en ligne protégées des banques et de la plupart des grands fournisseurs de service sur Internet étaient désormais accessibles « en grands volumes » aux agences de renseignement (voir la figure 1); on apprenait aussi que ces agences disposent de superordinateurs pour décrypter par la « force brute » les données qui résistent…
Aujourd'hui, sans vraiment le savoir, nous réalisons tous quotidiennement des opérations de cryptage. Des chiffrements permettent, par exemple, de protéger notre numéro de carte bancaire lors d'un achat en ligne ; on les retrouve dans les protocoles (les procédures de communication) utilisés en téléphonie mobile ou pour lire les passeports électroniques. Pour autant, toutes ces données sensibles, nos données, sont-elles vraiment protégées ? Où sont les points faibles ? Nous allons analyser dans cet article ce qui conditionne la qualité des systèmes de sécurisation des données utilisés de façon routinière.
Sur un réseau, tout se passe comme si les informations protégées ne circulaient qu'à l'intérieur de coffres-forts réalisés dans un matériau solide : le chiffre (le cryptage). Toutefois, quelle que soit la solidité mathématique du chiffrement opéré, encore faut-il que l'assemblage des pièces qui constituent les coffres-forts en circulation ne laisse pas apparaître de fente exploitable par une personne mal intentionnée… Finalement, l'expédition de coffres-forts d'un côté et de leurs clefs de l'autre n'est pas une pratique sans risques, et il arrive qu'on y commette des erreurs, voire qu'on laisse traîner les clefs…
Chiffre et compagnie
Le chiffrement, nous l'avons dit, est l'analogue du matériau constituant les parois du coffre-fort. Il en existe de nombreux types, chacun caractérisé par des contraintes d'utilisation et des niveaux de sécurité différents. Quoi qu'il en soit, la qualité d'une primitive cryptographique, c'est-à-dire d'un algorithme de cryptage particulier, se mesure à sa robustesse et à sa facilité de mise en œuvre. Tout comme les parois d'un coffre-fort peuvent être plus ou moins épaisses, la robustesse d'une primitive cryptographique peut être plus ou moins importante. Une primitive sera considérée comme faible quand il est facile de découvrir comment inverser son chiffrement, inversion qui permet de révéler les données protégées (voir l'encadré page suivante).
Après la robustesse, le deuxième critère à prendre en compte dans le choix d'une primitive cryptographique est la facilité avec laquelle on pourra la mettre en œuvre dans la situation à traiter. Si placer dans un appartement ou une maison particulière un coffre-fort aux parois d'acier de dix centimètres d'épaisseur et pesant cinq tonnes semble une précaution exagérée, ce n'est pas le cas dans une banque. De même, les contraintes qui accompagnent l'emploi d'une primitive cryptographique restreignent ses applications.
Les systèmes de sécurisation des données embarqués dans un téléphone portable, par exemple, sont limités en mémoire et en puissance de calcul, ce qui y interdit les primitives trop complexes ; la situation est différente si les données à protéger ont vocation à être stockées sur un serveur.
Une fois la primitive choisie, il reste à fixer la taille de la clef de chiffrement à utiliser. Une telle clef consiste en une série de bits (de valeurs 0 ou 1) déterminant la façon dont s'opère le cryptage avec un algorithme donné. Dans le cas des algorithmes dits symétriques, la clef spécifie aussi le déchiffrement. Dans celui des algorithmes dits asymétriques, elle ne sert qu'au chiffrement, et une clef supplémentaire est nécessaire au déchiffrement. Quoi qu'il en soit, un principe général prévaut : plus une clef est longue, plus il sera difficile de casser le chiffrement correspondant et le cryptosystème dont elle est le cœur.
Attaques par force brute
Ce principe général s'explique facilement si l'on considère le cas d'un algorithme symétrique public – c'est-à-dire connu et employé par qui veut. Supposons ce mode de cryptage contrôlé par une clef comportant N bits. Pour le casser, il existe toujours, en dernier ressort, la...
Rémy Chrétien et Stéphanie Delaune
pour la science
Le 6 septembre 2013, le monde apprenait avec stupéfaction l'existence de Bullrun. Ce programme de l'Agence de sécurité américaine, la nsa (National Security Agency), vise à décoder un grand nombre d'informations cryptées circulant sur Internet. À partir des documents secrets que leur a livrés le lanceur d'alerte Edward Snowden, le New York Times et le Guardian révélaient qu'une percée technique avait multiplié la puissance de Bullrun en 2010, de sorte que les transactions et communications en ligne protégées des banques et de la plupart des grands fournisseurs de service sur Internet étaient désormais accessibles « en grands volumes » aux agences de renseignement (voir la figure 1); on apprenait aussi que ces agences disposent de superordinateurs pour décrypter par la « force brute » les données qui résistent…
Aujourd'hui, sans vraiment le savoir, nous réalisons tous quotidiennement des opérations de cryptage. Des chiffrements permettent, par exemple, de protéger notre numéro de carte bancaire lors d'un achat en ligne ; on les retrouve dans les protocoles (les procédures de communication) utilisés en téléphonie mobile ou pour lire les passeports électroniques. Pour autant, toutes ces données sensibles, nos données, sont-elles vraiment protégées ? Où sont les points faibles ? Nous allons analyser dans cet article ce qui conditionne la qualité des systèmes de sécurisation des données utilisés de façon routinière.
Sur un réseau, tout se passe comme si les informations protégées ne circulaient qu'à l'intérieur de coffres-forts réalisés dans un matériau solide : le chiffre (le cryptage). Toutefois, quelle que soit la solidité mathématique du chiffrement opéré, encore faut-il que l'assemblage des pièces qui constituent les coffres-forts en circulation ne laisse pas apparaître de fente exploitable par une personne mal intentionnée… Finalement, l'expédition de coffres-forts d'un côté et de leurs clefs de l'autre n'est pas une pratique sans risques, et il arrive qu'on y commette des erreurs, voire qu'on laisse traîner les clefs…
Chiffre et compagnie
Le chiffrement, nous l'avons dit, est l'analogue du matériau constituant les parois du coffre-fort. Il en existe de nombreux types, chacun caractérisé par des contraintes d'utilisation et des niveaux de sécurité différents. Quoi qu'il en soit, la qualité d'une primitive cryptographique, c'est-à-dire d'un algorithme de cryptage particulier, se mesure à sa robustesse et à sa facilité de mise en œuvre. Tout comme les parois d'un coffre-fort peuvent être plus ou moins épaisses, la robustesse d'une primitive cryptographique peut être plus ou moins importante. Une primitive sera considérée comme faible quand il est facile de découvrir comment inverser son chiffrement, inversion qui permet de révéler les données protégées (voir l'encadré page suivante).
Après la robustesse, le deuxième critère à prendre en compte dans le choix d'une primitive cryptographique est la facilité avec laquelle on pourra la mettre en œuvre dans la situation à traiter. Si placer dans un appartement ou une maison particulière un coffre-fort aux parois d'acier de dix centimètres d'épaisseur et pesant cinq tonnes semble une précaution exagérée, ce n'est pas le cas dans une banque. De même, les contraintes qui accompagnent l'emploi d'une primitive cryptographique restreignent ses applications.
Les systèmes de sécurisation des données embarqués dans un téléphone portable, par exemple, sont limités en mémoire et en puissance de calcul, ce qui y interdit les primitives trop complexes ; la situation est différente si les données à protéger ont vocation à être stockées sur un serveur.
Une fois la primitive choisie, il reste à fixer la taille de la clef de chiffrement à utiliser. Une telle clef consiste en une série de bits (de valeurs 0 ou 1) déterminant la façon dont s'opère le cryptage avec un algorithme donné. Dans le cas des algorithmes dits symétriques, la clef spécifie aussi le déchiffrement. Dans celui des algorithmes dits asymétriques, elle ne sert qu'au chiffrement, et une clef supplémentaire est nécessaire au déchiffrement. Quoi qu'il en soit, un principe général prévaut : plus une clef est longue, plus il sera difficile de casser le chiffrement correspondant et le cryptosystème dont elle est le cœur.
Attaques par force brute
Ce principe général s'explique facilement si l'on considère le cas d'un algorithme symétrique public – c'est-à-dire connu et employé par qui veut. Supposons ce mode de cryptage contrôlé par une clef comportant N bits. Pour le casser, il existe toujours, en dernier ressort, la...
Rémy Chrétien et Stéphanie Delaune
pour la science