Score:2

การโจมตี MitM จะป้องกันได้อย่างไรเมื่อเซสชันทั้งหมดถูกแย่งชิง

ธง in

สมมติว่ามีการรับรองความถูกต้องร่วมกันระหว่างไคลเอนต์ที่เชื่อมต่อกับเซิร์ฟเวอร์บนช่อง TCP ที่ไม่ปลอดภัย ทั้งสองฝ่ายสร้างความท้าทายแบบสุ่มและอีกฝ่ายตอบด้วยคีย์แฮชโดยใช้คีย์สมมาตรที่แชร์ล่วงหน้า

$$C\rightarrow เปิด \,\, การเชื่อมต่อ \rightarrow S$$ $$C\rightarrow challenge_C \rightarrow S$$ $$C\leftarrow challenge_S \leftarrow S$$

$$C\rightarrow H_K(challenge_S) \rightarrow S$$ $$C\leftarrow H_K(challenge_C) \leftarrow S$$

$$C \leftarrow รับรองความถูกต้อง \rightarrow S$$

อย่างไรก็ตาม ฝ่ายตรงข้าม "คนที่อยู่ตรงกลาง" สามารถฟังเครือข่ายได้ไม่ว่าด้วยวิธีใดก็ตาม เมื่อใดก็ตามที่ไคลเอ็นต์ C กำลังจะสร้างการเชื่อมต่อ TCP กับเซิร์ฟเวอร์ MitM สามารถสร้างเซสชัน C' ของไคลเอ็นต์ที่เป็นปฏิปักษ์อีกเครื่องหนึ่งได้ และแทรกการสื่อสารทั้งหมดที่เขาฟังระหว่าง C และ S เข้าไปในเซสชันระหว่าง C' และ S ดังนั้น C' ได้รับการตรวจสอบกับ S.

ดูเหมือนง่ายเกินไป - ความผิดพลาดของฉันอยู่ที่ไหน

Score:4
ธง es

ไม่ใช่ว่า C หรือ C` ได้รับการรับรองความถูกต้องเช่นนั้นตั้งแต่นั้นมา S สามารถเชื่อถือข้อมูลที่ดูเหมือนว่ามาจาก C หรือ C' ในความหมายทั่วไป หากเป็นเช่นนั้น S จะเชื่อถือข้อมูลที่ไม่ผ่านการรับรองความถูกต้องที่เป็นข้อความล้วนซึ่งดูเหมือนว่าจะส่งจาก C ไปยัง S ซึ่งเห็นได้ชัดว่ามีแนวโน้มที่จะถูกโจมตีจากคนกลาง ซึ่งเพียงแค่รอให้ขั้นตอนการตอบสนองความท้าทายเริ่มต้นเสร็จสิ้น ก่อนจะเข้าไปยุ่งกับข้อมูลที่สื่อสาร

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

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

MichaelW avatar
in flag
"ถ้าคุณไม่สนใจ...": นั่นคือสิ่งที่ทำให้ฉันประหลาดใจเสมอ: มีการตั้งค่าเซสชัน แต่ภายในคีย์นี้จะใช้คีย์ที่แบ่งปันล่วงหน้าโดยไม่ยอมรับคีย์เซสชัน จุดประสงค์ของเซสชั่นนี้คืออะไร? ใช่ ในโปรโตคอลที่ฉันพูดถึงมีตัวเลือกให้ใช้คีย์เซสชัน แต่ไม่จำเป็นและเราไม่ได้ใช้ตัวเลือกนี้ ทุกอย่างขึ้นอยู่กับการไม่ยอมรับเวกเตอร์การเริ่มต้นสองครั้งสำหรับ GCM/GMAC
knaccc avatar
es flag
@MichaelW หาก IV ของคุณสำหรับการเข้ารหัสแบบสมมาตรที่รับรองความถูกต้องขึ้นอยู่กับความท้าทายหรือการตอบสนองต่อความท้าทาย นั่นจะเป็นการผูกช่องสัญญาณที่เข้ารหัสเข้ากับการแลกเปลี่ยนความท้าทาย/การตอบสนองที่เพิ่งเกิดขึ้น และจะปกป้องคุณจากการโจมตีซ้ำ
knaccc avatar
es flag
@MichaelW หากคุณทั้งคู่รักษารายการ IV ที่ใช้ก่อนหน้านี้ได้อย่างน่าเชื่อถือ นั่นจะป้องกันการโจมตีซ้ำโดยที่เซิร์ฟเวอร์ได้เห็น IV นั้นแล้วอย่างไรก็ตาม ผู้โจมตี MITM สามารถขโมย IV และข้อความและไม่ให้เข้าถึงเซิร์ฟเวอร์ จากนั้นจึงเล่นข้อความซ้ำโดยจี้เซสชันที่เกิดขึ้นในอนาคต นั่นคือเหตุผลที่หากคุณไม่ตัดมุม เซสชันควรผูกมัดกับลำดับความท้าทาย/การตอบสนอง ไม่ว่าจะผ่าน IV ตามความท้าทายเหล่านั้น หรือผ่านคีย์เซสชันที่กำหนดขึ้นใหม่ตาม PSK และความท้าทายเหล่านั้น

โพสต์คำตอบ

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