2010·crypto
Modern

HMAC-signed (AWS SigV4)

Подписываем каждый запрос: канонизация + HMAC-SHA256(secret).

Плюсы
  • +Никаких передаваемых паролей
  • +Защищает payload
Минусы
  • Сложно для клиентов
  • Time-sync для timestamp
HMAC-signed request (AWS SigV4-style)
ClientServercanon = METHOD\nPATH\nTS\nBODYsig = HMAC-SHA256(secret, canon)request + Authorization=…Signature=siglookup secret by access_keyrecompute HMAC, compare200 OK
  1. 1.Client Clientcanon = METHOD\nPATH\nTS\nBODY
  2. 2.Client Clientsig = HMAC-SHA256(secret, canon)
  3. 3.Client Serverrequest + Authorization=…Signature=sig
  4. 4.Server Serverlookup secret by access_key
  5. 5.Server Serverrecompute HMAC, compare
  6. 6.Server Client200 OK
HMAC-signed (SigV4-style)

Клиент подписывает запрос HMAC-SHA256(secret, canonical). Сервер пересчитывает.

Network · DevTools
Запусти демо — сюда упадут все запросы.
Выбери запрос слева, чтобы посмотреть детали.