คำจำกัดความด้านความปลอดภัยและแบบจำลองของคู่ต่อสู้
คำจำกัดความด้านความปลอดภัยและแบบจำลองของคู่ต่อสู้ที่แม่นยำจะระบุอย่างชัดเจนว่าระบบเข้ารหัสต้องป้องกันอะไร และสันนิษฐานว่าผู้โจมตีมีอำนาจอะไร ทำให้แนวคิดที่คลุมเครือของ 'ความปลอดภัย' กลายเป็นข้อเรียกร้องที่สามารถทดสอบได้
Definition
คำจำกัดความด้านความปลอดภัยระบุอย่างเป็นทางการถึงเป้าหมายที่ระบบต้องบรรลุ และแบบจำลองของคู่ต่อสู้ที่ระบบต้องบรรลุเป้าหมายนั้น โดยทั่วไปจะอยู่ในรูปของเกม หรือการเปรียบเทียบฟังก์ชันการทำงานในอุดมคติ ซึ่งความน่าจะเป็นที่คู่ต่อสู้จะประสบความสำเร็จจะต้องน้อยมาก
Scope
หัวข้อนี้ครอบคลุมถึงวิธีการกำหนดเป้าหมายและภัยคุกคามด้านความปลอดภัยอย่างเป็นทางการ: คำจำกัดความของเป้าหมาย (ความปลอดภัยเชิงความหมาย, การไม่สามารถแยกแยะได้, การไม่สามารถปลอมแปลงได้) และแบบจำลองการโจมตีที่ให้คู่ต่อสู้มีอำนาจเพิ่มขึ้น (การโจมตีแบบเลือกข้อความธรรมดา, การโจมตีแบบเลือกข้อความเข้ารหัส, การโจมตีแบบปรับตัว) กรอบการทำงานแบบอุดมคติ/จริงและแบบเกม และช่องว่างระหว่างคู่ต่อสู้ที่จำลองขึ้นกับคู่ต่อสู้ในโลกจริง (ช่องทางข้างเคียง) โดยไม่รวมถึงการลดทอนและข้อสันนิษฐานความยากที่ใช้เพื่อตอบสนองคำจำกัดความเหล่านี้ ซึ่งจะกล่าวถึงในหัวข้อที่เกี่ยวข้อง
Core questions
- เหตุใดเป้าหมายด้านความปลอดภัยจึงต้องถูกกำหนดอย่างแม่นยำ แทนที่จะเป็นไปตามสัญชาตญาณ?
- อะไรคือความแตกต่างระหว่างเป้าหมายด้านความลับ (ความปลอดภัยเชิงความหมาย) กับเป้าหมายด้านความสมบูรณ์ (การไม่สามารถปลอมแปลงได้)?
- แบบจำลองการโจมตี (CPA, CCA, แบบปรับตัว) จับความสามารถของคู่ต่อสู้ได้อย่างไร?
- คำจำกัดความแบบเกมและแบบอุดมคติ/จริงแสดงออกถึงความปลอดภัยอย่างไร?
- เหตุใดระบบที่พิสูจน์แล้วว่าปลอดภัยในแบบจำลองของมันจึงยังคงล้มเหลวต่อการโจมตีในโลกจริง เช่น ช่องทางข้างเคียง?
Key concepts
- ความปลอดภัยเชิงความหมาย
- การไม่สามารถแยกแยะข้อความเข้ารหัสได้ (IND)
- การโจมตีแบบเลือกข้อความธรรมดา (CPA)
- การโจมตีแบบเลือกข้อความเข้ารหัส (CCA)
- การไม่สามารถปลอมแปลงได้เชิงการมีอยู่
- คู่ต่อสู้แบบปรับตัว
- คำจำกัดความแบบเกม
- กระบวนทัศน์แบบอุดมคติ/จริง
- ช่องว่างของช่องทางข้างเคียง
Key theories
- ความปลอดภัยเชิงความหมายและการไม่สามารถแยกแยะได้
- ความลับถูกกำหนดเพื่อให้ข้อความเข้ารหัสไม่รั่วไหลข้อมูลที่เป็นประโยชน์: คู่ต่อสู้ไม่สามารถแยกแยะการเข้ารหัสของข้อความสองข้อความที่เลือกได้ ซึ่งเป็นคำจำกัดความที่ Goldwasser และ Micali นำเสนอ ซึ่งเป็นรากฐานของความปลอดภัยการเข้ารหัสสมัยใหม่ทั้งหมด
- แบบจำลองการโจมตีและอำนาจของคู่ต่อสู้
- ความปลอดภัยถูกระบุสัมพันธ์กับสิ่งที่คู่ต่อสู้สามารถทำได้ — สังเกตการณ์แบบพาสซีฟ, ติดตั้งการโจมตีแบบเลือกข้อความธรรมดาหรือการโจมตีแบบเลือกข้อความเข้ารหัสแบบปรับตัว — โดยมีแบบจำลองที่แข็งแกร่งขึ้น (ความปลอดภัยแบบ CCA) ที่จำเป็นสำหรับระบบที่ใช้ในการตั้งค่าแบบโต้ตอบที่เป็นปฏิปักษ์
Mechanisms
คำจำกัดความแบบเกมจะให้ผู้ท้าทายแข่งขันกับคู่ต่อสู้: สำหรับความปลอดภัยแบบ IND-CPA คู่ต่อสู้จะส่งข้อความสองข้อความ ผู้ท้าทายจะเข้ารหัสข้อความหนึ่งแบบสุ่ม และความปลอดภัยกำหนดให้คู่ต่อสู้ไม่สามารถเดาได้ว่าข้อความใดถูกเข้ารหัสเกินกว่าโอกาส สภาพความปลอดภัยแบบ CCA ที่แข็งแกร่งขึ้นยังให้คู่ต่อสู้มีออราเคิลถอดรหัสอีกด้วย กระบวนทัศน์แบบอุดมคติ/จริงกลับพิจารณาว่าระบบปลอดภัยหากการโต้ตอบกับระบบนั้นไม่สามารถแยกแยะได้จากการโต้ตอบกับฟังก์ชันการทำงานที่เชื่อถือได้ในอุดมคติ คู่ต่อสู้ในโลกจริงอาจใช้ประโยชน์จากการรั่วไหลของเวลาหรือพลังงานที่อยู่นอกแบบจำลองเหล่านี้ ซึ่งกระตุ้นให้เกิดคำจำกัดความที่คำนึงถึงช่องทางข้างเคียง
Clinical relevance
การเลือกคำจำกัดความที่ถูกต้องมีความสำคัญ: การเข้ารหัสที่ใช้ในโปรโตคอลแบบโต้ตอบต้องการความปลอดภัยแบบ CCA ไม่ใช่แค่ CPA และการโจมตีแบบ padding-oracle ในระบบจริง (เช่น TLS ในยุคแรก) เป็นผลโดยตรงจากการนำระบบที่ตรงตามคำจำกัดความที่อ่อนแอเกินไปมาใช้ แบบจำลองของคู่ต่อสู้ยังชี้แจงว่าการนำไปใช้งานไม่ป้องกันอะไรบ้าง — ตัวอย่างเช่น แบบจำลองที่ละเลยช่องทางข้างเคียงอธิบายว่าทำไมการโจมตีด้วยเวลาและพลังงานจึงประสบความสำเร็จกับการนำไปใช้งานที่ 'ปลอดภัย' ในทางอื่น
Evidence & guidelines
มาตรฐานสมัยใหม่กำหนดให้ระบบต้องเป็นไปตามคำจำกัดความที่แข็งแกร่ง: การเข้ารหัสแบบตรวจสอบสิทธิ์ (IND-CCA บวกความสมบูรณ์) เป็นค่าเริ่มต้นสำหรับความลับ และลายเซ็นต้องไม่สามารถปลอมแปลงได้ภายใต้การโจมตีแบบเลือกข้อความแบบปรับตัว กรอบการทำงาน Universal Composability ให้คำจำกัดความที่ยังคงปลอดภัยภายใต้การประกอบแบบใดก็ได้ การนำไปใช้งานยังต้องการการเข้ารหัสที่ทนทานต่อช่องทางข้างเคียง (constant-time) นอกเหนือจากแบบจำลองที่เป็นทางการ
History
ก่อนทศวรรษ 1980 ความปลอดภัยถูกตัดสินอย่างไม่เป็นทางการ ความปลอดภัยเชิงความหมายของ Goldwasser และ Micali (1982-1984) ได้นำเสนอคำจำกัดความที่เข้มงวดและอิงตามการไม่สามารถแยกแยะได้ ซึ่งต่อมาได้ขยายไปยังแบบจำลองการโจมตีแบบเลือกข้อความเข้ารหัส และการไม่สามารถปลอมแปลงได้สำหรับลายเซ็นและ MACs กระบวนทัศน์การจำลองแบบอุดมคติ/จริงและกรอบการทำงาน Universal Composability ของ Canetti (2001) ได้กล่าวถึงความปลอดภัยภายใต้การประกอบ ซึ่งเป็นการวางรากฐานคำจำกัดความที่ควบคุมการวิเคราะห์การเข้ารหัสที่จริงจังทั้งหมดในปัจจุบัน
Key figures
- Shafi Goldwasser
- Silvio Micali
- Oded Goldreich
- Ran Canetti
- Mihir Bellare
Related topics
Seminal works
- goldwasser1984
- katz2020
- goldreich2004
Frequently asked questions
- ความแตกต่างระหว่างความปลอดภัยแบบ CPA และ CCA คืออะไร?
- ความปลอดภัยแบบ Chosen-plaintext-attack (CPA) สันนิษฐานว่าคู่ต่อสู้สามารถได้รับการเข้ารหัสของข้อความที่เลือกได้ ความปลอดภัยแบบ Chosen-ciphertext-attack (CCA) ยังอนุญาตให้คู่ต่อสู้ได้รับการถอดรหัสของข้อความเข้ารหัสที่เลือก ซึ่งเป็นแบบจำลองที่แข็งแกร่งกว่าที่จำเป็นเมื่อผู้โจมตีสามารถส่งข้อความเข้ารหัสและสังเกตว่าระบบตอบสนองอย่างไร
- หากระบบได้รับการพิสูจน์แล้วว่าปลอดภัย เหตุใดการโจมตีแบบช่องทางข้างเคียงจึงได้ผล?
- คำจำกัดความด้านความปลอดภัยจำลองคู่ต่อสู้ที่เห็นอินพุตและเอาต์พุต ไม่ใช่การรั่วไหลทางกายภาพ เช่น เวลา การใช้พลังงาน หรือการปล่อยคลื่นแม่เหล็กไฟฟ้า การนำไปใช้งานจริงสามารถรั่วไหลความลับผ่านช่องทางเหล่านี้ได้ แม้ว่าระบบนามธรรมจะตรงตามคำจำกัดความก็ตาม ซึ่งเป็นเหตุผลว่าทำไมการนำไปใช้งานแบบ constant-time ที่ทนทานต่อการรั่วไหลจึงเป็นสิ่งจำเป็นด้วย