説明

情報処理装置、及び、情報処理方法

【課題】文書を保存、移動した際に、文書の位置によって検証範囲を動的に変更することができる情報処理装置を提供する。
【解決手段】構造要素を予め定められた属性に分類する分類手段と、構造化文書の出力先と関連付けて、構造要素の属性のうち、どの属性を電子署名の検証対象とするかを記述したデータを保存する保存手段と、構造要素に電子署名を付与する付与手段と、保存されたデータと構造化文書のデータとを参照して、電子署名が付与された構造要素のうち、どの構造要素を電子署名の検証対象とするかを示す、構造化文書の出力先に対応するツリーデータを生成し、構造化文書のデータにツリーデータを挿入する挿入手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子ファイルに署名を付与する情報処理装置に関する。
【背景技術】
【0002】
電子署名技術は、電子ファイルの作成者を証明し、かつその電子ファイルが改竄されていないことを保証するために、暗号化技術を利用するものである。例えば、電子ファイル又はそのダイジェストを暗号化し、その暗号化された値を元の電子ファイルに付与するのが電子署名の付与である。電子署名を検証する場合は、上記の暗号化された電子ファイル又はそのダイジェスト値を復号化する。そして、元の電子ファイル又はそのダイジェストと復号化された値とが等しい場合、改竄がないことを保証する。しかし、上記のような電子署名技術では、電子ファイル全体として改竄の有無を検証することは可能であるが、電子ファイルのどの箇所が改竄されたかを特定する事ができなかった。
【0003】
そのような問題をXML等の構造化文書において解決するために、特許文献1には、構造化文書を構成する各構造要素から署名を生成し、生成された署名(暗号)を構造に対応した1つの署名に結合するという技術が記載されている。
【0004】
また、構造化文書の情報をデータベース等に格納して、バックエンドシステム等で活用する場合を考える。その場合、構造化文書のコンテンツの先頭と最後に含まれる空白・TAB等の情報は、無効なデータとして扱われ、トリミング等の技術によって削除してから、データベースに格納される。そのため、データベースに格納された情報から元の構造化文書を再構築する場合には、空白・TAB等の情報が欠落している場合が考えられる。そのような場合、データベースに格納された署名付き構造化文書の署名を検証すると、空白・TAB等が欠落しているので、改竄ありとして判断されてしまう。
【0005】
そのような問題を解決する方法として、特許文献2においては、構造化文書を署名する際、署名対象データから可視性を高める等のため含まれている空白・TAB等のデータを削除した有効な署名対象データを抽出した上で署名を施す署名技術が記載されている。加えて、署名対象データから空白・TAB等のデータを削除した有効な署名対象データを抽出した上で署名を検証する技術が記載されている。
【0006】
一方、構造化文書には文書内に印刷に関係のないデータが含まれている事もある。例えば、作成日時や作成者といったメタ情報や、実際にはリンクがされていない構造要素等が挙げられる。また、構造化文書フォーマットの一つとしてXPS(XML Paper Specification)がある。XPSとは、Microsoft社が規定した構造化文書フォーマットであり、文書構造、描画情報、印刷設定(プリントチケット)等の情報を保持するXMLとビットマップやフォントなどのバイナリリソースといった様々なパーツから構成されている。XPSの特徴の一つとして、印刷設定が電子文書内に含まれている事が挙げられる。このような構造化文書において、電子文書全体に署名が施された場合、印刷設定を変更しただけで改竄ありとして判断されてしまう。XPSではその仕様上、文書の構造要素毎に電子署名を付与することが容易であるため、今後は構造要素毎に署名を付与するアプリケーションやシステムがより普及することが考えられる。
【0007】
また、電子署名による電子文書の保証範囲を電子文書の位置(保存場所)によって動的に変更したい場合がある。例えば、セキュリティレベルが高くない共有サーバ(若しくは、フォルダ)上で作成途中の文書を保存しておき、完成した時点でセキュリティレベルの高いフォルダに移動するというケースを考える。このような場合、セキュリティレベルの高くない共有サーバ等では、電子文書内に含まれるメタ情報や印刷設定等は保証の対象外でも良い。しかしながら、電子文書がセキュリティレベルの高いサーバ(若しくは、フォルダ)に存在する場合は、電子文書全体を保証範囲とすることが望ましい。即ち、文書を保存、移動した際に、文書の位置(URL、IPアドレス、フォルダ等)によって保証範囲(検証)を動的に変更するシステムが求められている。
【0008】
しかし、上述のように文書の保存先に応じて保証範囲を動的に変更する事を実現するためには従来技術では以下のような課題があった。即ち、特許文献1では、構造化文書に対して、各構造要素のツリーの深さレベルに応じて電子署名の付与、検証を行うものである。そのため、印刷設定のようなツリーの深さレベルによっては要不要を判断できない構造要素を保証の対象外とする事はできない。また、署名を付与する際に、検証範囲を決める必要があり、動的に保証範囲を変更する事ができない。また、特許文献2では、構造化文書に対して、予め定めておいたルールにそって有効署名対象データ(例えば空白、Tab等を削除したデータ)を抽出した上で署名の付与を行う。また、検証時も署名付与時のルールにそって有効署名データを抽出し検証するものである。よって、署名付与時に検証範囲を決める必要があり、動的に保証範囲を変更する事ができない。
【特許文献1】特開2002−229448号公報(段落0023)
【特許文献2】特開2005−333233号公報(段落0010)
【発明の開示】
【発明が解決しようとする課題】
【0009】
そこで、上記の点に鑑み、本発明は、文書を保存、移動した際に、文書の位置によって検証範囲を動的に変更することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る情報処理装置は、構造化文書を構成する構造要素ごとに電子署名を付与する情報処理装置であって、構造要素を予め定められた属性に分類する分類手段と、構造化文書の出力先と関連付けて、構造要素の属性のうち、どの属性を電子署名の検証対象とするかを記述したデータを保存する保存手段と、構造要素に電子署名を付与する付与手段と、保存手段により保存されたデータと構造化文書のデータとを参照して、電子署名が付与された構造要素のうち、どの構造要素を電子署名の検証対象とするかを示す、構造化文書の出力先に対応するツリーデータを生成し、構造化文書のデータにツリーデータを挿入する挿入手段とを備える。
【発明の効果】
【0011】
本発明によれば、文書を保存、移動した際に、文書の位置によって検証範囲を動的に変更することができることができる。
【発明を実施するための最良の形態】
【0012】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構造要素には同一の参照番号を付して、説明を省略する。
<実施例1>
以下、本発明に関して詳細に説明する。図1は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおける文書管理クライアント101、文書管理サーバ102、ファイル共有サーバ103、機密情報サーバ104、プルプリントサーバ105、印刷装置106は、それぞれ1台又は複数台接続されている。図1において、文書管理クライアント101、文書管理サーバ102、ファイル共有サーバ103、機密情報サーバ104、プルプリントサーバ105は情報処理装置であり、アプリケーションプログラム等の各種のプログラムを実行することができる。また、印刷装置106も情報処理装置であり、アプリケーションプログラム等の各種のプログラムを実行することができる。また、文書管理クライアント101、文書管理サーバ102、ファイル共有サーバ103、機密情報サーバ104、プルプリントサーバ105、印刷装置106は、ネットワーク107にケーブルを介して接続され、相互に通信することができる。ここで、ネットワーク107として、例えば、LAN、WAN、インターネットが用いられる。
【0013】
文書管理クライアント101は、文書管理サーバ102に接続する各種サーバ(ファイル共有サーバ103、機密情報サーバ104等)の登録を行う場合に用いられる。また、文書管理クライアント101により、各種サーバに対する電子署名検証ルール(後述)を作成し、文書管理サーバ102に登録することができる。文書管理クライアント101は、電子文書の登録、登録されている電子文書リストの表示、電子文書の移動等を文書管理サーバ102に対して要求することができる。その結果、登録された各種サーバに電子文書の登録、リスト表示、又は、電子文書の移動を行うことができる。
【0014】
文書管理サーバ102は、ユーザ、文書、接続されている各種サーバや印刷装置情報を管理するアプリケーションサーバであり、文書に関する情報、例えば、所有ユーザ、文書ID、文書ファイル等を保管し、参照することができる。また、文書管理サーバ102は、文書管理クライアント101が要求する文書の登録先、移動先を認識し、各種サーバに対応する電子署名検証ルール(後述)に基いて、電子文書に対して電子署名検証情報を付与する。その上で、文書管理サーバ102は、文書を指示されたサーバに登録、移動することができる。文書管理サーバ102にWebサーバ機能を持たせて、文書管理クライアント101からWebブラウザを用いてアクセスできるようにしてもよい。又は、文書管理クライアント101上で動作する専用アプリケーション(Webブラウザとは限らない)から、TCP/IPやHTTP等の通信プロトコルを用いて、文書管理サーバ102に接続するように構成しても良い。その場合に、通信プロトコルは特に限定されない。
【0015】
ファイル共有サーバ103、機密情報サーバ104、プルプリントサーバ105、印刷装置106は、それぞれファイルサーバとしての機能を持った情報機器である。特に、印刷装置106は、加えて印刷機能も有する。本発明においては、その他の特別な構成は、特に必要としない。
【0016】
図2は、本発明における文書管理クライアント101と文書管理サーバ102のモジュール構成を説明する図である。まず、主な構成モジュールについて説明する。文書管理アプリケーション1011は、文書管理クライアント101上で動作するアプリケーションで、電子文書の登録、登録済みのリスト表示、移動等を文書管理サーバ102に対して要求する。その結果、文書管理サーバ102に登録された各種サーバに対して、電子文書の登録、リスト表示、移動が行われる。サーバ管理アプリケーション1012は、文書管理サーバ102に接続する各種サーバ(ファイル共有サーバ103等)の登録・削除を行う。また、各種サーバに対する電子署名検証ルール(後述)を作成し、文書管理サーバ102に登録する。
【0017】
文書管理サーバ102は、ネットワーク107との接続手段であるネットワークインタフェース1021、文書管理サーバ102の動作を制御する文書管理部1022を含んでいる。また、文書管理サーバ102は、文書管理サーバ102に登録されている各種サーバの情報や各種サーバに対する電子署名検証ルール(後述)や登録されている文書情報等を管理するデータベース管理部1023を含んでいる。また、文書管理サーバ102は、各種サーバに対して設定されている電子署名検証ルールに基いて電子署名検証情報(後述する)を付与する電子署名付与部1024を含んでいる。また、文書管理サーバ102は、電子署名検証情報に基いて電子署名の検証を行う電子署名検証部1025、電子署名付与部1024、電子署名検証部1025の処理を行う際に構造化文書の構造を解析する構造化文書解析部1026を含んでいる。
<ハードウェアの構成例>
図3は、文書管理クライアント101、文書管理サーバ102として使用できる情報処理装置の構成を示すハードウェア構成図である。文書管理クライアント101及び文書管理サーバ102の機能は、図3の構成において、メモリ1014に格納されたプログラムがCPU1013により実行されることで実現される。また、図2の構成を実現するためのプログラムは、例えば、ハードディスク等の外部メモリ1015に格納される。外部メモリ1015は、フレキシブルディスクやCDROM等の取り外し可能な記憶媒体が用いられても良い。ディスプレイ1018は、画像を表示し、I/Oインタフェース1016を介してネットワーク107等に接続されている。また、キーボード(又は、ポインティングデバイス等)1017により、オペレータが入力することができる。ファイル共有サーバ103、機密情報サーバ104、プルプリントサーバ105についても、上記と同じ構成である。印刷装置106については、上記の構成に加えて、各種情報機器からの印刷指示に従い印刷を行うことができる。印刷装置106内にも文書を保存できる外部メモリ1015相当のメモリが構成されても良い。
【0018】
次に本実施形態におけるユーザ操作とそれに応じた各システムの動作内容について簡単に説明する。管理したい文書を登録(保存)するユーザは、文書管理クライアント101にて、管理したい文書とその登録場所を指定し、文書管理サーバ102にネットワーク107を介して通知する。文書管理サーバ102は、その通知に基いて、電子署名を施した上で文書を指定された場所に保存する。その際、後述する電子署名検証ルールに基いて、文書に対して登録先に応じた署名検証情報を格納しておく。
【0019】
登録された文書を閲覧する場合に、文書管理クライアント101は、文書管理サーバ102から文書リストを取得して表示する。ユーザは、文書リストの中から閲覧したい文書を指定し、文書を閲覧することができる。更に、選択した文書の電子署名の検証を行う場合に、文書管理クライアント101は、文書管理サーバ102に電子署名の検証処理を要求する。文書管理サーバは、文書内に保持されている署名検証情報に基いて署名検証処理を実行する。署名検証情報については後述する。
【0020】
登録された文書を移動する場合に、文書管理クライアント101は、文書管理サーバ102から文書リストを取得して表示する。ユーザは、文書リストの中から移動したい文書とその移動先を指定することができる。その際、後述する電子署名検証ルールに基いて、文書の移動先に応じて、署名検証情報を更新する。本実施形態では構造化文書としてXPSを例に説明を進める。以下、XPSフォーマットについて簡単に説明する。なお、本実施形態では、XPSの署名付与・検証を例とするが、他の構造化文書においても本発明を適用することができる。
【0021】
図4は、XPSファイルの概念図である。FDSパーツ(Fixed Document Sequence)401をジョブ、FDパーツ(Fixed Document)402をドキュメント、FP(Fixed Page)403をページとして理解しても良い。FDSパーツ401は、必ず1つだけ存在し、複数のFDパーツ402を保持する。更に、各々のFDパーツ402は、複数のFPパーツ403を保持する。更に、これら任意のFDSパーツ401、FDパーツ402、FPパーツ403にそれぞれ印刷設定を関連付けることができる。この印刷設定のことをプリントチケット404と呼ぶ。ここで、FDSパーツ401に関連付けた印刷設定をジョブレベルのプリントチケット、FDパーツ402に関連付けた印刷設定をドキュメントレベルのプリントチケット、FPパーツ403に関連付けた印刷設定をページレベルのプリントチケットという。ジョブレベルのプリントチケットは、ジョブの印刷設定を行う。ドキュメントレベルのプリントチケットは、ドキュメントの印刷設定を行う。ページレベルのプリントチケットは、ページの印刷設定を行う。また、リソース405は、フォントやビットマップといったバイナリリソースである。コアプロパティ406は、作成日時や作成者、最終印刷日時といったメタ情報を保持する。
【0022】
図5は、図4のXPS概念図の各パーツに署名を施した場合の概念図である。この状態で、例えば、XPSファイルを印刷すると、コアプロパティの最終印刷日時が更新されるので、署名の検証を行うと「改竄あり」と判断されることになる。また、印刷設定を変更した後に、署名の検証を行った場合も同様に「改竄あり」と判断されることになる。
【0023】
次に、電子署名検証ルールについてその概念を説明する。ここでも構造化文書としてXPSを例に説明するが、他の構造化文書においても本発明を適用することができる。文書管理サーバ102に接続された各種サーバ毎に、構造化文書を構成する構造要素のうち、検証対象外(改竄されていても改竄とみなさない構造要素)の構造要素を決定するルールを以下から選択する(複数を組み合わせるようにしても良い)。本実施形態におけるルールとして、「メタ情報属性」「プリントチケット属性」「印刷範囲対象外属性」「無リンク要素属性」がある。本実施形態においては、これらのルールに基いて電子文書内に電子署名検証情報を挿入しておき、ルールが変更されると電子署名検証情報を更新(変更)するようにする。その結果、動的に署名検証範囲を変更することができる。このルール属性を本発明では電子署名検証ルールという。ここで、それぞれのルールについて簡単に説明する。なお、実際に文書に挿入する電子署名検証情報の内容と挿入する方法については後述する。
【0024】
「メタ情報属性」
作成日時や作成者、最終印刷日時等のメタ情報を検証対象外とするルールである。XPSにおけるコアプロパティが該当する。
【0025】
「プリントチケット属性(PT属性)」
印刷する際のレイアウト等の各種印刷設定情報を検証対象外とするルールである。XPSにおけるプリントチケットがこれに該当する。
【0026】
「印刷範囲対象外属性」
文書内の一部を印刷する設定となっている場合(例えば、3ページの文書であるがプリントチケットの印刷設定では2ページ目まで印刷となっている場合)、印刷範囲対象外の構造要素を検証対象外とするルールである。
【0027】
「無リング要素属性」
構造化文書のツリー構造において、ツリーの最上位が「Root」に繋がっていないような構造要素を検証対象外とするルールである。表現を変えると、リンクが貼られていないゴミの構造要素のことである。
【0028】
本実施形態では上記の4つが予め定められているが、他の属性が定められてもよい。このようなルールを用いて、電子署名検証情報を文書内に挿入する。例えば、ファイル共有サーバ103は「メタ情報属性」「PT属性」「無リンク属性」を検証対象外とする情報を文書内に挿入し、検証する際に、その挿入された情報を元に検証するのである。例えば、図4で示したXPSにおいては、図6の(a)で示すようなツリーの部分が検証対象の構造要素とされる。このツリーが示すツリーデータが、本実施形態における署名検証情報であり、本発明では以後、「署名検証対象ツリー」と呼ぶ。署名検証対象ツリー701を図7に示すように構造化文書内に挿入し、検証の際に、この署名検証対象ツリー701に基いて検証対象の構造要素を決定する。また、文書を移動したとき、即ち、検証ルールが変更された場合には、この署名検証対象ツリーを更新するようにする。例えば、機密情報サーバ104は、検証対象外とする構造要素を認めない設定であるとする。その場合に、図6の(a)で示した署名検証対象ツリーを図6の(b)で示したようなツリーに更新する。これにより、文書の登録(保存)位置によって、署名検証範囲を動的に変更することができる。詳細については後述する。
【0029】
次に、図8を用いて、サーバ管理アプリケーション1012を操作することにより、文書管理サーバ102に文書の登録を行うことができるサーバを登録する方法について説明する。図8は、サーバ管理アプリケーション1012におけるサーバの登録画面の一例を示す図である。ユーザは、登録するサーバ名とそのIPアドレスを入力801、802に、そのサーバについての署名検証ルールを入力803、804、805、806に入力する。ユーザが登録ボタン807を押下すると、サーバ管理アプリケーション1012は、ネットワーク107を介して登録情報を文書管理サーバ102に通知する。文書管理サーバ102は、その情報をネットワークインタフェース1021を介して受信する。データベース管理部1023は受信した登録情報を元に、図9に示したようなサーバ情報テーブルを保存し、登録を完了する。ここで、登録するサーバを追加することもできるし、削除することもできる。また、本実施形態において、図8に示す画面上で、ユーザが、検証対象(検証対象外ではなく)とする属性を選択できるようにしても良い。以上のように、受信した登録情報を元に、記述されたデータ(図9に示すようなサーバ情報テーブル)が作成される。本実施形態において、文書管理サーバ102から文書を出力し、他のサーバに文書の登録を行うのみでなく、文書管理サーバに接続された外部ストレージに文書の登録を行うように構成されても良い。即ち、文書管理サーバ102からの文書の出力先は、サーバであっても良いし、外部ストレージであっても良い。
【0030】
次に、図10を参照し、文書管理アプリケーション1011を操作して、文書管理サーバ102に文書を登録(保存)する方法について説明する。図10は、文書管理アプリケーション1011のユーザ操作画面の一例を示す図である。ユーザは、登録する文書とその登録先のサーバを指定した上で、文書の登録ボタン1001を押下する。ネットワーク107を介してデータベース管理部1023から受信することで、図9に示すサーバ情報テーブルのサーバ名を登録先のサーバとして文書管理アプリケーション1011に表示することができる。ユーザは、その中から登録先のサーバを選択する。登録ボタン1001が押下されると文書管理アプリケーション1011は、登録情報(文書名、電子文書、登録するサーバ名等)を、ネットワーク107を介して文書管理サーバ102に通知する。一方、文書管理サーバ102は、その情報をネットワークインタフェース1021を介して受信する。文書管理部1022は、受信した登録情報を元に、電子文書名、電子文書の登録先、登録する文書を関連付ける文書IDを発行し、図11に示すような文書情報として保存する。更に、文書管理部1022は、電子署名付与部1024及び構造化文書解析部1026を制御し、登録された文書に対して電子署名及び登録先に応じた署名検証ツリーを文書内に生成する(詳細については後述する)。文書管理部1022は、指定されたサーバに電子文書ファイルの実体を保存し、図11に示すような文書情報の文書データにその参照情報を加えた上で、データベース管理部1023に保存する。ここで、参照情報とは、文書データが実際に保存されるアドレスを指す。また、文書ID、文書名、登録サーバ名もあわせて文書情報に保存する。なお、登録したい文書を選択し、サーバリスト一覧1002へD&D(ドラッグ・アンド・ドロップ)した場合も文書の登録ボタン1001を押下した場合と同様の処理を行う。
【0031】
次に、図10を参照して、文書管理アプリケーション1011を操作し登録済みの文書を移動する際及び検証する際の方法について説明する。文書管理アプリケーション1011は、データベース管理部1023において管理されているサーバ情報テーブル(図9)をネットワーク107を介して受信する。すると、既に登録されているサーバリストが、文書管理アプリケーション1011に表示される(図10に示すサーバリスト一覧1002)。また、データベース管理部1023において管理されている文書情報(図11)をネットワーク107を介して受信する。すると、既に登録されている文書リストが文書管理アプリケーション1011に表示される(図10に示す文書リスト1003)。
【0032】
ユーザは、その文書リスト1003の中から移動する文書を選択し、移動先のサーバを指定し、文書の移動ボタン1004を押下する。移動ボタン1004が押下されると、文書管理アプリケーション1011は、移動情報をネットワーク107を介して文書管理サーバ102に通知する。一方、文書管理サーバ102は、その情報をネットワークインタフェース1021を介して受信する。文書管理部1022は、受信した移動情報を元に、電子文書を指定されたサーバに移動する。更に、文書管理部1022は、電子署名付与部1024及び構造化文書解析部1026を制御し、移動する文書に対して署名検証対象ツリーを更新する(詳細については後述する)。文書管理部1022は、図11に示す文書情報の登録サーバ名を移動先のサーバに書き換え、処理を終了する。なお、移動したい文書を文書リスト1003から選択してサーバリスト一覧1002にD&Dした場合も、文書の移動ボタン1004を押下した場合と同様の処理を行う。
【0033】
また、ユーザが文書を選択した状態で文書の検証ボタン1005を押下すると、文書管理アプリケーション1011は、検証処理要求をネットワーク107を介して文書管理サーバ102に通知する。一方、文書管理サーバ102は、その情報をネットワークインタフェース1021を介して受信する。文書管理部1022は、受信した検証処理要求を元に、電子署名検証部1025及び構造化文書解析部1026を制御し、指定された文書に対して署名検証処理を実行し、その結果をユーザに通知する。通知の内容は、例えば、改竄の有無である。
【0034】
署名検証対象ツリーの生成方法を述べる前に、XPSファイルのフォーマットの内部構造について説明する。図12の(a)〜(d)は、図4で示したXPSファイルの内部構造の一部を示すものである。但し、説明のために簡略化しているので、正規のXPS仕様に則っていない。図12の(a)に示す「FixedDocumentSequence」は、「FixedDocument1」、「FixedDocument2」(不図示)、「Job_PT.xml」、「Core_Property.xml」へのリンクを示す。「FixedDocument1」は、図12の(b)に示される「FixedDocument」の1つである。また、「Job_PT.xml」は、図12の(c)に示されるプリントチケットである。また、「Core_Property.xml」は、図12の(d)に示されるメタ情報である。このように、各構造要素それぞれが独立したファイルであり、XMLベースで、下位の構造要素とリンクし、全体として一つの構造化文書を構成するのがXPSの仕様概念である。実際には、その構造要素群を圧縮することによって、ZIPファイル化されている。
【0035】
次に、図13に示す文書管理サーバ102上で実行されるプログラムに関するフローチャートを参照し、文書管理アプリケーション1011によって文書が登録された場合の署名検証対象ツリーの生成方法について説明する。以下、登録される文書が構造化文書であることを前提として説明する。登録された文書が構造化文書ではない場合には、本処理を行う前に文書を構造化文書に変換する処理を行う。まず、文書管理部1022は、構造化文書解析部1026及び電子署名付与部1024を制御し、構造化文書を解析して各要素について電子署名を付与する(ステップS1301)。構造化文書解析部1026は、前述したXPSの仕様に基づきファイルを解析し、その後、電子署名付与部1024は、各構造要素に電子署名を施す。この処理の結果、図4で示した構造化文書は、図5で示した構造化文書になる。また、内部的には、図12で示したXML構造から図14の(a)〜(d)に示したXML構造になる。
【0036】
次に、文書管理部1022は、ユーザが指定した登録先サーバの署名検証ルールを、データベース管理部1023において管理されているサーバ情報テーブル(図9)から取得する(ステップS1302)。
【0037】
次に、ステップS1303〜S1305までの処理を通して、図15に示したような内部構成情報を生成する。図15は、図4で示したXPSに対応している。パーツ名は構造要素のファイル名そのものを示し、Tag(タグ)名は各構造要素の先頭Tagの名前である。また、ツリー情報は、構造化文書のリンク関係を解析した結果、各構造要素においてリンクされているものを「親」、リンクしているものを「子」として表現している。属性情報は、各構造要素の属性を示しており、「○」印は、その属性であることを示し、「×」印は、その属性ではないことを示す。
【0038】
まず、ステップS1303で、登録される構造化文書を構造化文書解析部1026において解析し、XPSファイルを構成する各構造要素について、各構造要素のパーツ名と先頭Tag名を検出する。次に、電子署名付与部1024は、ステップS1304で、各構造要素の各属性情報(メタ情報、プリントチケット、印刷範囲対象外、無リンク要素)を判定し、内部構成情報の属性情報の部分を生成する。メタ情報であるか否かとプリントチケットであるか否かは、図16で示した属性分類テーブルと図15に示すTag名とから判断される。本実施形態において、メタ情報属性となるのは、「CoreProperty」のみ、プリントチケット属性となるのは「PrintTicket」のみである。また、印刷対象外であるか否かは、プリントチケットから印刷範囲を解析することで判断される。図12の(c)の例では、「PrintRange」が「FixedDocument1.fdco」となっているので、「FixedDocument2.fdoc」層以下の構造要素は、印刷対象外と判断することができる。また、 「FixedDocumentSequence」から順次リンクをたどった結果、どこにもリンクが繋がっていない構造要素を「無リンク属性」と判定する。
【0039】
次に、ステップS1305にて、電子署名付与部1024は、ステップS1302において読み込んだサーバ情報テーブル(図9)の署名検証ルールにそって、各構造要素が署名検証対象外の構造要素であるか否かを判断する。例えば、登録先のサーバがファイル共有サーバであった場合に、図9のサーバ情報テーブルの「ファイル共有サーバ」を参照し、その属性フラグと図15に示す属性情報とを比較する。
【0040】
例えば、図15において、構造要素「FixedDocument1」は、どの属性情報にも属していない。ここで、図9のサーバ情報テーブルにおいて、ファイル共有サーバは、「メタ情報」、「プリントチケット」、「無リンク」の属性情報を検証対象外とすることが示されている。従って、図15の構造要素「FixedDocument1」は、検証対象と判断される(即ち、「○」印とされる)。
【0041】
また、図15において、構造要素「Job_PT」は、プリントチケットの属性に属している。ここで、上述のように、図9のサーバ情報テーブルにおいて、ファイル共有サーバは、「プリントチケット」の属性情報を検証対象外とすることが示されている。従って、図15の構造要素「Job_PT」は、検証対象外として判断される(即ち、「×」印とされる)。
【0042】
以上の処理を行うと、図4(図12)で示したXPSで、かつ、登録先がファイル共有サーバである場合に、図15で示した内部構成情報が生成できる。この内部構成情報をXML化した例を図17に示す。図17において、「Sign = True」となっている構造要素が、検証の際に検証するべき構造要素となる。図17で示したXMLが署名検証対象ツリーである。最後に、ステップS1306にて、署名対象ツリーをXPS文書に格納し処理を終了する。図18に署名対象ツリーを格納したXPS文書の例を示す。但し、図18には、署名検証対象ツリーをリンクする部分のみが示されている。また、図7は、その概念を示す図である。
【0043】
次に、図19に示す文書管理サーバ102上で実行されるプログラムに関するフローチャートを参照し、文書管理アプリケーション1011によって、文書の登録先が移動された場合の署名検証対象ツリーの更新方法について説明する。ここでは、図7、図15、図17、図18で用いたXPSファイル(ファイル共有サーバに登録されている文書)を機密情報サーバ104に移動する際の処理を例として説明する。まず、ユーザ操作によって文書移動指示がなされると、文書管理部1022は、ユーザが指定した移動先サーバの署名検証ルールをデータベース管理部1023において管理されているサーバ情報テーブル(図9)から取得する(ステップS1901)。本例においては、機密情報サーバ104に移動するので、図9に示す「機密情報サーバ」を参照する。
【0044】
次に、ステップS1902〜S1904までの処理を通して、署名検証対象ツリーを更新する。まず、文書管理部1022は、構造化文書解析部1026を制御して、構造化文書を解析し、構造化文書から署名検証対象ツリーを取得する(ステップS1902、S1903)。この例では図17が署名検証対象ツリーであり、図18で示す「FixedDocumentSequence」でいうところの「<SignatureTree>」の部分にそのファイルパスが記載されている。次に、文書管理部1022は、構造化文書解析部1026及び電子署名付与部1024を制御し、署名検証対象ツリーを更新する。
【0045】
例えば、図15において、構造要素「FixedDocument1」は、どの属性情報にも属していない。ここで、図9のサーバ情報テーブルにおいて、機密情報サーバは、検証対象外とする属性情報を指定していない。従って、図15の構造要素「FixedDocument1」は、検証対象とされたままである(即ち、「○」印のままである)。
【0046】
また、図15において、構造要素「Job_PT」は、プリントチケットの属性に属している。ここで、上述のように、図9のサーバ情報テーブルにおいて、機密情報サーバは、検証対象外とする属性情報を指定していない。従って、図15の構造要素「Job_PT」は、検証対象と判断される(即ち、「○」印に変更される)。
【0047】
以上の処理を行うと、図20で示すように内部構成情報が更新される。本例において、機密情報サーバは、検証対象外とする属性を指定していない署名検証ルールであるので、図20に示す検証対象情報は、全て「○」印とされている。この内部構成情報をXML化した例を図21に示す。図17と異なり、全ての構造要素が検証処理の際に検証すべき構造要素である状態を示している(「Sign = True」として示される)。以上のようにして、署名検証対象ツリーを更新することで、動的に署名対象範囲を変更する事ができる。
【0048】
次に、図22に示す文書管理サーバ102上で実行されるプログラムに関するフローチャートを参照し、文書管理アプリケーション1011によって、文書の検証指示がなされた場合の検証方法について説明する。ここでは、図7、図15、図17、図18で用いたXPSファイル(ファイル共有サーバに登録されている文書)を検証する際の処理を例として説明する。ユーザ操作によって文書検証指示がされると、文書管理部1022は、構造化文書解析部1026を制御し、構造化文書を解析して、構造化文書から署名検証対象ツリーを取得する(ステップS2201、S2202)。本例においては、図17が署名検証対象ツリーであり、図18で示す「FixedDocumentSequence」でいうところの「<SignatureTree>」の部分にそのファイルパスが記載されている。
【0049】
次に、文書管理部1022は、構造化文書解析部1026及び電子署名検証部1025を制御し、署名検証対象ツリーにおいて署名検証対象とされている全ての構造化要素(即ち、検証対象外とされた構造要素以外)について検証処理を実行する。図17に示す署名検証ツリーでいうところの「Sign = True」となっている構造要素が、署名検証対象とされる。各構造要素への参照情報は、例えば、図17に示す「Target = FixedDocumentSequence.fdeq」のようなリンク情報をたどることで取得できる。この各構造要素の検証処理を実行し、1つでも改竄のある構造要素があった場合には、その文書は、「改竄あり」と判断し、その旨をユーザに通知する。このように、署名検証対象ツリーによって検証対象であると判断された構造要素について検証を行うことで、文書の登録先で保護すべき構造要素の改竄の有無を検証することができる。
以上の説明のように、文書管理システムで文書を登録する際、及び、文書管理システム内で文書を移動する際に、署名検証対象ツリーを作成又は更新することにより、文書の位置(保存場所)に対応して、動的に署名検証範囲を変更ことができる。例えば、印刷設定は、ファイル共有サーバにおいては署名検証対象外、プルプリントサーバにおいては署名検証対象とすることができる。また、署名検証対象ツリーはリンク構造であるので、容易に変更することができ、文書位置に応じて署名自体を付与し直す必要がない。
【図面の簡単な説明】
【0050】
【図1】本発明を適用可能な情報処理システムのブロック構成を示す図である。
【図2】本実施形態における文書管理クライアントと文書管理サーバのモジュール構成を示す図である。
【図3】文書管理クライアント又は文書管理サーバとして使用可能な情報処理装置のハードウエア構成を示す図である。
【図4】XPSファイルの概念を示す図である。
【図5】図4に示すXPSファイルの各パーツに署名を施した場合を示す図である。
【図6】図5において検証対象の構造要素が定められた場合を説明する図である。
【図7】署名検証対象ツリーを挿入された構造化文書を示す図である。
【図8】サーバ管理アプリケーションにおけるサーバの登録画面の一例を示す図である。
【図9】本実施形態におけるサーバ情報テーブルを示す図である。
【図10】文書管理アプリケーションのユーザ操作画面の一例を示す図である。
【図11】電子文書名、電子文書の登録先、登録する文書を関連付ける文書情報を示す図である。
【図12】図4で示したXPSファイルの内部構造の一部を示すものである。
【図13】文書アプリケーションによって文書が登録された場合に、署名検証対象ツリーを生成する処理の手順を示すフローチャートである。
【図14】図12で示したXML構造における各構造要素に電子署名が施されたXML構造を示す図である。
【図15】本実施形態における内部構成情報を示す図である。
【図16】タグ名と属性とを関連付ける属性分類テーブルを示す図である。
【図17】図15に示す内部構成情報をXML化した例を示す図である。
【図18】署名対象ツリーを格納したXPSの例を示す図である。
【図19】文書アプリケーションによって文書の登録先が移動された場合に、署名検証対象ツリーを更新する処理の手順を示すフローチャートである。
【図20】図15に示す内部構成情報が更新された例を示す図である。
【図21】図20に示す内部構成情報をXML化した例を示す図である。
【図22】文書アプリケーションによって文書の検証指示がなされた場合に、検証の処理の手順を示すフローチャートである。
【符号の説明】
【0051】
401 FDSパーツ
402 FDパーツ
403 FPパーツ
404 プリントチケット
405 リソース
406 コアプロパティ
701 署名検証対象ツリー

【特許請求の範囲】
【請求項1】
構造化文書を構成する構造要素ごとに電子署名を付与する情報処理装置であって、
前記構造要素を予め定められた属性に分類する分類手段と、
前記構造化文書の出力先と関連付けて、前記構造要素の属性のうち、どの属性を電子署名の検証対象とするかを記述したデータを保存する保存手段と、
前記構造要素に電子署名を付与する付与手段と、
前記保存手段により保存されたデータと前記構造化文書のデータとを参照して、電子署名が付与された前記構造要素のうち、どの構造要素を電子署名の検証対象とするかを示す、前記構造化文書の出力先に対応するツリーデータを生成し、前記構造化文書のデータに前記ツリーデータを挿入する挿入手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記構造要素に付与された電子署名を検証する場合に、
前記構造化文書のデータに挿入された前記ツリーデータを参照し、電子署名の検証対象とされた構造要素に付与された電子署名の検証を行う検証手段を、更に備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記構造要素の属性は、
該構造要素がメタ情報であることを示すメタ情報属性と、
該構造要素がプリントチケットであることを示すプリントチケット属性と、
該構造要素が印刷範囲の対象外とされた構造要素であることを示す印刷範囲対象外属性と、
該構造要素が他の構造要素とリンクが貼られていない構造要素であることを示す無リンク属性とのうち、いずれかであることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記構造化文書の出力先が変更されると、前記保存手段により保存されたデータと前記構造化文書のデータとを参照して、前記構造化文書のデータに挿入された前記ツリーデータを変更する変更手段を、更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記構造化文書は、XPSであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
構造化文書を構成する構造要素ごとに電子署名を付与する情報処理装置において実行される情報処理方法であって、
前記情報処理装置の分類手段が、前記構造要素を予め定められた属性に分類する分類工程と、
前記情報処理装置の保存手段が、前記構造化文書の出力先と関連付けて、前記構造要素の属性のうち、どの属性を電子署名の検証対象とするかを記述したデータを保存する保存工程と、
前記情報処理装置の付与手段が、前記構造要素に電子署名を付与する付与工程と、
前記情報処理装置の挿入手段が、前記保存工程により保存されたデータと前記構造化文書のデータとを参照して、電子署名が付与された前記構造要素のうち、どの構造要素を電子署名の検証対象とするかを示す、前記構造化文書の出力先に対応するツリーデータを生成し、前記構造化文書のデータに前記ツリーデータを挿入する挿入工程と、
を備えることを特徴とする情報処理方法。
【請求項7】
構造化文書を構成する構造要素に電子署名を付与する付与手段と、
電子署名が付与された前記構造要素のうち、どの構造要素を電子署名の検証対象とするかを示すツリーデータを生成する生成手段と、
前記生成手段により生成された前記ツリーデータを前記構造化文書に挿入する挿入手段と、
を備えることを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2009−187126(P2009−187126A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−24259(P2008−24259)
【出願日】平成20年2月4日(2008.2.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】