Изменение закрытого ключа шифрования JWT-токена

При выполнении аутентификации на сервере мобильной платформы формируется JWT-токен пользователя API или администратора. В целях повышения безопасности передачи данных, идентифицирующих субъекта, к JWT-токену применяется цифровая подпись с использованием закрытого ключа шифрования.

Алгоритм применения цифровой подписи:

  1. Расчёт контрольной суммы, вычисляемой определенным образом по содержимому передаваемого JWT-токена.

  2. Шифрование контрольной суммы закрытым ключом.

  3. Передача JWT-токена на сервер мобильной платформы с зашифрованной контрольной суммой.

  4. Получение данных и расшифровка контрольной суммы открытым ключом.

  5. Расчёт контрольной суммы полученного JWT-токена.

  6. Сравнение контрольных сумм, рассчитанных в шагах 4 и 5.

Цифровая подпись с закрытым ключом шифрования позволяет выявить несанкционированное изменение содержимого JWT-токена и предотвратить доступ злоумышленника к запрашиваемым данным. Контрольная сумма меняется при любом изменении JWT-токена.

По умолчанию на сервере мобильной платформы или в кластере, развёрнутом на основе Kubernetes, Deckhouse или OKD/OCP, применяется одинаковый закрытый ключ шифрования. При необходимости можно изменить закрытый ключ шифрования.

Для изменения закрытого ключа шифрования JWT-токена:

  1. Выполните одно из действий в зависимости от использования отказоустойчивого кластера:

--set django.deployment.secretKey=<закрытый ключ шифрования>

  1. Перезапустите мобильную платформу.

После выполнения действий будет изменен закрытый ключ шифрования JWT-токена, текущие JWT-токены субъектов будут невалидны. Для формирования валидных JWT-токенов выполните повторную аутентификацию.

См. также:

База знаний