Score:0

SHA384 เหมาะสมกับ HMAC-SHA256 หรือไม่

ธง cn

ในแง่ของระดับความปลอดภัย (ตามที่กำหนดไว้ เช่น โดย Ferguson และ Schneier ในหนังสือ Practical Cryptography) การใช้ SHA384 กับ HMAC-SHA256 ในการตั้งค่าทั่วไปนั้นสมเหตุสมผลหรือไม่ ตามวันเกิดที่ขัดแย้งกัน HMAC-SHA256 จะให้ระดับความปลอดภัยที่ 128 บิต และ SHA384 จะให้ 192 บิต ตามความเข้าใจของฉัน ระดับความปลอดภัยโดยรวมจะถูกจำกัดไว้ที่ 128 บิต และ SHA384 เป็นเพียงการแกล้งทำ

การตั้งค่าที่เฉพาะเจาะจงมากขึ้น: แพ็กเก็ตที่ส่งคือ:

(x,y,z)

ที่ไหน

y = SHA384 (ญ)     
z = HMAC-SHA256(x||y)
x และ w คือค่าใดๆ ก็ตาม

เฟอร์กูสันและชไนเออร์ยังระบุด้วยว่า SHA384 นั้นค่อนข้างไร้ประโยชน์ (เช่นเดียวกับที่เราทำงานทั้งหมดให้กับ SHA512 แล้วโยนชิ้นส่วนทิ้งไป) มันยังใช้ได้กับการใช้งาน SHA384 ที่เป็นไปได้ทั้งหมดหรือไม่

Score:1
ธง in

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

ดังนั้นคุณจึงประเมินความปลอดภัยที่เสนอโดย HMAC ต่ำเกินไป ในกรณีส่วนใหญ่มีการรักษาความปลอดภัยที่ใกล้เคียงกับขนาด / ขนาดเอาต์พุตของคีย์โดยประมาณ ดูสิ่งนี้ด้วย keylength.com / คำแนะนำของ NIST ตัวอย่างเช่น (คุณต้องดูที่ "แฮช (B)" สำหรับ HMAC ในตาราง)


อย่างไรก็ตาม คุณกำลังใช้ y = SHA384(ญ). ตอนนี้หากผู้โจมตีสามารถพยายามสร้างการปะทะกันสำหรับค่าเฉพาะของ ซึ่งหมายความว่ามีการใช้การชนกันของแฮชภายในอินพุต HMAC ซึ่งแน่นอนว่าจะส่งผลให้ค่า HMAC เหมือนกันด้วย ดังนั้นที่นี่จึงใช้ขอบเขตวันเกิด

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

อย่างไรก็ตาม โปรดทราบว่าโดยทั่วไปแล้ว เราถือว่า SHA-256 มีความแข็งแกร่งที่ 128 บิตอยู่แล้ว แม้ว่าจะมีการโจมตีในวันเกิดก็ตาม ดังนั้นจึงยังไม่มีความจำเป็นเร่งด่วนที่จะใช้ SHA-384

Curious avatar
cn flag
คำตอบของคุณไม่ชัดเจนสำหรับฉัน คุณช่วยอธิบายหน่อยได้ไหม โดยเฉพาะอย่างยิ่ง ฉันตีความย่อหน้าสุดท้ายของคุณว่ามันไม่สมเหตุสมผลเลยที่จะใช้ SHA384 แทน SHA256 ที่นี่ แต่ย่อหน้าสุดท้ายที่สองของคุณขัดแย้งกับที่บอกว่าสามารถใช้ได้ สำหรับย่อหน้าแรก ในมุมมองของคุณ ระดับความปลอดภัยของ HMAC-SHA256 คืออะไร เกี่ยวกับเรื่องนั้น มีฉันทามติใด ๆ เกี่ยวกับระดับความปลอดภัยของ crypto ดั้งเดิมหรือไม่? ถ้าใช่ มีแหล่งข้อมูลที่เป็นของแท้และเป็นปัจจุบันที่สามารถค้นหาข้อมูลล่าสุดได้หรือไม่
Maarten Bodewes avatar
in flag
ฉันทามติ? อืมใช่ชนิดของ เราเพียงแค่ถือว่าการโจมตีที่เลวร้ายที่สุดเท่าที่จะเป็นไปได้กับพวกดึกดำบรรพ์เว้นแต่ว่าเราจะมีคำใบ้ว่าการโจมตีที่แรงกว่านี้จะเป็นไปได้อย่างง่ายดาย ลำดับของการโจมตีจะเป็นตัวกำหนดระดับความปลอดภัย หากระดับความปลอดภัยลดลงเพียงหนึ่งหรือสองบิต โดยทั่วไปเราจะใช้ระดับความปลอดภัยดั้งเดิมเท่านั้น (เช่น การโจมตี AES ที่ระดับ $2^{127}$ จะไม่เปลี่ยนแปลงความปลอดภัยระดับ 128 บิตอย่างมีนัยสำคัญ) ฉันได้เชื่อมโยงกับ keylength.com /NIST เพื่อให้แนวคิดเกี่ยวกับความปลอดภัย
Maarten Bodewes avatar
in flag
สำหรับประเด็นเกี่ยวกับ SHA-384: ก็ใช่ สำหรับการต้านทานการชนก็ใช้ได้ แต่มันมีความปลอดภัยมากกว่า 128 บิต ซึ่งโดยทั่วไปถือว่าไม่สามารถทำลายได้ ยังคงมีความปลอดภัยน้อยกว่าข้อเสนอของ HMAC-SHA-256 ดังนั้นคุณสามารถใช้ SHA-512 เพื่อเสนอความปลอดภัย ~256 บิตได้

โพสต์คำตอบ

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