説明

表データの真正性保証システム

【課題】
署名付き電子文書の一部を削除(墨塗り)後でも検証可能な墨塗り署名方法を,表データに適用する方法を提供する
【解決手段】
表計算プログラムが処理データ中の処理対象となるセルに,墨塗り署名用のIDを付与しておくことにより,当該データがファイルとして出力された際に,当該ファイル中のどの部分が,処理対象のセルに相当するかが,容易に判定可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,電子的に作成されたデータの真正性保証方法およびそのシステムに関する。
【背景技術】
【0002】
現在,見積書,請求書,報告書,企画書,申込書など幅広く利用されている電子データのひとつに,格子状に並べて表示するセル(cell)と呼ばれる領域にデータを対応付け,セル単位でのデータ処理を可能にした表データ(spread sheet)がある。またこれを扱うアプリケーションソフトウェアとして表計算ソフトウェア(spread sheet software)が知られている。(例えば,非特許文献1参照)。
【0003】
また,電子的に作成されたデータの真正性保証方法として,電子署名(ディジタル署名(digital signature)ともいう)技術がある。(例えば,非特許文献2参照)。上記表計算ソフトウェアには,電子署名を付与する機能を有するものもある。たとえば非特許文献1に示されたOpenOffice.org “Calc”は,電子署名の機能がある(たとえば,非特許文献3参照)。
【0004】
また,所有者とは異なる署名者によってあらかじめ署名が付与された所有者(owner)が所有する文書から,署名者が許可した部分については削除可能であり,また削除したあとの署名付き文書の有効性が確認可能な技術(例えば,非特許文献4参照)や,開示文書の真正性の保証と,開示不適当な情報の削除の両立可能な,電子文書の真正性保証技術(例えば,特許文献1参照)が知られている。
【0005】
【非特許文献1】OpenOffice.org, "Calc", [online], 平成19年4月5日検索,インターネット<URL:http://www.openoffice.org/product/calc.html>
【非特許文献2】Bruce Schneier著「Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition」 John Wiley & Sons,(October 18, 1995), pp. 483-502
【非特許文献3】OpenOffice.org, "XML Project", [online], 平成19年4月5日検索,インターネット<URL:http://xml.openoffice.org/>
【非特許文献4】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)
【特許文献1】米国特許出願公開第2005/0015600号明細書
【発明の開示】
【発明が解決しようとする課題】
【0006】
非特許文献1に開示された表計算ソフトウェアで作成される電子文書を申込書,報告書などとして利用する場合,その真正性(誰が作成または承認したか,またその時点から以降不正な改変が行われていないか)を確保することが重要である。一方,それらの書類は一部のセルを隠して(たとえば情報を削除し黒く塗りつぶした状態で。以降「墨塗りして」と総称する),利用することが望まれる場合がある。
【0007】
しかし,非特許文献3に開示された電子署名機能を利用して真正性を保証するための署名を付与した表データの或るセルを隠すことは困難である。なぜなら,署名が付与された表データの一部のセルを隠すことは,表データの改変であるので,変更すると署名が無効になってしまうからである。また署名が無効になることを避けるために,あらかじめ変更できないように設定されていることもある。いずれの場合でも,真正性が確認可能な状態を保ったまま,一部のセルを隠すことは困難である。
【0008】
非特許文献4や特許文献1には,署名付与後に,署名検証可能な状態を維持しつつ電子文書の一部を墨塗り可能な,電子署名方法(以下,墨塗り署名方法と呼ぶ)が開示されている。これらに開示された墨塗り署名方法は,墨塗り可能な最小単位となるデータの集合あるいはデータ列に対して署名を付与するものである。
【0009】
しかし,上記文献に開示されている方法では,適用する電子文書の構成が複雑になると,その処理効率が低下する,というおそれがある。
【0010】
また,上記文献には,適用する電子文書が表データである場合の,具体的な適用方法についても,開示されていない。
【課題を解決するための手段】
【0011】
本発明は,墨塗り署名方法を適用する電子文書の構成が複雑であっても,処理効率の低下を抑えられる,墨塗り署名の具体的な適用方法を提供する。
【0012】
すなわち,墨塗り署名方法を電子文書に適用するためのデータの変換方法,墨塗りされたデータの検証方法を提供する。
【0013】
また,本発明は,墨塗り署名方法を表データに適用するためのデータの変換方法,墨塗りするセルの指定方法,墨塗りされたデータの表示方法,墨塗りされたデータの検証方法,検証結果の表示方法および装置を提供する。
【0014】
具体的には,本発明では,表データに含まれるセル各々に,当該表データ内で固有の墨塗り署名用ID(単にIDということがある)を付与し,表データをファイルとして出力し,当該ファイルデータを,当該ファイルデータ中の,前記IDによって特定されるひとつまたは複数のデータの,集合または列に変換するデータの変換方法を提供する。
【0015】
なお,すべてのセルにIDを付与してもよいし,墨塗りすることが確定しているセル,または,墨塗りされる可能性のあるセルに限定して付与しても良い。墨塗り署名用IDは,あってもなくても表計算機能には影響せず,また,ファイルとして出力した際にはファイル中にIDに関するデータが含まれる,という特徴を有する。
【0016】
なお,上記IDは,本発明を適用するシステムにおいて,単一のファイルとして管理する電子文書(表データを含む)内で固有であればよく,異なるファイルとして識別できる電子文書相互では重複しても良い。
【0017】
また,本発明では,将来的に墨塗りされる可能性のある領域,または,墨塗りする領域を,セルを墨塗り可能な最小単位として,マウスポインタを用いて,または,キーボード操作により指定する,セルの指定方法を提供する。
【0018】
また,本発明では,墨塗りするセルのデータを削除したり,または,墨塗りされたことを意味する文字列あるいは無意味な文字列で置き換えたりした表データを生成する方法を提供する。また,墨塗りされたセルを,たとえば,その背景色を墨塗りされたことを認知しやすい色(たとえば黒)に置き換え,墨塗りされたセルと他の墨塗りされていないセルとを区別しやすい状態で表示する方法を提供する。
【0019】
また,本発明では,墨塗りされたセルを含む表データの中から,前記各セルに固有のIDによって特定されるデータの集合または列を得て,当該データの集合またはデータ列に対して,署名検証処理を行い,その結果を出力する,墨塗りされたデータの検証方法を提供する。なお,データ集合は元(要素)の間に順序付けされていないものを指し,データ列は順序付けされているものを指す。
【0020】
また,本発明では,署名検証結果を,画面上のダイアログボックスを用いて表示したり,または,検証の結果,改変されていないことが確認されたセルを,背景色を変更,または,太線で囲むなど,他の領域と容易に視認できるように表示したりする,検証結果の表示方法を提供する。
【0021】
本発明が提供する表データの真正性保証システムは,より具体的には,
署名付き表データ作成者装置を備え,
上記表データは,セルに対応する一つ以上のセル要素データを構成要素とし,
上記署名付き表データ作成者装置は, 上記表データを,上記セル要素データ単位で管理する,表計算手段と,
上記表データを構成するセルの内,真正性保証対象とするひとつまたは複数のセルに対応する上記セル要素データの各々に対して乱数を生成する手段と,
上記セル要素データを,対応する上記生成した乱数と組み合わせ,当該組み合わせたデータに対するハッシュ値を算出する手段と,
一つ以上の上記ハッシュ値の組み合わせに対して,署名値を算出する,墨塗り署名生成手段,とを備え,
上記表計算手段は,
上記真正性保証対象とするセルに対応するセル要素データに,墨塗り署名用IDを付与し,署名付き表データを作成する手段を備えることを特徴とする。
【0022】
さらに,上記表データの真正性保証システムは,上記署名付き表データ作成者装置において,上記表計算手段が,入力装置を介してユーザから指示を受け付けたセルを上記真正性保証対象とする手段を備えてもよい。
【0023】
さらに,上記表データの真正性保証システムは,上記署名付き表データ作成者装置において,上記表計算手段が,上記ユーザからの指示を受け付けた上記真正性保証対象とするセルの背景色を変更する手段を備えてもよい。
【0024】
さらに,上記表データの真正性保証システムは,上記署名付き表データ作成者装置において,上記表計算手段が,生成された上記署名値と,上記乱数とを,上記署名付き表データに追記する手段を備えてもよい。
【0025】
上記表データの真正性保証システムは,さらに,上記署名付き表データを上記セル要素データ単位で管理する,表計算手段と,上記署名付き表データから,墨塗り処理対象となるセル要素データに対応する乱数を削除する,墨塗り処理手段と,を備える開示表データ作成者装置を備えてもよく,
さらに,当該開示表データ作成者装置において,
上記表計算手段は,墨塗り処理対象とするセルの指定を受け付け,指定された上記セルに付与された上記墨塗り署名用IDを特定して上記墨塗り処理手段に伝える手段と,
上記墨塗り処理対象とするセル要素データを削除,または,削除済みであることを認識可能な文字または記号または図またはマルチメディアデータで置き換えた開示文書を作成する手段と,を備え,
上記墨塗り処理手段は,上記墨塗り署名用IDに基づき,上記墨塗り処理対象となるセル要素データを特定するものであってもよい。
【0026】
さらに,上記表データの真正性保証システムは,開示表データ作成者装置において,
上記表計算手段は,当該開示表データ作成者装置が備える入力装置を介して,ユーザから指定されたセルを上記墨塗り処理対象とする手段を備えてもよい。
【0027】
本発明により,表データを開示する場合に,開示不要,あるいは,開示が不適切な部分を秘匿しても,表データの真正性を検証可能な状態で開示することができる。すなわち,表データに対して,一部のセルを秘匿しつつも,他のセルが改ざんされていないという真正性を保証可能となる。
【0028】
なお,本発明は,表データ以外の電子文書,たとえば,図形データ,文字列データに対しても適用可能である。
【発明の効果】
【0029】
本発明によれば,墨塗り署名方法を適用する電子文書の構成が複雑であっても,処理効率の低下を抑えることが可能になる。
【発明を実施するための最良の形態】
【0030】
以下,本発明を,行政機関における情報公開システムに適用した実施形態について説明するが,本発明は,行政機関以外の情報公開システムや,情報公開システム以外の,表データを扱うシステム一般に適用可能である。また,本発明は,表データ以外の電子文書に対しても適用可能である。
【0031】
なお,本実施形態において表データとは,セル(cell)と呼ばれる領域を,表示画面に格子状に並べて表示可能であって,それぞれセルに対応づけられたデータを,セル単位で処理可能に構成したデータを指す。
【0032】
また,表計算ソフトウェアは,セルを表示画面に格子状に並べ,セルに対応付けられたデータをセル内に表示し,セル単位でのデータ処理を行う。
【0033】
表データの各セルに格納されるデータには,テキスト,数値,計算式,条件式,プログラムコード,図,グラフ,他のセルへのリンク情報,他の電子データへのリンク情報,音声,映像(静止画,動画など)などの任意のいずれか1つ以上が含まれていてよい。さらには,これらのデータに付随する動作,条件,関係,作成日時,作成者,変更者,閲覧者,閲覧可能者,作成装置,変更装置,閲覧装置,保管装置などの任意のいずれか1つ以上を電子的に記述したデータ,またはこれらを組み合わせて構成されたデータが含まれていてよい。また,複数のセルが結合されたサイズの大きいセルが含まれていてもよい。
【0034】
また,表データは,通常,表(table)を表現するためのデータとして使われるが,これに限らず,たとえば文章を表現するものであってもよい。また,表データは,見積書,請求書,報告書,企画書,申込書,提案書,説明書,ログデータ,統計データ,帳票,設計図などに使われるものであってもよい。なお,以下では特に断らない限り,電子文書とは表データのことを指す。
【0035】
本実施形態で利用する墨塗り署名方法(以降,SUMI-4と呼ぶことがある)の概略は以下のとおりである。なお,本発明の適用先は,SUMI-4に限定されるものではない。たとえば,特許文献1に開示された,開示条件を設定可能な方法(以降,SUMI-5と呼ぶことがある)などにも,同様に適用可能である。
(墨塗り署名方法の概略:署名生成処理)
1.署名付与対象となる電子文書(本実施形態では表データ)を,墨塗り可能な単位(ブロックという)に分割する。以下,分割される前の電子文書を,複数の墨塗り可能ブロックを含む集合と,同一視する。
2.各墨塗り可能ブロックに対し,乱数を生成する。
3.各墨塗り可能ブロックに対し,墨塗り可能ブロックのデータと,上記2で生成された乱数とを結合したデータのハッシュ値を算出する。
4.上記3で算出された,墨塗り可能ブロックの個数と同じ個数のハッシュ値を結合したデータに対して,電子署名を生成する。5.上記2で生成された乱数と,上記4で生成された電子署名と,署名付与対象となる電子文書を含む表データを墨塗り署名付き電子文書とする。
6.上記4でハッシュ値を結合したデータについて,さらにハッシュ値を算出し,算出されたハッシュ値に対して,電子署名を生成してもよい。
(墨塗り署名方法の概略:墨塗り処理)
1.墨塗り署名付き電子文書に含まれる,墨塗り可能ブロックのうち,実際に墨塗りするブロックを選択する。
2.上記1で選択されたすべてのブロックに対し,当該墨塗り可能ブロックのデータと,それに対応する乱数とを結合したデータのハッシュ値を算出する。
3.墨塗り署名付き電子文書から,上記1で選択されたすべてのブロックに対し,墨塗り可能ブロックと対応する乱数とを削除し,上記2で算出されたハッシュ値に置換する。これを墨塗りされた墨塗り署名付き電子文書とする。
(墨塗り署名方法の概略:署名検証処理)
1.墨塗りされた墨塗り署名付き電子文書のうち,墨塗りされていないすべてのブロックに対し,当該墨塗り可能ブロックのデータと,それに対応する乱数とを結合したデータのハッシュ値を算出する。
2.上記1で算出されたハッシュ値と,墨塗りされた墨塗り署名付き電子文書として与えられた墨塗りされたブロックに対するハッシュ値とを結合したデータを算出する。
3.上記2で算出されたデータに対して,墨塗りされた墨塗り署名付き電子文書に含まれる電子署名を検証する。
【0036】
なお,上記墨塗り署名方法の概略中にあるハッシュ値とは,ハッシュ関数と呼ばれる関数の出力値のことである。本実施形態におけるハッシュ関数とは,任意長のデータを入力として,固定長のデータを出力とする関数であって,出力値(ハッシュ値)から元の入力データを推測することが著しく困難であり,かつ,同じ出力値(ハッシュ値)を与える2つの異なる入力データを探索することが著しく困難であるような性質をもつ関数のことである。このようなハッシュ関数としては,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512などがよく知られているが,本実施形態で利用可能なハッシュ関数は,これらのハッシュ関数に限定されるものではない。
【0037】
また,上記墨塗り署名方法の概略中にある電子署名とは,電子データが署名者によって作成または確認され,その時点から以降,改変されていないことを保証するためのデータのことである。一般には,任意長のデータを入力とし,そのハッシュ値を算出し,当該ハッシュ値をあらかじめ定められた長さのデータにあわせるためのパディング処理を施したデータに対し,権限のある者が秘密裏に有する秘密鍵を用いた演算を行った結果の出力値のことを指す。この出力値は,秘密鍵に対応する公開鍵と呼ばれるデータがあれば,入力データと整合しているか否かを確認することができる。この確認処理のことを一般に署名検証処理と呼ぶ。入力データ長が短いことが分かっている場合には,ハッシュ値を算出する処理を省略することもある。電子署名方法としては,RSA署名,DSA署名,ECDSA署名などがよく知られているが,本実施形態で利用可能な電子署名方法は,これらの電子署名方法に限定されるものではない。以下では特に断らない限り,RSA署名を利用した場合について説明する。上記墨塗り署名方法の概略中の署名生成処理のステップ4,5における電子署名の生成は,公知の電子署名方法にしたがって行えばよい。同様に,署名検証処理のステップ3における電子署名の検証も,公知の電子署名の検証方法にしたがって行えばよい。
【0038】
図1は,第1実施形態におけるシステムの概略構成図である。本実施形態においては,行政機関の情報公開システムを例に挙げて説明しているが,行政機関以外の組織や個人における情報公開システム,または文書管理システムやそのほかの表データを扱うシステムであっても同様に適用可能である。
【0039】
たとえば,クレジットカードの利用明細が表データとして示された利用明細書を電子的に発行するシステムでも適用可能である。クレジットカードの利用明細書は,たとえば社員が勤務先会社に費用申請を行う場合に利用される。このとき,社員の立場からは個人情報保護のために,クレジットカード会社が発行した利用明細書の中で申請に必要な部分以外(たとえば個人的な用途で購入した物品の明細など)を墨塗りして削除した上で,勤務先会社に申請することが望まれる。本実施形態によれば,開示しない部分を削除した場合であっても,明細書の開示された部分の金額が真にクレジットカード会社が記載したものであることを検証することが可能となり,好ましい。
【0040】
図示するように,本システムは,ネットワーク101を介して,行政機関の職員が利用する,オリジナル文書作成者装置102,文書管理装置103,開示文書作成者装置104の各装置と,一般市民が利用する受信者装置105が接続されている。
【0041】
なお,本実施形態では,上記各装置が,同一のネットワーク101に接続されている例を説明しているが,これとは異なる接続形態であってもよい。たとえば,オリジナル文書作成者装置102,文書管理装置103,開示文書作成者装置104の各装置が,当該行政機関のLAN(Local Area Network)に接続されており,当該LANが,ゲートウェイサーバを介して,一般市民が利用する受信者装置105が接続されているネットワーク101に接続されるようになっていてもよい。このような接続形態をとった場合,行政機関のLANは,ゲートウェイサーバにより,外部ネットワーク101からの不正アクセス等の攻撃から防御できることになるため,情報セキュリティの観点からは好ましい。
【0042】
オリジナル文書作成者装置102は,行政機関の職員であるオリジナル文書作成者が,電子データとして行政文書(職務上作成する文書)を作成し,作成した行政文書に対し,電子署名を付与したのち,文書管理装置103に署名付き行政文書を要求するために利用される。
【0043】
本実施形態では,オリジナル文書作成者が署名を付す対象とした行政文書を,オリジナル文書106と呼ぶ。
【0044】
また,本実施形態では,オリジナル文書の作成と,オリジナル文書106への署名の付与を,ともにオリジナル文書作成者装置102において行う例を示すが,これとは異なり,文書の作成をオリジナル文書作成者装置102とは別の装置で行い,ネットワーク101や可搬な記憶媒体を用いて,オリジナル文書作成者装置102へ送り,オリジナル文書作成者装置102においてオリジナル文書106への署名の付与を行ってもよい。
【0045】
文書管理装置103は,オリジナル文書作成者装置102から要求を受けて,オリジナル文書作成者装置102で作成された署名付きオリジナル文書107を保管する。また,開示文書作成者装置104からの要求を受けて,あらかじめ保管していた開示対象となる署名付きオリジナル文書107を,開示文書作成者装置102に送信する。なお,オリジナル文書作成者装置102からの保管要求受付時と,開示文書作成者装置104からの開示対象文書送信要求受付時には,適切なユーザ認証処理等を行うことによって,アクセス制御を行うことが,情報セキュリティの観点からは好ましい。
【0046】
開示文書作成者装置104は,受信者装置105の利用者である一般市民などからの情報公開請求を受けて,当該情報公開請求に応じた開示対象文書を検索し,当該開示対象文書である署名付きオリジナル文書107の送信を文書管理装置103に要求する。
【0047】
開示文書作成者装置104は,文書管理装置103から受信した署名付きオリジナル文書107に含まれる情報のうち,個人情報保護や,国家機密にかかわる情報の保護などの観点から,開示に不適切な情報を取り除いた開示文書108を作成し,作成した開示文書を受信者装置105に対し公開する。
【0048】
公開する方法は,たとえば,電子メールで要求者または受信者装置105に送信したり,行政機関または他の機関が運用するWebサーバにアップロードしたりするなど,任意に設計すればよい。Webサーバにアップロードする場合は,情報公開請求を行った受信者装置105の利用者以外の一般市民であっても,公開された情報を閲覧できるというメリットがある。
【0049】
なお,本実施形態では,一般市民からの情報公開請求受付,開示対象文書の検索,開示対象文書の文書管理装置103への要求,開示文書108の作成,開示文書108の公開を,同一の開示文書作成者装置105において行う例を示すが,これとは異なっていてもよい。たとえば,情報公開請求受付,開示対象文書の検索,開示対象文書の文書管理装置103への要求,を開示文書作成者装置105とは異なる,別の装置において行い,開示文書108の作成と開示文書108の公開を開示文書作成者装置105で行うようにしてもよい。
【0050】
受信者装置105は,利用者である一般市民が,行政機関に対し情報公開請求を行い,その結果公開された開示文書108の真正性を検証するために利用される。受信者装置105は,開示文書作成装置104に対し,開示対象文書を特定するのに必要な情報を送信し,情報公開を請求する。また,公開された開示文書108の内容が,オリジナル文書106の内容と,開示不適とされ開示されなかった部分を除き,同一であるかどうかを検証する。
【0051】
図2は,本実施形態におけるオリジナル文書作成者装置102の概略構成を示した図である。
【0052】
オリジナル文書作成者装置102は,CPU201と,CPU201のワークエリアとして機能するRAM202と,ハードディスク装置などの外部記憶装置203と,CD-ROMやFDなどの可搬性を有する記憶媒体205からデータを読み取る読み取り装置204と,キーボードやマウスなどの入力装置206と,ディスプレイなどの表示装置207と,ネットワークを介して他の装置と通信を行うための通信装置208と,上述した各構成要素間のデータ送受を司るインターフェイス209を備えた,一般的な構成を有する電子計算機210で実現することができる。
【0053】
オリジナル文書作成者装置102の外部記憶装置203に格納されるのは,オリジナル文書作成プログラム(以下,プログラムをPGと記す)221と署名生成PG222と文書保管要求PG223である。これらは,RAM202上にロードされ,CPU201により実行され,それぞれオリジナル文書作成処理部241,署名生成処理部242,文書保管要求処理部243というプロセスとして具現化される。そのほか,外部記憶装置203には,これらの各処理部に入出力されるデータ(オリジナル文書106,署名つきオリジナル文書107,署名用秘密鍵211)などが格納される。なお,署名用秘密鍵211はセキュリティの観点から特に厳重な管理が求められる。そのため,他のデータが格納された外部記憶装置203とは異なる耐タンパ性のある装置内に格納してもよい。
【0054】
他の文書管理装置103,開示文書作成者装置104,受信者装置105も,オリジナル文書作成者装置102と同様の構成を備える。文書管理装置103の外部記憶装置には,文書保管PG224と,開示対象文書送信PG225が格納され,また保管を要求された署名つきオリジナル文書が格納される。また,開示文書作成者装置104の外部記憶装置203には,情報公開請求受付PG226,開示対象文書検索PG227,開示対象文書要求PG228,開示箇所決定PG229,開示文書作成PG230,開示文書公開PG231が格納される。また,受信者装置105の外部記憶装置203には,情報公開請求PG232,開示文書検証PG233が格納される。
【0055】
これらのプログラムは,それぞれの装置のRAM202上にロードされ,CPU201により実行されることにより,以下に述べる機能を提供するプロセスが具現化される。
【0056】
また,本実施形態の説明では,各プログラムは,あらかじめ,外部記憶装置203に格納されているものとしたが,必要なときにFD,CDROMなどの記録媒体から読み取り装置204を介して,または通信媒体(インターネットなどのネットワークやネットワークを伝搬するディジタル信号や搬送波)から通信装置208を介して,上記外部インターフェイスを介して外部記憶装置203またはRAM202に導入されてもよい。また,本明細書において,プログラムをコードまたはモジュールということがある。
【0057】
なお,以下の説明では,便宜上プログラムを実行主体として説明する。
【0058】
図3は,本実施形態において,オリジナル文書である行政文書を作成し,文書管理装置103に保管するときの概要を示したフロー図である。なお,オリジナル文書を作成し保管する段階においては,将来的に情報公開請求を受けたときに,文書管理装置に保管された文書のうち,どの部分が公開可能な情報であり,どの部分が公開されるべきでない情報であるかを,予測できるとは限らない。一般には,予測できないことが多いと考えられる。
オリジナル文書作成・保管フロー:
(オリジナル文書作成者装置102の処理)
301:はじめ
302:(オリジナル文書作成PG221が,オリジナル文書を作成
303:(署名生成PG222)が,作成したオリジナル文書に対し署名を生成
304:(文書保管要求PG223)が,署名つきオリジナル文書を文書管理装置103に送信し登録を要求
(文書管理装置103の処理)
305:(文書保管PG224)が,受信した署名付きオリジナル文書を文書管理装置103内に登録
306:おわり
図4は,本実施形態において,一般市民からの情報公開請求を受けて,情報公開されるときの概要を示したフロー図である。
情報公開フロー:
(受信者装置105の処理)
401:はじめ
402:(情報公開請求PG232)が,開示文書作成者装置104に対し,情報公開を要求するために,公開を希望する情報の範囲を特定可能な情報を送信
(開示文書作成者装置104の処理)
403:(情報公開請求受付PG226)が,公開を希望する情報の範囲を特定する情報を受信し,
(開示対象文書検索PG227)が,その範囲を特定する情報に基づき開示すべき文書を,既知の検索技術を用いて文書管理装置103が管理する文書群のなかから検索し
(開示対象文書要求PG228)が,文書管理装置103に当該文書を要求
(文書管理装置103の処理)
404:(開示対象文書送信PG225)が,要求された開示すべき署名つきオリジナル文書を開示文書作成装置104に送信
(開示文書作成者装置104の処理)
405:(開示箇所決定PG229)が,受信した署名つきオリジナル文書の内容を,あらかじめ定められた情報開示ポリシーに照らし確認し開示適当な箇所を決定し,
(開示文書作成PG230)が,開示不適当な箇所を隠した開示文書を作成し,
(開示文書公開PG231)が,当該開示文書を受信者装置105に送信
(受信者装置105の処理)
406:(開示文書検証PG233)が,受信した開示文書の真正性を検証
407:おわり
以上に概要を示した情報公開システムにおいて,特に注意すべきなのは,開示文書の真正性の保証と,開示不適当な情報の削除の両立である。
【0059】
開示文書がオリジナル文書と必ず同一であるような運用形態であれば,オリジナル文書作成者が,公知の電子署名技術を適用し,オリジナル文書にあらかじめ署名を付与しておけば,受信者は,開示文書(この場合はオリジナル文書と同一データ)の真正性を,公知の電子署名検証技術を適用することによって確認可能である。
【0060】
しかし,本実施形態で述べるような情報公開システムにおいては,オリジナル文書と,開示文書が同一とは限らない。なぜなら,オリジナル文書には,情報公開時点では,開示することが不適当な情報(例:個人のプライバシーにかかわる情報,国家安全保障上公開すべきでない情報など)が含まれている可能性があるため,これらの情報は開示文書からは取り除かれる(i.e.墨塗りされる)必要があるからである。この場合の墨塗りのような情報公開の観点からは,適切あるいは必須と考えられるオリジナル文書に対する変更であっても,公知の電子署名技術では,悪意をもった第三者による改ざんを受けた場合と同様に,「検証できない」という結果しかえられない。そこで本実施形態においては,開示文書の真正性の保証と,開示不適当な情報の削除の両立可能な技術である墨塗り署名技術を利用する。
【0061】
表データに墨塗り署名技術を適用するにあたり,当該表データを,墨塗り署名処理を可能なデータに変換する必要がある。
【0062】
本実施形態においては,各セルに固有のIDを割り当てることにより,ユーザが(たとえば墨塗りする領域として)認識する部分,具体的な一例としては画面表示上の特定の領域,が,コンピュータファイルとして存在するデータのどの部分に該当するのか,を特定可能にする。
【0063】
以下,上記処理を,署名生成PG222,開示文書作成PG230,開示文書検証PG233の処理フローを示しながら,具体的に説明する。
【0064】
署名生成PG222は,表計算PG250と墨塗り署名生成PG251とを含んで構成される。表計算PG250は,表データの情報を,たとえばRAM202上に記憶されるデータとして適切な,内部データ形式で管理しており,それを表示装置207に表示したり,ファイル(たとえばXML形式またはそれを圧縮したもの)として外部記憶装置203に書きだしたり,またはファイルから読み込んだり,入力装置206を介したユーザからの指示を受け付ける部分を担う。
【0065】
墨塗り署名生成PG251は,表計算PG250と連携して動作し,表計算PG250が出力したファイルに,墨塗り署名を生成する。
【0066】
開示文書作成PG230,開示文書検証PG233も同様に,それぞれ,表計算PG250と墨塗り処理PG252,表計算PG250と墨塗り署名検証PG253とを含んで構成される。
【0067】
表データに墨塗り署名技術を適用するには,表計算PG250が出力したファイルのうち,どの部分が,墨塗り署名で処理すべきデータであるかを判別する必要がある。
【0068】
より具体的には,たとえば表示装置207に,格子状に表示されたセルが表示されており,そのうちのある一つのセルを,ユーザが入力装置206を用いて,指定したとする。このとき,当該指定されたセルの内容に相当するデータが,表計算PG250が出力したファイルのうちどの部分に当たるのか,を識別する必要がある。なぜなら,画面上では,たとえば,A列1行目のようなアドレスで指定されるセルと表現できても,ファイル上には必ずしも「A」や「1」という情報が含まれているとは限らないからである。
【0069】
さらに,いくつかのセルが結合されるなどの複雑な表の場合には,当該セルに相当する部分を識別するのはさらに困難となる。
【0070】
実際,非特許文献1に開示されたCalcというプログラムがあつかうファイル(OpenDocument形式と呼ばれるXMLファイルを利用したファイル形式であって表データを表すXMLファイルのほか,メタ情報を記述したXMLファイルなどいくつかのファイルがZIP圧縮され一つのファイルとなっている)の場合は,表データは,表全体を示す<table:table>タグで囲まれた中に,行を示す<table:table-row>タグがいくつか存在し,各<table:table-row>タグの中に,セルを示す<table:table-cell>タグがいくつか存在するというデータ構造をしていることがある。この場合,上述の「A」や「1」という情報は明示的にはファイル中に含まれない。
【0071】
識別するためには,たとえば,表計算PG250と同等のファイル解析機能を,墨塗り署名生成PG251と,墨塗り処理PG252と,墨塗り署名検証PG253の各々が含むように構成することが考えられる。しかし,これには開発コストがかかるし,さらには,表計算PG250の機能が追加された場合に,それに追従して,墨塗り署名生成PG251と,墨塗り処理PG252と,墨塗り署名検証PG253の各々も変更が必要になりうるため,保守コストも高くなる。
【0072】
そこで,本実施形態においては,表計算PG250において,各セルに固有のIDを付すことにより,判別を可能にする。このようなIDの付与は,表計算PG250の機能を使って実現可能である。また付与されたIDは,表計算PG250が,データをファイルとして出力したときに,ファイル中に出力される。
【0073】
具体的な一例としては,たとえば,上述の<table:table-cell>タグの属性値(attribute)として出力される。墨塗り署名生成PG251は,ファイルの中からこのIDを検索することで,どの部分が処理すべき対象のセルに相当するデータであるのかを,識別可能となる。
【0074】
以下のXMLデータは,2行3列の表データの場合の出力ファイル例である。本実施形態によれば,各セルに相当するXML要素,すなわち開始タグが<table:table-cell>である要素に,墨塗り署名用のIDとして属性値RegionIDが付与される。したがってたとえば墨塗り署名生成や墨塗り処理の過程で1行B列のデータを操作(たとえば読み込み)する場合には,RegionIDが”2”であるタグを検索すればよい。
【0075】
なお,以下の例では,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>
図5は,署名生成PG222の処理概要を示したフロー図である。
501:はじめ。
502:署名生成PG222の表計算PG250は,表示装置207にオリジナル文書を表示する。
503:表計算PG250は,入力装置206を介してユーザから,墨塗り署名の付与対象とするひとつまたは複数のセルの指示を受け付ける。
504:表計算PG250は,ステップ503で指示を受け付けたセルに墨塗り署名用IDを振る。
505:表計算PG250は,入力装置206を介してユーザから,墨塗り署名生成指示を受け付ける。
506:表計算PG250は,オリジナル文書(墨塗り署名対象となるセルに墨塗り署名用IDがふられたもの)をファイルに出力する。
507:署名生成PG222の署名生成PG251は,ファイルとして出力されたオリジナル文書から,墨塗り署名用IDが付与された,墨塗り署名対象となるセルを検索し,墨塗り署名付与対象箇所を特定する。たとえば,上述のように<table:table-cell>タグの属性値としてIDが出力されている場合には,墨塗り署名用IDが含まれる<table:table-cell>タグで囲まれた部分を,墨塗り署名生成におけるひとつの「墨塗り可能ブロック」とすればよい。
508:署名生成PG222は,ステップ507で特定された各箇所を「墨塗り可能ブロック」として(墨塗り署名方法の概略:署名生成処理)の手順に従って,墨塗り署名を付与する。
509:表計算PG250は,ステップ508の結果および過程で現れた記録すべき補助データ(例:乱数,署名値など)を,オリジナル文書のファイルに追記する。具体的には,たとえば,IDと同様に<table:table-cell>タグの属性値として追記してもよいし,<table:table-cell>タグに割り当てたスタイルの中に追記してもよい。あるいは,たとえば,OpenDocument形式のように表データに相当するXMLファイルを含むいくつかのファイルが,ZIP圧縮され一つのファイルを構成している場合には,補助データをひとつのXMLファイルに記録し,これをZIP圧縮されたファイルに付け加えればよい。
510:表計算PG250は,ステップ509で得られたファイルを署名付きオリジナル文書として出力する。生成された署名付きオリジナル文書は,前述の文書保管要求PG223によって,文書管理装置103に送信される。
511:おわり。
【0076】
ステップ503におけるセルの選択には,たとえばマウスをもちいてマウスカーソルによって,画面上のひとつまたは複数のセルを選択させたのちに,画面上に別途表示しておいた,墨塗り署名対象領域を指定するボタンを押下させたり,または,画面上のメニューバーのなかに別途表示しておいた墨塗り署名対象領域を指定するメニューを選択させたり,または,右クリックをしたときに表示されるようにしておいた墨塗り署名対象領域を指定するメニューを選択させる,などの方法を用いればよい。
【0077】
ステップ505における署名生成指示には,たとえばマウスをもちいてマウスカーソルによって,画面上に別途表示しておいた署名生成を指示するボタンを押下させたり,または,画面上のメニューバーのなかに別途表示しておいた署名生成を指示するメニューを選択させたり,または,右クリックをしたときに表示されるようにしておいた署名生成を指示するメニューを選択させたり,などの方法を用いればよい。
【0078】
図6は,図4のステップ405における開示文書作成PG230の処理内容細を示したフロー図である。
601:はじめ。
602:開示文書作成PG230の表計算PG250は,表示装置207に署名付きオリジナル文書を表示する。
603:表計算PG250は,入力装置206を介してユーザから,墨塗り処理対象とするひとつまたは複数のセルの選択指示を受け付ける。セルの選択は,たとえばステップ503と同様にして,行えばよい。なお,このとき,墨塗り署名用IDを付したセル以外のセルを指定しようとした場合には,指定できないことを利用者に通知することが望ましい。
604:表計算PG250は,指示された墨塗り処理対象となるセルを識別する,既に付与されている墨塗り署名用IDを特定し,墨塗り処理PG252に渡す。
605:開示文書作成PG230の墨塗り処理PG252は,ステップ604で表計算PG250から渡された墨塗り署名用IDによって識別されるセルを実際に墨塗りするブロックとみなし,前述の(墨塗り署名方法の概略:墨塗り処理)の手順に従って,墨塗り処理する。ただし,墨塗り可能ブロックの削除は,ステップ606で表計算PG250によって行う。
606:表計算PG250は,ステップ603でユーザから指示されたセルのデータを削除する。
607:表計算PG250は,墨塗り処理対象のセルが削除された開示文書をファイルに出力する。
608:表計算PG250は,ステップ605の結果および過程で現れた記録すべき補助データ(例:ハッシュ値など)を,オリジナル文書のファイルに追記する。ただしステップ605で削除されたデータ(例:乱数など)は記録しない。
609:表計算PG250は,ステップ608で得られたファイルを開示文書として出力する。当該開示文書は,開示文書公開PG231によって,受信者装置105に送信される。
610:おわり。
【0079】
ステップ606では,データを削除した後に,たとえば,セルの背景色を黒く設定したり,セルのデータを「削除済み(Redacted)」のような削除されたことを示す文字列で置き換えたりしてもよい。あるいは,削除されたことを意味する音声データや,画像データや,そのほかのマルチメディアデータ,または,これらを複数組み合わせたデータを埋め込んでもよい。
【0080】
このようにすると,データを表示した際に,当該セルが墨塗り処理されたことが容易に認識できるようになるという利点がある。本実施形態によれば,ステップ606におけるセルの削除を,表計算PG250の機能を用いておこなうため,データの削除および,上述した背景色の変更など表現を,容易かつ適切に実現できる。
【0081】
なお,これとは異なり,墨塗り処理PG252がファイルを解析可能である場合には,ファイルを直接書き換えることで,ステップ606の,セルの削除や背景色の変更を実現してもよい。
【0082】
図7は,受信者装置105における開示文書検証PG233の処理概要を示したフロー図である。
701:はじめ。
702:開示文書検証PG233の表計算PG250は,表示装置207に開示文書を表示する。
703:表計算PG250は,入力装置206を介してユーザから,墨塗り署名検証指示を受け付ける。
704:表計算PG250は,墨塗り署名検証PG253に署名検証を要求する。
705:開示文書検証PG233の墨塗り署名検証PG253は,開示文書のファイルを入力として,前述の(墨塗り署名方法の概略:署名検証処理)に従い,署名検証処理を行う。
706:表計算PG250は,ステップ705の結果を受け付け,表示装置207に結果を表示する。たとえば「検証に成功しました」あるいは「検証に失敗しました」という結果をあらわすダイアログボックスを表示するようにしてもよいし,あるいは,署名検証の結果,改ざんされていないことが確認されたセルの色を変更する(例:背景色を暗くする/明るくするなど)ことによって,改ざんされていないことを表現してもよい。あるいは,太線で囲むなど,他の領域と容易に視認できるように表示してもよい。
707:おわり。
【0083】
図8は,図6で説明した本実施形態における開示文書作成処理(墨塗り処理時)における,表示装置207上の画面イメージの概略説明図である。
【0084】
表計算PG250は,画面上に,A列〜C列(811〜813)と,1行〜4行(821〜824)からなる計12個のセルを表示させ,ファイル(801),編集(802),ヘルプ(803)などのメニューとともに,墨塗り(804)という本実施形態に特徴的なメニューを,表示装置207に表示させる。表計算PG250は,墨塗りメニューとして,さらに,署名生成(805),墨塗り(806),署名検証(807)を表示させる。
【0085】
ユーザがB列2行(もともと「太郎」というデータが含まれていたとする)を墨塗りする場合には,まず,マウスを操作して,マウスカーソル(831)を用いて,B列2行を選択したのち,マウスカーソル(832)を移動し,メニューから墨塗り(806)を選択する。この結果,表計算PG250はB列2行のセルを,図示するように,「太郎」という元のデータを削除し,かわりに背景色を黒く表示する。
【0086】
以上の通り,本実施形態によれば,表計算PG250が出力したファイルのうち,どの部分が,墨塗り署名で処理すべきデータであるかの判別が,墨塗り署名用IDをもとに検索することで容易に実現される。
【0087】
また,本実施形態によれば,将来的に墨塗りされる可能性のある領域,または,墨塗りする領域を,セルを単位として指定可能となる。また,データの表示,および,ユーザからの指定は,表計算PG250が有する機能を用いることで,マウスポインタを用いて,または,キーボード操作により,容易に実現される。
【0088】
なお,上記実施形態は,電子文書として表データを例示したが,表データ以外の電子文書,たとえば,図形データ,文字列データに対しても適用可能である。具体的には,たとえばこれらの電子文書がXML形式で記述されている場合には,上記XMLデータ例において,表データのセルに相当するタグに墨塗り署名用IDを付与したのと同様に,表データ以外の電子文書における墨塗り単位とするデータに相当するタグに墨塗り署名用IDを付与すればよいし,また,これらの電子文書が通常のテキストデータのように,XML形式で記述されていない場合には,表データ以外の電子文書における墨塗り単位とするデータにタグを付与してXML要素として指定し,墨塗り署名用のIDを付与すればよい。
【図面の簡単な説明】
【0089】
【図1】本実施形態を実現するネットワークシステムの概略構成図である。
【図2】本実施形態におけるオリジナル文書作成者装置102の概略構成を示した図である。
【図3】本実施形態において,電子文書に墨塗り署名を付与するときの概要を示したフロー図である。
【図4】本実施形態において,管理装置102に入力される電子文書231および管理装置102が出力する署名ファイル232の概略構成を示した図である。
【図5】本実施形態において,署名生成PG222内の処理概要を示したフロー図である。
【図6】本実施形態において,開示文書作成PG230内の処理概要を示したフロー図である。
【図7】本実施形態において,開示文書検証PG233内の処理概要を示したフロー図である。
【図8】本実施形態における,開示文書作成処理(墨塗り処理時)における画面イメージの概略説明図である。
【符号の説明】
【0090】
101:ネットワーク,102:管理装置,103:墨塗り対象文書構造処理装置,104:墨塗り署名方法情報処理装置,105:墨塗り署名処理装置,106:署名ファイル出力装置,107:墨塗り署名検証処理装置。

【特許請求の範囲】
【請求項1】
表データの真正性保証システムであって,
署名付き表データ作成者装置を備え,
前記表データは,セルに対応する一つ以上のセル要素データを構成要素とし,
前記署名付き表データ作成者装置は,
前記表データを,前記セル要素データ単位で管理する,表計算手段と,
前記表データを構成するセルの内,真正性保証対象とするひとつまたは複数のセルに対応する前記セル要素データの各々に対して乱数を生成する手段と,
前記セル要素データを,対応する前記生成した乱数と組み合わせ,当該組み合わせたデータに対するハッシュ値を算出する手段と,
一つ以上の前記ハッシュ値の組み合わせに対して,署名値を算出する,墨塗り署名生成手段,とを備え,
前記表計算手段は,
前記真正性保証対象とするセルに対応するセル要素データに,墨塗り署名用IDを付与し,署名付き表データを作成する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項2】
請求項1記載の表データの真正性保証システムであって,
前記署名付き表データ作成者装置において,
前記表計算手段は,入力装置を介してユーザから指示を受け付けたセルを前記真正性保証対象とする手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項3】
請求項2記載の表データの真正性保証システムであって,
前記署名付き表データ作成者装置において,
前記表計算手段は,前記ユーザからの指示を受け付けた前記真正性保証対象とするセルの背景色を変更する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項4】
請求項1記載の表データの真正性保証システムであって,
前記署名付き表データ作成者装置において,
前記表計算手段は,生成された前記署名値と,前記乱数とを,前記署名付き表データに追記する手段を備える
ことを特徴とする表データの真正性保証システム。
【請求項5】
請求項1記載の表データの真正性保証システムであって,
さらに,
前記署名付き表データを前記セル要素データ単位で管理する,表計算手段と,
前記署名付き表データから,墨塗り処理対象となるセル要素データに対応する乱数を削除する,墨塗り処理手段と,
を備える開示表データ作成者装置を備え,
前記表計算手段は,墨塗り処理対象とするセルの指定を受け付け,指定された前記セルに付与された前記墨塗り署名用IDを特定して前記墨塗り処理手段に伝える手段と,
前記墨塗り処理対象とするセル要素データを削除,または,削除済みであることを認識可能な文字または記号または図またはマルチメディアデータで置き換えた開示文書を作成する手段と,を備え,
前記墨塗り処理手段は,前記墨塗り署名用IDに基づき,前記墨塗り処理対象となるセル要素データを特定する
ことを特徴とする表データの真正性保証システム。
【請求項6】
請求項5記載の表データの真正性保証システムであって,
前記表計算手段は,当該開示表データ作成者装置が備える入力装置を介して,ユーザから指定されたセルを前記墨塗り処理対象とする手段を備える
ことを特徴とする表データの真正性保証システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−294596(P2008−294596A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−136126(P2007−136126)
【出願日】平成19年5月23日(2007.5.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】