แพลตฟอร์ม OAuth ของ Google ได้เปิดตัวการรองรับ Demonstrating Proof-of-Possession (DPoP) ซึ่งเป็นกลไกด้านความปลอดภัยของ OAuth 2.0 ที่ออกแบบมาเพื่อลดความเสี่ยงจากการโจมตีแบบ Token Theft, Replay Attacks, และ Adversary-in-the-Middle (AiTM) attacks
การตัดสินใจนี้เกิดขึ้นเนื่องจาก Refresh Tokens ที่มีอายุยาวนานเป็น ‘ช่องทางหลักสำหรับการปลอมแปลงตัวตนออนไลน์อย่างต่อเนื่อง’ ในขณะที่การใช้ DPoP กับ Access Tokens จะเพิ่มภาระการตรวจสอบทางคริปโตกราฟีที่ไม่สมมาตรสำหรับการร้องขอแต่ละครั้ง
การนำ DPoP มาใช้ต้องอาศัยข้อกำหนดฝั่งไคลเอ็นต์หลายอย่าง เช่น การสร้างคีย์เข้ารหัส, การจัดการ Timestamp และ Nonces, และการสร้าง HTTP headers รวมถึง JWT พิสูจน์ DPoP ที่เหมาะสม
แม้ว่า DPoP จะป้องกัน API Tokens ได้ แต่ก็ยังไม่ครอบคลุมถึง Session Cookies ของเว็บแอปพลิเคชันทั่วไป ซึ่งยังคงเปราะบางต่อมัลแวร์ Infostealer ดังนั้น Google และ Web Incubator Community Group (WICG) จึงกำลังพัฒนา Device Bound Session Credentials (DBSC) เพื่อจัดการกับปัญหาการขโมยคุกกี้
เมื่อรวม DPoP และ DBSC เข้าด้วยกัน จึงเกิดเป็นกลยุทธ์ป้องกันเชิงลึก (defense-in-depth) ที่ครอบคลุมทั้งเซสชัน API และเว็บ สำหรับกรณี Multi-agent workflows นั้น DPoP อาจไม่เหมาะสม และมีการเสนอให้ใช้ STS เป็นตัวกลางในการแลกเปลี่ยน Token ใหม่ที่มีอายุสั้น
ศัพท์ที่ควรรู้
- OAuth 2.0 – เป็นมาตรฐานการอนุญาตให้เข้าถึงทรัพยากรที่ใช้ในการอนุญาตให้แอปพลิเคชันหนึ่งเข้าถึงข้อมูลของผู้ใช้ในอีกแอปพลิเคชันหนึ่ง
- Demonstrating Proof-of-Possession (DPoP) – เป็นกลไกด้านความปลอดภัยที่พิสูจน์ว่าผู้ร้องขอมีสิทธิ์ในการครอบครอง Token จริง เพื่อป้องกันการถูกขโมยและการนำไปใช้ซ้ำ
- AiTM attacks – คือการโจมตีที่ผู้ไม่หวังดีแทรกตัวอยู่ระหว่างผู้ใช้กับบริการเพื่อดักจับข้อมูลระหว่างการยืนยันตัวตน
- Refresh Tokens – คือ Token ที่ใช้ในการขอ Access Token ใหม่เมื่อ Token เดิมหมดอายุ ซึ่งหากถูกขโมยอาจนำไปสู่การเข้าถึงต่อเนื่อง
ที่มา: infoq.com