Journal La NSA prise la main dans le sac ?

Posté par  (site web personnel) .
Étiquettes :
0
15
nov.
2007
Bruce Schneier, le grand spécialiste de cryptographie, vient de publier un billet sur son blog au sujet d'une mystérieuse affaire :
http://www.schneier.com/blog/archives/2007/11/the_strange_st(...)

Il s'agit d'une controverse portant sur un générateur de nombres pseudo-aléatoires qui a été standardisé par l'administration américaine (c'est la publication 800-90 du bureau des standards NIST).
Quatre algorithmes sont proposés dans ce standard et l'un d'entre eux se base sur les courbes elliptiques. Il répond au doux et poétique nom de Dual_EC_DRBG.
Il est assez bizarre que cet algo soit présent car il est 1000 fois plus lent que les autres mais, selon Schneier, "It's in the standard only because it's been championed by the NSA, which first proposed it years ago in a related standardization project at the American National Standards Institute".

Bon donc la NSA a voulu que cet algo particulier fasse parti du standard. Après tout ils doivent savoir ce qu'ils font avec leur armée de mathématiciens et leur budget démesuré. Peut-être qu'ils pensent que l'algo est, certes très lent, mais super solide par rapport aux autres ?
L'ennui c'est que deux cryptographes viennent de publier un papier qui démontre la présence d'une vilaine backdoor cachée au plus profond de Dual_EC_DRBG !!!
Ah....On comprends mieux l'insistance de la NSA tout à coup !
Les détails techniques sont difficiles à saisir par le pékin moyen mais, toujours selon Schneier, certaines constantes numériques présentes dans l'algorithme (et donc publiques) peuvent s'associer avec des constantes secrètes afin de briser en un clin d'½il toute la sécurité du générateur aléatoire. Une seule connexion TLS suffit à l'attaquant pour pénétrer le système.

Bien entendu personne n'a la moindre preuve que cette backdoor vicieuse a été implanté sciemment par la NSA.
Schneier trouve que cette histoire n'a ni queue ni tête : "If this story leaves you confused, join the club. I don't understand why the NSA was so insistent about including Dual_EC_DRBG in the standard. It makes no sense as a trap door: It's public, and rather obvious. It makes no sense from an engineering perspective: It's too slow for anyone to willingly use it. And it makes no sense from a backwards-compatibility perspective: Swapping one random-number generator for another is easy".

Donc nous voilà avec un mystère sur les bras. Soit la NSA est pleine de mathématiciens incompétents qui laissent passer d'énormes faiblesses dans leurs protocoles, soit elle est peuplée de décideurs imbéciles qui croient que le reste du monde va gober leurs algorithmes sans les scruter de façon paranoïaque.

Choisissez votre option !
  • # La vérité ...

    Posté par  . Évalué à 10.

    ... est ailleurs ... ~~~~> [ ]
  • # /bin/smile

    Posté par  (site web personnel, Mastodon) . Évalué à 7.

    Je vais demander l'avis du public.

    La gelée de coings est une chose à ne pas avaler de travers.

  • # Weaknesses in the Windows 2000 random number generator

    Posté par  (site web personnel) . Évalué à 3.

    Je ne sais pas si c'est lié, mais Leo Dorrendorf a publié un papier sur les faiblesses de l'algorithme de génération de nombre aléatoire de Windows 2000 :
    http://www.heise-security.co.uk/news/98934
    • [^] # Re: Weaknesses in the Windows 2000 random number generator

      Posté par  . Évalué à 8.

      Non ce n'est pas lie, et pratiquement c'est tres peu utile:
      - il faut avoir acces a l'espace memoire du processus, ou lsass.exe pour SSL(lsass.exe qui tourne en admin) pour pouvoir decoder des connections passees
      - il y a une fenetre dans laquelle tu peux le faire: faut le faire avant que le seed ne soit regenere, seed qui est regenere automatiquement tous les 16000 nombres je crois, apres c'est trop tard pour decoder les connexions avec le seed precedent.

      Bref, pour un hacker c'est d'une utilite assez limitee, meme si l'attaque en elle meme est interessante.
    • [^] # Re: Weaknesses in the Windows 2000 random number generator

      Posté par  . Évalué à 9.

      De toute façon, tout le monde sait que c'est Windows Millenium qui avait le meilleur générateur aléatoire...
      Sauf que MS a décidé de le coupler avec le générateur de BSOD, du coup c'était pas très vendeur ! :-/


      ====>[]
      Le 'dredi, c'est permis...
  • # ca n'est pas nouveau

    Posté par  (site web personnel) . Évalué à 1.

    Il y a eu quelque chose de similaire avec DES.
    La NSA a fourni soit disant un "paramètrage" de subsitution box optimal, personne n'a réussi à prouver, mais il existe une rumeur comme quoi

    ils seraient capable de casser facilement.

    http://fr.wikipedia.org/wiki/Data_Encryption_Standard
    • [^] # Re: ca n'est pas nouveau

      Posté par  (site web personnel) . Évalué à 10.

      Ben y'a quand même une différence entre une rumeur et un article scientifique qui pointe la backdoor !
    • [^] # Re: ca n'est pas nouveau

      Posté par  . Évalué à 6.

      La NSA a effectivement modifié une substitution box dans DES, sans dire pourquoi. Mais on a pu remarquer que celle ci est plus résistante à la cryptanalyse différentielle que la précédente (donc plus sure de ce coté).

      Par contre n peut aussi voir grace à ça (je doute que ca soit par pure chance qu'ils soent tombé sur une sbox plus résistante) qu'ils ont protégé l'algo (1977) contre une attaque trouvée publiquement en 1991. Ca montre leur légère avance.

      Après on peut toujours être parano en se demandant pourquoi les militaires n'avaient pas le droit d'utiliser DES, pourquoi la taille de la clé a ete passée de 64 a 56 bits ...
      • [^] # Re: ca n'est pas nouveau

        Posté par  (site web personnel) . Évalué à 9.

        ils ont protégé l'algo (1977) contre une attaque trouvée publiquement en 1991. Ca montre leur légère avance.


        On peut aussi parler de SHA-0. L'algorithme de hachage SHA-0 a été publié en 1993 mais la NSA a toujours fortement déconseillé son utilisation en prétextant une faille de sécurité sans donner plus de détails. Elle a également proposé des modifications pour corriger la faille et finalement SHA-1 a été publié en 1995. En 1998 le français Antoine Joux publie à la conférence CRYPTO98 une attaque contre SHA-0 en 2^61 (à comparer aux 2^80 de la recherche exhaustive) et en 2004 il exhibe même une collision.
    • [^] # Re: ca n'est pas nouveau

      Posté par  . Évalué à 5.

      Autant je suis assez convaincu des compétences des mathématiciens de la NSA pour trouver des techniques de cryptage/décryptages très performantes, autant je n'ai aucune confiance en eux pour les dévoiler publiquement, car la raison d'être de la NSA est l'espionnage sous toutes ses formes. Dans ce contexte je ne comprends pas comment un organisme internationnal indépendant puisse accepter la sousmission de normes/techniques émanant de la NSA. Par principe, les dés sont pipés.
      • [^] # Re: ca n'est pas nouveau

        Posté par  . Évalué à 4.

        C'est pour ce genre de raisons qu'un certain nombre d'appels à nouveaux algorithmes (notamment pour les fonctions de hachage) demandent non seulement un algorithme et une évaluation de la sa sécurité (au moins heuristique), mais également une présentation du contexte et des raisons sous-jacentes qui ont contribué à leur design. Ce que la NSA n'est sans doutes pas prête à donner ;-)
  • # Et ça vous étonnes ?

    Posté par  (site web personnel) . Évalué à -9.

    Pour publier et utiliser un système de cryptographie en France (et c'est pareil en Europe ou aux USA), il faut fournir à l'administration une méthode pour pouvoir casser le cryptage. Pourquoi en serai-t-il autrement outre-atlantique ???

    C'est pas parce qu'aucune faille dans les algos utilisés actuellement n'a été publiée, qu'il n'y en a pas de connue par les autorités, surtout pour la NSA, premier employeur de mathématiciens au monde.

    Un jour libre ?

    • [^] # Re: Et ça vous étonnes ?

      Posté par  (site web personnel) . Évalué à 8.

      >>> Pour publier et utiliser un système de cryptographie en France (et c'est pareil en Europe ou aux USA), il faut fournir à l'administration une méthode pour pouvoir casser le cryptage.

      N'importe quoi.
      AES a fait l'objet d'une consultation internationale invitant les meilleurs cryptographes a essayer de casser le code. C'était une procédure ouverte à tous et c'est seulement en prouvant sa résistance que l'algo a été choisi.
    • [^] # Re: Et ça vous étonnes ?

      Posté par  . Évalué à 3.

      si ce que tu dis était vrai, amazon ou alapage, ou encore la société générale n'utiliserais pas AES alors ...
      (vu qu'ils peuvent pas prouvé qu'AES est cassé en 2^80, surtout quand ils utilisent AES 256)
  • # Deux hypothèses

    Posté par  . Évalué à 2.

    C'est peut-être un test pour voir le niveau des mathématiciens des autres pays.

    Ou alors c'est pour discréditer les standards et la publication des protocoles sur le thème: la sécurité par l'obscurité, c'est mieux.

    C'est pas eux qui ont fait Selinux et audité la sécu de Windows Vista ? ça craint...
  • # Forteresse Digitale

    Posté par  (site web personnel) . Évalué à 1.

    Sur le même sujet, je conseille le roman Forteresse Digitale de Dan Brown (l'auteur du Da Vinci Code, mais avant qu'il l'écrive).
    Pour ceux qui ne connaissent pas (tiré de http://fr.wikipedia.org/wiki/Forteresse_Digitale)

    Susan Fletcher, qui est à la tête de la division Cryptographie de la NSA (National Security Agency), se trouve face à un problème sans précédent. Le superordinateur (TRANSLTR) à deux milliards de dollars et trois millions de micro-processeurs utilisé par la NSA pour casser tous les codes qui cryptent les communications mondiales (courriels, etc.) se trouve devant une impasse. Alors qu'il faut habituellement quelques minutes pour qu'un fichier soit décrypté, ce superordinateur recherche toujours la solution après déjà 15 heures, ce qui ne peut être expliqué que par l'existence d'un code incassable.


    Le seul reproche que je ferai à ce livre, c'est que l'O.S. de TRANSLTR n'est pas précisé. Mais c'est surement du Linux au vue tu Top 500 des super ordinateurs (http://linuxfr.org/2007/11/14/23351.html)
    • [^] # Re: Forteresse Digitale

      Posté par  . Évalué à 10.

      Sur le même sujet, je conseille le roman Forteresse Digitale

      Les zozos de traducteurs n'ont pas compris qu'il fallait traduire par « Forteresse Numérique » ?
    • [^] # Re: Forteresse Digitale

      Posté par  . Évalué à 7.

      note ceci est un livre de fiction.
      Toute la technique dont ils parlent est complètement farfelue.
    • [^] # Re: Forteresse Digitale

      Posté par  . Évalué à 5.

      Bon, Dan Brown, pour ce que j'ai lu de lui, m'a beaucoup déçu. Comment le situes-tu par rapport à un vrai bon livre qui parle crypto, à savoir « Cryptonomicon » de Neal Stephenson (un excellent roman), ou bien « Histoire des codes secrets » de Simon Sing (un bouquin à la narration bien foutue, qui explique les principales étapes de la crypto de l'antiquité à nos jours) ?
      • [^] # Re: Forteresse Digitale

        Posté par  . Évalué à 6.

        Comment le situes-tu par rapport à un vrai bon livre qui parle crypto,
        Ce n'est PAS un livre de crypto
        C'est un roman, complètement faux techniquement.

        Je crois que ca répond à ta question, non ?
        • [^] # Re: Forteresse Digitale

          Posté par  . Évalué à 4.

          Oui mais cryptonomicon c'est un roman, bien foutu techniquement :)

          (j'ai vraiment bien aimé le passage sur la fonction zetha de Riemann à la 10ième page, ça met dans l'ambiance).
        • [^] # Re: Forteresse Digitale

          Posté par  . Évalué à 3.

          Ben non. Comme on le dit plus bas, Cryptonomicon, malgré quelques fantaisies vaguement « cyberpunkesques », est plutôt cohérent et bien informé (en fait, la partie où Stephenson explique le principe du modulo et son importance en crypto serait à faire lire à n'importe quel lycéen en terminale S, pour lui faire une bonne intro).

          De plus, pour donner un ordre d'idée, entre « Angel & Demons » / « The Da Vinci Code » et « Le pendule de Foucault », il y a un monde, et le côté ésotérique/érudit/recherche historique n'est certainement pas poussé de la même manière entre Brown et Eco ...

          D'où ma question. Évidemment ce n'est pas un livre de crypto, mais est-il assez bien écrit pour que quelqu'un qui a l'habitude de lire des machins techniques, des romans de SF, etc., le trouve intéressant ?
          • [^] # Re: Forteresse Digitale

            Posté par  (site web personnel) . Évalué à 5.

            Moi j'ai bien aimé, mais il faut le prendre pour ce qu'il est : un thriller divertissant où le côté technique ne sert que de décor.

            C'est clair qu'il ne faut pas s'attarder trop longuement sur les détails techniques mais heureusement on est loin du virus uploadé sur un OVNI de Independance Day !
            • [^] # Re: Forteresse Digitale

              Posté par  . Évalué à 2.

              Casser n'importe quel chiffre (sauf un) en quelques minutes ? hm est-on si loin que cela d'Independance Day ? :)
              • [^] # Re: Forteresse Digitale

                Posté par  (site web personnel) . Évalué à 2.

                Bah, si tu admets l'hypothèse qu'ils ont construit le plus gros super calculateur jamais imaginé, et qu'ils ont des algo super balèze, tu peux encore l'accepter.

                Que des aliens aient des lecteurs de disquettes, une implémentation de TCP/IP, et que nos virus fonctionnent sur leur système ... :-)
                Même nous, on a plus de lecteurs de disquettes !
  • # La solution ultime

    Posté par  . Évalué à 8.

    La solution ultime, c'est de choisir au hasard le générateur de nombres pseudo-aléatoires (avec un générateur de nombres pseudo-aléatoires choisi au hasard).

    DLFP >> PCInpact > Numerama >> LinuxFr.org

    • [^] # Re: La solution ultime

      Posté par  . Évalué à -2.

      Je ne vois pas pourquoi j'ai été moinsé. Ça peut paraître peu sérieux, mais c'est une simple application du principe "ne pas mettre tous ses ½ufs dans le même panier".

      DLFP >> PCInpact > Numerama >> LinuxFr.org

      • [^] # Re: La solution ultime

        Posté par  . Évalué à 2.

        En crypto ce n'est pas la complexité de l'algorithme ou l'empilage de méthodes qui augmente la sécurité. En effet cela suppose que l'algo tient uniquement par son secret. La robustesse d'un algo doit se démontrer mathématiquement.
    • [^] # Re: La solution ultime

      Posté par  . Évalué à 3.

      oui, mais :

      Comment le tirer au hasard ? il faut bien déjà un générateur de nombres aléatoires ;-)

      Et s'ils sont tous troués, surtout avec des attaques aussi faciles que celles présentées dans l'article (c'est-à-dire qu'il suffit de connaître un seul nombre pour être capable de prédire le suivant), ce n'est pas en utiliser un parmi 5 ou 6 qui va beaucoup augmenter la sécurité.
      Ce serait un peu comme se dire "tiens, RSA-1024 a été craqué, je vais utiliser RSA-1026"...
      • [^] # Re: La solution ultime

        Posté par  (site web personnel) . Évalué à 3.

        J'ai du mal à comprendre pourquoi, dans un PC moderne, il n'y ai pas un générateur de nombre aléatoire matériel. Il y a tellement de paramêtre sur un PC que cela devrait être possible d'en faire un truc qui sort des nombres impévisibles...
        • [^] # Re: La solution ultime

          Posté par  (site web personnel) . Évalué à 4.

          Ce n'est pas gagné du tout. Les sources de bruits pouvant être corrélé les unes aux autres (chaleur avec la vitesse du cpu, donc du nombre d'interruptions/s,...).

          J'ai vu des générateurs aléatoire utilisant des anneaux d'oscillateurs alimenter d'énorme LFSR (64 bits ?) en parralèle (4 ?), qui débouchait dans une fonction de hash. La sortie était considéré comme ayant un bon hasard si on prennait un nombre à basse fréquence aprés quelques dizaines de ms, et les millions de cycles qui vont avec pour l'initialisation...

          "La première sécurité est la liberté"

          • [^] # Re: La solution ultime

            Posté par  (site web personnel) . Évalué à 3.

            Oui mais si on prends un générateur de nombre aléatoire auquel on rajoute des pertubations du aux paramêtres internes de la machine, si l'ensemble est bien fait, on devrait être plus aléatoire que le générateur logiciel cablé dans la puce et peu prévisible puisqu'on a quand même la sécurité du générateur logiciel ?
            • [^] # Re: La solution ultime

              Posté par  . Évalué à 3.

              C'est un peu le principe des "bons" générateurs aléatoires. Cf par exemple le schéma page 29 des recommandatiosn de la DCSSI à l'adresse http://www.ssi.gouv.fr/site_documents/politiqueproduit/Mecan(...)

              Il faut idéalement :
              un générateur physique d'aléas (jamais parfait malheureusement), qu'on va retraiter en l'utilisant pour initialiser un générateur pseudo-aléatoire qui a de bonnes propriétés.
              des éléments secrets spécifiques au générateur, non divulgués, servant à retraiter l'aléas physique (par exemple des clefs AES avec lesquelles on chiffre plusieurs fois l'aléas physique pour le renforcer)
              et une mémoire non volatile, dans laquelle on stocke un peu de l'aléas produit, pour initialiser de nouveau le générateur complet pour une nouvelle utilisation. non volatile pour éviter qu'on puisse l'initialiser avec des paramètres bien choisis et de retrouver les nombres déjà sortis.
              • [^] # Re: La solution ultime

                Posté par  . Évalué à -1.

                >un générateur physique d'aléas

                Souvent d'ailleurs, ce sont plutôt des "générateurs de chaos" plutôt ques des générateurs aléatoires.

                Informatique quantique?
            • [^] # generation de nombre aléatoire ?

              Posté par  . Évalué à 4.

              et une simple antenne ?
              pour faire un generateur aleatoire, il suffirait d'une simple antene, (sans mettre de filtre particulier), avec toutes les diffusion hertziene ca fait un bon aléa.
              on l'amplifie un poil (même pas d'ailleur) on met ca sur l'entrée d'uncodeur analogique->numerique et on utilise celà en tant que valeur initiale d'un generateur logiciel,
              et toutes les x milisecondes on prends le dernier nombre generé on fait un xor avec celui de l'antenne et c'est repartis.
        • [^] # Re: La solution ultime

          Posté par  . Évalué à 2.

          Ca existe sur le processeur Via c3 nehemiah.
        • [^] # Re: La solution ultime

          Posté par  (site web personnel) . Évalué à 1.

          Mais comment es-tu certain qu'il s'agit bien d'un générateur aléatoire et pas d'une puce qui implémente un algo pseudo-aléatoire avec la NSA qui peut retrouver les nombres générés si elle connait ton adresse MAC?
          • [^] # Re: La solution ultime

            Posté par  . Évalué à 3.

            Bonne question. Il faut reverse-engineer le truc pour s'assurer qu'elle ne contient rien d'autre que le générateur aléatoire, et de toutes façons toujours remettre une petite couche perso par derrière.

            Un peu comme les puces TPM, où des backdoor mises par Intel pourraient être utilisées (la police anglaise avait demandé à avoir ces informations, me semble-t-il ; mais il serait hautement improbable que d'autres polices/services de renseignement n'y aient alors pas accès...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.