JWS
JWS とは何ですか?
JWSJSON Web Signature(RFC 7515)。Base64URL で符号化したヘッダとペイロードに対する署名や MAC によって、任意コンテンツの完全性と発信元を保護する JOSE 形式。
JWS(RFC 7515)は BASE64URL(header) || '.' || BASE64URL(payload) の連結に対する署名により、ペイロードと署名者を結びつけます。Compact Serialization(ドット区切りの 3 つの Base64URL セグメント)はいわゆる JWT 形式のトークンに相当し、JSON Serialization(General/Flattened)は複数署名をサポートし、W3C Verifiable Credentials やパッケージ署名に利用されます。アルゴリズムは RFC 7518(HS256、RS256、PS256、ES256、EdDSA)および RFC 8037 で規定されます。実装では alg:none を拒否し、RSA 検証を HMAC に変えるアルゴリズム差し替え攻撃を防ぎ、信頼できる JWK Set に対して kid を検証し、有効期限を制限する必要があります。代表的な実装は jose、node-jose、jjwt、python-jwt です。
● 例
- 01
OAuth 2.0 の JWT アクセストークンは、クレーム集合に RS256 で署名した JWS Compact Serialization である。
- 02
署名付きのソフトウェア更新マニフェストを Flattened JWS として配布し、kid がベンダの JWK を指す。
● よくある質問
JWS とは何ですか?
JSON Web Signature(RFC 7515)。Base64URL で符号化したヘッダとペイロードに対する署名や MAC によって、任意コンテンツの完全性と発信元を保護する JOSE 形式。 サイバーセキュリティの 暗号 カテゴリに属します。
JWS とはどういう意味ですか?
JSON Web Signature(RFC 7515)。Base64URL で符号化したヘッダとペイロードに対する署名や MAC によって、任意コンテンツの完全性と発信元を保護する JOSE 形式。
JWS はどのように機能しますか?
JWS(RFC 7515)は BASE64URL(header) || '.' || BASE64URL(payload) の連結に対する署名により、ペイロードと署名者を結びつけます。Compact Serialization(ドット区切りの 3 つの Base64URL セグメント)はいわゆる JWT 形式のトークンに相当し、JSON Serialization(General/Flattened)は複数署名をサポートし、W3C Verifiable Credentials やパッケージ署名に利用されます。アルゴリズムは RFC 7518(HS256、RS256、PS256、ES256、EdDSA)および RFC 8037 で規定されます。実装では alg:none を拒否し、RSA 検証を HMAC に変えるアルゴリズム差し替え攻撃を防ぎ、信頼できる JWK Set に対して kid を検証し、有効期限を制限する必要があります。代表的な実装は jose、node-jose、jjwt、python-jwt です。
JWS からどのように防御しますか?
JWS に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
JWS の別名は何ですか?
一般的な別名: JSON Web Signature。
● 関連用語
- cryptography№ 565
JOSE
JavaScript Object Signing and Encryption。署名済み・暗号化済みのデータを JSON で表現する IETF 規格群(RFC 7515-7520、8037)の総称。
- cryptography№ 571
JWE
JSON Web Encryption(RFC 7516)。認証付き暗号と鍵ラップ・鍵共有を組み合わせ、ペイロードを機密に包む JOSE 形式。
- cryptography№ 572
JWK
RFC 7517 で定義された JSON Web Key。JOSE や OAuth 系プロトコルで利用される公開鍵・秘密鍵を表現する JSON オブジェクト。
- identity-access№ 574
JWT(JSON Web Token)
署名付き JSON クレームを運ぶ、コンパクトで URL セーフなトークン形式(RFC 7519)。アクセストークン、ID トークン、セッションコンテナとして広く使われる。
- identity-access№ 760
OpenID Connect (OIDC)
OAuth 2.0 上に構築された ID レイヤーで、クライアントが署名付き ID トークンを通じて利用者の身元を検証し、基本プロフィールを取得できるようにする。
- cryptography№ 321
デジタル署名
メッセージや文書の真正性・完全性・否認防止を証明する公開鍵暗号方式のメカニズム。
● 関連項目
- № 225COSE