Commentaires : Windows va passer à l'ère de la cryptographie post-quantique

Les ordinateurs quantiques n’ont pas encore bouleversé la sécurité informatique, mais Microsoft a décidé de prendre les devants. Dans les prochaines builds de Windows, un nouveau type de chiffrement résistant aux attaques du futur devrait discrètement faire son apparition.

Microsoft les a également intégrés dans sa bibliothèque SymCrypt et dans SymCrypt-OpenSSL 1.9.0, ce qui permet aussi aux utilisateurs et utilisatrices de Linux d’en profiter via la surcouche SCOSSL.

C’est open-source ? Qui maintient ?


MAJ

Voici donc la présentation de SymCrypt, traduite en français, pour ceux qui se posaient la question

Introduction

SymCrypt est la bibliothèque de fonctions cryptographiques principale actuellement utilisée par Windows.

Historique

La bibliothèque a été lancée fin 2006, les premières sources ayant été validées en février 2007.
Initialement, son objectif se limitait à l’implémentation d’opérations cryptographiques symétriques, d’où son nom.
À partir de Windows 8, elle est devenue la principale bibliothèque cryptographique pour les algorithmes symétriques.

En 2015, nous avons commencé à ajouter des algorithmes asymétriques à SymCrypt. Depuis la version 1703 de Windows 10,
SymCrypt est la principale bibliothèque cryptographique pour tous les algorithmes sous Windows.

Objectifs

Comme tout projet d’ingénierie, SymCrypt est un compromis entre des exigences contradictoires :

  • Fournir des implémentations sûres des algorithmes cryptographiques requis par les produits Microsoft ;
  • Fonctionner sur toutes les architectures CPU prises en charge par Windows ;
  • Excellentes performances ;
  • Minimiser les coûts de maintenance ;
  • Soutenir la certification FIPS 140 des produits utilisant SymCrypt.
  • Assurer le bon fonctionnement de la bibliothèque.

Clonage du dépôt

Dans certains de nos modules Linux, SymCrypt utilise Jitterentropy
comme source d’entropie certifiée FIPS. Pour créer ces modules, vous devez vous assurer que le sous-module jitterentropy-library est également cloné. Pour ce faire, exécutez git submodule update --init après le clonage.

Le sous-module unittest/SymCryptDependencies fournit les implémentations RSA32 et msbignum qui servent de benchmarks lors des tests unitaires compilés sous Windows. En raison de restrictions de licence, nous ne pouvons pas publier ces bibliothèques publiquement. Ce sous-module ne sera donc clonable que par les employés Microsoft ayant accès à notre dépôt Azure DevOps privé. Si vous êtes externe à Microsoft, vous pouvez ignorer ce sous-module. Il est utilisé uniquement dans les tests unitaires et ne modifie pas le comportement du code produit SymCrypt.

Construction

Le moyen le plus simple de démarrer la construction de SymCrypt est d’utiliser le script de construction Python « scripts/build.py ». Vous pouvez l’exécuter avec l’argument « --help » pour obtenir de l’aide sur les arguments requis et leur fonction. Pour des instructions de construction détaillées, y compris les autres méthodes de construction, consultez BUILD.md.

Tests

Le test unitaire SymCrypt exécute des tests fonctionnels approfondis sur la bibliothèque SymCrypt. Sous Windows, il compare également les résultats avec ceux d’autres implémentations telles que les API Windows CNG et CAPI, ainsi que les anciennes bibliothèques de chiffrement rsa32 et msbignum, si elles sont disponibles. Il fournit également des informations détaillées sur les performances.

Une fois la construction réussie, vous pouvez utiliser le script d’aide « scripts/test.py » pour exécuter les tests unitaires.

Gestion des versions et maintenance

Depuis la version 101.0.0, SymCrypt utilise le schéma de version défini par la spécification Sémantique des versions 2.0.0. Cela signifie :

  • Les modifications de version majeures introduisent des ruptures d’ABI et/ou d’API (y compris des changements de comportement)
  • Les modifications de version mineures introduisent des fonctionnalités ou améliorations rétrocompatibles, et/ou des corrections de bugs
  • Les modifications de version correctives introduisent des corrections de bugs rétrocompatibles

La version open source initiale a débuté à la version 100 pour assurer la compatibilité avec notre précédent schéma de gestion des versions interne.

Concernant la maintenance, nous recommandons vivement aux fournisseurs de distribution et aux développeurs d’applications de mettre régulièrement à jour SymCrypt et son moteur SymCrypt vers la dernière version, tant pour les correctifs de sécurité que pour les améliorations de fonctionnalités et de performances. Nous veillons à maintenir une API et une ABI stables pour SymCrypt et disposons d’une série de tests de régression rigoureux. Le maintien de la version actuelle évite les rétroportages complexes et potentiellement plus risqués. Nous assurerons la maintenance à long terme de versions spécifiques pour les correctifs de sécurité. Les détails de ce plan seront rendus publics ultérieurement.

Bugs de sécurité

Si vous pensez avoir détecté un problème affectant la sécurité de ce code, veuillez NE PAS créer de ticket ni de demande d’extraction, mais plutôt envoyer vos commentaires par e-mail à secure@microsoft.com. Consultez SECURITY.md pour plus d’informations.

Contribuer

Nous apprécions vos commentaires et suggestions. Malheureusement, nous ne pouvons accepter de contributions externes au code, sauf dans des circonstances spécifiques, de la part de partenaires agréés avec lesquels nous avons conclu un accord préalable.
Le code cryptographique est considéré comme hautement sensible par nombre de nos grands clients.
Nous avons de très grands clients qui accordent une grande importance à la sécurité du code cryptographique utilisé dans leur organisation.
En limitant le codage à quelques employés, nous pouvons réduire considérablement le risque (perçu) de contributions malveillantes.

Ce projet a adopté le Code de conduite Open Source de Microsoft.
Pour plus d’informations, consultez la FAQ sur le Code de conduite ou contactez opencode@microsoft.com pour toute question ou commentaire.

(Voyez la section tout à la fin)
Donc de l’open-source pourri-fié(nte) façon Bordelsoft.

1 « J'aime »

C’est vraiment pas une mauvaise idée hein. Comme le précise leur document, tout ce qui touche à la crypto, c’est hyper sensible, et notamment exposé à des attaques par infiltration (comme celle qui a été démasquée il y a un peu plus d’un an contre XZ utils), surtout quand c’est une lib utilisée par des milliards d’appareils, et notamment dans la plupart des grandes entreprises.

Dans un tel contexte, restreindre les contributions à un groupe très restreint est une précaution utile.

(PS : tu aurais pas changé de pseudo ?)

1 « J'aime »

Non ?

J’ai créé mon compte pour pouvoir participer au dernier utilisateurs-testeurs. Ça fait déjà 3 ans que je suis cluclu.

Mh… bon.

Microsoft contribue à de l’open source y compris sur Linux, faut arrêter d’imaginer le pire. Certaines équipes font de très bonnes choses.

1 « J'aime »