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

แบบจำลองผู้โจมตี Dolev-Yao และการเข้ารหัสเชิงสัญลักษณ์

จำลองโพรโทคอลการเข้ารหัสภายใต้สมมติฐานของ Dolev-Yao

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

แบบจำลอง Dolev-Yao

แบบจำลอง Dolev-Yao ซึ่ง Danny Dolev และ Andrew Yao เสนอในปี 1983 เป็นแบบจำลองฝ่ายตรงข้ามมาตรฐานสำหรับการวิเคราะห์โพรโทคอลเชิงสัญลักษณ์ ผู้โจมตีควบคุมเครือข่ายทั้งหมด

ความสามารถของผู้โจมตี

ผู้โจมตีตามแบบจำลอง Dolev-Yao สามารถ ดักจับข้อความใด ๆ จัดเก็บข้อความ เล่นซ้ำข้อความเก่า และ ปลอมแปลงข้อความใหม่จากองค์ประกอบที่ทราบ แต่ไม่สามารถทำลายส่วนประกอบพื้นฐานของการเข้ารหัสได้

สมมติฐานการเข้ารหัสที่สมบูรณ์แบบ

ในแบบจำลองเชิงสัญลักษณ์ การเข้ารหัสเป็นกล่องดำที่สมบูรณ์แบบ ผู้โจมตีจะถอดรหัสไม่ได้หากไม่มี keys ไม่สามารถแยกตัวประกอบจำนวนขนาดใหญ่ และไม่สามารถปลอมแปลงลายเซ็นได้ การทำให้แบบจำลองเรียบง่ายเช่นนี้ช่วยให้วิเคราะห์ได้สะดวกขึ้น แต่อาจทำให้พลาดการโจมตีในระดับการนำไปใช้งานจริง

พีชคณิตพจน์สำหรับข้อความโพรโทคอล

ข้อความถูกจำลองเป็นพจน์ เช่น enc(k, m), sig(sk, m), hash(m), pair(a, b) ผู้โจมตีรู้จักพจน์บางรายการ และอนุมานพจน์ใหม่โดยใช้กฎที่กำหนดไว้ (กฎการอนุมาน)

การปิดภายใต้การอนุมาน

ความรู้ของผู้โจมตีปิดภายใต้การอนุมาน กล่าวคือ หากผู้โจมตีรู้จัก enc(k,m) และ k ก็สามารถอนุมาน m ได้ หากรู้จัก pair(a,b) ก็สามารถอนุมาน a และ b ได้ การปิดของความรู้เริ่มต้น = ทุกสิ่งที่ผู้โจมตีสามารถเรียนรู้ได้

คุณสมบัติความปลอดภัยในรูปการเข้าถึงได้

ความปลอดภัยของโพรโทคอลระบุว่า "ความรู้ของผู้โจมตีจะไม่มีทางมีความลับ s อยู่ในสถานะใด ๆ ที่เข้าถึงได้" การรักษาความลับ = การเข้าถึงได้ การพิสูจน์ตัวตน = การไม่มีรูปแบบร่องรอยที่ไม่พึงประสงค์บางอย่าง

การสร้างแบบจำลองโพรโทคอลอย่างง่าย

โพรโทคอลสองฝ่าย: A→B: {Na, A}_{K_B}; B→A: {Na, Nb}_{K_A}; A→B: {Nb}_{K_B} ในพีชคณิตพจน์: Alice ส่ง enc(pubkey_B, pair(Na, A)) เราตรวจสอบว่าหลังจากการทำงานเสร็จสิ้น มีเพียง B เท่านั้นที่รู้จัก Na

แคลคูลัสไพประยุกต์

แคลคูลัสไพประยุกต์ (Abadi และ Fournet, 2001) เป็นพีชคณิตกระบวนการสำหรับสร้างแบบจำลองโพรโทคอล กระบวนการสื่อสารกันผ่านช่องสัญญาณ และผู้โจมตีควบคุมช่องสัญญาณสาธารณะ ProVerif และ Tamarin ใช้รูปแบบเชิงรูปนัยนี้

ความปลอดภัยเชิงสัญลักษณ์กับเชิงคำนวณ

โพรโทคอลที่ปลอดภัยในแบบจำลอง Dolev-Yao อาจยังไม่ปลอดภัยเชิงคำนวณ หากการนำองค์ประกอบการเข้ารหัสไปใช้งานมีจุดอ่อน ทฤษฎีความถูกต้องเชิงคำนวณ (Cortier และคณะ) เชื่อมช่องว่างนี้สำหรับองค์ประกอบพื้นฐานบางประเภทโดยเฉพาะ

ข้อจำกัดของแบบจำลอง

Dolev-Yao ไม่สามารถสร้างแบบจำลองสิ่งต่อไปนี้ได้: คุณสมบัติเชิงพีชคณิต (เช่น การสลับที่ของ XOR) การโจมตีช่องทางข้างเคียง ข้อบกพร่องในการนำไปใช้งาน หรือความล้มเหลวแบบมีความน่าจะเป็น ส่วนขยายอย่างแบบจำลองทฤษฎีสมการสามารถจัดการคุณสมบัติเชิงพีชคณิตบางส่วนได้

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

ความสามารถใดที่ผู้โจมตีแบบ Dolev-Yao ไม่มี (NOT)

ทบทวนบทเรียน

Dolev-Yao ให้ผู้โจมตีควบคุมเครือข่ายได้อย่างเต็มที่ แต่ตั้งสมมติฐานว่าการเข้ารหัสสมบูรณ์แบบ ข้อความเป็นพจน์ในพีชคณิต และความปลอดภัยเป็นคุณสมบัติด้านการเข้าถึงได้ แคลคูลัสไพประยุกต์เป็นภาษารูปนัยสำหรับอธิบายสิ่งเหล่านี้ ข้อจำกัดคือไม่สามารถสร้างแบบจำลองความสัมพันธ์เชิงพีชคณิต ช่องทางข้างเคียง หรือข้อบกพร่องในการนำไปใช้งานได้

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

บทเรียน “แบบจำลองผู้โจมตี Dolev-Yao และการเข้ารหัสเชิงสัญลักษณ์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “แบบจำลองผู้โจมตี Dolev-Yao และการเข้ารหัสเชิงสัญลักษณ์”

จำลองโพรโทคอลการเข้ารหัสภายใต้สมมติฐานของ Dolev-Yao คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “แบบจำลองผู้โจมตี Dolev-Yao และการเข้ารหัสเชิงสัญลักษณ์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. เหตุใดบทพิสูจน์อย่างไม่เป็นทางการจึงไม่เพียงพอ
  2. แบบจำลองผู้โจมตี Dolev-Yao และการเข้ารหัสเชิงสัญลักษณ์
  3. ProVerif: การตรวจสอบโพรโทคอลอัตโนมัติ
  4. Tamarin และบทพิสูจน์เชิงคำนวณ
← กลับไปที่ Cryptology Academy