Hash-based Message Authentication Code
共有秘密鍵と暗号化ハッシュ関数による暗号方式
共有の鍵を有するので両者ともに署名付きトークンを生成・検証できる
commited date: 2024-10-14
共有秘密鍵と暗号化ハッシュ関数による暗号方式
共有の鍵を有するので両者ともに署名付きトークンを生成・検証できる
JWT
JSON Web Token #Security トークン自体の情報(例: 期限)を自身で構造化して保持することで、共有データベースへ保持・検索をする必要がないトークン。トークンが自身の情報を持つことで外部からのトークン取り消しのような操作はできない JWTは.によって3つのセクションの文字列に分割できる(署名がない場合3つ目のセクションは空) それぞれのセクションの文字列は構造化されたJSONをBase64URLエンコードした結果となっている ヘッダー 1つ目のセクションはヘッダーとして以下のような構造を持つ { "typ": "JWT", "alg": "RSA256" } algで指定する署名アルゴリズムは3つ目の署名セクションの解読にて用いる ペイロード 2つ目のセクションはトークン自体のペイロードになる。ペイロードの中身はJSONであれば自由だが、JWTクレームと呼ばれる役割が明示・明示された項目群が存在する。 例として iss(発行者)、sub(対象者)、exp(有効期限)などがある 署名 3つ目のセクションはHMACやRSAのような署名アルゴリズムを使った結果が保持される RFC 7519 - JSON Web Token (JWT)