À quel point votre crypto est-elle agile? L'étude d'entrevue explore les opportunités et les défis des processus de mise à jour cryptographique

Si vous considérez le logiciel comme un bâtiment, vous pourriez dire qu'il est composé de blocs de code. Beaucoup de ces éléments constitutifs sont construits sur mesure pour une application spécifique. D'autres sont des composants standard et utilisés dans de nombreux bâtiments – les algorithmes et fonctions cryptographiques en sont un excellent exemple.

Dans une étude d'entrevue qualitative avec 21 participants internationaux, le chercheur de CISPA, Alexander Krause, a exploré les défis auxquels sont confrontés les développeurs de logiciels expérimentés lorsqu'ils souhaitent renouveler les implémentations de cryptographie existantes – ou même créer de meilleurs blocs de construction cryptographique de zéro.

L'étude CISPA sera présentée le 14 août 2025 au Symposium de sécurité de l'USENIX à Seattle, aux États-Unis.

Crypto Agility – ou: Pourquoi la crypto devient-elle obsolète?

Les algorithmes cryptographiques sont des blocs de construction fondamentaux dans le développement de nouvelles applications. Ils garantissent que les données et les informations peuvent être communiquées sous forme cryptée, protégé de manière fiable des yeux indiscrets de tiers non autorisés.

Contrairement à la plupart des autres séquences de code, certaines implémentations cryptographiques perdent leur efficacité au fil du temps. Comme d'autres champs technologiques avancent, par exemple, si les ordinateurs gagnent considérablement la puissance de traitement, le chiffrement asymétrique peut potentiellement devenir vulnérable.

L'informatique quantique en est un exemple de manuel. Comme l'explique le chercheur de CISPA, Krause, « Si les connexions sont chiffrées avec TLS, ces flux de données ne peuvent pas encore être décryptés – mais il est très probable que cela sera possible à l'avenir. Les ordinateurs quantiques pourront calculer beaucoup plus efficacement, car ils n'utilisent pas seulement les états binaires 0 et 1, mais les trois états 0, 1 et 01 simultanément. »

L'informatique avec trois états possibles permet aux machines quantiques de résoudre des problèmes mathématiques beaucoup plus rapidement et d'utiliser de nouveaux algorithmes plus efficaces qui ne sont pas disponibles sur les ordinateurs « conventionnels ».

La mise à jour des implémentations cryptographiques est donc une tâche récurrente – et une avec des implications de grande envergure pour les utilisateurs de logiciels. Si les mises à jour de la cryptographie vont mal, les conséquences pour la sécurité globale des logiciels peuvent être graves. Dans ce contexte, Krause fait référence au concept de «crypto-agilité».

« Ce processus de mise à jour récurrent pour les implémentations cryptographiques commence idéalement par quelque chose appelé 'Crypto Agility. Cela signifie que lorsque les développeurs conçoivent un logiciel, ils gardent déjà à l'esprit qu'ils peuvent avoir besoin de remplacer ou de mettre à jour l'implémentation cryptographique à un moment donné dans le futur », explique Krause.

Penser à l'avance de cette manière est censé faciliter la mise à jour du logiciel plus tard avec des méthodes cryptographiques de pointe. Cependant, l'exécution de mises à jour cryptographiques nécessite des connaissances hautement spécialisées que de nombreux développeurs de logiciels ne possèdent pas.

Les bibliothèques cryptographiques nécessitent une maintenance

Les implémentations cryptographiques ont tendance à provenir de bibliothèques cryptographiques libres accessibles au public qui sont maintenues par des communautés de développeurs spécialisées. Ces projets open source, qui profitent aux développeurs du monde entier, sont généralement soutenus par une poignée de personnes qui contribuent à leur temps sur une base bénévole.

« C'est un principe fondamental du développement de logiciels que les développeurs réutilisent les composants existants à moins qu'ils aient besoin d'une solution personnalisée », explique Krause. « Cela signifie également que je n'écris pas une nouvelle implémentation pour une norme cryptographique à partir de zéro à chaque fois – j'importe une bibliothèque dans le langage de programmation que j'utilise qui fournit déjà la fonction requise. »

Bien que la réutilisation des algorithmes et des fonctions existants cède une programmation efficace, il présente également des risques de sécurité uniques en ce qui concerne la cryptographie. Si les bibliothèques cryptographiques ne sont pas correctement entretenues et que les bogues ne sont pas non fixés, ces vulnérabilités peuvent proliférer sur un large éventail d'applications.

Dans le contexte de la «chaîne d'approvisionnement» – c'est-à-dire une sorte de dépendance des projets logiciels d'autres ressources – cela crée ce que l'on appelle un «point de défaillance unique». Si une bibliothèque de crypto n'est pas maintenue de manière fiable, elle peut compromettre la fonctionnalité de tous les produits qui s'appuient sur elle dans la chaîne d'approvisionnement.

Comment recrutez-vous des populations d'experts pour une étude? Avec un travail acharné

En menant une étude d'entrevue qualitative avec 21 participants, Krause et ses collègues CISPA ont exploré les défis que les développeurs de logiciels, qui ne sont généralement pas des experts cryptographiques eux-mêmes, sont confrontés à la mise à jour des implémentations cryptographiques.

Leur objectif était de trouver des réponses à quatre questions de recherche étroitement définies: comment les développeurs apprennent-ils une mise à jour de cryptographie recommandée? Quels objectifs poursuivent-ils avec la mise à jour? Quels processus suivent-ils lors de la planification et de l'exécution d'une mise à jour cryptographique? Et enfin, quelle expérience ont-ils acquis lors de la réalisation de ces mises à jour?

« Il y a déjà beaucoup de recherches sur la mise à jour des projets logiciels en général », explique Krause. « Mais ici, nous voulions explorer si les populations d'experts ayant des connaissances hautement spécialisées ont également des exigences uniques. »

Le recrutement des participants pour l'étude était un défi majeur. « Il était difficile de rassembler ces 21 développeurs – cela a pris beaucoup d'efforts », explique Krause. « Nous n'avons inclus que des développeurs expérimentés et nous avons évalué leur expérience en fonction des contributions qu'ils avaient déjà apportées aux projets logiciels. »

En plus de tendre la main via leur réseau professionnel, les chercheurs ont publié leur appel à des participants sur Upwork et ont contacté de nombreux autres candidats potentiels par e-mail. Le recrutement par courrier électronique prenait en particulier du temps, car il nécessitait des recherches en ligne approfondies pour trouver des coordonnées accessibles au public pour les participants appropriés. Krause estime que le taux de réponse de la campagne d'e-mail n'était qu'environ 1%.

« Les gens ont participé à l'étude pour différentes raisons », résume-t-il. « Certains étaient intrinsèquement motivés parce qu'ils considéraient la recherche comme importante et voulaient le soutenir. D'autres se sentaient personnellement reconnus – ils ont dit: » Oh, vous avez regardé mon code Github et mon projet. C'est formidable que vous ayez pris note de mon travail. «  »

Résultats hétérogènes: les mises à jour cryptographiques dépendent du contexte

L'une des principales conclusions de l'étude d'entrevue est que le flux d'informations autour des mises à jour cryptographiques recommandés est incohérente et parfois incomplète. Les mises à jour ont été principalement déclenchées par des informations que les développeurs ont reçues grâce à des sources comme les blogs, les médias sociaux et GitHub. Cependant, selon leur affiliation institutionnelle, certains groupes de développeurs sont plus susceptibles de recevoir des informations sur les mises à jour que leurs collègues.

« Si vous travaillez pour une grande entreprise, il existe souvent des accords. Ils reçoivent souvent un préavis de vulnérabilités et peuvent être les premiers à les corriger – par exemple, dans le cadre d'un processus de divulgation. Ces informations sont transmises par le biais de listes de diffusion privées auxquelles seules quelques personnes ont accès », résume Krause.

« Un gros point à retenir pour nous a été à quel point il est difficile de pénétrer dans ces communautés. Quelqu'un qui veut commencer maintenant, comment se connectent-ils? Comment arrivent-ils sur l'une de ces listes? »

L'étude d'entrevue a également révélé qu'il existe des processus structurés rarement établis pour gérer les mises à jour de la cryptographie dans les entreprises ou les projets. La hiérarchisation de ces mises à jour dépendait parfois des ressources disponibles telles que la taille de l'équipe. Les processus de prise de décision et les responsabilités concernant les mises à jour cryptographiques étaient également peu claires.

« Ce fut une surprise négative pour nous », explique Krause. « Qui décide qui est responsable d'une mise à jour cryptographique? Cela variait beaucoup. Parfois, il y avait en fait des leaders qui y étaient affectés. Dans d'autres cas, c'était: » Vous venez de vous découvrir qu'il y a cette vulnérabilité, donc c'est votre travail de le réparer. «  »

En tant que l'une de leurs principales contributions de recherche, les chercheurs ont décrit un tel processus de mise à jour, consolidant les déclarations hétérogènes que les participants avaient faites. Leur processus en plusieurs étapes attribue les trois groupes de parties prenantes différents (utilisateurs internes, externes et finaux) à six phases: déclencheur, objectifs, planification, exécution, assurance qualité et déploiement.

D'autres résultats de l'étude se sont avérés à la fois plus positifs et prévisibles pour l'équipe de recherche, comme par exemple les motivations derrière la mise en œuvre des mises à jour cryptographiques. « Nous avons été globalement surpris globalement que de nombreux développeurs soient intrinsèquement motivés pour s'assurer que leur logiciel est à l'épreuve des futurs », explique Krause.

De plus, des mises à jour préventives ont été effectuées pour obtenir un avantage de sécurité sur les menaces futures. Les commentaires étaient également assez cohérents en ce qui concerne la perception que les mises à jour cryptographiques sont onéreuses et complexes.

Krause résume: « Tous nos participants avaient des antécédents très individuels et des projets très individuels, mais dans l'ensemble, ce qui rend la mise à jour de la cryptographie difficile, c'est que vous avez besoin des connaissances pour le faire – et à la fin de la journée, beaucoup n'ont pas cela. Nous nous attendions à cela, car c'est le cas dans de nombreux domaines de la sécurité informatique, pas seulement dans le domaine des implémentations cryptographiques. »

Le réseautage est la clé: un écart entre la recherche et la pratique

La question de savoir comment ce fossé de connaissances pourrait être réduit dans l'intérêt de la sécurité informatique continue d'occuper Krause. « Les mises à jour cryptographiques resteront un défi à l'avenir. Mais nous voyons que les gens manquent souvent de l'éducation nécessaire pour les gérer. Le plus grand défi que nous voyons – et cela s'étend au-delà de notre article à la recherche cryptographique plus largement – est de traduire de nouvelles résultats de recherche dans un format qui atteint réellement les développeurs. »

Bien que l'accès aux listes de diffusion pertinentes soit souvent difficile, les réponses de l'étude d'entrevue ont montré que les développeurs de logiciels utilisent rarement des bases de données de publication académique pour rester informés des nouveaux développements.

« Dans notre étude, ceux qui ont un diplôme universitaire plus élevé – une maîtrise ou un doctorat – était un avantage ici, car ils apportent les compétences nécessaires », explique Krause.

En fin de compte, l'obtention d'informations pertinentes dépend encore en grande partie de l'initiative personnelle des développeurs individuels. À cet égard, il existe un écart clair entre la recherche et la pratique qui doit être comblé, car il y a très peu de chevauchement entre les conférences importantes pour le discours scientifique et les salons pertinents pour les communautés de développeurs.

Fourni par Cispa Helmholtz Center for Information Security

Newsletter

Rejoignez notre newsletter pour des astuces chaque semaine