(57)【要約】【課題】  署名付き電子文書の一部を削除（墨塗り）後でも検証可能な墨塗り署名方法を，表データに適用する方法を提供する【解決手段】  表計算プログラムが処理データ中の処理対象となるセルに，墨塗り署名用のIDを付与しておくことにより，当該データがファイルとして出力された際に，当該ファイル中のどの部分が，処理対象のセルに相当するかが，容易に判定可能となる。【選択図】  図１
2008294596.tif 000002
【特許請求の範囲】
【請求項１】
表データの真正性保証システムであって，
署名付き表データ作成者装置を備え，
前記表データは，セルに対応する一つ以上のセル要素データを構成要素とし，
前記署名付き表データ作成者装置は，
前記表データを，前記セル要素データ単位で管理する，表計算手段と，
前記表データを構成するセルの内，真正性保証対象とするひとつまたは複数のセルに対応する前記セル要素データの各々に対して乱数を生成する手段と，
前記セル要素データを，対応する前記生成した乱数と組み合わせ，当該組み合わせたデータに対するハッシュ値を算出する手段と，
一つ以上の前記ハッシュ値の組み合わせに対して，署名値を算出する，墨塗り署名生成手段，とを備え，
前記表計算手段は，
前記真正性保証対象とするセルに対応するセル要素データに，墨塗り署名用IDを付与し，署名付き表データを作成する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項２】
請求項１記載の表データの真正性保証システムであって，
前記署名付き表データ作成者装置において，
前記表計算手段は，入力装置を介してユーザから指示を受け付けたセルを前記真正性保証対象とする手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項３】
請求項２記載の表データの真正性保証システムであって，
前記署名付き表データ作成者装置において，
前記表計算手段は，前記ユーザからの指示を受け付けた前記真正性保証対象とするセルの背景色を変更する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項４】
請求項１記載の表データの真正性保証システムであって，
前記署名付き表データ作成者装置において，
前記表計算手段は，生成された前記署名値と，前記乱数とを，前記署名付き表データに追記する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項５】
請求項１記載の表データの真正性保証システムであって，
さらに，
前記署名付き表データを前記セル要素データ単位で管理する，表計算手段と，
前記署名付き表データから，墨塗り処理対象となるセル要素データに対応する乱数を削除する，墨塗り処理手段と，
を備える開示表データ作成者装置を備え，
前記表計算手段は，墨塗り処理対象とするセルの指定を受け付け，指定された前記セルに付与された前記墨塗り署名用IDを特定して前記墨塗り処理手段に伝える手段と，
前記墨塗り処理対象とするセル要素データを削除，または，削除済みであることを認識可能な文字または記号または図またはマルチメディアデータで置き換えた開示文書を作成する手段と，を備え，
前記墨塗り処理手段は，前記墨塗り署名用IDに基づき，前記墨塗り処理対象となるセル要素データを特定する
ことを特徴とする表データの真正性保証システム。
【請求項６】
請求項５記載の表データの真正性保証システムであって，
前記表計算手段は，当該開示表データ作成者装置が備える入力装置を介して，ユーザから指定されたセルを前記墨塗り処理対象とする手段を備える
ことを特徴とする表データの真正性保証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，電子的に作成されたデータの真正性保証方法およびそのシステムに関する。
【背景技術】
【０００２】
現在，見積書，請求書，報告書，企画書，申込書など幅広く利用されている電子データのひとつに，格子状に並べて表示するセル（cell）と呼ばれる領域にデータを対応付け，セル単位でのデータ処理を可能にした表データ（spread sheet）がある。またこれを扱うアプリケーションソフトウェアとして表計算ソフトウェア（spread sheet software）が知られている。（例えば，非特許文献１参照）。
【０００３】
また，電子的に作成されたデータの真正性保証方法として，電子署名（ディジタル署名(digital signature)ともいう）技術がある。（例えば，非特許文献２参照）。上記表計算ソフトウェアには，電子署名を付与する機能を有するものもある。たとえば非特許文献１に示されたOpenOffice.org “Calc”は，電子署名の機能がある（たとえば，非特許文献３参照）。
【０００４】
また，所有者とは異なる署名者によってあらかじめ署名が付与された所有者(owner)が所有する文書から，署名者が許可した部分については削除可能であり，また削除したあとの署名付き文書の有効性が確認可能な技術（例えば，非特許文献４参照）や，開示文書の真正性の保証と，開示不適当な情報の削除の両立可能な，電子文書の真正性保証技術（例えば，特許文献１参照）が知られている。
【０００５】
【非特許文献１】OpenOffice.org, "Calc", [online], 平成19年4月5日検索,インターネット<URL:http://www.openoffice.org/product/calc.html>
【非特許文献２】Bruce Schneier著「Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition」 John Wiley & Sons，(October 18, 1995), pp. 483-502
【非特許文献３】OpenOffice.org, "XML Project", [online], 平成19年4月5日検索,インターネット<URL:http://xml.openoffice.org/>
【非特許文献４】Ron Steinfeld, Laurence Bull, Yuliang Zheng著, "Content Extraction Signatures",  In International Conference on Information Security and Cryptology ICISC 2001, volume 2288 of LNCS, pp. 285-304, Berlin, 2001. Springer-Verlag, (2001)
【特許文献１】米国特許出願公開第2005/0015600号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
非特許文献１に開示された表計算ソフトウェアで作成される電子文書を申込書，報告書などとして利用する場合，その真正性（誰が作成または承認したか，またその時点から以降不正な改変が行われていないか）を確保することが重要である。一方，それらの書類は一部のセルを隠して（たとえば情報を削除し黒く塗りつぶした状態で。以降「墨塗りして」と総称する），利用することが望まれる場合がある。
【０００７】
しかし，非特許文献３に開示された電子署名機能を利用して真正性を保証するための署名を付与した表データの或るセルを隠すことは困難である。なぜなら，署名が付与された表データの一部のセルを隠すことは，表データの改変であるので，変更すると署名が無効になってしまうからである。また署名が無効になることを避けるために，あらかじめ変更できないように設定されていることもある。いずれの場合でも，真正性が確認可能な状態を保ったまま，一部のセルを隠すことは困難である。
【０００８】
非特許文献４や特許文献１には，署名付与後に，署名検証可能な状態を維持しつつ電子文書の一部を墨塗り可能な，電子署名方法（以下，墨塗り署名方法と呼ぶ）が開示されている。これらに開示された墨塗り署名方法は，墨塗り可能な最小単位となるデータの集合あるいはデータ列に対して署名を付与するものである。
【０００９】
しかし，上記文献に開示されている方法では，適用する電子文書の構成が複雑になると，その処理効率が低下する，というおそれがある。
【００１０】
また，上記文献には，適用する電子文書が表データである場合の，具体的な適用方法についても，開示されていない。
【課題を解決するための手段】
【００１１】
本発明は，墨塗り署名方法を適用する電子文書の構成が複雑であっても，処理効率の低下を抑えられる，墨塗り署名の具体的な適用方法を提供する。
【００１２】
すなわち，墨塗り署名方法を電子文書に適用するためのデータの変換方法，墨塗りされたデータの検証方法を提供する。
【００１３】
また，本発明は，墨塗り署名方法を表データに適用するためのデータの変換方法，墨塗りするセルの指定方法，墨塗りされたデータの表示方法，墨塗りされたデータの検証方法，検証結果の表示方法および装置を提供する。
【００１４】
具体的には，本発明では，表データに含まれるセル各々に，当該表データ内で固有の墨塗り署名用ID（単にIDということがある）を付与し，表データをファイルとして出力し，当該ファイルデータを，当該ファイルデータ中の，前記IDによって特定されるひとつまたは複数のデータの，集合または列に変換するデータの変換方法を提供する。
【００１５】
なお，すべてのセルにIDを付与してもよいし，墨塗りすることが確定しているセル，または，墨塗りされる可能性のあるセルに限定して付与しても良い。墨塗り署名用IDは，あってもなくても表計算機能には影響せず，また，ファイルとして出力した際にはファイル中にIDに関するデータが含まれる，という特徴を有する。
【００１６】
なお，上記IDは，本発明を適用するシステムにおいて，単一のファイルとして管理する電子文書（表データを含む）内で固有であればよく，異なるファイルとして識別できる電子文書相互では重複しても良い。
【００１７】
また，本発明では，将来的に墨塗りされる可能性のある領域，または，墨塗りする領域を，セルを墨塗り可能な最小単位として，マウスポインタを用いて，または，キーボード操作により指定する，セルの指定方法を提供する。
【００１８】
また，本発明では，墨塗りするセルのデータを削除したり，または，墨塗りされたことを意味する文字列あるいは無意味な文字列で置き換えたりした表データを生成する方法を提供する。また，墨塗りされたセルを，たとえば，その背景色を墨塗りされたことを認知しやすい色（たとえば黒）に置き換え，墨塗りされたセルと他の墨塗りされていないセルとを区別しやすい状態で表示する方法を提供する。
【００１９】
また，本発明では，墨塗りされたセルを含む表データの中から，前記各セルに固有のIDによって特定されるデータの集合または列を得て，当該データの集合またはデータ列に対して，署名検証処理を行い，その結果を出力する，墨塗りされたデータの検証方法を提供する。なお，データ集合は元（要素）の間に順序付けされていないものを指し，データ列は順序付けされているものを指す。
【００２０】
また，本発明では，署名検証結果を，画面上のダイアログボックスを用いて表示したり，または，検証の結果，改変されていないことが確認されたセルを，背景色を変更，または，太線で囲むなど，他の領域と容易に視認できるように表示したりする，検証結果の表示方法を提供する。
【００２１】
本発明が提供する表データの真正性保証システムは，より具体的には，
署名付き表データ作成者装置を備え，
上記表データは，セルに対応する一つ以上のセル要素データを構成要素とし，
上記署名付き表データ作成者装置は，  上記表データを，上記セル要素データ単位で管理する，表計算手段と，
上記表データを構成するセルの内，真正性保証対象とするひとつまたは複数のセルに対応する上記セル要素データの各々に対して乱数を生成する手段と，
上記セル要素データを，対応する上記生成した乱数と組み合わせ，当該組み合わせたデータに対するハッシュ値を算出する手段と，
一つ以上の上記ハッシュ値の組み合わせに対して，署名値を算出する，墨塗り署名生成手段，とを備え，
上記表計算手段は，
上記真正性保証対象とするセルに対応するセル要素データに，墨塗り署名用IDを付与し，署名付き表データを作成する手段を備えることを特徴とする。
【００２２】
さらに，上記表データの真正性保証システムは，上記署名付き表データ作成者装置において，上記表計算手段が，入力装置を介してユーザから指示を受け付けたセルを上記真正性保証対象とする手段を備えてもよい。
【００２３】
さらに，上記表データの真正性保証システムは，上記署名付き表データ作成者装置において，上記表計算手段が，上記ユーザからの指示を受け付けた上記真正性保証対象とするセルの背景色を変更する手段を備えてもよい。
【００２４】
さらに，上記表データの真正性保証システムは，上記署名付き表データ作成者装置において，上記表計算手段が，生成された上記署名値と，上記乱数とを，上記署名付き表データに追記する手段を備えてもよい。
【００２５】
上記表データの真正性保証システムは，さらに，上記署名付き表データを上記セル要素データ単位で管理する，表計算手段と，上記署名付き表データから，墨塗り処理対象となるセル要素データに対応する乱数を削除する，墨塗り処理手段と，を備える開示表データ作成者装置を備えてもよく，
さらに，当該開示表データ作成者装置において，
上記表計算手段は，墨塗り処理対象とするセルの指定を受け付け，指定された上記セルに付与された上記墨塗り署名用IDを特定して上記墨塗り処理手段に伝える手段と，
上記墨塗り処理対象とするセル要素データを削除，または，削除済みであることを認識可能な文字または記号または図またはマルチメディアデータで置き換えた開示文書を作成する手段と，を備え，
上記墨塗り処理手段は，上記墨塗り署名用IDに基づき，上記墨塗り処理対象となるセル要素データを特定するものであってもよい。
【００２６】
さらに，上記表データの真正性保証システムは，開示表データ作成者装置において，
上記表計算手段は，当該開示表データ作成者装置が備える入力装置を介して，ユーザから指定されたセルを上記墨塗り処理対象とする手段を備えてもよい。
【００２７】
本発明により，表データを開示する場合に，開示不要，あるいは，開示が不適切な部分を秘匿しても，表データの真正性を検証可能な状態で開示することができる。すなわち，表データに対して，一部のセルを秘匿しつつも，他のセルが改ざんされていないという真正性を保証可能となる。
【００２８】
なお，本発明は，表データ以外の電子文書，たとえば，図形データ，文字列データに対しても適用可能である。
【発明の効果】
【００２９】
本発明によれば，墨塗り署名方法を適用する電子文書の構成が複雑であっても，処理効率の低下を抑えることが可能になる。
【発明を実施するための最良の形態】
【００３０】
以下，本発明を，行政機関における情報公開システムに適用した実施形態について説明するが，本発明は，行政機関以外の情報公開システムや，情報公開システム以外の，表データを扱うシステム一般に適用可能である。また，本発明は，表データ以外の電子文書に対しても適用可能である。
【００３１】
なお，本実施形態において表データとは，セル(cell)と呼ばれる領域を，表示画面に格子状に並べて表示可能であって，それぞれセルに対応づけられたデータを，セル単位で処理可能に構成したデータを指す。
【００３２】
また，表計算ソフトウェアは，セルを表示画面に格子状に並べ，セルに対応付けられたデータをセル内に表示し，セル単位でのデータ処理を行う。
【００３３】
表データの各セルに格納されるデータには，テキスト，数値，計算式，条件式，プログラムコード，図，グラフ，他のセルへのリンク情報，他の電子データへのリンク情報，音声，映像（静止画，動画など）などの任意のいずれか1つ以上が含まれていてよい。さらには，これらのデータに付随する動作，条件，関係，作成日時，作成者，変更者，閲覧者，閲覧可能者，作成装置，変更装置，閲覧装置，保管装置などの任意のいずれか1つ以上を電子的に記述したデータ，またはこれらを組み合わせて構成されたデータが含まれていてよい。また，複数のセルが結合されたサイズの大きいセルが含まれていてもよい。
【００３４】
また，表データは，通常，表(table)を表現するためのデータとして使われるが，これに限らず，たとえば文章を表現するものであってもよい。また，表データは，見積書，請求書，報告書，企画書，申込書，提案書，説明書，ログデータ，統計データ，帳票，設計図などに使われるものであってもよい。なお，以下では特に断らない限り，電子文書とは表データのことを指す。
【００３５】
本実施形態で利用する墨塗り署名方法（以降，SUMI-4と呼ぶことがある）の概略は以下のとおりである。なお，本発明の適用先は，SUMI-4に限定されるものではない。たとえば，特許文献１に開示された，開示条件を設定可能な方法（以降，SUMI-5と呼ぶことがある）などにも，同様に適用可能である。
（墨塗り署名方法の概略：署名生成処理）
１．署名付与対象となる電子文書（本実施形態では表データ）を，墨塗り可能な単位（ブロックという）に分割する。以下，分割される前の電子文書を，複数の墨塗り可能ブロックを含む集合と，同一視する。
２．各墨塗り可能ブロックに対し，乱数を生成する。
３．各墨塗り可能ブロックに対し，墨塗り可能ブロックのデータと，上記２で生成された乱数とを結合したデータのハッシュ値を算出する。
４．上記３で算出された，墨塗り可能ブロックの個数と同じ個数のハッシュ値を結合したデータに対して，電子署名を生成する。５．上記２で生成された乱数と，上記４で生成された電子署名と，署名付与対象となる電子文書を含む表データを墨塗り署名付き電子文書とする。
６．上記４でハッシュ値を結合したデータについて，さらにハッシュ値を算出し，算出されたハッシュ値に対して，電子署名を生成してもよい。
（墨塗り署名方法の概略：墨塗り処理）
１．墨塗り署名付き電子文書に含まれる，墨塗り可能ブロックのうち，実際に墨塗りするブロックを選択する。
２．上記１で選択されたすべてのブロックに対し，当該墨塗り可能ブロックのデータと，それに対応する乱数とを結合したデータのハッシュ値を算出する。
３．墨塗り署名付き電子文書から，上記１で選択されたすべてのブロックに対し，墨塗り可能ブロックと対応する乱数とを削除し，上記２で算出されたハッシュ値に置換する。これを墨塗りされた墨塗り署名付き電子文書とする。
（墨塗り署名方法の概略：署名検証処理）
１．墨塗りされた墨塗り署名付き電子文書のうち，墨塗りされていないすべてのブロックに対し，当該墨塗り可能ブロックのデータと，それに対応する乱数とを結合したデータのハッシュ値を算出する。
２．上記１で算出されたハッシュ値と，墨塗りされた墨塗り署名付き電子文書として与えられた墨塗りされたブロックに対するハッシュ値とを結合したデータを算出する。
３．上記２で算出されたデータに対して，墨塗りされた墨塗り署名付き電子文書に含まれる電子署名を検証する。
【００３６】
なお，上記墨塗り署名方法の概略中にあるハッシュ値とは，ハッシュ関数と呼ばれる関数の出力値のことである。本実施形態におけるハッシュ関数とは，任意長のデータを入力として，固定長のデータを出力とする関数であって，出力値（ハッシュ値）から元の入力データを推測することが著しく困難であり，かつ，同じ出力値（ハッシュ値）を与える２つの異なる入力データを探索することが著しく困難であるような性質をもつ関数のことである。このようなハッシュ関数としては，SHA-1,SHA-224,SHA-256,SHA-384,SHA-512などがよく知られているが，本実施形態で利用可能なハッシュ関数は，これらのハッシュ関数に限定されるものではない。
【００３７】
また，上記墨塗り署名方法の概略中にある電子署名とは，電子データが署名者によって作成または確認され，その時点から以降，改変されていないことを保証するためのデータのことである。一般には，任意長のデータを入力とし，そのハッシュ値を算出し，当該ハッシュ値をあらかじめ定められた長さのデータにあわせるためのパディング処理を施したデータに対し，権限のある者が秘密裏に有する秘密鍵を用いた演算を行った結果の出力値のことを指す。この出力値は，秘密鍵に対応する公開鍵と呼ばれるデータがあれば，入力データと整合しているか否かを確認することができる。この確認処理のことを一般に署名検証処理と呼ぶ。入力データ長が短いことが分かっている場合には，ハッシュ値を算出する処理を省略することもある。電子署名方法としては，RSA署名，DSA署名，ECDSA署名などがよく知られているが，本実施形態で利用可能な電子署名方法は，これらの電子署名方法に限定されるものではない。以下では特に断らない限り，RSA署名を利用した場合について説明する。上記墨塗り署名方法の概略中の署名生成処理のステップ４，５における電子署名の生成は，公知の電子署名方法にしたがって行えばよい。同様に，署名検証処理のステップ３における電子署名の検証も，公知の電子署名の検証方法にしたがって行えばよい。
【００３８】
図１は，第１実施形態におけるシステムの概略構成図である。本実施形態においては，行政機関の情報公開システムを例に挙げて説明しているが，行政機関以外の組織や個人における情報公開システム，または文書管理システムやそのほかの表データを扱うシステムであっても同様に適用可能である。
【００３９】
たとえば，クレジットカードの利用明細が表データとして示された利用明細書を電子的に発行するシステムでも適用可能である。クレジットカードの利用明細書は，たとえば社員が勤務先会社に費用申請を行う場合に利用される。このとき，社員の立場からは個人情報保護のために，クレジットカード会社が発行した利用明細書の中で申請に必要な部分以外（たとえば個人的な用途で購入した物品の明細など）を墨塗りして削除した上で，勤務先会社に申請することが望まれる。本実施形態によれば，開示しない部分を削除した場合であっても，明細書の開示された部分の金額が真にクレジットカード会社が記載したものであることを検証することが可能となり，好ましい。
【００４０】
図示するように，本システムは，ネットワーク１０１を介して，行政機関の職員が利用する，オリジナル文書作成者装置１０２，文書管理装置１０３，開示文書作成者装置１０４の各装置と，一般市民が利用する受信者装置１０５が接続されている。
【００４１】
なお，本実施形態では，上記各装置が，同一のネットワーク１０１に接続されている例を説明しているが，これとは異なる接続形態であってもよい。たとえば，オリジナル文書作成者装置１０２，文書管理装置１０３，開示文書作成者装置１０４の各装置が，当該行政機関のLAN(Local Area Network)に接続されており，当該LANが，ゲートウェイサーバを介して，一般市民が利用する受信者装置１０５が接続されているネットワーク１０１に接続されるようになっていてもよい。このような接続形態をとった場合，行政機関のLANは，ゲートウェイサーバにより，外部ネットワーク１０１からの不正アクセス等の攻撃から防御できることになるため，情報セキュリティの観点からは好ましい。
【００４２】
オリジナル文書作成者装置１０２は，行政機関の職員であるオリジナル文書作成者が，電子データとして行政文書（職務上作成する文書）を作成し，作成した行政文書に対し，電子署名を付与したのち，文書管理装置１０３に署名付き行政文書を要求するために利用される。
【００４３】
本実施形態では，オリジナル文書作成者が署名を付す対象とした行政文書を，オリジナル文書１０６と呼ぶ。
【００４４】
また，本実施形態では，オリジナル文書の作成と，オリジナル文書１０６への署名の付与を，ともにオリジナル文書作成者装置１０２において行う例を示すが，これとは異なり，文書の作成をオリジナル文書作成者装置１０２とは別の装置で行い，ネットワーク１０１や可搬な記憶媒体を用いて，オリジナル文書作成者装置１０２へ送り，オリジナル文書作成者装置１０２においてオリジナル文書１０６への署名の付与を行ってもよい。
【００４５】
文書管理装置１０３は，オリジナル文書作成者装置１０２から要求を受けて，オリジナル文書作成者装置１０２で作成された署名付きオリジナル文書１０７を保管する。また，開示文書作成者装置１０４からの要求を受けて，あらかじめ保管していた開示対象となる署名付きオリジナル文書１０７を，開示文書作成者装置１０２に送信する。なお，オリジナル文書作成者装置１０２からの保管要求受付時と，開示文書作成者装置１０４からの開示対象文書送信要求受付時には，適切なユーザ認証処理等を行うことによって，アクセス制御を行うことが，情報セキュリティの観点からは好ましい。
【００４６】
開示文書作成者装置１０４は，受信者装置１０５の利用者である一般市民などからの情報公開請求を受けて，当該情報公開請求に応じた開示対象文書を検索し，当該開示対象文書である署名付きオリジナル文書１０７の送信を文書管理装置１０３に要求する。
【００４７】
開示文書作成者装置１０４は，文書管理装置１０３から受信した署名付きオリジナル文書１０７に含まれる情報のうち，個人情報保護や，国家機密にかかわる情報の保護などの観点から，開示に不適切な情報を取り除いた開示文書１０８を作成し，作成した開示文書を受信者装置１０５に対し公開する。
【００４８】
公開する方法は，たとえば，電子メールで要求者または受信者装置１０５に送信したり，行政機関または他の機関が運用するWebサーバにアップロードしたりするなど，任意に設計すればよい。Webサーバにアップロードする場合は，情報公開請求を行った受信者装置１０５の利用者以外の一般市民であっても，公開された情報を閲覧できるというメリットがある。
【００４９】
なお，本実施形態では，一般市民からの情報公開請求受付，開示対象文書の検索，開示対象文書の文書管理装置１０３への要求，開示文書１０８の作成，開示文書１０８の公開を，同一の開示文書作成者装置１０５において行う例を示すが，これとは異なっていてもよい。たとえば，情報公開請求受付，開示対象文書の検索，開示対象文書の文書管理装置１０３への要求，を開示文書作成者装置１０５とは異なる，別の装置において行い，開示文書１０８の作成と開示文書１０８の公開を開示文書作成者装置１０５で行うようにしてもよい。
【００５０】
受信者装置１０５は，利用者である一般市民が，行政機関に対し情報公開請求を行い，その結果公開された開示文書１０８の真正性を検証するために利用される。受信者装置１０５は，開示文書作成装置１０４に対し，開示対象文書を特定するのに必要な情報を送信し，情報公開を請求する。また，公開された開示文書１０８の内容が，オリジナル文書１０６の内容と，開示不適とされ開示されなかった部分を除き，同一であるかどうかを検証する。
【００５１】
図２は，本実施形態におけるオリジナル文書作成者装置１０２の概略構成を示した図である。
【００５２】
オリジナル文書作成者装置１０２は，CPU２０１と，CPU２０１のワークエリアとして機能するRAM２０２と，ハードディスク装置などの外部記憶装置２０３と，CD-ROMやFDなどの可搬性を有する記憶媒体２０５からデータを読み取る読み取り装置２０４と，キーボードやマウスなどの入力装置２０６と，ディスプレイなどの表示装置２０７と，ネットワークを介して他の装置と通信を行うための通信装置２０８と，上述した各構成要素間のデータ送受を司るインターフェイス２０９を備えた，一般的な構成を有する電子計算機２１０で実現することができる。
【００５３】
オリジナル文書作成者装置１０２の外部記憶装置２０３に格納されるのは，オリジナル文書作成プログラム（以下，プログラムをPGと記す）２２１と署名生成PG２２２と文書保管要求PG２２３である。これらは，RAM２０２上にロードされ，CPU２０１により実行され，それぞれオリジナル文書作成処理部２４１，署名生成処理部２４２，文書保管要求処理部２４３というプロセスとして具現化される。そのほか，外部記憶装置２０３には，これらの各処理部に入出力されるデータ（オリジナル文書１０６，署名つきオリジナル文書１０７，署名用秘密鍵２１１）などが格納される。なお，署名用秘密鍵２１１はセキュリティの観点から特に厳重な管理が求められる。そのため，他のデータが格納された外部記憶装置２０３とは異なる耐タンパ性のある装置内に格納してもよい。
【００５４】
他の文書管理装置１０３，開示文書作成者装置１０４，受信者装置１０５も，オリジナル文書作成者装置１０２と同様の構成を備える。文書管理装置１０３の外部記憶装置には，文書保管PG２２４と，開示対象文書送信PG２２５が格納され，また保管を要求された署名つきオリジナル文書が格納される。また，開示文書作成者装置１０４の外部記憶装置２０３には，情報公開請求受付PG２２６，開示対象文書検索PG２２７，開示対象文書要求PG２２８，開示箇所決定PG２２９，開示文書作成PG２３０，開示文書公開PG２３１が格納される。また，受信者装置１０５の外部記憶装置２０３には，情報公開請求PG２３２，開示文書検証PG２３３が格納される。
【００５５】
これらのプログラムは，それぞれの装置のRAM２０２上にロードされ，CPU２０１により実行されることにより，以下に述べる機能を提供するプロセスが具現化される。
【００５６】
また，本実施形態の説明では，各プログラムは，あらかじめ，外部記憶装置２０３に格納されているものとしたが，必要なときにFD，CDROMなどの記録媒体から読み取り装置２０４を介して，または通信媒体(インターネットなどのネットワークやネットワークを伝搬するディジタル信号や搬送波)から通信装置２０８を介して，上記外部インターフェイスを介して外部記憶装置２０３またはRAM２０２に導入されてもよい。また，本明細書において，プログラムをコードまたはモジュールということがある。
【００５７】
なお，以下の説明では，便宜上プログラムを実行主体として説明する。
【００５８】
図３は，本実施形態において，オリジナル文書である行政文書を作成し，文書管理装置１０３に保管するときの概要を示したフロー図である。なお，オリジナル文書を作成し保管する段階においては，将来的に情報公開請求を受けたときに，文書管理装置に保管された文書のうち，どの部分が公開可能な情報であり，どの部分が公開されるべきでない情報であるかを，予測できるとは限らない。一般には，予測できないことが多いと考えられる。
オリジナル文書作成・保管フロー：
（オリジナル文書作成者装置１０２の処理）
３０１：はじめ
３０２：（オリジナル文書作成PG２２１が，オリジナル文書を作成
３０３：（署名生成PG２２２）が，作成したオリジナル文書に対し署名を生成
３０４：（文書保管要求PG２２３）が，署名つきオリジナル文書を文書管理装置１０３に送信し登録を要求
（文書管理装置１０３の処理）
３０５：（文書保管PG２２４）が，受信した署名付きオリジナル文書を文書管理装置１０３内に登録
３０６：おわり
図４は，本実施形態において，一般市民からの情報公開請求を受けて，情報公開されるときの概要を示したフロー図である。
情報公開フロー：
（受信者装置１０５の処理）
４０１：はじめ
４０２：（情報公開請求PG２３２）が，開示文書作成者装置１０４に対し，情報公開を要求するために，公開を希望する情報の範囲を特定可能な情報を送信
（開示文書作成者装置１０４の処理）
４０３：（情報公開請求受付PG２２６）が，公開を希望する情報の範囲を特定する情報を受信し，
（開示対象文書検索PG２２７）が，その範囲を特定する情報に基づき開示すべき文書を，既知の検索技術を用いて文書管理装置１０３が管理する文書群のなかから検索し
（開示対象文書要求PG２２８）が，文書管理装置１０３に当該文書を要求
（文書管理装置１０３の処理）
４０４：（開示対象文書送信PG２２５）が，要求された開示すべき署名つきオリジナル文書を開示文書作成装置１０４に送信
（開示文書作成者装置１０４の処理）
４０５：（開示箇所決定PG２２９）が，受信した署名つきオリジナル文書の内容を，あらかじめ定められた情報開示ポリシーに照らし確認し開示適当な箇所を決定し，
（開示文書作成PG２３０）が，開示不適当な箇所を隠した開示文書を作成し，
（開示文書公開PG２３１）が，当該開示文書を受信者装置１０５に送信
（受信者装置１０５の処理）
４０６：（開示文書検証PG２３３）が，受信した開示文書の真正性を検証
４０７：おわり
以上に概要を示した情報公開システムにおいて，特に注意すべきなのは，開示文書の真正性の保証と，開示不適当な情報の削除の両立である。
【００５９】
開示文書がオリジナル文書と必ず同一であるような運用形態であれば，オリジナル文書作成者が，公知の電子署名技術を適用し，オリジナル文書にあらかじめ署名を付与しておけば，受信者は，開示文書（この場合はオリジナル文書と同一データ）の真正性を，公知の電子署名検証技術を適用することによって確認可能である。
【００６０】
しかし，本実施形態で述べるような情報公開システムにおいては，オリジナル文書と，開示文書が同一とは限らない。なぜなら，オリジナル文書には，情報公開時点では，開示することが不適当な情報（例：個人のプライバシーにかかわる情報，国家安全保障上公開すべきでない情報など）が含まれている可能性があるため，これらの情報は開示文書からは取り除かれる（i.e.墨塗りされる）必要があるからである。この場合の墨塗りのような情報公開の観点からは，適切あるいは必須と考えられるオリジナル文書に対する変更であっても，公知の電子署名技術では，悪意をもった第三者による改ざんを受けた場合と同様に，「検証できない」という結果しかえられない。そこで本実施形態においては，開示文書の真正性の保証と，開示不適当な情報の削除の両立可能な技術である墨塗り署名技術を利用する。
【００６１】
表データに墨塗り署名技術を適用するにあたり，当該表データを，墨塗り署名処理を可能なデータに変換する必要がある。
【００６２】
本実施形態においては，各セルに固有のIDを割り当てることにより，ユーザが（たとえば墨塗りする領域として）認識する部分，具体的な一例としては画面表示上の特定の領域，が，コンピュータファイルとして存在するデータのどの部分に該当するのか，を特定可能にする。
【００６３】
以下，上記処理を，署名生成PG２２２，開示文書作成PG２３０，開示文書検証PG２３３の処理フローを示しながら，具体的に説明する。
【００６４】
署名生成PG２２２は，表計算PG２５０と墨塗り署名生成PG２５１とを含んで構成される。表計算PG２５０は，表データの情報を，たとえばRAM２０２上に記憶されるデータとして適切な，内部データ形式で管理しており，それを表示装置２０７に表示したり，ファイル（たとえばXML形式またはそれを圧縮したもの）として外部記憶装置２０３に書きだしたり，またはファイルから読み込んだり，入力装置２０６を介したユーザからの指示を受け付ける部分を担う。
【００６５】
墨塗り署名生成PG２５１は，表計算PG２５０と連携して動作し，表計算PG２５０が出力したファイルに，墨塗り署名を生成する。
【００６６】
開示文書作成PG２３０，開示文書検証PG２３３も同様に，それぞれ，表計算PG２５０と墨塗り処理PG２５２，表計算PG２５０と墨塗り署名検証PG２５３とを含んで構成される。
【００６７】
表データに墨塗り署名技術を適用するには，表計算PG２５０が出力したファイルのうち，どの部分が，墨塗り署名で処理すべきデータであるかを判別する必要がある。
【００６８】
より具体的には，たとえば表示装置２０７に，格子状に表示されたセルが表示されており，そのうちのある一つのセルを，ユーザが入力装置２０６を用いて，指定したとする。このとき，当該指定されたセルの内容に相当するデータが，表計算PG２５０が出力したファイルのうちどの部分に当たるのか，を識別する必要がある。なぜなら，画面上では，たとえば，A列1行目のようなアドレスで指定されるセルと表現できても，ファイル上には必ずしも「A」や「1」という情報が含まれているとは限らないからである。
【００６９】
さらに，いくつかのセルが結合されるなどの複雑な表の場合には，当該セルに相当する部分を識別するのはさらに困難となる。
【００７０】
実際，非特許文献１に開示されたCalcというプログラムがあつかうファイル(OpenDocument形式と呼ばれるXMLファイルを利用したファイル形式であって表データを表すXMLファイルのほか，メタ情報を記述したXMLファイルなどいくつかのファイルがZIP圧縮され一つのファイルとなっている)の場合は，表データは，表全体を示す<table:table>タグで囲まれた中に，行を示す<table:table-row>タグがいくつか存在し，各<table:table-row>タグの中に，セルを示す<table:table-cell>タグがいくつか存在するというデータ構造をしていることがある。この場合，上述の「A」や「1」という情報は明示的にはファイル中に含まれない。
【００７１】
識別するためには，たとえば，表計算PG250と同等のファイル解析機能を，墨塗り署名生成PG２５１と，墨塗り処理PG２５２と，墨塗り署名検証PG２５３の各々が含むように構成することが考えられる。しかし，これには開発コストがかかるし，さらには，表計算PG２５０の機能が追加された場合に，それに追従して，墨塗り署名生成PG２５１と，墨塗り処理PG２５２と，墨塗り署名検証PG２５３の各々も変更が必要になりうるため，保守コストも高くなる。
【００７２】
そこで，本実施形態においては，表計算PG２５０において，各セルに固有のIDを付すことにより，判別を可能にする。このようなIDの付与は，表計算PG２５０の機能を使って実現可能である。また付与されたIDは，表計算PG２５０が，データをファイルとして出力したときに，ファイル中に出力される。
【００７３】
具体的な一例としては，たとえば，上述の<table:table-cell>タグの属性値(attribute)として出力される。墨塗り署名生成PG２５１は，ファイルの中からこのIDを検索することで，どの部分が処理すべき対象のセルに相当するデータであるのかを，識別可能となる。
【００７４】
以下のXMLデータは，2行3列の表データの場合の出力ファイル例である。本実施形態によれば，各セルに相当するXML要素，すなわち開始タグが<table:table-cell>である要素に，墨塗り署名用のIDとして属性値RegionIDが付与される。したがってたとえば墨塗り署名生成や墨塗り処理の過程で1行B列のデータを操作（たとえば読み込み）する場合には，RegionIDが”2”であるタグを検索すればよい。
【００７５】
なお，以下の例では，RegionIDを連番として付与した例を示しているが，本発明は，これとは違うIDを振ってもよい。たとえば，1行A列のセルには”1A”というIDを付与するようにしてもよい。あるいは，<table:table-cell RegionId="1">のように<table:table-cell>タグに直接IDを振るのではなく，<table:table-cell table:style-name=”ce1”>のように，各タグには，スタイル（この場合，”ce1”という名前のスタイル）を割り当てておき，XMLファイル中の別の個所に，<style:style style:name="ce1" style:family="table-cell"> <style:table-cell-properties RegionId="1" /> </style:style>のようにスタイルの定義を記述し，その中でIDを付してもよい。さらには，ID以外の，たとえば墨塗り状態（墨塗り可能，墨塗り済み，墨塗り不可能など）を示す情報を属性値として含めてもよい。
<table:table>
<table:table-row>
<table:table-cell RegionId="1">
1行A列の内容
</table:table-cell>
<table:table-cell RegionId="2">
1行B列の内容
</table:table-cell>
<table:table-cell RegionId="3">
1行C列の内容
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell RegionId="4">
2行A列の内容
</table:table-cell>
<table:table-cell RegionId="5">
2行B列の内容
</table:table-cell>
<table:table-cell RegionId="6">
2行C列の内容
</table:table-cell>
</table:table-row>
</table:table>
図５は，署名生成PG２２２の処理概要を示したフロー図である。
５０１：はじめ。
５０２：署名生成PG２２２の表計算PG２５０は，表示装置２０７にオリジナル文書を表示する。
５０３：表計算PG２５０は，入力装置２０６を介してユーザから，墨塗り署名の付与対象とするひとつまたは複数のセルの指示を受け付ける。
５０４：表計算PG２５０は，ステップ５０３で指示を受け付けたセルに墨塗り署名用IDを振る。
５０５：表計算PG２５０は，入力装置２０６を介してユーザから，墨塗り署名生成指示を受け付ける。
５０６：表計算PG２５０は，オリジナル文書（墨塗り署名対象となるセルに墨塗り署名用IDがふられたもの）をファイルに出力する。
５０７：署名生成PG２２２の署名生成PG２５１は，ファイルとして出力されたオリジナル文書から，墨塗り署名用IDが付与された，墨塗り署名対象となるセルを検索し，墨塗り署名付与対象箇所を特定する。たとえば，上述のように<table:table-cell>タグの属性値としてIDが出力されている場合には，墨塗り署名用IDが含まれる<table:table-cell>タグで囲まれた部分を，墨塗り署名生成におけるひとつの「墨塗り可能ブロック」とすればよい。
５０８：署名生成PG２２２は，ステップ５０７で特定された各箇所を「墨塗り可能ブロック」として（墨塗り署名方法の概略：署名生成処理）の手順に従って，墨塗り署名を付与する。
５０９：表計算PG２５０は，ステップ５０８の結果および過程で現れた記録すべき補助データ（例：乱数，署名値など）を，オリジナル文書のファイルに追記する。具体的には，たとえば，IDと同様に<table:table-cell>タグの属性値として追記してもよいし，<table:table-cell>タグに割り当てたスタイルの中に追記してもよい。あるいは，たとえば，OpenDocument形式のように表データに相当するXMLファイルを含むいくつかのファイルが，ZIP圧縮され一つのファイルを構成している場合には，補助データをひとつのXMLファイルに記録し，これをZIP圧縮されたファイルに付け加えればよい。
５１０：表計算PG２５０は，ステップ５０９で得られたファイルを署名付きオリジナル文書として出力する。生成された署名付きオリジナル文書は，前述の文書保管要求PG２２３によって，文書管理装置１０３に送信される。
５１１：おわり。
【００７６】
ステップ５０３におけるセルの選択には，たとえばマウスをもちいてマウスカーソルによって，画面上のひとつまたは複数のセルを選択させたのちに，画面上に別途表示しておいた，墨塗り署名対象領域を指定するボタンを押下させたり，または，画面上のメニューバーのなかに別途表示しておいた墨塗り署名対象領域を指定するメニューを選択させたり，または，右クリックをしたときに表示されるようにしておいた墨塗り署名対象領域を指定するメニューを選択させる，などの方法を用いればよい。
【００７７】
ステップ５０５における署名生成指示には，たとえばマウスをもちいてマウスカーソルによって，画面上に別途表示しておいた署名生成を指示するボタンを押下させたり，または，画面上のメニューバーのなかに別途表示しておいた署名生成を指示するメニューを選択させたり，または，右クリックをしたときに表示されるようにしておいた署名生成を指示するメニューを選択させたり，などの方法を用いればよい。
【００７８】
図６は，図４のステップ４０５における開示文書作成PG２３０の処理内容細を示したフロー図である。
６０１：はじめ。
６０２：開示文書作成PG２３０の表計算PG２５０は，表示装置２０７に署名付きオリジナル文書を表示する。
６０３：表計算PG２５０は，入力装置２０６を介してユーザから，墨塗り処理対象とするひとつまたは複数のセルの選択指示を受け付ける。セルの選択は，たとえばステップ５０３と同様にして，行えばよい。なお，このとき，墨塗り署名用IDを付したセル以外のセルを指定しようとした場合には，指定できないことを利用者に通知することが望ましい。
６０４：表計算PG２５０は，指示された墨塗り処理対象となるセルを識別する，既に付与されている墨塗り署名用IDを特定し，墨塗り処理PG２５２に渡す。
６０５：開示文書作成PG２３０の墨塗り処理PG２５２は，ステップ６０４で表計算PG２５０から渡された墨塗り署名用IDによって識別されるセルを実際に墨塗りするブロックとみなし，前述の（墨塗り署名方法の概略：墨塗り処理）の手順に従って，墨塗り処理する。ただし，墨塗り可能ブロックの削除は，ステップ６０６で表計算PG２５０によって行う。
６０６：表計算PG２５０は，ステップ６０３でユーザから指示されたセルのデータを削除する。
６０７：表計算PG２５０は，墨塗り処理対象のセルが削除された開示文書をファイルに出力する。
６０８：表計算PG２５０は，ステップ６０５の結果および過程で現れた記録すべき補助データ（例：ハッシュ値など）を，オリジナル文書のファイルに追記する。ただしステップ６０５で削除されたデータ（例：乱数など）は記録しない。
６０９：表計算PG２５０は，ステップ６０８で得られたファイルを開示文書として出力する。当該開示文書は，開示文書公開PG２３１によって，受信者装置１０５に送信される。
６１０：おわり。
【００７９】
ステップ６０６では，データを削除した後に，たとえば，セルの背景色を黒く設定したり，セルのデータを「削除済み(Redacted)」のような削除されたことを示す文字列で置き換えたりしてもよい。あるいは，削除されたことを意味する音声データや，画像データや，そのほかのマルチメディアデータ，または，これらを複数組み合わせたデータを埋め込んでもよい。
【００８０】
このようにすると，データを表示した際に，当該セルが墨塗り処理されたことが容易に認識できるようになるという利点がある。本実施形態によれば，ステップ６０６におけるセルの削除を，表計算PG２５０の機能を用いておこなうため，データの削除および，上述した背景色の変更など表現を，容易かつ適切に実現できる。
【００８１】
なお，これとは異なり，墨塗り処理PG２５２がファイルを解析可能である場合には，ファイルを直接書き換えることで，ステップ６０６の，セルの削除や背景色の変更を実現してもよい。
【００８２】
図７は，受信者装置１０５における開示文書検証PG２３３の処理概要を示したフロー図である。
７０１：はじめ。
７０２：開示文書検証PG２３３の表計算PG２５０は，表示装置２０７に開示文書を表示する。
７０３：表計算PG２５０は，入力装置２０６を介してユーザから，墨塗り署名検証指示を受け付ける。
７０４：表計算PG２５０は，墨塗り署名検証PG２５３に署名検証を要求する。
７０５：開示文書検証PG２３３の墨塗り署名検証PG２５３は，開示文書のファイルを入力として，前述の（墨塗り署名方法の概略：署名検証処理）に従い，署名検証処理を行う。
７０６：表計算PG２５０は，ステップ７０５の結果を受け付け，表示装置２０７に結果を表示する。たとえば「検証に成功しました」あるいは「検証に失敗しました」という結果をあらわすダイアログボックスを表示するようにしてもよいし，あるいは，署名検証の結果，改ざんされていないことが確認されたセルの色を変更する（例：背景色を暗くする／明るくするなど）ことによって，改ざんされていないことを表現してもよい。あるいは，太線で囲むなど，他の領域と容易に視認できるように表示してもよい。
７０７：おわり。
【００８３】
図８は，図６で説明した本実施形態における開示文書作成処理（墨塗り処理時）における，表示装置２０７上の画面イメージの概略説明図である。
【００８４】
表計算PG２５０は，画面上に，A列〜C列（８１１〜８１３）と，1行〜4行（８２１〜８２４）からなる計１２個のセルを表示させ，ファイル（８０１），編集（８０２），ヘルプ（８０３）などのメニューとともに，墨塗り（８０４）という本実施形態に特徴的なメニューを，表示装置２０７に表示させる。表計算PG２５０は，墨塗りメニューとして，さらに，署名生成（８０５），墨塗り（８０６），署名検証（８０７）を表示させる。
【００８５】
ユーザがB列2行（もともと「太郎」というデータが含まれていたとする）を墨塗りする場合には，まず，マウスを操作して，マウスカーソル（８３１）を用いて，B列2行を選択したのち，マウスカーソル（８３２）を移動し，メニューから墨塗り（８０６）を選択する。この結果，表計算PG２５０はB列2行のセルを，図示するように，「太郎」という元のデータを削除し，かわりに背景色を黒く表示する。
【００８６】
以上の通り，本実施形態によれば，表計算PG２５０が出力したファイルのうち，どの部分が，墨塗り署名で処理すべきデータであるかの判別が，墨塗り署名用IDをもとに検索することで容易に実現される。
【００８７】
また，本実施形態によれば，将来的に墨塗りされる可能性のある領域，または，墨塗りする領域を，セルを単位として指定可能となる。また，データの表示，および，ユーザからの指定は，表計算PG２５０が有する機能を用いることで，マウスポインタを用いて，または，キーボード操作により，容易に実現される。
【００８８】
なお，上記実施形態は，電子文書として表データを例示したが，表データ以外の電子文書，たとえば，図形データ，文字列データに対しても適用可能である。具体的には，たとえばこれらの電子文書がXML形式で記述されている場合には，上記XMLデータ例において，表データのセルに相当するタグに墨塗り署名用IDを付与したのと同様に，表データ以外の電子文書における墨塗り単位とするデータに相当するタグに墨塗り署名用IDを付与すればよいし，また，これらの電子文書が通常のテキストデータのように，XML形式で記述されていない場合には，表データ以外の電子文書における墨塗り単位とするデータにタグを付与してXML要素として指定し，墨塗り署名用のIDを付与すればよい。
【図面の簡単な説明】
【００８９】
【図１】本実施形態を実現するネットワークシステムの概略構成図である。
【図２】本実施形態におけるオリジナル文書作成者装置１０２の概略構成を示した図である。
【図３】本実施形態において，電子文書に墨塗り署名を付与するときの概要を示したフロー図である。
【図４】本実施形態において，管理装置１０２に入力される電子文書２３１および管理装置１０２が出力する署名ファイル２３２の概略構成を示した図である。
【図５】本実施形態において，署名生成PG２２２内の処理概要を示したフロー図である。
【図６】本実施形態において，開示文書作成PG２３０内の処理概要を示したフロー図である。
【図７】本実施形態において，開示文書検証PG２３３内の処理概要を示したフロー図である。
【図８】本実施形態における，開示文書作成処理（墨塗り処理時）における画面イメージの概略説明図である。
【符号の説明】
【００９０】
１０１：ネットワーク，１０２：管理装置，１０３：墨塗り対象文書構造処理装置，１０４：墨塗り署名方法情報処理装置，１０５：墨塗り署名処理装置，１０６：署名ファイル出力装置，１０７：墨塗り署名検証処理装置。
【図１】
2008294596.tif 000003
【図２】
2008294596.tif 000004
【図３】
2008294596.tif 000005
【図４】
2008294596.tif 000006
【図５】
2008294596.tif 000007
【図６】
2008294596.tif 000008
【図７】
2008294596.tif 000009
【図８】
2008294596.tif 000010