โปรโตคอลการกระจายคีย์ การจัดการคีย์ การกระจายคีย์ที่เกี่ยวข้องกับศูนย์จำหน่ายคีย์
การจัดการคีย์
นอกจากการเลือกระบบเข้ารหัสที่เหมาะสมกับ IC เฉพาะแล้ว ประเด็นสำคัญคือการจัดการคีย์ ไม่ว่าระบบการเข้ารหัสลับจะซับซ้อนและปลอดภัยเพียงใด มันขึ้นอยู่กับการใช้คีย์ หากเพื่อให้แน่ใจว่ามีการแลกเปลี่ยนข้อมูลระหว่างผู้ใช้สองคนอย่างเป็นความลับ กระบวนการแลกเปลี่ยนคีย์นั้นไม่สำคัญ ถ้าอย่างนั้นในระบบ IS ซึ่งมีจำนวนผู้ใช้หลายสิบและหลายร้อย การจัดการคีย์ก็เป็นปัญหาร้ายแรง
ภายใต้ ข้อมูลสำคัญเป็นที่เข้าใจกันว่าเป็นผลรวมของคีย์ที่ใช้งานอยู่ทั้งหมดใน IS หากไม่มีการควบคุมข้อมูลสำคัญที่เชื่อถือได้เพียงพอ เมื่อเข้าครอบครองแล้ว ผู้โจมตีจะสามารถเข้าถึงข้อมูลทั้งหมดได้อย่างไม่จำกัด
การจัดการคีย์- กระบวนการข้อมูลซึ่งประกอบด้วยสามองค์ประกอบ:
* การสร้างคีย์;
* การสะสมของกุญแจ;
* การกระจายของคีย์
ลองพิจารณาว่าควรใช้งานอย่างไรเพื่อให้มั่นใจในความปลอดภัยของข้อมูลสำคัญใน IS
การสร้างคีย์
ในตอนต้นของการสนทนาเกี่ยวกับวิธีการเข้ารหัส มีการกล่าวกันว่าคุณไม่ควรใช้คีย์ที่ไม่ใช่แบบสุ่มเพื่อให้ง่ายต่อการจดจำ ไอซีที่จริงจังใช้วิธีการพิเศษของฮาร์ดแวร์และซอฟต์แวร์เพื่อสร้างคีย์แบบสุ่ม ตามกฎแล้วจะใช้เซ็นเซอร์ PSC อย่างไรก็ตาม ระดับของการสุ่มรุ่นของพวกเขาควรค่อนข้างสูง เครื่องกำเนิดไฟฟ้าในอุดมคติคืออุปกรณ์ที่ใช้กระบวนการสุ่มแบบ "ธรรมชาติ" ตัวอย่างเช่น ตัวอย่างอนุกรมของการสร้างคีย์โดยอิงตาม เสียงวิทยุสีขาว. วัตถุทางคณิตศาสตร์สุ่มอีกตัวหนึ่งคือตำแหน่งทศนิยมของจำนวนอตรรกยะ เช่น or อีซึ่งคำนวณโดยใช้วิธีทางคณิตศาสตร์มาตรฐานใน IS ที่มีข้อกำหนดด้านความปลอดภัยปานกลาง ซอฟต์แวร์สร้างคีย์เป็นที่ยอมรับได้ ซึ่งคำนวณ PRNG เป็นฟังก์ชันที่ซับซ้อนของเวลาปัจจุบันและ (หรือ) ตัวเลขที่ผู้ใช้ป้อน
การสะสมคีย์
ภายใต้ สะสมกุญแจหมายถึงองค์กรของการจัดเก็บการบัญชีและการกำจัดเนื่องจากกุญแจเป็นวัตถุที่น่าดึงดูดที่สุดสำหรับผู้โจมตี ซึ่งเปิดทางสู่ข้อมูลลับสำหรับเขา จึงควรให้ความสนใจเป็นพิเศษกับประเด็นเรื่องการสะสมกุญแจ
ไม่ควรเขียนคีย์ลับอย่างชัดเจนบนสื่อที่สามารถอ่านหรือคัดลอกได้
ใน IS ที่ค่อนข้างซับซ้อน ผู้ใช้รายหนึ่งสามารถทำงานกับข้อมูลสำคัญจำนวนมาก และบางครั้งก็จำเป็นต้องจัดระเบียบฐานข้อมูลขนาดเล็กตามข้อมูลสำคัญ ฐานข้อมูลดังกล่าวมีหน้าที่รับผิดชอบในการยอมรับ การจัดเก็บ การบัญชี และการลบคีย์ที่ใช้
ดังนั้น ข้อมูลเกี่ยวกับคีย์ที่ใช้จึงต้องจัดเก็บในรูปแบบที่เข้ารหัส คีย์ที่เข้ารหัสข้อมูลคีย์เรียกว่า มาสเตอร์คีย์. เป็นที่พึงปรารถนาที่ผู้ใช้แต่ละคนจะรู้จักมาสเตอร์คีย์ด้วยใจ และไม่จัดเก็บไว้ในสื่อวัสดุใดๆ
เงื่อนไขที่สำคัญมากสำหรับความปลอดภัยของข้อมูลคือการอัปเดตข้อมูลสำคัญใน IS เป็นระยะ ในกรณีนี้ ควรกำหนดทั้งคีย์ธรรมดาและมาสเตอร์คีย์ใหม่ โดยเฉพาะอย่างยิ่งใน IS ที่รับผิดชอบ ขอแนะนำให้อัปเดตข้อมูลสำคัญทุกวัน
ปัญหาในการอัปเดตข้อมูลสำคัญยังเกี่ยวข้องกับองค์ประกอบที่สามของการจัดการคีย์ - การกระจายคีย์
การกระจายคีย์
การกระจายคีย์เป็นกระบวนการที่สำคัญที่สุดในการจัดการคีย์ มีข้อกำหนดสองประการสำหรับเขา:- ประสิทธิภาพและความถูกต้องของการกระจายสินค้า
- ความลับของคีย์ที่แจกจ่าย
การกระจายคีย์ระหว่างผู้ใช้ถูกนำไปใช้โดยสองวิธีที่แตกต่างกัน:
- โดยการสร้างศูนย์กระจายสินค้าที่สำคัญอย่างน้อยหนึ่งแห่งข้อเสียของวิธีนี้คือศูนย์กระจายสินค้ารู้ว่าใครและคีย์ใดได้รับมอบหมาย และสิ่งนี้ทำให้คุณสามารถอ่านข้อความทั้งหมดที่หมุนเวียนอยู่ใน IS การล่วงละเมิดที่อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการคุ้มครอง
- การแลกเปลี่ยนกุญแจโดยตรงระหว่างผู้ใช้ระบบสารสนเทศ
ในทั้งสองกรณี ต้องรับประกันความถูกต้องของเซสชันการสื่อสาร สามารถทำได้สองวิธี:
- กลไกการขอ-ตอบกลับซึ่งประกอบด้วยรายการต่อไปนี้ หากผู้ใช้ A ต้องการให้แน่ใจว่าข้อความที่เขาได้รับจาก B ไม่เป็นเท็จ เขาจะรวมองค์ประกอบ (คำขอ) ที่คาดเดาไม่ได้ในข้อความที่ส่งถึง B เมื่อตอบ ผู้ใช้ B ต้องดำเนินการบางอย่างกับองค์ประกอบนี้ (เช่น เพิ่ม 1) ไม่สามารถทำได้ล่วงหน้าเนื่องจากไม่ทราบว่าจะมีหมายเลขสุ่มอะไรในคำขอ หลังจากได้รับการตอบกลับพร้อมผลลัพธ์ของการดำเนินการแล้ว ผู้ใช้ A สามารถมั่นใจได้ว่าเซสชันนั้นเป็นของแท้ ข้อเสียของวิธีนี้คือความเป็นไปได้ในการสร้างรูปแบบที่ซับซ้อนระหว่างคำขอและการตอบกลับ
- กลไกการประทับเวลา ("ประทับเวลา")หมายถึงการกำหนดเวลาสำหรับแต่ละข้อความ ในกรณีนี้ ผู้ใช้ IS แต่ละคนสามารถทราบได้ว่าข้อความขาเข้า "เก่า" เพียงใด
เมื่อใช้การประทับเวลา จะมีปัญหากับช่วงเวลาหน่วงเวลาที่อนุญาตสำหรับการตรวจสอบสิทธิ์เซสชัน ท้ายที่สุดแล้ว ข้อความที่มี "ตราประทับชั่วคราว" ตามหลักการไม่สามารถส่งได้ในทันที นอกจากนี้ นาฬิกาคอมพิวเตอร์ของผู้รับและผู้ส่งไม่สามารถซิงโครไนซ์ได้อย่างสมบูรณ์ ความล่าช้าของ "ตราประทับ" ใดที่ถือว่าน่าสงสัย
ดังนั้นใน IC จริง เช่น ในระบบการชำระเงินด้วยบัตรเครดิต จึงเป็นกลไกที่สองในการรับรองความถูกต้องและการป้องกันการปลอมแปลงที่ใช้ ช่วงเวลาที่ใช้คือตั้งแต่หนึ่งถึงหลายนาที วิธีการขโมยเงินอิเล็กทรอนิกส์ที่ทราบกันดีจำนวนมากนั้นอาศัย "การผูกขาด" ในช่องว่างนี้ด้วยคำขอถอนเงินที่ผิดพลาด
ระบบเข้ารหัสคีย์สาธารณะสามารถใช้สำหรับการแลกเปลี่ยนคีย์โดยใช้อัลกอริธึม RSA เดียวกัน
แต่อัลกอริธึม Diffie-Hellman กลับกลายเป็นว่ามีประสิทธิภาพมาก ทำให้ผู้ใช้สองคนสามารถแลกเปลี่ยนคีย์ได้โดยไม่ต้องใช้ตัวกลาง ซึ่งสามารถใช้สำหรับการเข้ารหัสแบบสมมาตรได้
อัลกอริธึม Diffie-Hellman
Diffie และ Helman เสนอให้สร้างระบบเข้ารหัสด้วยกุญแจสาธารณะ ฟังก์ชันการยกกำลังแบบไม่ต่อเนื่อง.ความกลับไม่ได้ของการเปลี่ยนแปลงในกรณีนี้ทำให้แน่ใจได้ด้วยความจริงที่ว่ามันค่อนข้างง่ายในการคำนวณฟังก์ชันเลขชี้กำลังในสนาม Galois จำกัด ซึ่งประกอบด้วย พีองค์ประกอบ ( พี- เป็นจำนวนเฉพาะหรือจำนวนเฉพาะของยกกำลังใดๆ) การคำนวณลอการิทึมในฟิลด์ดังกล่าวเป็นการดำเนินการที่ใช้เวลานานกว่ามาก
ถ้า y= x, 1<x<พี-1 ซึ่งเป็นองค์ประกอบคงที่ของสนาม GF(p), แล้ว x= หล่อ g yข้างต้น GF(p). มี x, มันคำนวณง่าย y. สิ่งนี้จะต้อง 2 ln( x+y) การดำเนินการคูณ
ปัญหาการคำนวณผกผัน xจาก yจะค่อนข้างยาก ถ้า พีถูกเลือกมาถูกต้องเพียงพอ จากนั้นการแตกลอการิทึมจะต้องใช้การคำนวณตามสัดส่วนกับ
ลิตร(p) = exp((ลน พี ln ln พี) 0.5 }
ในการแลกเปลี่ยนข้อมูล ผู้ใช้คนแรกจะสุ่มเลือกหมายเลข x 1 , เท่ากับจำนวนเต็ม 1... พี-หนึ่ง. เขาเก็บหมายเลขนี้เป็นความลับและส่งหมายเลขไปยังผู้ใช้รายอื่น
y 1 = x mod พี
ผู้ใช้คนที่สองทำเช่นเดียวกัน สร้าง x 2 และการคำนวณ y 2 ส่งไปยังผู้ใช้รายแรก เป็นผลให้พวกเขาสามารถคำนวณ k 12 = x 1 x 2 mod พี.
เพื่อที่จะคำนวณ k 12 , ผู้ใช้คนแรกยก y 2 สู่อำนาจ xหนึ่ง . ผู้ใช้คนที่สองทำเช่นเดียวกัน ดังนั้น ผู้ใช้ทั้งสองจึงมีคีย์ร่วมกัน k 12 ซึ่งสามารถใช้ในการเข้ารหัสข้อมูลด้วยอัลกอริธึมทั่วไป ไม่เหมือนกับอัลกอริทึม RSA อัลกอริทึมนี้ไม่อนุญาตให้คุณเข้ารหัสข้อมูลจริง
โดยไม่รู้ตัว x 1 และ x 2 ผู้โจมตีอาจพยายามคำนวณ k 12 รู้แต่ถูกสกัดกั้น y 1 และ y 2. ความเท่าเทียมกันของปัญหานี้กับปัญหาการคำนวณลอการิทึมที่ไม่ต่อเนื่องเป็นคำถามสำคัญและเปิดกว้างในระบบกุญแจสาธารณะ ยังไม่พบวิธีแก้ปัญหาง่ายๆ ดังนั้น ถ้าสำหรับการแปลงโดยตรงของจำนวนเฉพาะ 1,000 บิต 2,000 รายการเป็นสิ่งจำเป็น ดังนั้นสำหรับการแปลงผกผัน (การคำนวณลอการิทึมในฟิลด์ Galois) - จะใช้เวลาประมาณ 10 30 ครั้ง
อย่างที่คุณเห็น ด้วยความเรียบง่ายของอัลกอริธึม Diffie-Hellman ข้อเสียเปรียบที่สองเมื่อเปรียบเทียบกับระบบ RSA คือไม่มีการประเมินความซับซ้อนในการเปิดคีย์ที่ประเมินไว้ต่ำกว่า
นอกจากนี้ แม้ว่าอัลกอริธึมที่อธิบายไว้จะหลีกเลี่ยงปัญหาในการส่งคีย์ที่ซ่อนอยู่ แต่ความจำเป็นในการรับรองความถูกต้องยังคงอยู่ หากไม่มีเงินทุนเพิ่มเติม ผู้ใช้รายหนึ่งไม่สามารถแน่ใจได้ว่าเขาแลกเปลี่ยนกุญแจกับผู้ใช้ที่เขาต้องการจริงๆ อันตรายจากการลอกเลียนแบบยังคงอยู่ในกรณีนี้
ตามลักษณะทั่วไปของสิ่งที่กล่าวเกี่ยวกับการแจกจ่ายคีย์ ควรกล่าวต่อไปนี้ งานของการจัดการคีย์ลงมาเพื่อค้นหาโปรโตคอลการแจกจ่ายคีย์ที่จะให้:
* ความเป็นไปได้ของการปฏิเสธจากศูนย์กระจายสินค้าหลัก
* การตรวจสอบร่วมกันของผู้เข้าร่วมเซสชั่น;
* การยืนยันความถูกต้องของเซสชันโดยกลไกการตอบกลับโดยใช้ซอฟต์แวร์หรือฮาร์ดแวร์สำหรับสิ่งนี้
* ใช้จำนวนข้อความขั้นต่ำในการแลกเปลี่ยนคีย์
ความซับซ้อนและปลอดภัยเช่นเดียวกับระบบเข้ารหัสลับนั้นขึ้นอยู่กับการใช้คีย์ หากขั้นตอนการแลกเปลี่ยนคีย์เป็นเรื่องเล็กน้อยเพื่อให้แน่ใจว่ามีการแลกเปลี่ยนข้อมูลระหว่างผู้ใช้สองคนอย่างเป็นความลับ ในระบบที่มีจำนวนผู้ใช้หลายสิบและหลายร้อย การจัดการคีย์ถือเป็นปัญหาร้ายแรง
ข้อมูลสำคัญเข้าใจว่าเป็นผลรวมของคีย์ทั้งหมดที่ทำงานในระบบ หากข้อมูลสำคัญไม่ได้รับการจัดการอย่างปลอดภัย เมื่อเข้าครอบครองแล้ว ผู้โจมตีจะสามารถเข้าถึงข้อมูลทั้งหมดได้อย่างไม่จำกัด
การจัดการคีย์เป็นกระบวนการข้อมูลที่มีสามองค์ประกอบ:
การสร้างคีย์;
การสะสมของกุญแจ
การกระจายคีย์
การสร้างคีย์ระบบจริงใช้วิธีฮาร์ดแวร์และซอฟต์แวร์พิเศษเพื่อสร้างคีย์แบบสุ่ม ตามกฎแล้วจะใช้ตัวสร้างตัวเลขสุ่ม อย่างไรก็ตาม ระดับของการสุ่มรุ่นควรสูงเพียงพอ เครื่องกำเนิดไฟฟ้าในอุดมคติคืออุปกรณ์ที่ใช้กระบวนการสุ่มแบบ "ธรรมชาติ" ตัวอย่างเช่น การสร้างคีย์โดยอิงจากสัญญาณรบกวนวิทยุสีขาว วัตถุทางคณิตศาสตร์สุ่มอีกตัวหนึ่งคือตำแหน่งทศนิยมของจำนวนอตรรกยะ เช่น หรือ e ซึ่งคำนวณโดยใช้วิธีทางคณิตศาสตร์มาตรฐาน
ในระบบที่มีข้อกำหนดด้านความปลอดภัยปานกลาง ซอฟต์แวร์สร้างคีย์เป็นที่ยอมรับ ซึ่งคำนวณตัวเลขสุ่มเป็นฟังก์ชันที่ซับซ้อนของเวลาปัจจุบันและ / หรือตัวเลขที่ผู้ใช้ป้อน
การสะสมคีย์ภายใต้การสะสมของคีย์เป็นที่เข้าใจถึงองค์กรของการจัดเก็บการบัญชีและการลบ
เนื่องจากกุญแจเป็นวัตถุที่น่าดึงดูดที่สุดสำหรับผู้โจมตี ซึ่งเปิดทางให้เขาได้รับข้อมูลที่เป็นความลับ ปัญหาของการสะสมคีย์จึงควรได้รับความสนใจเป็นพิเศษ
ไม่ควรเขียนคีย์ลับอย่างชัดเจนบนสื่อที่สามารถอ่านหรือคัดลอกได้
ในระบบที่ค่อนข้างซับซ้อน ผู้ใช้รายหนึ่งสามารถทำงานกับข้อมูลสำคัญจำนวนมาก และบางครั้งก็จำเป็นต้องจัดระเบียบฐานข้อมูลขนาดเล็กของข้อมูลสำคัญด้วย ฐานข้อมูลดังกล่าวมีหน้าที่ในการยอมรับ จัดเก็บ บันทึก และลบคีย์ที่ใช้
ข้อมูลเกี่ยวกับคีย์ที่ใช้แต่ละรายการจะต้องจัดเก็บในรูปแบบที่เข้ารหัส คีย์ที่เข้ารหัสข้อมูลคีย์เรียกว่ามาสเตอร์คีย์ เป็นที่พึงปรารถนาที่ผู้ใช้แต่ละคนจะรู้จักมาสเตอร์คีย์ด้วยใจและไม่ได้จัดเก็บไว้ในสื่อวัสดุใดๆ เลย
เงื่อนไขที่สำคัญมากสำหรับการรักษาความปลอดภัยข้อมูลคือการอัปเดตข้อมูลสำคัญในระบบเป็นระยะ ในกรณีนี้ ควรกำหนดทั้งคีย์ธรรมดาและมาสเตอร์คีย์ใหม่ ในระบบที่สำคัญอย่างยิ่ง ข้อมูลสำคัญต้องได้รับการปรับปรุงทุกวัน
ปัญหาในการอัปเดตข้อมูลสำคัญยังเกี่ยวข้องกับองค์ประกอบที่สามของการจัดการคีย์ - การกระจายคีย์
การกระจายคีย์การกระจายคีย์เป็นกระบวนการที่สำคัญที่สุดในการจัดการคีย์ มันมีข้อกำหนดสองประการ:
ประสิทธิภาพและความถูกต้องของการกระจายสินค้า
ความลับของคีย์ที่แจกจ่าย
เมื่อเร็ว ๆ นี้มีการเปลี่ยนแปลงอย่างเห็นได้ชัดต่อการใช้ระบบเข้ารหัสคีย์สาธารณะซึ่งปัญหาในการแจกจ่ายคีย์หายไป อย่างไรก็ตาม การกระจายข้อมูลสำคัญในระบบจำเป็นต้องมีโซลูชั่นใหม่ที่มีประสิทธิภาพ
การกระจายคีย์ระหว่างผู้ใช้ถูกนำไปใช้โดยสองวิธีที่แตกต่างกัน:
1 โดยการสร้างศูนย์กระจายสินค้าหลักตั้งแต่หนึ่งแห่งขึ้นไป ข้อเสียของวิธีนี้คือศูนย์กระจายสินค้ารู้ว่าใครและคีย์ใดได้รับมอบหมาย วิธีนี้ทำให้คุณสามารถอ่านข้อความทั้งหมดที่หมุนเวียนอยู่ในระบบได้ การล่วงละเมิดที่อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการคุ้มครอง
2 การแลกเปลี่ยนคีย์โดยตรงระหว่างผู้ใช้ระบบ ในกรณีนี้ ปัญหาคือการรับรองความถูกต้องของอาสาสมัคร
ในทั้งสองกรณี ต้องรับประกันความถูกต้องของเซสชันการสื่อสาร สามารถทำได้สองวิธี:
1 กลไกการตอบรับคำขอ ซึ่งมีรายละเอียดดังนี้ หากผู้ใช้ A ต้องการให้แน่ใจว่าข้อความที่เขาได้รับจากผู้ใช้ B ไม่ใช่ข้อความเท็จ เขารวมองค์ประกอบที่คาดเดาไม่ได้ (คำขอ) ไว้ในข้อความที่ส่งถึง B เมื่อตอบ ผู้ใช้ B ต้องดำเนินการบางอย่างกับองค์ประกอบนี้ (เช่น เพิ่ม 1) ไม่สามารถทำได้ล่วงหน้าเนื่องจากไม่ทราบว่าจะมีหมายเลขสุ่มอะไรในคำขอ หลังจากได้รับการตอบกลับพร้อมผลลัพธ์ของการดำเนินการแล้ว ผู้ใช้ A สามารถมั่นใจได้ว่าเซสชันนั้นเป็นของแท้ ข้อเสียของวิธีนี้คือความสามารถในการสร้าง แม้ว่าจะซับซ้อน รูปแบบระหว่างคำขอและการตอบกลับ
2 กลไกการประทับเวลา หมายถึงการกำหนดเวลาสำหรับแต่ละข้อความ ในกรณีนี้ ผู้ใช้แต่ละรายของระบบสามารถทราบได้ว่าข้อความขาเข้า "เก่า" เพียงใด
ในทั้งสองกรณี ควรใช้การเข้ารหัสเพื่อให้แน่ใจว่าไม่มีการตอบกลับโดยผู้โจมตี และไม่มีการเปลี่ยนแปลงการประทับเวลา
เมื่อใช้การประทับเวลา จะมีปัญหากับช่วงเวลาหน่วงเวลาที่อนุญาตสำหรับการตรวจสอบสิทธิ์เซสชัน โดยหลักการแล้วข้อความที่มีการประทับเวลาไม่สามารถส่งได้ในทันที นอกจากนี้ นาฬิกาคอมพิวเตอร์ของผู้รับและผู้ส่งไม่สามารถซิงโครไนซ์ได้อย่างสมบูรณ์
ระบบเข้ารหัสคีย์สาธารณะสามารถใช้สำหรับการแลกเปลี่ยนคีย์โดยใช้อัลกอริธึม RSA เดียวกัน
แต่อัลกอริธึม Diffie-Hellman กลับกลายเป็นว่ามีประสิทธิภาพมาก ทำให้ผู้ใช้สองคนสามารถแลกเปลี่ยนคีย์ได้โดยไม่ต้องใช้ตัวกลาง ซึ่งสามารถใช้สำหรับการเข้ารหัสแบบสมมาตรได้
อัลกอริธึม Diffie-Hellman Diffie และ Helman เสนอฟังก์ชันการยกกำลังแบบไม่ต่อเนื่องสำหรับการสร้างระบบเข้ารหัสคีย์สาธารณะ
การกลับไม่ได้ของการเปลี่ยนแปลงในกรณีนี้ทำให้แน่ใจได้ด้วยความจริงที่ว่าการคำนวณฟังก์ชันเลขชี้กำลังในสนามกาโลอิสจำกัดที่ประกอบด้วยองค์ประกอบ p นั้นค่อนข้างง่าย ( พีเป็นไพรม์หรือไพรม์ของกำลังใดๆ) การคำนวณลอการิทึมในฟิลด์ดังกล่าวเป็นการดำเนินการที่ใช้เวลานานกว่ามาก
ในการแลกเปลี่ยนข้อมูล ผู้ใช้คนแรกจะสุ่มเลือกหมายเลข x 1 , สมของจำนวนเต็มตั้งแต่ 1 ถึง พี– 1. เขาเก็บหมายเลขนี้เป็นความลับ และส่งหมายเลขไปยังผู้ใช้รายอื่น y 1 = โดยที่ α เป็นองค์ประกอบคงที่ของสนามกาโลส์ GF(พี) ซึ่งร่วมกับ p ถูกแจกจ่ายล่วงหน้าในหมู่ผู้ใช้
ผู้ใช้คนที่สองทำเช่นเดียวกัน สร้าง x 2 และการคำนวณ y 2 ส่งไปยังผู้ใช้รายแรก ส่งผลให้ทั้งคู่สามารถคำนวณรหัสลับที่ใช้ร่วมกันได้ k 12
=
.
เพื่อที่จะคำนวณ k 12 , ผู้ใช้คนแรกยก y 2 สู่อำนาจ x 1 แล้วหาเศษที่เหลือหารด้วย พี. ผู้ใช้คนที่สองทำเช่นเดียวกัน ใช้เฉพาะ y 1 และ x 2. ดังนั้น ผู้ใช้ทั้งสองจึงมีคีย์ร่วมกัน k 12 ซึ่งสามารถใช้ในการเข้ารหัสข้อมูลด้วยอัลกอริธึมทั่วไป อัลกอริธึมนี้ไม่เข้ารหัสข้อมูลจริงไม่เหมือนกับอัลกอริธึม RSA
โดยไม่รู้ตัว x 1 และ x 2 ผู้โจมตีอาจพยายามคำนวณ k 12 รู้แต่ถูกสกัดกั้น y 1 และ y 2. ความเท่าเทียมกันของปัญหานี้กับปัญหาการคำนวณลอการิทึมที่ไม่ต่อเนื่องเป็นคำถามสำคัญและเปิดกว้างในระบบกุญแจสาธารณะ ยังไม่พบวิธีแก้ปัญหาง่ายๆ ดังนั้น หากการแปลงโดยตรงของจำนวนเฉพาะ 1,000 บิตต้องใช้การดำเนินการ 2,000 ครั้ง การแปลงผกผัน (การคำนวณลอการิทึมในฟิลด์ Galois) จะต้องใช้การดำเนินการประมาณ 1,030 ครั้ง
ดังที่เห็นได้ชัดเจน แม้ว่าอัลกอริธึม Diffie-Hellman จะเรียบง่าย แต่ข้อเสียเมื่อเทียบกับระบบ RSA คือไม่มีขอบเขตล่างที่รับประกันความซับซ้อนของการเปิดเผยคีย์
นอกจากนี้ แม้ว่าอัลกอริธึมที่อธิบายไว้จะหลีกเลี่ยงปัญหาในการส่งคีย์ที่ซ่อนอยู่ แต่ความจำเป็นในการรับรองความถูกต้องยังคงอยู่ หากไม่มีเงินทุนเพิ่มเติม ผู้ใช้รายหนึ่งไม่สามารถแน่ใจได้ว่าเขาแลกเปลี่ยนกุญแจกับผู้ใช้ที่เขาต้องการ
การจัดการคีย์
นอกจากการเลือกระบบการเข้ารหัสที่เหมาะสมกับ IC เฉพาะแล้ว การจัดการคีย์ยังเป็นประเด็นที่สำคัญอีกด้วย ความซับซ้อนและปลอดภัยเช่นเดียวกับระบบเข้ารหัสลับนั้นขึ้นอยู่กับการใช้คีย์ หากเพื่อให้แน่ใจว่ามีการแลกเปลี่ยนข้อมูลระหว่างผู้ใช้สองคนอย่างเป็นความลับ กระบวนการแลกเปลี่ยนคีย์นั้นไม่สำคัญ แต่ในระบบ IS ซึ่งจำนวนผู้ใช้เป็นสิบและหลายร้อย การจัดการคีย์เป็นปัญหาร้ายแรง
ข้อมูลสำคัญเป็นที่เข้าใจกันว่าเป็นผลรวมของคีย์ทั้งหมดที่ทำงานอยู่ใน IS หากไม่มีการจัดการข้อมูลสำคัญที่เชื่อถือได้เพียงพอ เมื่อเข้าครอบครองแล้ว ผู้โจมตีจะสามารถเข้าถึงข้อมูลทั้งหมดได้อย่างไม่จำกัด
การจัดการคีย์เป็นกระบวนการข้อมูลที่ประกอบด้วยสามองค์ประกอบ: การสร้างคีย์ การสะสมคีย์ การกระจายคีย์
การสร้างคีย์
อย่าใช้คีย์ที่ไม่ใช่แบบสุ่มเพื่อให้ง่ายต่อการจดจำ ใน IC ที่ร้ายแรง จะใช้วิธีการพิเศษของฮาร์ดแวร์และซอฟต์แวร์สำหรับการสร้างคีย์แบบสุ่ม ระดับของการสุ่มรุ่นควรสูงเพียงพอ เครื่องกำเนิดไฟฟ้าในอุดมคติคืออุปกรณ์ที่ใช้กระบวนการสุ่มตามธรรมชาติ ตัวอย่างเช่น ตัวอย่างอนุกรมของการสร้างคีย์ตามสัญญาณรบกวนวิทยุสีขาวได้ปรากฏขึ้น
การสะสมคีย์
ภายใต้การสะสมของคีย์เป็นที่เข้าใจถึงองค์กรของการจัดเก็บการบัญชีและการลบ ไม่ควรเขียนคีย์ลับอย่างชัดเจนบนสื่อที่สามารถอ่านหรือคัดลอกได้
ใน IS ที่ค่อนข้างซับซ้อน ผู้ใช้รายหนึ่งสามารถทำงานกับข้อมูลสำคัญจำนวนมาก และบางครั้งก็จำเป็นต้องจัดระเบียบฐานข้อมูลขนาดเล็กของข้อมูลสำคัญด้วย ฐานข้อมูลดังกล่าวมีหน้าที่ในการรับ จัดเก็บ ทำบัญชี และลบคีย์ที่ใช้
เงื่อนไขที่สำคัญมากสำหรับความปลอดภัยของข้อมูลคือการอัปเดตข้อมูลสำคัญใน IS เป็นระยะ โดยเฉพาะอย่างยิ่งใน IS ที่รับผิดชอบ ขอแนะนำให้อัปเดตข้อมูลสำคัญทุกวัน
การกระจายคีย์
นี่เป็นกระบวนการที่รับผิดชอบมากที่สุดในการจัดการคีย์ มีข้อกำหนดสองประการ: ประสิทธิภาพและความถูกต้องของการแจกจ่ายและความลับของคีย์ที่แจกจ่าย
การกระจายคีย์ระหว่างผู้ใช้ถูกนำไปใช้โดยสองวิธีที่แตกต่างกัน:
โดยการสร้างศูนย์กระจายสินค้าที่สำคัญอย่างน้อยหนึ่งแห่ง
ข้อเสียของวิธีนี้คือศูนย์กระจายสินค้ารู้ว่าใครและคีย์ใดได้รับมอบหมาย และสิ่งนี้ทำให้คุณสามารถอ่านข้อความทั้งหมดที่หมุนเวียนอยู่ใน IS การล่วงละเมิดที่อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการคุ้มครอง
การแลกเปลี่ยนคีย์โดยตรงระหว่างผู้ใช้ระบบข้อมูล
ในกรณีนี้ ปัญหาคือการรับรองความถูกต้องของอาสาสมัคร
ในทั้งสองกรณี ต้องรับประกันความถูกต้องของเซสชันการสื่อสาร
ตามลักษณะทั่วไปของสิ่งที่กล่าวเกี่ยวกับการแจกจ่ายคีย์ ควรกล่าวต่อไปนี้ งานของการจัดการคีย์ลงมาเพื่อค้นหาโปรโตคอลการกระจายคีย์ที่จะให้:
โอกาสในการยกเลิกศูนย์กระจายสินค้าที่สำคัญ
การตรวจสอบร่วมกันของผู้เข้าร่วมเซสชัน
การยืนยันความถูกต้องของเซสชันโดยกลไกการตอบกลับ การใช้ซอฟต์แวร์หรือฮาร์ดแวร์สำหรับสิ่งนี้ การใช้ข้อความจำนวนขั้นต่ำในการแลกเปลี่ยนคีย์
การบรรยาย 6: การจัดการคีย์การเข้ารหัส โปรโตคอลการเข้ารหัส
คำถาม:
1. โปรโตคอลการเข้ารหัส
2. การแจกจ่ายรหัสลับ
3. การจำหน่ายกุญแจสาธารณะ
4. การแจกจ่ายรหัสลับโดยใช้ระบบกุญแจสาธารณะ
1 โปรโตคอลการเข้ารหัส
โปรโตคอลการเข้ารหัส - ชุดของกฎที่เป็นทางการซึ่งอธิบายลำดับของการกระทำที่ดำเนินการโดยสองฝ่ายขึ้นไปเพื่อแก้ปัญหาการปกป้องข้อมูลโดยใช้การเข้ารหัส นั่นคือโปรโตคอลการเข้ารหัสรวมถึงอัลกอริธึมการเข้ารหัสบางส่วน
ในชีวิตประจำวันมีการใช้โปรโตคอลที่ไม่เป็นทางการเกือบทุกที่:
· เมื่อเล่นไพ่;
· เมื่อสั่งสินค้าทางโทรศัพท์
โปรโตคอลเหล่านี้ได้รับการพัฒนามาเป็นเวลานานและทำงานได้อย่างน่าเชื่อถือ
โปรโตคอลคอมพิวเตอร์เป็นอีกเรื่องหนึ่ง เพื่อทำสิ่งที่มนุษย์ทำโดยไม่ต้องคิด คอมพิวเตอร์จำเป็นต้องมีโปรโตคอลที่เป็นทางการ
เพื่ออำนวยความสะดวกในการสาธิตการทำงานของโปรโตคอลมีผู้เข้าร่วมหลายคน:
· อลิซเป็นผู้เข้าร่วมคนแรก
· บ๊อบเป็นผู้เข้าร่วมคนที่สอง
· แครอลเป็นผู้มีส่วนร่วมในระเบียบการไตรภาคี
· Dave เป็นโปรโตคอลสี่ทาง
· อีฟเป็นผู้สกัดกั้นข้อความ
· มัลลอรี่เป็นนักย่องเบา
· Trent เป็นตัวกลางที่เชื่อถือได้
· วอลเตอร์เป็นผู้คุม (ผู้พิทักษ์อลิซและบ็อบ)
· เพ็กกี้เป็นผู้ท้าชิง (พยายามพิสูจน์อะไรบางอย่าง)
· Victor เป็นผู้ตรวจสอบ (ตรวจสอบ Peggy)
แยกแยะ:
· โปรโตคอลในตัวเอง;
· โปรโตคอลกับคนกลาง;
· โปรโตคอลผู้ตัดสิน
ในโปรโตคอลที่มีอยู่ในตัวเอง ความซื่อสัตย์ของคู่สัญญาได้รับการประกันโดยโปรโตคอลเอง ไม่จำเป็นต้องมีบุคคลที่สามเพื่อดำเนินการตามโปรโตคอล การไม่มีข้อพิพาทเกิดขึ้นจากการออกแบบโปรโตคอล นี่เป็นโปรโตคอลที่ดีที่สุด แต่น่าเสียดายที่โปรโตคอลเหล่านี้ไม่เหมาะกับทุกสถานการณ์
Alice Bob
โปรโตคอลตัวกลาง
คนกลางเรียกว่า ไม่สนใจบุคคลที่สามซึ่ง ได้รับความไว้วางใจเสร็จสิ้นการดำเนินการของโปรโตคอล “ไม่สนใจ” หมายความว่าคนกลางไม่สนใจทั้งผลของการดำเนินการตามระเบียบการและผู้เข้าร่วมใดๆ ผู้เข้าร่วมทั้งหมดในโปรโตคอลรับรู้คำพูดของผู้ไกล่เกลี่ยว่าเป็นความจริงการกระทำทั้งหมดของเขาได้รับการยอมรับว่าถูกต้อง
ในชีวิตประจำวัน คนกลางสามารถเป็นทนายความ หน่วยงาน ธนาคาร ฯลฯ ด้วยเครือข่ายคอมพิวเตอร์ สถานการณ์จึงซับซ้อนมากขึ้น
โปรโตคอลกับอนุญาโตตุลาการ
อนุญาโตตุลาการเป็นตัวกลางชนิดพิเศษ นี่คือ ไม่สนใจและไว้วางใจด้านที่สาม เขาไม่จำเป็นต้องมีส่วนร่วมในการดำเนินการตามระเบียบการต่าง ๆ ของผู้ไกล่เกลี่ย แต่เฉพาะเมื่อมีความขัดแย้งเกิดขึ้นระหว่างทั้งสองฝ่าย
ผู้พิพากษาเป็นตัวอย่าง
โปรโตคอลคอมพิวเตอร์อนุญาโตตุลาการเป็นที่รู้จักกัน ระเบียบการเหล่านี้อาศัยสมมติฐานที่ว่าคู่สัญญามีความซื่อสัตย์ อย่างไรก็ตาม หากใครสงสัยว่ามีการฉ้อโกง บุคคลที่สามที่เชื่อถือได้สามารถเปิดเผยการฉ้อโกงตามชุดข้อมูลที่มีอยู่ได้ นอกจากนี้ โปรโตคอลอนุญาโตตุลาการที่ดียังช่วยให้ผู้ตัดสินสามารถระบุตัวผู้โจมตีได้ ดังนั้น ระเบียบการอนุญาโตตุลาการ ไม่ป้องกัน, แ ตรวจจับการฉ้อโกง. ในกรณีนี้ ความหลีกเลี่ยงไม่ได้ของการตรวจจับทำหน้าที่เป็นมาตรการป้องกันที่กีดกันผู้โจมตี
องค์กรของการสื่อสารโดยใช้การเข้ารหัสแบบสมมาตร
โมเดลระบบเข้ารหัสสมมาตร:
1. อลิซและบ็อบเลือกระบบเข้ารหัส
2. อลิซและบ็อบเลือกกุญแจ
3. อลิซเข้ารหัสข้อความธรรมดาของข้อความโดยใช้อัลกอริธึมการเข้ารหัสและคีย์
4. อลิซส่งรหัสลับให้บ๊อบ
5. Bob ถอดรหัส ciphertext โดยใช้คีย์และรับข้อความธรรมดา
อีฟซึ่งอยู่ระหว่างอลิซกับบ็อบสามารถดักฟังได้เฉพาะการส่งสัญญาณในขั้นตอนที่ 4 จากนั้นเธอจะต้องวิเคราะห์ข้อความเข้ารหัสลับ นี่เป็นการโจมตีแบบพาสซีฟโดยใช้ข้อความเข้ารหัสเท่านั้น
อีฟสามารถดักฟังในขั้นตอนที่ 1 และ 2 ในระบบเข้ารหัสที่ดี ความปลอดภัยขึ้นอยู่กับการรู้รหัส นี่คือเหตุผลที่การจัดการคีย์มีความสำคัญในการเข้ารหัส
แครกเกอร์ที่แอคทีฟของมัลลอรี่สามารถไปได้ไกลกว่านั้น ในขั้นตอนที่ 4 เขาสามารถทำลายสายการสื่อสารได้ หรือสกัดกั้นข้อความของอลิซแล้วแทนที่ด้วยข้อความของเธอเอง ไม่มีทางที่บ็อบจะรับรู้ว่าข้อความนี้ไม่ได้ถูกส่งมาจากอลิซ
อลิซหรือบ็อบสามารถมอบสำเนากุญแจให้อีฟได้ เป็นต้น
สรุปเรารายการ ข้อเสียของ cryptosystems สมมาตร:
1. กุญแจมีค่าพอๆ กับข้อความที่เข้ารหัส ดังนั้น ปัญหาการกระจายคีย์.
2. เมื่อได้รับคีย์แล้ว ก็สามารถสร้างข้อความปลอมได้
3. หากผู้ใช้เครือข่ายแต่ละคู่จะใช้คีย์แยกกัน จำนวนคีย์ทั้งหมดเพิ่มขึ้นอย่างรวดเร็วตามจำนวนผู้ใช้.
n ผู้ใช้ - n (n - 1) / 2 - คีย์
ผู้ใช้ 10 คน - 45 คีย์
ผู้ใช้ 100 คน - 4950 คีย์ ฯลฯ
การสร้างการสื่อสารโดยใช้การเข้ารหัสคีย์สาธารณะ
1. Alice และ Bob ตกลงที่จะใช้ระบบเข้ารหัสคีย์สาธารณะ
2. บ็อบส่งกุญแจสาธารณะไปให้อลิซ
3. อลิซเข้ารหัสข้อความของเธอโดยใช้กุญแจสาธารณะของบ๊อบแล้วส่งให้บ๊อบ
4. Bob ถอดรหัสข้อความด้วยคีย์ส่วนตัวของเขา
ดังนั้น ปัญหาของการกระจายคีย์ซึ่งสร้างความเจ็บปวดให้กับระบบการเข้ารหัสที่สมมาตรจึงถูกขจัดออกไป
2. การแจกจ่ายรหัสลับ
ด้วยการเข้ารหัสแบบดั้งเดิม ทั้งสองฝ่ายจะต้องได้รับคีย์เดียวกัน เพื่อความปลอดภัย จำเป็นต้องเปลี่ยนคีย์บ่อยๆ
ดังนั้น ความแข็งแกร่งของระบบการเข้ารหัสแบบสมมาตรขึ้นอยู่กับ ระบบจำหน่ายกุญแจ (เช่น วิธีส่งมอบกุญแจให้ทั้งสองฝ่าย)
สำหรับสองด้าน A และ B การกระจายคีย์สามารถจัดระเบียบได้หลายวิธี:
1. กุญแจถูกเลือกโดยฝ่าย A และส่งให้ B
2. บุคคลที่สามเป็นผู้เลือกกุญแจและส่งมอบให้กับ A และ B
3. ฝ่ายหนึ่งส่งคีย์ใหม่ในรูปแบบเข้ารหัสโดยใช้คีย์เก่า
4. บุคคลที่สาม C ส่งมอบกุญแจไปยัง A และ B ผ่านช่องทางการสื่อสารที่ปลอดภัย เช่น บาง ศูนย์กระจายสินค้าที่สำคัญ (KDC)
รูปแบบการกระจายคีย์ (โปรโตคอล) สามารถ แบบรวมศูนย์และกระจาย(โดยมีตัวกลางและพึ่งตนเองได้)
พิจารณาข้อ 4
การใช้ CRC เกี่ยวข้องกับการจัดลำดับชั้นของคีย์ (อย่างน้อยสองระดับ) การสื่อสารระหว่างผู้ใช้ปลายทางถูกเข้ารหัสโดยใช้คีย์ชั่วคราวที่เรียกว่า คีย์เซสชัน . รหัสเซสชันได้รับจาก CRC ผ่านช่องทางการสื่อสารเดียวกันกับที่ใช้สำหรับส่งข้อมูล คีย์เซสชันถูกส่งในรูปแบบที่เข้ารหัส และจะถูกเข้ารหัสโดยใช้ กุญแจหลัก ทั่วไปสำหรับ CRC และผู้ใช้รายนี้.
ต้องใช้มาสเตอร์คีย์นู๋ (ตามจำนวนผู้ใช้งาน) มีการแจกจ่ายในลักษณะที่ไม่เข้ารหัส (การจัดส่งทางกายภาพไปยังผู้รับ)
สถานการณ์การกระจายคีย์ (สคีมากลาง)
สมมติว่าผู้ใช้ A ตั้งใจที่จะส่งข้อมูลไปยังผู้ใช้ B และต้องใช้คีย์เซสชันแบบใช้ครั้งเดียวเพื่อปกป้องข้อมูล
ผู้ใช้ A มีรหัสลับ Kเอ รู้จักเพียงเขาและ CRC และผู้ใช้ B มี Kข (ก และ ข ข คือคีย์หลัก Kส – รหัสเซสชันครั้งเดียว)
การแลกเปลี่ยนข้อมูลเกิดขึ้นดังนี้:
1. ผู้ใช้ A ส่งคำขอไปยัง CRC เพื่อรับรหัสเซสชันเพื่อความปลอดภัยในการสื่อสารกับ B
คำขอที่ส่งจะต้องรวมถึง:
- ข้อมูลที่ทำให้สามารถระบุ A และ B (ไอดี เอ , ไอดี บี );
- ตัวระบุบางอย่าง N 1 , ไม่ซ้ำกันสำหรับแต่ละคำขอและเรียกว่า โอกาส. โอกาสอาจเป็นเวลา ตัวนับ ตัวเลขสุ่ม
2. CRC ตอบสนองต่อคำขอของผู้ใช้ A เข้ารหัสคำตอบด้วยคีย์K เอ(หลัก A). ผู้ใช้คนเดียวที่สามารถอ่านคำตอบคือ A (ดังนั้น A แน่ใจว่าข้อความนั้นมาจาก CRC)
ข้อความตอบกลับประกอบด้วยองค์ประกอบต่อไปนี้:
· ออกแบบมาสำหรับ A :
ส (เพื่อเชื่อมต่อ A กับ B)
- ขอแบบบิดๆ N 1 เพื่อให้ผู้ใช้ A สามารถจับคู่คำตอบกับคำขอได้
ดังนั้น A สามารถตรวจสอบให้แน่ใจว่าคำขอของเขาไม่ได้เปลี่ยนแปลงระหว่างทางไปยัง CRC และโอกาสนี้ไม่อนุญาตให้สร้างความสับสนในคำตอบของคำขอนี้กับคำตอบของคำขอก่อนหน้านี้
· ออกแบบมาสำหรับ B .
คีย์เซสชันแบบใช้ครั้งเดียว Kส.
รหัสผู้ใช้ A -ไอดี เอ (เช่น ที่อยู่เครือข่าย A)
องค์ประกอบทั้งสองได้รับการเข้ารหัสโดยใช้คีย์ KB (มาสเตอร์คีย์ของ CRC และ B) พวกเขาควรจะถูกส่งไปยัง B เพื่อสร้างการเชื่อมต่อและระบุ A.
เอก [ K S ||ขอ|| N 1 || E Kb (เค เอส , ไอดี เอ )]
3. ผู้ใช้ A บันทึกคีย์เซสชันของเขาและส่งข้อมูลไปยังฝ่าย B จาก CMC ที่มีไว้สำหรับ B
ผู้ใช้ B รับ Kส และรู้ว่าข้อมูลที่ได้รับมาจาก CRC (เพราะเข้ารหัสโดย C B ซึ่งรู้จักเฉพาะ B และ CRC)
ดังนั้น A และ B จึงมีคีย์เซสชัน แต่ก่อนที่จะแลกเปลี่ยนข้อมูล ควรทำสิ่งต่อไปนี้:
4. การใช้คีย์เซสชันที่ได้รับ Kส ผู้ใช้ B ส่งโอกาสใหม่ให้ผู้ใช้ A N2.
5. ด้วยความช่วยเหลือของ K s ผู้ใช้ A ส่งคืนฉ (N 2 ). นี่เป็นสิ่งจำเป็นเพื่อโน้มน้าว B ว่าข้อความที่เขาได้รับในตอนแรกไม่ได้ถูกทำซ้ำโดยผู้โจมตี
ดังนั้น ไม่เพียงแต่การถ่ายโอนคีย์เท่านั้น แต่ยังให้การรับรองความถูกต้องด้วย (ขั้นตอนที่ 4 และ 5)
ไม่จำเป็นต้องกำหนดฟังก์ชันการกระจายคีย์ให้กับ CRC เดียว จะดีกว่าถ้าใช้ลำดับชั้นของ CRC ยิ่งเปลี่ยนคีย์เซสชันบ่อยเท่าไหร่ก็ยิ่งมีความน่าเชื่อถือมากขึ้นเท่านั้น แต่การกระจายคีย์เซสชันจะทำให้การเริ่มเซสชันการแลกเปลี่ยนข้อมูลล่าช้าและเพิ่มภาระงานของเครือข่าย
การใช้ CRC บอกเป็นนัยว่า CRC ควรสร้างแรงบันดาลใจให้เกิดความมั่นใจและได้รับการปกป้องอย่างน่าเชื่อถือจากการบุกรุก ข้อกำหนดเหล่านี้สามารถยกเว้นได้หากใช้รูปแบบการกระจายคีย์แบบกระจายศูนย์ (แบบพอเพียง)
แบบแผนการกระจายคีย์แบบกระจายอำนาจ
คีย์เซสชันสามารถกำหนดได้เป็นผลจากลำดับของการกระทำต่อไปนี้:
1) A ส่งคำขอรับK s + โอกาส N 1 .
2) B ตอบสนองโดยการเข้ารหัสการตอบสนองโดยใช้มาสเตอร์คีย์ทั่วไปของ A และ B E MKม.
3) ผลตอบแทน f (N 2 ) เข้ารหัสด้วย Kส.
3. จำหน่ายกุญแจสาธารณะ
หนึ่งในแอปพลิเคชั่นหลักของรูปแบบการเข้ารหัสคีย์สาธารณะ เป็นวิธีการแก้ปัญหาการกระจายคีย์ มีการใช้งานที่แตกต่างกันโดยสิ้นเชิงสองแบบสำหรับการเข้ารหัสคีย์สาธารณะในพื้นที่นี้:
1. การกระจายกุญแจสาธารณะ
2. ใช้การเข้ารหัสคีย์สาธารณะเพื่อแจกจ่ายคีย์ลับ
มีการเสนอวิธีการหลายวิธีในการแจกจ่ายกุญแจสาธารณะ อันที่จริง พวกเขาสามารถจัดกลุ่มเป็นคลาสทั่วไปต่อไปนี้:
1. ประกาศสาธารณะ;
2. ไดเร็กทอรีที่เข้าถึงได้แบบสาธารณะ
4. ใบรับรองกุญแจสาธารณะ
1) ประกาศสาธารณะของกุญแจสาธารณะ (แจกจ่ายไม่มีการควบคุม) .
ฝ่ายใดก็ตามที่เกี่ยวข้องกับการแลกเปลี่ยนข้อมูลสามารถมอบกุญแจสาธารณะให้กับบุคคลอื่นหรือโอนกุญแจผ่านวิธีการสื่อสารไปยังทุกคนได้เลย - การแจกจ่ายกุญแจสาธารณะที่ไม่มีการควบคุม
วิธีนี้สะดวก แต่ ข้อเสียอย่างหนึ่ง:การประกาศสาธารณะดังกล่าวสามารถทำได้โดยทุกคน รวมถึงผู้โจมตีด้วย ซึ่งหมายความว่ามีคนแอบอ้างเป็นผู้ใช้ A และส่งคีย์สาธารณะไปยังผู้ใช้เครือข่ายอื่น หรือเสนอคีย์สาธารณะดังกล่าวเพื่อการใช้งานสาธารณะ ในขณะที่ผู้ใช้ A เปิดการฉ้อโกงและเตือนผู้ใช้รายอื่น ผู้ปลอมแปลงจะสามารถอ่านข้อความที่เข้ารหัสทั้งหมดได้ได้รับในช่วงเวลานี้สำหรับ A และจะสามารถใช้คีย์ปลอมสำหรับการตรวจสอบสิทธิ์ได้
2) ไดเร็กทอรีที่เข้าถึงได้แบบสาธารณะ (แบบแผนส่วนกลาง)
ระดับการรักษาความปลอดภัยที่สูงขึ้นสามารถทำได้โดยใช้แค็ตตาล็อกคีย์สาธารณะแบบไดนามิกที่เปิดเผยต่อสาธารณะ ศูนย์หรือองค์กรที่เชื่อถือได้บางแห่งควรรับผิดชอบในการบำรุงรักษาและแจกจ่ายแค็ตตาล็อกสาธารณะ โครงการดังกล่าวควรมีองค์ประกอบต่อไปนี้:
1. อ็อบเจ็กต์ที่เชื่อถือได้ที่ดูแลไดเร็กทอรีที่มีรายการของแบบฟอร์ม (ชื่อ, กุญแจสาธารณะ) สำหรับสมาชิกแต่ละคน
2. ผู้เข้าร่วมแต่ละคนลงทะเบียนคีย์สาธารณะของเขา การลงทะเบียนดังกล่าวควรเกิดขึ้นที่ลักษณะส่วนบุคคลของผู้เข้าร่วมหรือผ่านช่องทางการสื่อสารที่ปลอดภัย
3. ผู้เข้าร่วมทุกคนสามารถแทนที่คีย์ที่มีอยู่ด้วยคีย์ใหม่ได้ตลอดเวลาโดยใช้วิธีการตรวจสอบสิทธิ์ (บางทีคีย์ส่วนตัวอาจถูกบุกรุก หรือมีการโอนข้อมูลจำนวนมากโดยใช้คีย์นี้แล้ว)
4. แค็ตตาล็อกทั้งหมดหรือการอัปเดตจะถูกเผยแพร่เป็นระยะ
โครงการนี้มีความปลอดภัยมากกว่าการประกาศต่อสาธารณะแต่ละรายการ แต่ก็มีความเสี่ยงเช่นกัน . หากฝ่ายตรงข้ามได้รับกุญแจส่วนตัวของวัตถุที่ได้รับอนุญาตให้รักษาไดเรกทอรีได้สำเร็จ เขา จะสามารถ ออกกุญแจสาธารณะปลอมและดังนั้นจึงพูดในนามของผู้เข้าร่วมในการแลกเปลี่ยนข้อมูลและอ่านข้อความที่มีไว้สำหรับผู้เข้าร่วม ผลลัพธ์เดียวกัน ศัตรูสามารถบรรลุด้วย การเปลี่ยนแปลงรายการที่เก็บอยู่ในไดเร็กทอรี.
การป้องกันที่ดีที่สุดการแจกจ่ายคีย์สาธารณะสามารถทำได้โดยการควบคุมการแจกจ่ายคีย์สาธารณะที่เข้มงวดยิ่งขึ้น
สถานการณ์ทั่วไปแสดงอยู่ด้านล่าง สถานการณ์สมมติจะถือว่ามี CRC บางส่วนที่ได้รับอนุญาตให้รักษาแคตตาล็อกคีย์สาธารณะแบบไดนามิกของผู้เข้าร่วมทั้งหมดในการแลกเปลี่ยนข้อมูล นอกจากนี้ ผู้เข้าร่วมแต่ละคนจะทราบคีย์สาธารณะของศูนย์ได้อย่างน่าเชื่อถือ แต่มีเพียงศูนย์เท่านั้นที่ทราบคีย์ส่วนตัวที่เกี่ยวข้อง ในการทำเช่นนั้น มีการดำเนินการต่อไปนี้:
(1) ผู้ริเริ่ม A ส่งข้อความพร้อมประทับวันที่/เวลา (โอกาส N 1 ) ไปยังแหล่งที่มาของกุญแจสาธารณะที่เชื่อถือได้พร้อมคำขอรหัสสาธารณะปัจจุบันของผู้เข้าร่วม B
(2) แหล่งที่เชื่อถือได้ตอบกลับด้วยข้อความที่เข้ารหัสโดยใช้กุญแจส่วนตัวของแหล่งที่เชื่อถือได้ KR รับรองความถูกต้อง . ข้อความนี้สามารถถอดรหัสได้โดยผู้ริเริ่ม A โดยใช้กุญแจสาธารณะของแหล่งที่มาที่เชื่อถือได้ ดังนั้นผู้ส่ง ก จึงมั่นใจได้ว่าข้อความนั้นมาจากแหล่งที่เชื่อถือได้ ข้อความนี้ควรมีดังต่อไปนี้:
· กุญแจสาธารณะของผู้เข้าร่วม B , มก.ข ;
· คำขอเดิม เพื่อให้ฝ่าย A สามารถตรวจสอบได้ว่าคำขอไม่ได้รับการแก้ไขระหว่างทางไปยังแหล่งที่เชื่อถือได้
· ประทับวันที่/เวลาเดิม (โอกาส N 1 ) เพื่อให้ผู้ส่ง A สามารถตรวจสอบได้ว่านี่คือคำตอบสำหรับคำขอนี้โดยเฉพาะ
(3) ผู้ริเริ่ม A บันทึกคีย์สาธารณะของฝ่าย B และใช้เพื่อเข้ารหัสข้อความที่ส่งไปยังผู้รับ B ที่มีข้อมูลระบุตัวตนของผู้ส่ง A ( ID A ) และโอกาส N 1
(4) (5) ผู้ตอบ ข ได้รับกุญแจสาธารณะของผู้เข้าร่วม ก จากแหล่งที่เชื่อถือได้ ในลักษณะเดียวกับที่ผู้ส่ง ก ได้รับกุญแจสาธารณะของผู้รับ ข
ถึงเวลานี้ กุญแจสาธารณะได้ถูกส่งไปยังผู้เข้าร่วม A และ B ดังนั้น ว่าตอนนี้ A และ B สามารถเริ่มต้นการแลกเปลี่ยนข้อมูลได้อย่างปลอดภัย. แต่ก่อนหน้านั้น เป็นที่พึงปรารถนาที่จะทำสองต่อไป การดำเนินการเพิ่มเติม.
(6) ผู้ตอบ ข ส่งข้อความถึงผู้ริเริ่ม A เข้ารหัสด้วย KU A และมีโอกาสของผู้ส่ง A ( N 1 ) รวมถึงโอกาสใหม่ที่สร้างโดยผู้เข้าร่วม B (น 2 ). การแสดงตน N 1 ในข้อความ (6) เกลี้ยกล่อมผู้เข้าร่วม A ว่าผู้ส่งข้อความที่ได้รับคือ B
(7) ผู้ริเริ่ม A กลับมา นู๋2 เข้ารหัสด้วยกุญแจสาธารณะของฝ่าย B เพื่อให้ฝ่าย B สามารถตรวจสอบได้ว่าผู้ส่งคำตอบคือ A
ดังนั้น, ต้องใช้ทั้งหมดเจ็ดข้อความ. อย่างไรก็ตาม ส่งข้อความสี่ครั้งแรกไม่บ่อยนักเนื่องจากทั้งสองฝ่ายสามารถจัดเก็บคีย์สาธารณะของกันและกันเพื่อใช้ในภายหลัง ซึ่งมักเรียกว่าการแคช
4) ใบรับรองกุญแจสาธารณะ .
Confelder เสนอแนวทางทางเลือกอื่น มันขึ้นอยู่กับใบรับรอง
ใบรับรองแต่ละใบประกอบด้วย กุญแจสาธารณะและข้อมูลอื่น ๆ ที่สร้างโดยผู้ออกใบรับรองที่เชื่อถือได้และออกให้กับผู้เข้าร่วม
ความต้องการของระบบ :
1. ฝ่ายใดฝ่ายหนึ่งต้องสามารถอ่านใบรับรองเพื่อกำหนดชื่อและคีย์สาธารณะของเจ้าของใบรับรองได้
2. ผู้เข้าร่วมทุกคนควรตรวจสอบได้ว่าใบรับรองนั้นมาจากแหล่งใบรับรองที่มีชื่อเสียงและไม่ใช่ของปลอม
4. เดนนิ่งเพิ่มข้อกำหนดต่อไปนี้ - ผู้เข้าร่วมทุกคนจะต้องสามารถตรวจสอบระยะเวลาที่ถูกต้องของใบรับรองได้
ข้าว. แลกเปลี่ยนใบรับรองคีย์สาธารณะ
ผู้เข้าร่วมแต่ละคนนำไปใช้กับ AIS จัดหากุญแจสาธารณะและขอใบรับรองผ่านแบบฟอร์มการสื่อสารที่ปลอดภัย
AIS ส่งใบรับรอง C A และ C B ที่มี 1) ระยะเวลาที่ถูกต้องของใบรับรอง 2) ตัวระบุของเจ้าของ; 3) กุญแจสาธารณะของเจ้าของใบรับรอง ใบรับรองถูกเข้ารหัสด้วยคีย์ส่วนตัวของแหล่งที่มาที่เชื่อถือได้
และสามารถส่งใบรับรองให้ผู้เข้าร่วมรายใดก็ได้
ผู้รับใช้กุญแจสาธารณะ KU รับรองความถูกต้อง เอไอเอสอ่านใบรับรอง สิ่งนี้ให้การรับประกันว่าใบรับรองมาจากเขา
D KU [ C A ]= D KU [ E KR [ T , ID A , KU A ]]=(T , ID A , KU )
4. การแจกจ่ายรหัสลับโดยใช้ระบบกุญแจสาธารณะ
ผู้ใช้บางคนต้องการใช้การเข้ารหัสคีย์สาธารณะเฉพาะในกรณีพิเศษเท่านั้น เนื่องจากความจริงที่ว่าความเร็วในการถ่ายโอนข้อมูลค่อนข้างช้าเมื่อใช้การเข้ารหัส ดังนั้นการเข้ารหัสคีย์สาธารณะจึงควรได้รับการพิจารณาว่าเป็นวิธีการแจกจ่ายคีย์ลับที่ใช้สำหรับการเข้ารหัสแบบเดิมมากกว่า
1) โครงการ Merkle (โปรโตคอลในตัวเอง)
หากผู้ริเริ่ม A ตั้งใจที่จะแลกเปลี่ยนข้อมูลกับผู้ใช้ B จะถือว่ามีขั้นตอนดังต่อไปนี้:
1. ฝ่าย A สร้างคู่คีย์สาธารณะ/ส่วนตัว ( KU A , KR A ) และส่งข้อความถึงปาร์ตี้ B ที่มี KU A และ ID ผู้ส่ง Aไอดี เอ
2. ผู้รับ B สร้างรหัสลับ KS และส่งคีย์นี้ไปยังผู้ริเริ่มข้อความ A ที่เข้ารหัสด้วยกุญแจสาธารณะของผู้ริเริ่ม A
3. ผู้ใช้ A คำนวณดี ครา [ อี กัว [ เค ส ]] เพื่อกู้คืนรหัสลับ เนื่องจากมีเพียงฝ่าย A เท่านั้นที่สามารถถอดรหัสข้อความนี้ได้ มีเพียงฝ่าย A และ B เท่านั้นที่จะทราบค่าเค เอส.
ตอนนี้ทั้งสองฝ่าย A และ B สามารถใช้การสื่อสารที่ได้รับการป้องกันโดยการเข้ารหัสแบบดั้งเดิมด้วยคีย์เซสชันเค ส . เมื่อสิ้นสุดการแลกเปลี่ยนข้อมูล ทั้ง A และ B จะโยนทิ้งเค ส . แม้จะมีความเรียบง่าย แต่โปรโตคอลนี้ก็น่าสนใจมาก
ศักดิ์ศรี: ไม่มีคีย์ก่อนที่การสื่อสารจะเริ่มต้นและไม่มีคีย์เหลืออยู่หลังจากการสื่อสารสิ้นสุดลง ดังนั้นความเสี่ยงของการประนีประนอมจึงน้อยมาก. ในขณะเดียวกัน การสื่อสารก็ได้รับการปกป้องจากการดักฟัง
ข้อบกพร่อง: โปรโตคอลนี้เสี่ยงต่อ การโจมตีเชิงรุก. หากฝ่ายตรงข้าม E มีความสามารถในการเจาะช่องทางการสื่อสาร เขาสามารถประนีประนอมการสื่อสารโดยไม่ถูกตรวจจับได้ด้วยวิธีต่อไปนี้
1. ผู้เข้าร่วม A สร้างคู่คีย์สาธารณะ/ส่วนตัว ( KU A , KR A KU A และรหัสผู้เข้าร่วม Aไอดี เอ
2. ฝ่ายตรงข้าม E สกัดกั้นข้อความ สร้างคู่คีย์สาธารณะ/ส่วนตัวของตัวเอง ( KU E , KR E ) และส่งข้อความไปยังผู้รับ B ที่มี KU E || ไอดี เอ
3. B สร้างรหัสลับ K S และส่ง E KUe [ K S ]
4. ปฏิปักษ์ E สกัดกั้นข้อความนี้และเรียนรู้ K S คำนวณ D KRe [ E KUe [ K S ]]
5. ศัตรู E ส่งข้อความถึงผู้เข้าร่วม A E KU a [ K S ].
เป็นผลให้ทั้งผู้เข้าร่วม A และ B จะรู้เค ส แต่จะไม่ระแวงว่าเค ส ยังรู้จักศัตรูE . ดังนั้น, นี้เรียบง่าย โปรโตคอลมีประโยชน์เฉพาะเมื่อภัยคุกคามที่เป็นไปได้เท่านั้นคือ การสกัดกั้นข้อความแบบพาสซีฟ.
2) การแจกจ่ายคีย์ลับที่มีการรักษาความลับและการรับรองความถูกต้อง
รูปแบบนี้ให้การป้องกันการโจมตีทั้งแบบแอคทีฟและพาสซีฟ ตามสมมติฐาน สมมติว่า A และ B ได้แลกเปลี่ยนกุญแจสาธารณะแล้วโดยใช้รูปแบบใดรูปแบบหนึ่งที่อธิบายไว้ข้างต้น
(1) ฝ่าย A ใช้กุญแจสาธารณะของฝ่าย B เพื่อส่งข้อความที่เข้ารหัสซึ่งระบุตัวตนของฝ่าย A ให้ฝ่าย B ( ID A ) และโอกาส (N 1 ) ใช้เพื่อระบุธุรกรรมนี้โดยเฉพาะ
(2) ผู้ใช้ B ถอดรหัส (1) โดยใช้ KR B . ผู้ใช้ B ส่งข้อความถึงผู้ใช้ A เข้ารหัสด้วย KU A และโอกาศที่ได้รับจากมัน ( N 1) และโอกาสใหม่ (N 2 ). เนื่องจากมีเพียงฝ่าย B เท่านั้นที่สามารถถอดรหัสข้อความ (1) การมีอยู่ N 1 ในข้อความ (2) เกลี้ยกล่อมผู้เข้าร่วม A ว่าฝ่าย B เป็นผู้ตอบ
( 3) ปาร์ตี้ A กลับมา N 2 เข้ารหัสข้อความด้วยกุญแจสาธารณะของฝ่าย B เพื่อให้แน่ใจว่าฝ่าย A เป็นผู้ตอบ
(4) ผู้เข้าร่วม A เลือกรหัสลับเค ส และส่งข้อความถึงผู้เข้าร่วม B M = E KUb [E กระ [K S ]]. การเข้ารหัสข้อความนี้ด้วยกุญแจสาธารณะของ B ช่วยให้มั่นใจว่ามีเพียง B เท่านั้นที่สามารถอ่านได้ และการเข้ารหัสด้วยรหัสส่วนตัวของ A ช่วยให้มั่นใจว่ามีเพียง A เท่านั้นที่ส่งได้
(5) ฝ่าย B คำนวณ B KU a [ E KRb [ K S ]] เพื่อกู้คืนรหัสลับ
เมื่อแลกเปลี่ยนคีย์ลับ โครงการนี้รับประกันทั้งการรักษาความลับและการรับรองความถูกต้อง
3) โครงการไฮบริด (สามระดับ)
แสดงถึงแนวทางไฮบริดที่ใช้กับเมนเฟรม IBM . โครงการนายหน้านี้เกี่ยวข้องกับการมีส่วนร่วมของศูนย์กระจายคีย์ (KDC) โดยที่ผู้ใช้แต่ละคนแชร์คีย์ลับหลักของตนเอง และการแจกจ่ายคีย์เซสชันลับที่เข้ารหัสโดยมาสเตอร์คีย์ รูปแบบการเข้ารหัสคีย์สาธารณะใช้เพื่อแจกจ่ายมาสเตอร์คีย์. วิธีการสามระดับนี้ขึ้นอยู่กับตรรกะต่อไปนี้:
· ความเร็วของขั้นตอน .
มีแอปพลิเคชั่นมากมายที่จำเป็นต้องเปลี่ยนคีย์เซสชันบ่อยมาก การแจกจ่ายคีย์เซสชันโดยใช้รูปแบบคีย์สาธารณะอาจทำให้ประสิทธิภาพของระบบช้าเกินไป เนื่องจากความต้องการทรัพยากรในการคำนวณที่ค่อนข้างสูงสำหรับการเข้ารหัสและถอดรหัสโดยใช้แบบแผนดังกล่าว ในกรณีของลำดับชั้นสามระดับ การเข้ารหัสคีย์สาธารณะจะใช้เป็นครั้งคราวเพื่อเปลี่ยนมาสเตอร์คีย์เท่านั้น
· ความเข้ากันได้ย้อนหลัง .
โครงการไฮบริดสามารถนำไปใช้อย่างง่ายดายในฐานะส่วนขยายของโครงการที่มีอยู่แล้วซึ่งเกี่ยวข้องกับการใช้ DRC โดยมีการเปลี่ยนแปลงเล็กน้อยในขั้นตอนและซอฟต์แวร์ที่ให้มา
การเพิ่มชั้นของการเข้ารหัสคีย์สาธารณะให้วิธีการที่ปลอดภัยและมีประสิทธิภาพในการกระจายมาสเตอร์คีย์ นี่เป็นข้อได้เปรียบในการกำหนดค่าที่ DSC หนึ่งให้บริการผู้ใช้จำนวนมากโดยอยู่ห่างกันพอสมควร
5. การแลกเปลี่ยนกุญแจ Diffie-Hellman
อัลกอริธึมที่เผยแพร่ครั้งแรกโดยใช้กุญแจสาธารณะ ปรากฏในผลงานของ Diffie และ Hellman ซึ่งมีการกำหนดแนวคิดของการเข้ารหัสคีย์สาธารณะ โดยปกติ อัลกอริทึมนี้เรียกว่าการแลกเปลี่ยนคีย์ Diffie-Hellman. เทคโนโลยีการแลกเปลี่ยนคีย์นี้ถูกนำมาใช้ในผลิตภัณฑ์เชิงพาณิชย์จำนวนหนึ่ง .
วัตถุประสงค์ของโครงการ– มอบโอกาสที่ปลอดภัยให้กับผู้ใช้สองคนในการสื่อสารคีย์ระหว่างกัน เพื่อให้พวกเขาสามารถใช้ในการเข้ารหัสข้อความที่ตามมาได้
ความแข็งแกร่งของการเข้ารหัสของอัลกอริทึม Diffie-Hellman ขึ้นอยู่กับความยากลำบากในการคำนวณลอการิทึมแบบไม่ต่อเนื่อง . อย่างเป็นทางการ ลอการิทึมที่ไม่ต่อเนื่องสามารถกำหนดได้ดังนี้ ขั้นแรก กำหนดรากดั้งเดิมของจำนวนเฉพาะ พี- จำนวน a ยกกำลังซึ่งสร้างจำนวนเต็มทั้งหมดตั้งแต่ 1 ถึง พี-1. ซึ่งหมายความว่าถ้า a เป็นรากดั้งเดิมของจำนวนเฉพาะ p แล้วตัวเลขทั้งหมด
a mod p, a 2 mod p,…, p-1 mod p
ต้องแตกต่างกันและแทนจำนวนเต็มทั้งหมดตั้งแต่ 1 ถึงพี -1 ในการเปลี่ยนแปลงบางอย่าง
การแลกเปลี่ยนคีย์ Diffie-Hellman แสดงไว้ในรูปภาพ ในรูปแบบนี้ มีตัวเลขสองจำนวนที่เปิดให้ทั้งหมด: จำนวนเฉพาะ q และจำนวนเต็ม a ซึ่งเป็นรากดั้งเดิม q . สมมติว่าผู้ใช้ A และ B ตั้งใจที่จะแลกเปลี่ยนคีย์
ผู้ใช้ A เลือกจำนวนเต็มแบบสุ่ม X A< q และคำนวณ Y A =a XA mod q . ในทำนองเดียวกัน ผู้ใช้ B จะเลือกจำนวนเต็มแบบสุ่ม X B< q и вычисляет Y B = a XB mod q . แต่ละด้านเก็บค่าของ X เป็นความลับและสร้างค่า Y อิสระไปอีกด้าน ผู้ใช้ A คำนวณคีย์โดยใช้สูตร K = ( YB ) XA mod q และผู้ใช้ B โดยสูตร K = ( Y A ) X B mod q . เหล่านี้ สูตรการคำนวณสองสูตรให้ผลลัพธ์เหมือนกัน.
ดังนั้นทั้งสองฝ่ายจึงแลกเปลี่ยนกุญแจลับกัน และเนื่องจากในขณะเดียวกัน X A และ X B ก็มีไว้ใช้ส่วนตัวเท่านั้นจึงเก็บเป็นความลับ ศัตรูจะต้องทำงานด้วยเท่านั้น q , ก , X A, X B . ดังนั้นเขาจะต้องคำนวณลอการิทึมแบบไม่ต่อเนื่องเพื่อหาคีย์ ตัวอย่างเช่น เพื่อกำหนดคีย์
หลังจากนั้น เขาจะสามารถคำนวณคีย์ K ได้ในลักษณะเดียวกับที่ผู้ใช้ B ทำ
ความปลอดภัยของการแลกเปลี่ยนคีย์ Diffie-Hellman อาศัยข้อเท็จจริงที่ว่าในขณะที่กำลังโมดูโล จำนวนเฉพาะบางตัวค่อนข้างจะคำนวณได้ง่าย แต่ลอการิทึมแบบแยกส่วนนั้นคำนวณได้ยากมาก สำหรับจำนวนเฉพาะจำนวนมาก ค่าหลังถือเป็นปัญหาที่แก้ไขไม่ได้จริง
ศัตรูรู้ q, ก, ย, ย. ข. ในการพิจารณาคีย์ คุณต้องคำนวณลอการิทึมแบบไม่ต่อเนื่อง
ความซับซ้อนและปลอดภัยเช่นเดียวกับระบบเข้ารหัสลับนั้นขึ้นอยู่กับการใช้คีย์ หากขั้นตอนการแลกเปลี่ยนคีย์เป็นเรื่องเล็กน้อยเพื่อให้แน่ใจว่ามีการแลกเปลี่ยนข้อมูลระหว่างผู้ใช้สองคนอย่างเป็นความลับ ในระบบที่มีจำนวนผู้ใช้หลายสิบและหลายร้อย การจัดการคีย์ถือเป็นปัญหาร้ายแรง
ข้อมูลสำคัญเข้าใจว่าเป็นผลรวมของคีย์ทั้งหมดที่ทำงานในระบบ หากข้อมูลสำคัญไม่ได้รับการจัดการอย่างปลอดภัย เมื่อเข้าครอบครองแล้ว ผู้โจมตีจะสามารถเข้าถึงข้อมูลทั้งหมดได้อย่างไม่จำกัด
การจัดการคีย์เป็นกระบวนการข้อมูลที่มีสามองค์ประกอบ:
การสร้างคีย์;
การสะสมของกุญแจ
การกระจายคีย์
การสร้างคีย์ระบบจริงใช้วิธีฮาร์ดแวร์และซอฟต์แวร์พิเศษเพื่อสร้างคีย์แบบสุ่ม ตามกฎแล้วจะใช้ตัวสร้างตัวเลขสุ่ม อย่างไรก็ตาม ระดับของการสุ่มรุ่นควรสูงเพียงพอ เครื่องกำเนิดไฟฟ้าในอุดมคติคืออุปกรณ์ที่ใช้กระบวนการสุ่มแบบ "ธรรมชาติ" ตัวอย่างเช่น การสร้างคีย์โดยอิงจากสัญญาณรบกวนวิทยุสีขาว วัตถุทางคณิตศาสตร์สุ่มอีกตัวหนึ่งคือตำแหน่งทศนิยมของจำนวนอตรรกยะ เช่น p หรือ e ซึ่งคำนวณโดยใช้วิธีทางคณิตศาสตร์มาตรฐาน
ในระบบที่มีข้อกำหนดด้านความปลอดภัยปานกลาง ซอฟต์แวร์สร้างคีย์เป็นที่ยอมรับ ซึ่งคำนวณตัวเลขสุ่มเป็นฟังก์ชันที่ซับซ้อนของเวลาปัจจุบันและ / หรือตัวเลขที่ผู้ใช้ป้อน
การสะสมคีย์ภายใต้การสะสมของคีย์เป็นที่เข้าใจถึงองค์กรของการจัดเก็บการบัญชีและการลบ
เนื่องจากกุญแจเป็นวัตถุที่น่าดึงดูดที่สุดสำหรับผู้โจมตี ซึ่งเปิดทางให้เขาได้รับข้อมูลที่เป็นความลับ ปัญหาของการสะสมคีย์จึงควรได้รับความสนใจเป็นพิเศษ
ไม่ควรเขียนคีย์ลับอย่างชัดเจนบนสื่อที่สามารถอ่านหรือคัดลอกได้
ในระบบที่ค่อนข้างซับซ้อน ผู้ใช้รายหนึ่งสามารถทำงานกับข้อมูลสำคัญจำนวนมาก และบางครั้งก็จำเป็นต้องจัดระเบียบฐานข้อมูลขนาดเล็กของข้อมูลสำคัญด้วย ฐานข้อมูลดังกล่าวมีหน้าที่ในการยอมรับ จัดเก็บ บันทึก และลบคีย์ที่ใช้
ข้อมูลเกี่ยวกับคีย์ที่ใช้แต่ละรายการจะต้องจัดเก็บในรูปแบบที่เข้ารหัส คีย์ที่เข้ารหัสข้อมูลคีย์เรียกว่ามาสเตอร์คีย์ เป็นที่พึงปรารถนาที่ผู้ใช้แต่ละคนจะรู้จักมาสเตอร์คีย์ด้วยใจและไม่ได้จัดเก็บไว้ในสื่อวัสดุใดๆ เลย
เงื่อนไขที่สำคัญมากสำหรับการรักษาความปลอดภัยข้อมูลคือการอัปเดตข้อมูลสำคัญในระบบเป็นระยะ ในกรณีนี้ ควรกำหนดทั้งคีย์ธรรมดาและมาสเตอร์คีย์ใหม่ ในระบบที่สำคัญอย่างยิ่ง ข้อมูลสำคัญต้องได้รับการปรับปรุงทุกวัน
ปัญหาในการอัปเดตข้อมูลสำคัญยังเกี่ยวข้องกับองค์ประกอบที่สามของการจัดการคีย์ - การกระจายคีย์
การกระจายคีย์การกระจายคีย์เป็นกระบวนการที่สำคัญที่สุดในการจัดการคีย์ มันมีข้อกำหนดสองประการ:
ประสิทธิภาพและความถูกต้องของการกระจายสินค้า
ความลับของคีย์ที่แจกจ่าย
เมื่อเร็ว ๆ นี้มีการเปลี่ยนแปลงอย่างเห็นได้ชัดต่อการใช้ระบบเข้ารหัสคีย์สาธารณะซึ่งปัญหาในการแจกจ่ายคีย์หายไป อย่างไรก็ตาม การกระจายข้อมูลสำคัญในระบบจำเป็นต้องมีโซลูชั่นใหม่ที่มีประสิทธิภาพ
การกระจายคีย์ระหว่างผู้ใช้ถูกนำไปใช้โดยสองวิธีที่แตกต่างกัน:
1 โดยการสร้างศูนย์กระจายสินค้าหลักตั้งแต่หนึ่งแห่งขึ้นไป ข้อเสียของวิธีนี้คือศูนย์กระจายสินค้ารู้ว่าใครและคีย์ใดได้รับมอบหมาย วิธีนี้ทำให้คุณสามารถอ่านข้อความทั้งหมดที่หมุนเวียนอยู่ในระบบได้ การล่วงละเมิดที่อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการคุ้มครอง
2 การแลกเปลี่ยนคีย์โดยตรงระหว่างผู้ใช้ระบบ ในกรณีนี้ ปัญหาคือการรับรองความถูกต้องของอาสาสมัคร
ในทั้งสองกรณี ต้องรับประกันความถูกต้องของเซสชันการสื่อสาร สามารถทำได้สองวิธี:
1 กลไกการตอบรับคำขอ ซึ่งมีรายละเอียดดังนี้ หากผู้ใช้ A ต้องการให้แน่ใจว่าข้อความที่เขาได้รับจากผู้ใช้ B ไม่ใช่ข้อความเท็จ เขารวมองค์ประกอบที่คาดเดาไม่ได้ (คำขอ) ไว้ในข้อความที่ส่งถึง B เมื่อตอบ ผู้ใช้ B ต้องดำเนินการบางอย่างกับองค์ประกอบนี้ (เช่น เพิ่ม 1) ไม่สามารถทำได้ล่วงหน้าเนื่องจากไม่ทราบว่าจะมีหมายเลขสุ่มอะไรในคำขอ หลังจากได้รับการตอบกลับพร้อมผลลัพธ์ของการดำเนินการแล้ว ผู้ใช้ A สามารถมั่นใจได้ว่าเซสชันนั้นเป็นของแท้ ข้อเสียของวิธีนี้คือความสามารถในการสร้าง แม้ว่าจะซับซ้อน รูปแบบระหว่างคำขอและการตอบกลับ
2 กลไกการประทับเวลา หมายถึงการกำหนดเวลาสำหรับแต่ละข้อความ ในกรณีนี้ ผู้ใช้แต่ละรายของระบบสามารถทราบได้ว่าข้อความขาเข้า "เก่า" เพียงใด
ในทั้งสองกรณี ควรใช้การเข้ารหัสเพื่อให้แน่ใจว่าไม่มีการตอบกลับโดยผู้โจมตี และไม่มีการเปลี่ยนแปลงการประทับเวลา
เมื่อใช้การประทับเวลา จะมีปัญหากับช่วงเวลาหน่วงเวลาที่อนุญาตสำหรับการตรวจสอบสิทธิ์เซสชัน โดยหลักการแล้วข้อความที่มีการประทับเวลาไม่สามารถส่งได้ในทันที นอกจากนี้ นาฬิกาคอมพิวเตอร์ของผู้รับและผู้ส่งไม่สามารถซิงโครไนซ์ได้อย่างสมบูรณ์
ระบบเข้ารหัสคีย์สาธารณะสามารถใช้สำหรับการแลกเปลี่ยนคีย์โดยใช้อัลกอริธึม RSA เดียวกัน
แต่อัลกอริธึม Diffie-Hellman กลับกลายเป็นว่ามีประสิทธิภาพมาก ทำให้ผู้ใช้สองคนสามารถแลกเปลี่ยนคีย์ได้โดยไม่ต้องใช้ตัวกลาง ซึ่งสามารถใช้สำหรับการเข้ารหัสแบบสมมาตรได้
อัลกอริธึม Diffie-Hellman Diffie และ Helman เสนอฟังก์ชันการยกกำลังแบบไม่ต่อเนื่องสำหรับการสร้างระบบเข้ารหัสคีย์สาธารณะ
การกลับไม่ได้ของการเปลี่ยนแปลงในกรณีนี้ทำให้แน่ใจได้ด้วยความจริงที่ว่าการคำนวณฟังก์ชันเลขชี้กำลังในสนามกาโลอิสจำกัดที่ประกอบด้วยองค์ประกอบ p นั้นค่อนข้างง่าย ( พีเป็นไพรม์หรือไพรม์ของกำลังใดๆ) การคำนวณลอการิทึมในฟิลด์ดังกล่าวเป็นการดำเนินการที่ใช้เวลานานกว่ามาก
ในการแลกเปลี่ยนข้อมูล ผู้ใช้คนแรกจะสุ่มเลือกหมายเลข x 1 , สมของจำนวนเต็มตั้งแต่ 1 ถึง พี– 1. เขาเก็บหมายเลขนี้เป็นความลับ และส่งหมายเลขไปยังผู้ใช้รายอื่น y 1 = โดยที่ α เป็นองค์ประกอบคงที่ของสนามกาโลส์ GF(พี) ซึ่งร่วมกับ p ถูกแจกจ่ายล่วงหน้าในหมู่ผู้ใช้
ผู้ใช้คนที่สองทำเช่นเดียวกัน สร้าง x 2 และการคำนวณ y 2 ส่งไปยังผู้ใช้รายแรก ส่งผลให้ทั้งคู่สามารถคำนวณรหัสลับที่ใช้ร่วมกันได้ k 12 = .
เพื่อที่จะคำนวณ k 12 , ผู้ใช้คนแรกยก y 2 สู่อำนาจ x 1 แล้วหาเศษที่เหลือหารด้วย พี. ผู้ใช้คนที่สองทำเช่นเดียวกัน ใช้เฉพาะ y 1 และ x 2. ดังนั้น ผู้ใช้ทั้งสองจึงมีคีย์ร่วมกัน k 12 ซึ่งสามารถใช้ในการเข้ารหัสข้อมูลด้วยอัลกอริธึมทั่วไป อัลกอริธึมนี้ไม่เข้ารหัสข้อมูลจริงไม่เหมือนกับอัลกอริธึม RSA
โดยไม่รู้ตัว x 1 และ x 2 ผู้โจมตีอาจพยายามคำนวณ k 12 รู้แต่ถูกสกัดกั้น y 1 และ y 2. ความเท่าเทียมกันของปัญหานี้กับปัญหาการคำนวณลอการิทึมที่ไม่ต่อเนื่องเป็นคำถามสำคัญและเปิดกว้างในระบบกุญแจสาธารณะ ยังไม่พบวิธีแก้ปัญหาง่ายๆ ดังนั้น หากการแปลงโดยตรงของจำนวนเฉพาะ 1,000 บิตต้องใช้การดำเนินการ 2,000 ครั้ง การแปลงผกผัน (การคำนวณลอการิทึมในฟิลด์ Galois) จะต้องใช้การดำเนินการประมาณ 1,030 ครั้ง
ดังที่เห็นได้ชัดเจน แม้ว่าอัลกอริธึม Diffie-Hellman จะเรียบง่าย แต่ข้อเสียเมื่อเทียบกับระบบ RSA คือไม่มีขอบเขตล่างที่รับประกันความซับซ้อนของการเปิดเผยคีย์
นอกจากนี้ แม้ว่าอัลกอริธึมที่อธิบายไว้จะหลีกเลี่ยงปัญหาในการส่งคีย์ที่ซ่อนอยู่ แต่ความจำเป็นในการรับรองความถูกต้องยังคงอยู่ หากไม่มีเงินทุนเพิ่มเติม ผู้ใช้รายหนึ่งไม่สามารถแน่ใจได้ว่าเขาแลกเปลี่ยนกุญแจกับผู้ใช้ที่เขาต้องการ