Score:1

AES GCM ที่ไม่มี GMAC เสี่ยงต่อการถูกโจมตีด้วยข้อความธรรมดาหรือไม่

ธง in

AES GCM ที่ไม่มี GMAC มีความเสี่ยงต่อการโจมตีแบบ bit-flip หรือไม่ สมมติว่าข้อความธรรมดาเป็นที่รู้จักด้วยเหตุผลบางประการ (เช่น สามารถเดาได้) ในความคิดของฉัน ฉันสามารถพลิกบิตในบล็อคที่มีการเข้ารหัสและสามารถสร้างข้อความธรรมดาซึ่งพลิกที่ตำแหน่งเดียวกันได้ดังนั้นจึงเป็นเรื่องง่ายที่จะเปลี่ยน 0x01 เป็น 0x00 ในข้อความธรรมดา แม้ว่าฉันจะไม่รู้จักคีย์หรือเวกเตอร์การเริ่มต้นก็ตาม

ฉันดูแลบางอย่างหรือไม่? ป้อนคำอธิบายรูปภาพที่นี่

Martin Thompson avatar
za flag
คุณหมายถึง "ให้ถือว่า *plaintext* เป็นที่รู้จัก" ใช่หรือไม่
Marc Ilunga avatar
tr flag
HMAC รับประกันความสมบูรณ์ หากไม่มีเครื่องรับก็จะไม่มีทางตรวจสอบได้ว่าข้อความเข้ารหัสไม่ได้ถูกแก้ไข ดังนั้นจึงมีการโจมตีจำนวนหนึ่งและโดยเฉพาะอย่างยิ่งการพลิกบิตง่ายๆ
MichaelW avatar
in flag
ขออภัย ฉันหมายถึง "ให้ถือว่าข้อความธรรมดาเป็นที่รู้จัก"
MichaelW avatar
in flag
ฉันพูดถึง GMAC ไม่ใช่ HMAC
Martin Thompson avatar
za flag
เท่าที่ฉันเข้าใจ โหมด GCM ถูก *กำหนด* เพื่อรวมรหัสการตรวจสอบสิทธิ์ - จากข้อมูลจำเพาะ "สองฟังก์ชันที่ประกอบด้วย GCM เรียกว่าการเข้ารหัสที่ตรวจสอบความถูกต้องและการถอดรหัสที่ตรวจสอบความถูกต้อง"... ดังนั้นหากไม่มี GMAC จึงอาจมีความเสี่ยงต่อทั้งหมด ประเภทของการโจมตี แต่คุณไม่ควรทำอย่างนั้น :)
MichaelW avatar
in flag
ฉันทำงานในโครงการโลกแห่งความเป็นจริงสามารถเลือกได้ว่าจะใช้เพียงการเข้ารหัส (GCM) หรือการเข้ารหัส + การพิสูจน์ตัวตน (GCM/GMAC) มีการพูดคุยกันว่าจะใช้ GCM โดยไม่มี GMAC แต่ฉันคิดว่าด้วยเหตุผลข้างต้นนี้ค่อนข้างอันตราย
Marc Ilunga avatar
tr flag
ดูเหมือนว่าการแก้ไขอัตโนมัติของฉันชอบ HMAC มากกว่า GMAC อย่างไรก็ตามคำสั่งยังคงควรถือไว้ ยิ่งไปกว่านั้น หากไม่มี GMAC เราก็จะใช้ CTR แทน
poncho avatar
my flag
หากพวกเขากำลังคุยกันว่า 'มาทำ GCM โดยไม่ผ่านหรือตรวจสอบความถูกต้องของแท็ก' พวกเขากำลังพูดว่า 'ให้ใช้ GCM เวอร์ชันที่ใช้งานไม่ได้' หากพวกเขาไม่มี/ไม่สามารถใช้แบนด์วิธในการส่งแท็ก GCM ได้ พวกเขาก็ไม่ควรใช้ GCM เลย
Score:2
ธง in

ในฐานะที่เป็นการเข้ารหัสที่รับรองความถูกต้องด้วยข้อมูลที่เกี่ยวข้อง AES-GCM ใช้โหมด CTR ภายในและ GCM จะเพิ่มการรับรองความถูกต้องและความสมบูรณ์ หากไม่มี GCM จะมีเพียงการรักษาความปลอดภัยแบบ Ind-CPA

CTR ใน AES-GCM เริ่ม IV เพิ่มขึ้น ($inc_{32}(J_0)$ ในรูปแบบ NIST และหากขนาด IV ไม่ใช่ 96 บิต IV จะถูกประมวลผล) เริ่มต้น $J_0$ ใช้ในการคำนวณแท็กการรับรองความถูกต้อง

ที่เหลือคือโหมด CTR ตามปกติ ถ้าใครรู้ข้อความก็สามารถเปลี่ยนข้อความเป็นข้อความที่ต้องการได้ เพียงแค่ x-หรือ (การโจมตีแบบพลิกบิต) บิตที่จำเป็น

ป้อนคำอธิบายรูปภาพที่นี่

พิจารณาการเข้ารหัส หนึ่งไม่มีการควบคุมของ กระแสเอาต์พุต. ในทางกลับกัน หากมีการแก้ไขข้อความไซเฟอร์ เฉพาะข้อความธรรมดาเท่านั้นที่จะถูกเปลี่ยน หรือดูในสมการ ;

$$C_i = O_i \oบวก P_i$$ กระแสเอาต์พุต $O_i$ ได้รับการแก้ไขโดยการเข้ารหัส block cipher ดังนั้นการเปลี่ยนแปลง $C_i$ แก้ไข $P_i$.

อย่างไรก็ตาม นี่ไม่ใช่การโจมตีแบบธรรมดาที่รู้จัก! ในการโจมตีที่รู้จักข้อความธรรมดา คนหนึ่งมีคู่ที่รู้จักข้อความธรรมดาและพยายามระบุคีย์ โหมด CTR ปลอดภัยจากการโจมตี KPA และจริง ๆ แล้วเป็นการโจมตีที่น้อยกว่า Ind-CPA

MichaelW avatar
in flag
อ่า... แล้วการโจมตีแบบใดที่เป็นการพลิกบิตซึ่งแก้ไขข้อความธรรมดาที่รู้จักโดยการพลิกบิตในข้อความเข้ารหัส หรือนี่ไม่ใช่การโจมตีเพราะมันเล็กน้อย?
kelalaka avatar
in flag
โดยทั่วไปแล้ว มันคือการโจมตีแบบแอ็คทีฟที่ปรับเปลี่ยนไซเฟอร์เท็กซ์ โดยเฉพาะอย่างยิ่ง มันเป็นการโจมตีแบบพลิกบิตแม้ว่า [โหมด CBC จะมีการโจมตีแบบพลิกบิต](https://crypto.stackexchange.com/a/66086/18298)
MichaelW avatar
in flag
แต่อย่างไรก็ตาม ในทางปฏิบัติฉันสามารถระบุได้ว่า GCM ที่ไม่มี GMAC ไม่ปลอดภัยเมื่อเดาข้อความธรรมดาได้ ใช่ไหม
kelalaka avatar
in flag
โปรดจำไว้ว่าเป้าหมายหลักของผู้โจมตีในการเข้ารหัสคือการเข้าถึงข้อความ ซึ่งไม่ได้หมายความว่ามีผู้เข้าถึงคีย์ด้วยกำลังดุร้ายหรือด้วยวิธีอื่น โดยทั่วไปจะถูกเปิดเผยด้วยกุญแจ ในกรณีของคุณ เมื่อคุณเปิดเผยข้อความ ตอนนี้คุณมีคู่ข้อความธรรมดาที่รู้จักที่จะโจมตีด้วย KPA เป็นอย่างน้อย จดจำโหมด CTR Ind-CPA ให้ปลอดภัย
kelalaka avatar
in flag
การเดาข้อความทำให้การโจมตีง่ายขึ้นในกรณีที่ใช้ IV ซ้ำภายใต้คีย์เดียวกัน สิ่งนี้จะเปิดเผยข้อความอื่นที่ไม่ใช่คีย์
MichaelW avatar
in flag
สมมติว่ามีคำสั่งที่จะส่งไปยังโรงไฟฟ้า ซึ่งสามารถเป็น "Set Status=0" และ "set Status=1" ถ้ามัลลอรี่ที่อยู่ตรงกลางสามารถเดาได้ว่ามีการส่งคำสั่งแรก เขาก็สามารถเปลี่ยน 0 เป็น 1 ได้เพียงแค่พลิกบิตโดยที่ไม่รู้รหัสและไม่ต้องใช้ IV ซ้ำ หาก "1" หมายถึง "ปิดโรงไฟฟ้า" Mallory อาจทำให้เกิดอันตรายร้ายแรงได้อย่างง่ายดาย อย่างไรก็ตาม เมื่อคำสั่งได้รับการป้องกันเพิ่มเติมจากแท็กการรับรองความถูกต้อง และแต่ละ IV ถูกใช้เพียงครั้งเดียว สถานการณ์นี้จะไม่เกิดขึ้น นี่เป็นปัญหาในโลกแห่งความเป็นจริงของฉัน คุณคิดว่าความกลัวของฉันเป็นจริงหรือไม่?
kelalaka avatar
in flag
[เกมที่เราเล่นใน Ind-CPA, Ind-CCAx](https://crypto.stackexchange.com/q/26689/18298) เราพูดถึงบิตเดียวที่มีการพยายามหลายครั้งของฝ่ายตรงข้าม เราคาดหวังว่าความได้เปรียบของฝ่ายตรงข้ามคือ $1/2+\epsilon$ โดยที่ $\epsilon$ เป็นจำนวนเล็กน้อย ดังนั้นศัตรูจึงมีโอกาสสำเร็จเพียงเล็กน้อยเท่านั้น

โพสต์คำตอบ

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