JWS
Что такое JWS?
JWSJSON Web Signature (RFC 7515) — формат JOSE, защищающий целостность и происхождение произвольного контента через цифровую подпись или MAC над Base64URL-кодированными заголовком и нагрузкой.
JWS (RFC 7515) связывает полезную нагрузку с подписавшим её через подпись по конкатенации BASE64URL(header) || '.' || BASE64URL(payload). Compact Serialization (три Base64URL-сегмента, разделённых точками) — это привычный формат JWT-подобных токенов; JSON Serialization (общая и плоская) поддерживает несколько подписей и применяется в W3C Verifiable Credentials и подписи пакетов. Алгоритмы перечислены в RFC 7518 (HS256, RS256, PS256, ES256, EdDSA) и RFC 8037. Разработчики обязаны отвергать alg:none, не допускать подмены алгоритма, превращающего проверку RSA в HMAC, сверять kid с доверенным JWK Set и ограничивать срок действия. Зрелые библиотеки: jose, node-jose, jjwt, python-jwt.
● Примеры
- 01
Токен доступа OAuth 2.0 в виде JWT — это JWS Compact Serialization, подписанный RS256 по набору claim'ов.
- 02
Подписанный манифест обновления распространяется как плоский JWS, kid которого указывает на JWK производителя.
● Частые вопросы
Что такое JWS?
JSON Web Signature (RFC 7515) — формат JOSE, защищающий целостность и происхождение произвольного контента через цифровую подпись или MAC над Base64URL-кодированными заголовком и нагрузкой. Относится к категории Криптография в кибербезопасности.
Что означает JWS?
JSON Web Signature (RFC 7515) — формат JOSE, защищающий целостность и происхождение произвольного контента через цифровую подпись или MAC над Base64URL-кодированными заголовком и нагрузкой.
Как работает JWS?
JWS (RFC 7515) связывает полезную нагрузку с подписавшим её через подпись по конкатенации BASE64URL(header) || '.' || BASE64URL(payload). Compact Serialization (три Base64URL-сегмента, разделённых точками) — это привычный формат JWT-подобных токенов; JSON Serialization (общая и плоская) поддерживает несколько подписей и применяется в W3C Verifiable Credentials и подписи пакетов. Алгоритмы перечислены в RFC 7518 (HS256, RS256, PS256, ES256, EdDSA) и RFC 8037. Разработчики обязаны отвергать alg:none, не допускать подмены алгоритма, превращающего проверку RSA в HMAC, сверять kid с доверенным JWK Set и ограничивать срок действия. Зрелые библиотеки: jose, node-jose, jjwt, python-jwt.
Как защититься от JWS?
Защита от JWS обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия JWS?
Распространённые альтернативные названия: JSON Web Signature.
● Связанные термины
- cryptography№ 565
JOSE
JavaScript Object Signing and Encryption — семейство стандартов IETF (RFC 7515-7520 и 8037) для представления подписанных и зашифрованных данных в JSON.
- cryptography№ 571
JWE
JSON Web Encryption (RFC 7516) — формат JOSE, конфиденциально упаковывающий полезную нагрузку с помощью аутентифицированного шифрования и схемы обёртки или согласования ключей.
- cryptography№ 572
JWK
JSON Web Key (RFC 7517) — JSON-объект, представляющий открытый или закрытый криптографический ключ для протоколов семейства JOSE и OAuth.
- identity-access№ 574
JWT (JSON Web Token)
Компактный URL-безопасный формат токена (RFC 7519) с подписанными JSON-утверждениями; используется как access token, ID token и контейнер сессии.
- identity-access№ 760
OpenID Connect (OIDC)
Слой идентификации поверх OAuth 2.0, позволяющий клиентам проверять подлинность пользователя и получать базовые сведения о профиле через подписанные ID-токены.
- cryptography№ 321
Цифровая подпись
Криптографический механизм с открытым ключом, доказывающий подлинность, целостность и невозможность отказа от авторства сообщения или документа.
● См. также
- № 225COSE