IPsec เป็นกรอบของเทคนิคที่ใช้ ปลอดภัยการเชื่อมต่อระหว่างสองจุด. มันย่อมาจาก Internet Protocol Security และเห็นบ่อยที่สุดใน VPN มันอาจค่อนข้างซับซ้อน แต่เป็นตัวเลือกที่มีประโยชน์สำหรับการรักษาความปลอดภัยการเชื่อมต่อในบางสถานการณ์.
คู่มือนี้แบ่ง IPsec ออกเป็นกลุ่มง่าย ๆ ให้คำแนะนำที่ครอบคลุมว่าโปรโตคอลคืออะไรมันทำงานอย่างไรและปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น.
IPsec: ภาพรวม
IPsec ได้รับการพัฒนาในขั้นต้นเนื่องจากโปรโตคอลอินเทอร์เน็ตที่พบมากที่สุดคือ IPv4 ไม่มีข้อกำหนดด้านความปลอดภัยจำนวนมากในสถานที่. ข้อมูลที่ส่งผ่าน IPv4 สามารถถูกดักจับแก้ไขหรือหยุดได้อย่างง่ายดาย, ซึ่งทำให้ระบบไม่ดีสำหรับการส่งสัญญาณสำคัญ ๆ.
จำเป็นต้องมีชุดมาตรฐานใหม่เพื่อปกป้องข้อมูล IPsec เติมเต็มช่องว่างนี้โดยทำหน้าที่เป็นกรอบที่สามารถรับรองความถูกต้องของการเชื่อมต่อตลอดจนพิสูจน์ความสมบูรณ์ของข้อมูลและทำให้เป็นความลับ. IPsec เป็นมาตรฐานแบบเปิดที่ทำงานในระดับเครือข่าย. สามารถใช้เพื่อถ่ายโอนข้อมูลอย่างปลอดภัยจากโฮสต์ไปยังโฮสต์เครือข่ายไปยังเครือข่ายหรือระหว่างเครือข่ายและโฮสต์.
IPsec มักใช้เพื่อป้องกันการรับส่งข้อมูลที่ผ่าน IPv4 เริ่มแรกมีข้อกำหนดสำหรับการใช้งานโพรโทคอลอินเทอร์เน็ตรุ่นใหม่ IPv6 เพื่อรองรับ IPsec อย่างไรก็ตามเรื่องนี้ตอนนี้มันเป็นเพียงคำแนะนำและไม่ได้บังคับใช้.
ตามกรอบ IPsec ประกอบด้วยองค์ประกอบหลักสามประการ สองคนแรกเป็นโปรโตคอล, Encapsulating Security Payload (ESP) และส่วนหัวการรับรองความถูกต้อง (AH) สมาคมความปลอดภัย (SAs) เป็นแง่มุมสุดท้าย.
ESP สามารถใช้เพื่อเข้ารหัสและตรวจสอบข้อมูลในขณะที่ AH สามารถใช้เพื่อตรวจสอบสิทธิ์เท่านั้น โดยปกติตัวเลือกทั้งสองจะใช้แยกกันแม้ว่าจะสามารถใช้ร่วมกันได้ก็ตาม.
IPsec ใช้ SAs เพื่อสร้างพารามิเตอร์ของการเชื่อมต่อ. พารามิเตอร์เหล่านี้รวมถึงระบบการจัดการที่สำคัญซึ่งแต่ละฝ่ายจะใช้ในการตรวจสอบซึ่งกันและกันรวมถึงอัลกอริทึมการเข้ารหัสอัลกอริทึมการแฮชและองค์ประกอบอื่น ๆ ที่มีความสำคัญสำหรับการปฏิบัติการเชื่อมต่อที่ปลอดภัยและมั่นคง.
IPsec สามารถใช้ทั้ง ESP และ AH ได้ทั้งในโหมด tunnel หรือ transport. เมื่อใช้โหมดทันเนลแพ็กเก็ตข้อมูลทั้งหมดจะถูกเข้ารหัสหรือรับรองความถูกต้อง (หรือทั้งสองอย่าง) ส่วนของข้อมูลส่วนหัวและส่วนท้าย (รวมอยู่ในแพ็คเกจ) จะถูกรวบรวมไว้ในชุดข้อมูลอื่นเพื่อป้องกัน.
ในโหมดการขนส่งส่วนหัวเดิมจะยังคงอยู่ แต่จะมีการเพิ่มส่วนหัวใหม่ภายใต้ นอกจากนี้ยังมีการเปลี่ยนแปลงอื่น ๆ ขึ้นอยู่กับว่ากำลังใช้ ESP หรือ AH สิ่งนี้ทำหน้าที่ป้องกันแพ็คเก็ตอย่างไรก็ตามข้อมูลบางอย่างยังคงมีให้สำหรับผู้โจมตี.
การกำหนดค่าทั่วไปที่เราเห็นคือ ESP พร้อมการรับรองความถูกต้องในโหมดทันเนล. นี่คือสิ่งที่หลาย VPNs พึ่งพาข้อมูลที่ปลอดภัย มันทำหน้าที่เหมือนอุโมงค์ที่เข้ารหัสทำให้ข้อมูลปลอดภัยเมื่อผ่านเครือข่ายกลางที่อาจเป็นอันตราย.
ประวัติความเป็นมาของ IPsec
ในยุคแรก ๆ ของอินเทอร์เน็ตความปลอดภัยไม่ได้มีความสำคัญในหลาย ๆ สถานการณ์ นี่เป็นเพราะชุมชนอินเทอร์เน็ตถูก จำกัด เฉพาะผู้ที่มีความรู้ทรัพยากรและต้องการใช้งาน จำนวนผู้ใช้งานมีขนาดเล็กเมื่อเปรียบเทียบกับยุคปัจจุบันและมีการส่งข้อมูลจำนวนน้อยมาก ด้วยเหตุนี้ผู้โจมตีจึงมีโอกาสน้อยลง.
เมื่อชุมชนเติบโตขึ้นและอินเทอร์เน็ตก็เริ่มมีบทบาทมากขึ้น, ความปลอดภัยกลายเป็นสิ่งจำเป็นมากขึ้น. ในช่วงแปดปีที่ผ่านมา NSA ใช้โปรแกรม Secure Data Network Systems (SDNS) เพื่อสนับสนุนการพัฒนาโปรโตคอลที่มุ่งเน้นความปลอดภัยจำนวนหนึ่ง.
ผลลัพธ์ถูกเผยแพร่โดยสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) ในปี 1988 หนึ่งในโปรโตคอลที่ระบุโดย NIST, โปรโตคอลความปลอดภัยที่ชั้น 3 (SP3), ท้ายที่สุดก็กลายเป็นมาตรฐานอินเทอร์เน็ต โปรโตคอลความปลอดภัยเลเยอร์เครือข่าย (NLSP).
เมื่อเวลาผ่านไปองค์กรต่าง ๆ เริ่มปรับปรุง SP3 ด้วยโครงการที่ดำเนินการโดย US Naval Research Lab (NRL), AT&T Bell Labs ระบบข้อมูลที่น่าเชื่อถือและอื่น ๆ ในเวลาเดียวกันความก้าวหน้าอื่น ๆ เช่นไดรเวอร์อุปกรณ์สำหรับ Data Encryption Standard (DES) ทำให้สามารถส่งข้อมูลระหว่างชายฝั่งของสหรัฐอเมริกาได้อย่างปลอดภัยด้วยความเร็วที่เหมาะสมในช่วงเวลา.
หากการพัฒนาเหล่านี้ถูกปล่อยให้ดำเนินการแยกกันก็จะนำไปสู่ ปัญหาการทำงานร่วมกันระหว่างระบบต่างๆ. Internet Engineering Task Force (IETF) ได้จัดตั้งคณะทำงานด้านความปลอดภัยของ IP เพื่อสร้างมาตรฐานการพัฒนาเหล่านี้ให้เป็นโปรโตคอลที่ทำงานร่วมกันได้ ในปี 1995 IETF เผยแพร่รายละเอียดของมาตรฐาน IPsec ใน RFC 1825, RFC 1826 และ RFC 1827.
NRL เป็นคนแรกที่เกิดขึ้นพร้อมกับการใช้งานมาตรฐานซึ่งได้นำไปใช้เป็นหลัก ในช่วงหลายปีที่ผ่านมามีการอัปเดตจำนวนมากสำหรับ IPsec และเอกสารประกอบ แต่ก็ยังคงมีการปรับใช้เพื่อรับรองความถูกต้องทั้งสองด้านของการเชื่อมต่อและรักษาความปลอดภัยข้อมูลที่เดินทางระหว่าง.
IPsec ทำงานอย่างไร?
ก่อนที่เราจะได้รับรายละเอียดทางเทคนิคของ IPsec และโหมดที่แตกต่างกันมากขึ้นเราจะพูดถึงมันผ่านการเปรียบเทียบที่ทำให้ง่ายต่อการมองเห็นการกำหนดค่าที่ค่อนข้างซับซ้อน ก่อนอื่นคุณต้องเข้าใจนิดหน่อยว่าแพ็คเก็ตทำงานอย่างไรกับ IPv4 และปัญหาความปลอดภัยที่เกี่ยวข้อง.
แพ็กเก็ตข้อมูลคืออะไรและทำงานอย่างไร?
ข้อมูลถูกส่งเป็นแพ็กเก็ตซึ่งประกอบด้วย เพย์โหลดและส่วนหัวใน IPv4. เพย์โหลดเป็นข้อมูลตัวเองที่ถูกส่งในขณะที่ส่วนหัวรวมถึงประเภทของโปรโตคอลที่อยู่และข้อมูลอื่น ๆ ที่จำเป็นเพื่อให้แน่ใจว่าข้อมูลสามารถมาถึงสถานที่ที่ต้องการ.
หนึ่งในวิธีที่ดีที่สุดในการทำแพ็กเก็ตข้อมูลคือการคิดว่าเป็นโปสการ์ด เพย์โหลดเป็นข้อความที่มีคนเขียนด้านหลังและส่วนหัวเป็นข้อมูลการจัดส่งที่คุณใส่ไว้ด้านหน้า เช่นเดียวกับไปรษณียบัตรข้อมูลที่ส่งในแพ็คเก็ต IPv4 ปกติไม่ปลอดภัยมาก.
ในแพ็กเก็ตมาตรฐานเหล่านี้, ทุกคนสามารถดูเพย์โหลด, เช่นเดียวกับบุรุษไปรษณีย์หรือผู้โจมตีที่ขัดขวางโปสการ์ดของคุณสามารถอ่านได้ แพ็คเก็ตเหล่านี้สามารถปรับเปลี่ยนได้ราวกับว่าคุณได้เขียนโปสการ์ดในขั้นต้นด้วยดินสอและผู้โจมตีลบข้อความต้นฉบับและเขียนเป็นอย่างอื่น.
ผู้โจมตีสามารถดูข้อมูลส่วนหัวได้, เหมือนกับด้านหน้าของโปสการ์ด สิ่งนี้ทำให้พวกเขารู้ว่าคุณกำลังสื่อสารกับใครและคุณกำลังทำอะไรอยู่ พวกเขายังสามารถปลอมแพ็คเก็ต IPv4 ของพวกเขาเองเพื่อให้ดูเหมือนว่าคุณส่งไปซึ่งเป็นจำนวนมากเช่นถ้าพวกเขาคัดลอกสไตล์การเขียนด้วยลายมือของคุณและแกล้งทำเป็นคุณ.
อย่างที่คุณเห็นนี่เป็นวิธีการสื่อสารที่ปลอดภัยแทบจะไม่และมีหลายวิธีที่ผู้โจมตีสามารถหยุดชะงักได้ นี่คือสิ่งที่นำไปสู่การพัฒนาของ IPsec ผมไม่มีวิธีการตรวจสอบการเชื่อมต่อพิสูจน์ความถูกต้องของข้อมูลและเก็บเป็นความลับทั้งหมดในระดับเครือข่าย. หากไม่มี IPsec หรือโปรโตคอลความปลอดภัยอื่น ๆ ผู้โจมตีจะสามารถดูหรือแก้ไขข้อมูลที่ละเอียดอ่อนและมีค่าใด ๆ ที่ถูกดักไว้.
Encapsulating Security Payload (ESP): การสร้างภาพข้อมูล
เราจะพูดถึง ESP ก่อนเพราะนี่เป็นโปรโตคอลที่ใช้กันมากขึ้น เมื่อมีการใช้งานกับการรับรองความถูกต้องในโหมดทันเนลจะใช้ในการสร้าง VPN ที่ เชื่อมต่อโฮสต์และเครือข่ายอย่างปลอดภัยผ่านเครือข่ายระดับกลางที่ไม่ปลอดภัย ที่อยู่ในระหว่าง.
ตามที่คุณเห็นข้างต้นไม่ปลอดภัยในการส่งข้อมูลที่สำคัญด้วย IPv4 โหมด ESP ของ IPsec แก้ปัญหานี้ได้โดยให้วิธีการ เข้ารหัสข้อมูล, ซึ่งทำให้ข้อมูลเป็นความลับและป้องกันไม่ให้ผู้โจมตีสามารถเข้าถึงได้ ESP สามารถใช้ตรวจสอบข้อมูลซึ่งสามารถพิสูจน์ความถูกต้องของข้อมูลได้.
เมื่อ ESP ถูกใช้กับการเข้ารหัสมันก็เหมือนกับการวางโปสการ์ดไว้ในกล่องที่ถูกล็อคและส่งผ่านทางผู้ให้บริการจัดส่ง ไม่มีใครสามารถดูเนื้อหาของโปสการ์ดและไม่สามารถแก้ไขได้ พวกเขาสามารถเห็นข้อมูลการเขียนจดหมายอะไรก็ได้ที่อยู่ในกล่องล็อค แต่สิ่งนี้แตกต่างจากที่เขียนไว้ในไปรษณียบัตร.
หากมีการใช้งาน ESP กับการตรวจสอบความถูกต้องมันก็เหมือนกับการเซ็นต์โปสการ์ดหรือใส่ตราประทับส่วนตัวของคุณไว้ก่อนที่จะวางลงในกล่อง เมื่อผู้รับได้รับกล่องล็อคพวกเขาสามารถเปิดขึ้นและนำโปสการ์ดออกมาได้ เมื่อพวกเขาเห็นตราประทับหรือลายเซ็นพวกเขาก็รู้ว่าโปสการ์ดนั้นถูกต้องตามกฎหมายจากคุณ.
เมื่อ ESP อยู่ในโหมดการขนส่งราวกับว่าไปรษณียบัตรถูกล็อคในกล่องและส่งโดยผู้ให้บริการยกเว้นกล่องนั้นจะมีหน้าต่างที่ชัดเจนซึ่งคุณสามารถดูข้อมูลที่อยู่ของโปสการ์ดได้ เมื่ออยู่ในโหมดอุโมงค์ดูเหมือนว่าไปรษณียบัตรอยู่ในกล่องทึบโดยมีข้อมูลที่อยู่ด้านนอกแตกต่างกัน.
แน่นอนนี่เป็นเพียงการเปรียบเทียบเพื่อช่วยให้คุณเห็นภาพว่าเกิดอะไรขึ้น ในความเป็นจริงมีบางอย่าง ความแตกต่างอย่างมีนัยสำคัญค่อนข้างเช่นข้อมูลที่เดินทางระหว่างเครือข่ายและโฮสต์, มากกว่าแค่คนหนึ่งกำลังส่งข้อมูลไปยังอีกคนหนึ่ง.
Encapsulating Security Payload (ESP): รายละเอียดทางเทคนิค
ตอนนี้เราได้ให้คุณทราบคร่าวๆว่า ESP ทำงานอย่างไรเพื่อปกป้องข้อมูลได้เวลาที่จะมองในระดับทางเทคนิคที่มากขึ้น. ESP สามารถใช้กับอัลกอริธึมการเข้ารหัสที่หลากหลาย, ด้วย AES เป็นหนึ่งในความนิยมมากที่สุด สามารถนำไปใช้งานได้โดยไม่ต้องเข้ารหัสแม้ว่าจะทำได้ยากในทางปฏิบัติ ส่วนหัวของแพ็กเก็ตข้อมูล ESP มีดัชนีความปลอดภัยพารามิเตอร์ (SPI) และหมายเลขลำดับ.
SPI เป็นตัวระบุที่ให้ผู้รับทราบว่าการเชื่อมต่อข้อมูลเกี่ยวข้องกับอะไรรวมถึงพารามิเตอร์ของการเชื่อมต่อนั้น หมายเลขลำดับคือตัวบ่งชี้อื่นซึ่งช่วยป้องกันผู้โจมตีจากการแก้ไขแพ็กเก็ตข้อมูล.
ESP ยังมีตัวอย่างซึ่งประกอบด้วยการเติมรายละเอียดเกี่ยวกับประเภทโปรโตคอลสำหรับส่วนหัวต่อไปและข้อมูลการตรวจสอบ (ถ้ามีการใช้การตรวจสอบ) เมื่อมีการตรวจสอบความถูกต้องก็จะทำกับ รหัสตรวจสอบข้อความที่แฮช (HMAC), ซึ่งคำนวณโดยใช้อัลกอริทึมเช่น SHA-2 และ SHA-3.
การรับรองความถูกต้องของ ESP จะตรวจสอบส่วนหัวของ ESP และเพย์โหลดที่เข้ารหัสเท่านั้น แต่จะไม่ส่งผลกระทบต่อส่วนที่เหลือของแพ็คเก็ต เมื่อแพ็กเก็ตถูกเข้ารหัสด้วย ESP ผู้โจมตีสามารถดูข้อมูลจากส่วนหัวเท่านั้นและไม่ใช่ส่วนของข้อมูล.
การห่อหุ้มความปลอดภัย payload (ESP): โหมดการขนส่ง
โหมดการขนส่งของ ESP ใช้เพื่อปกป้องข้อมูลที่ส่งระหว่างสองโฮสต์. ส่วนหัวของ IP จะถูกเก็บไว้ที่ด้านบนของแพ็คเก็ต ESP และส่วนหัวของข้อมูลส่วนใหญ่ยังคงเหมือนเดิมรวมถึงที่อยู่ต้นทางและปลายทาง มันเข้ารหัสและรับรองความถูกต้องทางเลือกของแพ็คเก็ตซึ่งให้การรักษาความลับและสามารถใช้ในการตรวจสอบความสมบูรณ์ของแพ็คเก็ตเช่นกัน.
การห่อหุ้มความปลอดภัย payload (ESP): โหมดอุโมงค์
เมื่อ ESP อยู่ในโหมดทันเนลแพ็กเก็ตข้อมูล IP ทั้งหมดจะถูกรวมไว้ในอีกอันหนึ่งและส่วนหัวใหม่จะถูกเพิ่มไว้ด้านบน. เมื่อมีการตรวจสอบความถูกต้องก็สามารถใช้โหมดทันเนล ESP เป็น VPN ได้. นี่คือการกำหนดค่าที่ใช้บ่อยที่สุดของ IPsec.
การพิสูจน์ตัวตนการพิสูจน์ความถูกต้องและการรักษาความลับที่เกี่ยวข้องในโหมดอุโมงค์ที่ผ่านการรับรองความถูกต้องของ ESP ทำให้มีประโยชน์สำหรับการเข้าร่วมเครือข่ายสองเครือข่ายแยกกันอย่างปลอดภัยในเครือข่ายที่ไม่น่าเชื่อถือและอาจเป็นอันตราย.
โหมดนี้อธิบายได้ดีที่สุดโดยถ้อยคำที่เบื่อหูทั่วไปในการสร้างอุโมงค์ที่เข้ารหัสระหว่างสองจุดสร้างการเชื่อมต่อที่ปลอดภัยที่ผู้โจมตีไม่สามารถเจาะเข้าไปได้ เมื่อ ESP ถูกใช้เพื่อเข้ารหัสและตรวจสอบสิทธิ์, ผู้โจมตีที่ดักข้อมูลจะเห็นได้ว่ามีการใช้ VPN สำหรับการเชื่อมต่อเท่านั้น. พวกเขาไม่เห็นส่วนของข้อมูลหรือส่วนหัวดั้งเดิม.
ตอนแรกธุรกิจต่างๆใช้ VPN เพื่อเชื่อมต่อสำนักงานภูมิภาคกับสำนักงานใหญ่ การเชื่อมต่อประเภทนี้ช่วยให้ บริษัท ต่างๆสามารถแบ่งปันข้อมูลระหว่างตำแหน่งที่ตั้งที่แยกต่างหากได้อย่างง่ายดายและปลอดภัย ในปีที่ผ่านมา VPN ได้กลายเป็นบริการยอดนิยมสำหรับบุคคลทั่วไป พวกเขามักจะใช้สำหรับการปลอมแปลงทางภูมิศาสตร์หรือการเชื่อมต่อที่ปลอดภัยโดยเฉพาะอย่างยิ่งเมื่อใช้ wifi สาธารณะ.
ส่วนหัวรับรองความถูกต้อง (AH): การสร้างภาพ
ตอนนี้เราได้ครอบคลุม ESP แล้ว AH ควรเข้าใจง่ายขึ้นเล็กน้อย เนื่องจาก AH สามารถใช้เพื่อรับรองความถูกต้องของข้อมูลแพ็กเก็ตเท่านั้นจึงเหมือนกับการเซ็นต์โปสการ์ดหรือเพิ่มตราประทับของคุณเอง เนื่องจากไม่มีการเข้ารหัสที่เกี่ยวข้องจึงไม่มีกล่องล็อคหรือผู้ให้บริการจัดส่งในการเปรียบเทียบนี้.
การขาดการป้องกันการเข้ารหัสเป็นเพียงเล็กน้อยเช่นไปรษณียบัตรที่ส่งทางไปรษณีย์ปกติซึ่งบุรุษไปรษณีย์และผู้โจมตีสามารถเห็นทั้งข้อมูลที่อยู่รวมถึงข้อความที่เขียนที่ด้านหลังของการ์ด อย่างไรก็ตามเนื่องจากตราประทับหรือลายเซ็นข้อมูลนี้ไม่สามารถเปลี่ยนแปลงได้ เช่นเดียวกันตราประทับและลายเซ็นช่วยให้คุณพิสูจน์ได้ว่าคุณเป็นผู้ส่งที่แท้จริงมากกว่าที่จะเลียนแบบคุณ.
ในโหมดการขนส่งของ AH มีการเพิ่มส่วนหัวการตรวจสอบความถูกต้องซึ่งป้องกันส่วนของข้อมูลและส่วนหัวข้อมูลส่วนใหญ่. นี่เป็นเหมือนโปสการ์ดในจินตนาการที่มีตราประทับชัดเจนป้องกันเนื้อหาส่วนใหญ่.
อะไรก็ตามที่อยู่ภายใต้ตราประทับนั้นไม่สามารถเปลี่ยนแปลงได้ แต่ใครก็ตามที่ขัดขวางมันจะสามารถเห็นไปรษณียบัตรทั้งใบได้ รายละเอียดบางอย่างไม่ได้รับการคุ้มครองจากตราประทับและอาจเปลี่ยนแปลงได้ แต่ข้อมูลสำคัญทั้งหมดจะได้รับการรักษาความปลอดภัยโดยตราประทับ ตราประทับจะมีข้อมูลบางอย่างเขียนอยู่ด้วย แต่เพื่อจุดประสงค์ของตัวอย่างนี้มันไม่สำคัญที่จะต้องอธิบายอย่างละเอียดในตอนนี้.
ใน โหมดอุโมงค์แพ็กเก็ตนั้นพันอยู่ข้างในอีกอันหนึ่งและส่วนใหญ่จะได้รับการรับรองความถูกต้อง. การเปรียบเทียบแบ่งออกเล็กน้อยในกรณีนี้ แต่มันเหมือนกับห่อไปรษณียบัตรในซองที่ชัดเจนและมีตราประทับ ซองจดหมายมีข้อมูลที่อยู่ของตัวเองเช่นกันและประทับตราปกป้องเกือบทั้งหมดจากการแก้ไข.
ส่วนหัวการรับรองความถูกต้อง (AH): รายละเอียดทางเทคนิค
AH ใช้ในการตรวจสอบความถูกต้องของข้อมูลว่ามาจากแหล่งที่ถูกต้องตามกฎหมายและยังคงไว้ซึ่งความสมบูรณ์ สามารถใช้เพื่อแสดงว่าข้อมูลไม่ได้ถูกแก้ไขและป้องกันการโจมตีซ้ำ.
AH ไม่ได้ใช้งานบ่อยนัก แต่ยังมีความสำคัญที่จะต้องหารือ เพิ่มส่วนหัวการรับรองความถูกต้องของตนเองและใช้ รหัสการพิสูจน์ตัวตนข้อความแฮช (HMACs) เพื่อป้องกันแพ็คเก็ตข้อมูลส่วนใหญ่ ซึ่งรวมถึงเพย์โหลดทั้งหมดรวมถึงฟิลด์ส่วนใหญ่ในส่วนหัว HMAC ถูกคำนวณด้วยอัลกอริธึมการแฮชเช่น SHA-2.
ส่วนหัวการรับรองความถูกต้อง (AH): โหมดการขนส่ง
โหมดการขนส่ง AH มักใช้สำหรับ การสื่อสารสองทางระหว่างโฮสต์. ส่วนหัว AH ถูกเพิ่มลงในแพ็คเก็ตและบางส่วนของรหัสโปรโตคอลจะถูกย้ายไปรอบ ๆ เมื่อแพ็กเก็ต AH มาถึงและตรวจสอบ HMAC แล้วส่วนหัว AH จะถูกนำออกไปและทำการเปลี่ยนแปลงอื่น ๆ เล็กน้อย เมื่อแพ็กเก็ตข้อมูลกลับมาในรูปแบบปกติแล้วมันสามารถประมวลผลได้ตามปกติ.
ส่วนหัวรับรองความถูกต้อง (AH): โหมดอุโมงค์
ในโหมดนี้แพ็คเก็ตดั้งเดิมจะถูกห่อไว้ข้างในอีกอันจากนั้นรับรองความถูกต้องด้วย HMAC นี้ กระบวนการเพิ่มส่วนหัวการรับรองความถูกต้อง, รับรองความถูกต้องทั้งหมดของส่วนหัวดั้งเดิม (ในโหมดการขนส่งส่วนหนึ่งของส่วนหัวจะไม่ครอบคลุม) รวมถึงส่วนหัวของส่วนหัวที่เพิ่งเพิ่มใหม่ เพย์โหลดได้รับการรับรองความถูกต้องด้วย.
เมื่อแพ็กเก็ตเหล่านี้ไปถึงปลายทางพวกเขาจะผ่านการตรวจสอบความถูกต้องจากนั้นแพ็กเก็ตจะถูกนำกลับมาเป็นปกติโดยการลบทั้งส่วนหัวที่เพิ่มใหม่.
สมาคมความปลอดภัย (SAs)
Security Associations (SAs) ตั้งค่าและจัดเก็บพารามิเตอร์สำหรับการเชื่อมต่อ IPsec. ทั้งสองใช้ AH และ ESP เพื่อสร้างกระบวนการสื่อสารที่มีเสถียรภาพที่ตรงกับความต้องการด้านความปลอดภัยของแต่ละด้าน แต่ละโฮสต์หรือเครือข่ายมี SAs แยกต่างหากสำหรับทุกฝ่ายที่เชื่อมต่อด้วยซึ่งทั้งหมดมีชุดพารามิเตอร์ของตนเอง.
เมื่อทั้งสองโฮสต์เจรจาการเชื่อมต่อของพวกเขาเป็นครั้งแรกพวกเขา สร้าง SA ด้วยพารามิเตอร์ที่จะใช้ในการเชื่อมต่อ. พวกเขาทำสิ่งนี้ในกระบวนการทีละขั้นตอนกับฝ่ายหนึ่งเสนอนโยบายที่อีกฝ่ายหนึ่งสามารถยอมรับหรือปฏิเสธ กระบวนการนี้จะดำเนินต่อไปจนกว่าจะมีนโยบายที่ยอมรับร่วมกันและทำซ้ำสำหรับแต่ละพารามิเตอร์แยกกัน.
แต่ละ SA มีอัลกอริทึมที่จะใช้, ไม่ว่าจะเป็นการตรวจสอบความถูกต้อง (เช่น SHA-2) หรือการเข้ารหัส (เช่น AES) SAs ยังรวมถึงพารามิเตอร์สำหรับการแลกเปลี่ยนคีย์ (เช่น IKE) นโยบายการกรอง IP ข้อ จำกัด การกำหนดเส้นทางและอื่น ๆ เมื่อจัดตั้งสมาคมความปลอดภัยแล้วจะถูกจัดเก็บในฐานข้อมูลสมาคมความปลอดภัย (SAD).
เมื่ออินเทอร์เฟซได้รับแพคเก็ตข้อมูลมันจะใช้ข้อมูลสามส่วนเพื่อค้นหา SA ที่ถูกต้อง ที่แรกก็คือ ที่อยู่ IP ของพันธมิตร, ซึ่งอย่างที่คุณอาจสันนิษฐานว่าเป็นที่อยู่ IP ของอีกฝ่ายในการเชื่อมต่อ ประการที่สองคือ โปรโตคอล IPsec, ทั้ง ESP หรือ AH.
ข้อมูลชิ้นสุดท้ายคือ ดัชนีพารามิเตอร์ความปลอดภัย (SPI), ซึ่งเป็นตัวระบุที่ถูกเพิ่มเข้าไปในส่วนหัว มันถูกใช้เพื่อเลือกระหว่าง SA ของการเชื่อมต่อที่แตกต่างกันเพื่อให้แน่ใจว่ามีการใช้พารามิเตอร์ที่ถูกต้อง.
แต่ละ SA ไปทางเดียวดังนั้นจึงจำเป็นต้องมีอย่างน้อยสองวิธีเพื่อให้การสื่อสารสามารถไปได้ทั้งสองทิศทาง ถ้าต้องใช้ AH และ ESP ร่วมกันดังนั้นจะต้องใช้ SA ในแต่ละทิศทางสำหรับแต่ละโปรโตคอลรวมเป็นสี่.
IPsec กับ TLS / SSL
บางครั้งมันก็ยากที่จะเข้าใจความแตกต่างระหว่าง IPsec และโปรโตคอลเช่น TLS / SSL ท้ายที่สุดพวกเขาทั้งคู่ก็ให้ความปลอดภัยใช่ไหม? พวกเขาทำ แต่พวกเขาทำในวิธีที่แตกต่างและในระดับที่แตกต่างกัน.
หนึ่งในวิธีที่ดีที่สุดในการเปรียบเทียบ IPsec และ TLS / SSL คือ ดูพวกเขาในบริบทของแบบจำลอง OSI. แบบจำลอง OSI เป็นระบบแนวคิดที่ใช้เพื่อช่วยให้เข้าใจและสร้างมาตรฐานด้านและชั้นต่าง ๆ ของกระบวนการสื่อสารที่ซับซ้อนของเรา.
ในรุ่นนี้, ฟังก์ชัน IPsec ที่ชั้นสาม, เลเยอร์เครือข่ายซึ่งหมายความว่าอยู่ในตำแหน่งที่จะถ่ายโอนแพ็คเก็ตข้อมูลไปยังโฮสต์ผ่านเครือข่ายเดียวหรือหลายชุด.
เมื่อเราดู TLS / SSL สิ่งต่าง ๆ จะสับสนเล็กน้อย นี่เป็นเพราะมันทำงานผ่านสื่อการขนส่งอื่น TCP สถานที่นี้ควร TLS / SSL เหนือชั้นสี่ ในรูปแบบ OSI.
TLS / SSL ยังจัดระเบียบข้อความจับมือซึ่งเป็นระดับที่ห้าคือเลเยอร์เซสชัน สิ่งนี้จะทำให้ TLS / SSL ในเลเยอร์หกหรือเจ็ด.
มันซับซ้อนมากขึ้นเมื่อคุณพิจารณาว่าแอปพลิเคชันใช้ TLS / SSL เป็นโปรโตคอลการส่งผ่าน สิ่งนี้จะทำให้ TLS / SSL ที่ระดับสี่หรือต่ำกว่า แต่ มันจะเป็นไปได้อย่างไรในชั้นที่หกหรือเจ็ดเช่นเดียวกับในชั้นที่สี่หรือต่ำกว่า?
คำตอบก็คือ TLS / SSL ไม่เหมาะกับโมเดล. เหตุผลที่อยู่เบื้องหลังสิ่งนี้อยู่นอกขอบเขตของบทความนี้ สิ่งที่สำคัญที่สุดที่คุณต้องรู้คือแบบจำลอง OSI เป็นเพียงแค่แบบจำลองและบางครั้งความจริงก็ไม่สอดคล้องกับแบบจำลองที่เป็นระเบียบของเรา.
เมื่อเราพูดถึงมาตรฐานเหล่านี้ในทางปฏิบัติ, บทบาทของ TLS / SSL คือการตรวจสอบความถูกต้องของข้อมูลตรวจสอบความถูกต้องเข้ารหัสและบีบอัดข้อมูล. มันสามารถนำไปใช้เพื่อรักษาความปลอดภัยของโปรโตคอลอื่น ๆ เช่น HTTP หรือ SMTP และมีให้เห็นในแอปพลิเคชันที่หลากหลายเช่น VoIP และการท่องเว็บ.
IPsec นั้นมีความแตกต่างกันสองวิธีอย่างแรกคือ มันเป็นกรอบ, มากกว่าโปรโตคอลเดียว นอกจากนี้ยังมีความซับซ้อนมากขึ้นซึ่งทำให้ยากต่อการติดตั้งและบำรุงรักษา.
ในที่สุด TLS / SSL นั้นง่ายกว่า IPsec ซึ่งเป็นอีกสาเหตุหนึ่งที่ทำให้มีการใช้งานอย่างแพร่หลายมากขึ้น มันเป็นส่วนหลักของหนึ่งในโปรโตคอลอุโมงค์ทางเลือกหลัก OpenVPN.
ดูสิ่งนี้ด้วย: สุดยอดคู่มือ TCP / IP
ความปลอดภัยของ IPsec
ในช่วงไม่กี่ปีที่ผ่านมามีการพูดคุยกันมากมาย หน่วยงานภาครัฐวางแบ็คอัพเข้าไปใน IPsec และใช้ประโยชน์จากช่องโหว่เพื่อกำหนดเป้าหมายผู้ที่ใช้โปรโตคอล. ข้อกล่าวหาต้นบางอย่างออกมาในปี 2010 เมื่อ Greg Perry ติดต่อผู้พัฒนาหลักของ OpenBSD.
เขายืนยันว่า FBI ได้วางแบ็คดอร์ไว้มากมายเช่นเดียวกับกลไกสำหรับคีย์ช่องทางด้านข้างที่รั่วไหลไปสู่โค้ด OpenBSD. สิ่งนี้ถูกกล่าวหาว่าส่งผลกระทบต่อ OpenBSD IPsec stack ซึ่งใช้กันอย่างแพร่หลาย.
ในปี 2013 การรั่วไหลของ Snowden ของมันก็ถูกเปิดเผยว่า NSA ตั้งเป้าหมายการเข้ารหัสในรูปแบบต่าง ๆ และเครื่องมือความปลอดภัยอื่น ๆ. เอกสารดูเหมือนจะยืนยันว่า NSA มีวิธีการของตนเองในการเข้าถึงคีย์ที่ใช้ใน IPsec ทำให้พวกเขาสามารถสอดแนมในการเชื่อมต่อบางอย่าง.
เอกสารที่รั่วโดย Shadow Brokers ในปี 2016 แสดงให้เห็นว่า NSA มีเครื่องมือที่สามารถใช้เพื่อแบ่งการใช้ IPsec ที่ใช้ในไฟร์วอลล์ PIX ของ Cisco. แม้ว่าไฟร์วอลล์เหล่านี้จะถูกยกเลิกในปี 2009 การโจมตีของ BENIGNCERTAIN สามารถใช้เพื่อเข้าถึงรหัสผ่านสำหรับอุปกรณ์ PIX.
การโจมตีเกี่ยวข้องกับการส่งแพ็กเก็ต Internet Key Exchange (IKE) ไปยังเซิร์ฟเวอร์ PIX, ซึ่งจะทำให้มันปล่อยหน่วยความจำบางส่วน สามารถค้นหาข้อมูลนี้เพื่อค้นหาข้อมูลการกำหนดค่าและคีย์ส่วนตัวของ RSA ซึ่ง NSA สามารถใช้เพื่อสอดแนมการเชื่อมต่อ IPsec โปรดทราบว่านี่เป็นเพียงการดำเนินการเพียงอย่างเดียวที่มีความเสี่ยงและจะไม่ส่งผลกระทบต่อ IPsec ทุกรูปแบบในปัจจุบัน.
ในปี 2561 นักวิจัยใช้ช่องโหว่ในโปรโตคอล IKE ซึ่งอนุญาตให้ถอดรหัสการเชื่อมต่อ การพิสูจน์แนวความคิดสามารถนำมาใช้เพื่อดำเนินการโจมตีคนในกลางที่ซึ่งผู้โจมตีสามารถสกัดกั้นข้อมูลยุ่งเกี่ยวกับมันหรือแม้กระทั่งหยุดมันจากการถูกส่ง.
เทคนิคนี้ใช้ Bleichenbacher oracles ในการถอดรหัส nonces ซึ่งขัดขวางการพิสูจน์ตัวตน RSA ในระยะที่หนึ่งของ IKE วิธีนี้ช่วยให้ผู้โจมตีสามารถใช้กุญแจ symmetric ที่ผ่านการรับรองความถูกต้องโดยมีการฉ้อโกงกับเป้าหมายของพวกเขา จากนั้นพวกเขาสามารถปลอมแปลงจุดปลาย IPsec ขัดขวางการเข้ารหัสซึ่งช่วยให้พวกเขาแทรกตัวเองในสิ่งที่ก่อนหน้านี้การเชื่อมต่อที่ปลอดภัย.
ขณะนี้เป็นการโจมตีที่น่ากังวลแพตช์ได้รับการเผยแพร่สำหรับการใช้งานที่เป็นที่ทราบกันว่ามีผลกระทบ Huawei, Cisco, Clavister และ XyXEL ทั้งหมดได้รับการปล่อยตัวแพทช์ในไม่ช้าหลังจากที่พวกเขาได้รับการแจ้งเตือนเกี่ยวกับช่องโหว่. มีความปลอดภัยในการใช้การใช้งานที่ได้รับผลกระทบก่อนหน้านี้ตราบใดที่ยังเป็นปัจจุบันอยู่.
มีช่องโหว่ที่อาจเกิดขึ้นได้หลายอย่างใน IPsec ซึ่งส่วนใหญ่เกี่ยวข้องกับ IKE แม้จะมีปัญหาเหล่านี้, IPsec ยังถือว่าปลอดภัยสำหรับการใช้งานทั่วไป, ตราบใดที่มีการใช้งานอย่างถูกต้องและการนำไปใช้นั้นใช้การอัพเดตล่าสุด.
IPsec เองก็ไม่เสียหาย สิ่งสำคัญคือต้องจำไว้ว่ามันเป็นเพียงกรอบซึ่งสามารถใช้โปรโตคอลที่แตกต่างกันจำนวนมาก ยังคงเป็นไปได้ที่จะใช้ IPsec อย่างปลอดภัยตราบใดที่มีการใช้โปรโตคอลที่เหมาะสมในลักษณะที่เหมาะสม อย่างไรก็ตามการกำหนดค่าที่ไม่ปลอดภัยมีศักยภาพที่จะถูกโจมตีโดย NSA และฝ่ายอื่น ๆ ดังนั้นจึงเป็นสิ่งสำคัญที่คุณใช้ IPsec อย่างถูกต้อง.
คุณควรใช้ IPsec?
IPsec ส่วนใหญ่ใช้เพื่อสร้างอุโมงค์ที่ปลอดภัยใน VPN แต่ไม่ใช่ตัวเลือกเดียว หากคุณกังวลเกี่ยวกับความปลอดภัยขอแนะนำให้คุณพิจารณาตัวเลือกอื่น ๆ และค้นหาวิธีแก้ปัญหาที่เหมาะสมกับกรณีการใช้งานและความเสี่ยง.
ทางเลือกหลักคือ PPTP, SSTP และ OpenVPN. โปรโตคอลการอุโมงค์แบบจุดต่อจุด (PPTP) เก่าและมีปัญหาด้านความปลอดภัยจำนวนมากดังนั้นจึงเป็นเช่นนั้น ดีที่สุดเพื่อหลีกเลี่ยงในทุกสถานการณ์. Secure Socket Tunneling Protocol (SSTP) เป็นตัวเลือกที่ดีกว่าสำหรับผู้ใช้ Windows อย่างไรก็ตามเป็น ไม่ได้ตรวจสอบอย่างอิสระ.
OpenVPN เป็นทางเลือกโอเพ่นซอร์สที่มีช่วงของตัวเลือกการกำหนดค่าที่แตกต่างกัน. มันใช้ SSL / TLS และไม่ทราบว่ามีปัญหาด้านความปลอดภัยใด ๆ, ดังนั้นจึงเป็นตัวเลือกที่ดีที่สุดสำหรับทุกคนที่กังวลเกี่ยวกับปัญหาความปลอดภัยที่พบใน IPsec.
นี่ไม่ได้หมายความว่าการเชื่อมต่อ IPsec ทั้งหมดนั้นไม่ปลอดภัยโดยเนื้อแท้ แต่ก็หมายความว่ามีทางเลือกที่ปลอดภัยกว่าสำหรับผู้ที่ใส่ใจเรื่องความปลอดภัยหรือเผชิญกับภัยคุกคามระดับสูง.
ที่เกี่ยวข้อง: IPSec กับ SSL
แป้นพิมพ์คอมพิวเตอร์ ได้รับใบอนุญาตภายใต้ มอนส์ CC0