Score:4

แยกไม่ออกของการเข้ารหัสแบบสมมาตรภายใต้ CCA

ธง vn

ฉันกำลังเรียนรู้เกี่ยวกับการเข้ารหัสแบบสมมาตรและคุณสมบัติด้านความปลอดภัย แนวคิดด้านความปลอดภัยประการหนึ่งคือการรักษาความปลอดภัยจากการโจมตีข้อความเข้ารหัส (CCA) ที่เลือก โดยเฉพาะอย่างยิ่งแนวคิด IND-CCA

ภายใต้แนวคิดนี้ ฝ่ายตรงข้ามสามารถเข้าถึงทั้งออราเคิลเข้ารหัสและออราเคิลถอดรหัส เกม/การทดลองของ IND-CCA กำหนดข้อจำกัดที่สำคัญสำหรับฝ่ายตรงข้ามว่าเขาไม่สามารถทำการสืบค้นข้อความเข้ารหัส (ไปยังออราเคิลถอดรหัส) ที่ได้รับจากการเข้ารหัสข้อความธรรมดา (ได้รับจากออราเคิลเข้ารหัส) มิฉะนั้นฝ่ายตรงข้ามสามารถชนะได้เล็กน้อย

ฉันเข้าใจถึงความจำเป็นในการจำกัดความเป็นปรปักษ์เพื่อให้แนวคิดเป็นทางการ แต่ฉันไม่เข้าใจว่าเกม/การทดลองนี้จะจำลองสถานการณ์ในชีวิตจริงได้อย่างไร แนวคิดนี้พูดถึงแง่มุมใดของความเป็นจริง

Titanlord avatar
tl flag
ใน [ตำราเรียนของ Katz & Lindell (ฉบับที่ 2)](https://www.cs.umd.edu/~jkatz/imc.html) ในบทที่ 3.7.2 เกี่ยวกับ Padding Oracle Attacks (หน้า 98) คุณควรหาคำอธิบาย กำลังมองหา.
Score:7
ธง us

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

ฉันต้องการกระตุ้นความปลอดภัยของ CCA ด้วยสองวิธีที่แตกต่างกัน:

(1) ถ้าฉันจดข้อความลับไว้ในซองจดหมาย และคุณไม่เคยแตะต้องซองนั้นเลย คุณจะไม่สามารถบอกได้ว่ามีอะไรอยู่ในซองของฉัน เกิดอะไรขึ้นถ้าฉันยังตกลงที่จะเปิดใด ๆ อื่นๆ ซองจดหมายในโลก -- นั่นจะช่วยให้คุณรู้ว่ามีอะไรอยู่ข้างในซองจดหมายพิเศษนี้? ไม่แน่นอน เหตุใดการถอดรหัสสิ่งที่อยู่ภายใน ciphertext #1 จึงบอกคุณเกี่ยวกับสิ่งที่อยู่ภายใน ciphertext #2 ฉันไม่ต้องการซื้อกล่องซองจดหมายที่มีคุณสมบัตินั้น และฉันก็ไม่ต้องการใช้รูปแบบการเข้ารหัสกับคุณสมบัตินั้น

(2) คุณคงมีข้อกังขาเกี่ยวกับความปลอดภัยของ CPA เหมือนกัน: ในโลกแห่งความเป็นจริง เราจะปล่อยให้มีผู้โจมตีเมื่อใด เลือกอย่างสมบูรณ์ สิ่งที่เราเข้ารหัส? นั่นเป็นคำถามที่ถูกต้อง แต่สมมติว่าเรามีข้อกำหนดด้านความปลอดภัยที่ไม่อนุญาตให้ผู้โจมตีมีอิทธิพลต่อการเลือกข้อความธรรมดา เลย. จากนั้น ทุกครั้งที่เราเข้ารหัสในโลกแห่งความจริง เราต้องแน่ใจอย่างยิ่งว่าข้อความธรรมดามี อิทธิพลเป็นศูนย์ จากผู้โจมตีใดๆ -- นั่นเป็นวิธีเดียวที่เราจะมั่นใจได้ว่าคำจำกัดความความปลอดภัยสมมุติฐานนี้จะนำไปใช้กับสถานการณ์ของเราได้

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

สถานการณ์ที่คล้ายกันนี้เกี่ยวข้องกับการถอดรหัส คุณนึกภาพเว็บเซิร์ฟเวอร์ที่ยอมรับข้อความเข้ารหัสจากโลกภายนอก ถอดรหัสข้อความเข้ารหัสเหล่านั้น แล้วทำบางสิ่งตามผลลัพธ์ของการถอดรหัส (เช่น หากผลลัพธ์ของการถอดรหัสคือสิ่งนี้ ให้ทำสิ่งนี้ ไม่เช่นนั้นให้ทำอย่างนั้น) หากฟังดูเป็นธรรมชาติ คำจำกัดความด้านความปลอดภัยของคุณจะต้องทำให้ผู้โจมตีสามารถเรียนรู้ได้ บางสิ่งบางอย่าง เกี่ยวกับผลลัพธ์ของการถอดรหัสบนข้อความไซเฟอร์ที่สร้างขึ้นโดยฝ่ายตรงข้าม (คำจำกัดความของ CPA ไม่ได้ครอบคลุมถึงสถานการณ์นี้) ดังนั้นผู้โจมตีควรได้รับข้อมูลเท่าใด ในโลกแห่งความเป็นจริง คำตอบสำหรับคำถามนี้ขึ้นอยู่กับแอปพลิเคชันนั้นเป็นอย่างมาก หากเราต้องการข้อกำหนดด้านความปลอดภัยสำหรับวัตถุประสงค์ทั่วไป ซึ่งนำไปใช้กับสถานการณ์จริงหลายๆ สถานการณ์ ดังนั้นข้อกำหนดด้านความปลอดภัยนั้นควรให้อำนาจแก่ผู้โจมตีมากที่สุดเท่าที่จะเป็นไปได้ ในกรณีนี้ ควรปล่อยให้ผู้โจมตีสามารถถอดรหัสได้ตามต้องการอย่างอิสระ และเรียนรู้ผลลัพธ์ทั้งหมดของการถอดรหัส (ยกเว้นวิธีที่ทำให้เกมความปลอดภัยดูไม่สำคัญ)

การรักษาความปลอดภัย CCA ไม่ได้มีไว้เพื่อสะท้อนถึงสถานการณ์จริงเพียงสถานการณ์เดียว ซึ่งเราเปิดเผยออราเคิลการถอดรหัสเต็มรูปแบบแก่ผู้โจมตี ค่อนข้างจะหมายถึงทั่วไปพอที่จะ ใดๆ สถานการณ์ที่ผู้โจมตีเรียนรู้ บางสิ่งบางอย่าง เกี่ยวกับผลลัพธ์ของการถอดรหัส ciphertexts ที่สร้างขึ้นโดยฝ่ายตรงข้าม

driewguy avatar
vn flag
คำอธิบายที่ยอดเยี่ยม! ฉันเข้าใจเหตุผลบางประการที่อยู่เบื้องหลังแนวคิดด้านความปลอดภัย ฉันสามารถดูว่าความปลอดภัยของ IND-CCA1 จะเกี่ยวข้องกันอย่างไร แต่แนวคิดของ IND-CCA2 ซึ่งฝ่ายตรงข้ามสามารถเลือกข้อความเข้ารหัสเพื่อส่งไปยังออราเคิลถอดรหัสตามข้อความเข้ารหัสที่ไม่รู้จักนั้นยังดูห่างไกล แบบจำลองแนวคิด IND-CCA2 ในสถานการณ์ใดบ้าง หลังจากเห็นข้อความเข้ารหัสที่ไม่รู้จัก หากฝ่ายตรงข้ามได้รับอนุญาตให้เลือกข้อความเข้ารหัส อะไรทำให้เขาไม่สามารถเลือกข้อความเข้ารหัสที่ไม่รู้จักเป็นแบบสอบถามไปยังออราเคิลถอดรหัสและเรียนรู้เกี่ยวกับข้อความธรรมดา อีกครั้ง ฉันเข้าใจถึงความจำเป็นของข้อจำกัดดังกล่าวในคำจำกัดความที่เป็นทางการของการทดสอบ
us flag
อีกวิธีหนึ่งในการทำความเข้าใจ CCA: สมมติว่าฉันยอมรับข้อความเข้ารหัส $c$ และฉันยินดีที่จะเปิดเผยคำตอบสำหรับคำถามเล็ก ๆ หนึ่งข้อเกี่ยวกับ $\textsf{Dec}(c)$ CCA รับรองว่าฉันเปิดเผยเฉพาะสิ่งที่ฉันต้องการเท่านั้น หากไม่มี CCA หากฉันตอบคำถามนั้นเกี่ยวกับ $c$ และ $c_1$ และ $c_2$ ฯลฯ อาจเปิดเผยมากกว่าที่ฉันต้องการเกี่ยวกับ $c$ หากไม่มี CCA ข้อมูลเกี่ยวกับ $c$ สามารถ "รั่วไหลไปยัง" ข้อความเข้ารหัสอื่นๆ ของ $c_i$ ดังนั้นคำตอบของคำถามเกี่ยวกับ $c_i$ นี้จะทำให้ผู้โจมตีเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่อยู่ภายใน $c$

โพสต์คำตอบ

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