0Pricing
Cryptology Academy · บทเรียน

RC4: การออกแบบ จุดอ่อน และการโจมตี WEP

วิเคราะห์ KSA และ PRGA ของ RC4 รวมถึงอคติที่ทำให้ WEP/TLS ไม่ปลอดภัย

RC4: การออกแบบ จุดอ่อน และการโจมตี WEP เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

RC4 เป็นเลขรหัสลับแบบกระแสที่ถูกใช้งานอย่างแพร่หลายที่สุดเป็นเวลา 20 ปี โดยใช้ใน WEP, TLS และ SSL ปัจจุบัน RC4 ถูกทำลายอย่างสมบูรณ์แล้ว การทำความเข้าใจความล้มเหลวของ RC4 จะสอนบทเรียนสำคัญเกี่ยวกับการออกแบบการเข้ารหัส

ประวัติของ RC4

RC4 (Rivest Cipher 4) ออกแบบโดย Ron Rivest ในปี 1987 ให้กับ RSA Security และถูกเก็บเป็นความลับทางการค้าจนถึงปี 1994 เมื่อมีผู้วิเคราะห์ย้อนกลับและเผยแพร่โดยไม่เปิดเผยชื่อในชื่อ 'Alleged RC4' (ARC4)

การจัดตารางคีย์ของ RC4 (KSA)

KSA เริ่มต้นอาร์เรย์สถานะ S ขนาด 256 ไบต์: 1. S[i] = i (สำหรับ i = 0..255) 2. j = 0 3. สำหรับ i = 0..255: j = (j + S[i] + key[i % keylen]) % 256; สลับ S[i], S[j]

การสร้างแบบสุ่มเทียมของ RC4 (PRGA)

PRGA สร้างไบต์ของกระแสกุญแจ: i = j = 0 สำหรับแต่ละไบต์: i = (i+1) % 256 j = (j + S[i]) % 256 สลับ S[i], S[j] ส่งออก S[(S[i]+S[j]) % 256]

ความเอนเอียงของไบต์เริ่มต้น

ไบต์แรก ๆ ของผลลัพธ์ RC4 มีความเอนเอียงสูงและไม่ได้สุ่มอย่างแท้จริง ไบต์แรกมีโอกาสเป็น 0 มากกว่าปกติถึงสองเท่า แนวปฏิบัติมาตรฐานคือทิ้ง 1024 ไบต์แรก แต่การนำไปใช้งานจำนวนมากไม่ได้ทำเช่นนั้น

การโจมตี Fluhrer-Mantin-Shamir (2001)

FMS แสดงให้เห็นว่า เมื่อทราบไบต์บางส่วนของคีย์ RC4 (เช่นใน WEP ที่นำ IV ไปไว้ข้างหน้าคีย์) การวิเคราะห์ทางสถิติของกระแสกุญแจจะเปิดเผยไบต์ของคีย์ได้ WEP จึงถูกเจาะได้ภายในไม่กี่นาที

ช่องโหว่ของ WEP

WEP ใช้ RC4 พร้อมกับ: คีย์สั้นขนาด 40 บิต + IV ขนาด 24 บิตที่นำไปไว้ข้างหน้า IV สั้นเกินไป (จึงเกิดซ้ำทุก ๆ ประมาณ 5000 แพ็กเก็ต) และชุดคีย์+IV ถูกป้อนเข้า RC4 โดยตรง (ทำให้เกิดความเอนเอียงแบบ FMS)

การสาธิตการเจาะ WEP

เครื่องมืออย่าง aircrack-ng สามารถเจาะคีย์ WEP ได้โดย: 1. จับแพ็กเก็ตประมาณ 40,000 แพ็กเก็ต 2. เลือกแพ็กเก็ตที่มี IV อ่อนแอ 3. ใช้สถิติแบบ FMS 4. กู้คืนคีย์ขนาด 40 บิตได้ภายในไม่กี่วินาที WEP ถูกประกาศเลิกใช้ในปี 2004 และถูกถอดออกในปี 2012

RC4 ใน TLS: การโจมตี NOMORE (2015)

การโจมตี Bar-Mitzvah และการโจมตี NOMORE แสดงให้เห็นว่าความเอนเอียงของ RC4 สามารถใช้ถอดรหัสคุกกี้ TLS ที่เข้ารหัสด้วย RC4 ได้ Firefox และ Chrome ปิดใช้งาน RC4 ในปี 2015 และ RFC 7465 ห้ามใช้ RC4 ใน TLS

RC4 เทียบกับเลขรหัสลับแบบกระแสสมัยใหม่

จุดอ่อนของ RC4: - ผลลัพธ์มีความเอนเอียง - ไม่รองรับนอนซ์ - ขนาดสถานะจำกัดอยู่ที่ 2048 บิต ChaCha20 แก้ไขปัญหาเหล่านี้ทั้งหมดด้วยการออกแบบที่เรียบง่าย การพิสูจน์ความปลอดภัยอย่างเป็นทางการ และการใช้นอนซ์อย่างชัดเจน

ห้ามใช้ RC4

RC4 ถูกห้ามใช้ในมาตรฐานสมัยใหม่ทั้งหมด RFC 7465 (TLS), RFC 7435 (Opportunistic Security), PCI-DSS และไลบรารีการเข้ารหัสหลักทั้งหมดจัดให้ RC4 เป็นสิ่งที่เลิกใช้แล้วหรือถูกถอดออก

ตรวจสอบความเข้าใจ

จุดอ่อนพื้นฐานใดที่ทำให้การโจมตี FMS สามารถเจาะ WEP ได้

ทบทวน

RC4 จบสิ้นแล้ว ต่อไปเราจะศึกษา ChaCha20 ซึ่งเป็นรุ่นต่อที่ปลอดภัยและออกแบบตามหลักการเข้ารหัสสมัยใหม่

คำถามที่พบบ่อย

บทเรียน “RC4: การออกแบบ จุดอ่อน และการโจมตี WEP” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “RC4: การออกแบบ จุดอ่อน และการโจมตี WEP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “RC4: การออกแบบ จุดอ่อน และการโจมตี WEP”

วิเคราะห์ KSA และ PRGA ของ RC4 รวมถึงอคติที่ทำให้ WEP/TLS ไม่ปลอดภัย คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “RC4: การออกแบบ จุดอ่อน และการโจมตี WEP” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แนวคิดรหัสเข้ารหัสแบบสตรีมและ PRNG
  2. RC4: การออกแบบ จุดอ่อน และการโจมตี WEP
  3. การออกแบบ Salsa20 และ ChaCha20
  4. ChaCha20-Poly1305 AEAD ใน TLS 1.3
← กลับไปที่ Cryptology Academy