เจาะลึก AgentAuth: ทำความเข้าใจ Self-Authenticating UUIDs
การแสดงหน้าจอเข้าสู่ระบบให้ AI agent ดูนั้นไม่มีความหมายเลย
Agent ไม่ได้นั่งอยู่หน้าเบราว์เซอร์ พวกมันเรียกใช้ tool calls ในเวลาตี 3 และทำงานแบบขนานกัน วิธีการแบบดั้งเดิมอย่าง OAuth หรือ session cookies นั้นใช้ไม่ได้ผล เพราะวิธีเหล่านี้ตั้งอยู่บนสมมติฐานว่ามีมนุษย์คอยกดปุ่มยินยอม (consent)
AgentAuth แก้ปัญหานี้ด้วยสิ่งเดียว นั่นคือ UUID
มันไม่ได้ใช้ session หรือโครงสร้างพื้นฐานเพิ่มเติม แต่ใช้การเข้ารหัสแบบกุญแจสาธารณะ (public-key cryptography) เพื่อรวมอัตลักษณ์ (identity) และการยืนยันตัวตน (authentication) เข้าเป็นค่าเดียว
นี่คือหลักการทำงานของมัน:
• The Token: กุญแจส่วนตัว (secp256k1) ซึ่งจะถูกเก็บเป็นความลับไว้ในเครื่องของคุณ • The Address: ค่าสาธารณะที่ได้มาจาก token • The ID: UUID ที่มีความเสถียรซึ่งสร้างขึ้นจาก address
กระบวนการนี้ไหลไปในทิศทางเดียว คุณสามารถเปลี่ยนจาก Token เป็น ID ได้ แต่ไม่สามารถเปลี่ยนจาก ID กลับไปเป็น Token ได้ สิ่งนี้ทำให้ ID กลายเป็นอัตลักษณ์ที่เสถียร
มันป้องกันการปลอมแปลงตัวตนได้อย่างไร?
แม้ว่า ID จะเป็นสาธารณะ แต่ผู้โจมตีก็ไม่สามารถนำไปใช้ได้ เพราะทุกคำขอจะมาพร้อมกับลายเซ็นดิจิทัล (digital signature)
- Client ลงลายเซ็นใน request payload ด้วย private Token
- Server ได้รับลายเซ็นและ Address ที่ระบุมา
- Server ใช้ลายเซ็นเพื่อกู้คืน (recover) Address ออกมา
- หาก Address ที่กู้คืนมาตรงกับ Address ที่ระบุไว้ คำขอนั้นก็จะถือว่าถูกต้อง
กระบวนการนี้เป็นแบบ stateless โดยที่ Server ไม่จำเป็นต้องมีฐานข้อมูลของ session ที่กำลังใช้งานอยู่เพื่อยืนยันตัวตนผู้ใช้ แต่ใช้เพียงแค่การคำนวณทางคณิตศาสตร์เท่านั้น
เพื่อป้องกันการโจมตีแบบ replay attacks, AgentAuth จะใช้หน้าต่างเวลา (timestamp window) 60 วินาที หากผู้โจมตีขโมยคำขอที่มีลายเซ็นไปได้ พวกเขาจะมีเวลาเพียงหนึ่งนาทีในการใช้งานก่อนที่ลายเซ็นนั้นจะใช้ไม่ได้อีกต่อไป
ข้อแตกต่างที่สำคัญ: AgentAuth มีไว้สำหรับการยืนยันตัวตน (Authentication - คุณคือใคร?) ไม่ใช่สำหรับการอนุญาตสิทธิ์ (Authorization - คุณได้รับอนุญาตให้ทำอะไรได้บ้าง?)
อย่าสับสนสิ่งนี้กับข้อกำหนดมาตรฐาน MCP OAuth 2.1 อย่างเป็นทางการ
- ใช้ AgentAuth เมื่อคุณควบคุมทั้งสองฝั่งและต้องการ ID ที่เสถียรเพื่อใช้ในการติดตามการใช้งานหรือการแบ่งระดับการเข้าถึง (tier gating)
- ใช้ MCP OAuth 2.1 เมื่อคุณต้องการมอบอำนาจการอนุญาต (delegate permissions) ให้กับ API ของบุคคลที่สามในนามของมนุษย์
ทั้งสองอย่างสามารถทำงานร่วมกันได้ โดยใช้ AgentAuth เพื่อระบุตัวตนของ agent และใช้ OAuth เพื่อจัดการการเข้าถึงข้อมูลภายนอก
AgentAuth เปลี่ยนกุญแจส่วนตัวให้กลายเป็นอัตลักษณ์ที่เสถียรและตรวจสอบได้ โดยไม่จำเป็นต้องมีหน้าจอเข้าสู่ระบบแม้แต่หน้าเดียว
Optional learning community: https://t.me/GyaanSetuAi
