กลับไปหน้าบทความ

อ่าน 2 นาที

การโจมตีภาพก่อนหน้า

ใน วิทยาการเข้ารหัสลับ การ โจมตีแบบพรีอิมเมจ (preimage attack) บน ฟังก์ชันแฮชเข้ารหัสลับนั้น พยายามค้นหา ข้อความ ที่มีค่าแฮชเฉพาะเจาะจง ฟังก์ชันแฮชเข้ารหัสลับควรต้านทานการโจมตีแบบ...

การโจมตีภาพก่อนหน้า

ในวิทยาการเข้ารหัสลับการโจมตีแบบพรีอิมเมจ (preimage attack) บนฟังก์ชันแฮชเข้ารหัสลับนั้นพยายามค้นหาข้อความที่มีค่าแฮชเฉพาะเจาะจง ฟังก์ชันแฮชเข้ารหัสลับควรต้านทานการโจมตีแบบพรีอิมเมจ (ชุดของอินพุตที่เป็นไปได้) ได้

ในบริบทของการโจมตี มีการต้านทานพรีอิมเมจอยู่สองประเภท:

  • ความต้านทานต่อภาพก่อนหน้า : สำหรับเอาต์พุตที่กำหนดไว้ล่วงหน้าเกือบทั้งหมด เป็นไปไม่ได้ในเชิงการคำนวณที่จะหาอินพุตใดๆ ที่แฮชไปยังเอาต์พุตนั้น กล่าวคือ เมื่อกำหนดy แล้วเป็นเรื่องยากที่จะหาxที่ทำให้h ( x ) = y [ 1 ]
  • ความต้านทานภาพก่อนหน้าตัวที่สอง : สำหรับอินพุตที่กำหนด การหาอินพุตอื่นที่สร้างเอาต์พุตเดียวกันนั้นเป็นไปไม่ได้ในเชิงการคำนวณ กล่าวคือ เมื่อกำหนดx แล้ว การหาอินพุตที่สอง x ′ ≠ xที่ทำให้h ( x ) = h ( x ′)นั้นทำได้ยาก[ 1 ]

สิ่งเหล่านี้สามารถเปรียบเทียบได้กับความต้านทานการชนซึ่งเป็นไปไม่ได้ในเชิงการคำนวณที่จะหาอินพุตx , x ที่แตกต่างกันสองตัวใดๆ ที่มีแฮชไปยังเอาต์พุตเดียวกัน กล่าวคือh ( x ) = h ( x ) [ 1 ]

ความต้านทานการชนหมายถึงความต้านทานต่อภาพก่อนหน้าลำดับที่สอง แต่ไม่รับประกันความต้านทานต่อภาพก่อนหน้า[ 1 ]อย่างไรก็ตาม ภายใต้สมมติฐานบางประการเกี่ยวกับช่วงของฟังก์ชันแฮช ความต้านทานการชนหมายถึงความต้านทานต่อภาพก่อนหน้า (โดยการบ่งชี้ชั่วคราว) [ 1 ]ในทางกลับกัน การโจมตีภาพก่อนหน้าลำดับที่สองหมายถึงการโจมตีการชน (อย่างง่ายดาย เนื่องจากนอกจากxแล้วxก็เป็นที่รู้จักอยู่แล้วตั้งแต่เริ่มต้น) ผ่านการบ่งชี้ชั่วคราว การโจมตีภาพก่อนหน้าจะหมายถึงการโจมตีภาพก่อนหน้าลำดับที่สองด้วย ซึ่งจะขยายไปสู่การโจมตีการชนด้วย

การโจมตีพรีอิมเมจประยุกต์

ตามคำจำกัดความ ฟังก์ชันแฮชในอุดมคติคือฟังก์ชันที่วิธีที่เร็วที่สุดในการคำนวณพรีอิมเมจแรกหรือพรีอิมเมจที่สองคือการโจมตีแบบบรูทฟอร์ซสำหรับ แฮช n บิตการโจมตีนี้มีความซับซ้อนของเวลา2nซึ่งถือว่าสูงเกินไปสำหรับขนาดเอาต์พุตทั่วไปที่n = 128 บิต หากความซับซ้อนดังกล่าวเป็นสิ่งที่ดีที่สุดที่ฝ่ายตรงข้ามสามารถทำได้ ฟังก์ชันแฮชนั้นจะถือว่าต้านทานพรีอิมเมจ อย่างไรก็ตาม มีผลลัพธ์ทั่วไปที่คอมพิวเตอร์ควอนตัมทำการโจมตีพรีอิมเมจแบบมีโครงสร้างในซึ่งหมายถึงพรีอิมเมจที่สองด้วย[ 2 ]และด้วยเหตุนี้จึงเป็นการโจมตีแบบชนกัน

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

การโจมตีที่ใช้งานได้จริงหรือเกือบใช้งานได้จริงทั้งหมดที่ทราบในปัจจุบัน[ 3 ] [ 4 ]บนMD5และSHA-1เป็นการโจมตีแบบชนกัน [ 5 ] โดยทั่วไป การโจมตีแบบชนกันนั้นทำได้ง่ายกว่าการโจมตีแบบพรีอิมเมจ เนื่องจากไม่ถูกจำกัดด้วยค่าที่กำหนดไว้ (สามารถใช้ค่าสองค่าใดก็ได้ในการชนกัน) ความซับซ้อนของเวลาของการโจมตีแบบชนกันแบบบรูทฟอร์ซ เมื่อเปรียบเทียบกับการโจมตีแบบพรีอิมเมจ มีเพียง

การโจมตีพื้นที่พรีอิมเมจแบบจำกัด

ความเป็นไปไม่ได้ในเชิงคำนวณของการโจมตีด้วยการหาค่าก่อนหน้าตัวแรก (first preimage attack) บนฟังก์ชันแฮชในอุดมคติ หมายความว่าชุดของค่าป้อนเข้าที่เป็นไปได้สำหรับฟังก์ชันแฮชนั้นมีขนาดใหญ่เกินกว่าที่จะค้นหาด้วยวิธีเดาสุ่ม (brute force search) อย่างไรก็ตาม หากทราบว่าค่าแฮชที่กำหนดนั้นถูกสร้างขึ้นจากชุดของค่าป้อนเข้าที่มีขนาดค่อนข้างเล็ก หรือมีการเรียงลำดับตามความน่าจะเป็นในบางลักษณะ การค้นหาด้วยวิธีเดาสุ่มอาจได้ผล ความเป็นไปได้ขึ้นอยู่กับขนาดของชุดค่าป้อนเข้าและความเร็วหรือต้นทุนในการคำนวณฟังก์ชันแฮช

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

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Preimage_attack&oldid=1336542504 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การโจมตีภาพก่อนหน้า

ใน วิทยาการเข้ารหัสลับ การ โจมตีแบบพรีอิมเมจ (preimage attack) บน ฟังก์ชันแฮชเข้ารหัสลับนั้น พยายามค้นหา ข้อความ ที่มีค่าแฮชเฉพาะเจาะจง ฟังก์ชันแฮชเข้ารหัสลับควรต้านทานการโจมตีแบบ...

การโจมตีพรีอิมเมจประยุกต์

ตามคำจำกัดความ ฟังก์ชันแฮชในอุดมคติคือฟังก์ชันที่วิธีที่เร็วที่สุดในการคำนวณพรีอิมเมจแรกหรือพรีอิมเมจที่สองคือ การโจมตีแบบบรูทฟอร์ซ สำหรับ แฮช n บิต การโจมตีนี้มี ความซับซ้อนของเวลา 2n ซึ่งถือว่าสูงเกินไปสำหรับขนาดเอาต์พุตทั่วไปที่ n = 128 บิต...

การโจมตีพื้นที่พรีอิมเมจแบบจำกัด

ความเป็นไปไม่ได้ในเชิงคำนวณของการโจมตีด้วยการหาค่าก่อนหน้าตัวแรก (first preimage attack) บนฟังก์ชันแฮชในอุดมคติ หมายความว่าชุดของค่าป้อนเข้าที่เป็นไปได้สำหรับฟังก์ชันแฮชนั้นมีขนาดใหญ่เกินกว่าที่จะค้นหาด้วยวิธีเดาสุ่ม (brute force search) อย่างไรก็ตาม...

ดูเพิ่มเติม

การโจมตีวันเกิด ฟังก์ชันแฮชเข้ารหัสลับ สรุปความปลอดภัยของฟังก์ชันแฮช ความเป็นมิตรต่อปริศนา โต๊ะสีรุ้ง ออราเคิลแบบสุ่ม RFC 4270 : การโจมตีแฮชเข้ารหัสลับในโปรโตคอลอินเทอร์เน็ต ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?