Перейти к содержимому

Пост канала

Серверная Админа | Компьютерные сети
  1. фото

    📝HMAC: три шага, которые защищают запрос от подделки 🟣Как работает HMAC: клиент и сервер заранее знают общий секретный ключ. Клиент берёт данные запроса, считает от них криптографическую подпись и отправляет её вместе с запросом. GET /api/user/42 X-Timestamp: 1714000000 X-Signature: 8f3a91... Сервер повторяет расчёт с тем же секретом. Подписи совпали - запрос не изменён и знает секрет. 🟣Что именно подписывается: обычно метод, путь, timestamp, nonce и тело запроса. Например: POST /api/payment 1714000000 abc123 {"amount":100} Из этой строки и секретного ключа получается HMAC: HMAC-SHA256(data, secret) 🟣Почему просто отправить секрет нельзя: клиент не передаёт ключ серверу при каждом запросе. Он используется только для вычисления подписи. Если атакующий изменит: {"amount":100} на: {"amount":100000} подпись уже не совпадёт. 🟣Но HMAC сам по себе не защищает от повторной отправки запроса. Если украсть настоящий запрос, его можно попробовать отправить ещё раз. Поэтому рядом используют timestamp и nonce: timestamp → запрос должен быть свежим nonce → конкретный запрос можно использовать один раз signature → данные нельзя незаметно изменить Такую схему часто используют API, вебхуки и взаимодействие между сервисами, где важно доказать не только «кто отправил запрос», но и что его содержимое не меняли по дороге. 🤖Бесплатный ChatGPT

    Открыть в MAX
    Просмотры
    320
    ER
    0,9%
    Реакции
    3