2 पॉइंट द्वारा GN⁺ 2023-09-19 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • अमेरिका के cryptography export regulations समाप्त होने से पहले, Lotus Notes के export edition में differential cryptography नाम की key escrow/बैकडोर संरचना शामिल थी
  • इस तरीके में 64-bit encryption में से 24 bit को NSA public key से encrypt करके export approval लिया जाता था, और NSA को plaintext तक पहुँचने के लिए बाकी 40 bit पर ही brute force करना पड़ता था
  • reverse engineering के दौरान application के भीतर NSA public key identifier O=MiniTruth CN=Big Brother के रूप में दिखा, जिससे यह जानबूझकर किया गया Orwell-शैली naming प्रतीत होता है
  • public key material को कुछ साल बाद notes से reconstruct किया गया था, इसलिए त्रुटि की संभावना है; modulus little endian में दिखता था और big endian representation में e = 3, 760-bit था
  • PGP key form का Director, NSA <dirnsa@nsa.gov> user ID मनमाने तौर पर बनाया गया था और यह self-signed key नहीं है

Lotus Notes export edition की बैकडोर संरचना

  • अमेरिका के cryptography export regulations समाप्त होने से पहले, Lotus Notes के export edition में key escrow/बैकडोर फीचर, differential cryptography, शामिल था
  • मुख्य विचार यह था कि 64-bit cipher में से 24 bit को NSA public key से encrypt करके export approval लिया जाए
    • NSA को plaintext पाने के लिए बाकी 40 bit पर ही brute force करना पड़ता था
    • आम users को 64-bit key space से जूझना पड़ता था, लेकिन उस समय भी यह संभावना बनी हुई थी कि NSA अधिक लागत लगाकर brute force कर सके
  • इस आकलन के आधार पर reverse engineering की गई कि application के अंदर कहीं NSA private key से मेल खाने वाली NSA public key मौजूद होगी

मिले हुए key identifier और public key data

  • debugger में NSA public key का organization name और common name इस तरह दिखाई दिया
    • O=MiniTruth CN=Big Brother
  • MiniTruth और Big Brother, George Orwell के उपन्यास 1984 में आने वाले expressions से जुड़े हैं
    • Ministry of Truth उस किताब में propaganda और truth suppression संभालने वाली संस्था है
    • Big Brother उस सरकार के दुष्ट नेता के रूप में सामने आता है
  • public key data को reverse engineering के कुछ साल बाद notes के आधार पर व्यवस्थित किया गया था, इसलिए त्रुटि की संभावना है
  • raw public key modulus debugger से प्राप्त मान है, और trial and error के आधार पर इसे little endian format माना गया
    • big endian representation में e = 3
    • modulus 760-bit है
  • public key को PGP key format में भी दिखाया गया है
    • pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>
    • यह user ID मनमाने तौर पर बनाया गया था, और यह self-signed key नहीं है
  • pgpacket output में इसे RSA public key packet के रूप में पुष्टि किया गया
    • Version Byte: 3
    • Key Created: 25 Oct 1998 01:12:02
    • Algorithm: 1 (RSA)
    • Key ID: 0xA703EFD313629D8D

1 टिप्पणियां

 
GN⁺ 2023-09-19
Hacker News की रायें
  • इस विषय पर 2013 की HN चर्चा में Ray Ozzie (Lotus Notes के निर्माता) की टिप्पणी पढ़ने लायक है
    https://news.ycombinator.com/item?id=5846189
    सॉफ़्टवेयर रिलीज़ होने से पहले Ray Ozzie और Kauffman ने RSA Conference में सार्वजनिक रूप से बताया था कि वे क्या कर रहे हैं। यह कोई गुप्त backdoor नहीं था, बल्कि export control compliance था जिससे पूरी industry को निपटना पड़ा था। कुछ टिप्पणियों नीचे barrkel की टिप्पणी भी पढ़ने लायक है

    • लगभग 37 साल से कम उम्र के लोगों को याद दिलाना चाहूंगा कि 2000 से पहले की cryptography, खासकर जारी होने वाले commercial products में cryptography, आज की तुलना में काफी अलग सरकारी regulation के तहत थी
      https://en.m.wikipedia.org/wiki/Crypto_Wars
      संक्षेप में, अमेरिकी सरकार ने international distribution वाले products में strong encryption डालकर release करने पर लगभग रोक लगा रखी थी। commercial products लगभग सभी इसके दायरे में आते थे, भले ही PGP जैसे strong encryption के open-source implementations पहले से मौजूद थे। आज आप जितनी चाहें उतनी सुरक्षित encryption डालकर distribute करें, कोई परवाह नहीं करता, लेकिन उस समय यह पचास-पचास का दौर था कि अमेरिकी सरकार की पूरी कानूनी मशीनरी आपके खिलाफ लग जाएगी या नहीं। सचमुच बेहद पागलपन भरा और विरोधाभासी समय था
    • एक पूर्व Microsoft developer का NSAkey का अच्छा विश्लेषण करने वाला video है
      https://www.youtube.com/watch?v=vjkBAl84PJs
    • वह दिलचस्प दौर था। नाम भूल गया हूं, लेकिन ZIP के crc32 और encryption algorithm को implement करने वाले व्यक्ति से मेरी थोड़ी बातचीत हुई थी, और उसने लगभग माफ़ी मांगते हुए कहा था कि वह encryption उस समय के कानून के तहत exportable होने के लिए design की गई थी
      उसे तोड़ना अभी भी पूरी तरह मामूली नहीं है, लेकिन modern Office document में एक password आज़माने में जितना समय लगता है, उतने में ZIP archive item पर लाखों passwords test किए जा सकते हैं
    • गुप्त था या नहीं, यह एक ऐसा backdoor था जिसका दुरुपयोग हो सकता था और वास्तव में हुआ भी। आज सरकारें tech companies से ‘secret backdoors’ मांगती हैं और फिर भी भारी risk नहीं देख पातीं—अजीब दौर है
    • यह बिल्कुल भी गुप्त नहीं था। 90s के मध्य में Lotus में काम किया था; Lotus Notes के दो versions थे—एक US के लिए और एक “International” label वाला
  • (2002)
    title में Lotus Notes वाली पुरानी चर्चाएं:
    4 साल पहले
    https://news.ycombinator.com/item?id=21859581
    8 साल पहले
    https://news.ycombinator.com/item?id=9291404
    10 साल पहले
    https://news.ycombinator.com/item?id=5846189

  • अच्छा पुराना NOBUS। NSA की और मजेदार गलतियां:
    https://en.wikipedia.org/wiki/Clipper_chip
    https://en.wikipedia.org/wiki/Dual_EC_DRBG

    • यह और Clipper Chip NOBUS नहीं हैं। NSA चाहती है कि लोगों को यह पता न चले कि crypto systems में law-enforcement access capability है
      FBI को लोगों के जानने से बहुत फर्क नहीं पड़ता, क्योंकि जिन criminals को वे target करते हैं वे operational security (OPSEC) ठीक से नहीं करते
  • हैरानी की बात है कि NSA के लोगों में इतना आत्म-चिंतन तो था कि वे पहचान सकें कि यह Big Brother जैसी हरकत है, लेकिन यह समझ नहीं पाए कि यह बुरा क्यों है

    • वह शायद इसे डालने वाले Lotus engineer का तंज रहा होगा
    • ‘Big Brother’ अपने आप में चौंकाने वाला नहीं है। यह बात कुछ समय से पता थी, इसलिए बहुत थोड़ा-सा भरोसा किया जा सकता है कि शायद इरादा अच्छा हो—जैसे हमें बुरे लोगों से बचाना
      लेकिन MiniTruth… वाह, यह सचमुच चौंकाने वाला है
      संदर्भ में, उपन्यास 1984 का Ministry of Truth propaganda के लिए समर्पित संस्था है, और पूरा समाज उसी propaganda में डूबा हुआ है। जिस समाज में वे रहते हैं, उसकी हर चीज़ झूठ है। यह इस बात की आखिरी उम्मीद भी खत्म कर देता है कि उनके इरादे अच्छे हो सकते हैं। वे जिन लोगों की सेवा करने का दावा करते हैं, उनके प्रति वे कितनी cynicism भरी contempt रखते हैं और कितने careless हैं—इसका आखिरी उदाहरण मुझे तब याद आता है जब पता चला कि FTX के internal chat room का नाम ‘Wirefraud’ था
  • क्या मूल backdoor उन code examples में नहीं था जो NSA ने cryptography इस्तेमाल करना चाहने वाली companies को दिए थे? याद है कि उन्होंने example seeds जैसा कुछ दिया था, और ज्यादातर companies ने अपने primes generate करने के बजाय उसे copy/paste कर लिया, जिससे NSA के लिए उसे तोड़ना बहुत आसान हो गया
    याद धुंधली है और मूल source ढूंढना मुश्किल है

  • मैं जानना चाहता/चाहती हूँ कि 1998 के RSA 760-bit public key में private key को brute force से ढूँढना कितना मुश्किल होगा। किसी को पता है?

    • https://en.wikipedia.org/wiki/Integer_factorization_records और https://en.wikipedia.org/wiki/RSA_numbers कुछ संकेत देते हैं। खासकर दूसरा बताता है कि 768-bit key को “12 दिसंबर 2009 को, 2 साल की अवधि में” factorize किया गया था, और CPU time “single-core 2.2GHz AMD Opteron-आधारित कंप्यूटर पर लगभग 2000 साल की computation के बराबर” था
      इसके बाद 2019 में 795-bit key factorize की गई, और CPU time “2.1GHz Intel Xeon Gold 6130 CPU के हिसाब से लगभग 900 core-years” बताया गया। RSA-768 factorization की तुलना में, लेखकों ने अनुमान लगाया कि बेहतर algorithms ने computation को 3–4 गुना और तेज computers ने 1.25–1.67 गुना accelerate किया
      इसलिए अगर माना जाए कि बेहतर algorithms छोटे numbers पर भी लागू होते हैं, तो जो व्यक्ति इसे संभालना जानता हो, वह आधुनिक machines की कुछ दर्जन units से कुछ महीनों के भीतर यह कर सकता है। हालांकि बड़े numbers का factorization, CADO-NFS चलाकर उसे number और cluster की ओर point करने से कहीं ज्यादा कठिन लगता है
      उदाहरण के लिए, दूसरी factorization paper के साथ दिए गए “795-bit computation, 768-bit computation से 2.25 गुना कठिन होनी चाहिए” वाले value का इस्तेमाल करें, तो छोटी key को modern software से crack करने के लिए 900/2.25 = 400 core-years के बराबर Xeon CPU की जरूरत मानी जा सकती है। यह CPU भी अब 6 साल पुराना model है। समान performance वाले 64-core servers के 24 units हों, तो इसमें 3 महीने से थोड़ा ज्यादा समय लगेगा। hobby के तौर पर मजे के लिए करने में यह भारी पड़ेगा, लेकिन किसी ऐसे company के लिए जिसके पास ठीक-ठाक financial stake हो, और यह मानते हुए कि उसके पास इस काम को समझने और reproduce करने वाले लोग हैं, यह पूरी तरह संभव है
    • किसी ने 2018 में पहले ही factorization की कोशिश की थी: http://factordb.com/index.php?query=444376527415060195687748...
    • यह हमेशा आपके पास मौजूद resources, यानी compute resources और समय पर निर्भर करता है। संभव तो है, लेकिन आसान नहीं
      https://crypto.stackexchange.com/a/1982
    • अजीब तरह से बहुत specific सवाल है। कोई खास बात परेशान कर रही है?
  • अब cloud है, इसलिए इन सबकी जरूरत नहीं रही। stored data से जुड़े कानूनों की वजह से 6 महीने से पुराने सभी emails को मनमर्जी से छुआ जा सकने वाला target माना जाता है

    • मैंने खोजा, लेकिन ऐसा कोई साफ result नहीं मिला कि Google जैसी companies को warrant या NSL के बिना सरकारी agencies को stored data access देने के लिए कौन-सा कानून बाध्य करता है
  • संबंधित: https://github.com/goshacmd/nsa_panel