Revue de code Hyperledger Ursa

1 juin 2022


Projets en cours et terminés


Cybersécurité, Hyperledger, Identité numérique

Dans un esprit «de confiance et de vérification», plusieurs entités du secteur public canadien ont parrainé un projet au IDLab pour effectuer une revue de code de sécurité et de cryptographie.

Hyperledger Ursa est une librairie cryptographique partagée utilisée pour éviter la duplication du code lié à la cryptographie. La librairie est un répertoire opt-in (pour les projets Hyperledger et ceux qui ne le sont pas) pour placer et utiliser la cryptographie.

Le déploiement à grande échelle de l’identité numérique dépendra d’une forte sécurité afin de fournir les niveaux d’assurance élevés requis dans de nombreuses transactions des consommateurs avec leurs gouvernements, leurs institutions financières et d’autres organisations de confiance.

Les principales avancées en matière d’identité décentralisée, dont plusieurs proviennent du Canada, reposent sur la famille de technologies Hyperledger. En tant que tel, Hyperledger Ursa est un composant central sur lequel on compte pour fournir la couche de sécurité pour l’identité décentralisée.

Dans un esprit «de confiance et de vérification» (en anglais, trust but verify), plusieurs entités du secteur public canadien et Interac (le réseau interbancaire du Canada) ont parrainé un projet au Laboratoire d’identité numérique du Canada (IDLab) pour effectuer une revue de code de sécurité et de cryptographie d’Hyperledger Ursa (le rapport complet est disponible ici, en anglais seulement).

Les initiateurs de ce projet ont estimé qu’il était important d’avoir une évaluation indépendante par un tiers de ce composant fondamental de la famille Hyperledger pour comprendre les risques (s’il y en a) assumés avec le déploiement et l’utilisation de la technologie basée sur Hyperledger dans le domaine de l’identité décentralisée.


Aperçu de la portée de la revue de code de la librairie Hyperledger Ursa :

  • Une revue de code qui a examiné :
    • Les points d’entrée
    • Les standards de programmation
    • Stockage et transfert de données
    • Les interfaces API et leur sécurité
    • Utilisation de librairies de tiers
    • Problèmes de langage de programmation
    • Défauts de logique
  • Les meilleures pratiques en matière de cryptographie, y compris l’examen :
    • De la cryptographie et la gestion des clés
    • De l’entropie
    • Des meilleures pratiques en matière d’utilisation de la cryptographie

L’examen n’a pas inclus une évaluation de la fondation des algorithmes cryptographiques eux-mêmes, ni de leur aptitude. L’examen s’est limité à l’évaluation de la bonne mise en place dans Ursa.


Après l’examen du code et la documentation des résultats, l’équipe d’IDLab a travaillé en étroite collaboration avec les principaux contributeurs d’Ursa et les membres de la communauté de l’Hyperledger Foundation pour examiner et évaluer les résultats. En conséquence, un certain nombre d’améliorations ont été identifiées pour répondre aux conclusions du rapport.

Ultimement, l’exercice a conclu qu’Ursa fournit une base de sécurité solide pour les projets qui dépendent de la famille de technologies Hyperledger applicables à l’identité numérique.


Résumé des conclusions de l’examen :

En général, l’examen a relevé quelques défauts de sécurité relativement mineurs, quelques conseils de mise en place, et quelques observations générales pour l’amélioration de la librairie.

Celles-ci peuvent être brièvement décrites comme suit :

  • Problèmes mineurs de construction
  • Précautions à prendre lors de la construction, principalement avec des librairies ou des intégrations de tiers
  • Problèmes mineurs liés à l’absence de prise en charge de l’augmentation des messages
  • Problèmes mineurs liés à la validation des sous-groupes
  • Un problème lié à la validation des clés publiques

Si vous avez des questions sur Hyperledger Ursa, vous pouvez vous adresser à la communauté sur le serveur «Discord server for Ursa».