Нужно ли нам шифровать и подписывать полезную нагрузку, чтобы предотвратить подделку и обеспечить целостность?
Предполагается, что в заголовке есть носитель JWT, а API защищен с помощью HTTPS .
. Приведен пример полезной нагрузки, которая будет отправлена в API, который изменяет данные.профиля пользователя.
{"name":"bob","age":10,"gender":"m"}
Нужно ли нам делать md5 (полезные данные + закрытый ключ) для подписанных полезных данных?Пример:
md5(namebobage10genderm_private_key)
md5 code = fdd5a4a41fc0ab84d4792fa8b08d8e17
Новая полезная нагрузка будет
{"name":"bob","age":10,"gender":"m","signed":"fdd5a4a41fc0ab84d4792fa8b08d8e17"}
Когда сервер получает вызов API, он также выполняет шифрование полезной нагрузки md5 и сравнивает подписанное значение по порядку.для обеспечения целостности.
Пожалуйста, дайте мне знать ваши мысли по этому поводу, и действительно ли нам это нужно?Поскольку у нас уже есть HTTPS для API и JWT для аутентификации пользователя, вызывающего API.
EDIT
Это довольно субъективно, вызов API все еще уязвим для человекав средней атаке, где вызов API может быть перехвачен через прокси, прежде чем он достигнет HTTPS.Пока злоумышленник не знает алгоритм, любые данные, изменяемые во время перехвата, будут отклонены на сервере, поскольку подписанная полезная нагрузка была отправлена вместе с полезной нагрузкой для проверки на стороне сервера.
Просьба сообщить мне,Спасибо