2 points par GN⁺ 2023-09-19 | 1 commentaires | Partager sur WhatsApp
  • Avant la suppression des restrictions américaines à l’exportation de la cryptographie, l’édition export de Lotus Notes incluait une structure de séquestre de clés / porte dérobée appelée differential cryptography
  • Cette méthode chiffrait 24 bits d’un chiffrement 64 bits avec une clé publique de la NSA pour obtenir l’autorisation d’exportation, et la NSA pouvait accéder au texte en clair en ne forçant brutalement que les 40 bits restants
  • Lors du reverse engineering, l’identifiant de la clé publique NSA à l’intérieur de l’application apparaissait comme O=MiniTruth CN=Big Brother, révélant une dénomination orwellienne délibérée
  • Les données de clé publique ont été reconstituées à partir de notes plusieurs années plus tard, il existe donc une possibilité d’erreur ; le modulus semble être en little endian et, dans sa représentation big endian, on a e = 3 et 760 bits
  • L’identifiant utilisateur au format clé PGP Director, NSA <dirnsa@nsa.gov> a été créé arbitrairement et il ne s’agit pas d’une clé auto-signée

Structure de la porte dérobée dans l’édition export de Lotus Notes

  • Avant la suppression des restrictions américaines à l’exportation de la cryptographie, l’édition export de Lotus Notes contenait une fonction de séquestre de clés / porte dérobée appelée differential cryptography
  • L’idée centrale était de chiffrer 24 bits d’une clé de chiffrement 64 bits avec une clé publique de la NSA afin d’obtenir l’autorisation d’exportation
    • La NSA pouvait obtenir le texte en clair en ne forçant brutalement que les 40 bits restants
    • Les utilisateurs ordinaires devaient faire face à tout l’espace de clés de 64 bits, mais même à l’époque, il restait possible que la NSA puisse mener une attaque par force brute en y consacrant davantage de ressources
  • Le reverse engineering a été mené en partant de l’hypothèse qu’il devait exister quelque part dans l’application une clé publique NSA correspondant à la clé privée NSA

Identifiant de clé découvert et données de clé publique

  • Dans le débogueur, le nom d’organisation et le nom commun de la clé publique NSA apparaissaient ainsi
    • O=MiniTruth CN=Big Brother
  • MiniTruth et Big Brother renvoient à des expressions du roman 1984 de George Orwell
    • Le Ministry of Truth est, dans le livre, l’institution chargée de la propagande et de la suppression de la vérité
    • Big Brother y apparaît comme le dirigeant malveillant de ce gouvernement
  • Les données de clé publique ont été mises en forme à partir de notes prises plusieurs années après le reverse engineering, il existe donc une possibilité d’erreur
  • Le modulus brut de la clé publique provient d’une valeur obtenue dans le débogueur et, après plusieurs essais, il a été considéré comme étant au format little endian
    • Dans la représentation big endian, e = 3
    • Le modulus fait 760 bits
  • La clé publique est aussi présentée au format clé PGP
    • pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>
    • Cet identifiant utilisateur a été créé arbitrairement et il ne s’agit pas d’une clé auto-signée
  • La sortie de pgpacket confirme qu’il s’agit d’un paquet de clé publique RSA
    • Version Byte: 3
    • Key Created: 25 Oct 1998 01:12:02
    • Algorithm: 1 (RSA)
    • Key ID: 0xA703EFD313629D8D

1 commentaires

 
GN⁺ 2023-09-19
Avis sur Hacker News
  • Sur ce sujet, le commentaire de Ray Ozzie (créateur de Lotus Notes) dans une discussion HN de 2013 vaut la peine d’être lu
    https://news.ycombinator.com/item?id=5846189
    Avant la sortie du logiciel, Ray Ozzie et Kauffman avaient expliqué publiquement ce qu’ils faisaient lors de la conférence RSA. Ce n’était pas une porte dérobée secrète, mais une question de conformité aux contrôles à l’exportation à laquelle toute l’industrie devait faire face. Le commentaire de barrkel quelques messages plus bas mérite aussi d’être lu

    • Pour les personnes de moins d’environ 37 ans, j’aimerais rappeler qu’avant 2000, les technologies de chiffrement, en particulier celles intégrées dans des produits commerciaux distribués, relevaient d’une réglementation gouvernementale très différente de celle d’aujourd’hui
      https://en.m.wikipedia.org/wiki/Crypto_Wars
      En bref, le gouvernement américain interdisait de facto de distribuer à l’international des produits intégrant un chiffrement fort. Cela concernait à peu près tous les produits commerciaux, même s’il existait déjà des implémentations open source de chiffrement fort comme PGP. Aujourd’hui, on peut distribuer un chiffrement aussi sûr qu’on le souhaite sans que personne ne s’en soucie, mais à l’époque, il y avait une chance sur deux que tout l’arsenal juridique du gouvernement américain soit mobilisé. C’était une période incroyablement contradictoire
    • Il existe une vidéo d’un ancien développeur Microsoft qui analyse bien NSAkey
      https://www.youtube.com/watch?v=vjkBAl84PJs
    • C’était une époque intéressante. J’ai brièvement parlé avec quelqu’un dont j’ai oublié le nom, qui avait implémenté le crc32 et l’algorithme de chiffrement de ZIP, et il m’a dit, presque en s’excusant, que ce chiffrement avait été conçu pour être exportable selon la loi de l’époque
      Il n’est toujours pas complètement trivial à casser, mais dans le temps nécessaire pour essayer un seul mot de passe sur un document Office moderne, on peut tester des millions de mots de passe sur une entrée d’archive ZIP
    • Secret ou non, c’était une porte dérobée qui pouvait être exploitée, et qui l’a effectivement été. Nous vivons une époque étrange où les gouvernements demandent aujourd’hui aux entreprises technologiques des « portes dérobées secrètes » sans voir les risques énormes que cela implique
    • Ce n’était absolument pas secret. Je travaillais chez Lotus au milieu des années 90, et Lotus Notes existait en deux versions : une pour les États-Unis et une étiquetée « International »
  • (2002)
    Discussions précédentes dont le titre contient Lotus Notes :
    il y a 4 ans
    https://news.ycombinator.com/item?id=21859581
    il y a 8 ans
    https://news.ycombinator.com/item?id=9291404
    il y a 10 ans
    https://news.ycombinator.com/item?id=5846189

  • Le bon vieux NOBUS. Quelques autres erreurs plus amusantes de la NSA :
    https://en.wikipedia.org/wiki/Clipper_chip
    https://en.wikipedia.org/wiki/Dual_EC_DRBG

    • Ceci et le Clipper Chip ne relèvent pas de NOBUS. La NSA ne veut pas que les gens sachent que les systèmes de chiffrement disposent de fonctionnalités d’accès pour les forces de l’ordre
      Le FBI, lui, se soucie assez peu que les gens soient au courant, parce que les criminels qu’il vise ne font pas correctement leur sécurité opérationnelle (OPSEC)
  • C’est étonnant que les gens de la NSA aient eu assez d’introspection pour voir que cela relevait d’un comportement à la Big Brother, sans comprendre pourquoi c’était mauvais

    • C’était probablement un sarcasme de l’ingénieur Lotus qui l’a intégré
    • « Big Brother » en soi n’est pas choquant. C’est quelque chose que l’on savait depuis un moment, donc on peut encore croire, ne serait-ce qu’un tout petit peu, qu’il y avait peut-être de bonnes intentions derrière. Nous protéger des méchants, ce genre de choses
      Mais MiniTruth… waouh, c’est vraiment stupéfiant
      Pour le contexte, dans le roman 1984, le Ministry of Truth est l’organisme chargé de la propagande, et toute la société baigne dans cette propagande. Tout, dans la société où ils vivent, est mensonge. Cela anéantit le dernier espoir qu’ils puissent avoir de bonnes intentions. Le dernier exemple qui me vient en tête d’un tel mépris cynique pour les gens qu’ils prétendent servir, et d’une telle négligence, c’est quand on a découvert que le chat interne de FTX s’appelait « Wirefraud »
  • À l’origine, la porte dérobée ne se trouvait-elle pas dans les exemples de code que la NSA fournissait aux entreprises voulant utiliser la cryptographie ? Dans mon souvenir, ils donnaient quelque chose comme une graine d’exemple, et la plupart des entreprises la copiaient-collaient au lieu de générer leurs propres nombres premiers, ce qui permettait à la NSA de casser le tout très facilement
    Mes souvenirs sont flous et j’ai du mal à retrouver la source d’origine

  • Je me demande à quel point il serait difficile de trouver par force brute la clé privée à partir de la clé publique RSA 760 bits de 1998. Quelqu’un sait ?

    • https://en.wikipedia.org/wiki/Integer_factorization_records et https://en.wikipedia.org/wiki/RSA_numbers donnent des indices. Le second explique notamment qu’une clé de 768 bits a été factorisée « le 12 décembre 2009, sur une période de deux ans », et que le temps CPU était « à peu près équivalent à près de 2000 ans de calcul sur un ordinateur à base d’AMD Opteron monocœur à 2,2 GHz »
      Ensuite, en 2019, une clé de 795 bits a été factorisée, avec un temps CPU d’« environ 900 années-cœur sur des CPU Intel Xeon Gold 6130 à 2,1 GHz ». En comparaison avec la factorisation de RSA-768, les auteurs estiment que de meilleurs algorithmes ont accéléré le calcul d’un facteur 3 à 4, et des ordinateurs plus rapides d’un facteur 1,25 à 1,67
      Donc, si l’on suppose que les algorithmes améliorés s’appliquent aussi à des nombres plus petits, quelqu’un qui sait s’y prendre pourrait probablement y parvenir en quelques mois avec quelques dizaines de machines modernes. Cela dit, factoriser de grands nombres semble bien plus difficile que de simplement lancer CADO-NFS en lui indiquant le nombre et le cluster
      Par exemple, en utilisant la valeur indiquée dans le second article de factorisation — « le calcul sur 795 bits devrait être 2,25 fois plus difficile que celui sur 768 bits » —, on peut estimer qu’il faudrait 900/2,25 = 400 années-cœur de CPU équivalents Xeon pour casser la clé plus petite avec des logiciels modernes. Et ce CPU est déjà un modèle vieux de 6 ans. Avec 24 serveurs 64 cœurs de performances équivalentes, cela prendrait un peu plus de 3 mois. C’est lourd pour s’amuser en amateur, mais tout à fait faisable pour une entreprise ayant un intérêt financier raisonnable, à condition d’avoir des personnes capables de comprendre et de reproduire ce travail
    • Quelqu’un a déjà tenté la factorisation en 2018 : http://factordb.com/index.php?query=444376527415060195687748...
    • Cela dépend toujours des ressources disponibles, c’est-à-dire des ressources de calcul, et du temps. C’est possible, mais pas facile
      https://crypto.stackexchange.com/a/1982
    • Question étrangement précise. Il y a quelque chose qui te tracasse en particulier ?
  • Maintenant qu’on a le cloud, tout ça n’est plus nécessaire. À cause des lois sur les données stockées, tous les e-mails de plus de 6 mois peuvent être consultés à volonté

    • J’ai cherché, mais je n’ai pas trouvé de résultat clair indiquant quelle loi obligerait des entreprises comme Google à fournir à des agences gouvernementales un accès aux données stockées sans mandat ni NSL
  • Connexe : https://github.com/goshacmd/nsa_panel