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

alg (заголовок алгоритма JOSE)

Параметр заголовка JOSE, который указывает алгоритм подписи или MAC для JWS (например, ES256) либо алгоритм управления ключами для JWE (например, RSA-OAEP-256); он зарегистрирован в RFC 7518 и более поздних RFC.
Другие написанияalg headeralgorithm header parameterenc

В JWS alg определяет, как вычисляется подпись: HS256, RS256, PS256, ES256, ES256K, Ed25519 и так далее или none. В JWE он определяет, как доставляется ключ шифрования содержимого, а enc указывает шифр содержимого. Значения — строки с учётом регистра из реестра IANA «JSON Web Signature and Encryption Algorithms».

Пока подпись не проверена, заголовком управляет атакующий, поэтому проверяющая сторона не должна позволять заголовку выбирать алгоритм: задайте для каждого ключа допустимый алгоритм (в идеале один) и отклоняйте всё остальное (RFC 8725, § 3.1). Библиотеки, которые выбирают алгоритм по alg, принимали none или использовали открытый ключ RSA как секрет HMAC.

RFC 9864 (2025) объявляет устаревшими «полиморфные» идентификаторы вроде EdDSA, смысл которых зависит от ключа, в пользу полностью определённых, таких как Ed25519, чтобы операцию определяло одно только имя алгоритма.

Стандарты и ссылки

Все термины