Windows VPN Group24 กับ MODP3072: คุณต้องการกลุ่มไหน?
หมายเลขกลุ่มคือรายการในรีจิสทรี ไม่ใช่การจัดอันดับตามขนาด จับคู่ชื่อกับพารามิเตอร์ของมัน แล้วตรวจสอบว่าพารามิเตอร์ Windows แสดงกลุ่มใดได้บ้าง
Group24 และ MODP3072 ต่างเป็นชื่อของกลุ่มแลกเปลี่ยนกุญแจ และไม่ใช่กลุ่มเดียวกันที่ความแข็งแรงต่างกัน Group24 รวมมอดุลัส 2048 บิตเข้ากับกลุ่มย่อยอันดับเฉพาะ 256 บิต ขณะที่ MODP3072 คือกลุ่ม 15 ขนาด 3072 บิต การเลือกกลุ่มหนึ่งเมื่อระบุอีกกลุ่มหนึ่งเป็นการเปลี่ยนข้อกำหนดแทนที่จะทำให้สำเร็จ สี่สิ่งเป็นตัวกำหนดผลลัพธ์ และไม่มีสิ่งใดต้องเชื่อถือชื่อที่ดูคล้ายกัน
หมายเลขคือรายการในรีจิสทรี ไม่ใช่อันดับ
IANA กำหนดหมายเลขกลุ่มแลกเปลี่ยนกุญแจตามลำดับที่ลงทะเบียน ดังนั้นหมายเลขที่มากกว่าหมายถึงรายการที่ลงทะเบียนทีหลัง ไม่ใช่กลุ่มที่แข็งแรงกว่า กลุ่ม 14 คือ MODP 2048 บิต กลุ่ม 15 คือ MODP 3072 บิต และกลุ่ม 24 รวมมอดุลัส 2048 บิตเข้ากับกลุ่มย่อยอันดับเฉพาะ 256 บิต การอ่านตัวระบุเป็นอันดับขนาดทำให้เกิดข้อผิดพลาดเดียวกันกับการถือว่า 24 ใหญ่กว่า 15 ชื่อเป็นเพียงป้ายกำกับ และพารามิเตอร์เบื้องหลังคือสิ่งที่การเจรจาใช้จริง
| IANA group | What the group is | Expressible as Windows DHGroup | What a mismatch looks like |
|---|---|---|---|
| 14 | A 2048-bit finite-field modulus | Group14 | The gateway reports modp2048, which is the same group in other vocabulary |
| 15 | A 3072-bit finite-field modulus | Not in the documented enumeration | You cannot request it from this parameter; a gateway reporting modp3072 was configured elsewhere |
| 24 | A 2048-bit modulus with a 256-bit prime-order subgroup | Group24 | The gateway reports modp2048s256, so the two names differ while describing one group |
| 20 | The NIST P-384 curve | ECP384 | The gateway reports ecp384, and that 384 counts a field size rather than a modulus |
กลุ่มบนเส้นโค้งวงรีเพิ่มความสับสนของตัวเอง เพราะจำนวนบิตของเส้นโค้งอธิบายฟิลด์ไม่ใช่มอดุลัส การเปรียบเทียบ P-384 กับกลุ่มฟิลด์จำกัด 3072 บิตราวกับว่าตัวเลขวัดสิ่งเดียวกันไม่ได้บอกอะไรคุณ
สิ่งที่การนับของ Windows แสดงได้
รีจิสทรี IKE และพารามิเตอร์ไคลเอนต์ Windows เป็นอินเทอร์เฟซต่างกันที่มีคำศัพท์ต่างกัน เอกสารอ้างอิง cmdlet VpnClient ของ Microsoft ระบุว่า DHGroup ยอมรับ None, Group1, Group2, Group14, ECP256, ECP384 และ Group24 Group15 ไม่ปรากฏในชุดที่ระบุไว้ ซึ่งหมายความว่าพารามิเตอร์ไม่สามารถแสดงกลุ่มที่ขอไว้ได้ นี่เป็นข้อจำกัดของอินเทอร์เฟซ ไม่ใช่ถ้อยแถลงว่าโปรโตคอลรองรับกลุ่มใด
การระบุการสะกดที่ไม่อยู่ในรายการ จำนวนเต็ม หรือสตริงนโยบายที่คัดลอกมาไม่ทำให้การนับขยายออก ตรวจสอบเอกสารอ้างอิงสำหรับเวอร์ชัน Windows ที่คุณใช้จริง และหากไม่มีกลุ่มนั้น ผลลัพธ์ที่ซื่อสัตย์คือนโยบายที่ได้รับอนุมัติอื่นหรือไคลเอนต์อื่น
แยก DHGroup, PfsGroup และชนิดใบรับรองออกจากกัน
DHGroup เลือกกลุ่มสำหรับการแลกเปลี่ยนกุญแจ IKE และ PfsGroup ควบคุมความลับไปข้างหน้าสำหรับสมาคมการรับส่งที่ได้รับการป้องกันที่ตามมา ทั้งสองเป็นฟิลด์แยกกัน ดังนั้นการตั้งค่าอย่างหนึ่งให้ถูกต้องไม่ได้บอกอะไรเกี่ยวกับอีกอย่างหนึ่ง กุญแจ RSA หรือ ECDSA ของใบรับรองเป็นคุณสมบัติที่สาม และเป็นของการพิสูจน์ตัวตนไม่ใช่การแลกเปลี่ยนชั่วคราว โปรไฟล์เดียวจึงอาจ ถูกในชั้นหนึ่งและผิดในอีกชั้นหนึ่ง และการเชื่อมต่อที่สำเร็จจะไม่บอกว่าชั้นไหน
รายงานที่ว่าใบรับรองชนิดหนึ่งบังคับกลุ่ม ECP ในทุกการเชื่อมต่อ IKEv2 อธิบายการตั้งค่าชุดเดียว ไม่ได้กำหนดกฎของโปรโตคอล และการปฏิบัติต่อรายงานเหล่านั้นเป็นกฎคือวิธีที่ความพิเศษเฉพาะที่กลายเป็นนโยบาย
อ่านกลุ่มที่เกตเวย์เจรจา
โมดูล VpnClient เสนอ Set-VpnConnectionIPsecConfiguration เป็นอินเทอร์เฟซสำหรับเขียนเท่านั้น และไม่มี Get- cmdlet ที่ตรงกันอ่านนโยบายนั้นกลับมาบนโฮสต์ บันทึกค่า DHGroup และ PfsGroup ที่คุณใช้ แล้วอ่านที่เกตเวย์ว่าการแลกเปลี่ยนใช้จริงอะไร รันคำสั่งหลังการเชื่อมต่อใหม่ ไม่ใช่หลังการเชื่อมต่อซ้ำที่นำสมาคมเก่ากลับมาใช้
swanctl --list-sas
ipsec statusall
โปรไฟล์ที่รายงาน Group24 ขณะที่เกตเวย์รายงาน modp2048s256 สอดคล้องกัน เพราะเป็นกลุ่มเดียวกันในสองคำศัพท์ เกตเวย์ที่รายงาน modp3072 ขณะที่โปรไฟล์บอก Group24 ไม่สอดคล้อง และปลายทางหนึ่งไม่ได้บังคับใช้สิ่งที่คุณเชื่อ บรรทัดใบรับรองตอบคำถามการพิสูจน์ตัวตนแยกต่างหาก และฟิลด์ PFS ตอบคำถามที่สาม เปรียบเทียบทั้งสามก่อนเขียนบันทึกการปฏิบัติตาม
บันทึกกลุ่มที่ร้องขอ กลุ่มที่เจรจา และอินเทอร์เฟซที่ยอมรับหรือปฏิเสธการตั้งค่า สามสิ่งนี้คือสิ่งที่ผู้ตรวจสอบต้องการ และไม่มีสิ่งใดอนุมานได้จากชื่อนโยบาย