2 คะแนน โดย GN⁺ 2023-09-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ก่อนที่ข้อจำกัดการส่งออกการเข้ารหัสของสหรัฐฯ จะถูกยกเลิก รุ่นส่งออกของ Lotus Notes มีโครงสร้างคีย์เอสโครว์/แบ็กดอร์ที่เรียกว่า differential cryptography
  • วิธีนี้ใช้การเข้ารหัส 24 บิต จากการเข้ารหัส 64 บิตด้วยกุญแจสาธารณะของ NSA เพื่อให้ผ่านการอนุญาตส่งออก และ NSA สามารถเข้าถึงข้อความต้นฉบับได้ด้วยการ brute-force เฉพาะอีก 40 บิตที่เหลือ
  • ระหว่างกระบวนการรีเวิร์สเอนจิเนียริง ตัวระบุของกุญแจสาธารณะ NSA ภายในแอปพลิเคชันแสดงเป็น O=MiniTruth CN=Big Brother ซึ่งเผยให้เห็นการตั้งชื่อแบบ Orwell โดยเจตนา
  • ข้อมูลกุญแจสาธารณะถูกสร้างขึ้นใหม่จากบันทึกย่อในอีกหลายปีถัดมา จึงมี ความเป็นไปได้ที่จะมีข้อผิดพลาด และโมดูลัสดูเหมือนจะเป็นแบบ little endian โดยเมื่อเขียนในรูปแบบ big endian จะได้ e = 3 และมีขนาด 760 บิต
  • user ID ในรูปแบบคีย์ PGP คือ Director, NSA <dirnsa@nsa.gov> ถูกสร้างขึ้นโดยพลการ และ ไม่ใช่ คีย์ที่ลงลายมือชื่อด้วยตนเอง (self-signed)

โครงสร้างแบ็กดอร์ใน Lotus Notes รุ่นส่งออก

  • ก่อนที่ข้อจำกัดการส่งออกการเข้ารหัสของสหรัฐฯ จะถูกยกเลิก รุ่นส่งออกของ Lotus Notes มีฟังก์ชัน คีย์เอสโครว์/แบ็กดอร์ ที่เรียกว่า differential cryptography
  • แนวคิดหลักคือการเข้ารหัส 24 บิต จากคีย์เข้ารหัส 64 บิตด้วยกุญแจสาธารณะของ NSA เพื่อให้ผ่านการอนุญาตส่งออก
    • NSA สามารถได้ข้อความต้นฉบับโดย brute-force เพียงอีก 40 บิต ที่เหลือ
    • ผู้ใช้ทั่วไปต้องรับมือกับคีย์สเปซ 64 บิตทั้งหมด แต่แม้ในเวลานั้นก็ยังมีความเป็นไปได้ที่ NSA จะสามารถ brute-force ได้ด้วยต้นทุนที่สูงกว่า
  • มีการทำรีเวิร์สเอนจิเนียริงจากการคาดการณ์ว่าน่าจะมีกุญแจสาธารณะของ NSA ที่จับคู่กับกุญแจส่วนตัวของ NSA อยู่ที่ไหนสักแห่งภายในแอปพลิเคชัน

ตัวระบุคีย์และข้อมูลกุญแจสาธารณะที่ค้นพบ

  • ในดีบักเกอร์ ชื่อองค์กรและชื่อสามัญของกุญแจสาธารณะ NSA แสดงดังนี้
    • O=MiniTruth CN=Big Brother
  • MiniTruth และ Big Brother เชื่อมโยงกับถ้อยคำที่ปรากฏในนิยาย 1984 ของ George Orwell
    • Ministry of Truth เป็นหน่วยงานที่รับผิดชอบด้านโฆษณาชวนเชื่อและการกดทับความจริงในหนังสือ
    • Big Brother ปรากฏในฐานะผู้นำผู้ชั่วร้ายของรัฐบาลนั้น
  • ข้อมูลกุญแจสาธารณะถูกรวบรวมจากบันทึกย่อหลายปีหลังการรีเวิร์สเอนจิเนียริง จึงมี ความเป็นไปได้ที่จะมีข้อผิดพลาด
  • raw public key modulus เป็นค่าที่ได้จากดีบักเกอร์ และจากการลองผิดลองถูกสรุปได้ว่าเป็นรูปแบบ little endian
    • เมื่อเขียนในรูปแบบ big endian จะได้ e = 3
    • โมดูลัสมีขนาด 760 บิต
  • กุญแจสาธารณะถูกนำเสนอในรูปแบบคีย์ PGP ด้วย
    • pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>
    • user ID นี้ถูกสร้างขึ้นโดยพลการ และไม่ใช่คีย์ที่ลงลายมือชื่อด้วยตนเอง
  • ในเอาต์พุต pgpacket ยืนยันว่าเป็นแพ็กเก็ตกุญแจสาธารณะ RSA
    • Version Byte: 3
    • Key Created: 25 Oct 1998 01:12:02
    • Algorithm: 1 (RSA)
    • Key ID: 0xA703EFD313629D8D

1 ความคิดเห็น

 
GN⁺ 2023-09-19
ความคิดเห็นบน Hacker News
  • สำหรับหัวข้อนี้ ควรลองอ่านคอมเมนต์ของ Ray Ozzie (ผู้สร้าง Lotus Notes) ในกระทู้ HN ปี 2013
    https://news.ycombinator.com/item?id=5846189
    ก่อนซอฟต์แวร์จะออกวางจำหน่าย Ray Ozzie และ Kauffman ได้อธิบายต่อสาธารณะในงาน RSA Conference ว่าพวกเขากำลังทำอะไรอยู่ มันไม่ใช่แบ็กดอร์ลับ แต่เป็นเรื่อง การปฏิบัติตามข้อควบคุมการส่งออก ที่ทั้งอุตสาหกรรมต้องรับมือ คอมเมนต์ของ barrkel ที่อยู่ถัดลงไปไม่กี่คอมเมนต์ก็น่าอ่านเช่นกัน

    • สำหรับคนที่อายุน้อยกว่าประมาณ 37 ปี อยากย้ำให้เห็นว่าเทคโนโลยีเข้ารหัสก่อนปี 2000 โดยเฉพาะเทคโนโลยีเข้ารหัสในผลิตภัณฑ์เชิงพาณิชย์ที่วางจำหน่าย อยู่ภายใต้ กฎระเบียบของรัฐบาล ที่ค่อนข้างแตกต่างจากปัจจุบันมาก
      https://en.m.wikipedia.org/wiki/Crypto_Wars
      พูดสั้น ๆ คือ รัฐบาลสหรัฐฯ แทบจะห้ามไม่ให้ใส่การเข้ารหัสที่แข็งแกร่งลงในผลิตภัณฑ์ที่เผยแพร่ไปต่างประเทศ ผลิตภัณฑ์เชิงพาณิชย์โดยทั่วไปเข้าข่ายเกือบทั้งหมด แม้ว่าจะมีการใช้งานแบบโอเพนซอร์สของการเข้ารหัสที่แข็งแกร่งอย่าง PGP อยู่แล้วก็ตาม ทุกวันนี้จะใส่การเข้ารหัสที่ปลอดภัยแค่ไหนแล้วเผยแพร่ก็ไม่มีใครสนใจ แต่ตอนนั้นเป็นยุคที่มีโอกาสครึ่งต่อครึ่งว่ากลไกทางกฎหมายทั้งหมดของรัฐบาลสหรัฐฯ จะถูกนำมาใช้จริง เป็นช่วงเวลาที่ขัดแย้งกันแบบบ้าบอมาก
    • มีวิดีโอที่อดีตนักพัฒนา Microsoft วิเคราะห์ NSAkey ไว้ดี
      https://www.youtube.com/watch?v=vjkBAl84PJs
    • เป็นช่วงเวลาที่น่าสนใจมาก ผมจำชื่อไม่ได้แล้ว แต่เคยคุยสั้น ๆ กับคนที่ทำการใช้งาน crc32 และอัลกอริทึมเข้ารหัสของ ZIP เขาพูดเหมือนแทบจะขอโทษว่า การเข้ารหัสนั้นถูกออกแบบให้ ส่งออกได้ ตามกฎหมายในเวลานั้น
      ถึงอย่างนั้นมันก็ไม่ได้แตกง่ายแบบเป็นเรื่องจิ๊บจ๊อยเสียทีเดียว แต่ในช่วงเวลาที่ลองรหัสผ่านได้หนึ่งครั้งกับเอกสาร Office สมัยใหม่ คุณสามารถลองรหัสผ่านได้เป็นล้าน ๆ ชุดกับรายการในไฟล์ ZIP archive
    • จะลับหรือไม่ลับก็ตาม มันคือ แบ็กดอร์ ที่อาจถูกนำไปใช้ในทางที่ผิดได้ และก็ถูกใช้จริง ๆ ทุกวันนี้รัฐบาลต่าง ๆ เรียกร้องให้บริษัทเทคโนโลยีใส่ “แบ็กดอร์ลับ” แต่กลับมองไม่เห็นความเสี่ยงมหาศาล เป็นยุคที่แปลกจริง ๆ
    • เรื่องนี้ไม่ลับเลยสักนิด ผมเคยทำงานที่ Lotus ช่วงกลางยุค 90 และ Lotus Notes มีอยู่สองเวอร์ชัน คือเวอร์ชันสำหรับสหรัฐฯ กับเวอร์ชันที่ติดป้ายว่า “International”
  • (2002)
    กระทู้ก่อนหน้าที่มี 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 ไม่ต้องการให้ผู้คนรู้ว่าระบบเข้ารหัสมีฟีเจอร์ให้หน่วยงานบังคับใช้กฎหมายเข้าถึงได้
      ส่วน FBI ไม่ได้แคร์มากนักว่าผู้คนจะรู้หรือไม่ เพราะอาชญากรที่พวกเขาเล็งไว้ทำ OPSEC ได้ไม่ดีอยู่แล้ว
  • น่าแปลกที่คนของ NSA มีการไตร่ตรองตัวเองพอจะมองออกว่านี่เป็นพฤติกรรมแบบ Big Brother แต่กลับไม่ตระหนักว่าทำไมมันถึงไม่ดี

    • นั่นน่าจะเป็นการประชดของ วิศวกร Lotus ที่ใส่มันเข้าไปมากกว่า
    • ตัว ‘Big Brother’ เองไม่ได้ช็อกอะไร เพราะเป็นเรื่องที่รู้กันมาพักหนึ่งแล้ว อย่างน้อยก็ยังพอเชื่อได้นิดหน่อยว่าอาจมีเจตนาดี เช่น ปกป้องเราจากคนไม่ดีอะไรทำนองนั้น
      แต่ MiniTruth นี่สิ… โห น่าตกใจจริง ๆ
      ตามบริบทแล้ว Ministry of Truth ในนิยาย 1984 คือหน่วยงานที่รับผิดชอบโฆษณาชวนเชื่อ และทั้งสังคมถูกแช่อยู่ในโฆษณาชวนเชื่อนั้น ทุกสิ่งในสังคมที่พวกเขาอาศัยอยู่ล้วนเป็นเรื่องโกหก สิ่งนี้ทำลายความหวังสุดท้ายที่ว่าพวกเขาอาจมีเจตนาดีไปจนหมด ตัวอย่างล่าสุดที่ผมนึกออกซึ่งแสดงให้เห็นว่าพวกเขาดูหมิ่นคนที่อ้างว่ารับใช้อย่างเหยียดหยันแค่ไหน และสะเพร่าเพียงใด คือเมื่อมีการเปิดเผยว่าชื่อห้องแชตภายในของ FTX คือ ‘Wirefraud’
  • เดิมทีแบ็กดอร์ไม่ได้อยู่ใน ตัวอย่างโค้ด ที่ NSA ให้กับบริษัทที่อยากใช้เทคโนโลยีเข้ารหัสหรอกหรือ? ผมจำได้ทำนองว่าเขาให้ seed ตัวอย่างอะไรสักอย่าง แล้วบริษัทส่วนใหญ่ก็แค่คัดลอก/วางมันแทนที่จะสร้างจำนวนเฉพาะของตัวเอง ทำให้ NSA แกะได้ง่ายมาก
    ความทรงจำเลือน ๆ และหาต้นฉบับยากจัง

  • สงสัยว่าในปี 1998 การหาไพรเวตคีย์ของ คีย์สาธารณะ RSA 760 บิต ด้วยการลองแบบ brute force จะยากแค่ไหน มีใครรู้บ้างไหม?

    • https://en.wikipedia.org/wiki/Integer_factorization_records และ https://en.wikipedia.org/wiki/RSA_numbers ให้เบาะแสอยู่ โดยเฉพาะลิงก์หลังอธิบายว่า คีย์ 768 บิตถูกแยกตัวประกอบ “เมื่อวันที่ 12 ธันวาคม 2009 โดยใช้เวลา 2 ปี” และเวลา CPU นั้น “เทียบได้คร่าว ๆ กับการคำนวณเกือบ 2000 ปีบนคอมพิวเตอร์ที่ใช้ AMD Opteron 2.2GHz แบบคอร์เดียว”
      ต่อมาในปี 2019 มีการแยกตัวประกอบคีย์ 795 บิต และว่ากันว่าเวลา CPU อยู่ที่ “ประมาณ 900 core-year บน CPU Intel Xeon Gold 6130 2.1GHz” เมื่อเทียบกับการแยกตัวประกอบ RSA-768 ผู้เขียนประเมินว่าอัลกอริทึมที่ดีขึ้นช่วยเร่งการคำนวณได้ 3–4 เท่า และคอมพิวเตอร์ที่เร็วขึ้นช่วยเร่งได้ 1.25–1.67 เท่า
      ดังนั้นถ้าถือว่าอัลกอริทึมที่ปรับปรุงแล้วใช้กับตัวเลขที่เล็กกว่านี้ได้ด้วย คนที่รู้วิธีจัดการก็น่าจะทำได้ภายในไม่กี่เดือนด้วยเครื่องสมัยใหม่หลายสิบเครื่อง ถึงอย่างนั้น การแยกตัวประกอบจำนวนขนาดใหญ่ก็ดูยากกว่าการรัน CADO-NFS แล้วชี้ไปที่ตัวเลขกับคลัสเตอร์มาก
      ตัวอย่างเช่น ถ้าใช้ค่าจากบทความการแยกตัวประกอบฉบับที่สองที่ว่า “การคำนวณ 795 บิตควรยากกว่าการคำนวณ 768 บิต 2.25 เท่า” ก็อาจมองได้ว่าการเจาะคีย์ที่เล็กกว่าด้วยซอฟต์แวร์สมัยใหม่ต้องใช้ CPU ระดับ Xeon ราว 900/2.25 = 400 core-year ซึ่ง CPU รุ่นนี้ก็เป็นรุ่นอายุ 6 ปีแล้ว ถ้ามีเซิร์ฟเวอร์ 64 คอร์สมรรถนะเทียบเท่า 24 เครื่อง ก็น่าจะใช้เวลามากกว่า 3 เดือนเล็กน้อย อาจหนักเกินไปสำหรับทำเล่นเป็นงานอดิเรก แต่ถ้าเป็นบริษัทที่มีผลประโยชน์ทางการเงินพอสมควร ก็ทำได้มากพอ หากมีบุคลากรที่เข้าใจและทำซ้ำงานนี้ได้
    • มีคนพยายามแยกตัวประกอบไว้แล้วในปี 2018: http://factordb.com/index.php?query=444376527415060195687748...
    • ทุกอย่างขึ้นอยู่กับทรัพยากรที่มีอยู่เสมอ นั่นคือ ทรัพยากรประมวลผล และเวลา เป็นไปได้ แต่ไม่ง่าย
      https://crypto.stackexchange.com/a/1982
    • เป็นคำถามที่เจาะจงจนน่าแปลกนะ มีอะไรคาใจเป็นพิเศษหรือเปล่า?
  • ตอนนี้มี คลาวด์ แล้ว เรื่องพวกนี้ก็ไม่จำเป็นอีกต่อไปทั้งหมด เพราะกฎหมายเกี่ยวกับข้อมูลที่จัดเก็บทำให้อีเมลทุกฉบับที่เกิน 6 เดือนกลายเป็นสิ่งที่แตะต้องได้ตามใจ

    • ลองค้นดูแล้ว แต่ไม่พบผลลัพธ์ที่ชัดเจนว่ามีกฎหมายฉบับใดที่บังคับให้บริษัทอย่าง Google ต้องให้ การเข้าถึงข้อมูลที่จัดเก็บ แก่หน่วยงานรัฐโดยไม่มีหมายศาลหรือ NSL
  • เกี่ยวข้อง: https://github.com/goshacmd/nsa_panel