Tìm hiểu sâu về AgentAuth: Hiểu về UUID tự xác thực
Cho một AI agent xem màn hình đăng nhập là điều vô nghĩa.
Các agent không ngồi trước trình duyệt. Chúng thực hiện các lệnh gọi công cụ (tool calls) vào lúc 3 giờ sáng. Chúng chạy song song. Các phương pháp truyền thống như OAuth hay session cookies thất bại vì chúng giả định rằng có một con người hiện diện để nhấn các nút đồng ý.
AgentAuth giải quyết vấn đề này bằng một thứ duy nhất: một UUID.
Nó không sử dụng session hay cơ sở hạ tầng bổ sung. Nó sử dụng mã hóa khóa công khai (public-key cryptography) để tích hợp danh tính và xác thực vào trong một giá trị duy nhất.
Đây là cách nó hoạt động:
• Token: Một khóa riêng (private key) (secp256k1). Khóa này được giữ bí mật trên máy của bạn. • Address: Một giá trị công khai được dẫn xuất từ token. • ID: Một UUID ổn định được xây dựng từ address.
Luồng hoạt động chỉ đi theo một chiều. Bạn có thể đi từ Token đến ID, nhưng không thể đi ngược từ ID về Token. Điều này giúp ID trở thành một danh tính ổn định.
Làm thế nào để nó ngăn chặn việc giả mạo?
Mặc dù ID là công khai, kẻ tấn công vẫn không thể sử dụng nó. Mỗi yêu cầu đều bao gồm một chữ ký số (digital signature).
- Client ký vào payload của yêu cầu bằng Token riêng.
- Server nhận được chữ ký và Address được khai báo.
- Server sử dụng chữ ký để khôi phục lại Address.
- Nếu Address được khôi phục khớp với Address được khai báo, yêu cầu đó là hợp lệ.
Quy trình này không lưu trạng thái (stateless). Server không cần một cơ sở dữ liệu về các session đang hoạt động để xác minh người dùng. Nó chỉ cần các phép toán.
Để ngăn chặn các cuộc tấn công phát lại (replay attacks), AgentAuth sử dụng một cửa sổ thời gian (timestamp window) 60 giây. Nếu kẻ tấn công đánh cắp được một yêu cầu đã được ký, chúng chỉ có một phút để sử dụng nó trước khi chữ ký trở nên vô hiệu.
Phân biệt quan trọng: AgentAuth dùng để Xác thực (Authentication - bạn là ai?). Nó không dùng để Phân quyền (Authorization - bạn được phép làm gì?).
Đừng nhầm lẫn điều này với đặc tả MCP OAuth 2.1 chính thức.
- Sử dụng AgentAuth khi bạn kiểm soát cả hai đầu và muốn có các ID ổn định để theo dõi mức độ sử dụng hoặc phân cấp gói dịch vụ (tier gating).
- Sử dụng MCP OAuth 2.1 khi bạn cần ủy quyền cho các API bên thứ ba thay mặt cho một con người.
Cả hai có thể hoạt động cùng nhau. Sử dụng AgentAuth để định danh agent và OAuth để quản lý quyền truy cập của nó vào dữ liệu bên ngoài.
AgentAuth biến một khóa riêng thành một danh tính ổn định, có thể xác minh được mà không cần đến bất kỳ màn hình đăng nhập nào.
Optional learning community: https://t.me/GyaanSetuAi
