บทนำ#
Security Assertion Markup Language (SAML) เป็นมาตรฐานแบบเปิดสำหรับการแลกเปลี่ยนข้อมูลการรับรองความถูกต้องและการอนุญาตระหว่างฝ่ายต่างๆ โดยเฉพาะอย่างยิ่งระหว่างผู้ให้บริการข้อมูลประจำตัวและผู้ให้บริการ ในการรับรองความปลอดภัย SAML เป็นภาษาแบบมาร์กอัปที่ใช้ XML สำหรับคำยืนยันด้านความปลอดภัยที่ใช้สำหรับการลงชื่อเข้าใช้แบบครั้งเดียว (SSO) และการรวมตัวตนแบบ federated ซึ่งใช้กันทั่วไปในสภาพแวดล้อมองค์กรเพื่อวัตถุประสงค์ในการตรวจสอบและอนุญาต
กระบวนการรับรองความถูกต้องมาตรฐานของ SAML#
- ผู้ใช้ร้องขอการเข้าถึงแอปพลิเคชันไคลเอ็นต์ซึ่งทำหน้าที่เป็นผู้ให้บริการ (SP)
- SP ส่งคำขอรับรองความถูกต้องของ SAML SSO ไปยังผู้ให้บริการข้อมูลประจำตัว (IdP) และเปลี่ยนเส้นทางผู้ใช้ไปยัง IdP
- IdP ขอข้อมูลประจำตัวจากผู้ใช้ หากผู้ใช้ยังไม่ได้รับการตรวจสอบสิทธิ์
- ผู้ใช้ป้อนข้อมูลประจำตัว และ IdP ตรวจสอบความถูกต้องของผู้ใช้
- IdP ส่งคำยืนยันการตอบกลับ SAML ไปยัง SP ซึ่งรวมถึงสถานะการตรวจสอบสิทธิ์ของผู้ใช้และแอตทริบิวต์ จากนั้น IdP จะเปลี่ยนเส้นทางผู้ใช้กลับไปยัง SP
- SP รับคำยืนยันการตอบกลับ SAML ตรวจสอบความถูกต้องของมัน และให้สิทธิ์การเข้าถึงแก่ผู้ใช้
ปัจจัยด้านความปลอดภัยใน SAML#
SP entity ID#
คิดว่า SP entity ID เป็นตราสัญลักษณ์เฉพาะสำหรับ SP ภายใต้บริบทการรับรองความถูกต้องของ SAML มันเหมือนกับลายนิ้วมือที่ช่วยให้ IdP จำ SP ในระหว่างการโต้ตอบ ID นี้เป็นส่วนสำคัญของเมทาดาทาของ SP ที่ใช้ร่วมกับ IdP เพื่อสร้างความไว้วางใจและมั่นใจในการสื่อสารที่ปลอดภัย
การใช้งาน SP entity ID:
- การลงทะเบียนเมทาดาทา: แอตทริบิวต์
EntityID เป็นส่วนหนึ่งของเมทาดาทาของ SP ที่ใช้ร่วมกับ IdP เพื่อสร้างความสัมพันธ์ที่เชื่อถือได้ มันทำหน้าที่เป็นตัวระบุเฉพาะในการค้นหาเมทาดาทาของ SP และรับรายละเอียดการกำหนดค่าที่จำเป็นสำหรับปฏิสัมพันธ์ของ SAML
- คำขอรับรองความถูกต้อง: SP entity ID รวมอยู่ในคำขอรับรองความถูกต้องของ SAML ที่ส่งไปยัง IdP โดยระบุ SP ที่ร้องขออย่างชัดเจน IdP ใช้ข้อมูลนี้เพื่อตรวจสอบคำขอและพิจารณาบริบทการรับรองความถูกต้องที่เหมาะสม
- การอนุญาตกลุ่มผู้ฟัง: หลังจากตรวจสอบสิทธิ์ของผู้ใช้เรียบร้อยแล้ว SP entity ID จะรวมอยู่ในคำยืนยัน SAML เป็นการจำกัดขอบเขตของกลุ่มผู้ฟัง มาตรการนี้รับรองว่าคำยืนยันมีไว้สำหรับ SP ที่กำหนดเท่านั้น และไม่สามารถใช้ในทางที่ผิดโดย SP อื่นๆ
IdP entity ID#
ในทางกลับกัน IdP entity ID คือป้ายกำกับพิเศษสำหรับ IdP มันช่วยระบุ IdP ภายในระบบนิเวศ SAML ทำให้ SP ค้นหาได้ง่าย ID นี้รวมอยู่ในเมทาดาทาของ IdP และใช้ร่วมกับ SP เพื่อส่งเสริมความสัมพันธ์ที่น่าเชื่อถือและการเชื่อมต่อที่ปลอดภัย
การใช้งาน IdP entity ID:
- การลงทะเบียนเมทาดาทา: แอตทริบิวต์
EntityID ยังรวมอยู่ในเมทาดาทาของ IdP ที่ใช้ร่วมกับ SP เพื่อสร้างความสัมพันธ์ที่เชื่อถือได้ มันทำหน้าที่เป็นตัวระบุเฉพาะในการค้นหาเมทาดาทาของ IdP และรับรายละเอียดการกำหนดค่าที่จำเป็นสำหรับ SP เพื่อตรวจสอบการตอบกลับ SAML
- ผู้ออกใบอนุญาต: เมื่อ IdP สร้างคำยืนยัน SAML มันจะรวม entity ID ของตนเป็นผู้ออกใบอนุญาต แอตทริบิวต์นี้บ่งชี้ว่าเบี้ยประกันภัยออกโดยเอนทิตีใดและช่วยให้ SP ตรวจสอบความถูกต้องและความสมบูรณ์ของมัน
สถานะรีเลย์#
สถานะรีเลย์เป็นพารามิเตอร์ที่ใช้ในการตรวจสอบสิทธิ์ของ SAML ที่อำนวยความสะดวกในการถ่ายโอนข้อมูลสถานะระหว่าง SP และ IdP มันทำหน้าที่เป็นสะพานเชื่อมระหว่างเส้นทาง SP ที่เริ่มต้นการ SSO และ IdP ที่เริ่มต้นการ SSO โดยรักษาบริบทของผู้ใช้และสถานะเซสชันในระหว่างกระบวนการตรวจสอบสิทธิ์
การใช้งานสถานะรีเลย์:
- การรักษาบริบทของผู้ใช้: สถานะรีเลย์ช่วยให้ SP สามารถส่งข้อมูลเพิ่มเติมไปยัง IdP ในระหว่างกระบวนการตรวจสอบสิทธิ์ ข้อมูลนี้อาจรวมถึงสถานะเซสชันของผู้ใช้ บริบทของแอปพลิเคชัน หรือข้อมูลอื่น ๆ ที่เกี่ยวข้องใด ๆ ที่จำเป็นต้องรักษาไว้ตลอดเส้นทางการ SAML เช่น URL หรือ ID เซสชันของแอปพลิเคชันที่ผู้ใช้กำลังเข้าถึงก่อนการตรวจสอบสิทธิ์
- ป้องกันการโจมตี CSRF: สถานะรีเลย์มีความสำคัญสำหรับการป้องกันการโจมตี cross-site request forgery (CSRF) ในระหว่างการตรวจสอบสิทธิ์ SAML โดยการรวมสถานะรีเลย์ที่มีค่าเฉพาะและไม่สามารถคาดเดาได้ในคำขอรับรองความถูกต้อง SP สามารถตรวจสอบความสมบูรณ์ของการตอบกลับ SAML และให้แน่ใจว่ามันมีความสัมพันธ์กับคำขอต้นฉบับ
ลายเซ็นคำยืนยัน#
ลายเซ็นคำยืนยันเป็นคุณลักษณะด้านความปลอดภัยที่สำคัญใน SAML ซึ่งช่วยรับรองความสมบูรณ์ ความถูกต้อง และการไม่เปลี่ยนแปลงของคำยืนยัน SAML มันเกิดจากการมีลายเซ็นดิจิตอลที่ใช้กุญแจส่วนตัวของ IdP ในการลงนาม ทำให้ SP สามารถตรวจสอบต้นกำเนิดของคำยืนยันและตรวจจับความพยายามในการดัดแปลงได้
การทำงานของลายเซ็นคำยืนยัน:
- การสร้างคู่กุญแจ: IdP สร้างคู่กุญแจสาธารณะ-ส่วนตัว โดยที่กุญแจส่วนตัวใช้ในการลงนามในคำยืนยัน SAML และกุญแจสาธารณะจะถูกแชร์กับ SP เพื่อการตรวจสอบ ลักษณะการเข้ารหัสแบบอสมมาตรนี้ทำให้มั่นใจได้ว่าเฉพาะ IdP เท่านั้นที่สามารถลงนามในคำยืนยันได้ ในขณะที่ SP สามารถตรวจสอบได้
- ใบรับรองที่ใช้ร่วมกัน: IdP ให้ SP รับรองกุญแจสาธารณะของตนซึ่งมีข้อมูลเกี่ยวกับกุญแจสาธารณะที่ใช้ในการยืนยันลายเซ็นคำยืนยัน โดยปกติแล้วใบรับรองนี้จะเป็นส่วนหนึ่งของเมทาดาทาของ IdP หรือ SP สามารถรับมันผ่านกระบวนการดาวน์โหลดที่ปลอดภัย
- การลงนามคำยืนยัน: หลังจากตรวจสอบสิทธิ์ของผู้ใช้ IdP จะลงนามในคำยืนยัน SAML ดิจิตอลโดยใช้กุญแจส่วนตัว ลายเซ็นนี้รวมอยู่ในคำยืนยันพร้อมกับใบรับรองกุญแจสาธารณะเพื่อให้ SP ยืนยันความถูกต้องของคำยืนยัน
- การตรวจสอบคำยืนยัน: หลังจาก SP ได้รับคำยืนยัน SAML มันใช้กุญแจสาธารณะของ IdP เพื่อตรวจสอบลายเซ็นของคำยืนยัน หากลายเซ็นถูกต้อง SP สามารถเชื่อถือคำยืนยันและให้สิทธิ์การเข้าถึงแก่ผู้ใช้
การเข้ารหัสคำยืนยัน#
นอกเหนือจากการลงนาม SAML ยังรองรับการเข้ารหัสคำยืนยันเพื่อป้องกันแอตทริบิวต์และข้อมูลที่สำคัญของผู้ใช้ที่ส่งระหว่าง IdP และ SP ด้วยการเข้ารหัสคำยืนยัน IdP ทำให้มั่นใจว่าเฉพาะผู้รับที่ต้องการ (SP) เท่านั้นที่สามารถถอดรหัสและเข้าถึงเนื้อหาของคำยืนยันได้ รักษาความเป็นส่วนตัวและความลับของผู้ใช้ให้ปลอดภัย การเข้ารหัสคำยืนยันเป็นคุณลักษณะความปลอดภัยเสริมใน SAML ที่สามารถใช้เพื่อเพิ่มการป้องกันข้อมูล
การใช้งานการเข้ารหัสคำยืนยัน:
- การปกป้องแอตทริบิวต์ที่สำคัญ: การเข้ารหัสคำยืนยันมีประโยชน์อย่างยิ่งในการปกป้องแอตทริบิวต์ที่สำคัญของผู้ใช้ เช่น ข้อมูลที่สามารถระบุตัวบุคคลได้ (PII) ข้อมูลทางการเงิน หรือเวชระเบียน ด้วยการเข้ารหัสแอตทริบิวต์เหล่านี้ภายในคำยืนยัน IdP จะป้องกันการเข้าถึงที่ไม่ได้รับอนุญาตและรักษาความลับของข้อมูล
การทำงานของการเข้ารหัสคำยืนยัน:
- การแลกเปลี่ยนกุญแจ: IdP และ SP จัดตั้งกลไกการแลกเปลี่ยนกุญแจที่ปลอดภัยเพื่อแชร์กุญแจการเข้ารหัสสำหรับการปกป้องคำยืนยัน SAML สิ่งนี้อาจเกี่ยวข้องกับการใช้กุญแจการเข้ารหัสแบบสมมาตร์หรือโครงร่างการเข้ารหัสกุญแจสาธารณะ ขึ้นอยู่กับอัลกอริทึมการเข้ารหัสและกลยุทธ์การจัดการกุญแจ
- การเข้ารหัสแอตทริบิวต์: หลังจากสร้างคำยืนยัน SAML แล้ว IdP เข้ารหัสแอตทริบิวต์ของผู้ใช้ที่สำคัญโดยใช้กุญแจการเข้ารหัสที่แชร์กัน โดยแอตทริบิวต์ที่เข้ารหัสจะถูกฝังอยู่ภายในคำยืนยันทำให้มั่นใจได้ว่ามีเพียง SP เท่านั้นที่สามารถถอดรหัสและเข้าถึงข้อมูลได้
- การถอดรหัสคำยืนยัน: หลังจาก SP ได้รับคำยืนยันที่เข้ารหัสแล้ว มันจะถอดรหัสแอตทริบิวต์ที่ได้รับการปกป้องโดยใช้กุญแจการเข้ารหัสที่แชร์กระบวนบนี้ให้ SP สามารถเข้าถึงข้อมูลที่สำคัญของผู้ใช้ได้โดยปลอดภัยและสามารถดำเนินการตามความจำเป็นได้
วิธีการกำหนดบาน#
วิธีการกำหนดบานใน SAML กำหนดวิธีการที่ผู้ใช้ข้อความ SAML ถูกส่งระหว่าง SP และ IdP ผ่านโปรโตคอลการสื่อสารต่างๆ พวกเขากำหนดการเข้ารหัส การส่ง และกลไกความปลอดภัยที่ใช้ในการแลกเปลี่ยนคำยืนยัน SAML และคำขอ เพื่อให้การสื่อสารระหว่างฝ่ายที่เกี่ยวข้องสามารถดำเนินไปได้อย่างปลอดภัยและน่าเชื่อถือ
ทั้ง SP และ IdP จะระบุวิธีการกำหนดบานที่พวกเขาสนับสนุนในเมทาดาทาของพวกเขา ทำให้พวกเขาสามารถเจรจาเลือกวิธีการที่เหมาะสมสำหรับปฏิสัมพันธ์ของ SAML การเลือกวิธีการกำหนดบานขึ้นอยู่กับปัจจัยต่างๆ เช่น ขนาดของข้อความ ข้อกำหนดความปลอดภัย และลักษณะของช่องทางการสื่อสาร
วิธีการกำหนดบานของ SAML:
- HTTP Redirect: ข้อความ SAML ถูกเข้ารหัสเป็นพารามิเตอร์ URL และถูกส่งผ่านการเปลี่ยนเส้นทาง HTTP วิธีการนี้เหมาะสมสำหรับกรณีข้อความมีขนาดจำกัด และช่องทางการสื่อสารไม่ปลอดภัย
- HTTP POST: ข้อความ SAML ถูกเข้ารหัสเป็นพารามิเตอร์ในแบบฟอร์มและถูกส่งผ่านการร้องขอ HTTP POST วิธีการนี้ใช้เมื่อขนาดข้อความเกินกว่าความยาวของ URL หรือเมื่อมาตรการความปลอดภัยเพิ่มเติมเป็นสิ่งจำเป็น
- Artifact: ข้อความ SAML ถูกส่งโดยใช้โทเค็นอายุสั้นที่เรียกว่า artifacts ซึ่งถูกแลกเปลี่ยนบนช่องทางแบบ back-channel ที่ปลอดภัยระหว่าง SP และ IdP วิธีการนี้เหมาะสำหรับกรณีที่ความลับและความสมบูรณ์ของข้อความเป็นสิ่งสำคัญ และช่องทางการสื่อสารมีความปลอดภัย
วิธีการกำหนดบานที่พบบ่อยที่สุด:
- คำขอรับรองความถูกต้อง: คำขอรับรองความถูกต้องจาก SP ไปยัง IdP มักจะส่งผ่านการเปลี่ยนเส้นทาง HTTP เนื่องจากความเรียบง่ายและประสิทธิภาพของมัน SP เข้ารหัสคำร้องขอ SAML เป็นพารามิเตอร์ URL และเปลี่ยนเส้นทางไปที่เบราว์เซอร์ของผู้ใช้ไปยัง IdP เพื่อรับรองตัว นี้เรียกว่าเส้นทางการ SSO ที่เริ่มต้นโดย SP
- การตอบกลับคำยืนยัน: คำยืนยันการตอบกลับ SAML จาก IdP ไปยัง SP มักจะส่งผ่านวิธีการ POST ของ HTTP IdP เข้ารหัสข้อยืนยัน SAML เป็นพารามิเตอร์ในแบบฟอร์มและโพสต์กลับไปที่ SP เพื่อการตรวจสอบ วิธีการนี้ทำให้แน่ใจว่าคำยืนยันถูกส่งโดยปลอดภัยโดยไม่เปิดเผยข้อมูลสำคัญใน URL นอกจากนี้ วิธีการ POST ของ HTTP ยังสามารถจัดการกับขนาดข้อความที่ใหญ่กว่าการเปลี่ยนเส้นทาง HTTP ได้อีกด้วย
การพิจารณาปัจจัยความปลอดภัยในคำยืนยัน SAML#
ผู้ออกคำยืนยัน#
อย่างที่กล่าวไปแล้ว ผู้ออกคำยืนยันเป็นแอตทริบิวต์หลักในคำยืนยัน SAML ที่ระบุเอนทิตีที่ออกคำยืนยัน ปกติแล้วผู้ออกคำยืนยันจะเป็น IdP ที่ตรวจสอบสิทธิ์ผู้ใช้และสร้างคำยืนยัน ด้วยการรวมแอตทริบิวต์ผู้ออกคำยืนยันในคำยืนยัน SP สามารถตรวจสอบต้นกำเนิดของคำยืนยันและให้แน่ใจว่ามันมาจากแหล่งที่เชื่อถือได้
ลายเซ็น#
โหนดลายเซ็นในคำยืนยัน SAML จะมีลายเซ็นดิจิทัลที่สร้างขึ้นโดย IdP เพื่อรับรองความสมบูรณ์และความถูกต้องของคำยืนยัน ลายเซ็นถูกสร้างขึ้นใช้กุญแจส่วนตัวของ IdP และรวมอยู่ในคำยืนยันพร้อมกับใบรับรองกุญแจสาธารณะสำหรับการตรวจสอบโดย SP ด้วยการตรวจสอบความถูกต้องของลายเซ็น SP สามารถยืนยันได้ว่าคำยืนยันไม่ได้ถูกดัดแปลงและมาจาก IdP ที่คาดหวัง
เงื่อนไข#
โหนดเงื่อนไขในคำยืนยัน SAML กำหนดข้อจำกัดและข้อห้ามที่มีต่อความถูกต้องและการใช้คำยืนยัน มันรวมถึงเงื่อนไขเช่นระยะเวลาความถูกต้องของคำยืนยัน ข้อจำกัดของกลุ่มผู้ฟัง และข้อจำกัดเชิงบริบทอื่นๆ ที่ SP ต้องปฏิบัติตามเมื่อประมวลผลคำยืนยัน
ประกาศรับรองความถูกต้อง#
ข้อความรับรองความถูกต้อง (AuthnStatement) เป็นองค์ประกอบสำคัญของคำยืนยัน SAML ที่ให้ข้อมูลเกี่ยวกับสถานะและบริบทการรับรองความถูกต้องของผู้ใช้ มันรวมถึงรายละเอียดเช่นวิธีการรับรองความถูกต้องที่ใช้ เวลาที่รับรองความถูกต้อง และข้อมูลบริบทการรับรองความถูกต้องที่เกี่ยวข้องใด ๆ ที่ช่วยให้ SP สามารถตัดสินใจการควบคุมการเข้าถึงที่มีความเข้าใจจากสถานะการรับรองความถูกต้องของผู้ใช้
แอตทริบิวต์ข้อความรับรองความถูกต้อง:
- บริบทการรับรองความถูกต้อง: อธิบายวิธีการและบริบทในการรับรองความถูกต้องของผู้ใช้ เช่น ชื่อใช้และรหัสผ่าน การรับรองความหลากหลาย หรือการลงชื่อเข้าใช้แบบครั้งเดียว แอตทริบิวต์นี้ช่วยให้ SP ประเมินความแข็งแกร่งและความน่าเชื่อถือของกระบวนการรับรองความถูกต้องและกำหนดการควบคุมการเข้าที่เหมาะสม
- ช่วงเวลารับรองความถูกต้อง: ระบุเวลาที่ผู้ใช้ได้รับการรับรองความถูกต้องโดย IdP การประทับเวลานี้มีความสำคัญสำหรับการตรวจสอบความสดของการรับรองความถูกต้องและป้องกันการโจมตีซ้ำหรือการยึดเซสชัน
- เซสชันจะไม่เกินวันเวลา: ระบุเวลาหมดอายุของเซสชันของผู้ใช้ หลังจากนั้นผู้ใช้จะต้องรับรองสิทธิ์อีกครั้งเพื่อเข้าถึงบริการ แอตทริบิวต์นี้ช่วยบังคับใช้นโยบายการจัดการเซสชันและลดความเสี่ยงของการเข้าถึงที่ไม่ได้รับอนุญาต
แนวทางปฏิบัติที่ดีที่สุดสำหรับความปลอดภัยของ SAML#
- ใช้วิธีการกำหนดบานที่ปลอดภัย: เลือกวิธีการกำหนดบาน SAML ที่เหมาะสมตามข้อกำหนดด้านความปลอดภัยและลักษณะของช่องทางการสื่อสาร ใช้ HTTP POST สำหรับการส่งข้อมูลที่มีความสำคัญและ HTTP Redirect สำหรับคำขอที่เรียบง่าย
- ตรวจสอบลายเซ็นคำยืนยัน: ตรวจสอบลายเซ็นดิจิตอลของคำยืนยัน SAML เพื่อรับรองความสมบูรณ์และความถูกต้องของมัน ใช้ใบรับรองกุญแจสาธารณะของ IdP เพื่อตรวจสอบลายเซ็นและตรวจจับความพยายามในการดัดแปลง
- บังคับใช้ข้อจำกัดของกลุ่มผู้ฟัง: รวมข้อจำกัดของกลุ่มผู้ฟังในคำยืนยัน SAML เพื่อจำกัดขอบเขตของคำยืนยันให้เฉพาะ SP ที่ตั้งใจไว้ การป้องกันนี้ช่วยป้องกันการโจมตีการใช้งานคำยืนยันซ้ำและการเข้าถึงที่ไม่ได้รับอนุญาตจากผู้ให้บริการคนอื่น
- ปกป้องการแลกเปลี่ยนเมทาดาทา: ป้องกันการแลกเปลี่ยนเมทาดาทาของ SP และ IdP เพื่อป้องกันการดัดแปลงเมทาดาทาและการโจมตีการปลอมแปลง ใช้ช่องทางและกลไกที่ปลอดภัยในการแชร์เมทาดาทาอย่างปลอดภัย
- ใช้การจัดการสถานะรีเลย์ที่ปลอดภัย: ใช้ค่าของสถานะรีเลย์ที่มีความเป็นเอกลักษณ์และไม่สามารถคาดเดาได้เพื่อป้องกันการโจมตี CSRF ระหว่างการตรวจสอบสิทธิ์ SAML ตรวจสอบความสมบูรณ์และความถูกต้อง
- บังคับใช้นโยบายการจัดการเซสชัน: กำหนดนโยบายการหมดอายุของเซสชันและบังคับใช้ระยะเวลาหมดเซสชันเพื่อลดความเสี่ยงของการยึดเซสชันและการเข้าถึงที่ไม่ได้รับอนุญาต ใช้แอตทริบิวต์ที่เกี่ยวข้องกับเซสชันในคำยืนยัน SAML เพื่อจัดการเซสชันผู้ใช้อย่างปลอดภัย
- เข้ารหัสแอตทริบิวต์ที่มีความสำคัญ: เข้ารหัสแอตทริบิวต์ที่ควรจำเป็นในคำยืนยัน SAML เพื่อปกป้องความเป็นส่วนตัวและความลับของข้อมูลผู้ใช้ ใช้อัลกอริทึมการเข้ารหัสที่ปลอดภัยและแนวทางการจัดการกุญแจที่ปลอดภัยเพื่อปกป้องข้อมูลที่มีความสำคัญ
ทางเลือกอื่นแทน SAML#
แม้ว่า SAML ยังคงเป็นมาตรฐานที่ได้นำมาใช้กันอย่างแพร่หลายสำหรับการลงชื่อเข้าใช้แบบครั้งเดียวและการรวมตัวตนแบบ federated มีชุดข้อกำหนดคุณลักษณะที่ครบถ้วนและกลไกความปลอดภัยที่มั่นคง แต่ความเก่าของมันอาจทำให้เผชิญหน้ากับความท้าทายในการตอบสนองต่อความต้องการความปลอดภัยและการใช้งานของแอปพลิเคชันสมัยใหม่ เปรียบเทียบกับ OAuth 2.0 ที่เป็นหลังจากออกมาซึ่งมีความซับซ้อนมากขึ้น มันมีมาตรการความปลอดภัยที่เพิ่มมากกว่าที่ OIDC มอบให้ เช่น วิธีการขออนุญาตโค้ดใน OIDC ที่เพื่อการขออนุญาตที่ปลอดภัยกว่าการแลกเปลี่ยนคำยืนยัน SAML ที่มีความตรงไปตรงมา สำหรับองค์กรที่พิจารณานำการรวมตัวตนในยุคใหม่นี้ เช่น OIDC สามารถนำมาใช้แทน SAML ได้