คุณสามารถป้องกันคนที่อยู่ตรงกลางไม่ให้อ่านข้อความได้หรือไม่?


10

ฉันเคยได้ยินเกี่ยวกับการป้องกัน Man-In-The-Middle Attack ทั้งหมดเหล่านี้และฉันสงสัยว่ามันจะทำงานได้อย่างไรถ้าคนที่อยู่ตรงกลางฟังเฉพาะสตรีมของคุณและไม่ต้องการเปลี่ยนข้อความเอง

คนที่อยู่ตรงกลางไม่เพียง แต่สามารถเปลี่ยนกุญแจโดยฝ่ายตรงข้ามเปลี่ยนกุญแจแล้วถอดรหัสและเข้ารหัสข้อความอีกครั้งได้หรือไม่?

ใบรับรองจะป้องกันสิ่งนี้ได้อย่างไร

แก้ไข:

ฉันได้ยินมาว่าหน่วยงานออกใบรับรองโดยทั่วไปกล่าวว่า: "ใช่นั่นคือกุญแจอีกดอก" แต่ฉันจะมั่นใจได้อย่างไรว่าลายเซ็นของใบรับรองไม่ได้ถูกทำให้ยุ่งเหยิง?

คำตอบ:


10

คนที่อยู่ตรงกลางไม่เพียง แต่สามารถเปลี่ยนกุญแจโดยฝ่ายตรงข้ามเปลี่ยนกุญแจแล้วถอดรหัสและเข้ารหัสข้อความอีกครั้งได้หรือไม่?

ใช่พวกเขาสามารถ

โปรโตคอลการแลกเปลี่ยนที่สำคัญเช่น (เวอร์ชั่น "ตำราเรียน") DHมีความปลอดภัยต่อการดักฟัง (เช่นเพียงสังเกตสิ่งที่ถูกส่งบนช่องสัญญาณ) แต่จะแยกตัวออกจากการจู่โจมแบบ Man-in-the-middle (MITM) อย่างสมบูรณ์เช่น คุณได้ระบุไว้

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

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

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


ดังนั้นโดยทั่วไปเรากำลังสื่อสารใบรับรองผ่านช่องทางที่สองเรารู้ว่าจะปลอดภัยหรือไม่
TVSuchty

ใช่; มิฉะนั้นการโจมตี MITM เป็นไปได้เสมอ มันค่อนข้างตอบโต้ง่าย ๆ ที่จะคิดว่าโครงสร้างเป็น PKI ในฐานะ "ช่องทาง" แต่ความคิดนั้นไม่ได้ถูกนำมาใช้อย่างกว้างขวางหากคุณคิดว่ามันเป็นเพียงวิธีการส่งข้อมูล (ในกรณีนี้ใบรับรอง)
dkaeae

แต่ทำไมเราไม่พูดถึงช่องทางเรารู้ว่าปลอดภัยตั้งแต่แรก?
TVSuchty

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

1
@TVSuchty หนึ่งคีย์ที่เชื่อถือได้ก็เพียงพอตราบใดที่มันเป็นกุญแจสาธารณะสำหรับ CA ที่คุณสามารถเชื่อถือได้ Firefox ใช้~ 100 ปุ่ม
Chi

5

ในการโจมตีแบบคนกลางคุณขอให้ Bob รับกุญแจของเขา แต่ Eve ส่งข้อความและส่งกุญแจให้เธอแทน เธอถามบ๊อบถึงกุญแจของเขาแล้วส่งข้อความระหว่างคุณกับบ๊อบถอดรหัสให้พวกเขาอ่านและ / หรือเปลี่ยนแปลงพวกเขาในกระบวนการ

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


ทำไมอีฟไม่สามารถส่งใบรับรอง Bobs ให้ฉันได้? ฉันหมายถึงอะไรพิเศษกับกุญแจของบ็อบเพื่อให้อีฟไม่สามารถทำซ้ำสิ่งที่คล้ายกันได้? ฉันจะรู้ได้อย่างไรว่ากุญแจนี้ได้รับการรับรองแล้ว ฉันจะตรวจสอบใบรับรองได้อย่างไร
TVSuchty

ฉันบอกคุณว่าทำไมเธอถึงส่งใบรับรองของบ๊อบไม่ได้ (หรือมากกว่านั้นเพราะเหตุใดการส่งใบรับรองของ Bob ถึงคุณไม่ช่วยเธอ) ไม่มีสิ่งเช่น "คีย์ที่คล้ายกัน" คุณรู้ว่ากุญแจได้รับการรับรองเพราะคุณมีใบรับรอง คุณตรวจสอบใบรับรองโดยการตรวจสอบลายเซ็นดิจิทัลโดยใช้คีย์ของ CA
David Richerby

@TVSuchty Eve ต้องถอดรหัสข้อความก่อนเพื่ออ่านข้อความจากนั้นเข้ารหัสข้อความอีกครั้งเพื่อส่งต่อไปยัง เฉพาะใบรับรองการลงนามส่วนตัวของ Bob เท่านั้นที่จะอนุญาตให้คุณเข้ารหัสเช่น Bob แต่บุคคลที่โชคร้ายที่ถูกโจมตีจาก MITM จะต้องสามารถพิสูจน์ได้ว่าพวกเขามีใบรับรองของ Bob เพื่อที่จะทราบว่ามีการจัดหาอีฟแทนหรือไม่ นี่คือเหตุผลที่แอปพลิเคชันที่มีความปลอดภัยแจ้งให้คุณยอมรับคีย์การเข้ารหัสในครั้งแรกและทุกครั้งที่มีการเปลี่ยนแปลง
Willtech

1
@ TVSuchty ใบรับรองโดยทั่วไปบอกว่า "ฉันคือ X และคุณสามารถวางใจได้ว่าฉันคือ X เพราะ Y พูดอย่างนั้น" อีฟสามารถสร้างใบรับรองที่บอกว่า "ฉันเป็นบ๊อบได้ง่ายและคุณสามารถวางใจได้ว่าฉันเป็นบ๊อบเพราะอีฟบอกอย่างนั้น" หากคอมพิวเตอร์ของฉันได้รับใบรับรองนั้นก็แค่หัวเราะ "อีฟบอกว่า" ไม่มีเหตุผลที่จะเชื่อว่าเป็นใบรับรองของบ๊อบ "เพราะ Verisign พูดอย่างนั้น" ด้วย Verisign เป็นหนึ่งในผู้ให้บริการออกใบรับรอง 100 รายที่ติดตั้งบนคอมพิวเตอร์ของคุณโดยผู้ผลิตนั่นเป็นเหตุผลที่ทำให้เชื่อ แต่อีฟไม่สามารถปลอมใบรับรองดังกล่าวได้
gnasher729

คำตอบอีกข้อหนึ่งเกี่ยวกับ“ ทำไมไม่สามารถส่งใบรับรองของบ๊อบมาให้ฉันได้”“ อีฟสามารถลองปลอมแปลงใบรับรองของบ๊อบหรือขโมยได้ บางทีล้านดอลลาร์ก็เพียงพอที่จะติดสินบนพนักงานคนหนึ่งของบ๊อบเพื่อมอบสำเนาใบรับรองของบ๊อบ บ๊อบต้องทำให้แน่ใจว่าเป็นการยากที่จะขโมยใบรับรอง หากถูกขโมยใบรับรองสามารถถูกเพิกถอนและจะไม่ได้รับการยอมรับอีกต่อไป ใบรับรองจะบอกว่า“ นี่เป็นใบรับรองของแท้ของบ๊อบ แต่มีรายงานว่าถูกขโมยดังนั้นอย่าเชื่อถือ”
gnasher729
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.