SD-JWT

SD-JWTとは、署名付きのJSONデータに含まれる項目のうち、持ち主(Holder)が選んだものだけを相手に見せられるようにする仕組み(選択的開示)を定めた、IETFの標準のことです。

別表記:SD-JWT/Selective Disclosure for JSON Web Tokens/Selective Disclosure JWT/選択的開示JWT

どういう仕組みか

発行元(Issuer)は、見せるかどうかを選べるようにする項目について、中身をそのまま載せず、乱数(ソルト)と項目名と値から計算した短い値(ダイジェスト)を代わりに載せて署名します。乱数と項目名と値の組(Disclosure)は、署名の外に別に置かれます。

持ち主は、見せたい項目の組だけを添えて提示します。確認する側(Verifier)は、添えられた組から同じ計算をして、署名された中に一致する値があるかを確かめます。2025年11月にRFC 9901として発行されました。

どの項目でも伏せられるのか

伏せられるようにする項目を決めるのは発行元です。それ以外の項目はそのまま載せられ、常に相手に見えます。発行元は、どの項目にも対応しない値(デコイのダイジェスト、decoy digest)を混ぜて、項目の数を分かりにくくすることもできます。

よくある誤解:提示どうしは結び付けられないのか

伏せられるのは、見せなかった項目の値だけです。発行元の署名が付いたデータがそのまま渡るため、発行元と確認する側、あるいは確認する側どうしが情報を持ち寄れば、同じ証明の提示だと分かります。確認する側どうしの結び付きは、同じ内容の証明を複数まとめて発行し(バッチ発行)、提示ごとに使い分ければ防げます。

一覧に戻る