Xác thực Hawk là một giao thức xác thực dựa trên yêu cầu HTTP, được thiết kế nhằm cung cấp một cơ chế xác thực đơn giản, linh hoạt và an toàn. Giao thức này sử dụng HMAC (Hash-based Message Authentication Code) để tạo chữ ký mật mã nhằm xác minh cả tính xác thực và tính toàn vẹn của các yêu cầu.Hawk đặc biệt hữu ích cho các API yêu cầu mức độ bảo mật cao nhưng không có sự phức tạp của OAuth, cung cấp một giải pháp thay thế gọn nhẹ cho giao tiếp giữa các dịch vụ.Cài đặt cơ bản#
Cấu hình các tham số xác thực Hawk thiết yếu:| Tham số | Mô tả | Bắt buộc |
|---|
| Hawk Auth ID | Mã định danh xác thực cho yêu cầu hiện tại | Có |
| Hawk Auth Key | Khóa xác thực cho yêu cầu hiện tại | Có |
| Algorithm | Thuật toán HMAC để xác thực thông điệp | Có (SHA-256, SHA-1, v.v.) |
Thuật toán phải khớp với thuật toán mà nhà cung cấp API của bạn yêu cầu. SHA-256 được khuyến nghị cho các triển khai hiện đại, trong khi SHA-1 được hỗ trợ cho các hệ thống cũ.
Cài đặt nâng cao#
Nhấp vào tùy chọn More để cấu hình các tham số Hawk bổ sung. Nếu để trống, các tham số này sẽ được tạo tự động.| Tham số | Mô tả | Mục đích |
|---|
| User | Mã định danh người dùng | Xác định người dùng đang thực hiện yêu cầu |
| Nonce | Chuỗi ngẫu nhiên do client tạo | Ngăn chặn tấn công phát lại bằng cách bảo đảm tính duy nhất của yêu cầu |
| ext | Thông tin dành riêng cho ứng dụng | Dữ liệu tùy chỉnh được gửi cùng với yêu cầu API |
| app | Mã định danh ứng dụng | Ngăn chặn việc mạo danh thông tin xác thực bằng cách ràng buộc thông tin xác thực với các ứng dụng cụ thể |
| dlg | ID ứng dụng ủy quyền | Xác định ứng dụng đã cấp thông tin xác thực |
| Timestamp | Dấu thời gian Unix | Ngăn chặn các yêu cầu nằm ngoài khoảng thời gian hợp lệ (bảo vệ chống phát lại) |
| Include payload hash | Tùy chọn hộp kiểm | Khi được bật, bao gồm một hàm băm của payload yêu cầu trong chữ ký |
Tính năng bảo mật#
Ngăn chặn tấn công phát lại:Timestamp: Bảo đảm yêu cầu chỉ hợp lệ trong một khoảng thời gian cụ thể
Nonce: Bảo đảm mỗi yêu cầu là duy nhất và không thể bị phát lại
Ràng buộc thông tin xác thực:app: Ngăn kẻ tấn công sử dụng thông tin xác thực được cấp cho các ứng dụng khác
dlg: Theo dõi ứng dụng nào đã ủy quyền thông tin xác thực
Apidog tự động tạo các giá trị Timestamp và Nonce nếu để trống, bảo đảm bảo mật phù hợp mà không cần cấu hình thủ công.
Bật "Include payload hash" khi API của bạn yêu cầu xác minh tính toàn vẹn của body yêu cầu. Thao tác này thêm payload vào quá trình tính toán chữ ký, ngăn chặn việc giả mạo body yêu cầu.