อ่าน 3 นาที
ไมค์กี้
Multimedia Internet KEYing (MIKEY) เป็น โปรโตคอล การจัดการคีย์ ที่ออกแบบมาเพื่อใช้กับแอปพลิเคชันแบบเรียลไทม์ โดยเฉพาะอย่างยิ่งสามารถใช้ในการตั้ง ค่าคีย์การเข้ารหัส...
ไมค์กี้
Multimedia Internet KEYing (MIKEY)เป็น โปรโตคอล การจัดการคีย์ที่ออกแบบมาเพื่อใช้กับแอปพลิเคชันแบบเรียลไทม์ โดยเฉพาะอย่างยิ่งสามารถใช้ในการตั้งค่าคีย์การเข้ารหัสสำหรับเซสชันมัลติมีเดียที่ได้รับการรักษาความปลอดภัยโดยใช้SRTPซึ่งเป็นโปรโตคอลความปลอดภัยที่ใช้กันทั่วไปในการรักษาความปลอดภัยการสื่อสารแบบเรียลไทม์ เช่น VoIP
MIKEY ได้รับการกำหนด ไว้ ครั้งแรกในRFC 3830โหมด MIKEY เพิ่มเติมได้รับการกำหนดไว้ในRFC 4650 , RFC 4738 , RFC 6043 , RFC 6267และRFC 6509
วัตถุประสงค์ของ MIKEY
ตามที่อธิบายไว้ใน RFC 3830 โปรโตคอล MIKEY มีจุดประสงค์เพื่อรักษาความปลอดภัยแบบ end-to-end ระหว่างผู้ใช้เพื่อสนับสนุนการสื่อสาร โดยจะใช้คีย์เซสชัน ร่วมกัน ซึ่งเรียกว่า Traffic Encryption Key (TEK) ระหว่างผู้เข้าร่วมในเซสชันการสื่อสาร นอกจากนี้ โปรโตคอล MIKEY ยังสามารถตรวจสอบความถูกต้องของผู้เข้าร่วมในการสื่อสารได้อีกด้วย
MIKEY มีวิธีการ มากมาย ในการแชร์รหัสเซสชันและตรวจสอบสิทธิ์ผู้เข้าร่วม
การนำ MIKEY ไปใช้ในทางปฏิบัติ
MIKEY ใช้สำหรับจัดการกุญแจเพื่อรักษาความปลอดภัยของโปรโตคอลการสื่อสาร มัลติมีเดีย ดังนั้น การแลกเปลี่ยน MIKEY จึงมักเกิดขึ้นภายในโปรโตคอลการส่งสัญญาณที่รองรับการสื่อสารนั้น
การตั้งค่าทั่วไปคือ MIKEY จะรองรับ Secure VoIP โดยการจัดเตรียมกลไกการจัดการคีย์สำหรับโปรโตคอล VoIP (SRTP) การจัดการคีย์จะดำเนินการโดยการรวมข้อความ MIKEY ไว้ใน เนื้อหา SDPของข้อความสัญญาณSIP [ 1 ]
กรณีศึกษา
MIKEY พิจารณาถึงวิธีการรักษาความปลอดภัยในกรณีการใช้งานต่อไปนี้:
- การสื่อสารแบบตัวต่อตัว
- การสื่อสารในการประชุม
- การออกอากาศกลุ่ม
- โอนสาย
- เรียก Forking
- การส่งล่าช้า (ข้อความเสียง)
ไม่ใช่ทุกวิธีการของ MIKEY ที่จะรองรับทุกกรณีการใช้งาน แต่ละวิธีการของ MIKEY ยังมีข้อดีและข้อเสียที่แตกต่างกันไปในแง่ของการรองรับฟีเจอร์ ความซับซ้อนในการคำนวณ และความล่าช้าในการตั้งค่าการสื่อสาร
วิธีการขนส่งและแลกเปลี่ยนที่สำคัญ
MIKEY รองรับวิธีการตั้งค่ารหัสลับทั่วไป (เพื่อใช้เป็นรหัสเซสชันหรือKEK เซสชัน เป็นต้น ) ได้แปดวิธีด้วยกัน:
- คีย์ที่ใช้ร่วมกันล่วงหน้า (MIKEY-PSK) : นี่เป็นวิธีที่มีประสิทธิภาพที่สุดในการจัดการการส่งรหัสลับร่วม เนื่องจาก ใช้ การเข้ารหัสแบบสมมาตร เท่านั้น และมีข้อมูลที่ต้องแลกเปลี่ยนเพียงเล็กน้อย อย่างไรก็ตาม ต้องมีการแบ่งปันคีย์เฉพาะกับทุกฝ่าย ซึ่งนำไปสู่ปัญหาด้านความสามารถในการขยายขนาดสำหรับกลุ่มผู้ใช้ขนาดใหญ่
- กุญแจสาธารณะ (MIKEY-PK) : รหัสลับร่วมจะถูกแลกเปลี่ยนโดยใช้การเข้ารหัสด้วยกุญแจสาธารณะในระบบขนาดใหญ่ จำเป็นต้องใช้ PKIเพื่อจัดการการแจกจ่ายกุญแจสาธารณะอย่างปลอดภัย
- ดิฟฟี-เฮลแมน (MIKEY-DH) :การแลกเปลี่ยนคีย์แบบดิฟฟี-เฮลแมนถูกใช้เพื่อสร้างรหัสลับร่วม (Common Secret) วิธีนี้มีการใช้ทรัพยากร (ทั้งเวลาในการคำนวณและแบนด์วิดท์) สูงกว่าวิธีอื่นๆ แต่มีข้อดีคือให้ความลับแบบส่งต่อที่สมบูรณ์แบบ (Perfect Forward Secrecy) นอกจากนี้ยังสามารถใช้งานได้โดยไม่ต้องใช้ PKI ใดๆ
- DH-HMAC (MIKEY-DHHMAC) (HMAC-Authenticated Diffie–Hellman): นี่คือเวอร์ชันน้ำหนักเบาของ Diffie–Hellman MIKEY: แทนที่จะใช้ใบรับรองและลายเซ็น RSA มันใช้HMACในการตรวจสอบความถูกต้องของทั้งสองส่วนซึ่งกันและกัน DH-HMAC ได้รับการกำหนดไว้ใน RFC 4650
- RSA-R (MIKEY-RSA-R) (Reverse RSA ): การแลกเปลี่ยนรหัสลับร่วม (Common Secret) ทำได้โดยใช้การเข้ารหัสด้วยกุญแจสาธารณะโดยไม่ต้องใช้ PKI ใดๆ กล่าวคือ ผู้เริ่มต้นส่งกุญแจ RSA สาธารณะของตนไปยังผู้ตอบ ซึ่งผู้ตอบจะตอบกลับโดยเลือกรหัสลับร่วม แล้วส่งกลับไปยังผู้เริ่มต้นโดยเข้ารหัสด้วยกุญแจสาธารณะของผู้เริ่มต้น RSA-R ถูกกำหนดไว้ใน RFC 4738
- TICKET (MIKEY-TICKET) : รูปแบบการแจกจ่ายคีย์แบบใช้ตั๋วในระบบการเข้ารหัสคีย์มัลติมีเดียทางอินเทอร์เน็ต (MIKEY) MIKEY-TICKET ถูกกำหนดไว้ใน RFC 6043
- IBAKE (MIKEY-IBAKE) : โหมดการแจกจ่ายคีย์แบบแลกเปลี่ยนคีย์ที่ตรวจสอบความถูกต้องโดยอิงตามตัวตน (IBAKE) ในระบบคีย์มัลติมีเดียอินเทอร์เน็ต (MIKEY) MIKEY-IBAKE ได้รับการกำหนดไว้ใน RFC 6267
- SAKKE (MIKEY-SAKKE) : การเข้ารหัสคีย์ Sakai-Kasahara ในระบบคีย์มัลติมีเดียอินเทอร์เน็ต (MIKEY) เป็นวิธีการแลกเปลี่ยนคีย์ที่ตรวจสอบความถูกต้องโดยอิงตามตัวตน MIKEY-SAKKE ได้รับการกำหนดไว้ใน RFC 6509
ข้อความ MIKEY
วิธีการส่วนใหญ่ของ MIKEY กำหนดให้ผู้เริ่มต้นส่งข้อความไปยังผู้เข้าร่วม (I_MESSAGE) และผู้รับตอบกลับด้วยข้อความอีกข้อความหนึ่ง (R_MESSAGE) เมื่อการแลกเปลี่ยนนี้เสร็จสมบูรณ์ ผู้เข้าร่วมสามารถสร้างคีย์เซสชันได้ แต่MIKEY-SAKKEไม่จำเป็นต้องใช้ R_MESSAGE
เนื้อหาข้อความของ MIKEY
ข้อความ MIKEY ประกอบด้วยส่วนข้อมูลหลายส่วน แต่ละส่วนข้อมูลจะอธิบายส่วนข้อมูลถัดไปในข้อความ MIKEY ด้วยวิธีนี้ โปรโตคอล MIKEY จึงแสดงให้เห็นถึงความยืดหยุ่นในการขยายและปรับเปลี่ยนได้
ส่วนแรกที่ส่งไปคือส่วนหัวทั่วไป (Common Header หรือ HDR) เสมอ ส่วนนี้จะระบุเวอร์ชันของโปรโตคอล MIKEY วิธีการที่ใช้ (ชนิดข้อมูล) ว่าจำเป็นต้องมีการตอบกลับหรือไม่ และระบุเซสชันการเข้ารหัสที่จะสร้างขึ้นผ่านการแลกเปลี่ยนข้อมูล
นอกจากนี้ ยังมีการกำหนดเพย์โหลดเพิ่มเติมโดยวิธีการ MIKEY ที่ใช้งานอยู่ โดยส่วนใหญ่มักจะรวมถึงเพย์โหลดข้อมูลต่างๆ เช่น:
- เพย์โหลดที่มีการประทับเวลา (T) - ซึ่งประกอบด้วยเวลา จึงช่วยป้องกันการโจมตีแบบเล่นซ้ำได้
- เพย์โหลดระบุตัวตน (ID) - ข้อมูลนี้ใช้ระบุตัวผู้เข้าร่วม เพย์โหลดประเภทนี้ยังสามารถมีใบรับรอง (CERT) ได้ด้วย ซึ่งใน RFC 6043 ได้ขยายเพิ่มเติมให้รวม 'บทบาท' ของผู้ใช้เป็นส่วนหนึ่งของ ID (IDR) ด้วย
- RAND payload (RAND) - นี่คือข้อมูลสุ่มที่ใช้ในการเพิ่มค่าความน่าเชื่อถือให้กับการสร้างคีย์หลังการแลกเปลี่ยน
- นโยบายความปลอดภัย (SP) - ส่วนนี้ประกอบด้วยชุดนโยบายความปลอดภัยที่จำกัด เพื่อสนับสนุนการสื่อสาร
- แฮชใบรับรอง (CHASH) - แฮชที่บ่งบอกถึงใบรับรองที่ใช้สำหรับการเข้ารหัสแบบกุญแจสาธารณะ
นอกจากนี้ ข้อความ MIKEY จะมีอย่างน้อยหนึ่งเพย์โหลดซึ่งบรรจุข้อมูลสำคัญ ได้แก่:
- การส่งข้อมูลคีย์ (KEMAC) - คือการห่อหุ้มคีย์โดยการเข้ารหัสโดยใช้รหัสลับที่ใช้ร่วมกันล่วงหน้า ซึ่งได้รับการขยายเพิ่มเติมโดย RFC 4650 เพื่อรองรับ Diffie–Hellman ที่มีการตรวจสอบความถูกต้อง (DHHMAC)
- ดิฟฟี-เฮลแมน (DH) - ข้อมูลนี้ประกอบด้วยข้อมูลการเข้ารหัสลับที่สนับสนุนโปรโตคอลดิฟฟี-เฮลแมน
- ข้อมูลซองจดหมาย (PKE) - เป็นรูปแบบที่ห่อหุ้มกุญแจโดยใช้การเข้ารหัสกุญแจสาธารณะซึ่งได้รับการขยายเพิ่มเติมโดย RFC 4738 และ RFC 6267
- Sakai-Kasahara (SAKKE) - โปรโตคอลนี้จะห่อหุ้มกุญแจโดยใช้ โปรโตคอล Sakai-Kasahara ที่อิงตามเอกลักษณ์ ซึ่งกำหนดไว้ใน RFC 6509
- ตั๋ว (TICKET) - เป็นโทเค็นเข้ารหัสลับที่ใช้ขอข้อมูลสำคัญจากเซิร์ฟเวอร์ภายนอก (KMS) ตามที่กำหนดไว้ใน RFC 6043
สุดท้ายนี้ ข้อความ MIKEY อาจมีข้อมูลยืนยันตัวตนอยู่ด้วย ซึ่งได้แก่:
- ลายเซ็น (SIGN) - ลายเซ็นบนข้อความ MIKEY
- การตรวจสอบ (V) - รหัส MAC ที่ผู้รับส่งมาเพื่อยืนยันการรับ
ดูเพิ่มเติม
- ZRTP - ทางเลือกแทน MIKEY ในฐานะโปรโตคอลการตกลงรหัสลับสำหรับ SRTP
- คำอธิบายความปลอดภัยของโปรโตคอลคำอธิบายเซสชัน SDESสำหรับสตรีมสื่อ
- โปรโตคอลข้อตกลงหลัก
- ระบบแลกเปลี่ยนคีย์อินเทอร์เน็ต (IKE): อีกหนึ่งโปรโตคอลการจัดการคีย์
- wolfSSL : ไลบรารี SSL/TLS ที่ผสานรวมเข้ากับ MIKEY SAKKE