グループ署名。

一般的な公開鍵暗号アルゴリズム(RSAなど)では公開鍵と秘密鍵は『1対1』の関係となっている。そのため、ユーザ一人一人が秘密鍵を持ち、デジタル署名に使用するので、署名を検証する際に必要となる公開鍵から署名したユーザを特定することができてしまう。
自分の頭の中には、公開鍵暗号アルゴリズムは全てこういったものだとインプットされていた。
しかし、先日ある打ち合わせの場で"グループ署名"といった技術があることを初めて知った。
これはあるグループに属する個々のメンバーはそれぞれ異なる秘密鍵を持つが、そのグループの1つの公開鍵で各メンバーのデジタル署名を検証することができるというものであるらしい。つまり、公開鍵と秘密鍵は『1対n』の関係なのだ。これによって、署名者はあるグループに属しているということは確認できるが、個人を特定することは通常はできない。(ただし、秘密鍵・公開鍵を発行したものは追跡可能。)
Googleってみるといくつかヒットするので、そんなに新しい技術ではないようだ。
自分の頭が『公開鍵アルゴリズム = 公開鍵と秘密鍵は1対1』という固定観念ができあがっていたこと、それによってプライバシーのような問題を解決しようと考えなかったこと、何よりもこのような新しい技術の動向を認識できていなかったことに対して恥ずかしくたまらない。どんな理屈でこのようなことが実現できているのか理解したいところだが、残念ながらコアなところまではまだオープンになっていないようだ。