グループ署名方式とは,自分をアイデンティティを隠しながら,自分がその組織に含まれていることを証明する電子署名方式です.
本記事ではグループ署名方式の中で,特に有名なBBS方式について紹介したいと思います.
匿名掲示板などのサービスでは, ユーザが不正を行った場合に, 追跡して責任を明らかにできる必要がある.しかし安易に追跡をできることは,プライバシの懸念をもたらす.
この問題の解決のために, 以下で定義する正当性, 偽造不可能,匿名・リンク不可能, 追跡可能, 失効可能を同時に満たしたい.
要求1. 正当性※ 正しいユーザはサービスを必ず利用できる.
要件2. 偽造不可能性※ 正しいユーザ以外は,サービスを利用できない.
要求3. 匿名性 誰もユーザを誰も特定できない.
要求4. リンク不可能性 誰もユーザを追跡(トラッキング)できない.
要求5. 追跡可能 ユーザの不正が発覚した場合, そのユーザを特定できる.
これらの要求を実現する手段に,グループ署名方式 が挙げられる.
グループ署名方式とは, 署名者が特定のグループに含まれることを証明するディジタル署名方式である.グループ署名方式の署名者は検証者から見て匿名であるが, 署名者の不正があった際は, GM(Group Manager) が署名から署名者を追跡できる.
グループ署名方式を,以下のエンティティ,手続き,セキュリティ要件から定義する.
GM メンバーを管理するエンティティであり, メンバーの追加, 失効, 追跡を行う.
メンバー 署名を行うエンティティ
検証者 メンバーによる署名を検証するエンティティ
グループ署名方式は以下の手続きから成り立つ.
GM はグループ署名のために,必要なパラメータと公開鍵と秘密鍵を生成する.
生成したパラメータと,公開鍵は公開する.
手続き1. 登録 メンバーが GM に登録を求める. GM はメンバーを登録し,
メンバーに対して署名に必要なクレデンシャルを送信する.
手続き2. 署名メンバーは署名したいメッセージに対する署名を生成し,
メッセージとともに署名を検証者に送信する.
手続き3. 検証 検証者は公開されているパラメータ,GM の公開鍵,署名, メッセージをもとに, 署名の検証を行う.
手続き4. 追跡 GM は署名をもとに, 署名したメンバーを追跡する.
グループ署名は以下のセキュリティ要件を満たす.
要件1. 正当性 メンバーが作成した署名は必ず検証者に受理される.
要件2. 偽造不可能性 メンバー以外が作成した署名は, 必ず検証者に棄却される.
要件3. 匿名性 GM 以外は, 署名からメンバーを特定できない
**要件4. リンク不可能性. **GM 以外は, 複数の署名が同じメンバーによって署名されているかわからない.
要件5. 追跡可能性 GM は署名からメンバーを特定できる.
BBS(Boneh, Boyen, Shacham) 署名法式とは,署名のサイズが小さいグループ署名方式である.BBSでは, ペアリング を用いることで署名サイズを短くしている.
この記事では,BBSの仕組みについて説明するため,以下についてそれぞれ述べる.
※特定の条件を持った値を保持していることを証明する技術
ペアリングは次のように定義される。
(厳密な定義ではないが、本記事を読みすすめるには問題ない。)
任意の
次の式が成り立つ。
BBSで用いられる暗号学的仮定について説明する.BBSでは,q-SDH仮定とDLIH仮定といった暗号学的仮定が用いられており,それぞれ以下のように定義する.
準同型写像
その上で,
このような仮定をDLDH(Decision Linear Diffie-Hellman)仮定 と呼ぶ.
DLDH仮定に基づいた公開鍵暗号方式である,線形暗号について説明する.
(BBSでは,線形暗号で暗号化されたユーザのIDを復号することで,追跡機能を実現する.)
以下では線形暗号の手続きと,健全性の証明について述べる.
線形暗号とは,DLDH仮定に基づいた公開鍵暗号方式である.
線形暗号の手続きを以下に示す.
以下の手順で鍵ペアを生成する.
以下の手順をもとに,平文
以下を計算することで,暗号文
線形暗号が正しく復号されることを,以下に証明する.
秘密の値を隠しながら,その秘密が複数の条件を満たすことを証明する,ゼロ知識証明について説明する.
またゼロ知識証明を含む電子署名である,知識の証明についても紹介する.
これらは特定の条件に当てはまる秘密の保持を証明する技術とも言える.
秘密の値
完全性
検証者は正しい証明を1または1に限りなく近い確率で受理する.
健全性
検証者は誤った証明を1に限りなく近い確率で棄却する.
ゼロ知識性
検証者は
秘密の値
知識証明の例として,離散対数の保有を証明した知識の証明を取り上げる.
秘密の値
以下の手順で平文
署名
正しい知識の証明
まず,
となる.よって,
である.
BBSの手続きについてそれぞれ述べる.次の章で詳細を述べるが,BBSはDLDH仮定のもとに,SDHのペア
GMは以下の手順で事前準備を行う.
グループ全体の公開鍵を
GMは以下の手順で,メンバ
メンバの秘密鍵を
メンバは以下の手順でメッセージ
メンバは
以下を計算する
署名
GMは以下の
BBSがグループ署名方式の要件を満たすことを証明する.
検証者が必ず正しい証明を受理することを以下に証明する.
具体的には,(1)を証明するため,
正しい
※要追記
以下の理由で,GM以外のエンティティは署名者を追跡できない.
※要追記
以下の理由で,GM以外のエンティティは署名者の署名
※要追記
署名
よってGMは署名
正当性, 偽造不可能,匿名・リンク不可能, 追跡可能, 失効可能を同時に満たすため,利用されるグループ署名方式について解説した.