Score:1

ประเภทคีย์ที่เข้ากันไม่ได้

ธง ke

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

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

ยกเว้นเมื่อฉันตั้งค่าโค้ดและเริ่มทดสอบ ฉันรู้ทันทีว่า กลไกที่แตกต่างกันสนับสนุนชุดของประเภทคีย์ที่ไม่ปะติดปะต่อโดยสิ้นเชิง.

คำถาม:

  1. นี่เป็นคุณสมบัติพื้นฐานของกลไกการเข้ารหัสที่เกี่ยวข้องหรือไม่
  2. ไม่มีทางที่จะใช้คู่กุญแจเดียวกันสำหรับการเซ็นชื่อและการเข้ารหัส หรือแม้แต่ระหว่างสองกลไกสมมาตรที่กำหนด ที่นี่, ทั้ง?
  3. ฉันต้องติดตามหลายคีย์ต่อโหนดหรือไม่ ฉันมีความหวังที่จะระบุโหนดด้วยรหัสสาธารณะ มันดูเป็นทางออกที่หรูหราเป็นพิเศษ....
Score:2
ธง in

ดังนั้นฉันจึงคิดว่า โอเค; ฉันจะให้คู่คีย์ส่วนตัว/สาธารณะแก่แต่ละโหนด ใช้การเข้ารหัสแบบไฮบริดเพื่อเข้ารหัสข้อความด้วยคีย์สาธารณะของผู้รับ และใช้ลายเซ็นดิจิทัลเพื่อเซ็นชื่อข้อความด้วยคีย์ส่วนตัวของผู้ส่ง

ระวังว่านี่คือ เข้ารหัสแล้วเซ็น. เป็นเรื่องปกติถ้าคุณเชื่อถือผู้เข้าร่วมกลุ่มใดกลุ่มหนึ่งเท่านั้น และคุณไว้วางใจผู้เข้าร่วมว่าจะไม่แทนที่ลายเซ็นของผู้เข้าร่วมรายอื่น

1. นี่เป็นคุณสมบัติพื้นฐานของกลไกการเข้ารหัสที่เกี่ยวข้องหรือไม่?

ไม่มันไม่ใช่ และพวกเขาลืมที่จะแสดง การเข้ารหัสแบบไฮบริดโดยใช้ RSA.

2. ไม่มีทางที่จะใช้คู่คีย์เดียวกันสำหรับการเซ็นชื่อและการเข้ารหัส หรือแม้แต่ระหว่างกลไกสมมาตรสองอันที่ระบุในที่นี้หรือไม่

ได้ คุณสามารถใช้ RSA สำหรับทั้งคู่และคู่คีย์ ECDH มักจะเข้ากันได้กับ ECDSA เช่นกัน อย่างไรก็ตาม API นี้มีไว้สำหรับใช้การเข้ารหัสอย่างปลอดภัย และใช้คีย์เดียวกันสำหรับการสร้างลายเซ็นทั้งสอง และการถอดรหัส ไม่ถือเป็นแนวปฏิบัติที่ดีที่สุด

3. ฉันต้องติดตามหลายคีย์ต่อโหนดหรือไม่ ฉันมีความหวังที่จะระบุโหนดด้วยรหัสสาธารณะ มันดูเป็นทางออกที่หรูหราเป็นพิเศษ....

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

ดูเหมือนว่าไลบรารีนี้เป็นไลบรารีตัวช่วยสำหรับนักพัฒนา มันไม่ได้ระบุโปรโตคอลใด ๆพูดตามตรง ฉันคิดว่า "wrapper libraries" ประเภทนี้ที่ไม่ได้ใช้งานและ/หรือไม่ใช่แอปพลิเคชันเฉพาะนั้นมีการใช้งานอย่างจำกัด

ฉันขอแนะนำอย่างยิ่งให้คุณใช้คู่คีย์สองคู่ คู่หนึ่งสำหรับการเข้ารหัสและการเซ็นชื่อ ในการสร้างกรอบความน่าเชื่อถือ คุณสามารถใช้ PKI สุดท้าย ดูเหมือนว่าคุณต้องการความปลอดภัยในการขนส่ง ในกรณีนั้นฉันขอแนะนำ TLS

ke flag
หลายจุดดี ขอบคุณ คุณมีจุดเริ่มต้นสำหรับวิธีใช้ PKI และ/หรือ TLS ใน Java ในสถานการณ์ที่ฉันอธิบายไว้ข้างต้นหรือไม่

โพสต์คำตอบ

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