Поскольку предпочтительнее подписать, затем зашифровать Мне было интересно, как другая сторона может подтвердить, что сообщение действительно?
Вариант использования I имел было следующее...
- Клиент аутентифицируется и получает токен доступа, токен доступа представляет собой подписанный JWT с сервера авторизации.
- Клиент проверяет, что JWT подписан ключом, который распознает клиент.
- Клиент отправляет запросы с JWT, переданным в заголовке в качестве токена Bearer.
- когда сервер получает запрос, он быстро проверяет, подписан ли JWT ключом, который распознает ресурсный сервер.
Теперь я хочу изменить это, чтобы клиенту не нужно было видеть содержимое.
- Клиент аутентифицируется и получает токен доступа, токен доступа JWE с сервера авторизации. Шифруется открытым ключом сервера ресурсов.
- ЭТО ВОЗМОЖНО? Клиент проверяет, что JWE подписан ключом, который распознает клиент.
- Клиент отправляет запросы с JWE, переданным в заголовке в качестве токена Bearer.
- ЭТО ВОЗМОЖНО? Сервер ресурсов проверяет, что JWE подписан ключом, который распознает сервер ресурсов.
- Сервер ресурсов расшифровывает JWE для получения утверждений JWT.
Учитывая описанный выше вариант использования, имеет больше смысла шифровать, а затем подписывать или подписывать, шифровать, а затем подписывать.