ถอดรหัสไฟล์ ZIP เก่าเพื่อโอเพนซอร์สโค้ดลับเข้ารหัส "Operation Vula" ของ ANC
- ไม่นานมานี้มีการถอดรหัสไฟล์ PKZIP อายุ 30 ปีเพื่อวิเคราะห์โค้ดเข้ารหัสของ "Operation Vula" ของ ANC ซึ่งมีบทบาทสำคัญในการโค่นล้มระบบการแบ่งแยกสีผิวของแอฟริกาใต้
- Operation Vula เป็นปฏิบัติการในช่วงปลายทศวรรษ 1980 เพื่อแทรกซึมผู้นำ ANC กลับเข้าสู่แอฟริกาใต้และสร้างเครือข่ายใต้ดิน
- ปฏิบัติการนี้ใช้คอมพิวเตอร์ 8 บิต, โทน DTMF และ acoustic coupler เพื่อแลกเปลี่ยนข้อความที่เข้ารหัสด้วย one-time pad
การโอเพนซอร์สระบบเข้ารหัส
- Tim Jenkin ได้นำซอร์สโค้ดต้นฉบับของระบบเข้ารหัสมาโอเพนซอร์ส
- ก่อนกลับไปแอฟริกาใต้ในปี 1991 Tim ได้บีบอัดซอร์สโค้ดทั้งหมดเป็นไฟล์ ZIP ที่เข้ารหัสไว้ แต่ลืมรหัสผ่าน
- ผู้เขียนจึงรับคำขอจาก Tim ให้ช่วยถอดรหัสไฟล์ ALLBAS.ZIP และ CODMAY93.ZIP
กระบวนการถอดรหัสไฟล์ ZIP
- ใช้การโจมตีแบบ known-plaintext ต่ออัลกอริทึม ZipCrypto ที่ใช้ในฟอร์แมต ZIP ยุคนั้น
- ใช้
bkcrack ซึ่งเป็นอิมพลีเมนเทชันโอเพนซอร์ส โดยคาดเดา plaintext 12 ไบต์จากตำแหน่งเฉพาะในไฟล์ ZIP
- จากไฟล์ OLDCOD.ZIP อีกเวอร์ชันที่ Tim ให้มา ยืนยันได้ว่าชื่อไฟล์แรกคือ COMKEY.BAS จึงใช้ข้อมูลนี้สร้าง plaintext เพื่อเริ่มการโจมตี
- หลังผ่านไป 23 นาที
bkcrack ก็หาคีย์ของไฟล์ ALLBAS.ZIP ได้สำเร็จ และใช้คีย์เดียวกันถอดรหัสไฟล์ CODMAY93.ZIP ได้ด้วย
การรันโปรแกรม
- โปรแกรมทั้งสองถูกคอมไพล์และรันใน DOSBox
RANDOM.BAS เป็นโปรแกรมสร้างดิสก์ตัวเลขสุ่มสำหรับใช้เป็น one-time pad ส่วน TECOD.BAS เป็นโปรแกรมสำหรับเข้ารหัสและถอดรหัสข้อความผ่านอีเมล
- รหัสผ่านของโปรแกรมถูกตั้งไว้เป็น TIMBOBIMBO
สรุปโดย GN⁺
- บทความนี้กล่าวถึงกระบวนการถอดรหัสโค้ดลับเข้ารหัสของ ANC และนำมาโอเพนซอร์ส
- ผู้อ่านที่สนใจการฟื้นฟูและวิเคราะห์ระบบเข้ารหัสที่มีความสำคัญทางประวัติศาสตร์น่าจะพบว่าเรื่องนี้น่าสนใจ
- โครงการที่มีฟังก์ชันคล้ายกัน ได้แก่ PGP (Pretty Good Privacy) และ GnuPG (GNU Privacy Guard)
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สาเหตุที่ระบบ Vula ล้มเหลวคือการใช้งานที่ไม่สะดวก
ได้ไปดูตัวสร้างตัวเลขสำหรับ one-time pad ที่ปลอดภัย
แอฟริกาใต้ผ่านอะไรมาเยอะมาก
TIMBOBIMBO ฮ่าๆๆๆ
กล่าวถึง Operation Vula
[flagged]
ถ้าจะถอดรหัส ZIP "เก่า" โดยรู้ตัวอักษรบางส่วนในไฟล์เก็บถาวร เครื่องมือที่ดีที่สุดคือ bkcrack