อะไรคือความแตกต่างระหว่างการโจมตีครั้งที่สองกับการโจมตีของการปะทะ


24

Wikipedia กำหนดโจมตี preimageที่สองเป็น:

ได้รับข้อความคงที่ m1 ค้นหาข้อความที่แตกต่าง m2 เช่น hash (m2) = hash (m1)

Wikipedia กำหนดโจมตีการชนกันของ :

ค้นหาข้อความที่แตกต่างกันสองข้อความ m1 และ m2 ซึ่งแฮช (m1) = hash (m2)

ข้อแตกต่างเดียวที่ฉันเห็นคือในการโจมตี preimage ครั้งที่สอง m1 มีอยู่แล้วและเป็นที่รู้จักของผู้โจมตี อย่างไรก็ตามนั่นไม่ได้ทำให้ฉันมีความสำคัญ - เป้าหมายสุดท้ายยังคงค้นหาข้อความสองข้อความที่สร้างแฮชเดียวกัน

อะไรคือความแตกต่างที่สำคัญในการโจมตี preimage ครั้งที่สองและการชนกันของข้อมูล ผลลัพธ์ต่างกันอย่างไร

(นอกเหนือจากกันฉันไม่สามารถติดแท็กคำถามนี้ได้อย่างถูกต้องฉันพยายามใช้แท็ก "การเข้ารหัสล่วงหน้าก่อนการรักษาความปลอดภัยการเข้ารหัสภาพ" แต่ฉันมีชื่อเสียงไม่เพียงพอใครบางคนสามารถใช้แท็กที่เหมาะสมได้หรือไม่)


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

@Adrian Petrescu: คุณช่วยหาคำตอบและอธิบายเพิ่มเติมได้ไหม? เพิ่มสิ่งต่าง ๆ เช่นเมื่อแต่ละสถานการณ์ (คุณจัดเตรียมสถานการณ์สำหรับการโจมตี preimage แต่ไม่ใช่สำหรับการโจมตีของการปะทะกัน) เหมาะสมที่สุด
โธมัสโอเวนส์

คำตอบ:


27

ฉันสามารถกระตุ้นความแตกต่างให้กับคุณในสถานการณ์การโจมตี

ในการโจมตี preimage แรกเราขอให้ฝ่ายตรงข้ามได้รับเพียงเพื่อหาหรือดังกล่าวว่า =(M) สมมติว่าเว็บไซต์ร้านค้าในฐานข้อมูลของแทน\} เว็บไซต์ยังสามารถตรวจสอบความถูกต้องของผู้ใช้โดยยอมรับรหัสผ่านและเปรียบเทียบ (ที่มีความน่าจะเป็นของสำหรับบางขนาดใหญ่สำหรับผลบวกปลอม) ตอนนี้สมมติว่าฐานข้อมูลนี้รั่วไหลออกมาหรือประกอบเป็นอย่างอื่น โจมตี preimage แรกm m H ( m ) H ( m ) { u s e r n a m e , H ( p a s s w o r d d ) } { u s e r n a m e , p a s s w o r d } H ( i nH(m)mmH(m)H(m){username,H(password)}{username,password}1 / 2 n nH(input)=?H(password)1/2nnเป็นสถานการณ์ที่ฝ่ายตรงข้ามเข้าถึงการแยกย่อยข้อความเท่านั้นและกำลังพยายามสร้างข้อความที่แฮชค่านี้

ในการโจมตีครั้งที่สองเราอนุญาตให้ฝ่ายตรงข้ามได้รับข้อมูลเพิ่มเติม โดยเฉพาะเราไม่เพียงให้แก่เขาเท่านั้น แต่ยังให้เขาด้วย พิจารณาฟังก์ชันแฮชโดยที่และเป็นจำนวนเฉพาะและคือค่าคงที่สาธารณะ เห็นได้ชัดว่าเป็นครั้งแรกที่การโจมตี preimageนี้จะกลายเป็นปัญหา RSA และเชื่อว่าเป็นเรื่องยาก อย่างไรก็ตามในกรณีของการโจมตีแบบ preimage ครั้งที่สองการค้นหาการชนจะกลายเป็นเรื่องง่าย ถ้ามีชุด ,mH(m)mH(m)=mdmodpqpqdm=mpq+mH(mpq+m)=(mpq+m)dmodpq=mdmodpq. ดังนั้นฝ่ายตรงข้ามจึงพบว่ามีการชนกันด้วยการคำนวณเพียงเล็กน้อยหรือไม่มีเลย

เราต้องการให้ฟังก์ชันแฮชทางเดียวสามารถต้านทานการโจมตี preimage ครั้งที่สองได้เนื่องจากโครงร่างลายเซ็นดิจิตอลซึ่งในกรณีนี้ถือเป็นข้อมูลสาธารณะและถูกส่งผ่าน ที่นี่ผู้โจมตีมีสิทธิ์เข้าถึงทั้งและ(เอกสาร) หากผู้โจมตีสามารถสร้างความเปลี่ยนแปลงในเอกสารต้นฉบับ (หรือข้อความใหม่ทั้งหมด)เช่นนั้นเขาสามารถเผยแพร่เอกสารของเขาราวกับว่าเขาเป็นผู้ลงนามเดิมH(document)documentH(document)dH(d)=H(document)

โจมตีชนช่วยให้ฝ่ายตรงข้ามมีโอกาสมากยิ่งขึ้น ในรูปแบบนี้เราขอให้ฝ่ายตรงข้าม (ฉันจะเรียกเขาว่าบ๊อบ?) ที่จะหาสองข้อความและดังกล่าวว่า(m_2) เนื่องจากหลักการของช่องพิราบและวันเกิดที่ขัดแย้งกันแม้แต่ฟังก์ชั่นแฮช 'สมบูรณ์แบบ' ก็ยังอ่อนแอต่อการโจมตีจากการชนมากกว่าการโจมตีแบบ preimage กล่าวอีกอย่างหนึ่งคือฟังก์ชั่นการแยกข้อความที่ไม่สามารถคาดเดาได้และไม่สามารถย้อนกลับได้ซึ่งใช้เวลาในการดุร้าย มักจะพบได้ในเวลาที่คาดว่า2})m1m2H(m1)=H(m2)f({0,1})={0,1}nO(2n)O(sqrt(2n))=O(2n/2)

บ๊อบสามารถใช้การโจมตีการชนเพื่อผลประโยชน์ของเขาได้หลายวิธี นี่คือหนึ่งในวิธีที่ง่ายที่สุด: Bob ค้นหาการปะทะกันระหว่างสองไบนารีและ ( ) ซึ่ง b เป็นแพตช์รักษาความปลอดภัย Microsoft Windows ที่ถูกต้องและเป็นมัลแวร์ (Bob ใช้งานได้กับ Windows) บ๊อบส่งแพตช์รักษาความปลอดภัยของเขาขึ้นมาเป็นสายการบังคับบัญชาซึ่งอยู่ด้านหลังห้องนิรภัยพวกเขาเซ็นรหัสและส่งไบนารี่ไปยังผู้ใช้ Windows ทั่วโลกเพื่อแก้ไขข้อบกพร่อง บ็อบสามารถติดต่อและแพร่กระจายคอมพิวเตอร์ Windows ทั้งหมดทั่วโลกด้วยและลายเซ็นต์ที่ Microsoft คำนวณสำหรับbbH(b)=H(b)bbb. นอกเหนือจากสถานการณ์การโจมตีประเภทต่าง ๆ เหล่านี้หากเชื่อว่าฟังก์ชั่นแฮชนั้นมีความทนทานต่อการชนกันฟังก์ชั่นแฮชนั้นก็มีแนวโน้มที่จะมีการต้านทาน preimage


นั่นคือคำอธิบายที่สวยงาม คณิตศาสตร์มากขึ้นกว่าที่ฉันกำลังมองหา แต่ฉันซาบซึ้งมากความพยายาม - ฉันตามคุณผ่านแต่ละคน ขอบคุณ
โธมัสโอเวนส์

และว้าว เพื่อนนักเรียน RIT
โธมัสโอเวนส์

1
โทมัสเป็นอย่างไรบ้าง ฉันคิดว่าคุณมีวิชาฟิสิกส์กับอลันมิคกิ้นเพื่อนของฉัน ดีใจที่ได้เห็นคน RIT ที่นี่! นอกจากนี้ขอขอบคุณสำหรับการยอมรับคำตอบ
Ross Snider

ใช้ได้ดีทีเดียว. หากคุณกำลังจะไปรอบ ๆ มหาวิทยาลัยในฤดูใบไม้ร่วงและมีความสนใจในความปลอดภัยบางทีเราสามารถติดต่อกันได้ ฉันได้ทำงานเกี่ยวกับความปลอดภัยมาแล้ว (การจดชวเลขการเริ่มต้นการเข้ารหัสคีย์สาธารณะการลงลายมือชื่อดิจิตอล) ในฤดูร้อนนี้และอยากจะฟังเกี่ยวกับด้านทฤษฎี (เท่าที่ฉันสนใจ - ฉันไม่มี เวลาหรือพื้นหลังทางคณิตศาสตร์เพื่อให้ผ่านเอกสารจำนวนมากในเรื่อง)
Thomas Owens

rws1236@cs.rit.edu
Ross Snider

2

การโจมตีจากการชนอาจจะง่ายกว่ามากแต่ถ้าประสบความสำเร็จจะมีประโยชน์น้อยกว่ามาก


1

ปัญหาที่ Ross กล่าวถึงว่าเป็นปัญหาบันทึกที่ไม่ต่อเนื่องนั้นในความเป็นจริงแล้วปัญหาที่แตกต่างกันโดยสิ้นเชิงคือปัญหา RSA ซึ่งเกี่ยวข้องกับการคำนวณรูทมากกว่าการล็อกล็อกโดยสิ้นเชิง


2
นี่เป็นเรื่องจริงอย่างแน่นอน! อุ่ย เดิมฉันใช้ปัญหาบันทึกไม่ต่อเนื่องและแก้ไขรายละเอียดของโครงร่างภายหลัง จับดี. ไม่แน่ใจว่านี่เป็นการรวมคำตอบใหม่ - มันอาจจะเหมาะสมกว่าที่จะแสดงความคิดเห็นภายใต้คำตอบของฉัน
Ross Snider
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.