การหมุนเวียนรีเฟรชโทเค็นคืออะไรและทำไมจึงสำคัญ?
มาเจาะลึกกันและพูดถึงว่าทำไมการหมุนเวียนรีเฟรชโทเค็นจึงเป็นวิธีที่มีประสิทธิภาพในการปกป้องความปลอดภัยของรีเฟรชโทเค็นของคุณ
รีเฟรชโทเค็นคืออะไร?
รีเฟรชโทเค็นเป็นโทเค็นประเภทพิเศษที่ใช้เพื่อรับโทเค็นการเข้าถึงใหม่เมื่อโทเค็นการเข้าถึงปัจจุบันหมดอายุ ดูโพสต์ก่อนหน้าของเราที่ ทำความเข้าใจโทเค็นใน OIDC เพื่อเรียนรู้เพิ่มเติม
ในระหว่างการแนะนำ เราได้กล่าวไว้ว่า ใน Logto เพื่อปกป้องความปลอดภัยของรีเฟรชโทเค็นของคุณ เราได้บังคับใช้กลไก "การหมุนเวียนรีเฟรชโทเค็น" เป็นค่าเริ่มต้น
แต่แท้จริงแล้ว "การหมุนเวียนรีเฟรชโทเค็น" คืออะไร และมันเป็นประโยชน์ต่อผู้ใช้งานของเราอย่างไร มาดำน้ำลึกกันเลย!
การหมุนเวียนรีเฟรชโทเค็นคืออะไร?
การหมุนเวียนรีเฟรชโทเค็นเป็นกลไกที่ทำให้รีเฟรชโทเค็นก่อนหน้านี้เป็นโมฆะและออกโทเค็นใหม่เมื่อใช้รีเฟรชโทเค็นเพื่อรับโทเค็นการเข้าถึงใหม่ กลไกนี้ทำให้มั่นใจได้ว่ารีเฟรชโทเค็นจะได้รับการต่ออายุก่อนที่จะหมดอายุ
ทำไมเราต้องการการหมุนเวียนรีเฟรชโทเค็น?
รีเฟรชโทเค็นมีช่วงเวลาชีวิตที่ยาวนาน มักนานเป็นสัปดาห์หรือแม้กระทั่งเดือน และเนื่องจากเราสามารถรับโทเค็นการเข้าถึงใหม่ด้วยรีเฟรชโทเค็น รีเฟรชโทเค็นจึงกลายเป็นเป้าหมายที่น่าสนใจสำหรับผู้โจมตี ดังนั้น ตาม OAuth 2.0 BCP เซิร์ฟเวอร์การอนุญาตต้องดำเนินมาตรการอย่างหนึ่งต่อไปนี้เพื่อป้องกันการโจมตีดังกล่าว
- การออกรีเฟรชโทเค็นที่กำหนดให้กับผู้ส่ง: ไคลเอนต์จะเซ็นและให้ลายเซ็น (
Sec-Token-Binding
) ในหัวข้อคำขอรีเฟรช ดังนั้นรีเฟรชโทเค็นที่ออกจึงผูกพันทางการเข้ารหัสกับไคลเอนต์ที่เฉพาะเจาะจง อย่างไรก็ตาม ปัจจุบันมีเพียงบางไคลเอนต์พื้นเมืองเท่านั้นที่กำหนดให้กับผู้ส่ง และส่วนใหญ่ของ SPA และไคลเอนต์มือถือที่ทันสมัยไม่เป็นสาธารณะ - การหมุนเวียนรีเฟรชโทเค็น: เซิร์ฟเวอร์การอนุญาตออกรีเฟรชโทเค็นใหม่ (โดยทั่วไปเมื่อมีการแลกเปลี่ยนกับโทเค็นการเข้าถึงใหม่) และทำให้รีเฟรชโทเค็นก่อนหน้านี้เป็นโมฆะ ซึ่งลดความเสี่ยงของการรั่วไหลของโทเค็น