Score:0

ECDHE โดยไม่มีการจับมือกันครั้งแรก

ธง tz

เป็นไปได้ไหมที่จะทำข้อตกลงสำคัญกับ ECDH ชั่วคราว-ชั่วคราว โดยไม่ต้องมีการจับมือครั้งแรกก่อน?

เป็นไปได้หรือไม่ที่จะมีข้อตกลงหลักในข้อความเดียวกันกับข้อมูลที่เข้ารหัสด้วย ECDHE

ฉันรู้ว่าสิ่งนี้เป็นไปได้ด้วย ECDH คงที่ชั่วคราว แต่ไม่มีความลับที่สมบูรณ์แบบ และด้วยสแตติกชั่วคราว คุณต้องมีวิธีที่ปลอดภัยในการจัดเก็บคีย์ส่วนตัวแบบสแตติก

kelalaka avatar
in flag
[อัลกอริทึม Diffie-Hellman และการโจมตี MITM](https://crypto.stackexchange.com/q/72370/18298) และ [ดูวิธีดำเนินการ](https://crypto.stackexchange.com/q/87532/18298 ). ดู [secretbox of the libsodium](https://doc.libsodium.org/secret-key_cryptography/secretbox) สำหรับส่วนที่สอง
Score:1
ธง gb

เป็นไปได้ไหมที่จะทำข้อตกลงสำคัญกับ ECDH ชั่วคราว-ชั่วคราว โดยไม่ต้องมีการจับมือครั้งแรกก่อน?

ใช่ อย่างไรก็ตาม สิ่งนี้เสี่ยงต่อการโจมตีจากคนกลาง (MITM)

เป็นไปได้หรือไม่ที่จะมีข้อตกลงหลักในข้อความเดียวกันกับข้อมูลที่เข้ารหัสด้วย ECDHE

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

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

tz flag
ขอบคุณ. เรากำลังจะเพิ่ม ECDSA static-static เพื่อป้องกันการโจมตีของ MITM และให้การรับรองความถูกต้อง ปัญหาของเราตอนนี้คือบน Android เราไม่มีวิธีรักษาความปลอดภัยคีย์ส่วนตัว ECDH (หากเราใช้แบบคงที่ชั่วคราว)
tz flag
คุณช่วยอธิบายรายละเอียดเกี่ยวกับการจัดเก็บคีย์ชั่วคราวบนเซิร์ฟเวอร์ได้ไหม คุณหมายถึงการจัดเก็บคีย์สาธารณะ ECDH ชั่วคราวของผู้รับไว้บนเซิร์ฟเวอร์ใช่ไหม
meshcollider avatar
gb flag
ถูกต้อง เห็นได้ชัดว่าผู้รับจะต้องจัดเก็บคีย์ส่วนตัวที่เกี่ยวข้องด้วยตนเองอย่างปลอดภัย คุณจะจัดการคีย์คงที่สำหรับส่วนการรับรองความถูกต้องบน Android ได้อย่างไร
tz flag
สิ่งนี้จะใช้ได้ดีจริงๆสำหรับเราแล้ว ขอขอบคุณ. Android KeyMaster และ KeyStore รองรับการจัดเก็บคีย์ ECDSA อย่างปลอดภัย แต่ไม่รองรับ ECDH iOS Secure Enclave รองรับ ECDH มานานหลายปี ดังนั้น Android จึงล้าหลังในเรื่องนี้มาก
tz flag
ฉันคิดว่าบน Android เราจะต้องเก็บคีย์ส่วนตัว ECDH ไว้ในหน่วยความจำ ซึ่งเป็นเครื่องหมายคำถามใหญ่เกี่ยวกับความปลอดภัย
meshcollider avatar
gb flag
น่าสนใจ ฉันไม่ทราบว่า android keystore ไม่รองรับ ECDH จะใช้งานได้หรือไม่ https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec#example:ecdh
tz flag
ดูเหมือนว่าจะใช้คู่คีย์ EC ที่จัดเก็บไว้ใน KeyStore สำหรับ ECDH ขอบคุณที่สมบูรณ์แบบ!

โพสต์คำตอบ

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