web-dev-qa-db-fra.com

L'algorithme 3DES est-il sécurisé?

Peut-on utiliser l'algorithme 3DES pour échanger des informations confidentielles? Je l'utilise dans mon projet. Le réviseur de code de sécurité a soulevé un bug disant qu'il n'est pas sécurisé mais je vois qu'il est mentionné comme sécurisé dans CMMI.

9
Ekalavya

Le NIST reconnaît toujours 3DES (ANSI X9.52-1998) comme un algorithme de cryptage à clé symétrique sécurisé lorsqu'il est configuré pour fonctionner comme décrit dans NIST SP 800-20. Il existe toujours un programme de validation d'algorithme cryptographique ( Certificats CAVP) émis pour 3DES en 2016. Cependant, de nombreux projets open source (par exemple OpenSSL) et les normes de certification internationales (par exemple Common Criteria) ont déjà déprécié 3DES.

La raison pour laquelle 3DES est progressivement supprimée est due à diverses vulnérabilités (par exemple, les attaques par collision comme sweet32). Bien qu'il existe encore des moyens de compenser (par exemple, une répétition fréquente, la désactivation du mode CBC) pour prolonger sa durée de vie, il n'y a aucune bonne raison de ne pas passer à AES.

Alors, êtes-vous vulnérable MAINTENANT? Pas si vous avez correctement implémenté et configuré 3DES. Devriez-vous planifier votre déménagement vers AES? Absolument! Ce n'est qu'une question de temps jusqu'à ce que 3DES soit trop cassé pour être considéré comme sécurisé.

12
Kirill Sinitski

3DES est de toute façon un ancien algorithme qui a de nombreuses failles connues comme la lenteur, la vulnérabilité au milieu, etc. Le monde a adopté AES de nos jours. Bref difficile de gagner un argument en faveur de la 3DES. Mais, pour une raison quelconque, si vous devez l'implémenter (problèmes d'héritage ou d'incompatibilité), je vous suggère de jeter un œil à NIST SP 800 - 67, il s'agit de recommandations pour 3DES\3DEA vérifier les instructions d'utilisation (3.5 Usage Guidance) et assurez-vous que vous êtes synchronisé.

Deuxièmement, jetez un œil à "Publication spéciale NIST 800-57" qui sont des recommandations pour la gestion des clés. Le NIST a approuvé 3DES-CBC (Cipher Block Chaining) comme mentionné dans cet article.

Dans le cas où vous souhaitez changer votre bibliothèque de cryptographie, vérifiez leur état de validation FIPS 140. De cette façon, vous pouvez vous assurer que les meilleures pratiques sont respectées. Crypto ++ comme suggéré par @Kirill semble avoir un certain FIPS validation passée pour certains algorithmes.

2
Shailendra Bhardwaj

Le statut officiel de 3DES a été rétrogradé par le NIST à l'automne 2017. Selon SP 800-67 Rév. 2 , la quantité de données à chiffrer par un seul jeu de 3 clés doit être limitée à 8Gb. De plus, la version de 3DES qui n'utilise que deux clés uniques est désormais totalement obsolète.

La pertinence d'un algorithme pour un cas d'utilisation particulier est déterminée par la force de l'algorithme, contre les attaques connues et une estimation de la durée pendant laquelle le chiffrement doit rester solide. La force de 3DES est décrite en fonction de sa longueur de clé effective de 112 bits, qui est l'algorithme de chiffrement symétrique le plus faible autorisé. Étant donné que plusieurs attaques ont été démontrées, sa longévité doit être considérée comme très discutable. Je ne sais pas ce que NIST FISMA dit à propos de ce point aujourd'hui, mais IMPO, 3DES ne peut pas être considéré comme une protection solide pour tout ce qui sera conservé peu de temps.

2
JaimeCastells