TGViewer
Security Lab Security Lab @crypto_security_lab · 2.78K subscribers
Post #624 663

Forwarded from Шпаргалки для айтишников

Как разработать безопасный доступ к веб-интерфейсу API для вашего сайта?

Когда мы открываем доступ к веб-интерфейсу API для пользователей, нам необходимо убедиться в том, что каждый вызов API аутентифицирован. Это означает, что пользователь должен быть тем, за кого он себя выдает.

В этой статье мы рассмотрим два распространенных способа:

1. Аутентификация на основе токенов

2. Аутентификация на основе HMAC (Hash-based Message Authentication Code).

На приведенной ниже схеме показано, как они работают.

Аутентификация на основе токенов
Шаг 1 - пользователь вводит свой пароль на клиенте, а тот отправляет его на сервер аутентификации.

Шаг 2 - сервер аутентификации проверяет подлинность учетных данных и генерирует маркер со сроком действия.

Шаги 3 и 4 - теперь клиент может отправлять запросы на доступ к ресурсам сервера с маркером в HTTP-заголовке. Такой доступ будет действителен до истечения срока действия маркера.

На основе HMAC
Этот механизм генерирует код аутентификации сообщения (подпись) с помощью хэш-функции (SHA256 или MD5).

Шаги 1 и 2 - сервер генерирует два ключа, один из которых - Public APP ID (открытый ключ), а другой - API Key (закрытый ключ).

Шаг 3 - теперь мы генерируем HMAC-подпись на стороне клиента (hmac A). Эта подпись формируется с помощью набора атрибутов, перечисленных на схеме.

Шаг 4 - клиент отправляет запросы на доступ к ресурсам сервера с hmac A в HTTP-заголовке.

Шаг 5. Сервер получает запрос, содержащий данные запроса и заголовок аутентификации. Он извлекает из запроса необходимые атрибуты и использует ключ API, хранящийся на стороне сервера, для генерации подписи (hmac B).

Шаги 6 и 7 - сервер сравнивает hmac A (сгенерированный на стороне клиента) и hmac B (сгенерированный на стороне сервера). Если они совпадают, то запрашиваемый ресурс возвращается клиенту.
More from @crypto_security_lab
  1. Apr 13, 2026Наверняка должен быть способ сделать секреты контейнеров менее опасными? Дорогой читатель,…
  2. Aug 12, 2025Принципы безопасности, лежащие в основе подхода 1Password к ИИ (5 минут чтения) Семь основ…
  3. Aug 12, 2025Исследователи описывают цепочку эксплойтов, отравленных Windows EPM, которая приводит к по…
  4. Aug 12, 2025Как работает SSH | Ключи, шифрование и реальные примеры https://www.youtube.com/watch?v=s-…
  5. Aug 1, 2025Firecrawl (репозиторий GitHub) Firecrawl — это API-сервис, который принимает URL-адрес, ск…
  6. Aug 1, 2025Создание дорожной карты безопасности облака: инструменты по уровням и когда они вам нужны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →