(57)【要約】  電子文書の真正を検証させる文書検証プログラムにおいて、入力された電子文書を任意の部分文書に分割し、分割された部分文書の電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書ＩＤと当該各部分文書のハッシュ値とに基づいて、部分文書ごとの電子署名を生成する。このため、電子署名により各部分文書の順序情報を保持することができ、部分文書の順序交換などの改変がおこなわれた場合であっても電子文書の真正性を適切に検証することができる。
2008084547.tif 000002
【特許請求の範囲】
【請求項１】
電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付けさせる関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成させる生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
【請求項２】
前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けさせ、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第１の電子署名および前記第２の電子署名を前記構成要素ごとに生成させることを特徴とする請求項１に記載の文書検証プログラム。
【請求項３】
前記生成工程は、
前記構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成させ、
前記付与工程は、
前記生成工程によって生成された集約電子署名を前記電子文書に対して付与させることを特徴とする請求項２に記載の文書検証プログラム。
【請求項４】
前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付けさせる隠蔽指定工程と、
前記隠蔽指定工程によって指定された構成要素に付与されている第２の電子署名を削除させる削除工程と、
を前記コンピュータに実行させることを特徴とする請求項３に記載の文書検証プログラム。
【請求項５】
前記電子文書を、前記削除工程によって第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定させる設定工程を前記コンピュータに実行させることを特徴とする請求項４に記載の文書検証プログラム。
【請求項６】
前記設定工程によって設定された電子文書の入力を受け付けさせる検証対象文書入力工程と、
前記検証対象文書入力工程によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換えさせる置換工程と、
前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定させる判定工程と、
前記判定工程の判定結果に基づいて前記電子文書の真正を検証させる検証工程と、
前記検証工程の検証結果を出力させる出力工程と、
を前記コンピュータに実行させることを特徴とする請求項４または５に記載の文書検証プログラム。
【請求項７】
前記判定工程は、
さらに、前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定させることを特徴とする請求項６に記載の文書検証プログラム。
【請求項８】
前記判定工程は、
前記検証対象文書入力工程によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定させることを特徴とする請求項６に記載の文書検証プログラム。
【請求項９】
前記判定工程は、
前記各構成要素に割り当てられた共通乱数が、前記検証対象文書入力工程によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定させることを特徴とする請求項６に記載の文書検証プログラム。
【請求項１０】
前記電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付けさせる削除指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記削除指定工程によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除させることを特徴とする請求項５に記載の文書検証プログラム。
【請求項１１】
前記削除工程は、
前記電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除させることを特徴とする請求項１０に記載の文書検証プログラム。
【請求項１２】
前記設定工程は、
前記電子文書を、前記削除工程によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定させることを特徴とする請求項１０または１１に記載の文書検証プログラム。
【請求項１３】
前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付けさせる強制開示指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記強制開示指定工程によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除させることを特徴とする請求項５に記載の文書検証プログラム。
【請求項１４】
前記設定工程は、
前記電子文書を、前記削除工程によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定させることを特徴とする請求項１３に記載の文書検証プログラム。
【請求項１５】
電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させる生成工程と、
前記生成工程によって生成された電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
【請求項１６】
前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させることを特徴とする請求項１５に記載の文書検証プログラム。
【請求項１７】
請求項１〜１６のいずれか一つに記載の文書検証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項１８】
電子文書の真正を検証させる文書検証方法であって、
前記電子文書の入力を受け付ける入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割する分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出する算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与工程と、
を含むことを特徴とする文書検証方法。
【請求項１９】
電子文書の真正を検証させる文書検証装置であって、
前記電子文書の入力を受け付ける入力手段と、
前記入力手段によって入力された電子文書を任意の構成要素に分割する分割手段と、
前記分割手段によって分割された構成要素ごとのハッシュ値を算出する算出手段と、
前記算出手段によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け手段と、
前記関連付け手段によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成手段と、
前記生成手段によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与手段と、
を備えることを特徴とする文書検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子文書の真正を検証する文書検証プログラム、記録媒体、文書検証方法および文書検証装置に関する。
【背景技術】
【０００２】
従来、電子文書の真正を検証する技術として、電子署名を用いた技術が提供されている。この電子署名技術は、電子文書ごとに電子署名を付与することによって、電子文書の作成者を認証するとともに、電子文書の正当性を判断することができ、電子文書の真正性を保証する技術である。【０００３】
一方で、この電子署名技術を利用した場合、不正なユーザによる改ざんを防ぐという点においては非常に有用であるが、電子文書の有効活用という点においては問題があった。なぜなら、電子署名技術においては、電子文書に対して何らかの編集をおこなった場合、編集後の電子文書の正当性が保証されないからである。【０００４】
このため、電子文書に公開不可能な情報や不要な情報が含まれている場合であっても、電子文書の中から削除するなどの編集をおこなうことができず、ユーザの利便性を著しく低下させる要因となっていた。これにともない、電子文書に対する編集が可能でかつ、電子文書の真正が検証可能な技術が望まれている。【０００５】
たとえば、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りを施す技術が提供されている（たとえば、下記非特許文献１参照。）。この墨塗り署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分（墨塗り部分）に対する秘匿性を保証する。【０００６】
また、電子文書を部分文書に分割し、部分文書ごとに電子署名を付加させて、当該部分文書ごとに公開・非公開を指定することにより、非公開の部分文書を削除する技術が提供されている（たとえば、下記特許文献１および非特許文献２参照。）。この抽出署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分（削除部分）に対する秘匿性を保証する。【０００７】
ここで、上記従来技術により抽出された電子文書について説明する。図１９は、従来技術における電子署名技術の一例を示す説明図である。図１９に示すように、オリジナル文書１９００が部分文書１９０１，１９０２，１９０３ごと（たとえば、ページごと）に分割され、オリジナル文書１９００全体に対して電子署名１９０４が付与されている。【０００８】
また、墨塗り文書１９１０は、非特許文献１による技術により、オリジナル文書１９００のうち秘匿性を有する部分文書１９０１，１９０３が墨塗りされている。この場合、電子署名１９０４に基づいて、開示部分である部分文書１９０２に対する真正が検証可能である。【０００９】
また、抽出文書１９２０は、特許文献１または非特許文献２による技術により、オリジナル文書１９００の中から部分文書１９０２が抽出されている。この場合、電子署名１９０４に基づいて、開示部分である部分文書１９０２に対する真正が検証可能である。【００１０】
【特許文献１】特開２００６−６０７２２号公報
【非特許文献１】宮崎邦彦、岩村充、松本勉、佐々木良一、吉浦裕、手塚悟、今井秀樹著「開示条件を制御可能な電子文書墨塗り技術」２００４年暗号と情報セキュリティシンポジウム予稿集
【非特許文献２】宮崎邦彦、花岡悟一郎、今井秀樹著「双線形写像を用いた電子文書墨塗り技術」２００５年暗号と情報セキュリティシンポジウム予稿集
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した従来技術の電子署名技術では、電子文書に対して、墨塗り処理または削除処理（抽出処理）のいずれか一方の処理のみが実行可能となっていた。このため、電子文書内において、墨塗りする部分文書と削除する部分文書とを混在させることができず、ユーザの利便性を低下させていたという問題があった。【００１２】
ここで、上述した問題点を具体的に説明する。たとえば、図１９に示すオリジナル文書１９００が、ある省庁内における会議録である場合を想定し、部分文書１９０１（１ページ目）には会議の出席者リストが、部分文書１９０２（２ページ目）には会議の主内容が、部分文書１９０３（３ページ目）には税金の滞納者リストが記載されているとする。【００１３】
ここで、墨塗り文書１９１０が公開された場合、閲覧者は１ページ目と３ページ目の具体的内容を特定することはできないが、オリジナル文書１９００における２ページ目の会議の主内容の前後に何らかの情報が記載されていることを推測することができる。【００１４】
このため、秘匿性を有する部分文書１９０１，１９０３に墨塗りを施した場合であっても、墨塗り箇所から何らかの情報を推測することができるため、墨塗り文書１９１０全体としては完全に秘匿性を保証することができないという問題があった。【００１５】
また、抽出文書１９２０が公開された場合、閲覧者は１ページ目と３ページ目の存在を知ることができないため、部分文書１９０１，１９０３の具体的内容を特定することはできない。【００１６】
しかしながら、たとえば、３ページ目に記載されている税金の滞納者の氏名などの個人情報は墨塗りなどを施して秘匿する必要があるが、滞納者の存在を示すためにその箇所を残したい場合がある。このような場合であっても抽出文書１９２０では、３ページ目すべてが削除されてしまう。すなわち、抽出文書１９２０では、部分文書１９０１，１９０３を秘匿するためには、部分文書１９０１，１９０３を削除するしかなく、公開すべき情報も削除せざるを得ないという問題があった。【００１７】
この発明は、上述した従来技術による問題点を解消するため、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる文書検証プログラム、記録媒体、文書検証方法および文書検証装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証させる文書検証プログラム、記録媒体、文書検証方法および文書検証装置であって、前記電子文書の入力を受け付け、入力された電子文書を任意の構成要素に分割し、分割された構成要素ごとのハッシュ値を算出し、算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付け、関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成し、生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与することを特徴とする。【００１９】
この発明によれば、複数の電子署名を各構成要素に付与することにより、たとえば、隠蔽、削除、強制開示などの属性を各構成要素に変更不能に設定することができる。さらに、各構成要素に付与される電子署名により、上記属性が設定された構成要素の正当性を保証するとともに当該構成要素の電子文書における出現位置に関する順序の正当性を保証することができる。【００２０】
また、上記発明において、各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第１の電子署名および前記第２の電子署名を前記構成要素ごとに生成することとしてもよい。【００２１】
この発明によれば、各構成要素に付与される電子署名により、属性が設定された構成要素について、同一電子文書内の構成要素であることの正当性を保証することができる。【００２２】
また、上記発明において、前記構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成し、生成された集約電子署名を前記電子文書に対して付与することとしてもよい。【００２３】
この発明によれば、複数の属性を設定可能な電子文書の正当性を保証することができる。【００２４】
また、上記発明において、前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第２の電子署名を削除することとしてもよい。【００２５】
この発明によれば、電子文書を構成する構成要素の中から隠蔽対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。【００２６】
また、上記発明において、前記電子文書を、第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定することとしてもよい。【００２７】
この発明によれば、電子文書を構成する任意の構成要素を隠蔽することができる。【００２８】
また、上記発明において、設定された電子文書の入力を受け付け、入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換え、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定し、判定結果に基づいて前記電子文書の真正を検証し、検証結果を出力することとしてもよい。【００２９】
この発明によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素の正当性とともに当該構成要素の電子文書における出現位置に関する順序の正当性を検証することができる。【００３０】
また、上記発明において、さらに、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。【００３１】
この発明によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素が同一電子文書内の構成要素であることの正当性を検証することができる。【００３２】
また、上記発明において、入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。【００３３】
この発明によれば、構成要素の順序交換などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。【００３４】
また、上記発明において、各構成要素に割り当てられた共通乱数が、入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。【００３５】
この発明によれば、他の電子文書から構成要素を転写する改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。【００３６】
また、上記発明において、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除することとしてもよい。【００３７】
この発明によれば、電子文書を構成する構成要素の中から削除対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。【００３８】
また、上記発明において、電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除することとしてもよい。【００３９】
この発明によれば、電子文書に付与されている集約電子署名により、削除対象として指定された構成要素の削除後における電子文書の正当性を検証することができる。【００４０】
また、上記発明において、前記電子文書を、第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定することとしてもよい。【００４１】
この発明によれば、電子文書を構成する任意の構成要素を削除することができる。【００４２】
また、上記発明において、前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除することとしてもよい。【００４３】
この発明によれば、電子文書を構成する構成要素の中から強制開示対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。【００４４】
また、上記発明において、前記電子文書を、第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定することとしてもよい。【００４５】
この発明によれば、電子文書を構成する任意の構成要素を強制開示することができる。
【発明の効果】
【００４６】
本発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができるという効果を奏する。
【図面の簡単な説明】
【００４７】
【図１】図１は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。
【図２】図２は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。
【図３】図３は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。
【図４】図４は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。
【図５】図５は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【図６】図６は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。
【図７】図７は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。
【図８】図８は、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【図９】図９は、墨塗り署名技術の問題点の一例を示す説明図である。
【図１０】図１０は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。
【図１１】図１１は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。
【図１２】図１２は、この発明の実施の形態２にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【図１３】図１３は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の概要を示す説明図である。
【図１４】図１４は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。
【図１５】図１５は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。
【図１６】図１６は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【図１７】図１７は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の概要を示す説明図である。
【図１８】図１８は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。
【図１９】図１９は、従来技術における電子署名技術の一例を示す説明図である。
【符号の説明】
【００４８】
１００  電子文書公開システム
１０１，１０２  文書検証装置
１１０  ネットワーク
３０１  入力部
３０２  分割部
３０３  算出部
３０４  関連付け部
３０５  生成部
３０６  付与部
３０７  隠蔽指定部
３０８  削除部
３０９  設定部
３１０  置換部
３１１  判定部
３１２  検証部
３１３  出力部
３１４  削除指定部
３１５  強制開示指定部
【発明を実施するための最良の形態】
【００４９】
以下に添付図面を参照して、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置の好適な実施の形態を詳細に説明する。【００５０】
（実施の形態）
（電子文書公開システム１００のシステム構成）
まず、この発明の実施の形態にかかる電子文書公開システムのシステム構成について説明する。図１は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。【００５１】
図１において、電子文書公開システム１００は、情報を公開する側の文書検証装置１０１と情報公開を請求する側の文書検証装置１０２とが、インターネットなどのネットワーク１１０を介して相互に交信可能に接続されている。【００５２】
電子文書公開システム１００において公開される電子文書は、たとえば、行政機関から発行される電子戸籍台帳、医療機関から発行される電子カルテおよび教育機関から発行される電子成績表など秘匿性の高い個人情報である。また、たとえば、各市町村の行政機関に対して公開請求することができる公文書などであってもよい。【００５３】
文書検証装置１０１は、電子文書ＤＢを備えているコンピュータ装置である。なお、電子戸籍台帳や電子成績表などの電子文書は、情報公開側である文書検証装置１０１において作成されてもよく、また、他の装置において作成されてもよい。文書検証装置１０１は、作成された電子文書を真正の検証が可能な状態に加工して電子文書ＤＢに保存する。【００５４】
このとき、電子文書の作成者および当該電子文書の正当性を保証するために、第三者機関である認証機関１０３により証明された電子署名を電子文書に付与する。また、文書検証装置１０２は、情報公開を請求するユーザが利用するコンピュータ装置である。【００５５】
文書検証装置１０１は、文書検証装置１０２から情報公開請求を示す要求信号を受信した場合、該当する電子文書を電子文書ＤＢの中から検索する。そして、検索した電子文書を開示文書として文書検証装置１０２に送信する。このとき、文書検証装置１０１は、検索した電子文書を構成する部分文書に対して墨塗り、削除および強制開示などの属性を設定することができる。【００５６】
一方、情報請求側の文書検証装置１０２は、情報公開側の文書検証装置１０１に対して情報公開請求を示す要求信号を送信することができる。そして、文書検証装置１０２は、要求信号を送信した結果、文書検証装置１０１から開示文書を受信する。また、文書検証装置１０２は、受信した開示文書の真正を検証することができる。【００５７】
たとえば、文書検証装置１０２を利用して、ある市町村の行政機関に設置されている文書検証装置１０１に対して公害問題に関する公文書の公開請求をしたとする。その結果、文書検証装置１０２のユーザは、公害問題に関する公文書を取得することができ、当該公文書を閲覧することができる。【００５８】
このとき、行政機関の職員は、公開する公文書に記載されている内容に対して各種属性を設定することができる。たとえば、公開義務のある大気汚染や水質汚濁の現状については強制開示する文書として設定し、実際に公害による被害を受けた被害者の氏名を墨塗りする文書として設定し、さらに、被害者の住所が記載された箇所については削除する文書として設定することができる。【００５９】
このように、文書検証装置１０１のユーザは、公開する公文書の中の任意の文書に対して各種属性を設定することができる。また、各種属性を設定するなどの改変がおこなわれた公文書の真正性については、たとえば、文書検証装置１０２において検証することができ、不正な改変がおこなわれていないか否かを検証することができる。【００６０】
ここでは、情報の公開側のユーザが利用する装置を文書検証装置１０１とし、情報公開を請求する側のユーザが利用する装置を文書検証装置１０２としたが、文書検証装置１０２において何らかの情報を作成し、文書検証装置１０１を利用するユーザに公開するようにしてもよい。【００６１】
（コンピュータ装置のハードウェア構成）
つぎに、この発明の実施の形態にかかるコンピュータ装置（たとえば、図１に示す文書検証装置１０１，１０２）のハードウェア構成について説明する。図２は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。【００６２】
図２において、コンピュータ装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３とを備えている。また、各構成部は、バス２００によってそれぞれ接続されている。【００６３】
ここで、ＣＰＵ２０１は、コンピュータ装置（たとえば、図１に示す文書検証装置１０１，１０２）の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記録している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。【００６４】
ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。ＨＤ２０５には、たとえば、図１に示す電子文書ＤＢが構築されている。【００６５】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをコンピュータ装置に読み取らせたりする。【００６６】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８には、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。【００６７】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１１０に接続され、このネットワーク１１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。【００６８】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。【００６９】
スキャナ２１２は、画像を光学的に読み取り、コンピュータ装置内に画像データを読み込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや電子文書を印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。【００７０】
（文書検証装置の機能的構成）
つぎに、この発明の実施の形態にかかる文書検証装置（たとえば、図１に示す文書検証装置１０１，１０２）の機能的構成について説明する。図３は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。【００７１】
図３において、文書検証装置は、入力部３０１と、分割部３０２と、算出部３０３と、関連付け部３０４と、生成部３０５と、付与部３０６と、隠蔽指定部３０７と、削除部３０８と、設定部３０９と、置換部３１０と、判定部３１１と、検証部３１２と、出力部３１３と、削除指定部３１４と、強制開示指定部３１５と、から構成されている。【００７２】
入力部３０１は、電子文書の入力を受け付ける。入力部３０１によって入力された電子文書は、ＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。電子文書は、コンピュータ上で扱われる文書の総称であり、文書作成アプリケーションなどを用いて作成された電子データである。たとえば、行政機関から発行される電子戸籍台帳や教育機関から発行される電子成績表などの秘匿性を有する個人情報が電子文書として挙げられる。【００７３】
なお、電子文書は、文書検証装置において作成されてもよく、また、他の装置において作成されてもよい。他の装置において電子文書が作成された場合、たとえば、インターネットなどのネットワーク１１０を介して文書検証装置に取得されることとなる。【００７４】
分割部３０２は、入力部３０１によって入力された電子文書を任意の構成要素に分割する。具体的には、分割部３０２は、ＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれた電子文書を読み出して任意の構成要素に分割する。このとき、たとえば、電子文書を、当該電子文書の先頭（たとえば、入力された電子文書の読み込み開始箇所）から１バイトごとに分割してもよく、また、文字、単語、文、ページごとに分割してもよい。【００７５】
さらに、電子文書における分割する箇所をユーザが任意に指定することにより、電子文書を複数の構成要素に分割するようにしてもよい。また、電子文書がＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語などによって記述された文書であった場合、文書を構成する最小構成要素ごとに分割してもよい。なお、分割部３０２によって任意の構成要素に分割された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００７６】
算出部３０３は、分割部３０２によって分割された構成要素ごとのハッシュ値を算出する。具体的には、算出部３０３は、ＲＡＭ２０３やＨＤ２０５などのメモリから任意の構成要素に分割された電子文書を読み出して、構成要素ごとハッシュ値を算出する。より具体的には、ハッシュ関数を利用することにより、各構成要素から固定長の擬似乱数であるハッシュ値を算出する。【００７７】
インターネットなどのネットワーク１１０を介してデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較することにより、データが通信途中で改ざんされていないかを判定することができる。ハッシュ関数は不可逆な一方向関数を含むため、ハッシュ値から原文である構成要素を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。なお、算出部３０３によって算出されたハッシュ値はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００７８】
関連付け部３０４は、算出部３０３によって算出された構成要素ごとのハッシュ値と、当該構成要素の電子文書における出現位置に関する順序に従って各構成要素に割り当てられる乱数とを関連付ける。具体的には、関連付け部３０４は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素ごとのハッシュ値と各構成要素に割り当てられる乱数とを読み出して、それらを関連付ける。【００７９】
乱数は、真性乱数または擬似乱数であり、出現位置に関する順序、すなわち、電子文書における各構成要素の配置によって定義される順序に従って各構成要素に割り当てられる。ここで、真正乱数とは、規則性のない不規則な数列に含まれる各要素である。具体的には、ランダムな物理現象を利用することにより、真正乱数を発生させる。また、擬似乱数とは、確定的な計算によって求められる数列ではあるが規則性のない乱数列のように見える数列に含まれる各要素を示す。【００８０】
具体的には、擬似乱数は、コンピュータ上で生成される可能な限り予測困難な乱数であり、生成される数値の不偏性を高めたものである。この擬似乱数は、たとえば、擬似乱数生成器（擬似乱数生成法）を用いて生成することができる。擬似乱数生成器とは、多項式時間の計算機が乱数と識別不能な列を出力することができる機器である。【００８１】
具体的には、たとえば、文書検証装置における電子文書の読み込み順に従って、昇順（乱数の値が順に大きくなる）または降順（乱数の値が順に小さくなる）となるように生成された乱数が各構成要素に割り当てられる。なお、関連付け部３０４によって関連付けられた各構成要素に割り当てられた乱数と、当該各構成要素のハッシュ値とはＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００８２】
生成部３０５は、関連付け部３０４によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を構成要素ごとに生成する。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから関連付けられたハッシュ値と乱数とを読み出して、それぞれ異なる第１の電子署名および第２の電子署名を構成要素ごとに生成する。【００８３】
ここで、電子署名とは、電子文書の正当性を認証するために当該電子文書に付与される署名情報である。すなわち、電子署名は、物理的な署名（印鑑など）と同様に、電子文書の正しい作成者と当該電子文書の正当性（改ざんがおこなわれていないこと）を証明するためのものである。また、公開鍵暗号の原理などを利用することにより、任意のユーザによって電子署名の正当性を検証可能にすることができる。【００８４】
この場合、公開鍵の正当性の保証を目的として、信頼できる認証機関１０３によって公開鍵に署名が付与されることがある。電子署名の生成方式としては、たとえば、素因数分解に基づくＲＳＡ署名方式やＥＳＩＧＮ署名、離散対数に基づくエルガマル署名やＤＳＡ署名、楕円離散対数に基づく楕円エルガマル署名や楕円ＤＳＡ署名などがある。【００８５】
具体的には、たとえば、生成部３０５は、一の生成方式によって第１の電子署名を算出し、さらに、一の生成方式とは異なる他の生成方式によって第２の電子署名を算出することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。すなわち、電子署名を生成する際のアルゴリズムを変化させることにより、一つの生成元からそれぞれ異なる第１の電子署名および第２の電子署名を生成する。【００８６】
また、第１の電子署名の生成元となるハッシュ値および乱数を用意するとともに、第２の電子署名の生成元となるハッシュ値および乱数を用意することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。【００８７】
この場合、生成元となるハッシュ値および乱数を生成する電子署名ごとに用意するため、一つの生成方式によってそれぞれ異なる第１の電子署名および第２の電子署名を生成することができる。なお、生成部３０５によって生成されたそれぞれ異なる第１の電子署名および第２の電子署名はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００８８】
また、関連付け部３０４は、各構成要素に割り当てられる電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けることとしてもよい。具体的には、関連付け部３０４は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素のハッシュ値と当該構成要素に割り当てられる共通乱数とを読み出して、それらを関連付ける。【００８９】
共通乱数は、電子文書ごとに予測不可能に割り当てられた乱数であり、当該電子文書を構成する構成要素すべてに共通する値である。この共通乱数は、たとえば、上記擬似乱数生成器などを用いて生成される。なお、関連付け部３０４によって関連付けられた共通乱数とハッシュ値と乱数とはＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００９０】
この場合、生成部３０５は、関連付け部３０４によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、第１の電子署名および第２の電子署名を構成要素ごとに生成することとなる。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから関連付けられた共通乱数とハッシュ値と乱数とを読み出して、第１の電子署名および第２の電子署名を構成要素ごとに生成する【００９１】
また、生成部３０５は、構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成する。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を読み出して、集約電子署名を生成する。集約電子署名は、構成要素ごとに生成された第１の電子署名または第２の電子署名をひとまとめにしたものである。【００９２】
具体的には、たとえば、集約電子署名は、各構成要素の電子署名（第１の電子署名または第２の電子署名）の積によって構成されていてもよく、また、各構成要素の電子署名（第１の電子署名または第２の電子署名）の和によって構成されていてもよい。なお、生成部３０５によって生成された集約電子署名はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００９３】
付与部３０６は、生成部３０５によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する。具体的には、付与部３０６は、ＲＡＭ２０３やＨＤ２０５などのメモリから第１の電子署名および第２の電子署名および各構成要素を読み出して、それぞれ対応する構成要素に付与する。なお、付与部３０６によって各構成要素に第１の電子署名および第２の電子署名が付与された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００９４】
また、付与部３０６は、生成部３０５によって生成された集約電子署名を電子文書に対して付与する。なお、付与部３０６によって集約電子署名が付与された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００９５】
なお、関連付け部３０４は、各構成要素に割り当てられる共通乱数と、当該共通乱数が割り当てられた構成要素のハッシュ値とを関連付けることとしてもよい。この場合、生成部３０５は、関連付け部３０４によって関連付けられた共通乱数とハッシュ値とに基づいて、第１の電子署名および第２の電子署名を構成要素ごとに生成することとなる。【００９６】
隠蔽指定部３０７は、電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。具体的には、隠蔽指定部３０７は、ＲＡＭ２０３やＨＤ２０５などのメモリから読み出された電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。【００９７】
より具体的には、たとえば、ユーザは、キーボード２１０やマウス２１１を操作することにより、隠蔽対象となる構成要素を指定することができる。隠蔽指定部３０７によって指定された構成要素は、たとえば、墨塗り処理などが施されることにより、ユーザが認識不能に隠蔽されることとなる。なお、隠蔽指定部３０７によって隠蔽対象となる構成要素が指定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【００９８】
削除部３０８は、隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名を削除する。具体的には、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名を読み出して削除する。これにより、隠蔽指定部３０７によって指定された構成要素に付与されている電子署名は第１の電子署名のみとなる。【００９９】
設定部３０９は、電子文書を、削除部３０８によって第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第２の電子署名が削除された構成要素を隠蔽対象とする電子文書を読み出して設定する。すなわち、設定部３０９は、削除部３０８により隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名が削除された場合にのみ、当該構成要素を隠蔽対象として設定することとなる。【０１００】
このとき、関連付け部３０４により、隠蔽対象として指定された構成要素のハッシュ値と設定部３０９によって設定された電子文書とを関連付けることにより、隠蔽対象として指定された構成要素のハッシュ値が電子文書に保持されることとなる。すなわち、隠蔽対象として指定された構成要素に対して墨塗り処理などが施されることにより、当該構成要素をユーザが認識不能となるが、文書検証装置によって隠蔽対象の構成要素のハッシュ値は保持されることとなる。【０１０１】
また、入力部３０１は、設定部３０９によって設定された電子文書の入力を受け付ける。入力部３０１によって入力された設定部３０９により設定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。ここで入力される電子文書は、真正を検証するための検証対象文書であり、たとえば、図１に示す公開請求側のユーザによって文書検証装置１０２に入力される電子文書である。【０１０２】
置換部３１０は、入力部３０１によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、構成要素を当該構成要素のハッシュ値に置き換える。具体的には、置換部３１０は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して、構成要素を当該構成要素のハッシュ値に置き換える。すなわち、入力部３０１によって入力された電子文書を構成する構成要素を、当該構成要素のハッシュ値に置き換えることにより、第１の電子署名および第２の電子署名の生成元となるデータを復元する。【０１０３】
このとき、文書検証装置において隠蔽対象の構成要素のハッシュ値が保持されているため、電子文書を構成する構成要素のうち隠蔽対象の構成要素を除く他の構成要素のハッシュ値を算出することにより、すべての構成要素を当該構成要素のハッシュ値に置き換える。なお、置換部３１０によって置き換えられた電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【０１０４】
判定部３１１は、電子文書に付与されている集約電子署名に基づいて、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定する。具体的には、判定部３１１は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書に付与されている集約電子署名および置換部３１０によって置き換えられた電子文書を読み出して、正当性を判定する。【０１０５】
より具体的には、電子文書に付与されている集約電子署名を復号し、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致するか否かを判定する。【０１０６】
また、判定部３１１は、さらに、電子文書に付与されている集約電子署名に基づいて、置換部３１０によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。具体的には、電子文書に付与されている集約電子署名を復号し、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数および共通乱数とが一致するか否かを判定する。【０１０７】
また、判定部３１１は、入力部３０１によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、電子文書における各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた乱数が、当該電子文書における各構成要素の出現位置に関する順序に従って昇順または降順となっているか否かを判定する。【０１０８】
また、判定部３１１は、各構成要素に割り当てられた共通乱数が、入力部３０１によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた共通乱数が同一であるか否かを判定する。【０１０９】
また、判定部３１１は、入力部３０１によって入力された電子文書を構成する各構成要素に付与されている第１の電子署名または第２の電子署名に基づいて、各構成要素の正当性を判定するようにしてもよい。具体的には、各構成要素に付与されている第１の電子署名または第２の電子署名を復号し、各構成要素と一致するか否かを判定する。なお、判定部３１１による判定結果はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【０１１０】
検証部３１２は、判定部３１１の判定結果に基づいて電子文書の真正を検証する。具体的には、検証部３１２は、ＲＡＭ２０３やＨＤ２０５などのメモリから判定部３１１による判定結果を読み出して電子文書の真正を検証する。より具体的には、たとえば、電子文書に付与されている集約電子署名の復号結果に対して、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致する場合に、電子文書が真性であると検証する。【０１１１】
また、各構成要素に割り当てられた乱数が、電子文書における当該各構成要素の出現位置に関する順序に従っていると判定された場合に電子文書が真正であると検証する。さらに、各構成要素に割り当てられた共通乱数がすべての構成要素において共通であった場合に電子文書が真正であると検証するようにしてもよく、また、各構成要素が正当であると判定された場合に電子文書が真正であると検証するようにしてもよい。なお、検証部３１２の検証結果はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【０１１２】
出力部３１３は、検証部３１２の検証結果を出力する。具体的には、出力部３１３は、ＲＡＭ２０３やＨＤ２０５などのメモリから検証部３１２による検証結果を読み出して出力する。より具体的には、検証部３１２によって電子文書が真正であると検証された場合、検証成功を示す検証結果を出力する。また、検証部３１２によって電子文書が真正ではないと検証された場合、検証失敗を示す検証結果を出力する。【０１１３】
削除指定部３１４は、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付ける。具体的には、削除指定部３１４はＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して削除対象となる構成要素の指定を受け付ける。削除指定部３１４によって指定された構成要素は、電子文書の中から削除されることとなる。【０１１４】
削除部３０８は、削除指定部３１４によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除する。また、削除部３０８は、電子文書に付与されている集約電子署名の中から、削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除する。【０１１５】
具体的には、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除指定部３１４によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を読み出して削除する。また、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書に付与されている集約電子署名を読み出して、当該集約電子署名の中から、削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除する。【０１１６】
より具体的には、たとえば、電子文書に付与されている集約電子署名が各構成要素の第１の電子署名を集約したものである場合は、削除対象となる構成要素に付与されている第１の電子署名を集約電子署名から削除する。【０１１７】
設定部３０９は、電子文書を、削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書を読み出して設定する。これにより、電子文書の中から削除指定部３１４によって指定された構成要素が削除されることとなる。【０１１８】
強制開示指定部３１５は、電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付ける。具体的には、強制開示指定部３１５はＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して強制開示対象となる構成要素の指定を受け付ける。強制開示指定部３１５によって指定された構成要素は、隠蔽対象や削除対象として指定することができず、強制的に開示される構成要素となる。【０１１９】
削除部３０８は、強制開示指定部３１５によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除する。具体的には、削除部３０８はＲＡＭ２０３やＨＤ２０５などのメモリから強制開示指定部３１５によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を読み出して削除する。これにより、強制開示指定部３１５によって指定された構成要素には電子署名が付与されていないこととなる。【０１２０】
設定部３０９は、電子文書を、削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書を読み出して設定する。【０１２１】
これにより、電子文書における強制開示指定部３１５によって指定された構成要素が強制開示されることとなる。なお、設定部３０９によって設定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。【０１２２】
なお、入力部３０１、分割部３０２、算出部３０３、関連付け部３０４、生成部３０５、付与部３０６、隠蔽指定部３０７、削除部３０８、設定部３０９、置換部３１０、判定部３１１、検証部３１２、出力部３１３、削除指定部３１４、強制開示指定部３１５は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５などの記録媒体に記録されているプログラムをＣＰＵ２０１に実行させることによって、またはＩ／Ｆ２０９によって、その機能を実現する。【０１２３】
（電子署名生成処理の概要）
つぎに、図１に示した電子文書公開システム１００において公開される電子文書に施される電子署名生成処理の概要について説明する。電子署名生成処理は、たとえば、情報の公開側である文書検証装置１０１において実行される処理である。まず、電子文書を構成する構成要素に一つの電子署名が付与される場合について説明する。【０１２４】
図４は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。図４において、まず、電子文書Ｍを部分文書『ｍ1，ｍ2，…，ｍ5』に分割する。電子文書Ｍを分割する部分文書の単位は任意であり、たとえば、文字、単語、文、ページごとに電子文書Ｍを分割するようにしてもよい。なお、部分文書は、上述した分割部３０２によって分割される構成要素に相当する。【０１２５】
つぎに、真正乱数または擬似乱数（以下、「乱数」という）を利用して、予測不可能な文書ＩＤおよび部分文書ＩＤを各部分文書に追加する。具体的には、たとえば、文書ＩＤおよび部分文書ＩＤを各部分文書に追加して記述してもよく、また、文書ＩＤおよび部分文書ＩＤと各部分文書とを関連付けて電子文書ＤＢに記録することとしてもよい。【０１２６】
文書ＩＤは、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』において共通する値である。ここでは、各部分文書に共通して追加される文書ＩＤを「Ｄ」と表記する。なお、文書ＩＤは、上述した関連付け部３０４によって電子文書を構成する構成要素のハッシュ値と関連付けられた共通乱数に相当する。【０１２７】
部分文書ＩＤは、部分文書ごとにそれぞれ異なる値であり、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』の出現位置に関する順序に従って昇順となるように追加される。ここでは、各部分文書『ｍ1，ｍ2，…，ｍ5』に追加される部分文書ＩＤをそれぞれ「ＳＤ1，ＳＤ２，…，ＳＤ５」と表記する。なお、部分文書ＩＤは、上述した関連付け部３０４によって電子文書を構成する構成要素のハッシュ値と関連付けられた乱数に相当する。【０１２８】
文書ＩＤおよび部分文書ＩＤは、たとえば、擬似乱数生成器によって生成される。擬似乱数生成器によって生成された擬似乱数が文書ＩＤおよび部分文書ＩＤとして各部分文書に追加されることとなる。以下、各部分文書に文書ＩＤおよび部分文書ＩＤが追加された電子文書Ｍを「オリジナル文書」という。【０１２９】
ここで、部分文書ごとにそれぞれ異なる部分文書ＩＤを追加する追加方式の一例を説明する。まず、擬似乱数生成器によって少なくとも分割された部分文書の個数分の擬似乱数を生成する（ここでは、少なくとも５個分の擬似乱数を生成する）。つぎに、生成された擬似乱数を部分文書ＩＤとして各部分文書にランダムに追加する。【０１３０】
追加された結果、電子文書を構成する部分文書の出現位置に関する順序に従って昇順となっているか否かを判断し、各部分文書に追加された擬似乱数が昇順となるまで、擬似乱数の生成および各部分文書への追加を繰り返す。【０１３１】
また、分割された部分文書の個数分の擬似乱数を生成し、生成した擬似乱数を昇順となるように予め並び替えて（ソート）から、各部分文書へ追加するようにしてもよい。具体的には、まず、擬似乱数生成器によって部分文書の個数分の擬似乱数（たとえば、「３３，７，２４，５５，５１」）を生成し、昇順（ここでは、「７→２４→３３→５１→５５」）となるように並び替える。【０１３２】
そして、電子文書Ｍにおける最も左側の部分文書ｍ1から順に、昇順「７→２４→３３→５１→５５」となるように部分文書ＩＤを追加する。この結果、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』に部分文書ＩＤ「７，２４，３３，５１，５５」がそれぞれ追加されたこととなる。【０１３３】
なお、文書ＩＤについては、擬似乱数生成器によって電子文書Ｍ固有の擬似乱数を生成し、その擬似乱数を各部分文書に追加する。具体的には、たとえば、擬似乱数生成器によって生成された擬似乱数が「７」であった場合、生成された擬似乱数「７」を文書ＩＤとして各部分文書に追加する。【０１３４】
ここで、図４の説明に戻り、つぎに、文書ＩＤおよび部分文書ＩＤが追加された部分文書ごとのハッシュ値を算出する。ここでは、文書ＩＤおよび部分文書ＩＤが追加された部分文書を「Ｄ‖ＳＤi‖ｍi」（ｉ＝１，２，…，５）と表記し、各部分文書のハッシュ値をそれぞれ「ｈ1，ｈ2，…，ｈ5」と表記する。【０１３５】
ハッシュ値の算出元は、文書ＩＤおよび部分文書ＩＤが追加された部分文書であってもよく、また、文書ＩＤおよび部分文書ＩＤが追加されていない部分文書であってもよい。なお、ハッシュ値は、上述した算出部３０３によって電子文書を構成する構成要素ごとに算出されるハッシュ値に相当する。【０１３６】
つぎに、算出された各ハッシュ値に当該各ハッシュ値の部分文書に追加されている文書ＩＤおよび部分文書ＩＤを追加する。そして、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値から構成される電子文書（以下、「署名対象文書」という）を生成する。【０１３７】
そして、署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの電子署名「σ1，σ2，…，σ5」を算出する。ハッシュ値ごとの電子署名は、それぞれ対応する部分文書に付与される。【０１３８】
具体的には、たとえば、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値「Ｄ‖ＳＤ1‖ｈ1」から算出された電子署名「σ1」は部分文書「ｍ1」に付与されることとなる。なお、電子署名は、上述した生成部３０５によって電子文書を構成する構成要素ごとに生成された電子署名に相当する。【０１３９】
最後に、各部分文書の電子署名「σ1，σ2，…，σ5」を集約した集約電子署名σを算出し、電子文書Ｍに付与する。なお、集約電子署名σは、上述した生成部３０５によって電子文書ごとに算出される集約電子署名に相当する。【０１４０】
（文書検証装置の電子署名生成処理の手順）
つぎに、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図５は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。【０１４１】
図５のフローチャートにおいて、文書検証装置は、まず、入力部３０１により、電子文書の入力を受け付けたか否かを判断する（ステップＳ５０１）。ここで、電子文書が入力されるのを待って、入力を受け付けた場合（ステップＳ５０１：Ｙｅｓ）、分割部３０２により、入力された電子文書を部分文書に分割する（ステップＳ５０２）。【０１４２】
つぎに、分割された各部分文書に文書ＩＤおよび部分文書ＩＤを追加する（ステップＳ５０３）。これにより、オリジナル文書が生成されたこととなる。そして、算出部３０３により、分割された部分文書ごとのハッシュ値を算出し（ステップＳ５０４）、関連付け部３０４により、部分文書ごとのハッシュ値と当該部分文書に追加されている文書ＩＤおよび部分文書ＩＤを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた署名対象文書を生成する（ステップＳ５０５）。【０１４３】
つぎに、生成部３０５により、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの電子署名を算出し（ステップＳ５０６）、付与部３０６により、算出された電子署名をそれぞれ対応する部分文書に付与する（ステップＳ５０７）。【０１４４】
そして、生成部３０５により、部分文書ごとの電子署名を集約した集約電子署名を算出し（ステップＳ５０８）、付与部３０６により、電子文書に付与して（ステップＳ５０９）、本フローチャートによる一連の処理を終了する。集約電子署名が付与され、かつ、各部分文書に電子署名が付与されたオリジナル文書は、ＨＤ２０５などの記録媒体に構築された電子文書ＤＢに記録されることとなる。【０１４５】
なお、本フローチャートにおけるステップＳ５０５〜ステップＳ５０９において実行される処理の手順は、ここで説明した順序に限らない。たとえば、各部分文書の電子署名およびオリジナル文書の集約電子署名を算出する処理の後に、各部分文書に電子署名を付与する処理およびオリジナル文書に集約電子署名を付与する処理を実行することとしてもよい。【０１４６】
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。【０１４７】
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書ＩＤに基づいて、当該各部分文書に付与される電子署名が算出される。このため、電子文書を、たとえば、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序交換をおこなうことができない状態にすることができる。【０１４８】
（実施の形態１）
つぎに、上述した文書検証装置の実施の形態１について説明する。実施の形態１では、上述した電子署名生成処理が施された電子文書を構成する部分文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、指定された部分文書に対して墨塗り処理が施されることにより、当該部分文書が隠蔽されることとなる。【０１４９】
図６は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。図６において、電子文書を構成する部分文書の中から隠蔽対象とする部分文書を指定する。ここでの電子文書は、各部分文書に文書ＩＤおよび部分文書ＩＤが追加されたオリジナル文書である。なお、隠蔽対象となる部分文書は、隠蔽指定部３０７によって指定される隠蔽対象となる構成要素に相当する。【０１５０】
具体的には、たとえば、ユーザは、キーボード２１０やマウス２１１を操作することにより、ディスプレイ２０８に表示されたオリジナル文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されている。【０１５１】
つぎに、隠蔽対象として指定された部分文書に付与されている電子署名を削除する。ここでは、「ｍ2」に付与されている電子署名σ2が削除される。ここで、指定された部分文書に付与されている電子署名が削除された場合、部分文書を当該部分文書のハッシュ値に置き換える。【０１５２】
ここでは、「ｍ2」に付与されている電子署名σ2が削除されることとなり、「ｍ2」が「ｈ2」に置き換えられる。最後に、隠蔽対象として指定された部分文書に墨塗り処理を施すことにより、当該部分文書が隠蔽される。ここでは、文書ＩＤおよび部分文書ＩＤが追加された「Ｄ‖ＳＤ２‖ｍ2」が墨塗りされている。以下、隠蔽対象として指定された部分文書に墨塗り処理が施されたオリジナル文書を「保持文書」という。【０１５３】
なお、隠蔽対象とする部分文書を複数指定した場合も同様の処理がおこなわれることとなる。また、隠蔽対象として指定された部分文書に付与されている電子署名が削除されなかった場合には、墨塗り処理は実行されない。このため、隠蔽対象とする部分文書を指定したとしても、付与されている電子署名が削除されなかった場合は、当該部分文書を隠蔽することはできない。【０１５４】
（文書検証装置の隠蔽処理の手順）
図７は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。図７において、まず、文書検証装置は、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ７０１）。【０１５５】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ７０１：Ｙｅｓ）、隠蔽指定部３０７により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ７０２）。そして、隠蔽対象となる部分文書が指定されるのを待って、指定された場合（ステップＳ７０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている電子署名を削除する（ステップＳ７０３）。【０１５６】
つぎに、設定部３０９により、指定された部分文書を隠蔽対象として設定することによって、当該部分文書が墨塗りされた保持文書を生成する（ステップＳ７０４）。最後に、生成された保持文書を出力して（ステップＳ７０５）、本フローチャートによる一連の処理を終了する。【０１５７】
これにより、オリジナル文書に対して「隠蔽（墨塗り）」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。【０１５８】
また、隠蔽対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度墨塗りされた部分文書は、以降において削除および強制開示する部分文書として指定することができない。【０１５９】
（文書検証装置の電子文書検証処理の手順）
つぎに、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順について説明する。図８は、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。【０１６０】
図８において、まず、文書検証装置の入力部３０１により、保持文書の入力を受け付けたか否かを判断する（ステップＳ８０１）。ここで、保持文書が入力されるのを待って、入力された場合（ステップＳ８０１：Ｙｅｓ）、判定部３１１により、保持文書を構成する各部分文書に追加されている文書ＩＤがすべて同じ値であるか否かを判断する（ステップＳ８０２）。【０１６１】
そして、各部分文書に追加された文書ＩＤがすべて同じ値であった場合（ステップＳ８０２：Ｙｅｓ）、判定部３１１により、各部分文書に追加された部分文書ＩＤが昇順となっているか否かを判断する（ステップＳ８０３）。ここで、各部分文書に追加された部分文書ＩＤが昇順となっている場合（ステップＳ８０３：Ｙｅｓ）、算出部３０３により、保持文書を構成する各部分文書のハッシュ値を算出することによって署名対象文書を復元する（ステップＳ８０４）。【０１６２】
このとき、保持文書における隠蔽対象として指定された部分文書は当該部分文書のハッシュ値に置き換えられているため、ハッシュ値を算出する必要はない。なお、隠蔽対象として指定された部分文書か否かの判断は、各部分文書に付与されている電子署名が削除されているか否かによって判断することができる。【０１６３】
つぎに、判定部３１１により、保持文書に付与されている集約電子署名に基づいて、集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する（ステップＳ８０５）。ここで、一致する場合（ステップＳ８０５：Ｙｅｓ）、出力部３１３により、検証成功を示す検証結果を出力して（ステップＳ８０６）、本フローチャートによる一連の処理を終了する。【０１６４】
一方、ステップＳ８０５において一致しなかった場合（ステップＳ８０５：Ｎｏ）、出力部３１３により、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。また、ステップＳ８０２において、各部分文書に追加された文書ＩＤがすべて同じ値ではなかった場合（ステップＳ８０２：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。【０１６５】
さらに、ステップＳ８０３において、各部分文書に追加された部分文書ＩＤが昇順となっていない場合（ステップＳ８０３：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。【０１６６】
（電子署名の意義）
ここで、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとに生成される電子署名の意義について説明する。図９は、墨塗り署名技術の問題点の一例を示す説明図である。【０１６７】
図９において、まず、オリジナル文書を構成する部分文書のハッシュ値を算出することにより、署名対象文書が生成されている。つぎに、各部分文書ごとのハッシュ値から当該各部分文書に付与される電子署名が算出されている。【０１６８】
この場合、電子署名の算出元となるハッシュ値には文書ＩＤおよび部分文書ＩＤは追加されていない。さらに、部分文書が隠蔽対象として指定された場合には、当該部分文書の文書ＩＤおよび部分文書ＩＤ、すなわち、部分文書の順序情報は失われてしまう。【０１６９】
このため、部分文書に付与される電子署名によって正当性の判定をおこなう場合に、部分文書の内容についての正当性は判定することができるが、順序情報が失われているため順序交換や転写などの不正な改変についての正当性は判定することができない。【０１７０】
具体的には、たとえば、部分文書「ｍ2」が隠蔽対象として指定された場合、部分文書「ｍ2」の順序情報は失われてしまう。このため、隠蔽（墨塗り）された部分文書「ｍ2」の順序交換（図９中矢印９００で示す）がおこなわれたとしても、保持文書の正当性の判定をおこなうことができない。すなわち、不正な順序交換が可能となってしまい、電子文書の真正性を保証することができなかった。【０１７１】
そこで、この発明の実施の形態１では、電子署名の算出元となるハッシュ値に文書ＩＤおよび部分文書ＩＤを追加することにより、隠蔽対象として指定された部分文書の順序情報を保持することができ、当該部分文書の改変がおこなわれた場合であっても、適切に電子文書の真正性を検証することができる。【０１７２】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、隠蔽（墨塗り）した部分文書の改変がおこなわれた場合であっても、隠蔽した部分文書の順序情報が集約電子署名によって保持されているため、隠蔽した部分文書の真正性を検証することができる。【０１７３】
この発明の実施の形態１にかかる文書検証装置によれば、電子文書に対して「隠蔽」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。【０１７４】
（実施の形態２）
つぎに、上述した文書検証装置の実施の形態２について説明する。実施の形態２では、オリジナル文書を構成する部分文書の中から隠蔽対象および強制開示対象とする部分文書を任意に指定することができる。なお、実施の形態２にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態１にかかる文書検証装置の隠蔽処理の手順と同様のため説明を省略する。【０１７５】
（強制開示処理の概要）
図１０は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。図１０において、オリジナル文書を構成する部分文書の中から強制開示対象とする部分文書を指定する。なお、強制開示対象となる部分文書は、強制開示指定部３１５によって指定される強制開示対象となる構成要素に相当する。【０１７６】
ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から強制開示対象となる部分文書として「ｍ4」が指定されている。なお、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。【０１７７】
つぎに、指定された部分文書に付与されている電子署名を削除するとともに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。このとき、指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を算出し、保持文書に付与する。【０１７８】
具体的には、上述した生成部３０５によって強制開示する部分文書として指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を生成する。ここでは、「ｍ4」に付与されている電子署名σ4が削除されるとともに、集約電子署名σの中から電子署名σ4が削除されている。【０１７９】
そして、強制開示する「ｍ4」に付与されている電子署名σ4からなる強制開示集約電子署名σ’を生成する。生成された強制開示集約電子署名は保持文書に付与される。【０１８０】
（文書検証装置の強制開示処理の手順）
図１１は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。図１１において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１１０１）。【０１８１】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１１０１：Ｙｅｓ）、強制開示指定部３１５により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１１０２）。【０１８２】
そして、強制開示対象となる部分文書が指定されるのを待って、指定された場合（ステップＳ１１０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている電子署名を削除する（ステップＳ１１０３）。【０１８３】
つぎに、生成部３０５により、指定された部分文書に付与されている電子署名からなる強制開示集約電子署名を算出し（ステップＳ１１０４）、付与部３０６により、ステップＳ１１０１において入力されたオリジナル文書に強制開示集約電子署名を付与する（ステップＳ１１０５）。【０１８４】
つぎに、削除部３０８により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する（ステップＳ１１０６）。そして、設定部３０９により、指定された部分文書を強制開示対象として設定することによって、当該部分文書が強制開示される保持文書を生成する（ステップＳ１１０７）。【０１８５】
最後に、生成された保持文書を出力して（ステップＳ１１０８）、本フローチャートによる一連の処理を終了する。【０１８６】
これにより、オリジナル文書に対して「隠蔽」および「強制開示」の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。【０１８７】
また、強制開示対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度強制開示された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。【０１８８】
（文書検証装置の電子文書検証処理の手順）
つぎに、文書検証装置において実行される電子文書検証処理の手順について説明する。図１２は、この発明の実施の形態２にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。【０１８９】
図１２において、まず、文書検証装置の入力部３０１により、保持文書の入力を受け付けたか否かを判断する（ステップＳ１２０１）。ここで、保持文書が入力されるのを待って、入力された場合（ステップＳ１２０１：Ｙｅｓ）、判定部３１１により、保持文書を構成する各部分文書に追加されている文書ＩＤがすべて同じ値であるか否かを判断する（ステップＳ１２０２）。【０１９０】
そして、各部分文書に追加された文書ＩＤがすべて同じ値であった場合（ステップＳ１２０２：Ｙｅｓ）、判定部３１１により、各部分文書に追加された部分文書ＩＤが昇順となっているか否かを判断する（ステップＳ１２０３）。【０１９１】
ここで、各部分文書に追加された部分文書ＩＤが昇順となっている場合（ステップＳ１２０３：Ｙｅｓ）、算出部３０３により、保持文書を構成する各部分文書のハッシュ値を算出することにより、署名対象文書を復元する（ステップＳ１２０４）。【０１９２】
つぎに、判定部３１１により、保持文書に付与されている集約電子署名および強制開示集約電子署名に基づいて、集約電子署名および強制開示集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する（ステップＳ１２０５）。【０１９３】
具体的には、強制開示する部分文書を除く他の部分文書については、集約電子署名の復号結果と一致するか否かを判断し、強制開示する部分文書については、強制開示集約電子署名の復号結果と一致するか否かを判断する。ここで、一致する場合（ステップＳ１２０５：Ｙｅｓ）、出力部３１３により、検証成功を示す検証結果を出力して（ステップＳ１２０６）、本フローチャートによる一連の処理を終了する。【０１９４】
一方、ステップＳ１２０５において一致しなかった場合（ステップＳ１２０５：Ｎｏ）、出力部３１３により、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。また、ステップＳ１２０２において、各部分文書に追加された文書ＩＤがすべて同じ値ではなかった場合（ステップＳ１２０２：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。【０１９５】
さらに、ステップＳ１２０３において、各部分文書に追加された部分文書ＩＤが昇順となっていない場合（ステップＳ１２０３：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。【０１９６】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。【０１９７】
この発明の実施の形態２にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。【０１９８】
（実施の形態３）
つぎに、上述した文書検証装置の実施の形態３について説明する。実施の形態３では、オリジナル文書を構成する部分文書の中から隠蔽対象および削除対象とする部分文書を任意に指定することができる。【０１９９】
なお、実施の形態３にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態１にかかる文書検証装置の隠蔽処理の手順（図７参照）のうち、隠蔽する部分文書の電子署名を削除するステップＳ７０３を省略した手順となる。ここでは、文書検証装置において実行される隠蔽処理の手順については省略する。【０２００】
（削除処理の概要）
図１３は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の概要を示す説明図である。図１３において、まず、オリジナル文書を構成する部分文書の中から削除対象とする部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から削除対象となる部分文書として「ｍ3」が指定されている。【０２０１】
また、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。【０２０２】
つぎに、指定された部分文書を削除するとともに当該部分文書に付与されている電子署名を削除する。さらに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。ここでは、「ｍ3」が削除されるとともに「ｍ3」に付与されている電子署名σ3が削除される。さらに、集約電子署名σの中から「ｍ3」に付与されている電子署名σ3が削除されることとなる。【０２０３】
（文書検証装置の削除処理の手順）
図１４は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。図１４において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１４０１）。【０２０４】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１４０１：Ｙｅｓ）、削除指定部３１４により、削除対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１４０２）。そして、削除する部分文書が指定されるのを待って、指定された場合（ステップＳ１４０２：Ｙｅｓ）、削除部３０８により、指定された部分文書を削除し（ステップＳ１４０３）、指定された部分文書に付与されている電子署名を削除する（ステップＳ１４０４）。【０２０５】
つぎに、削除部３０８により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する（ステップＳ１４０５）。そして、設定部３０９により、指定された部分文書を削除対象として設定することによって、当該部分文書が削除された保持文書を生成する（ステップＳ１４０６）。最後に、生成された保持文書を出力して（ステップＳ１４０７）、本フローチャートによる一連の処理を終了する。【０２０６】
なお、ステップＳ１４０４〜ステップＳ１４０５における処理の順序は、ここで説明した順序に限らない。たとえば、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する処理の後に、部分文書および当該部分文書に付与されている電子署名を削除する処理をおこなうようにしてもよい。【０２０７】
これにより、オリジナル文書に対して隠蔽および削除の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。【０２０８】
また、削除対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度削除された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。【０２０９】
なお、実施の形態３における文書検証装置において実行される電子文書検証処理の手順は、実施の形態１における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。【０２１０】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書に関する真正性を検証することができる。【０２１１】
この発明の実施の形態３にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「削除」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。【０２１２】
（実施の形態４）
つぎに、上述した文書検証装置の実施の形態４について説明する。実施の形態４では、オリジナル文書を構成する部分文書の中から隠蔽対象、削除対象および強制開示対象となる部分文書を任意に指定することができる。すなわち、ここで説明する電子文書は、墨塗り、削除および強制開示の属性を任意に指定可能な電子文書である。【０２１３】
実施の形態４では、電子文書を構成する部分文書ごとに第１の電子署名および第２の電子署名を付与することにより、上記三つの属性を指定可能とする。第１の電子署名および第２の電子署名は、それぞれ異なる電子署名であればよく、算出方式は任意である。【０２１４】
たとえば、アルゴリズムが異なる二つの算出方式を採用することにより、一つのオリジナル文書から第１の電子署名および第２の電子署名を算出することとしてもよい。また、それぞれ異なる文書ＩＤおよび部分文書ＩＤが追加された二つのオリジナル文書を生成することにより、それぞれ異なる第１の電子署名および第２の電子署名を算出することとしてもよい。【０２１５】
ここでは、二つのオリジナル文書を生成することにより、一つの算出方式によってそれぞれ異なる第１の電子署名および第２の電子署名を算出する場合について説明する。図１５は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。なお、図４に示す電子署名生成処理の手順と同様の処理については説明を省略する。【０２１６】
図１５において、予測不可能な文書ＩＤおよび部分文書ＩＤを各部分文書に追加する処理を二回繰り返すことにより、それぞれ異なる第１のオリジナル文書および第２のオリジナル文書を生成する。【０２１７】
ここでは、第１のオリジナル文書に追加されている文書ＩＤを「Ｄ」、部分文書ＩＤを「ＳＤi（ｉ＝１〜５）」と表記し、第２のオリジナル文書に追加されている文書ＩＤを「Ｄ’」、部分文書ＩＤを「ＳＤ’i（ｉ＝１〜５）」と表記する。【０２１８】
なお、文書ＩＤ「Ｄ」と文書ＩＤ「Ｄ’」とが異なっていれば、部分文書ＩＤ「ＳＤi（ｉ＝１〜５）」と部分文書ＩＤ「ＳＤ’i（ｉ＝１〜５）」とは同一であってもよく、また、部分文書ＩＤ「ＳＤi（ｉ＝１〜５）」と部分文書ＩＤ「ＳＤ’i（ｉ＝１〜５）」とが異なっていれば、文書ＩＤ「Ｄ」と文書ＩＤ「Ｄ’」とは同一であってもよい。【０２１９】
つぎに、この第１のオリジナル文書および第２のオリジナル文書の各部分文書のハッシュ値に当該ハッシュ値の部分文書に追加されている文書ＩＤおよび部分文書ＩＤを追加することにより、第１の署名対象文書および第２の署名対象文書を生成する。【０２２０】
そして、第１の署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第１の電子署名「σ1，σ2，…，σ5」を算出するとともに、第２の署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第２の電子署名「τ1，τ2，…，τ5」を算出する。【０２２１】
第１の署名対象文書および第２の署名対象文書を構成するハッシュ値ごとの第１の電子署名および第２の電子署名は、それぞれ対応する部分文書に付与される。具体的には、たとえば、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値「Ｄ‖ＳＤ1‖ｈ1」および「Ｄ’‖ＳＤ’ 1‖ｈ1」から算出された第１の電子署名「σ1」および第２の電子署名「τ1」は部分文書「ｍ1」に付与されることとなる。【０２２２】
最後に、各部分文書の第１の電子署名「σ1，σ2，…，σ5」を集約した第１の集約電子署名σを算出するとともに、各部分文書の第２の電子署名「τ1，τ2，…，τ5」を集約した第２の集約電子署名τを算出し、図示しない電子文書Ｍに付与する。なお、ここでは、第１の電子署名を集約した第１の集約電子署名および第２の電子署名を集約した第２の集約電子署名を算出することとしたが、いずれか一方のみを算出することとしてもよい。【０２２３】
（文書検証装置の電子署名生成処理の手順）
つぎに、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図１６は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。【０２２４】
図１６のフローチャートにおいて、文書検証装置は、まず、入力部３０１により、電子文書の入力を受け付けたか否かを判断する（ステップＳ１６０１）。ここで、電子文書が入力されるのを待って、入力を受け付けた場合（ステップＳ１６０１：Ｙｅｓ）、分割部３０２により、入力された電子文書を部分文書に分割する（ステップＳ１６０２）。【０２２５】
つぎに、オリジナル文書生成処理を実行（ステップＳ１６０３）することにより、各部分文書に文書ＩＤおよび部分文書ＩＤが追加された第１のオリジナル文書および第２のオリジナル文書を生成する。【０２２６】
そして、算出部３０３により、分割された部分文書ごとのハッシュ値を算出する（ステップＳ１６０４）。つぎに、関連付け部３０４により、部分文書ごとのハッシュ値と、ステップＳ１６０３において生成された第１のオリジナル文書および第２のオリジナル文書を構成する部分文書に追加されている文書ＩＤおよび部分文書ＩＤを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた第１の署名対象文書および第２の署名対象文書を生成する（ステップＳ１６０５）。【０２２７】
つぎに、生成部３０５により、第１の署名対象文書を構成する文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第１の電子署名を算出するとともに、第２の署名対象文書を構成する文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第２の電子署名を算出する（ステップＳ１６０６）。【０２２８】
そして、付与部３０６により、算出された第１の電子署名および第２の電子署名をそれぞれ対応する部分文書に付与する（ステップＳ１６０７）。つぎに、部分文書ごとの第１の電子署名を集約した第１の集約電子署名を算出するとともに、部分文書ごとの第２の電子署名を集約した第２の集約電子署名を算出する（ステップＳ１６０８）。【０２２９】
最後に、付与部３０６により、電子文書に付与して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。第１の集約電子署名が付与され、かつ、各部分文書に第１の電子署名が付与された第１のオリジナル文書と、第２の集約電子署名が付与され、かつ、各部分文書に第２の電子署名が付与された第２のオリジナル文書はＨＤ２０５などの記録媒体に構築された電子文書ＤＢに記録されることとなる。【０２３０】
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。また、第１の電子署名および第２の電子署名を各構成要素に付与することにより、「隠蔽」、「削除」および「強制開示」の属性を各構成要素に変更不能に設定することができる。【０２３１】
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書ＩＤに基づいて、当該各部分文書に付与される第１の電子署名および第２の電子署名が算出される。このため、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序情報を保持することができ、属性が設定された部分文書の改変がおこなわれた場合であっても、改変後における電子文書の真正性を検証することができる。【０２３２】
（文書検証装置の編集処理の概要）
つぎに、この発明の実施の形態４にかかる文書検証装置の隠蔽処理、削除処理および強制開示処理の概要について説明する。図１７は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の概要を示す説明図である。【０２３３】
以下において、隠蔽対象、削除対象、強制開示対象の順に部分文書を指定する場合について説明するが指定する順序は任意であり、これに限らない。【０２３４】
図１７において、オリジナル文書（第１のオリジナル文書および第２のオリジナル文書のうち第１のオリジナル文書のみを図示する）を構成する部分文書の中から隠蔽対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象（墨塗り対象）となる部分文書として「ｍ2」が指定されている。【０２３５】
つぎに、隠蔽対象として指定された部分文書に付与されている第１の電子署名σ2および第２の電子署名τ2のうちいずれか一方（ここでは、第２の電子署名τ2）を削除する。このとき、隠蔽対象として指定された部分文書「ｍ2」がハッシュ値「ｈ2」に置き換えられる。【０２３６】
また、オリジナル文書を構成する部分文書の中から削除対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から削除対象となる部分文書として「ｍ3」が指定されている。【０２３７】
つぎに、削除対象として指定された部分文書を削除するとともに当該電子文書に付与されている第１の電子署名σ3および第２の電子署名τ3を削除する。さらに、オリジナル文書に付与されている第１の集約電子署名σおよび第２の集約電子署名τの中から削除対象として指定された部分文書に付与されている第１の電子署名σ3および第２の電子署名τ3をそれぞれ削除する。【０２３８】
また、オリジナル文書を構成する部分文書の中から強制開示対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から強制開示対象となる部分文書として「ｍ4」が指定されている。【０２３９】
つぎに、強制開示対象として指定された部分文書に付与されている第１の電子署名σ4および第２の電子署名τ4を削除する。これにより、オリジナル文書に対して隠蔽処理、削除処理および強制開示処理が施された保持文書が生成されることとなる。【０２４０】
（文書検証装置の編集処理の手順）
つぎに、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順について説明する。図１８は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。【０２４１】
図１８において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１８０１）。ここで入力されるオリジナル文書は、上記第１のオリジナル文書および第２のオリジナル文書である。【０２４２】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１８０１：Ｙｅｓ）、隠蔽指定部３０７により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０２）。隠蔽対象となる部分文書の指定を受け付けた場合（ステップＳ１８０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている第２の電子署名を削除する（ステップＳ１８０３）。【０２４３】
つぎに、削除指定部３１４により、削除対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０４）。削除対象となる部分文書の指定を受け付けた場合（ステップＳ１８０４：Ｙｅｓ）、削除部３０８により、指定された部分文書を削除し（ステップＳ１８０５）、指定された部分文書に付与されている第１の電子署名および第２の電子署名を削除する（ステップＳ１８０６）。【０２４４】
さらに、ステップＳ１８０１において入力されたオリジナル文書に付与されている第１の集約電子署名および第２の集約電子署名から、指定された部分文書に付与されている第１の電子署名および第２の電子署名をそれぞれ削除する（ステップＳ１８０７）。【０２４５】
つぎに、強制開示指定部３１５により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０８）。強制開示対象となる部分文書の指定を受け付けた場合（ステップＳ１８０８：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている第１の電子署名および第２の電子署名を削除する（ステップＳ１８０９）。【０２４６】
そして、設定部３０９により、指定された部分文書をそれぞれ隠蔽対象、削除対象および強制開示対象として設定することによって保持文書を生成する（ステップＳ１８１０）。最後に、生成された保持文書を出力して（ステップＳ１８１１）、本フローチャートによる一連の処理を終了する。【０２４７】
一方、ステップＳ１８０２において、隠蔽対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０２：Ｎｏ）、ステップＳ１８０４に移行し、ステップＳ１８０４において、削除対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０４：Ｎｏ）、ステップＳ１８０８に移行し、ステップＳ１８０８において、強制開示対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０８：Ｎｏ）、ステップＳ１８１０に移行する。【０２４８】
ここでは、隠蔽対象となる部分文書の指定、削除対象となる部分文書の指定、強制開示対象となる部分文書の指定の順に各編集処理を実行する場合について説明したがこれに限らない。たとえば、削除対象となる部分文書を指定した後に、隠蔽対象となる部分文書を指定し、強制開示対象となる部分文書を指定することとしてもよい。【０２４９】
これにより、オリジナル文書に対して「隠蔽」、「削除」および「強制開示」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。【０２５０】
また、各属性に設定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、ある属性に設定された部分文書は、以降において他の属性に設定することができない。【０２５１】
具体的には、たとえば、部分文書の属性を「隠蔽」から「削除」に変更することはできない。また、部分文書の属性を「隠蔽」から「強制開示」に変更することはできない。さらに、部分文書の属性を「隠蔽」から「元の部分文書」に変更することはできない。【０２５２】
同様に、部分文書の属性を「削除」から「隠蔽」に変更することはできない。また、部分文書の属性を「削除」から「強制開示」に変更することはできない。さらに、部分文書の属性を「削除」から「元の部分文書」に変更することはできない。【０２５３】
同様に、部分文書の属性を「強制開示」から「隠蔽」に変更することはできない。また、部分文書の属性を「強制開示」から「削除」に変更することはできない。さらに、部分文書の属性を「強制開示」から「元の部分文書」に変更することはできない。【０２５４】
なお、実施の形態４における文書検証装置において実行される電子文書検証処理の手順は、実施の形態１における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。【０２５５】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。【０２５６】
この発明の実施の形態４にかかる文書検証装置によれば、電子文書に対して「隠蔽」、「削除」、「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。【０２５７】
以上説明したように、文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる。【０２５８】
なお、本実施の形態で説明した文書検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０２５９】
以上のように、本発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証する技術に有用であり、特に、電子文書を構成する部分文書の順序交換を不可能にする文書検証技術に適している。
【図１】
2008084547.tif 000003
【図２】
2008084547.tif 000004
【図３】
2008084547.tif 000005
【図４】
2008084547.tif 000006
【図５】
2008084547.tif 000007
【図６】
2008084547.tif 000008
【図７】
2008084547.tif 000009
【図８】
2008084547.tif 000010
【図９】
2008084547.tif 000011
【図１０】
2008084547.tif 000012
【図１１】
2008084547.tif 000013
【図１２】
2008084547.tif 000014
【図１３】
2008084547.tif 000015
【図１４】
2008084547.tif 000016
【図１５】
2008084547.tif 000017
【図１６】
2008084547.tif 000018
【図１７】
2008084547.tif 000019
【図１８】
2008084547.tif 000020
【図１９】
2008084547.tif 000021
【手続補正書】
【提出日】平成21年2月5日(2009.2.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子文書の真正を検証する文書検証プログラム、記録媒体、文書検証方法および文書検証装置に関する。
【背景技術】
【０００２】
従来、電子文書の真正を検証する技術として、電子署名を用いた技術が提供されている。この電子署名技術は、電子文書ごとに電子署名を付与することによって、電子文書の作成者を認証するとともに、電子文書の正当性を判断することができ、電子文書の真正性を保証する技術である。
【０００３】
電子署名技術を利用した場合、不正なユーザによる改ざんを防ぐという点においては非常に有用であるが、電子文書の有効活用という点においては問題があった。なぜなら、電子署名技術においては、電子文書に対して何らかの編集をおこなった場合、編集後の電子文書の正当性が保証されないからである。
【０００４】
このため、電子文書に公開不可能な情報や不要な情報が含まれている場合であっても、電子文書の中から削除するなどの編集をおこなうことができず、ユーザの利便性を著しく低下させる要因となっていた。これにともない、電子文書に対する編集が可能でかつ、電子文書の真正が検証可能な技術が望まれている。
【０００５】
たとえば、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りを施す技術が提供されている（たとえば、下記非特許文献１参照。）。この墨塗り署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分（墨塗り部分）に対する秘匿性を保証する。
【０００６】
また、電子文書を部分文書に分割し、部分文書ごとに電子署名を付加させて、当該部分文書ごとに公開・非公開を指定することにより、非公開の部分文書を削除する技術が提供されている（たとえば、下記特許文献１および非特許文献２参照。）。この抽出署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分（削除部分）に対する秘匿性を保証する。
【０００７】
ここで、上記従来技術により抽出された電子文書について説明する。図１９は、従来技術における電子署名技術の一例を示す説明図である。図１９に示すように、オリジナル文書１９００が部分文書１９０１，１９０２，１９０３ごと（たとえば、ページごと）に分割され、オリジナル文書１９００全体に対して電子署名１９０４が付与されている。
【０００８】
また、墨塗り文書１９１０は、非特許文献１による技術により、オリジナル文書１９００のうち秘匿性を有する部分文書１９０１，１９０３が墨塗りされている。この場合、電子署名１９０４に基づいて、開示部分である部分文書１９０２に対する真正が検証可能である。
【０００９】
また、抽出文書１９２０は、特許文献１または非特許文献２による技術により、オリジナル文書１９００の中から部分文書１９０２が抽出されている。この場合、電子署名１９０４に基づいて、開示部分である部分文書１９０２に対する真正が検証可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−６０７２２号公報
【非特許文献】
【００１１】
【非特許文献１】宮崎邦彦、岩村充、松本勉、佐々木良一、吉浦裕、手塚悟、今井秀樹著「開示条件を制御可能な電子文書墨塗り技術」２００４年暗号と情報セキュリティシンポジウム予稿集
【非特許文献２】宮崎邦彦、花岡悟一郎、今井秀樹著「双線形写像を用いた電子文書墨塗り技術」２００５年暗号と情報セキュリティシンポジウム予稿集
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来技術の電子署名技術では、電子文書に対して、墨塗り処理または削除処理（抽出処理）のいずれか一方の処理のみが実行可能となっていた。このため、電子文書内において、墨塗りする部分文書と削除する部分文書とを混在させることができず、ユーザの利便性を低下させていたという問題があった。
【００１３】
ここで、上述した問題点を具体的に説明する。たとえば、図１９に示すオリジナル文書１９００が、ある省庁内における会議録である場合を想定し、部分文書１９０１（１ページ目）には会議の出席者リストが、部分文書１９０２（２ページ目）には会議の主内容が、部分文書１９０３（３ページ目）には税金の滞納者リストが記載されているとする。
【００１４】
ここで、墨塗り文書１９１０が公開された場合、閲覧者は１ページ目と３ページ目の具体的内容を特定することはできないが、オリジナル文書１９００における２ページ目の会議の主内容の前後に何らかの情報が記載されていることを推測することができる。
【００１５】
このため、秘匿性を有する部分文書１９０１，１９０３に墨塗りを施した場合であっても、墨塗り箇所から何らかの情報を推測することができるため、墨塗り文書１９１０全体としては完全に秘匿性を保証することができないという問題があった。
【００１６】
また、抽出文書１９２０が公開された場合、閲覧者は１ページ目と３ページ目の存在を知ることができないため、部分文書１９０１，１９０３の具体的内容を特定することはできない。
【００１７】
しかしながら、たとえば、３ページ目に記載されている税金の滞納者の氏名などの個人情報は墨塗りなどを施して秘匿する必要があるが、滞納者の存在を示すためにその箇所を残したい場合がある。このような場合であっても抽出文書１９２０では、３ページ目すべてが削除されてしまう。すなわち、抽出文書１９２０では、部分文書１９０１，１９０３を秘匿するためには、部分文書１９０１，１９０３を削除するしかなく、公開すべき情報も削除せざるを得ないという問題があった。
【００１８】
本開示技術は、上述した従来技術による問題点を解消するため、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる文書検証プログラム、記録媒体、文書検証方法および文書検証装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上述した課題を解決し、目的を達成するため、本開示技術は、電子文書の真正を検証させる文書検証プログラム、記録媒体、文書検証方法および文書検証装置であって、前記電子文書の入力を受け付け、入力された電子文書を任意の構成要素に分割し、分割された構成要素ごとのハッシュ値を算出し、算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付け、関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成し、生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与することを特徴とする。
【００２０】
本開示技術によれば、複数の電子署名を各構成要素に付与することにより、たとえば、隠蔽、削除、強制開示などの属性を各構成要素に変更不能に設定することができる。さらに、各構成要素に付与される電子署名により、上記属性が設定された構成要素の正当性を保証するとともに当該構成要素の電子文書における出現位置に関する順序の正当性を保証することができる。
【００２１】
また、本開示技術において、各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第１の電子署名および前記第２の電子署名を前記構成要素ごとに生成することとしてもよい。
【００２２】
本開示技術によれば、各構成要素に付与される電子署名により、属性が設定された構成要素について、同一電子文書内の構成要素であることの正当性を保証することができる。
【００２３】
また、本開示技術において、前記構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成し、生成された集約電子署名を前記電子文書に対して付与することとしてもよい。
【００２４】
本開示技術によれば、複数の属性を設定可能な電子文書の正当性を保証することができる。
【００２５】
また、本開示技術において、前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第２の電子署名を削除することとしてもよい。
【００２６】
本開示技術によれば、電子文書を構成する構成要素の中から隠蔽対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
【００２７】
また、本開示技術において、前記電子文書を、第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定することとしてもよい。
【００２８】
本開示技術によれば、電子文書を構成する任意の構成要素を隠蔽することができる。
【００２９】
また、本開示技術において、設定された電子文書の入力を受け付け、入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換え、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定し、判定結果に基づいて前記電子文書の真正を検証し、検証結果を出力することとしてもよい。
【００３０】
本開示技術によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素の正当性とともに当該構成要素の電子文書における出現位置に関する順序の正当性を検証することができる。
【００３１】
また、本開示技術において、さらに、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。
【００３２】
本開示技術によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素が同一電子文書内の構成要素であることの正当性を検証することができる。
【００３３】
また、本開示技術において、入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。
【００３４】
本開示技術によれば、構成要素の順序交換などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
【００３５】
また、本開示技術において、各構成要素に割り当てられた共通乱数が、入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。
【００３６】
本開示技術によれば、他の電子文書から構成要素を転写する改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
【００３７】
また、本開示技術において、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除することとしてもよい。
【００３８】
本開示技術によれば、電子文書を構成する構成要素の中から削除対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
【００３９】
また、本開示技術において、電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除することとしてもよい。
【００４０】
本開示技術によれば、電子文書に付与されている集約電子署名により、削除対象として指定された構成要素の削除後における電子文書の正当性を検証することができる。
【００４１】
また、本開示技術において、前記電子文書を、第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定することとしてもよい。
【００４２】
本開示技術によれば、電子文書を構成する任意の構成要素を削除することができる。
【００４３】
また、本開示技術において、前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除することとしてもよい。
【００４４】
本開示技術によれば、電子文書を構成する構成要素の中から強制開示対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
【００４５】
また、本開示技術において、前記電子文書を、第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定することとしてもよい。
【００４６】
本開示技術によれば、電子文書を構成する任意の構成要素を強制開示することができる。
【発明の効果】
【００４７】
本文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができるという効果を奏する。
【図面の簡単な説明】
【００４８】
【図１】図１は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。
【図２】図２は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。
【図３】図３は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。
【図４】図４は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。
【図５】図５は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【図６】図６は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。
【図７】図７は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。
【図８】図８は、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【図９】図９は、墨塗り署名技術の問題点の一例を示す説明図である。
【図１０】図１０は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。
【図１１】図１１は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。
【図１２】図１２は、この発明の実施の形態２にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【図１３】図１３は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の概要を示す説明図である。
【図１４】図１４は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。
【図１５】図１５は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。
【図１６】図１６は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【図１７】図１７は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の概要を示す説明図である。
【図１８】図１８は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。
【図１９】図１９は、従来技術における電子署名技術の一例を示す説明図である。
【発明を実施するための形態】
【００４９】
以下に添付図面を参照して、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置の好適な実施の形態を詳細に説明する。
【００５０】
（実施の形態）
（電子文書公開システム１００のシステム構成）
まず、この発明の実施の形態にかかる電子文書公開システムのシステム構成について説明する。図１は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。
【００５１】
図１において、電子文書公開システム１００は、情報を公開する側の文書検証装置１０１と情報公開を請求する側の文書検証装置１０２とが、インターネットなどのネットワーク１１０を介して相互に交信可能に接続されている。
【００５２】
電子文書公開システム１００において公開される電子文書は、たとえば、行政機関から発行される電子戸籍台帳、医療機関から発行される電子カルテおよび教育機関から発行される電子成績表など秘匿性の高い個人情報である。また、たとえば、各市町村の行政機関に対して公開請求することができる公文書などであってもよい。
【００５３】
文書検証装置１０１は、電子文書ＤＢを備えているコンピュータ装置である。なお、電子戸籍台帳や電子成績表などの電子文書は、情報公開側である文書検証装置１０１において作成されてもよく、また、他の装置において作成されてもよい。文書検証装置１０１は、作成された電子文書を真正の検証が可能な状態に加工して電子文書ＤＢに保存する。
【００５４】
このとき、電子文書の作成者および当該電子文書の正当性を保証するために、第三者機関である認証機関１０３により証明された電子署名を電子文書に付与する。また、文書検証装置１０２は、情報公開を請求するユーザが利用するコンピュータ装置である。
【００５５】
文書検証装置１０１は、文書検証装置１０２から情報公開請求を示す要求信号を受信した場合、該当する電子文書を電子文書ＤＢの中から検索する。そして、検索した電子文書を開示文書として文書検証装置１０２に送信する。このとき、文書検証装置１０１は、検索した電子文書を構成する部分文書に対して墨塗り、削除および強制開示などの属性を設定することができる。
【００５６】
一方、情報請求側の文書検証装置１０２は、情報公開側の文書検証装置１０１に対して情報公開請求を示す要求信号を送信することができる。そして、文書検証装置１０２は、要求信号を送信した結果、文書検証装置１０１から開示文書を受信する。また、文書検証装置１０２は、受信した開示文書の真正を検証することができる。
【００５７】
たとえば、文書検証装置１０２を利用して、ある市町村の行政機関に設置されている文書検証装置１０１に対して公害問題に関する公文書の公開請求をしたとする。その結果、文書検証装置１０２のユーザは、公害問題に関する公文書を取得することができ、当該公文書を閲覧することができる。
【００５８】
このとき、行政機関の職員は、公開する公文書に記載されている内容に対して各種属性を設定することができる。たとえば、公開義務のある大気汚染や水質汚濁の現状については強制開示する文書として設定し、実際に公害による被害を受けた被害者の氏名を墨塗りする文書として設定し、さらに、被害者の住所が記載された箇所については削除する文書として設定することができる。
【００５９】
このように、文書検証装置１０１のユーザは、公開する公文書の中の任意の文書に対して各種属性を設定することができる。また、各種属性を設定するなどの改変がおこなわれた公文書の真正性については、たとえば、文書検証装置１０２において検証することができ、不正な改変がおこなわれていないか否かを検証することができる。
【００６０】
ここでは、情報の公開側のユーザが利用する装置を文書検証装置１０１とし、情報公開を請求する側のユーザが利用する装置を文書検証装置１０２としたが、文書検証装置１０２において何らかの情報を作成し、文書検証装置１０１を利用するユーザに公開するようにしてもよい。
【００６１】
（コンピュータ装置のハードウェア構成）
つぎに、この発明の実施の形態にかかるコンピュータ装置（たとえば、図１に示す文書検証装置１０１，１０２）のハードウェア構成について説明する。図２は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。
【００６２】
図２において、コンピュータ装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３とを備えている。また、各構成部は、バス２００によってそれぞれ接続されている。
【００６３】
ここで、ＣＰＵ２０１は、コンピュータ装置（たとえば、図１に示す文書検証装置１０１，１０２）の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記録している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。
【００６４】
ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。ＨＤ２０５には、たとえば、図１に示す電子文書ＤＢが構築されている。
【００６５】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをコンピュータ装置に読み取らせたりする。
【００６６】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８には、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００６７】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１１０に接続され、このネットワーク１１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００６８】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００６９】
スキャナ２１２は、画像を光学的に読み取り、コンピュータ装置内に画像データを読み込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや電子文書を印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。
【００７０】
（文書検証装置の機能的構成）
つぎに、この発明の実施の形態にかかる文書検証装置（たとえば、図１に示す文書検証装置１０１，１０２）の機能的構成について説明する。図３は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。
【００７１】
図３において、文書検証装置は、入力部３０１と、分割部３０２と、算出部３０３と、関連付け部３０４と、生成部３０５と、付与部３０６と、隠蔽指定部３０７と、削除部３０８と、設定部３０９と、置換部３１０と、判定部３１１と、検証部３１２と、出力部３１３と、削除指定部３１４と、強制開示指定部３１５と、から構成されている。
【００７２】
入力部３０１は、電子文書の入力を受け付ける。入力部３０１によって入力された電子文書は、ＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。電子文書は、コンピュータ上で扱われる文書の総称であり、文書作成アプリケーションなどを用いて作成された電子データである。たとえば、行政機関から発行される電子戸籍台帳や教育機関から発行される電子成績表などの秘匿性を有する個人情報が電子文書として挙げられる。
【００７３】
なお、電子文書は、文書検証装置において作成されてもよく、また、他の装置において作成されてもよい。他の装置において電子文書が作成された場合、たとえば、インターネットなどのネットワーク１１０を介して文書検証装置に取得されることとなる。
【００７４】
分割部３０２は、入力部３０１によって入力された電子文書を任意の構成要素に分割する。具体的には、分割部３０２は、ＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれた電子文書を読み出して任意の構成要素に分割する。このとき、たとえば、電子文書を、当該電子文書の先頭（たとえば、入力された電子文書の読み込み開始箇所）から１バイトごとに分割してもよく、また、文字、単語、文、ページごとに分割してもよい。
【００７５】
さらに、電子文書における分割する箇所をユーザが任意に指定することにより、電子文書を複数の構成要素に分割するようにしてもよい。また、電子文書がＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語などによって記述された文書であった場合、文書を構成する最小構成要素ごとに分割してもよい。なお、分割部３０２によって任意の構成要素に分割された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００７６】
算出部３０３は、分割部３０２によって分割された構成要素ごとのハッシュ値を算出する。具体的には、算出部３０３は、ＲＡＭ２０３やＨＤ２０５などのメモリから任意の構成要素に分割された電子文書を読み出して、構成要素ごとハッシュ値を算出する。より具体的には、ハッシュ関数を利用することにより、各構成要素から固定長の擬似乱数であるハッシュ値を算出する。
【００７７】
インターネットなどのネットワーク１１０を介してデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較することにより、データが通信途中で改ざんされていないかを判定することができる。ハッシュ関数は不可逆な一方向関数を含むため、ハッシュ値から原文である構成要素を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。なお、算出部３０３によって算出されたハッシュ値はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００７８】
関連付け部３０４は、算出部３０３によって算出された構成要素ごとのハッシュ値と、当該構成要素の電子文書における出現位置に関する順序に従って各構成要素に割り当てられる乱数とを関連付ける。具体的には、関連付け部３０４は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素ごとのハッシュ値と各構成要素に割り当てられる乱数とを読み出して、それらを関連付ける。
【００７９】
乱数は、真性乱数または擬似乱数であり、出現位置に関する順序、すなわち、電子文書における各構成要素の配置によって定義される順序に従って各構成要素に割り当てられる。ここで、真正乱数とは、規則性のない不規則な数列に含まれる各要素である。具体的には、ランダムな物理現象を利用することにより、真正乱数を発生させる。また、擬似乱数とは、確定的な計算によって求められる数列ではあるが規則性のない乱数列のように見える数列に含まれる各要素を示す。
【００８０】
具体的には、擬似乱数は、コンピュータ上で生成される可能な限り予測困難な乱数であり、生成される数値の不偏性を高めたものである。この擬似乱数は、たとえば、擬似乱数生成器（擬似乱数生成法）を用いて生成することができる。擬似乱数生成器とは、多項式時間の計算機が乱数と識別不能な列を出力することができる機器である。
【００８１】
具体的には、たとえば、文書検証装置における電子文書の読み込み順に従って、昇順（乱数の値が順に大きくなる）または降順（乱数の値が順に小さくなる）となるように生成された乱数が各構成要素に割り当てられる。なお、関連付け部３０４によって関連付けられた各構成要素に割り当てられた乱数と、当該各構成要素のハッシュ値とはＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００８２】
生成部３０５は、関連付け部３０４によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を構成要素ごとに生成する。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから関連付けられたハッシュ値と乱数とを読み出して、それぞれ異なる第１の電子署名および第２の電子署名を構成要素ごとに生成する。
【００８３】
ここで、電子署名とは、電子文書の正当性を認証するために当該電子文書に付与される署名情報である。すなわち、電子署名は、物理的な署名（印鑑など）と同様に、電子文書の正しい作成者と当該電子文書の正当性（改ざんがおこなわれていないこと）を証明するためのものである。また、公開鍵暗号の原理などを利用することにより、任意のユーザによって電子署名の正当性を検証可能にすることができる。
【００８４】
この場合、公開鍵の正当性の保証を目的として、信頼できる認証機関１０３によって公開鍵に署名が付与されることがある。電子署名の生成方式としては、たとえば、素因数分解に基づくＲＳＡ署名方式やＥＳＩＧＮ署名、離散対数に基づくエルガマル署名やＤＳＡ署名、楕円離散対数に基づく楕円エルガマル署名や楕円ＤＳＡ署名などがある。
【００８５】
具体的には、たとえば、生成部３０５は、一の生成方式によって第１の電子署名を算出し、さらに、一の生成方式とは異なる他の生成方式によって第２の電子署名を算出することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。すなわち、電子署名を生成する際のアルゴリズムを変化させることにより、一つの生成元からそれぞれ異なる第１の電子署名および第２の電子署名を生成する。
【００８６】
また、第１の電子署名の生成元となるハッシュ値および乱数を用意するとともに、第２の電子署名の生成元となるハッシュ値および乱数を用意することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。
【００８７】
この場合、生成元となるハッシュ値および乱数を生成する電子署名ごとに用意するため、一つの生成方式によってそれぞれ異なる第１の電子署名および第２の電子署名を生成することができる。なお、生成部３０５によって生成されたそれぞれ異なる第１の電子署名および第２の電子署名はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００８８】
また、関連付け部３０４は、各構成要素に割り当てられる電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けることとしてもよい。具体的には、関連付け部３０４は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素のハッシュ値と当該構成要素に割り当てられる共通乱数とを読み出して、それらを関連付ける。
【００８９】
共通乱数は、電子文書ごとに予測不可能に割り当てられた乱数であり、当該電子文書を構成する構成要素すべてに共通する値である。この共通乱数は、たとえば、上記擬似乱数生成器などを用いて生成される。なお、関連付け部３０４によって関連付けられた共通乱数とハッシュ値と乱数とはＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００９０】
この場合、生成部３０５は、関連付け部３０４によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、第１の電子署名および第２の電子署名を構成要素ごとに生成することとなる。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから関連付けられた共通乱数とハッシュ値と乱数とを読み出して、第１の電子署名および第２の電子署名を構成要素ごとに生成する
【００９１】
また、生成部３０５は、構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成する。具体的には、生成部３０５は、ＲＡＭ２０３やＨＤ２０５などのメモリから構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を読み出して、集約電子署名を生成する。集約電子署名は、構成要素ごとに生成された第１の電子署名または第２の電子署名をひとまとめにしたものである。
【００９２】
具体的には、たとえば、集約電子署名は、各構成要素の電子署名（第１の電子署名または第２の電子署名）の積によって構成されていてもよく、また、各構成要素の電子署名（第１の電子署名または第２の電子署名）の和によって構成されていてもよい。なお、生成部３０５によって生成された集約電子署名はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００９３】
付与部３０６は、生成部３０５によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する。具体的には、付与部３０６は、ＲＡＭ２０３やＨＤ２０５などのメモリから第１の電子署名および第２の電子署名および各構成要素を読み出して、それぞれ対応する構成要素に付与する。なお、付与部３０６によって各構成要素に第１の電子署名および第２の電子署名が付与された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００９４】
また、付与部３０６は、生成部３０５によって生成された集約電子署名を電子文書に対して付与する。なお、付与部３０６によって集約電子署名が付与された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００９５】
なお、関連付け部３０４は、各構成要素に割り当てられる共通乱数と、当該共通乱数が割り当てられた構成要素のハッシュ値とを関連付けることとしてもよい。この場合、生成部３０５は、関連付け部３０４によって関連付けられた共通乱数とハッシュ値とに基づいて、第１の電子署名および第２の電子署名を構成要素ごとに生成することとなる。
【００９６】
隠蔽指定部３０７は、電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。具体的には、隠蔽指定部３０７は、ＲＡＭ２０３やＨＤ２０５などのメモリから読み出された電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。
【００９７】
より具体的には、たとえば、ユーザは、キーボード２１０やマウス２１１を操作することにより、隠蔽対象となる構成要素を指定することができる。隠蔽指定部３０７によって指定された構成要素は、たとえば、墨塗り処理などが施されることにより、ユーザが認識不能に隠蔽されることとなる。なお、隠蔽指定部３０７によって隠蔽対象となる構成要素が指定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【００９８】
削除部３０８は、隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名を削除する。具体的には、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名を読み出して削除する。これにより、隠蔽指定部３０７によって指定された構成要素に付与されている電子署名は第１の電子署名のみとなる。
【００９９】
設定部３０９は、電子文書を、削除部３０８によって第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第２の電子署名が削除された構成要素を隠蔽対象とする電子文書を読み出して設定する。すなわち、設定部３０９は、削除部３０８により隠蔽指定部３０７によって指定された構成要素に付与されている第２の電子署名が削除された場合にのみ、当該構成要素を隠蔽対象として設定することとなる。
【０１００】
このとき、関連付け部３０４により、隠蔽対象として指定された構成要素のハッシュ値と設定部３０９によって設定された電子文書とを関連付けることにより、隠蔽対象として指定された構成要素のハッシュ値が電子文書に保持されることとなる。すなわち、隠蔽対象として指定された構成要素に対して墨塗り処理などが施されることにより、当該構成要素をユーザが認識不能となるが、文書検証装置によって隠蔽対象の構成要素のハッシュ値は保持されることとなる。
【０１０１】
また、入力部３０１は、設定部３０９によって設定された電子文書の入力を受け付ける。入力部３０１によって入力された設定部３０９により設定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。ここで入力される電子文書は、真正を検証するための検証対象文書であり、たとえば、図１に示す公開請求側のユーザによって文書検証装置１０２に入力される電子文書である。
【０１０２】
置換部３１０は、入力部３０１によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、構成要素を当該構成要素のハッシュ値に置き換える。具体的には、置換部３１０は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して、構成要素を当該構成要素のハッシュ値に置き換える。すなわち、入力部３０１によって入力された電子文書を構成する構成要素を、当該構成要素のハッシュ値に置き換えることにより、第１の電子署名および第２の電子署名の生成元となるデータを復元する。
【０１０３】
このとき、文書検証装置において隠蔽対象の構成要素のハッシュ値が保持されているため、電子文書を構成する構成要素のうち隠蔽対象の構成要素を除く他の構成要素のハッシュ値を算出することにより、すべての構成要素を当該構成要素のハッシュ値に置き換える。なお、置換部３１０によって置き換えられた電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【０１０４】
判定部３１１は、電子文書に付与されている集約電子署名に基づいて、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定する。具体的には、判定部３１１は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書に付与されている集約電子署名および置換部３１０によって置き換えられた電子文書を読み出して、正当性を判定する。
【０１０５】
より具体的には、電子文書に付与されている集約電子署名を復号し、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致するか否かを判定する。
【０１０６】
また、判定部３１１は、さらに、電子文書に付与されている集約電子署名に基づいて、置換部３１０によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。具体的には、電子文書に付与されている集約電子署名を復号し、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数および共通乱数とが一致するか否かを判定する。
【０１０７】
また、判定部３１１は、入力部３０１によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、電子文書における各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた乱数が、当該電子文書における各構成要素の出現位置に関する順序に従って昇順または降順となっているか否かを判定する。
【０１０８】
また、判定部３１１は、各構成要素に割り当てられた共通乱数が、入力部３０１によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた共通乱数が同一であるか否かを判定する。
【０１０９】
また、判定部３１１は、入力部３０１によって入力された電子文書を構成する各構成要素に付与されている第１の電子署名または第２の電子署名に基づいて、各構成要素の正当性を判定するようにしてもよい。具体的には、各構成要素に付与されている第１の電子署名または第２の電子署名を復号し、各構成要素と一致するか否かを判定する。なお、判定部３１１による判定結果はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【０１１０】
検証部３１２は、判定部３１１の判定結果に基づいて電子文書の真正を検証する。具体的には、検証部３１２は、ＲＡＭ２０３やＨＤ２０５などのメモリから判定部３１１による判定結果を読み出して電子文書の真正を検証する。より具体的には、たとえば、電子文書に付与されている集約電子署名の復号結果に対して、置換部３１０によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致する場合に、電子文書が真性であると検証する。
【０１１１】
また、各構成要素に割り当てられた乱数が、電子文書における当該各構成要素の出現位置に関する順序に従っていると判定された場合に電子文書が真正であると検証する。さらに、各構成要素に割り当てられた共通乱数がすべての構成要素において共通であった場合に電子文書が真正であると検証するようにしてもよく、また、各構成要素が正当であると判定された場合に電子文書が真正であると検証するようにしてもよい。なお、検証部３１２の検証結果はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【０１１２】
出力部３１３は、検証部３１２の検証結果を出力する。具体的には、出力部３１３は、ＲＡＭ２０３やＨＤ２０５などのメモリから検証部３１２による検証結果を読み出して出力する。より具体的には、検証部３１２によって電子文書が真正であると検証された場合、検証成功を示す検証結果を出力する。また、検証部３１２によって電子文書が真正ではないと検証された場合、検証失敗を示す検証結果を出力する。
【０１１３】
削除指定部３１４は、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付ける。具体的には、削除指定部３１４はＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して削除対象となる構成要素の指定を受け付ける。削除指定部３１４によって指定された構成要素は、電子文書の中から削除されることとなる。
【０１１４】
削除部３０８は、削除指定部３１４によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除する。また、削除部３０８は、電子文書に付与されている集約電子署名の中から、削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除する。
【０１１５】
具体的には、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除指定部３１４によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を読み出して削除する。また、削除部３０８は、ＲＡＭ２０３やＨＤ２０５などのメモリから電子文書に付与されている集約電子署名を読み出して、当該集約電子署名の中から、削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除する。
【０１１６】
より具体的には、たとえば、電子文書に付与されている集約電子署名が各構成要素の第１の電子署名を集約したものである場合は、削除対象となる構成要素に付与されている第１の電子署名を集約電子署名から削除する。
【０１１７】
設定部３０９は、電子文書を、削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書を読み出して設定する。これにより、電子文書の中から削除指定部３１４によって指定された構成要素が削除されることとなる。
【０１１８】
強制開示指定部３１５は、電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付ける。具体的には、強制開示指定部３１５はＲＡＭ２０３やＨＤ２０５などのメモリから電子文書を読み出して強制開示対象となる構成要素の指定を受け付ける。強制開示指定部３１５によって指定された構成要素は、隠蔽対象や削除対象として指定することができず、強制的に開示される構成要素となる。
【０１１９】
削除部３０８は、強制開示指定部３１５によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除する。具体的には、削除部３０８はＲＡＭ２０３やＨＤ２０５などのメモリから強制開示指定部３１５によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を読み出して削除する。これにより、強制開示指定部３１５によって指定された構成要素には電子署名が付与されていないこととなる。
【０１２０】
設定部３０９は、電子文書を、削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定する。具体的には、設定部３０９は、ＲＡＭ２０３やＨＤ２０５などのメモリから削除部３０８によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書を読み出して設定する。
【０１２１】
これにより、電子文書における強制開示指定部３１５によって指定された構成要素が強制開示されることとなる。なお、設定部３０９によって設定された電子文書はＲＡＭ２０３やＨＤ２０５などのメモリに書き込まれる。
【０１２２】
なお、入力部３０１、分割部３０２、算出部３０３、関連付け部３０４、生成部３０５、付与部３０６、隠蔽指定部３０７、削除部３０８、設定部３０９、置換部３１０、判定部３１１、検証部３１２、出力部３１３、削除指定部３１４、強制開示指定部３１５は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５などの記録媒体に記録されているプログラムをＣＰＵ２０１に実行させることによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【０１２３】
（電子署名生成処理の概要）
つぎに、図１に示した電子文書公開システム１００において公開される電子文書に施される電子署名生成処理の概要について説明する。電子署名生成処理は、たとえば、情報の公開側である文書検証装置１０１において実行される処理である。まず、電子文書を構成する構成要素に一つの電子署名が付与される場合について説明する。
【０１２４】
図４は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。図４において、まず、電子文書Ｍを部分文書『ｍ1，ｍ2，…，ｍ5』に分割する。電子文書Ｍを分割する部分文書の単位は任意であり、たとえば、文字、単語、文、ページごとに電子文書Ｍを分割するようにしてもよい。なお、部分文書は、上述した分割部３０２によって分割される構成要素に相当する。
【０１２５】
つぎに、真正乱数または擬似乱数（以下、「乱数」という）を利用して、予測不可能な文書ＩＤおよび部分文書ＩＤを各部分文書に追加する。具体的には、たとえば、文書ＩＤおよび部分文書ＩＤを各部分文書に追加して記述してもよく、また、文書ＩＤおよび部分文書ＩＤと各部分文書とを関連付けて電子文書ＤＢに記録することとしてもよい。
【０１２６】
文書ＩＤは、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』において共通する値である。ここでは、各部分文書に共通して追加される文書ＩＤを「Ｄ」と表記する。なお、文書ＩＤは、上述した関連付け部３０４によって電子文書を構成する構成要素のハッシュ値と関連付けられた共通乱数に相当する。
【０１２７】
部分文書ＩＤは、部分文書ごとにそれぞれ異なる値であり、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』の出現位置に関する順序に従って昇順となるように追加される。ここでは、各部分文書『ｍ1，ｍ2，…，ｍ5』に追加される部分文書ＩＤをそれぞれ「ＳＤ1，ＳＤ2，…，ＳＤ5」と表記する。なお、部分文書ＩＤは、上述した関連付け部３０４によって電子文書を構成する構成要素のハッシュ値と関連付けられた乱数に相当する。
【０１２８】
文書ＩＤおよび部分文書ＩＤは、たとえば、擬似乱数生成器によって生成される。擬似乱数生成器によって生成された擬似乱数が文書ＩＤおよび部分文書ＩＤとして各部分文書に追加されることとなる。以下、各部分文書に文書ＩＤおよび部分文書ＩＤが追加された電子文書Ｍを「オリジナル文書」という。
【０１２９】
ここで、部分文書ごとにそれぞれ異なる部分文書ＩＤを追加する追加方式の一例を説明する。まず、擬似乱数生成器によって少なくとも分割された部分文書の個数分の擬似乱数を生成する（ここでは、少なくとも５個分の擬似乱数を生成する）。つぎに、生成された擬似乱数を部分文書ＩＤとして各部分文書にランダムに追加する。
【０１３０】
追加された結果、電子文書を構成する部分文書の出現位置に関する順序に従って昇順となっているか否かを判断し、各部分文書に追加された擬似乱数が昇順となるまで、擬似乱数の生成および各部分文書への追加を繰り返す。
【０１３１】
また、分割された部分文書の個数分の擬似乱数を生成し、生成した擬似乱数を昇順となるように予め並び替えて（ソート）から、各部分文書へ追加するようにしてもよい。具体的には、まず、擬似乱数生成器によって部分文書の個数分の擬似乱数（たとえば、「３３，７，２４，５５，５１」）を生成し、昇順（ここでは、「７→２４→３３→５１→５５」）となるように並び替える。
【０１３２】
そして、電子文書Ｍにおける最も左側の部分文書ｍ1から順に、昇順「７→２４→３３→５１→５５」となるように部分文書ＩＤを追加する。この結果、電子文書Ｍを構成する部分文書『ｍ1，ｍ2，…，ｍ5』に部分文書ＩＤ「７，２４，３３，５１，５５」がそれぞれ追加されたこととなる。
【０１３３】
なお、文書ＩＤについては、擬似乱数生成器によって電子文書Ｍ固有の擬似乱数を生成し、その擬似乱数を各部分文書に追加する。具体的には、たとえば、擬似乱数生成器によって生成された擬似乱数が「７」であった場合、生成された擬似乱数「７」を文書ＩＤとして各部分文書に追加する。
【０１３４】
ここで、図４の説明に戻り、つぎに、文書ＩＤおよび部分文書ＩＤが追加された部分文書ごとのハッシュ値を算出する。ここでは、文書ＩＤおよび部分文書ＩＤが追加された部分文書を「Ｄ‖ＳＤi‖ｍi」（ｉ＝１，２，…，５）と表記し、各部分文書のハッシュ値をそれぞれ「ｈ1，ｈ2，…，ｈ5」と表記する。
【０１３５】
ハッシュ値の算出元は、文書ＩＤおよび部分文書ＩＤが追加された部分文書であってもよく、また、文書ＩＤおよび部分文書ＩＤが追加されていない部分文書であってもよい。なお、ハッシュ値は、上述した算出部３０３によって電子文書を構成する構成要素ごとに算出されるハッシュ値に相当する。
【０１３６】
つぎに、算出された各ハッシュ値に当該各ハッシュ値の部分文書に追加されている文書ＩＤおよび部分文書ＩＤを追加する。そして、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値から構成される電子文書（以下、「署名対象文書」という）を生成する。
【０１３７】
そして、署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの電子署名「σ1，σ2，…，σ5」を算出する。ハッシュ値ごとの電子署名は、それぞれ対応する部分文書に付与される。
【０１３８】
具体的には、たとえば、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値「Ｄ‖ＳＤ1‖ｈ1」から算出された電子署名「σ1」は部分文書「ｍ1」に付与されることとなる。なお、電子署名は、上述した生成部３０５によって電子文書を構成する構成要素ごとに生成された電子署名に相当する。
【０１３９】
最後に、各部分文書の電子署名「σ1，σ2，…，σ5」を集約した集約電子署名σを算出し、電子文書Ｍに付与する。なお、集約電子署名σは、上述した生成部３０５によって電子文書ごとに算出される集約電子署名に相当する。
【０１４０】
（文書検証装置の電子署名生成処理の手順）
つぎに、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図５は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【０１４１】
図５のフローチャートにおいて、文書検証装置は、まず、入力部３０１により、電子文書の入力を受け付けたか否かを判断する（ステップＳ５０１）。ここで、電子文書が入力されるのを待って、入力を受け付けた場合（ステップＳ５０１：Ｙｅｓ）、分割部３０２により、入力された電子文書を部分文書に分割する（ステップＳ５０２）。
【０１４２】
つぎに、分割された各部分文書に文書ＩＤおよび部分文書ＩＤを追加する（ステップＳ５０３）。これにより、オリジナル文書が生成されたこととなる。そして、算出部３０３により、分割された部分文書ごとのハッシュ値を算出し（ステップＳ５０４）、関連付け部３０４により、部分文書ごとのハッシュ値と当該部分文書に追加されている文書ＩＤおよび部分文書ＩＤを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた署名対象文書を生成する（ステップＳ５０５）。
【０１４３】
つぎに、生成部３０５により、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの電子署名を算出し（ステップＳ５０６）、付与部３０６により、算出された電子署名をそれぞれ対応する部分文書に付与する（ステップＳ５０７）。
【０１４４】
そして、生成部３０５により、部分文書ごとの電子署名を集約した集約電子署名を算出し（ステップＳ５０８）、付与部３０６により、電子文書に付与して（ステップＳ５０９）、本フローチャートによる一連の処理を終了する。集約電子署名が付与され、かつ、各部分文書に電子署名が付与されたオリジナル文書は、ＨＤ２０５などの記録媒体に構築された電子文書ＤＢに記録されることとなる。
【０１４５】
なお、本フローチャートにおけるステップＳ５０５〜ステップＳ５０９において実行される処理の手順は、ここで説明した順序に限らない。たとえば、各部分文書の電子署名およびオリジナル文書の集約電子署名を算出する処理の後に、各部分文書に電子署名を付与する処理およびオリジナル文書に集約電子署名を付与する処理を実行することとしてもよい。
【０１４６】
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。
【０１４７】
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書ＩＤに基づいて、当該各部分文書に付与される電子署名が算出される。このため、電子文書を、たとえば、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序交換をおこなうことができない状態にすることができる。
【０１４８】
（実施の形態１）
つぎに、上述した文書検証装置の実施の形態１について説明する。実施の形態１では、上述した電子署名生成処理が施された電子文書を構成する部分文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、指定された部分文書に対して墨塗り処理が施されることにより、当該部分文書が隠蔽されることとなる。
【０１４９】
図６は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。図６において、電子文書を構成する部分文書の中から隠蔽対象とする部分文書を指定する。ここでの電子文書は、各部分文書に文書ＩＤおよび部分文書ＩＤが追加されたオリジナル文書である。なお、隠蔽対象となる部分文書は、隠蔽指定部３０７によって指定される隠蔽対象となる構成要素に相当する。
【０１５０】
具体的には、たとえば、ユーザは、キーボード２１０やマウス２１１を操作することにより、ディスプレイ２０８に表示されたオリジナル文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されている。
【０１５１】
つぎに、隠蔽対象として指定された部分文書に付与されている電子署名を削除する。ここでは、「ｍ2」に付与されている電子署名σ2が削除される。ここで、指定された部分文書に付与されている電子署名が削除された場合、部分文書を当該部分文書のハッシュ値に置き換える。
【０１５２】
ここでは、「ｍ2」に付与されている電子署名σ2が削除されることとなり、「ｍ2」が「ｈ2」に置き換えられる。最後に、隠蔽対象として指定された部分文書に墨塗り処理を施すことにより、当該部分文書が隠蔽される。ここでは、文書ＩＤおよび部分文書ＩＤが追加された「Ｄ‖ＳＤ2‖ｍ2」が墨塗りされている。以下、隠蔽対象として指定された部分文書に墨塗り処理が施されたオリジナル文書を「保持文書」という。
【０１５３】
なお、隠蔽対象とする部分文書を複数指定した場合も同様の処理がおこなわれることとなる。また、隠蔽対象として指定された部分文書に付与されている電子署名が削除されなかった場合には、墨塗り処理は実行されない。このため、隠蔽対象とする部分文書を指定したとしても、付与されている電子署名が削除されなかった場合は、当該部分文書を隠蔽することはできない。
【０１５４】
（文書検証装置の隠蔽処理の手順）
図７は、この発明の実施の形態１にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。図７において、まず、文書検証装置は、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ７０１）。
【０１５５】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ７０１：Ｙｅｓ）、隠蔽指定部３０７により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ７０２）。そして、隠蔽対象となる部分文書が指定されるのを待って、指定された場合（ステップＳ７０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている電子署名を削除する（ステップＳ７０３）。
【０１５６】
つぎに、設定部３０９により、指定された部分文書を隠蔽対象として設定することによって、当該部分文書が墨塗りされた保持文書を生成する（ステップＳ７０４）。最後に、生成された保持文書を出力して（ステップＳ７０５）、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、オリジナル文書に対して「隠蔽（墨塗り）」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
【０１５８】
また、隠蔽対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度墨塗りされた部分文書は、以降において削除および強制開示する部分文書として指定することができない。
【０１５９】
（文書検証装置の電子文書検証処理の手順）
つぎに、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順について説明する。図８は、この発明の実施の形態１にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【０１６０】
図８において、まず、文書検証装置の入力部３０１により、保持文書の入力を受け付けたか否かを判断する（ステップＳ８０１）。ここで、保持文書が入力されるのを待って、入力された場合（ステップＳ８０１：Ｙｅｓ）、判定部３１１により、保持文書を構成する各部分文書に追加されている文書ＩＤがすべて同じ値であるか否かを判断する（ステップＳ８０２）。
【０１６１】
そして、各部分文書に追加された文書ＩＤがすべて同じ値であった場合（ステップＳ８０２：Ｙｅｓ）、判定部３１１により、各部分文書に追加された部分文書ＩＤが昇順となっているか否かを判断する（ステップＳ８０３）。ここで、各部分文書に追加された部分文書ＩＤが昇順となっている場合（ステップＳ８０３：Ｙｅｓ）、算出部３０３により、保持文書を構成する各部分文書のハッシュ値を算出することによって署名対象文書を復元する（ステップＳ８０４）。
【０１６２】
このとき、保持文書における隠蔽対象として指定された部分文書は当該部分文書のハッシュ値に置き換えられているため、ハッシュ値を算出する必要はない。なお、隠蔽対象として指定された部分文書か否かの判断は、各部分文書に付与されている電子署名が削除されているか否かによって判断することができる。
【０１６３】
つぎに、判定部３１１により、保持文書に付与されている集約電子署名に基づいて、集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する（ステップＳ８０５）。ここで、一致する場合（ステップＳ８０５：Ｙｅｓ）、出力部３１３により、検証成功を示す検証結果を出力して（ステップＳ８０６）、本フローチャートによる一連の処理を終了する。
【０１６４】
一方、ステップＳ８０５において一致しなかった場合（ステップＳ８０５：Ｎｏ）、出力部３１３により、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。また、ステップＳ８０２において、各部分文書に追加された文書ＩＤがすべて同じ値ではなかった場合（ステップＳ８０２：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。
【０１６５】
さらに、ステップＳ８０３において、各部分文書に追加された部分文書ＩＤが昇順となっていない場合（ステップＳ８０３：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。
【０１６６】
（電子署名の意義）
ここで、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとに生成される電子署名の意義について説明する。図９は、墨塗り署名技術の問題点の一例を示す説明図である。
【０１６７】
図９において、まず、オリジナル文書を構成する部分文書のハッシュ値を算出することにより、署名対象文書が生成されている。つぎに、各部分文書ごとのハッシュ値から当該各部分文書に付与される電子署名が算出されている。
【０１６８】
この場合、電子署名の算出元となるハッシュ値には文書ＩＤおよび部分文書ＩＤは追加されていない。さらに、部分文書が隠蔽対象として指定された場合には、当該部分文書の文書ＩＤおよび部分文書ＩＤ、すなわち、部分文書の順序情報は失われてしまう。
【０１６９】
このため、部分文書に付与される電子署名によって正当性の判定をおこなう場合に、部分文書の内容についての正当性は判定することができるが、順序情報が失われているため順序交換や転写などの不正な改変についての正当性は判定することができない。
【０１７０】
具体的には、たとえば、部分文書「ｍ2」が隠蔽対象として指定された場合、部分文書「ｍ2」の順序情報は失われてしまう。このため、隠蔽（墨塗り）された部分文書「ｍ2」の順序交換（図９中矢印９００で示す）がおこなわれたとしても、保持文書の正当性の判定をおこなうことができない。すなわち、不正な順序交換が可能となってしまい、電子文書の真正性を保証することができなかった。
【０１７１】
そこで、この発明の実施の形態１では、電子署名の算出元となるハッシュ値に文書ＩＤおよび部分文書ＩＤを追加することにより、隠蔽対象として指定された部分文書の順序情報を保持することができ、当該部分文書の改変がおこなわれた場合であっても、適切に電子文書の真正性を検証することができる。
【０１７２】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、隠蔽（墨塗り）した部分文書の改変がおこなわれた場合であっても、隠蔽した部分文書の順序情報が集約電子署名によって保持されているため、隠蔽した部分文書の真正性を検証することができる。
【０１７３】
この発明の実施の形態１にかかる文書検証装置によれば、電子文書に対して「隠蔽」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
【０１７４】
（実施の形態２）
つぎに、上述した文書検証装置の実施の形態２について説明する。実施の形態２では、オリジナル文書を構成する部分文書の中から隠蔽対象および強制開示対象とする部分文書を任意に指定することができる。なお、実施の形態２にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態１にかかる文書検証装置の隠蔽処理の手順と同様のため説明を省略する。
【０１７５】
（強制開示処理の概要）
図１０は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。図１０において、オリジナル文書を構成する部分文書の中から強制開示対象とする部分文書を指定する。なお、強制開示対象となる部分文書は、強制開示指定部３１５によって指定される強制開示対象となる構成要素に相当する。
【０１７６】
ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から強制開示対象となる部分文書として「ｍ4」が指定されている。なお、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
【０１７７】
つぎに、指定された部分文書に付与されている電子署名を削除するとともに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。このとき、指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を算出し、保持文書に付与する。
【０１７８】
具体的には、上述した生成部３０５によって強制開示する部分文書として指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を生成する。ここでは、「ｍ4」に付与されている電子署名σ4が削除されるとともに、集約電子署名σの中から電子署名σ4が削除されている。
【０１７９】
そして、強制開示する「ｍ4」に付与されている電子署名σ4からなる強制開示集約電子署名σ’を生成する。生成された強制開示集約電子署名は保持文書に付与される。
【０１８０】
（文書検証装置の強制開示処理の手順）
図１１は、この発明の実施の形態２にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。図１１において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１１０１）。
【０１８１】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１１０１：Ｙｅｓ）、強制開示指定部３１５により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１１０２）。
【０１８２】
そして、強制開示対象となる部分文書が指定されるのを待って、指定された場合（ステップＳ１１０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている電子署名を削除する（ステップＳ１１０３）。
【０１８３】
つぎに、生成部３０５により、指定された部分文書に付与されている電子署名からなる強制開示集約電子署名を算出し（ステップＳ１１０４）、付与部３０６により、ステップＳ１１０１において入力されたオリジナル文書に強制開示集約電子署名を付与する（ステップＳ１１０５）。
【０１８４】
つぎに、削除部３０８により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する（ステップＳ１１０６）。そして、設定部３０９により、指定された部分文書を強制開示対象として設定することによって、当該部分文書が強制開示される保持文書を生成する（ステップＳ１１０７）。
【０１８５】
最後に、生成された保持文書を出力して（ステップＳ１１０８）、本フローチャートによる一連の処理を終了する。
【０１８６】
これにより、オリジナル文書に対して「隠蔽」および「強制開示」の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
【０１８７】
また、強制開示対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度強制開示された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
【０１８８】
（文書検証装置の電子文書検証処理の手順）
つぎに、文書検証装置において実行される電子文書検証処理の手順について説明する。図１２は、この発明の実施の形態２にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
【０１８９】
図１２において、まず、文書検証装置の入力部３０１により、保持文書の入力を受け付けたか否かを判断する（ステップＳ１２０１）。ここで、保持文書が入力されるのを待って、入力された場合（ステップＳ１２０１：Ｙｅｓ）、判定部３１１により、保持文書を構成する各部分文書に追加されている文書ＩＤがすべて同じ値であるか否かを判断する（ステップＳ１２０２）。
【０１９０】
そして、各部分文書に追加された文書ＩＤがすべて同じ値であった場合（ステップＳ１２０２：Ｙｅｓ）、判定部３１１により、各部分文書に追加された部分文書ＩＤが昇順となっているか否かを判断する（ステップＳ１２０３）。
【０１９１】
ここで、各部分文書に追加された部分文書ＩＤが昇順となっている場合（ステップＳ１２０３：Ｙｅｓ）、算出部３０３により、保持文書を構成する各部分文書のハッシュ値を算出することにより、署名対象文書を復元する（ステップＳ１２０４）。
【０１９２】
つぎに、判定部３１１により、保持文書に付与されている集約電子署名および強制開示集約電子署名に基づいて、集約電子署名および強制開示集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する（ステップＳ１２０５）。
【０１９３】
具体的には、強制開示する部分文書を除く他の部分文書については、集約電子署名の復号結果と一致するか否かを判断し、強制開示する部分文書については、強制開示集約電子署名の復号結果と一致するか否かを判断する。ここで、一致する場合（ステップＳ１２０５：Ｙｅｓ）、出力部３１３により、検証成功を示す検証結果を出力して（ステップＳ１２０６）、本フローチャートによる一連の処理を終了する。
【０１９４】
一方、ステップＳ１２０５において一致しなかった場合（ステップＳ１２０５：Ｎｏ）、出力部３１３により、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。また、ステップＳ１２０２において、各部分文書に追加された文書ＩＤがすべて同じ値ではなかった場合（ステップＳ１２０２：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。
【０１９５】
さらに、ステップＳ１２０３において、各部分文書に追加された部分文書ＩＤが昇順となっていない場合（ステップＳ１２０３：Ｎｏ）、検証失敗を示す検証結果を出力して（ステップＳ１２０７）、本フローチャートによる一連の処理を終了する。
【０１９６】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
【０１９７】
この発明の実施の形態２にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
【０１９８】
（実施の形態３）
つぎに、上述した文書検証装置の実施の形態３について説明する。実施の形態３では、オリジナル文書を構成する部分文書の中から隠蔽対象および削除対象とする部分文書を任意に指定することができる。
【０１９９】
なお、実施の形態３にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態１にかかる文書検証装置の隠蔽処理の手順（図７参照）のうち、隠蔽する部分文書の電子署名を削除するステップＳ７０３を省略した手順となる。ここでは、文書検証装置において実行される隠蔽処理の手順については省略する。
【０２００】
（削除処理の概要）
図１３は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の概要を示す説明図である。図１３において、まず、オリジナル文書を構成する部分文書の中から削除対象とする部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から削除対象となる部分文書として「ｍ3」が指定されている。
【０２０１】
また、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象となる部分文書として「ｍ2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
【０２０２】
つぎに、指定された部分文書を削除するとともに当該部分文書に付与されている電子署名を削除する。さらに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。ここでは、「ｍ3」が削除されるとともに「ｍ3」に付与されている電子署名σ3が削除される。さらに、集約電子署名σの中から「ｍ3」に付与されている電子署名σ3が削除されることとなる。
【０２０３】
（文書検証装置の削除処理の手順）
図１４は、この発明の実施の形態３にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。図１４において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１４０１）。
【０２０４】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１４０１：Ｙｅｓ）、削除指定部３１４により、削除対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１４０２）。そして、削除する部分文書が指定されるのを待って、指定された場合（ステップＳ１４０２：Ｙｅｓ）、削除部３０８により、指定された部分文書を削除し（ステップＳ１４０３）、指定された部分文書に付与されている電子署名を削除する（ステップＳ１４０４）。
【０２０５】
つぎに、削除部３０８により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する（ステップＳ１４０５）。そして、設定部３０９により、指定された部分文書を削除対象として設定することによって、当該部分文書が削除された保持文書を生成する（ステップＳ１４０６）。最後に、生成された保持文書を出力して（ステップＳ１４０７）、本フローチャートによる一連の処理を終了する。
【０２０６】
なお、ステップＳ１４０４〜ステップＳ１４０５における処理の順序は、ここで説明した順序に限らない。たとえば、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する処理の後に、部分文書および当該部分文書に付与されている電子署名を削除する処理をおこなうようにしてもよい。
【０２０７】
これにより、オリジナル文書に対して隠蔽および削除の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
【０２０８】
また、削除対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度削除された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
【０２０９】
なお、実施の形態３における文書検証装置において実行される電子文書検証処理の手順は、実施の形態１における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
【０２１０】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書に関する真正性を検証することができる。
【０２１１】
この発明の実施の形態３にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「削除」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
【０２１２】
（実施の形態４）
つぎに、上述した文書検証装置の実施の形態４について説明する。実施の形態４では、オリジナル文書を構成する部分文書の中から隠蔽対象、削除対象および強制開示対象となる部分文書を任意に指定することができる。すなわち、ここで説明する電子文書は、墨塗り、削除および強制開示の属性を任意に指定可能な電子文書である。
【０２１３】
実施の形態４では、電子文書を構成する部分文書ごとに第１の電子署名および第２の電子署名を付与することにより、上記三つの属性を指定可能とする。第１の電子署名および第２の電子署名は、それぞれ異なる電子署名であればよく、算出方式は任意である。
【０２１４】
たとえば、アルゴリズムが異なる二つの算出方式を採用することにより、一つのオリジナル文書から第１の電子署名および第２の電子署名を算出することとしてもよい。また、それぞれ異なる文書ＩＤおよび部分文書ＩＤが追加された二つのオリジナル文書を生成することにより、それぞれ異なる第１の電子署名および第２の電子署名を算出することとしてもよい。
【０２１５】
ここでは、二つのオリジナル文書を生成することにより、一つの算出方式によってそれぞれ異なる第１の電子署名および第２の電子署名を算出する場合について説明する。図１５は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。なお、図４に示す電子署名生成処理の手順と同様の処理については説明を省略する。
【０２１６】
図１５において、予測不可能な文書ＩＤおよび部分文書ＩＤを各部分文書に追加する処理を二回繰り返すことにより、それぞれ異なる第１のオリジナル文書および第２のオリジナル文書を生成する。
【０２１７】
ここでは、第１のオリジナル文書に追加されている文書ＩＤを「Ｄ」、部分文書ＩＤを「ＳＤi（ｉ＝１〜５）」と表記し、第２のオリジナル文書に追加されている文書ＩＤを「Ｄ’」、部分文書ＩＤを「ＳＤ’i（ｉ＝１〜５）」と表記する。
【０２１８】
なお、文書ＩＤ「Ｄ」と文書ＩＤ「Ｄ’」とが異なっていれば、部分文書ＩＤ「ＳＤi（ｉ＝１〜５）」と部分文書ＩＤ「ＳＤ’i（ｉ＝１〜５）」とは同一であってもよく、また、部分文書ＩＤ「ＳＤi（ｉ＝１〜５）」と部分文書ＩＤ「ＳＤ’i（ｉ＝１〜５）」とが異なっていれば、文書ＩＤ「Ｄ」と文書ＩＤ「Ｄ’」とは同一であってもよい。
【０２１９】
つぎに、この第１のオリジナル文書および第２のオリジナル文書の各部分文書のハッシュ値に当該ハッシュ値の部分文書に追加されている文書ＩＤおよび部分文書ＩＤを追加することにより、第１の署名対象文書および第２の署名対象文書を生成する。
【０２２０】
そして、第１の署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第１の電子署名「σ1，σ2，…，σ5」を算出するとともに、第２の署名対象文書を構成するハッシュ値ごと、すなわち、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第２の電子署名「τ1，τ2，…，τ5」を算出する。
【０２２１】
第１の署名対象文書および第２の署名対象文書を構成するハッシュ値ごとの第１の電子署名および第２の電子署名は、それぞれ対応する部分文書に付与される。具体的には、たとえば、文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値「Ｄ‖ＳＤ1‖ｈ1」および「Ｄ’‖ＳＤ’ 1‖ｈ1」から算出された第１の電子署名「σ1」および第２の電子署名「τ1」は部分文書「ｍ1」に付与されることとなる。
【０２２２】
最後に、各部分文書の第１の電子署名「σ1，σ2，…，σ5」を集約した第１の集約電子署名σを算出するとともに、各部分文書の第２の電子署名「τ1，τ2，…，τ5」を集約した第２の集約電子署名τを算出し、図示しない電子文書Ｍに付与する。なお、ここでは、第１の電子署名を集約した第１の集約電子署名および第２の電子署名を集約した第２の集約電子署名を算出することとしたが、いずれか一方のみを算出することとしてもよい。
【０２２３】
（文書検証装置の電子署名生成処理の手順）
つぎに、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図１６は、この発明の実施の形態４にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
【０２２４】
図１６のフローチャートにおいて、文書検証装置は、まず、入力部３０１により、電子文書の入力を受け付けたか否かを判断する（ステップＳ１６０１）。ここで、電子文書が入力されるのを待って、入力を受け付けた場合（ステップＳ１６０１：Ｙｅｓ）、分割部３０２により、入力された電子文書を部分文書に分割する（ステップＳ１６０２）。
【０２２５】
つぎに、オリジナル文書生成処理を実行（ステップＳ１６０３）することにより、各部分文書に文書ＩＤおよび部分文書ＩＤが追加された第１のオリジナル文書および第２のオリジナル文書を生成する。
【０２２６】
そして、算出部３０３により、分割された部分文書ごとのハッシュ値を算出する（ステップＳ１６０４）。つぎに、関連付け部３０４により、部分文書ごとのハッシュ値と、ステップＳ１６０３において生成された第１のオリジナル文書および第２のオリジナル文書を構成する部分文書に追加されている文書ＩＤおよび部分文書ＩＤを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた第１の署名対象文書および第２の署名対象文書を生成する（ステップＳ１６０５）。
【０２２７】
つぎに、生成部３０５により、第１の署名対象文書を構成する文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第１の電子署名を算出するとともに、第２の署名対象文書を構成する文書ＩＤおよび部分文書ＩＤが追加されたハッシュ値ごとの第２の電子署名を算出する（ステップＳ１６０６）。
【０２２８】
そして、付与部３０６により、算出された第１の電子署名および第２の電子署名をそれぞれ対応する部分文書に付与する（ステップＳ１６０７）。つぎに、部分文書ごとの第１の電子署名を集約した第１の集約電子署名を算出するとともに、部分文書ごとの第２の電子署名を集約した第２の集約電子署名を算出する（ステップＳ１６０８）。
【０２２９】
最後に、付与部３０６により、電子文書に付与して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。第１の集約電子署名が付与され、かつ、各部分文書に第１の電子署名が付与された第１のオリジナル文書と、第２の集約電子署名が付与され、かつ、各部分文書に第２の電子署名が付与された第２のオリジナル文書はＨＤ２０５などの記録媒体に構築された電子文書ＤＢに記録されることとなる。
【０２３０】
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。また、第１の電子署名および第２の電子署名を各構成要素に付与することにより、「隠蔽」、「削除」および「強制開示」の属性を各構成要素に変更不能に設定することができる。
【０２３１】
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書ＩＤに基づいて、当該各部分文書に付与される第１の電子署名および第２の電子署名が算出される。このため、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序情報を保持することができ、属性が設定された部分文書の改変がおこなわれた場合であっても、改変後における電子文書の真正性を検証することができる。
【０２３２】
（文書検証装置の編集処理の概要）
つぎに、この発明の実施の形態４にかかる文書検証装置の隠蔽処理、削除処理および強制開示処理の概要について説明する。図１７は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の概要を示す説明図である。
【０２３３】
以下において、隠蔽対象、削除対象、強制開示対象の順に部分文書を指定する場合について説明するが指定する順序は任意であり、これに限らない。
【０２３４】
図１７において、オリジナル文書（第１のオリジナル文書および第２のオリジナル文書のうち第１のオリジナル文書のみを図示する）を構成する部分文書の中から隠蔽対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から隠蔽対象（墨塗り対象）となる部分文書として「ｍ2」が指定されている。
【０２３５】
つぎに、隠蔽対象として指定された部分文書に付与されている第１の電子署名σ2および第２の電子署名τ2のうちいずれか一方（ここでは、第２の電子署名τ2）を削除する。このとき、隠蔽対象として指定された部分文書「ｍ2」がハッシュ値「ｈ2」に置き換えられる。
【０２３６】
また、オリジナル文書を構成する部分文書の中から削除対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から削除対象となる部分文書として「ｍ3」が指定されている。
【０２３７】
つぎに、削除対象として指定された部分文書を削除するとともに当該電子文書に付与されている第１の電子署名σ3および第２の電子署名τ3を削除する。さらに、オリジナル文書に付与されている第１の集約電子署名σおよび第２の集約電子署名τの中から削除対象として指定された部分文書に付与されている第１の電子署名σ3および第２の電子署名τ3をそれぞれ削除する。
【０２３８】
また、オリジナル文書を構成する部分文書の中から強制開示対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『ｍ1，ｍ2，…，ｍ5』の中から強制開示対象となる部分文書として「ｍ4」が指定されている。
【０２３９】
つぎに、強制開示対象として指定された部分文書に付与されている第１の電子署名σ4および第２の電子署名τ4を削除する。これにより、オリジナル文書に対して隠蔽処理、削除処理および強制開示処理が施された保持文書が生成されることとなる。
【０２４０】
（文書検証装置の編集処理の手順）
つぎに、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順について説明する。図１８は、この発明の実施の形態４にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。
【０２４１】
図１８において、まず、文書検証装置の入力部３０１により、オリジナル文書の入力を受け付けたか否かを判断する（ステップＳ１８０１）。ここで入力されるオリジナル文書は、上記第１のオリジナル文書および第２のオリジナル文書である。
【０２４２】
ここで、オリジナル文書が入力されるのを待って、入力された場合（ステップＳ１８０１：Ｙｅｓ）、隠蔽指定部３０７により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０２）。隠蔽対象となる部分文書の指定を受け付けた場合（ステップＳ１８０２：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている第２の電子署名を削除する（ステップＳ１８０３）。
【０２４３】
つぎに、削除指定部３１４により、削除対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０４）。削除対象となる部分文書の指定を受け付けた場合（ステップＳ１８０４：Ｙｅｓ）、削除部３０８により、指定された部分文書を削除し（ステップＳ１８０５）、指定された部分文書に付与されている第１の電子署名および第２の電子署名を削除する（ステップＳ１８０６）。
【０２４４】
さらに、ステップＳ１８０１において入力されたオリジナル文書に付与されている第１の集約電子署名および第２の集約電子署名から、指定された部分文書に付与されている第１の電子署名および第２の電子署名をそれぞれ削除する（ステップＳ１８０７）。
【０２４５】
つぎに、強制開示指定部３１５により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する（ステップＳ１８０８）。強制開示対象となる部分文書の指定を受け付けた場合（ステップＳ１８０８：Ｙｅｓ）、削除部３０８により、指定された部分文書に付与されている第１の電子署名および第２の電子署名を削除する（ステップＳ１８０９）。
【０２４６】
そして、設定部３０９により、指定された部分文書をそれぞれ隠蔽対象、削除対象および強制開示対象として設定することによって保持文書を生成する（ステップＳ１８１０）。最後に、生成された保持文書を出力して（ステップＳ１８１１）、本フローチャートによる一連の処理を終了する。
【０２４７】
一方、ステップＳ１８０２において、隠蔽対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０２：Ｎｏ）、ステップＳ１８０４に移行し、ステップＳ１８０４において、削除対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０４：Ｎｏ）、ステップＳ１８０８に移行し、ステップＳ１８０８において、強制開示対象となる部分文書の指定を受け付けなかった場合（ステップＳ１８０８：Ｎｏ）、ステップＳ１８１０に移行する。
【０２４８】
ここでは、隠蔽対象となる部分文書の指定、削除対象となる部分文書の指定、強制開示対象となる部分文書の指定の順に各編集処理を実行する場合について説明したがこれに限らない。たとえば、削除対象となる部分文書を指定した後に、隠蔽対象となる部分文書を指定し、強制開示対象となる部分文書を指定することとしてもよい。
【０２４９】
これにより、オリジナル文書に対して「隠蔽」、「削除」および「強制開示」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
【０２５０】
また、各属性に設定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、ある属性に設定された部分文書は、以降において他の属性に設定することができない。
【０２５１】
具体的には、たとえば、部分文書の属性を「隠蔽」から「削除」に変更することはできない。また、部分文書の属性を「隠蔽」から「強制開示」に変更することはできない。さらに、部分文書の属性を「隠蔽」から「元の部分文書」に変更することはできない。
【０２５２】
同様に、部分文書の属性を「削除」から「隠蔽」に変更することはできない。また、部分文書の属性を「削除」から「強制開示」に変更することはできない。さらに、部分文書の属性を「削除」から「元の部分文書」に変更することはできない。
【０２５３】
同様に、部分文書の属性を「強制開示」から「隠蔽」に変更することはできない。また、部分文書の属性を「強制開示」から「削除」に変更することはできない。さらに、部分文書の属性を「強制開示」から「元の部分文書」に変更することはできない。
【０２５４】
なお、実施の形態４における文書検証装置において実行される電子文書検証処理の手順は、実施の形態１における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
【０２５５】
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
【０２５６】
この発明の実施の形態４にかかる文書検証装置によれば、電子文書に対して「隠蔽」、「削除」、「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
【０２５７】
以上説明したように、文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる。
【０２５８】
なお、本実施の形態で説明した文書検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本文書検証プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本文書検証プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２５９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２６０】
（付記１）電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付けさせる関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成させる生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
【０２６１】
（付記２）前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けさせ、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第１の電子署名および前記第２の電子署名を前記構成要素ごとに生成させることを特徴とする付記１に記載の文書検証プログラム。
【０２６２】
（付記３）前記生成工程は、
前記構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成させ、
前記付与工程は、
前記生成工程によって生成された集約電子署名を前記電子文書に対して付与させることを特徴とする付記２に記載の文書検証プログラム。
【０２６３】
（付記４）前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付けさせる隠蔽指定工程と、
前記隠蔽指定工程によって指定された構成要素に付与されている第２の電子署名を削除させる削除工程と、
を前記コンピュータに実行させることを特徴とする付記３に記載の文書検証プログラム。
【０２６４】
（付記５）前記電子文書を、前記削除工程によって第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定させる設定工程を前記コンピュータに実行させることを特徴とする付記４に記載の文書検証プログラム。
【０２６５】
（付記６）前記設定工程によって設定された電子文書の入力を受け付けさせる検証対象文書入力工程と、
前記検証対象文書入力工程によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換えさせる置換工程と、
前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定させる判定工程と、
前記判定工程の判定結果に基づいて前記電子文書の真正を検証させる検証工程と、
前記検証工程の検証結果を出力させる出力工程と、
を前記コンピュータに実行させることを特徴とする付記４または５に記載の文書検証プログラム。
【０２６６】
（付記７）前記判定工程は、
さらに、前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定させることを特徴とする付記６に記載の文書検証プログラム。
【０２６７】
（付記８）前記判定工程は、
前記検証対象文書入力工程によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定させることを特徴とする付記６に記載の文書検証プログラム。
【０２６８】
（付記９）前記判定工程は、
前記各構成要素に割り当てられた共通乱数が、前記検証対象文書入力工程によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定させることを特徴とする付記６に記載の文書検証プログラム。
【０２６９】
（付記１０）前記電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付けさせる削除指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記削除指定工程によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除させることを特徴とする付記５に記載の文書検証プログラム。
【０２７０】
（付記１１）前記削除工程は、
前記電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第１の電子署名または第２の電子署名を削除させることを特徴とする付記１０に記載の文書検証プログラム。
【０２７１】
（付記１２）前記設定工程は、
前記電子文書を、前記削除工程によって第１の電子署名および第２の電子署名が削除された構成要素を削除対象とする電子文書に設定させることを特徴とする付記１０または１１に記載の文書検証プログラム。
【０２７２】
（付記１３）前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付けさせる強制開示指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記強制開示指定工程によって指定された構成要素に付与されている第１の電子署名および第２の電子署名を削除させることを特徴とする付記５に記載の文書検証プログラム。
【０２７３】
（付記１４）前記設定工程は、
前記電子文書を、前記削除工程によって第１の電子署名および第２の電子署名が削除された構成要素を強制開示対象とする電子文書に設定させることを特徴とする付記１３に記載の文書検証プログラム。
【０２７４】
（付記１５）電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させる生成工程と、
前記生成工程によって生成された電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
【０２７５】
（付記１６）前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させることを特徴とする付記１５に記載の文書検証プログラム。
【０２７６】
（付記１７）付記１〜１６のいずれか一つに記載の文書検証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０２７７】
（付記１８）電子文書の真正を検証させる文書検証方法であって、
前記電子文書の入力を受け付ける入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割する分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出する算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与工程と、
を含むことを特徴とする文書検証方法。
【０２７８】
（付記１９）電子文書の真正を検証させる文書検証装置であって、
前記電子文書の入力を受け付ける入力手段と、
前記入力手段によって入力された電子文書を任意の構成要素に分割する分割手段と、
前記分割手段によって分割された構成要素ごとのハッシュ値を算出する算出手段と、
前記算出手段によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け手段と、
前記関連付け手段によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成手段と、
前記生成手段によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与手段と、
を備えることを特徴とする文書検証装置。
【産業上の利用可能性】
【０２７９】
以上のように、本文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証する技術に有用であり、特に、電子文書を構成する部分文書の順序交換を不可能にする文書検証技術に適している。
【符号の説明】
【０２８０】
１００  電子文書公開システム
１０１，１０２  文書検証装置
１１０  ネットワーク
３０１  入力部
３０２  分割部
３０３  算出部
３０４  関連付け部
３０５  生成部
３０６  付与部
３０７  隠蔽指定部
３０８  削除部
３０９  設定部
３１０  置換部
３１１  判定部
３１２  検証部
３１３  出力部
３１４  削除指定部
３１５  強制開示指定部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付けさせる関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成させる生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
【請求項２】
前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数（以下、「共通乱数」という）と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けさせ、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第１の電子署名および前記第２の電子署名を前記構成要素ごとに生成させることを特徴とする請求項１に記載の文書検証プログラム。
【請求項３】
前記生成工程は、
前記構成要素ごとの第１の電子署名または当該構成要素ごとの第２の電子署名を集約した集約電子署名を生成させ、
前記付与工程は、
前記生成工程によって生成された集約電子署名を前記電子文書に対して付与させることを特徴とする請求項２に記載の文書検証プログラム。
【請求項４】
前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付けさせる隠蔽指定工程と、
前記隠蔽指定工程によって指定された構成要素に付与されている第２の電子署名を削除させる削除工程と、
を前記コンピュータに実行させることを特徴とする請求項３に記載の文書検証プログラム。
【請求項５】
前記電子文書を、前記削除工程によって第２の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定させる設定工程を前記コンピュータに実行させることを特徴とする請求項４に記載の文書検証プログラム。
【請求項６】
請求項１〜５のいずれか一つに記載の文書検証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項７】
電子文書の真正を検証させる文書検証方法であって、
前記電子文書の入力を受け付ける入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割する分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出する算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成工程と、
前記生成工程によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与工程と、
を含むことを特徴とする文書検証方法。
【請求項８】
電子文書の真正を検証させる文書検証装置であって、
前記電子文書の入力を受け付ける入力手段と、
前記入力手段によって入力された電子文書を任意の構成要素に分割する分割手段と、
前記分割手段によって分割された構成要素ごとのハッシュ値を算出する算出手段と、
前記算出手段によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け手段と、
前記関連付け手段によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第１の電子署名および第２の電子署名を前記構成要素ごとに生成する生成手段と、
前記生成手段によって生成された第１の電子署名および第２の電子署名を対応する構成要素に対して付与する付与手段と、
を備えることを特徴とする文書検証装置。
【国際調査報告】
2008084547.tif 000022
2008084547.tif 000023
2008084547.tif 000024
2008084547.tif 000025