Feuille de route Tink

(Dernière mise à jour : juillet 2023)

Cette page détaille les objectifs de haut niveau de l'équipe Tink. Il sera régulièrement mis à jour au fur et à mesure que les objectifs seront atteints ou modifiés.

Dépôts GitHub multiples

Nous divisons le projet en plusieurs dépôts GitHub, séparés par langage. Cela offre les avantages suivants:

  • versions dissociées pour chaque langage (ce qui signifie qu'un problème en C++ n'empêche pas l'exécution d'une version pour Java, par exemple)
  • des sorties plus fréquentes
  • Un ensemble réduit de dépendances à télécharger pour chaque bibliothèque (par exemple, des SDK pour plusieurs fournisseurs de services cloud)

Améliorations apportées à la documentation

Nous nous efforçons d'améliorer la documentation de Tink. Cela implique de consolider les sources de la documentation Tink (en faisant de ce site la source de référence de la documentation Tink), de fournir des exemples mis à jour et faciles à suivre, et de combler les éventuelles lacunes de la documentation. N'hésitez pas à nous faire part de vos suggestions d'amélioration de la documentation. Veuillez utiliser l'enquête en lien ci-dessous, ou signaler un bug ou demander une fonctionnalité, comme indiqué sur la page Contibutions.

Refonte de la collection de clés et du registre

Nous souhaitons offrir aux utilisateurs une meilleure façon de gérer les clés d'une collection de clés. Cela facilitera la mise en œuvre des systèmes de gestion des clés et permettra une compatibilité plus complète avec l'importation et l'exportation de clés vers différents formats tels que PEM ou JWK (tout en s'assurant que l'API empêche les erreurs courantes pouvant entraîner des failles de sécurité). Ces travaux sont en cours.

Nous travaillons également à autoriser plusieurs registres dans Tink. Cela facilitera le développement de bibliothèques basées sur Tink et permettra également de supprimer et d'abandonner facilement les algorithmes non sécurisés. Pour en savoir plus, consultez la page Registre.

Compatibilité avec Monitoring

Nous avons ajouté des hooks de surveillance à Tink. Les utilisateurs peuvent se servir de ces hooks pour collecter et analyser les données non sensibles sur leurs opérations cryptographiques, telles que les types de clés utilisés ou le nombre d'appels de chiffrement effectués avec une clé spécifique.

Ce type d'information est utile pour garantir une rotation des clés adéquate ou pour créer une liste de clés pouvant être vulnérables aux ordinateurs quantiques. Nous vous fournirons un tutoriel sur l'utilisation de ces hooks en temps voulu.

Cryptographie post-quantique (PQC)

Nous travaillons activement sur les implémentations de bas niveau des algorithmes PQC sélectionnés par le NIST. Ceux-ci incluent des mécanismes d'encapsulation de clés (KEM), en particulier Kyber/ML-KEM, et des signatures numériques, à savoir Dilithium/ML-DSA et SPHINCS+/SLH-DSA. Une fois prêts, nous fournirons des API officielles pour ces algorithmes post-quantiques dans Tink. Si vous souhaitez commencer avec PQC, Tink fournit déjà des algorithmes PQC expérimentaux en C++, qui couvrent les signatures numériques sélectionnées par le NIST et le KEM NTRU-HRSS (un candidat KEM du NIST qui n'a finalement pas été sélectionné).

Performances

Nous souhaitons affiner nos mesures de performances Tink et fournir des benchmarks de performances appropriés à nos utilisateurs. Nous commençons également à étudier les améliorations possibles des performances de Tink.

Donnez-nous votre avis !

Nous aimerions savoir comment vous utilisez Tink ou quelles fonctionnalités seraient les plus utiles pour votre implémentation. Faites-nous part de vos commentaires en répondant à notre enquête.