(57)【要約】  署名付きコンテンツの修正を許容するとともに、修正前のコンテンツに付された署名に対応する検証鍵により、修正後の署名付きコンテンツの正当性を検証できるコンテンツの公開システムにおいて、公開されたコンテンツにおいて行われた変更内容の妥当性を確認する手段の提供。  コンテンツの公開システムに接続された署名付きコンテンツの変更装置が、署名付きコンテンツの変更要求に基づいて、署名付き変更済みコンテンツを作成する際に、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成しておく。前記署名付きコンテンツの検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を提供し、第三者がコンテンツの正当性を確認できるようにする。（図１２）
2009028513.tif 000002
【特許請求の範囲】
【請求項１】
署名付きコンテンツの変更要求に基づいて、署名付き変更済みコンテンツを作成する際に、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成し、
前記署名付きコンテンツの正当性を検証するための検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を提供することにより、コンテンツの正当性を保証するコンテンツの正当性保証方法。
【請求項２】
前記署名付きコンテンツの構成要素毎に、変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成し、
前記署名付き変更済みコンテンツの任意の構成要素を選択して、変更前の状態に復元し、正しく復元されたことを検証可能なこと、
を特徴とする請求項１に記載のコンテンツの正当性保証方法。
【請求項３】
前記署名付きコンテンツへの署名時に、前記署名付きコンテンツの各構成要素毎に、前記復元正当性証明用データを生成するための補助データが生成されており、
前記署名付きコンテンツの構成要素を示すインデックスにより変更箇所を受け付けるとともに、前記インデックスに対応する補助データを用いて、前記復元正当性証明用データを生成すること、
を特徴とする請求項１又は２に記載のコンテンツの正当性保証方法。
【請求項４】
更に、
前記署名付き変更済みコンテンツと、前記復元正当性証明用データを用いて、署名付き復元済みコンテンツを生成し、
前記変更前の署名付きコンテンツの検証鍵で、前記署名付き復元済みコンテンツを検証することにより、コンテンツの正当性を保証する請求項１乃至３いずれか一記載のコンテンツの正当性保証方法。
【請求項５】
前記署名付きコンテンツの構成要素毎に変更前の状態に復元し、該復元内容の正当性を証明できるよう生成された復元正当性証明用データを用いて、
前記署名付き変更済みコンテンツの任意の構成要素を変更前の状態に復元した署名付き復元済みコンテンツを生成する請求項４に記載のコンテンツの正当性保証方法。
【請求項６】
更に、
指定された署名付き変更済みコンテンツの、所定の開示規則に反して変更されている構成要素を探索し、復元を要求する請求項５に記載のコンテンツの正当性保証方法。
【請求項７】
更に、ユーザが前記署名付き変更済みコンテンツを復元する権限を有するか否かを判断する請求項４乃至６いずれか一に記載のコンテンツの正当性保証方法。
【請求項８】
前記署名付きコンテンツの修正は、不開示とする箇所を、任意のメッセージに置き換えることを許容する電子署名方式によって行われる請求項１乃至７いずれか一に記載のコンテンツの正当性保証方法。
【請求項９】
前記署名付きコンテンツに対する変更要求を受け付け、署名付き変更済みコンテンツを作成する手段と、
前記署名付き変更済みコンテンツを作成する際に、前記署名付きコンテンツに対する変更要求に基づいて、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成する手段と、を備える変更装置を含み、
前記署名付きコンテンツの正当性を検証するための検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を用いて、前記署名付き変更済みコンテンツを変更前の状態に復元し、正しく復元されたことを検証可能なコンテンツの公開システム。
【請求項１０】
前記変更装置は、前記署名付きコンテンツの構成要素毎に、変更前の状態に復元し、該復元内容の正当性を証明するための復元正当性証明用データを生成し、
前記署名付き変更済みコンテンツの任意の構成要素を選択して、変更前の状態に復元し、正しく復元されたことを検証可能なこと、
を特徴とする請求項９に記載のコンテンツの公開システム。
【請求項１１】
前記署名付きコンテンツへの署名時に、前記署名付きコンテンツの各構成要素毎に、前記復元正当性証明用データを生成するための補助データが生成されており、
前記変更装置は、前記署名付きコンテンツの構成要素を示すインデックスにより変更箇所を受け付けるとともに、前記インデックスに対応する補助データを用いて、前記復元正当性証明用データを生成すること、
を特徴とする請求項９又は１０に記載のコンテンツの公開システム。
【請求項１２】
更に、
前記署名付き変更済みコンテンツと、前記復元正当性証明用データを用いて、前記署名付き変更済みコンテンツを変更前の状態に復元した署名付き復元済みコンテンツを生成する復元装置を含み、
前記変更前の署名付きコンテンツの検証鍵を用いて、前記署名付き復元済みコンテンツの正当性を検証可能な請求項９乃至１１いずれか一に記載のコンテンツの公開システム。
【請求項１３】
前記復元装置は、前記署名付きコンテンツの構成要素毎に変更前の状態に復元し、該復元内容の正当性を証明できるよう生成された復元正当性証明用データを用いて、
前記署名付き変更済みコンテンツの任意の構成要素を変更前の状態に復元した署名付き復元済みコンテンツを生成する請求項１２に記載のコンテンツの公開システム。
【請求項１４】
更に、
指定された署名付き変更済みコンテンツの、所定の開示規則に反して変更されている構成要素を探索し、前記復元装置に対して復元を要求する手段を備える検証装置を含むこと、
を特徴とする請求項１２又は１３に記載のコンテンツの公開システム。
【請求項１５】
更に、前記復元装置が、ユーザが前記署名付き変更済みコンテンツを復元する権限を有するか否かを判断する手段を備える請求項１２乃至１４いずれか一に記載のコンテンツの公開システム。
【請求項１６】
前記変更装置による署名付きコンテンツの修正は、不開示とする箇所を、任意のメッセージに置き換えることを許容する電子署名方式によって行われる請求項９乃至１５いずれか一に記載のコンテンツの公開システム。
【請求項１７】
前記署名付きコンテンツに対する変更要求を受け付け、署名付き変更済みコンテンツを作成する手段と、
前記署名付き変更済みコンテンツを作成する際に、前記署名付きコンテンツに対する変更要求に基づいて、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成する手段と、を備えること、
を特徴とするコンテンツの変更装置。
【請求項１８】
所定の検証装置が、前記署名付き変更済みコンテンツの任意の構成要素を選択して、変更前の状態に復元し、正しく復元されたことを検証できるよう、
前記署名付きコンテンツの構成要素毎に、変更前の状態に復元し、該復元内容の正当性を証明するための復元正当性証明用データを生成する請求項１７に記載のコンテンツの変更装置。
【請求項１９】
前記署名付きコンテンツへの署名時に、前記署名付きコンテンツの各構成要素毎に、前記復元正当性証明用データを生成するための補助データが生成されており、
前記署名付きコンテンツの構成要素を示すインデックスにより変更箇所を受け付けるとともに、前記インデックスに対応する補助データを用いて、前記復元正当性証明用データを生成する請求項１７又は１８に記載のコンテンツの変更装置。
【請求項２０】
署名付きコンテンツの不開示とする箇所を、任意のメッセージに置き換えることを許容する電子署名方式によって前記署名付きコンテンツの修正を行なう請求項１７乃至１９いずれか一に記載のコンテンツの変更装置。
【請求項２１】
請求項１７乃至２０いずれか一に記載のコンテンツの変更装置によって生成された署名付き変更済みコンテンツと、前記復元正当性証明用データを用いて、前記署名付き変更済みコンテンツを変更前の状態に復元した署名付き復元済みコンテンツを生成する手段を備え、
前記変更前の署名付きコンテンツの正当性を検証するための検証鍵を用いて、正当性を検証可能な署名付き復元済みコンテンツを生成するコンテンツの復元装置。
【請求項２２】
前記署名付きコンテンツの構成要素毎に変更前の状態に復元し、該復元内容の正当性を証明できるよう生成された復元正当性証明用データを用いて、
前記署名付き変更済みコンテンツの任意の構成要素を変更前の状態に復元した署名付き復元済みコンテンツを生成する請求項２１に記載のコンテンツの復元装置。
【請求項２３】
更に、ユーザが前記署名付き変更済みコンテンツを復元する権限を有するか否かを判断する手段を備える請求項２１又は２２に記載のコンテンツの復元装置。
【請求項２４】
更に、
請求項１７乃至２０いずれか一に記載のコンテンツの変更装置によって生成された署名付き変更済みコンテンツの、所定の開示規則に反して変更されている構成要素を探索する手段を備える検証装置。
【請求項２５】
前記署名付きコンテンツに対する変更要求を受け付け、署名付き変更済みコンテンツを作成する処理と、
前記署名付き変更済みコンテンツを作成する際に、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成する処理とを署名付きコンテンツの変更装置として機能するコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の記載］
本発明は、日本国特許出願：特願２００７−２２２０９３号（２００７年８月２９日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。【０００２】
本発明は、コンテンツの公開システム及び該システムにおける公開コンテンツの保証方法に関し、特に、署名付きコンテンツの正当性を保証し、かつ、プライバシ情報の保護等のために当該コンテンツの修正を許容するコンテンツの公開システムにおける公開されたコンテンツの修正内容の正当性保証方法及び該方法の実施機能を備えるコンテンツの公開システムに関する。
【背景技術】
【０００３】
電子文書に代表される電子コンテンツにおいて、データの作成者（署名者）が誰なのかを確認することと、データが改ざんされていないことを保証する技術として、電子署名（デジタル署名）技術がある。電子署名は、コンテンツに対する改変を検知する技術であるが故に、署名を施した後に、その文書に対する一切の変更・加工（例えば、特定の記載の削除（不可視化）、単語の置き換え等）が許されなくなるという性質がある。【０００４】
近年、情報公開法に基づく行政機関等の情報公開を電子文書で行うことが考えられているが、これらの文書の中に記載されている個人情報や国家安全情報等を保護する必要もあり、署名付き電子文書の正当性（原本性）を確保しつつ、プライバシ情報や秘密情報の保護のための所要の修正を許容する技術が必要となっている。【０００５】
例えば、特許文献１に、更新の都度、更新者の電子署名と更新履歴情報を追加していき、その逆の操作を行うことで、更新前の文書の復元・検証を可能とする文書管理方法が提案されている。同公報記載の方法では、ある世代の電子文書の正当性を検証するためには、更新者による更新を復元し、その内容を検証していかねばならず、上記した電子文書による情報公開のセキュリティ要件「プライバシ情報・秘密情報の保護」を満足できない（同公報００４９−００５０参照）。【０００６】
このような事情から、上記した更新者によって削除等が行われた内容を漏らさずに署名付き電子文書の正当性（原本性）を検証可能とする技術が、特許文献２〜４、非特許文献２、３に提案されている。これらの技術は、紙文書における墨塗りになぞらえ「電子文書墨塗り技術」と称されている。【０００７】
上記した電子文書墨塗り技術では、変更内容に応じて署名付き文書に付された署名データを更新することにより、元の署名付き文書に署名をした際の検証鍵で検証可能としたまま、変更後の署名付き文書の開示したくない記載を削除（不可視化）し、あるいは、意味のない単語に置き換えることが考えられている。更に、非特許文献１には、改変者が選択した記載を任意の単語に置き換えることが可能な部分変更可能署名が提案されている。【０００８】
非特許文献４、５は、本発明に関連するカメレオンハッシュ関数に関する文献である。【０００９】
【特許文献１】特開２００３−２１６６０１号公報
【特許文献２】特開２００６−６０７２２号公報
【特許文献３】特開２００５−５１７３４号公報
【特許文献４】特開２００７−２７９２０号公報
【非特許文献１】" Sanitizable Signatures", G. Ateniese, D. H. Chou, B. de Medeiros, G. Tsudik. ESORICS2005．LNCS 3679， pp. 159-177, Springer, 2005.
【非特許文献２】”Content Extraction Signatures”，R. Steinfeld，L. Bull, Y. Zheng. ICISC 2001. LNCS 2288, pp. 285-304, Springer, 2001.
【非特許文献３】”Sanitizable Signature with Secret Information”，M. Suzuki, T. Isshiki, K. Tanaka. 情報とセキュリティシンポジウム(SCIS2006), 4A1-2, 2006.
【非特許文献４】" On the key-exposure problem in chameleon hashes.", G. Ateniese and B. deMedeiros.SCN’04, LNCS 3352. Springer, 2005.
【非特許文献５】"Chameleon hashing without key exposure. "，X. Chen, F. Zhang, and K. Kim. ISC’04, LNCS 3225, pp. 87-98. Springer, 2004.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
なお、上記特許文献１〜４及び非特許文献１〜５の全開示内容はその引用をもって本書に繰込み記載する。以下の分析は、本発明によって与えられたものである。【００１１】
しかしながら、上記した電子文書墨塗り技術では、署名付き文書に変更を行う者が、情報操作等を意図して、本来変更せずに開示すべきところに変更を施し、公開してしまう可能性を考慮する必要がある。【００１２】
特に、非特許文献１の技術を用いて置き換えが行われた場合、公開された文書のどの部分が置き換えられたのかを判別することは容易ではない。このとき、例えば、元の文書に署名を行った署名者（以下、「オリジナル署名者」と呼ぶ。）が存在すれば、再度、署名付き文書を生成し、元の署名付き文書（以下、「署名付きオリジナル文書」と呼ぶ。）に対して行われた変更内容の正当性を確認することが可能である。【００１３】
しかしながら、検証対象の文書が古い文書である場合、オリジナル署名者が存在しないこともあり、変更内容の正当性を確認できないケースも考えられる。あるいは、変更前の署名付きオリジナル文書そのものが保存されていればよいが、オリジナル文書流出の危険を回避するため等の理由により、オリジナル文書が破棄（削除）されていたり、署名・検証鍵の失効によってオリジナル文書に付けられた署名が無効となっていることも考えられる。【００１４】
以上のように、上記従来の電子文書墨塗り技術には、オリジナル署名者も、署名付きオリジナル文書も存在しないような場合に、公開された署名付き文書に行われた変更内容が正しいものであるか否かを確認することができないという問題点がある。【００１５】
本発明は、上記した事情に鑑みてなされたものであって、署名付きコンテンツの正当性を保証し、かつ、プライバシ情報の保護等のためのコンテンツの変更・修正を許容するとともに、署名付きコンテンツの修正・変更内容の妥当性を検証することが可能なコンテンツの公開システム及び該システムにおける公開コンテンツの保証方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１の視点によれば、署名付きコンテンツの修正を許容するとともに、修正前のコンテンツに付された署名に対応する検証鍵により、修正後の署名付きコンテンツの正当性を検証できるコンテンツの公開システムにおける下記公開されたコンテンツの正当性保証方法が提供される。この方法によれば、まず、前記コンテンツの公開システムに接続された署名付きコンテンツの変更装置が、署名付きコンテンツの変更要求に基づいて、署名付き変更済みコンテンツを作成する際に、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成する。そして、このコンテンツの公開システムが、前記署名付きコンテンツの検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を提供する。これにより、コンテンツの正当性の保証が実現される。【００１７】
本発明の第２の視点によれば、署名付きコンテンツの修正を許容するとともに、修正前のコンテンツに付された署名に対応する検証鍵により、修正後の署名付きコンテンツの正当性を検証できるコンテンツの公開システムが提供される。このコンテンツの公開システムは、前記署名付きコンテンツに対する変更要求を受け付け、署名付き変更済みコンテンツを作成する手段と、前記署名付き変更済みコンテンツを作成する際に、前記署名付きコンテンツに対する変更要求に基づいて、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成する手段と、を備える変更装置を含む。このコンテンツの公開システムは、前記署名付きコンテンツの検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を用いて、前記署名付き変更済みコンテンツを変更前の状態に復元し、正しく復元されたことを検証可能とする。【００１８】
本発明の第３の視点によれば、上記したコンテンツの公開システムを構成する装置並びに各装置としてコンピュータを機能させるためのコンピュータプログラムが提供される。
【発明の効果】
【００１９】
本発明によれば、修正された署名付きコンテンツから、修正前のコンテンツを証明付きで復元することが可能となる。またこの復元したコンテンツによって、公開時に行われた変更内容の妥当性を確認することも可能となる。従って、本発明は、公開される署名付きコンテンツに対する悪意の変更行為に対する抑止力となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る文書公開システムの構成を表した図である。
【図２】図１の署名装置の詳細構成を表したブロック図である。
【図３】図１の変更箇所指定装置の詳細構成を表したブロック図である。
【図４】図１の変更装置の詳細構成を表したブロック図である。
【図５】図１の検証装置の詳細構成を表したブロック図である。
【図６】図１の復元装置の詳細構成を表したブロック図である。
【図７】図１の構成中のオリジナル署名生成処理に関連する装置を表した参考図である。
【図８】オリジナル署名生成処理の流れを表したフローチャートである。
【図９】図１の構成中の署名付きオリジナル文書変更処理に関連する装置を表した参考図である。
【図１０】署名付きオリジナル文書変更処理の流れを表したフローチャートである。
【図１１】図１の構成中の署名付き変更済み文書検証処理に関連する装置を表した参考図である。
【図１２】署名付き変更済み文書検証処理の流れを表したフローチャートである。
【図１３】カメレオンハッシュ関数を用いた場合のオリジナル署名生成処理の流れを表したフローチャートである。
【符号の説明】
【００２１】
１０  署名装置
１０−１  オリジナル文書作成部
１０−２  署名生成部
２０  文書保管装置
３０  検証装置
３０−１  文書選択部
３０−２  復元箇所探索部
３０−３  署名検証部
４０  変更箇所指定装置
４０−１  文書選択部
４０−２  変更箇所探索部
５０  変更装置
５０−１  署名検証部
５０−２  変更処理部
６０  公開文書保管装置
７０  復元装置
７０−１  署名検証部
７０−２  復元可否判断部
７０−３  復元処理部
８０  復元正当性証明用データ保管装置
９０  署名鍵
１００  検証鍵
【発明を実施するための最良の形態】
【００２２】
続いて、本発明の好適な実施形態について図面を用いて詳細に説明する。以下の記述において、ａ＾｛ｂ｝はａのｂ乗を意味し、ａ＿｛ｂ｝は、ａに下付き添え字ｂがついた状態を示す。また、ビットの連結を”||”と表記する。例えば、ａ＝１０（バイナリ表記）、ｂ＝０１とした場合、ａ｜｜ｂ＝１００１となる。【００２３】
さらに、公開コンテンツの元となるオリジナル文書はすべて構成要素（以下、ブロックと呼ぶ）毎に分割されている。ブロックは、例えば、オリジナル文書の先頭から１バイトごとにひとつのブロックとして定めてもよいし、あらかじめ構造化された文書であったら、その構成要素を利用してもよい。以下、オリジナル文書をｎブロックから構成されているものとし、それぞれにインデックスが割り振られているものとする。すなわち、オリジナル文書Ｍは、Ｍ＿１，．．．，Ｍ＿ｎと表される。
［第１の実施形態］
図１は、本発明の一実施形態に係る文書公開システムの構成を表した図である。図１を参照すると、署名装置１０と、文書保管装置２０と、検証装置３０と、変更箇所指定装置４０と、変更装置５０と、公開文書保管装置６０と、復元装置７０と、復元正当性証明用データ保管装置８０と、を備えた文書公開システムが示されている。【００２４】
署名装置１０は、オリジナル文書を決定し、前記オリジナル文書に署名鍵９０を用いて署名を施すための情報処理装置である。例えば、署名装置１０は、公的文書を発行する文書発行事業者（署名者）によって運営される。また例えば、署名装置１０が公的文書への署名に用いられる場合、署名者は、省庁の大臣あるいは長官となる。【００２５】
文書保管装置２０は、署名付きオリジナル文書を保管する装置であり、変更箇所指定装置４０は、文書保管装置２０に保管されている署名付きオリジナル文書の中から、公開する文書を選択し、その文書に含まれる不開示情報を探索し、不開示情報を含むブロックのインデックスを指定する情報処理装置である。例えば、変更箇所指定装置４０は、文書発行者によって作成された文書の内容を検閲し、公開することの可否を決定する検閲事業者によって運営される。変更箇所指定装置４０が公的文書の検閲に用いられる場合、検閲者は、情報公開時に検閲を行う検閲部門の職員となる。【００２６】
検証装置３０は、公開文書保管装置６０に保管されている署名付き変更済み文書の中から、検証する文書を選択し、当該署名付き変更済み文書の署名の検証を行う情報処理装置である。また、検証装置３０は、当該署名付き変更済み文書のブロックのオリジナルの単語が必要ならばそのブロックのインデックスを指定し、復元装置７０に対し、復元処理を要求する。検証装置３０は、例えば、公開されている公的文書の確認を行う者によって運営される。検証装置３０が公的文書の検証に用いられる場合、検証者は、国民、その他の公的検証機関や裁判官等になる。【００２７】
変更装置５０は、変更箇所指定装置４０によって指定されたブロックの内容に変更を行うための情報処理装置である。例えば、変更装置５０は、検閲の結果にしたがって文書に適切な変更（例えば、墨塗り処理）を加える墨塗り事業者（変更者）によって運営される。変更装置５０が公的文書の変更に用いられる場合、墨塗り事業者は、例えば、情報公開の事務作業を行う部門の職員となる。【００２８】
公開文書保管装置６０は、不開示情報が変更された署名付き変更済み文書を保管する装置であり、復元正当性証明用データ保管装置８０は、復元処理に用いるデータを保管する装置である。【００２９】
復元装置７０は、検証装置３０から指定された復元すべきブロックを復元してもよいか否かを判断し、復元してよい場合はそのブロックの復元を行い、署名付き復元済み文書を生成する情報処理装置である。復元装置７０は、例えば、検証者の復元要求を受け付け、復元の要否を判断する復元事業者によって運営される。変更装置５０が公的文書の復元に用いられる場合、復元事業者としては、例えば、情報公開の事務作業を行う部門の職員や、受付窓口の職員が考えられる。【００３０】
上記した署名装置１０から復元正当性証明用データ保管装置８０までの各装置は、インターネット等のネットワークを介してそれぞれ互いに接続されている。但し、文書保管装置２０に関しては、保管している文書の漏洩防止のために、署名装置１０からの書き込み及び変更箇所指定装置４０からの読み込みのみを可能とするようにアクセス制限されているか、署名装置１０および変更箇所指定装置４０からのみアクセスできるネットワーク上に置かれている方が好ましい。【００３１】
署名装置１０には、署名鍵９０として、オリジナル署名者Ｓの署名鍵ｓｋ＿ｓが入力される。さらに、検証装置３０、変更箇所指定装置４０、変更装置５０、復元装置７０には署名鍵ｓｋ＿ｓに対応した検証鍵ｖｋ＿ｓ（図１では、検証鍵１００として表している。）が入力される。検証鍵ｖｋ＿ｓは、例えば署名の施された文書とともに各装置に入力されるものとしてもよいし、ネットワーク上に公開されているホームページなどから必要に応じて入手するのでもよい。さらに、この検証鍵は、既知のＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）技術を適用して発行された公開鍵証明書付のものであることが望ましい。【００３２】
続いて、図２〜図６の図面を参照して、上記した各装置の詳細構成について説明する。図２は、図１の署名装置１０の詳細構成を表したブロック図である。図２に示すように、署名装置１０は、オリジナル文書を作成するオリジナル文書作成部１０−１と、署名者の署名鍵及びオリジナル文書作成部１０−１で作成したオリジナル文書を入力として、署名つきオリジナル文書を生成する署名生成部１０−２と、を有する。【００３３】
図３は、図１の変更箇所指定装置４０の詳細構成を表したブロック図である。図３に示すように、変更箇所指定装置４０は、文書保管装置２０に保管されている署名付きオリジナル文書の中から、公開する文書を選択する文書選択部４０−１と、文書選択部４０−１によって選択された署名付きオリジナル文書を入力として、入力された署名付きオリジナル文書に含まれる不開示とすべき情報（不開示情報）を探索し、不開示情報を含むブロックのインデックスの集合ＳＩＮＤを出力する変更箇所探索部４０−２と、を有する。【００３４】
図４は、図１の変更装置５０の詳細構成を表したブロック図である。図４に示すように、変更装置５０は、変更箇所指定装置４０より指定された署名付きオリジナル文書を入力として、署名の検証を行い、検証結果（受理又は不受理）を出力する署名検証部５０−１と、前記署名検証部５０−１の出力が受理であった署名付きオリジナル文書と、不開示情報を含むブロックのインデックスの集合ＳＩＮＤを入力として、ＳＩＮＤで指定されたブロックの内容を変更し、署名付き変更済み文書と、復元用データとその証明用データと、を出力する変更処理部５０−２と、を有する。【００３５】
図５は、図１の検証装置３０の詳細構成を表したブロック図である。図５に示すように、検証装置３０は、検証鍵を入力として、公開文書保管装置６０に保管されている署名付き変更済み文書の中から、検証する文書を選択する文書選択部３０−１と、前記文書選択部３０−１が選択した署名付き変更済み文書を入力として、オリジナル文書のブロックのうち、公開すべきにも拘らず変更されているために復元を行う必要があるブロックを探索し、復元を要求するブロックのインデックスの集合ＲＩＮＤを出力する復元箇所探索部３０−２と、署名付き復元済み文書を入力とし、署名の検証を行い、検証結果（受理又は不受理）を出力する署名検証部３０−３と、を有する。【００３６】
図６は、図１の復元装置７０の詳細構成を表したブロック図である。図６に示すように、復元装置７０は、検証鍵ｖｋ＿ｓ、署名付き変更済み文書及び復元を要求されたブロックのインデックスの集合ＲＩＮＤを入力として、署名付き変更済み文書の検証を行い、検証結果（受理又は不受理）を出力する署名検証部７０−１と、署名検証部７０−１の出力が受理である署名付き変更済み文書と、インデックスの集合ＲＩＮＤを入力として、ＲＩＮＤで指定されたブロックの復元を行ってもよいか否かを確認し、確認結果（ＯＫ又はＮＧ）を出力する復元可否判断部７０−２と、復元可否判断部７０−２の出力がＯＫであった署名付き変更済み文書、インデックスの集合ＲＩＮＤ及び復元正当性証明用データを入力として、ブロックの復元を行い、署名付き復元済み文書を出力する復元処理部７０−３と、を有する。【００３７】
続いて、上記した文書公開システムによって、署名付き文書が変更・公開され、その変更内容が本発明によって導入された復元処理により検証されるまでの一連の動作について、図面を参照して詳細に説明する。【００３８】
［署名付きオリジナル文書作成処理］
まず、オリジナル署名者Ｓが、オリジナル文書を選択し、オリジナル文書に署名者Ｓの署名を施す処理について説明する。【００３９】
図７は、図１の構成中の署名付きオリジナル文書作成処理に関連する装置を表した参考図である。図８は、署名付きオリジナル文書作成処理の流れを表したフローチャートである。ここでは、例として、オリジナル署名者Ｓが、予めＩＣカードやフラッシュメモリ等に格納しておいた署名鍵ｓｋ＿ｓ、検証鍵ｖｋ＿ｓを用いて、オリジナル文書に署名を施すこととして説明する。【００４０】
オリジナル署名者Ｓは、前記ＩＣカードやフラッシュメモリにアクセスするインターフェースを介して、署名装置１０に対して、署名鍵ｓｋ＿ｓを入力する（ステップ１０１）。【００４１】
次に、オリジナル文書作成部１０−１は、これから署名を行うオリジナル文書Ｍを用意する（ステップ１０２）。オリジナル文書Ｍは、署名鍵ｓｋ＿ｓと同様に、ＩＣカードやフラッシュメモリ等を介して入力されるものとしてもよいが、オリジナル文書作成部１０−１がオリジナル署名者Ｓとの対話により作成するものとしてもよい。例えば、署名装置１０が、キーボード等のインターフェースと、ワードプロセッサ等を備えている場合には、これらを用いてオリジナル文書を作成することができる。【００４２】
次に、署名生成部１０−２は、オリジナル文書Ｍに、署名鍵ｓｋ＿ｓを用いて、電子署名を施し、署名付きオリジナル文書ＯＳＩＧを作成する（ステップ１０３）。【００４３】
さらに、署名生成部１０−２は、作成した署名付きオリジナル文書ＯＳＩＧを、文書保管装置２０に送信する（ステップ１０４）。署名付きオリジナル文書ＯＳＩＧを受信した文書保管装置２０は、署名付きオリジナル文書ＯＳＩＧを記憶する（ステップ１０５）。【００４４】
［署名付きオリジナル文書変更処理］
次に、公開対象の署名付きオリジナル文書のブロックのうち、個人情報等の不開示情報を含むブロックの内容を変更する処理について説明する。【００４５】
図９は、図１の構成中の署名付きオリジナル文書変更処理に関連する装置を表した参考図である。図１０は、署名付きオリジナル文書変更処理の流れを表したフローチャートである。ここでは、例として、上記した署名付きオリジナル文書作成処理により、複数の署名付きオリジナル文書が文書保管装置２０に記憶されていることとする。【００４６】
まず、文書選択部４０−１は、ユーザの指示に従い、文書保管装置２０に保管されている署名付きオリジナル文書の中から、これから公開する署名付きオリジナル文書ＯＳＩＧを選択する（ステップ２０１）。【００４７】
次に、変更箇所探索部４０−２は、選択された署名付きオリジナル文書ＯＳＩＧに含まれるブロックの中から、不開示情報を含むブロックを探索し、不開示情報を含むブロックのインデックスの集合ＳＩＮＤを生成する（ステップ２０２）。不開示情報を含むブロックの探索は、変更処理を行うユーザが行うこととしてもよいし、あるいは、例えば、オリジナル署名者Ｓの指定（開示／不開示）や、文書解析の結果を用いることもできる。【００４８】
オリジナル文書Ｍ＝Ｍ＿１、・・・、Ｍ＿ｎのうち、非開示情報を含むブロックをＭ＿｛ｉ＿１｝、・・・、Ｍ＿｛ｉ＿ｋ｝とすると、ＳＩＮＤ＝｛ｉ＿１，・・・，ｉ＿ｋ｝となる。但し、ｉ＿１，・・・，ｉ＿ｋはそれぞれ１からｎまでの間の整数であり、ｋはｎ以下である。【００４９】
次に、変更箇所探索部４０−２は、変更装置５０に対して、署名付きオリジナル文書と変更箇所のインデックスの組（ＯＳＩＧ、ＳＩＮＤ）を送信する（ステップ２０３）。【００５０】
署名付きオリジナル文書ＯＳＩＧと不開示情報を含むブロックのインデックスの組（ＯＳＩＧ、ＳＩＮＤ）を受信した変更装置５０は、署名検証部５０−１により、検証鍵ｖｋ＿ｓを用いて、署名付きオリジナル文書ＯＳＩＧの検証を行う（ステップ２０４）。ここで、署名付きオリジナル文書ＯＳＩＧに付された署名が不正であった場合は、署名検証部５０−１は、不受理とし、以降の動作を中止する。【００５１】
署名検証部５０−１により、署名が正当性が確認されると、次に、変更処理部５０−２が、不開示情報を含むブロックのインデックスの集合ＳＩＮＤで指定されたブロックの内容を変更し、署名付き変更済み文書ＳＳＩＧを生成する（ステップ２０５）。【００５２】
このとき、変更後のブロックの内容は、変更前の内容を推定できないようになっていればよく、例えば、メッセージのハッシュ値やランダムなものであってもよいし、変更装置５０を操作するユーザが、適宜キーボード等を介して入力した内容でもよい。あるいは、ＩＣカードやフラッシュメモリ等に格納しておいた内容に置き換える処理であってもよい。さらに、変更処理部５０−２は、公開文書保管装置６０に対し、生成した署名付き変更済み文書ＳＳＩＧを送信する。【００５３】
また、変更処理部５０−２は、復元正当性証明用データ保管装置８０に対し、不開示情報を含むブロックのインデックスの集合ＳＩＮＤで指定されたブロックを復元し、その復元の正当性を証明するためのデータ（以下、復元用データ及び復元正当性証明用データ）ＲＩを送信する。【００５４】
公開文書保管装置６０は、受信した署名付き変更済み文書ＳＳＩＧを記憶し、公開する。公開は、例えば、インターネット上にアップロードすることにより行われる。また、復元正当性証明用データ保管装置８０は、受信した復元用データ及び復元正当性証明用データＲＩを記憶する（ステップ２０６）。【００５５】
［署名付き変更済み文書検証処理］
次に、公開された署名付き変更済み文書を検証する処理について説明する。【００５６】
図１１は、図１の構成中の署名付き変更済み文書検証処理に関連する装置を表した参考図である。図１２は、署名付き変更済み文書検証処理の流れを表したフローチャートである。ここでは、例として、上記した署名付きオリジナル文書変更処理により、複数の署名付き変更済み文書が公開文書保管装置６０に記憶されていることとする。【００５７】
まず、文書選択部３０−１は、ユーザの指示に従い、公開文書保管装置６０に保管されている署名付き変更済み文書の中から、正当性を検証する署名付き変更済み文書ＳＳＩＧを選択する（ステップ３０１）。【００５８】
次に、復元箇所探索部３０−２は、選択された署名付き変更済み文書ＳＳＩＧの変更されたブロックの中から、復元を要求するブロックを探索し、そのインデックスの集合ＲＩＮＤを生成する。復元を要求するブロックの探索は、例えば、オリジナル署名者Ｓが予め指定内容（開示／不開示）や、文書解析の結果を用いることができる。【００５９】
復元を要求するブロックが存在する場合、復元箇所探索部３０−２は、復元装置７０に対し、署名付き変更済み文書と復元を要求するインデックスの組（ＳＳＩＧ、ＲＩＮＤ）を送信する（ステップ３０２のＹｅｓ）。【００６０】
署名付き変更済み文書ＳＳＩＧと復元要求ブロックのインデックスの集合ＲＩＮＤを受信した復元装置７０の署名検証部７０−１は、検証鍵ｖｋ＿ｓを用いて、署名付き変更済み文書ＳＳＩＧの検証を行う（ステップ３０４）。ここで、署名が不正であったら、署名が不正である旨を出力し、停止する。【００６１】
一方、署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合、復元可否判断部７０−２は、復元要求ブロックのインデックスの集合ＲＩＮＤで指定されているブロックの復元を行ってよいか否かを判定する（ステップ３０５）。復元を認めるか否かは、復元装置７０を操作しているユーザの権限や署名付き変更済み文書ＳＳＩＧの内容によって決定される。ここで、復元を行ってはいけないブロックが存在した場合、復元可否判断部７０−２は、復元不可能と出力し、以降の処理を停止する。【００６２】
なお、復元を行ってはいけないブロックが存在した場合であっても、直ちに停止とせず、復元可能な部分だけ復元を行なうこととしてもよい。例えば、当初入力された復元要求ブロックのインデックスの集合ＲＩＮＤを、復元可能なブロックのインデックスの集合に書き換えることで、以下の処理を継続することができる。【００６３】
復元要求ブロックのインデックスの集合ＲＩＮＤで指定されたすべてのブロックを復元してよいと判断された場合、復元処理部７０−３は、署名付き変更済み文書ＳＳＩＧ、復元要求箇所のインデックス集合ＲＩＮＤ、復元用データ及び復元正当性証明用データＲＩを用いて、復元要求箇所のインデックスの集合ＲＩＮＤで指定されたインデックスを持つブロックの内容を復元し、署名付き復元済み文書ＲＳＩＧを生成する。更に、復元処理部７０−３は、検証装置３０に対して、生成した署名付き復元済み文書ＲＳＩＧを送信する（ステップ３０６）。【００６４】
署名付き復元済み文書ＲＳＩＧを受信した検証装置３０の署名検証部３０−３は、検証鍵ｖｋ＿ｓを用いて署名付き復元済み文書ＲＳＩＧの検証を行う。また上記ステップ３０２で、変更対象ブロックがなくそのまま公開されたケース等、復元を要求するブロックが存在しないと判定された場合も、署名検証部３０−３は、検証鍵ｖｋ＿ｓを用いて署名付き変更済み文書ＳＳＩＧの検証を行う（ステップ３０３）。署名検証部３０−３は、署名付き復元済み文書ＲＳＩＧや署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合は受理とし、署名が不正であった場合は、不受理を出力する。【００６５】
以上のとおり、本実施形態では、署名付き変更済み文書を変更前の状態に復元するための復元用データと、その復元内容の正当性を証明するための復元正当性証明用データと用いて復元することが可能となる。【００６６】
上記本発明の第１の実施形態に係る文書公開システムは、以下のように実際の事業（文書公開事業）に適用することができる。例えば、個人情報等を含む公開対象文書を作成した文書発行者（署名装置１０のユーザ）が、署名鍵ｓｋ＿ｓと、それに対応した検証鍵ｖｋ＿ｓを決定し、例えば、新聞・ホームページなどによって検証鍵を公知する。さらに、検閲事業者（変更箇所指定装置４０のユーザ）、墨塗り事業者（変更装置５０のユーザ）、公開対象文書の受け手である一般ユーザ（検証装置３０のユーザ）、復元事業者（復元装置７０のユーザ）に対し、検証鍵を送付する。【００６７】
次に、文書発行者は、署名鍵ｓｋ＿ｓを署名装置１０に入力し、自身の署名のついた公開対象文書の発行を行い、文書保管装置２０に保管する。【００６８】
次に、検閲事業者は、変更箇所指定装置４０を用いて、文書保管装置２０に保管されている署名付きオリジナル文書の内容を検閲し、文書を公開するに当たって内容を変更（例えば、墨塗り）する必要がある箇所の指定を行い、墨塗り事業者に送信する。【００６９】
墨塗り事業者は、変更装置５０を用いて、指定された箇所に変更を加え、同時に復元正当性証明用データを生成し、それぞれ公開文書保管装置６０と復元正当性証明用データ保管装置８０に保管する。【００７０】
一般ユーザは、自身のパーソナルコンピュータ等の検証装置３０を用いて、公開文書保管装置６０に保管されている署名付き変更済み文書の内容を確認し、復元を求める箇所の指定を行い、復元事業者に送信する。【００７１】
復元事業者は、復元正当性証明用データ保管装置８０から復元正当性証明用データを受信し、復元装置７０を用いて、一般ユーザから復元要求された箇所を復元してよいか判断し、復元してよいと判断された場合、復元を行い、署名付き復元済み文書をユーザに送信する。復元してはいけないと判断された場合、その旨を一般ユーザに伝える。【００７２】
復元可否の判断においては、例えば、復元要求したユーザが、変更された箇所に記載されていた個人情報を持つ個人本人や、その親族である場合は復元可、その他の人間であったら不可、というルール（開示規則）を設定してもよい。また、本事業が適正に行われているか否かを検査する監査人等には、特別な権限を与えることとしてもよい。【００７３】
また、墨塗り事業者は、文書発行者あるいは検閲事業者からアウトソースされ、墨塗りを行うことにより手数料などを徴収することも可能である。さらに、ユーザからの復元要求に対応することにより、手数料等を徴収することも可能である。【００７４】
なお、検閲事業者、墨塗り事業者は、異なる事業者であっても、同一事業者であってもよい。さらに、墨塗り事業者、復元事業者は異なる事業者であっても、同一事業者であってもよい。
［第２の実施形態］
続いて、上記第１の実施形態と同等の構成で、特許文献２−４等に記載の電子文書墨塗り技術を適用した本発明の第２の実施形態を説明する。本発明は、特許文献１、２、３及び非特許文献３等に記載の電子文書墨塗り技術を用いることができるが、ここでは、非特許文献３に記載されている電子文書墨塗り技術を用いるものとして説明する。【００７５】
上記引用をもって、上記特許文献１−３の記載事項は、本書に繰込み記載されているものとする。【００７６】
まず、本実施形態の説明の前に、非特許文献３で紹介されている署名方式について説明する。非特許文献３の署名方式は、署名付き文書に対する変更として、取り除く、あるいは、意味のない単語に置き換えることのみを考慮した方式である。また、非特許文献３の署名方式は、ペアリングを用い、ランダムオラクルと呼ばれる理想的なハッシュ関数の存在を仮定し、さらに数学的な仮定をおくことにより安全性を証明できる技術である。【００７７】
非特許文献３の署名方式は、鍵セットアップ、署名生成、墨塗り、署名検証の４つのステップから構成される。ここでは、署名者Ａが電子文書に署名を施し、Ａの署名がついた電子文書に含まれる不開示情報に対して、墨塗り者Ｓが墨塗りを施し、墨塗り後の文書を公開、公開された墨塗り済み電子文書を検証者Ｖが検証するものとする。以下、上記した各ステップについて順次説明する。【００７８】
［鍵セットアップ］
まず、鍵セットアップについて説明する。署名者Ａは、セキュリティパラメータｋを決定する。次に、ｋビットの素数ｑを選び、位数ｑのペアリング組（Ｇ＿１，Ｇ＿２，Ｇ＿Ｔ，ｅ（・，・））を生成する。つまり、Ｇ＿１，Ｇ＿２，Ｇ＿Ｔの要素数はｑである。ペアリング組（Ｇ＿１，Ｇ＿２，Ｇ＿Ｔ，ｅ（・，・））のＧ＿１，Ｇ＿２，Ｇ＿Ｔが同じ位数ｑを持つ有限群であり、ｅ（・，・）が Ｇ＿１×Ｇ＿２からＧ＿Ｔへの写像である。任意のＧ＿１の要素ｇ、Ｇ＿２の要素ｈ、１からｑ−１までの整数の集合（以下、Ｚ＊＿ｑと記す）の元ｘ、ｙに対して、ｅ（ｇ＾ｘ，ｈ＾ｙ）＝ｅ（ｇ，ｈ）＾｛ｘｙ｝が成立し、ｇをＧ＿１の生成元、ｈをＧ＿２ の生成元としたとき、ｅ（ｇ，ｈ）≠１が成立するものである。【００７９】
次に署名者Ａは、Ｇ＿２の生成元ｇ＿２と、Ｚ＊＿ｑからランダムにｘを選び、Ｙ＝ｇ＿２＾｛ｘ｝を計算する。【００８０】
また、任意長のバイナリ系列の集合からＧ＿｛１｝へのハッシュ関数Ｈを生成する。【００８１】
このとき、署名者Ａの検証鍵ｖｋを（ｋ，ｑ，（Ｇ＿１，Ｇ＿２，Ｇ＿Ｔ，ｅ），ｇ＿２，Ｙ，Ｈ）とし、公開する。また、検証鍵ｖｋに対応する署名鍵ｓｋを（ｘ，ｖｋ）とする。【００８２】
［署名生成］
次に署名生成について説明する。ここでは、署名鍵ｓｋ＝（ｘ，ｖｋ）を持つ署名者Ａが、ｎ個のブロックで構成されるオリジナル文書Ｍ＝（Ｍ＿１，Ｍ＿２，・・・，Ｍ＿ｎ）に対して署名を施すものとして説明する。【００８３】
まず署名者Ａは、ｋビットのｒ＿１，・・・，ｒ＿｛ｎ＋１｝をランダムに選び、Ｒ＝（ｒ＿１，・・・，ｒ＿｛ｎ＋１｝）とする。【００８４】
次に、署名者Ａは、ｗ＿ｉ＝Ｈ（Ｍ＿ｉ｜｜ｒ＿ｉ）を計算し、ｗ＿｛ｎ＋１｝＝Ｈ（ｗ＿１｜｜ｗ＿２｜｜・・・｜｜ｗ＿ｎ，ｒ＿｛ｎ＋１｝）を計算する（但し、ｉは１，２，・・・，ｎとする。）。【００８５】
さらに、署名者Ａは、ｉ＝１，２，・・・，ｎ＋１に対して、Ａ＿ｉ＝（ｗ＿ｉ）＾ｘを計算し、Ｄ＝Ａ＿１×Ａ＿２×・・・×Ａ＿｛ｎ＋１｝を計算する。このとき、オリジナル署名データσ＝（Ｍ，Ｄ，Ｒ）とし、墨塗り用データをＳＩ＝｛Ａ＿１，・・・，Ａ＿ｎ｝とする。また、このとき、署名者Ａが墨塗りを望まないブロックｉがある場合には、墨塗り用データにＡｉが含まれないようにすることもできる。【００８６】
［墨塗り］
次に墨塗りについて説明する。墨塗り者Ｓは、検証鍵ｖｋ、オリジナル文書Ｍに対する署名データσ＝（Ｍ，Ｄ，Ｒ）と墨塗り用データＳＩ＝｛Ａ＿１，・・・，Ａ＿ｎ｝及び墨塗りを施すブロックのインデックス集合ＳＩＮＤ＝｛ｊ＿１，・・・，ｊ＿ｋ｝ を入力として受け取る。ここで、墨塗りを施すブロックのインデックスを示すｊ＿１，・・・，ｊ＿ｋは整数で、１≦ｊ＿１＜ｊ＿２＜・・・＜ｊ＿ｋ≦ｎを満たすものとする。【００８７】
墨塗り者Ｓは、まず、ｉ＝１，２，・・・，ｎに対して、ｗ＿ｉ＝Ｈ（Ｍ＿ｉ｜｜ｒ＿ｉ）を計算する。次に、ｅ（ｗ＿ｉ，Ｙ）＝ｅ（Ａ＿ｉ，ｇ＿２）を確認する。等式が成り立たないｉが存在したら、オリジナル署名データσは不正な署名であると出力して停止する。【００８８】
すべてのｉで等式が成立し、オリジナル署名データσの正当性が確認できた場合、墨塗り者ＳはＳＩＮＤに含まれるインデックスｊ＿１，・・・，ｊ＿ｋに対して、Ｄ’＝Ｄ／（Ａ＿｛ｊ＿１｝×・・・×Ａ＿｛ｊ＿ｋ｝）を計算する。また、墨塗り者Ｓは、ＭからＭ＿｛ｊ＿１｝，・・・，Ｍ＿｛ｊ＿ｋ｝を除いた文書を文書Ｍ’とする。さらに、墨塗り者Ｓは、Ｒからｒ＿｛ｊ＿１｝，・・・，ｒ＿｛ｊ＿ｋ｝を取り除いた集合をＲ’とし、ＩＮＤ＝｛１，２，・・・，ｎ｝／ＳＩＮＤとする。つまり、ＩＮＤは、１からｎまでの整数の集合からｊ＿１，・・・，ｊ＿ｋを除いた公開対象ブロックのインデックスである。このとき、墨塗り済み署名データσ’＝（Ｍ’，Ｄ’，Ｒ’，ｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝，ＩＮＤ）とする。【００８９】
ここで、墨塗り済み署名データσ’において、ＳＩＮＤで指定されたブロックの元のメッセージは削除され、メッセージに関する情報はｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝とされる。また、ｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝はハッシュ値である。一般に、ハッシュ関数は、ハッシュ値から元のデータに関する情報は漏れない、という性質を満たすため、ｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝から元のメッセージＭ＿｛ｊ＿１｝，・・・，Ｍ＿｛ｊ＿ｋ｝に関する情報は漏れないことが保証される。【００９０】
［署名検証］
次に、署名検証について説明する。検証者Ｖは、検証鍵ｖｋ、墨塗り済み署名データσ’を入力として受け取る。【００９１】
次に、検証者Ｖは、墨塗り済み署名データσ’のＩＮＤに含まれるインデックスｉに対して、ｗ＿ｉ＝Ｈ（Ｍ＿ｉ||ｒ＿ｉ） を計算する。ここで、ＩＮＤは１からｎまでの整数の集合からｊ＿１，・・・，ｊ＿ｋを除いたものであるため、σ’に含まれるｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝と合わせることで、ｗ＿１，・・・，ｗ＿｛ｎ｝が揃うことになる。【００９２】
更に、検証者Ｖは、ｗ＿｛ｎ＋１｝＝Ｈ（ｗ＿１｜｜・・・｜｜ｗ＿ｎ，ｒ＿｛ｎ＋１｝）を計算する。その上、検証者Ｖは、ｗ＝ｗ＿１×・・・×ｗ＿｛ｎ＋１｝として、ｅ（Ｄ’，ｇ＿２）＝ｅ（ｗ，Ｙ）が成立することを確認する。等式が成り立たない場合は、不正な署名であり「不受理」を出力して停止する。【００９３】
ｅ（Ｄ’，ｇ＿２）＝ｅ（ｗ，Ｙ）が成立した場合は、正当な署名がなされているものとして、「受理」を出力する。【００９４】
続いて、上記した第１の実施形態と同等の構成で動作する本発明の第２の実施形態の動作について説明する。本実施形態では、オリジナル文書に対する変更として、元のメッセージから元のメッセージのハッシュ値への変更を行う。また、本実施形態では、署名者Ａは、署名付き文書を生成する時に、復元正当性証明用補助データＡＲＩを生成する。復元正当性証明用補助データは、変更者Ｓ（上記非特許文献３の署名方式の墨塗り者Ｓに相当）が変更を行う際に、復元用データ及び復元正当性証明用データＲＩを生成するために利用するデータである。【００９５】
本実施形態では、オリジナル署名者Ａの検証鍵ｖｋ＿ｓとして、上記非特許文献３の署名方式と同様に生成された（ｋ，ｑ，（Ｇ＿１，Ｇ＿２，Ｇ＿Ｔ，ｅ）,ｇ＿２，Ｙ，Ｈ）が公開されていることとする。また、オリジナル署名者Ａは、検証鍵ｖｋ＿ｓに対応する署名鍵ｓｋ＿ｓとして（ｘ）を保持しているものとする。【００９６】
再度、図７、図８を参照して、署名付きオリジナル文書作成処理について説明する。オリジナル署名者Ａは、署名鍵ｓｋ＿ｓを署名装置１０に入力する（ステップ１０１）。【００９７】
次に、オリジナル署名者Ａは、オリジナル文書作成部１０−１を用いて、これから署名を行うオリジナル文書Ｍを作成する（ステップ１０２）。【００９８】
次に、オリジナル署名者Ａは、署名鍵ｓｋ＿ｓとオリジナル文書Ｍを署名生成部１０−２に入力し、署名付きオリジナル文書ＯＳＩＧの生成を行う（ステップ１０３）。このとき、署名生成部１０−２は、復元正当性証明用補助データＡＲＩ＝｛ＳＩ，ｒ＿１，・・・，ｒ＿ｎ｝を含んだ署名付きオリジナル文書ＯＳＩＧ＝（σ，ＳＩ，ＡＲＩ）を生成する。【００９９】
署名生成部１０−２は、作成した署名付きオリジナル文書ＯＳＩＧを、文書保管装置２０に送信する（ステップ１０４）。署名付きオリジナル文書ＯＳＩＧを受信した文書保管装置２０は、署名付きオリジナル文書ＯＳＩＧを記憶する（ステップ１０５）。【０１００】
次に、再度、図９、図１０を参照して、署名付きオリジナル文書変更処理について説明する。まず、変更者Ｓは、変更箇所指定装置４０の文書選択部４０−１を用いて、公開する署名付きオリジナル文書ＯＳＩＧを選択する（ステップ２０１）。【０１０１】
次に、変更者Ｓは、変更箇所探索部４０−２により、署名付きオリジナル文書ＯＳＩＧのブロックのうち非開示情報を含むブロックを探索し、非開示情報を含むブロックのインデックス集合ＳＩＮＤ＝｛ｉ＿１,・・・,ｉ＿ｋ｝を生成する（ステップ２０２）。【０１０２】
次に、変更箇所指定装置４０は、変更装置５０に対して、署名付きオリジナル文書ＯＳＩＧ及び変更対象インデックス集合ＳＩＮＤを送信する（ステップ２０３）。【０１０３】
変更者Ｓは、検証鍵ｖｋ＿ｓと署名付きオリジナル文書ＯＳＩＧを署名検証部５０−１に入力し、署名検証を行う（ステップ２０４）。ここで、オリジナル署名データσが不正であった場合、署名検証部５０−１は不受理を出力し、オリジナル署名データσが正当であった場合、署名検証部５０−１は、変更処理部５０−２に対して署名付きオリジナル文書ＯＳＩＧ及びインデックス集合ＳＩＮＤを送信する。【０１０４】
復元正当性証明用補助データＡＲＩが含まれた署名付きオリジナル文書ＯＳＩＧ及び変更対象インデックス集合ＳＩＮＤを受信した変更処理部５０−２は、変更対象インデックス集合ＳＩＮＤに従い、墨塗り（元のメッセージのハッシュ値への変更）を実行し、署名付き変更済み文書ＳＳＩＧ＝（σ’）を生成する。【０１０５】
さらに、変更処理部５０−２は、墨塗り前の元のメッセージ及びＳＩ’＝｛Ａ＿｛ｉ＿１｝，・・・，Ａ＿｛ｉ＿ｋ｝｝を含んだ復元正当性証明用データＲＩ＝｛Ｍ＿｛ｉ＿１｝，・・・，Ｍ＿｛ｉ＿ｋ｝，ＳＩ’,ｒ＿｛ｉ＿１｝,・・・，ｒ＿｛ｉ＿ｋ｝｝を生成する。【０１０６】
変更処理部５０−２は、上記のようにして生成した署名付き変更済み文書ＳＳＩＧを公開文書保管装置６０に、復元正当性証明用データＲＩを復元正当性証明用データ保管装置８０に送信する（ステップ２０５）。【０１０７】
公開文書保管装置６０は、受信した署名付き変更済み文書ＳＳＩＧを記憶し、公開する。また、復元正当性証明用データ保管装置８０は、受信した復元正当性証明用データＲＩを記憶する（ステップ２０６）。【０１０８】
次に、再度、図１１、図１２を参照して、署名付き変更済み文書の検証処理について説明する。まず、検証者Ｖは、検証装置３０の文書選択部３０−１を用いて、公開文書保管装置６０に保管されている署名付き変更済み文書ＳＳＩＧを選択する（ステップ３０１）。【０１０９】
次に、検証者Ｖは、復元箇所探索部３０−２により、署名付き変更済み文書ＳＳＩＧのブロックのうち復元を要求するブロックの有無を確認する（ステップ３０２）。復元を要求するブロックがある場合は、ブロックのインデックス集合ＲＩＮＤ＝｛ａ＿１，・・・，ａ＿ｌ｝（但し、ｌはｋ以下の整数）を生成する。【０１１０】
復元を要求するブロックがある場合、復元箇所探索部３０−２は、署名付き変更済み文書ＳＳＩＧと復元要求箇所のインデックスの集合ＲＩＮＤを復元装置７０に送信する。【０１１１】
署名付き変更済み文書ＳＳＩＧと復元要求ブロックのインデックスの集合ＲＩＮＤを受信した復元装置７０の署名検証部７０−１は、検証鍵ｖｋ＿ｓを用いて、署名付き変更済み文書ＳＳＩＧの検証を行う（ステップ３０４）。ここで、署名付き変更済み文書ＳＳＩＧの署名が不正であった場合、署名検証部７０−１は、署名が不正である旨を出力し、停止する。【０１１２】
一方、署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合、復元可否判断部７０−２は、復元要求ブロックのインデックスの集合ＲＩＮＤで指定されているブロックの復元を行ってよいか否かを判定する（ステップ３０５）。ここで、復元を行ってはいけないブロックが存在した場合、復元可否判断部７０−２は、復元不可能と出力し、以降の処理を停止する。【０１１３】
復元要求ブロックのインデックスの集合ＲＩＮＤで指定されたすべてのブロックを復元してよいと判断された場合、復元処理部７０−３は、署名付き変更済み文書ＳＳＩＧ、復元要求箇所のインデックス集合ＲＩＮＤ及び復元正当性証明用データＲＩを用いて、復元要求箇所のインデックス集合ＲＩＮＤで指定されたインデックスを持つブロックの内容を、復元正当性証明用データＲＩにより復元し、署名付き復元済み文書ＲＳＩＧを生成し、検証装置３０に送信する（ステップ３０６）。【０１１４】
具体的には、まず、復元処理部７０−３は、署名付き変更済み文書ＳＳＩＧに含まれるＭ’に、復元要求箇所のインデックス集合ＲＩＮＤに基づき、Ｍ＿｛ａ＿１｝，・・・，Ｍ＿｛ａ＿ｌ｝を加え、Ｍ’’を得る。【０１１５】
次に、復元処理部７０−３は、復元正当性証明用データＲＩに含まれるＡ＿｛ａ＿１｝，・・・，Ａ＿｛ａ＿ｌ｝を用いて、Ｄ’’＝Ｄ’×Ａ＿｛ａ＿１｝×・・・×Ａ＿｛ａ＿ｌ｝を計算する。さらに、復元処理部７０−３は、署名付き変更済み文書ＳＳＩＧに含まれるＲ’に、復元正当性証明用データＲＩに含まれるｒ＿｛ａ＿１｝，・・・，ｒ＿｛ａ＿ｌ｝を加える（Ｒ’’とする）。また、復元処理部７０−３は、｛ｗ＿｛ｊ＿１｝，・・・，ｗ＿｛ｊ＿ｋ｝｝から｛ｗ＿｛ａ＿１｝，・・・，ｗ＿｛ａ＿ｌ｝｝を取り除いた集合をＷ’’とする。このとき、署名付き復元済み文書ＲＳＩＧは（Ｍ’’，Ｄ’’，Ｒ’’，Ｗ’’）となる。【０１１６】
署名付き復元済み文書ＲＳＩＧを受信した検証装置３０の署名検証部３０−３は、検証鍵ｖｋ＿ｓを用いて署名付き復元済み文書ＲＳＩＧの検証を行う（ステップ３０３）。署名検証部３０−３は、署名付き復元済み文書ＲＳＩＧや署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合は受理とし、署名が不正であった場合は、不受理を出力する。【０１１７】
以上のように、本発明は、非特許文献３の署名方式を導入して好適に実現することができる。
［第３の実施形態］
続いて、上記第１の実施形態と同等の構成で、非特許文献４、５等に記載のカメレオンハッシュ関数を用いて文章公開システムを実現した本発明の第３の実施形態を説明する。本発明は、非特許文献４、５のほかに記載のカメレオンハッシュ関数を用いることができるが、ここでは、非特許文献４に記載されているカメレオンハッシュ関数と、非特許文献３の電子文書墨塗り技術を用いるものとして説明する。【０１１８】
上記引用をもって、上記特許文献４、５の記載事項は、本書に繰込み記載されているものとする。【０１１９】
まず、非特許文献４に記載のカメレオンハッシュ関数について簡単に説明する。ｔｒをトラップドア（落とし戸）としたとき、ある関数ＣＨ＿｛ｔｒ｝（）がカメレオンハッシュ関数であるとは、以下の性質を満たすことをいう。
（１）ｔｒを知らないエンティティは、ｙ（＝ＣＨ＿｛ｔｒ｝（ｘ））からｘの値を求めることができない。
（２）ｔｒを知らないエンティティは、ＣＨ＿｛ｔｒ｝（ｘ）＝ＣＨ＿｛ｔｒ｝（ｙ）を満たすｘ，ｙを求めることができない。
（３）ｔｒを知っているエンティティは、ｙ（＝ＣＨ＿｛ｔｒ｝（ｘ））及びｘから、ＣＨ＿｛ｔｒ｝（ｚ）＝ｙとなるｚを求めることが可能である。【０１２０】
カメレオンハッシュ関数は、鍵生成、ハッシュ計算、コリジョン計算の３つの構成要素から成り立つ。【０１２１】
まず、鍵生成について説明する。セキュリティパラメータをｋとし、ｋビットの素数ｐをランダムに選択する。このとき、安全性の観点から、ｐはｐ’を素数として、ｐ＝２ｐ’＋１を満たすことが望ましい。【０１２２】
ここで、Ｚ＊＿ｐを１以上ｐ未満の整数かつｐと互いに素な整数の集合とする。また、Ｑ＿ｐをｘ＝ｙ＾２  ｍｏｄ  ｐとなるようなｙを持つｘの集合とする。また、Ｑ＿ｐの位数をｑとする。さらに、ｇをＱ＿ｐの生成元とする。【０１２３】
このとき、１以上ｑ未満のｘをランダムに選び、ｙ＝ｇ＾ｘを計算する。さらに、任意長のビット列を入力として、ｑのビット長のビット列を出力とする通常のハッシュ関数Ｈを選ぶ。こうして得られた（ｇ，ｙ，Ｈ）を公開鍵、ｘを落とし戸とする。なお、ハッシュ関数Ｈは、１．ｙ＝Ｈ（ｘ）からｘを求められない、２．Ｈ（ｘ）＝Ｈ（ｙ）を満たすｘ，ｙを求められないという性質を満たすものとする。【０１２４】
次に、ハッシュ計算ＣＨ（（ｇ，ｙ，Ｈ），ｍ，ｒ，ｓ）について説明する。ここでは、公開鍵（ｇ，ｙ，Ｈ）、乱数ｒ，ｓを用いてｍのハッシュ値を計算することを考える。まず、ｅ＝Ｈ（ｍ｜｜ｒ）を計算し、ｃ＝ｒ−（ｙ＾｛ｅ｝ｇ＾｛ｓ｝  ｍｏｄ  ｐ）  ｍｏｄ  ｑを計算し、ｃをｍのハッシュ値として出力する。【０１２５】
次に、コリジョン計算ＣＯＬ（（ｇ，ｙ，Ｈ），ｘ，ｃ，（ｍ，ｒ，ｓ）,ｍ’）について説明する。公開鍵（ｇ，ｙ，Ｈ）、落とし戸ｘ、ｃ＝ｒ−（ｙ＾｛Ｈ（ｍ｜｜ｒ）｝ｇ＾｛ｓ｝  ｍｏｄ  ｐ）  ｍｏｄ  ｑを満たすｃ、ｍ、ｒ、ｓ、ｍ’を入力として、ｃ＝ｒ’−（ｙ＾｛ｍ’｜｜ｒ’｝ｇ＾｛ｓ’｝  ｍｏｄ  ｐ）  ｍｏｄ  ｑを満たすｒ’、ｓ’を計算することを考える。まず、１以上ｑ未満の整数ｋ’をランダムに選択し、ｒ’＝ｃ＋（ｇ＾｛ｋ’｝  ｍｏｄ  ｐ）  ｍｏｄ  ｑ、ｅ’＝Ｈ（ｍ’｜｜ｒ’）、ｓ’＝ｋ’−ｅ’ｘ  ｍｏｄ  ｑを計算する。このとき、ｍ’、ｒ’、ｓ’をｍ、ｒ、ｓのコリジョンとして出力する。【０１２６】
続いて、上記した第１の実施形態と同等の構成で動作する本発明の第３の実施形態の動作について説明する。本実施形態では、予め決められた変更者Ｓは、上記非特許文献４のカメレオンハッシュ関数の落とし戸を持ち、公開鍵を公開している。署名者Ａは、署名を行う際に、変更者Ｓのカメレオンハッシュ関数の公開鍵を入力とする。また、本実施形態では、変更者Ｓは、落とし戸を利用して、オリジナル文書の変更として、任意のメッセージへの変更ができるようになっている。【０１２７】
本実施形態では、オリジナル署名者Ａの検証鍵ｖｋ＿ｓとして、カメレオンハッシュ関数を用いてと同様に生成された（ｋ，ｑ，（Ｇ＿１，Ｇ＿２，Ｇ＿Ｔ，ｅ）,ｇ＿２，Ｙ，Ｈ）が公開されていることとする。また、オリジナル署名者Ａは、検証鍵ｖｋ＿ｓに対応する署名鍵ｓｋ＿ｓとして（ｘ）を保持しているものとする。さらに、変更者Ｓの公開鍵ｐｋとして、（ｇ，ｙ，Ｈ＿２）が公開されていることとする。また、変更者Ｓは公開鍵ｐｋに対応する落とし戸ｔｒ＝（ｘ＿２）を保持しているものとする。【０１２８】
図１３は、カメレオンハッシュ関数を用いるオリジナル署名生成処理の流れを表したフローチャートである。図７及び図１３を参照して、本実施形態における署名付きオリジナル文書作成処理について説明する。オリジナル署名者Ａは、署名鍵ｓｋ＿ｓ及び変更者Ｓの公開鍵ｐｋを署名装置１０に入力する（ステップ１０１ａ）。【０１２９】
次に、オリジナル署名者Ａは、オリジナル文書作成部１０−１を用いて、これから署名を行うオリジナル文書Ｍを作成する（ステップ１０２）。【０１３０】
次に、オリジナル署名者Ａは、署名鍵ｓｋ＿ｓ、変更者Ｓの公開鍵ｐｋ及びオリジナル文書Ｍを署名生成部１０−２に入力し、署名付きオリジナル文書ＯＳＩＧの生成を行う（ステップ１０３）。【０１３１】
より具体的には、署名生成部１０−２は、ｋビットのｒ＿｛１｝，・・・，ｒ＿｛ｎ＋１｝，ｓ＿｛１｝，・・・，ｓ＿｛ｎ＋１｝をランダムに選び、Ｒ＝（ｒ＿｛１｝，・・・，ｒ＿｛ｎ＋１｝，ｓ＿｛１｝，・・・，ｓ＿｛ｎ＋１｝）とする。次に、署名生成部１０−２は、ｗ＿ｉ＝ＣＨ（ｐｋ，Ｍ＿ｉ，ｒ＿ｉ，ｓ＿ｉ）を計算し、ｗ＿｛ｎ＋１｝＝ＣＨ（ｐｋ，ｗ＿１｜｜ｗ＿２｜｜・・・｜｜ｗ＿ｎ，ｒ＿｛ｎ＋１｝，ｓ＿｛ｎ＋１｝）を計算する（但し、ｉは１，２，・・・，ｎとする。）。さらに、ｉ＝１，２，・・・，ｎ＋１に対して、Ａ＿ｉ＝（ｗ＿ｉ）＾ｘを計算し、Ｄ＝Ａ＿１×Ａ＿２×・・・×Ａ＿｛ｎ＋１｝を計算する。そして、上記（Ｍ，Ｄ，Ｒ）をオリジナル署名データσとする。【０１３２】
さらに、署名生成部１０−２は、Ｈ（Ｍ＿ｉ）＝ｈ＿ｉを計算し、復元正当性証明用補助データＡＲＩ＝｛ｈ＿１，・・・，ｈ＿ｎ｝とする。最終的に、署名生成部１０−２は、復元正当性証明用補助データＡＲＩ＝｛ｈ＿１，・・・，ｈ＿ｎ｝を含んだ署名付きオリジナル文書ＯＳＩＧ＝（σ，ＡＲＩ）を生成する。【０１３３】
署名生成部１０−２は、作成した署名付きオリジナル文書ＯＳＩＧを、文書保管装置２０に送信する（ステップ１０４）。署名付きオリジナル文書ＯＳＩＧを受信した文書保管装置２０は、署名付きオリジナル文書ＯＳＩＧを記憶する（ステップ１０５）。【０１３４】
次に、再度、図９、図１０を参照して、署名付きオリジナル文書変更処理について説明する。まず、変更者Ｓは、変更箇所指定装置４０の文書選択部４０−１を用いて、公開する署名付きオリジナル文書ＯＳＩＧを選択する（ステップ２０１）。【０１３５】
次に、変更者Ｓは、変更箇所探索部４０−２により、署名付きオリジナル文書ＯＳＩＧのブロックのうち非開示情報を含むブロックを探索し、非開示情報を含むブロックのインデックス集合ＳＩＮＤ＝｛ｉ＿１,・・・,ｉ＿ｋ｝を生成する（ステップ２０２）。【０１３６】
次に、変更箇所指定装置４０は、変更装置５０に対して、署名付きオリジナル文書ＯＳＩＧ及びインデックス集合ＳＩＮＤを送信する（ステップ２０３）。【０１３７】
次に、変更者Ｓは、検証鍵ｖｋ＿ｓと署名付きオリジナル文書ＯＳＩＧを署名検証部５０−１に入力し、署名検証を行う（ステップ２０４）。ここで、オリジナル署名データσが不正であった場合、署名検証部５０−１は不受理を出力し、オリジナル署名データσが正当であった場合、署名検証部５０−１は、変更処理部５０−２に対して署名付きオリジナル文書ＯＳＩＧ及び変更対象インデックス集合ＳＩＮＤを送信する。【０１３８】
復元正当性証明用補助データＡＲＩが含まれた署名付きオリジナル文書ＯＳＩＧ、変更対象インデックス集合ＳＩＮＤ及び落とし戸ｘ＿２を受信した変更処理部５０−２は、ｗ＿ｉ＝ＣＨ（ｐｋ，Ｍ＿ｉ，ｒ＿ｉ，ｓ＿ｉ）を計算する（但し、ｉは１，２，・・・，ｎとする。）。さらに、変更処理部５０−２は、変更者Ｓより指定された変更後のメッセージＭ’＿｛ｉ＿１｝，・・・，Ｍ’＿｛ｉ＿ｋ｝により、ＣＯＬ（ｐｋ，ｘ＿２，ｗ＿｛ｉ＿ｊ｝，（Ｍ＿｛ｉ＿ｊ｝，ｒ＿｛ｉ＿ｊ｝，ｓ＿｛ｉ＿ｊ｝），Ｍ’＿｛ｉ＿ｊ｝）を計算し、（Ｍ’＿｛ｉ＿ｊ｝，ｒ’＿｛ｉ＿ｊ｝,ｓ’＿｛ｉ＿ｊ｝）を得る。【０１３９】
次に、変更処理部５０−２は、変更対象インデックス集合ＳＩＮＤに含まれないインデックスｊに対して、Ｍ’＿ｊ＝Ｍ＿ｊ、変更対象インデックス集合ＳＩＮＤに含まれるインデックスｊに対して、Ｍ’＿ｊ＝Ｍ’＿ｊとセットし、Ｍ’＝（Ｍ’＿１，・・・，Ｍ’＿ｎ）と設定する。同様に、変更対象インデックス集合ＳＩＮＤに含まれないインデックスｊに対して、ｒ’＿ｊ＝ｒ＿ｊ、変更対象インデックス集合ＳＩＮＤに含まれるインデックスｊに対して、ｒ’＿ｊ＝ｒ’＿ｊと、変更対象インデックス集合ＳＩＮＤに含まれないインデックスｊに対して、ｓ’＿ｊ＝ｓ＿ｊ、変更対象インデックス集合ＳＩＮＤに含まれるインデックスｊに対して、ｓ’＿ｊ＝ｓ’＿ｊとセットし、Ｒ’＝（ｒ’＿１，・・・，ｒ’＿ｎ，ｓ’＿１，・・・，ｓ’＿ｎ）とする。【０１４０】
以上のようにして、署名付き変更済み文書ＳＳＩＧ＝（σ’）＝（Ｍ’，Ｄ，Ｒ’）が生成される。【０１４１】
さらに、変更処理部５０−２は、復元正当性証明用データＲＩ＝｛Ｍ＿｛ｉ＿１｝，・・・，Ｍ＿｛ｉ＿ｋ｝，ｒ＿｛ｉ＿１｝，・・・，ｒ＿｛ｉ＿ｋ｝，ｓ＿｛ｉ＿１｝，・・・，ｓ＿｛ｉ＿ｋ｝，ｈ＿｛ｉ＿１｝，・・・，ｈ＿｛ｉ＿ｋ｝｝を生成する。【０１４２】
変更処理部５０−２は、上記のようにして生成した署名付き変更済み文書ＳＳＩＧを公開文書保管装置６０に、復元正当性証明用データＲＩを復元正当性証明用データ保管装置８０に送信する（ステップ２０５）。【０１４３】
公開文書保管装置６０は、受信した署名付き変更済み文書ＳＳＩＧを記憶し、公開する。また、復元正当性証明用データ保管装置８０は、受信した復元正当性証明用データＲＩを記憶する（ステップ２０６）。【０１４４】
次に、再度、図１１、図１２を参照して、署名付き変更済み文書の検証処理について説明する。まず、検証者Ｖは、検証装置３０の文書選択部３０−１を用いて、公開文書保管装置６０に保管されている署名付き変更済み文書ＳＳＩＧを選択する（ステップ３０１）。【０１４５】
次に、検証者Ｖは、復元箇所探索部３０−２により、署名付き変更済み文書ＳＳＩＧのブロックのうち復元を要求するブロックの有無を確認する（ステップ３０２）。復元を要求するブロックがある場合は、ブロックのインデックス集合ＲＩＮＤ＝｛ａ＿１，・・・，ａ＿ｌ｝（但し、ｌはｋ以下の整数）を生成する。【０１４６】
復元を要求するブロックがある場合、復元箇所探索部３０−２は、署名付き変更済み文書ＳＳＩＧと復元要求箇所のインデックスの集合ＲＩＮＤを復元装置７０に送信する。【０１４７】
署名付き変更済み文書ＳＳＩＧと復元要求ブロックのインデックスの集合ＲＩＮＤを受信した復元装置７０の署名検証部７０−１は、検証鍵ｖｋ＿ｓを用いて、署名付き変更済み文書ＳＳＩＧの検証を行う（ステップ３０４）。ここで、署名付き変更済み文書ＳＳＩＧの署名が不正であった場合、署名検証部７０−１は、署名が不正である旨を出力し、停止する。【０１４８】
一方、署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合、復元可否判断部７０−２は、復元要求ブロックのインデックスの集合ＲＩＮＤで指定されているブロックの復元を行ってよいか否かを判定する（ステップ３０５）。ここで、復元を行ってはいけないブロックが存在した場合、復元可否判断部７０−２は、復元不可能と出力し、以降の処理を停止する。【０１４９】
復元要求ブロックのインデックスの集合ＲＩＮＤで指定されたすべてのブロックを復元してよいと判断された場合、復元処理部７０−３は、署名付き変更済み文書ＳＳＩＧ、復元要求箇所のインデックス集合ＲＩＮＤ及び復元正当性証明用データＲＩを用いて、復元要求箇所のインデックス集合ＲＩＮＤで指定されたインデックスを持つブロックの内容を、復元正当性証明用データＲＩにより復元し、署名付き復元済み文書ＲＳＩＧを生成し、検証装置３０に送信する（ステップ３０６）。【０１５０】
具体的には、まず、復元処理部７０−３は、Ｍ’’＿｛ｊ｝＝Ｍ＿｛ｊ｝（ｊはＲＩＮＤに含まれる。）、Ｍ’’＿｛ｊ｝＝Ｍ’＿｛ｊ｝（ｊはＲＩＮＤに含まれない。）とする。同様に、ｒ’’＿｛ｊ｝＝ｒ＿｛ｊ｝（ｊはＲＩＮＤに含まれる。）、ｒ’’＿｛ｊ｝＝ｒ’＿｛ｊ｝（ｊはＲＩＮＤに含まれない。）とし、ｓ’’＿｛ｊ｝＝ｓ＿｛ｊ｝（ｊはＲＩＮＤに含まれる。）、ｓ’’＿｛ｊ｝＝ｓ’＿｛ｊ｝（ｊはＲＩＮＤに含まれない。）とする。Ｍ’’＝（Ｍ’’＿｛１｝，・・・，Ｍ’’＿｛ｎ｝），Ｒ’’＝（ｒ’’＿｛１｝，・・・，ｒ’’＿｛ｎ｝，ｓ’’＿｛１｝，・・・，ｓ’’＿｛ｎ｝）とする。【０１５１】
さらに、復元正当性証明データＲＰ＝（Ｍ＿｛ａ＿１｝，・・・，Ｍ＿｛ａ＿ｌ｝，ｈ＿｛ａ＿１｝，・・・，ｈ＿｛ａ＿ｌ｝）とする。このとき、署名付き復元済み文書ＲＳＩＧは（Ｍ’’，Ｄ，Ｒ’’，ＲＰ）となる。【０１５２】
署名付き復元済み文書ＲＳＩＧを受信した検証装置３０の署名検証部３０−３は、検証鍵ｖｋ＿ｓ及び公開鍵ｐｋを用いて署名付き復元済み文書ＲＳＩＧの検証を行う（ステップ３０３）。【０１５３】
具体的には、署名検証部３０−３は、ｉ=１，２，・・・，ｌとして、ｈ＿｛ａ＿ｉ｝=Ｈ（Ｍ＿｛ａ＿ｉ｝）が成立していることを確認する。次に、署名検証部３０−３は、ｉ=１，２，・・・，ｎとして、ｗ＿｛ｉ｝＝ＣＨ（ｐｋ，Ｍ’’＿｛ｉ｝，ｒ’’＿｛ｉ｝，ｓ’’＿｛ｉ｝）を計算する。さらに、署名検証部３０−３は、ｗ＿｛ｎ＋１｝＝ＣＨ（ｐｋ，ｗ＿１｜｜・・・｜｜ｗ＿ｎ，ｒ’’＿｛ｎ＋１｝，ｓ’’＿｛ｎ＋１｝）を計算する。その上、署名検証部３０−３は、ｗ＝ｗ＿１×・・・×ｗ＿｛ｎ＋１｝として、ｅ（Ｄ’，ｇ＿２）＝ｅ（ｗ，Ｙ）が成立することを確認する。【０１５４】
署名検証部３０−３は、署名付き復元済み文書ＲＳＩＧや署名付き変更済み文書ＳＳＩＧに付された署名が正当であった場合は「受理」とし、署名が不正であった場合は、「不受理」を出力する。【０１５５】
以上のように、本実施形態では、変更者Ｓの落とし戸を利用し、任意のメッセージへの変更を認めた上で、復元を行うことにより変更者Ｓの変更内容の妥当性を確認することが可能である。【０１５６】
以上、本発明の好適な実施形態を説明したが、本発明の技術的範囲は、上記した各実施形態の記載に限定されるものではない。例えば、上記した各実施形態では、本発明を電子文書の公開システムへ適用した例を挙げて説明したが、その他の、画像データ、動画データ、音楽データ等のコンテンツ（電子データ）であって所要の改変が行われた後のものを公開するシステムにも適用することが可能である。【０１５７】
また、図２〜図６に示した各装置の機能・処理手段は、ハードウェアで構成することもできるが、各機能を実現するためのプログラムを、コンピュータが読み取り可能な記憶媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されているハードディスク装置等の記憶媒体を指す。さらに、コンピュータ読み取り可能な記憶媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。
【産業上の利用可能性】
【０１５８】
本発明は、通信ネットワークを介して、非開示情報を含むコンテンツの公開に好適に適用できる。【０１５９】
以上の記載は、実施形態に基づいて行ったが、本発明は、上記実施形態に限定されるものではない。【０１６０】
本発明の全開示(請求の範囲を含む)の枠内において、更にその基本的技術思想に基づいて、実施態様ないし実施形態の変更・調整が可能である。また本発明の請求の範囲(クレーム)の枠内において、種々開示要素の多様な組合せ・置換ないし選択が可能である。【０１６１】
本発明の更なる課題・目的及び展開形態は、クレームを含む本発明の全開示事項からも、明らかにされる。
【図１】
2009028513.tif 000003
【図２】
2009028513.tif 000004
【図３】
2009028513.tif 000005
【図４】
2009028513.tif 000006
【図５】
2009028513.tif 000007
【図６】
2009028513.tif 000008
【図７】
2009028513.tif 000009
【図８】
2009028513.tif 000010
【図９】
2009028513.tif 000011
【図１０】
2009028513.tif 000012
【図１１】
2009028513.tif 000013
【図１２】
2009028513.tif 000014
【図１３】
2009028513.tif 000015
【手続補正書】
【提出日】平成21年5月13日(2009.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オリジナル署名者の署名鍵を用いて電子署名が施されている署名付きコンテンツに基づいて、変更者が前記オリジナル署名者の署名鍵に対応した検証鍵を用いて前記署名付きコンテンツコンテンツの内容を一部変更する際に、変更済みコンテンツに対するオリジナル署名者による署名付き変更済みコンテンツを作成し、検証者が変更部分の変更前に関する情報は秘匿されたまま変更前のコンテンツがオリジナル署名者の署名鍵を用いて署名されたものであることを検証する際に、前記オリジナル署名者の検証鍵を用いるコンテンツの正当性保証方法であって、
署名付き変更済みコンテンツを作成する際に、変更箇所に対するオリジナル署名者の署名と変更前のコンテンツの内容とを、前記変更箇所の一部または全部と対応付けて、復元正当性証明用データ記憶装置に保存することを特徴とするコンテンツの正当性保証方法。
【請求項２】
請求項１のコンテンツの正当性保証方法であって、
前記署名付きコンテンツには構成要素毎にインデックスが割り振られ、
前記署名付きコンテンツの構成要素毎に、オリジナル署名者の署名が施された前記署名付きコンテンツおよび変更箇所のインデックスを用いて、変更箇所に対する復元正当性証明用データを生成し、
前記オリジナル署名者の検証鍵と、前記オリジナル署名者による署名付き修正済みコンテンツと、前記復元箇所のインデックスと、前記復元正当性証明用データとを入力とし、オリジナル署名者による署名付き復元済みコンテンツを生成し、
前記オリジナル署名者の検証鍵と、前記署名付き変更済みコンテンツと、前記署名付き復元済みコンテンツとを入力として、正しく復元されたことを検証可能なこと、を特徴とするコンテンツの正当性保証方法。
【請求項３】
請求項２のコンテンツの正当性保証方法であって、
前記オリジナルコンテンツへの署名時に、前記署名付きコンテンツの構成要素毎に、前記復元正当性証明用データを生成する際に用いるための補助データが生成されており、
前記構成要素に対応する補助データおよびオリジナル署名者の検証鍵を用いて、前記復元正当性証明用データを生成すること、
を特徴とするコンテンツの正当性保証方法。
【請求項４】
更に、
前記オリジナル署名者の署名付き変更済みコンテンツと、前記オリジナル署名者の検証鍵と、前記復元正当性証明用データとを用いて、署名付き復元済みコンテンツを生成し、
前記オリジナル署名者の検証鍵で、前記オリジナル署名者の署名付き復元済みコンテンツを検証することにより、コンテンツの正当性を保証する請求項１乃至３のいずれか一記載のコンテンツの正当性保証方法。
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
前記オリジナル署名者の署名付きコンテンツの変更は、変更する箇所を、任意のメッセージに置き換えることを許容する電子署名方式によって行われる請求項１乃至４いずれか一に記載のコンテンツの正当性保証方法。
【請求項９】
オリジナル署名者の署名付きコンテンツと、前記オリジナル署名者の検証鍵と、前記署名付きコンテンツに対する変更要求とを受け付け、署名付き変更済みコンテンツを作成する手段と、
前記オリジナル署名者の署名付き変更済みコンテンツを作成する際に、前記署名付きコンテンツに対する変更要求に基づいて、該署名付き変更済みコンテンツを変更前の状態に復元し該復元内容の正当性を証明するための復元正当性証明用データを生成し、復元装置に提供する手段と、を備える変更装置を含み、
前記復元装置が、前記オリジナル署名者の検証鍵と、前記署名付き変更済みコンテンツと、前記復元正当性証明用データと、を用いて、前記オリジナル署名者の署名付き変更済みコンテンツを変更前の状態に復元し、前記オリジナル署名者の検証鍵を用いて正しく復元されたことを検証可能なコンテンツの公開システム。
【請求項１０】
前記変更装置は、前記オリジナル署名者の署名付きコンテンツの構成要素毎に、復元装置が、復元内容の正当性を証明する際に利用する復元正当性証明用データを生成し、
前記復元装置は、前記オリジナル署名者の署名付き変更済みコンテンツの任意の構成要素を選択して、変更前の状態に復元し、前記オリジナル署名者の検証鍵を用いて正しく復元されたことを検証可能なこと、
を特徴とする請求項９に記載のコンテンツの公開システム。
【請求項１１】
前記オリジナルコンテンツへの署名時に、前記オリジナルコンテンツの各構成要素毎に、前記変更装置が前記復元正当性証明用データを生成する際に利用する補助データが生成されており、
前記変更装置は、前記構成要素に対応する補助データおよびおよびオリジナル署名者の検証鍵を用いて、前記復元正当性証明用データを生成すること、
を特徴とする請求項９又は１０に記載のコンテンツの公開システム。
【請求項１２】
更に、
前記オリジナル署名者の署名付き変更済みコンテンツと、前記オリジナル署名者の検証鍵と、前記復元正当性証明用データとを入力として、オリジナル署名者の署名付き復元済みコンテンツを生成する復元装置と、
前記オリジナル署名者の検証鍵と前記オリジナル署名者の署名付き復元済みコンテンツを入力として、
前記オリジナル署名者の署名付き復元済みコンテンツに付けられた署名を検証することにより、コンテンツの正当性を検証する検証装置と、を含むことを
特徴とする請求項９乃至１１のいずれか一記載のコンテンツの公開システム。
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
（削除）
【請求項１６】
前記変更装置による前記オリジナル署名者の署名付きコンテンツの変更は、変更する箇所を、任意のメッセージに置き換えることを許容する電子署名方式によって行われる請求項９または１０に記載のコンテンツの公開システム。
【請求項１７】
（削除）
【請求項１８】
（削除）
【請求項１９】
（削除）
【請求項２０】
（削除）
【請求項２１】
（削除）
【請求項２２】
（削除）
【請求項２３】
（削除）
【請求項２４】
（削除）
【請求項２５】
（削除）
【請求項２６】
請求項１乃至４、８いずれか一記載のコンテンツの正当性保証方法であって、
前記署名付き復元済みコンテンツを作成する際に、
前記オリジナル文書に対するオリジナル署名者の署鍵名と、変更箇所に対するオリジナル署名者の署名鍵と、前記署名付き変更済みコンテンツとを用いること
を特徴とするコンテンツの正当性保証方法。
【請求項２７】
更に、
前記オリジナル署名者による前記オリジナルコンテンツへの署名は、
オリジナル署名者による各構成要素への署名の積から構成されていること、
を特徴とする請求項１乃至４、８、２６いずれか一記載のコンテンツの正当性保証方法。
【請求項２８】
更に、変更者による前記オリジナル署名者の署名付きオリジナルコンテンツへの変更は、
オリジナル署名者による前記オリジナルコンテンツへの署名から変更部分に対するオリジナル署名者の署名を除算したものから構成されていること、
を特徴とする請求項１乃至４、８、２６、２７いずれか一記載のコンテンツの正当性保証方法。
【請求項２９】
更に、前記オリジナル署名者による前記オリジナルコンテンツへの署名は、
オリジナル署名者による各構成要素への署名の積から構成されていること、
を特徴とする請求項９乃至１２、１６いずれか一記載のコンテンツの公開システム。
【請求項３０】
更に、変更者による前記オリジナル署名者の署名付きオリジナルコンテンツへの変更は、オリジナル署名者による前記オリジナルコンテンツへの署名から変更部分に対するオリジナル署名者の署名を除算したものから構成されていること、
を特徴とする請求項９乃至１２、１６、２９いずれか一記載のコンテンツの公開システム。
【国際調査報告】
2009028513.tif 000016
2009028513.tif 000017
2009028513.tif 000018
2009028513.tif 000019