JWS 1 (18.12.2022 3M) Flashcards
Name RFC number of JWS.
RFC 7515
What JWS stands for?
JWS is JSON Web Signature. A data structure representing a digitally signed or MACed message.
What JWS is used for?
To provide integrity protection for an arbitrary sequence of octets.
How does JWS secure content?
JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs)
Name serializations of JWS.
Two closely related serializations for JWSs are defined.
- The JWS Compact Serialization
- JWS JSON Serialization
Name purpose of JWS Compact Serialization.
The JWS Compact Serialization is a compact, URL-safe representation intended for space-constrained environments such as HTTP Authorization headers and URI query parameters.
How does JWS JSON Serialization represent JWS?
The JWS JSON Serialization represents JWS as JSON object.
This representation is neither optimized for compactness nor URL-safe.
What is JWS payload?
The sequence of octets to be secured – a.k.a. the message. The payload can contain an arbitrary sequence of octets.
What is JWS Signature?
Digital signature or MAC over the JWS Protected Header and the JWS Payload.
What is Header Parameter?
A name/value pair that is member of the JOSE Header.
What base64 encoding is used for JWS?
Base64 encoding using the URL- and filename-safe character set defined in Section 5 of RFC 4648 (‘-‘ instead of ‘+’ and ‘_’ instead of ‘/’) with all trailing ‘=’ characters omitted.
Can you use multiple signatures with JWS Compact Serialization?
No.
But JWS JSON Serialization enables multiple digital signatures and/or MACs to be applied to the same content.
What is unsecured JWS?
A JWS that provides no integrity protection. Unsecured JWSs use the “alg” value “none”.
What is StringOrURI? How values of this type are compared?
The same as for JWT.
A JSON string value, with the additional requirement, that while arbitrary string values MAY be used, any value containing a “:”
character MUST be a URI.
StringOrURI values are compared as case-sensitive strings with no transformations or canonicalizations applied.
What does JOSE stand for?
JOSE (Javascript Object Signing And Encryption) describes the cryptographic operations used when creating JWS or JWE.
This is not HTTP header. It looks like a JSON object. For example {“typ”:”JWT”, “alg”:”HS256”}
It’s important to understand that JOSE header is a part of JWS and JWE standards.