(57)【要約】  利便性の高い文書ファイル管理を実現する。  文書格納部２４０は、暗号化対象となる文書ファイルを記憶する。文書表示部２１０は、文書ファイルの内容を画面表示させる。暗号化範囲指定部２１４は、画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付ける。公開鍵格納部２４２は、文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する。閲覧レベル設定部２１６は、文書作成者から暗号化対象データに対する閲覧レベルを指定するための入力を受け付ける。鍵検索部２３２は、指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出する。暗号処理部２３４は、検出された公開鍵データにより暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成する。【特許請求の範囲】
【請求項１】
暗号化対象となる文書ファイルを記憶する文書記憶部と、
前記文書ファイルの内容を画面表示させる表示処理部と、
前記画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付ける範囲指定入力部と、
文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する公開鍵記憶部と、
文書作成者から前記暗号化対象データの閲覧対象者となる文書閲覧者を指定するための入力を受け付ける閲覧指定入力部と、
前記指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出する公開鍵検出部と、
前記検出された公開鍵データにより前記暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成する暗号処理部と、
前記文書ファイルにおいて指定された暗号化対象データを、前記生成された暗号データに置換することにより暗号文書ファイルを生成する暗号文書生成部と、
を備えることを特徴とする文書処理装置。
【請求項２】
前記暗号化処理部は、前記範囲指定入力部が暗号化対象データの範囲を指定するための入力を受け付けていないときには、前記文書ファイルの内容として含まれるテキストデータを暗号化対象データとして暗号化することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記文書ファイルは、マークアップ言語によって記述されたファイルであって、
前記文書ファイルにおける前記暗号化対象データの範囲を指定するための暗号化タグを記憶するタグ記憶部と、
前記範囲指定入力部により前記暗号化対象データの範囲を指定するための入力が受け付けられたとき、前記文書ファイルの前記指定された範囲の前後に前記暗号化タグを挿入するよう指示するタグ挿入部と、を更に備え、
前記暗号処理部は、前記文書ファイルにおいて前記暗号化タグの挿入を指示された位置を検出することにより、前記暗号化対象データの範囲を特定することを特徴とする請求項１または２に記載の文書処理装置。
【請求項４】
文書閲覧者を通信ネットワークにおいて特定するための通信アドレスを記憶するアドレス記憶部と、
文書作成者から複数の文書閲覧者間における前記文書ファイルの回覧順序を指定するための入力を受け付ける回覧順序入力部と、
前記入力された回覧順序を記録媒体に記録する回覧順序記録部と、
前記回覧順序を参照して、前記文書ファイルを閲覧すべき文書閲覧者を特定する閲覧者特定部と、
前記特定された文書閲覧者の通信アドレスを検出するアドレス検出部と、
前記検出された通信アドレス宛に、前記生成された暗号文書ファイルを送信する文書送信部と、
前記文書閲覧者から閲覧後の前記暗号文書ファイルを受信する文書受信部と、を更に備え、
前記閲覧者特定部は、前記閲覧後の暗号文書ファイルが受信されたとき、前記回覧順序を参照して、前記暗号文書ファイルを閲覧した文書閲覧者の次に閲覧すべき文書閲覧者を特定することを特徴とする請求項１から３のいずれか記載の文書処理装置。
【請求項５】
前記文書受信部により前記暗号文書ファイルが受信されたとき、その暗号文書ファイルを閲覧した文書閲覧者を識別するための閲覧者ＩＤを前記暗号文書ファイルに挿入する閲覧者ＩＤ挿入部を更に備えることを特徴とする請求項４に記載の文書処理装置。
【請求項６】
文書閲覧者を通信ネットワークにおいて特定するための通信アドレスを記憶するアドレス記憶部と、
文書作成者から複数の文書閲覧者間における前記文書ファイルの回覧順序を指定するための入力を受け付ける回覧順序入力部と、
前記入力された回覧順序を記録媒体に記録する回覧順序記録部と、
前記回覧順序を参照して、前記文書ファイルを最初に閲覧すべき文書閲覧者を特定する閲覧者特定部と、
前記特定された文書閲覧者の通信アドレスを検出するアドレス検出部と、
前記検出された通信アドレス宛に、前記生成された暗号文書ファイルとともに前記回覧順序を示す順序情報を送信する文書送信部と、
を更に備えることを特徴とする請求項１から３のいずれかに記載の文書処理装置。
【請求項７】
文書閲覧者に対応する通信アドレスを割り当てられた上で、請求項６に記載の文書処理装置と通信ネットワークを介して接続され、
前記文書処理装置から送信された前記暗号文書ファイルを受信する文書ファイル受信部と、
前記文書処理装置から送信された前記順序情報を受信する回覧順序受信部と、
秘密鍵データを記憶する秘密鍵記憶部と、
前記秘密鍵データにより前記暗号文書ファイルの少なくとも一部を復号する復号処理部と、
文書閲覧者を通信ネットワークにおいて特定するための通信アドレスを記憶するアドレス記憶部と、
前記順序情報を参照して、前記文書ファイルを次に閲覧すべき文書閲覧者を特定する閲覧者特定部と、
前記特定された文書閲覧者の通信アドレスを検出するアドレス検出部と、
前記検出された通信アドレス宛に、前記復号された後の暗号文書ファイルを前記順序情報と共に送信する文書送信部と、
を備えることを特徴とする文書閲覧装置。
【請求項８】
文書閲覧者に対応する通信アドレスを割り当てられた上で、請求項７に記載の文書閲覧装置と通信ネットワークを介して接続され、
請求項６に記載の文書閲覧装置から送信された前記暗号文書ファイルを受信する文書ファイル受信部と、
請求項６に記載の文書処理装置から送信された前記順序情報を受信する回覧順序受信部と、
秘密鍵データを記憶する秘密鍵記憶部と、
前記秘密鍵データにより前記暗号文書ファイルの少なくとも一部を復号する復号処理部と、
文書閲覧者を通信ネットワークにおいて特定するための通信アドレスを記憶するアドレス記憶部と、
前記順序情報を参照して、前記文書ファイルを次に閲覧すべき文書閲覧者を特定する閲覧者特定部と、
前記特定された文書閲覧者の通信アドレスを検出するアドレス検出部と、
前記検出された通信アドレス宛に、前記復号された後の暗号文書ファイルを送信する文書送信部と、
を備えることを特徴とする文書閲覧装置。
【請求項９】
前記復号された後の暗号文書ファイルの内容を画面表示させる文書表示部と、
前記暗号文書ファイルの内容を確認したことを示すための文書閲覧者による入力を受け付ける確認入力部と、
前記確認入力部が確認の入力を受け付けたことを契機として、前記暗号文書ファイルの内容が確認された旨を示す確認情報を、前記文書閲覧装置に送信する確認情報送信部と、
を更に備えることを特徴とする請求項８または９に記載の文書閲覧装置。
【請求項１０】
暗号化対象となる文書ファイルの内容を画面表示させるステップと、
前記画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付けるステップと、
文書作成者から前記暗号化対象データの閲覧対象者となる文書閲覧者を指定するための入力を受け付けるステップと、
文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する記録媒体を検索することにより、前記指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出するステップと、
前記検出された公開鍵データにより前記暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成するステップと、
前記文書ファイルにおいて指定された暗号化対象データを、前記生成された暗号データに置換することにより暗号文書ファイルを生成するステップと、
を備えることを特徴とする文書処理方法。
【請求項１１】
暗号化対象となる文書ファイルを記憶する機能と、
前記文書ファイルの内容を画面表示させる機能と、
前記画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付ける機能と、
文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する機能と、
文書作成者から前記暗号化対象データの閲覧対象者となる文書閲覧者を指定するための入力を受け付ける機能と、
前記指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出する機能と、
前記検出された公開鍵データにより前記暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成する機能と、
前記文書ファイルにおいて指定された暗号化対象データを、前記生成された暗号データに置換することにより暗号文書ファイルを生成する機能と、
をコンピュータに発揮させることを特徴とする文書処理プログラム。  
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文書ファイル管理技術に関し、とくに、公開鍵暗号方式による文書ファイル暗号化技術に関する。
【背景技術】
【０００２】
近年、コンピュータの普及とネットワーク技術の進展に伴い、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。【０００３】
提案書に対して複数者からの承認を求める稟議もその一例である。近年普及しつつある稟議システムにおいては、ネットワークを介して複数の端末間で文書ファイルが回覧される。文書を閲覧した稟議者は各自の端末にて承認または非承認の旨を入力する。このような稟議システムは、業務のペーパーレス化と共に、組織の意思決定促進にも資する。
【特許文献１】特開２００１−２９０８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、通常、稟議対象の文書ファイルは承認権限の小さい稟議から大きい稟議者へという順番で回覧される。このとき、各稟議者は稟議書のすべてを必ずしも閲覧する必要はない。稟議者は自己の権限にて承認すべき事項のみを確認できればよい場合も多い。稟議者にとって、稟議書のすべてを常に確認するとすれば負担が大きく、結果として稟議の効率が低下する。また、文書ファイルの一部については、文書の閲覧者を制限したい場合もある。たとえば、稟議書の記載の一部は、取締役級にしか閲覧させたくないという場合である。情報管理の重要性に対する認識が高まりつつある昨今においては、文書閲覧者の閲覧権限に応じた段階的情報開示が必要とされる場面は、なにも稟議に限られるものではない。【０００５】
文書ファイルの閲覧を制限するための方法として、一般的に考えられるのは「パスワード」による方法である。文書ファイルのうち、閲覧を制限したいデータをパスワードにより保護すれば、結果的にそのパスワードを知る者しか該当箇所を閲覧できなくなる。これにより、パスワードを知る者と知らない者の間で、開示されるべき情報内容を差別化することができる。【０００６】
しかし、パスワード認証は往々にしてシステムの利便性を阻害する。文書作成者が文書ファイルの全体や一部のデータにパスワードをかけた場合、閲覧を許可すべき文書閲覧者にこのパスワードを伝える必要がある。また、文書閲覧者は、伝達されたパスワードを保持しておく必要がある。このような方法では、文書作成者と文書閲覧者の双方にとって、稟議システムの利便性が低下してしまう。また、パスワードは流出や盗み見に弱く、それほど信頼度が高いとはいえない。【０００７】
本発明は、より利便性の高い暗号化手法を応用して、効率的な文書ファイル管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のある態様の文書処理装置は、暗号化対象となる文書ファイルを記憶する文書記憶部と、文書ファイルの内容を画面表示させる表示処理部と、画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付ける範囲指定入力部と、文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する公開鍵記憶部と、文書作成者から暗号化対象データの閲覧対象者となる文書閲覧者を指定するための入力を受け付ける閲覧指定入力部と、指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出する公開鍵検出部と、検出された公開鍵データにより暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成する暗号処理部と、文書ファイルにおいて指定された暗号化対象データを、生成された暗号データに置換することにより暗号文書ファイルを生成する暗号文書生成部と、を備える。【０００９】
「文書ファイル」とは、例えば文字列、画像、音声などを含むデジタルデータであってよい。したがって、暗号化の対象となるデータは、文字列に限らず、画像や音声データ、また、他のデータのリンク先を指し示す文字列であってもよい。文書ファイルは、ＨＴＭＬ（Hyper Text Markup Language）やＸＭＬ（eXtensible Markup Language）、ＳＧＭＬ（Standard Generalized Mark-up Language）などのマークアップ言語によって記述されたファイルであってもよい。とくに、近年においては、ＸＭＬは、ネットワークを介して他者とデータを共有するのに適した形式として注目されており、ＸＭＬ文書を作成、表示、編集するために多くのアプリケーションが開発されている。「文書作成者」は、稟議の発議者に限らず、文書ファイルに対して暗号化設定を行う者を意味する。秘密鍵データは、文書閲覧者ごとに固有のデータであってもよいし、複数の文書閲覧者間で共有されるデータであってもよい。たとえば、「課長」や「部長」のような役職に対応して、秘密鍵データとそれに対する公開鍵データが設定されてもよい。あるいは、「開発部」や「経理部」のような職域に対応して、秘密鍵データとそれに対する公開鍵データが設定されてもよい。【００１０】
この態様によれば、実質的には「どのデータを暗号化するか」、「誰を閲覧対象者とするか」という文書作成者の判断に対応した入力しか必要とされない。いいかえれば、この装置は、パスワードの入力のような、セキュリティを保つために必要とされる特有の入力操作を文書作成者に求める必要が無くなる。また、文書閲覧者も復号のために特に入力操作を求められる必要がなくなる。公開鍵暗号方式における暗号化処理と復号処理は、文書処理装置と文書閲覧装置においてユーザが直接的に関与しない内部処理として実現できるからである。このため、セキュリティの代償としてユーザインタフェースが悪化するというデメリットがほとんど生じ得ないと考えられる。【００１１】
暗号化処理部は、範囲指定入力部が暗号化対象データの範囲を指定するための入力を受け付けていないときには、文書ファイルの内容として含まれるテキストデータを暗号化対象データとして暗号化してもよい。【００１２】
文書作成者が明示的に暗号化対象データの範囲を指定しないときには全てのテキストデータが暗号化対象とされてもよい。このような態様によれば、文書作成者が暗号化対象の範囲を指定しなくても暗号化が実行されるので、文書ファイルのセキュリティをより高めることができる。【００１３】
この装置は、公開鍵データを外部のネットワークから取得してもよい。たとえば、指定された閲覧対象者を識別するＩＤを手がかりとして、ネットワークから対応する公開鍵データを検索し、この公開鍵データにより暗号化処理を実行してもよい。文書閲覧者が公開鍵データを変更しても、文書作成者にとってのユーザインタフェースを変化させなくてすむので、さらに利便性の高い文書管理システムを実現できる。【００１４】
この装置は、文書ファイルにおける暗号化対象データの範囲を指定するための暗号化タグを記憶し、暗号化対象データの範囲として指定された範囲の前後にこの暗号化タグを挿入するよう指示してもよい。この場合、暗号処理部は、文書ファイルにおいて暗号化タグの挿入を指示された位置を検出することにより、暗号化対象データの範囲を特定してもよい。【００１５】
また、この装置は、文書閲覧者を通信ネットワークにおいて特定するための通信アドレスを記憶し、文書作成者が入力した複数の文書閲覧者間における文書ファイルの回覧順序情報を参照して、文書ファイルを閲覧すべき文書閲覧者を特定してもよい。そして、この装置は、特定された文書閲覧者の通信アドレス宛に暗号文書ファイルを送信し、文書閲覧者から閲覧後の暗号文書ファイルを受信してもよい。このとき、回覧順序情報を参照して、暗号文書ファイルを閲覧した文書閲覧者の次に閲覧すべき文書閲覧者を特定してもよい。文書閲覧者から閲覧後の暗号文書ファイルが受信されたとき、閲覧した文書閲覧者を識別するための閲覧者ＩＤを暗号文書ファイルに挿入してもよい。【００１６】
この装置は、最初に文書ファイルを閲覧すべき文書閲覧者の通信アドレス宛に、前暗号文書ファイルとともに回覧順序情報を送信してもよい。【００１７】
本発明の別の態様は、文書閲覧者に対応する通信アドレスを割り当てられた上で、文書処理装置と通信ネットワークを介して接続される文書閲覧装置である。この装置は、文書処理装置から送信された暗号文書ファイルと回覧順序情報を受信し、秘密鍵データにより暗号文書ファイルの少なくとも一部を復号してもよい。そして、回覧順序情報を参照して、文書ファイルを次に閲覧すべき文書閲覧者の通信アドレス宛に、復号された後の暗号文書ファイルを回覧順序情報と共に送信してもよい。【００１８】
本発明の別の態様も、文書閲覧者に対応する通信アドレスを割り当てられた上で、先述の文書閲覧装置と通信ネットワークを介して接続される別の文書閲覧装置である。この装置は、先述の文書閲覧装置から送信された暗号文書ファイルと回覧順序情報を受信し、秘密鍵データにより暗号文書ファイルの少なくとも一部を復号してもよい。そして、回覧順序情報を参照して、文書ファイルを次に閲覧すべき文書閲覧者の通信アドレス宛に、復号された後の暗号文書ファイルを送信してもよい。【００１９】
また、この装置は、復号された後の暗号文書ファイルの内容を画面表示させるとともに、暗号文書ファイルの内容を確認したことを示すための文書閲覧者による入力を受け付け、確認の入力が受け付けられたことを契機として、暗号文書ファイルの内容が確認された旨を示す確認情報を、文書閲覧装置に送信してもよい。【００２０】
これらの態様によれば、文書管理装置が送信した暗号文書ファイルは、文書閲覧装置間で順次回覧されることになる。このとき、文書管理装置のユーザは、確認情報の受信によって、暗号文書ファイルの閲覧状況を把握できる。【００２１】
本発明の別の態様は、文書処理方法である。この方法は、暗号化対象となる文書ファイルの内容を画面表示させるステップと、画面表示された文書ファイルに対し文書作成者から暗号化対象データの範囲を指定するための入力を受け付けるステップと、文書作成者から暗号化対象データの閲覧対象者となる文書閲覧者を指定するための入力を受け付けるステップと、文書閲覧者が有する秘密鍵データに対応する公開鍵データを記憶する記録媒体を検索することにより、指定された文書閲覧者の秘密鍵データに対応する公開鍵データを検出するステップと、検出された公開鍵データにより暗号化対象データを公開鍵暗号方式にて暗号化することにより暗号データを生成するステップと、文書ファイルにおいて指定された暗号化対象データを、生成された暗号データに置換することにより暗号文書ファイルを生成するステップと、を備える。【００２２】
本態様によっても、文書管理においてセキュリティとユーザの利便性を両立させる上で効果がある。【００２３】
なお、以上の構成要素の任意の組合せや、本発明の構成要素や表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体、データ構造などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２４】
本発明によれば、効率的な文書ファイル管理技術を提供できる。
【図面の簡単な説明】
【００２５】
【図１】前提技術に係る文書処理装置の構成を示す図である。
【図２】文書処理装置により編集されるＸＭＬ文書の例を示す図である。
【図３】図２に示したＸＭＬ文書をＨＴＭＬで記述された表にマッピングする例を示す図である。
【図４（ａ）】図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す図である。
【図４（ｂ）】図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す図である。
【図５】図２に示したＸＭＬ文書を、図３に示した対応によりＨＴＭＬにマッピングして表示した画面の例を示す図である。
【図６】ユーザが定義ファイルを生成するために、定義ファイル生成部がユーザに提示するグラフィカルユーザインターフェースの例を示す図である。
【図７】定義ファイル生成部により生成された画面レイアウトの他の例を示す図である。
【図８】文書処理装置によるＸＭＬ文書の編集画面の一例を示す図である。
【図９】文書処理装置により編集されるＸＭＬ文書の他の例を示す図である。
【図１０】図９に示した文書を表示した画面の例を示す図である。
【図１１】稟議システムのハードウェア構成図である。
【図１２】文書処理装置の機能ブロック図である。
【図１３】文書閲覧装置の機能ブロック図である。
【図１４】発議者が作成したソースファイルを示す図である。
【図１５】作成したソースファイルを所定のスタイルシートに基づく体裁にて表示させた作成時編集画面を示す図である。
【図１６】無権限者が稟議書ファイルを取得したときの閲覧時におけるソースファイルを示す図である。
【図１７】図１６に示すソースファイルを所定のスタイルシートに基づく体裁にて表示させた閲覧画面を示す図である。
【図１８】閲覧レベル１の稟議者が取得したソースファイルを示す図である。
【図１９】図１８に示すソースファイルを所定のスタイルシートに基づく体裁にて表示させた閲覧画面を示す図である。
【図２０】閲覧レベル２の稟議者が取得したソースファイルを示す図である。
【図２１】図２０に示すソースファイルを所定のスタイルシートに基づく体裁にて表示させた閲覧画面を示す図である。
【図２２】閲覧レベル３の稟議者が取得したソースファイルを示す図である。
【図２３】図２２に示すソースファイルを所定のスタイルシートに基づく体裁にて表示させた閲覧画面を示す図である。
【図２４】稟議書ファイルの暗号化処理の過程を示すフローチャートである。
【図２５】稟議書ファイルの回覧過程を示すシーケンス図である。
【符号の説明】
【００２６】
２０  文書処理装置、２２  主制御ユニット、２４  編集ユニット、３０  ＤＯＭユニット、３２  ＤＯＭ提供部、３４  ＤＯＭ生成部、３６  出力部、４０  ＣＳＳユニット、４２  ＣＳＳ解析部、４４  ＣＳＳ提供部、４６  レンダリング部、５０  ＨＴＭＬユニット、５２，６２  制御部、５４，６４  編集部、５６，６６  表示部、６０  ＳＶＧユニット、７２  文書取得部、７４  名前空間ＵＲＩ取得部、７６  定義ファイル名生成部、８０  ＶＣユニット、８２  マッピング部、８４  定義ファイル取得部、８６  定義ファイル生成部、１００  稟議システム、２００  文書処理装置、２０２  作成インタフェース処理部、２０４  通信部、２０６  データ処理部、２０８  データ格納部、２１０  文書表示部、２１２  入力処理部、２１４  暗号化範囲指定部、２１６  閲覧レベル設定部、２１８  回覧順序設定部、２２０  文書通信部、２２２  公開鍵取得部、２２４  送信先特定部、２３０  データ抽出部、２３２  鍵検索部、２３４  暗号処理部、２４０  文書格納部、２４２  公開鍵格納部、２４４  回覧順序格納部、３００  文書閲覧装置、３０２  閲覧インタフェース処理部、３０４  データ処理部、３０６  文書通信部、３０８  データ格納部、３１０  文書表示部、３１２  入力処理部、３２０  データ抽出部、３２２  復号処理部、３３０  文書格納部、３３２  秘密鍵格納部。
【発明を実施するための最良の形態】
【００２７】
本発明の前提となる技術を説明してから、本発明の実施例を説明する。【００２８】
（前提技術）
図１は、前提技術に係る文書処理装置２０の構成を示す。文書処理装置２０は、文書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を処理するが、本前提技術では構造化文書の一例としてＸＭＬ文書を処理する例について説明する。文書処理装置２０は、主制御ユニット２２、編集ユニット２４、ＤＯＭユニット３０、ＣＳＳユニット４０、ＨＴＭＬユニット５０、ＳＶＧユニット６０、及び変換部の一例であるＶＣユニット８０を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。【００２９】
主制御ユニット２２は、プラグインのロードや、コマンド実行のフレームワークを提供する。編集ユニット２４は、ＸＭＬ文書を編集するためのフレームワークを提供する。文書処理装置２０における文書の表示及び編集機能は、プラグインにより実現されており、文書の種別に応じて必要なプラグインが主制御ユニット２２又は編集ユニット２４によりロードされる。主制御ユニット２２又は編集ユニット２４は、処理対象となるＸＭＬ文書の名前空間を参照して、ＸＭＬ文書がいずれのボキャブラリにより記述されているかを判別し、そのボキャブラリに対応した表示又は編集用のプラグインをロードして表示や編集を実行させる。例えば、文書処理装置２０には、ＨＴＭＬ文書の表示及び編集を行うＨＴＭＬユニット５０、ＳＶＧ文書の表示及び編集を行うＳＶＧユニット６０など、ボキャブラリ（タグセット）ごとに表示系及び編集系がプラグインとして実装されており、ＨＴＭＬ文書を編集するときはＨＴＭＬユニット５０が、ＳＶＧ文書を編集するときはＳＶＧユニット６０が、それぞれロードされる。後述するように、ＨＴＭＬとＳＶＧの双方の構成要素を含む複合文書が処理対象となっている場合は、ＨＴＭＬユニット５０とＳＶＧユニット６０の双方がロードされる。【００３０】
このような構成によれば、ユーザは、必要な機能のみを選択してインストールし、後から適宜機能を追加又は削除することができるので、プログラムを格納するハードディスクなどの記録媒体の記憶領域を有効に活用することができ、また、プログラム実行時にも、メモリの浪費を防ぐことができる。また、機能拡張性に優れており、開発主体としても、プラグインの形で新たなボキャブラリに対応することが可能なので開発が容易となり、ユーザとしても、プラグインの追加により容易かつ低コストにて機能を追加することができる。【００３１】
編集ユニット２４は、ユーザインターフェースを介してユーザから編集指示のイベントを受け付け、そのイベントを適切なプラグインなどに通知するともに、イベントの再実行（リドゥ）又は実行の取消（アンドゥ）などの処理を制御する。【００３２】
ＤＯＭユニット３０は、ＤＯＭ提供部３２、ＤＯＭ生成部３４、及び出力部３６を含み、ＸＭＬ文書をデータとして扱うときのアクセス方法を提供するために定められた文書オブジェクトモデル（Document Object Model：ＤＯＭ）に準拠した機能を実現する。ＤＯＭ提供部３２は、編集ユニット２４に定義されているインタフェースを満たすＤＯＭの実装である。ＤＯＭ生成部３４は、ＸＭＬ文書からＤＯＭツリーを生成する。後述するように、処理対象となるＸＭＬ文書が、ＶＣユニット８０により他のボキャブラリにマッピングされる場合は、マッピング元のＸＭＬ文書に対応するソースツリーと、マッピング先のＸＭＬ文書に対応するデスティネーションツリーが生成される。出力部３６は、例えば編集終了時に、ＤＯＭツリーをＸＭＬ文書として出力する。【００３３】
ＣＳＳユニット４０は、ＣＳＳ解析部４２、ＣＳＳ提供部４４、及びレンダリング部４６を含み、ＣＳＳに準拠した表示機能を提供する。ＣＳＳ解析部４２は、ＣＳＳの構文を解析するパーサの機能を有する。ＣＳＳ提供部４４は、ＣＳＳオブジェクトの実装であり、ＤＯＭツリーに対してＣＳＳのカスケード処理を行う。レンダリング部４６は、ＣＳＳのレンダリングエンジンであり、ＣＳＳを用いてレイアウトされるＨＴＭＬなどのボキャブラリで記述された文書の表示に用いられる。【００３４】
ＨＴＭＬユニット５０は、ＨＴＭＬにより記述された文書を表示又は編集する。ＳＶＧユニット６０は、ＳＶＧにより記述された文書を表示又は編集する。これらの表示／編集系は、プラグインの形で実現されており、それぞれ、文書を表示する表示部（Canvas）５６、６６、編集指示を含むイベントを送受信する制御部（Editlet）５２、６２、編集コマンドを受けてＤＯＭに対して編集を行う編集部（Zone）５４、６４を備える。制御部５２又は６２が外部からＤＯＭツリーの編集コマンドを受け付けると、編集部５４又は６４がＤＯＭツリーを変更し、表示部５６又は６６が表示を更新する。これらは、ＭＶＣ（Model-View-Controller）と呼ばれるフレームワークに類似する構成をとっており、概ね、表示部５６及び６６が「View」に、制御部５２及び６２が「Controller」に、編集部５４及び６４とＤＯＭの実体が「Model」に、それぞれ対応する。本前提技術の文書処理装置２０では、ＸＭＬ文書をツリー表示形式で編集するだけでなく、それぞれのボキャブラリに応じた編集を可能とする。例えば、ＨＴＭＬユニット５０は、ＨＴＭＬ文書をワードプロセッサに類似した方式で編集するためのユーザインターフェースを提供し、ＳＶＧユニット６０は、ＳＶＧ文書を画像描画ツールに類似した方式で編集するためのユーザインターフェースを提供する。【００３５】
ＶＣユニット８０は、マッピング部８２、定義ファイル取得部８４、及び定義ファイル生成部８６を含み、あるボキャブラリにより記述された文書を、他のボキャブラリにマッピングすることにより、マッピング先のボキャブラリに対応した表示編集用プラグインで文書を表示又は編集するためのフレームワークを提供する。本前提技術では、この機能を、ボキャブラリコネクション（Vocabulary Connection：ＶＣ）と呼ぶ。定義ファイル取得部８４は、マッピングの定義を記述したスクリプトファイルを取得する。この定義ファイルは、ノードごとに、ノード間の対応（コネクション）を記述する。このとき、各ノードの要素値や属性値の編集の可否を指定してもよい。また、ノードの要素値や属性値を用いた演算式を記述してもよい。これらの機能については、後で詳述する。マッピング部８２は、定義ファイル取得部８４が取得したスクリプトファイルを参照して、ＤＯＭ生成部３４にデスティネーションツリーを生成させ、ソースツリーとデスティネーションツリーの対応関係を管理する。定義ファイル生成部８６は、ユーザが定義ファイルを生成するためのグラフィカルユーザインターフェースを提供する。【００３６】
ＶＣユニット８０は、ソースツリーとデスティネーションツリーの間のコネクションを監視し、表示を担当するプラグインにより提供されるユーザインタフェースを介してユーザから編集指示を受け付けると、まずソースツリーの該当するノードを変更する。ＤＯＭユニット３０が、ソースツリーが変更された旨のミューテーションイベントを発行すると、ＶＣユニット８０は、そのミューテーションイベントを受けて、ソースツリーの変更にデスティネーションツリーを同期させるべく、変更されたノードに対応するデスティネーションツリーのノードを変更する。デスティネーションツリーを表示／編集するプラグイン、例えばＨＴＭＬユニット５０は、デスティネーションツリーが変更された旨のミューテーションイベントを受けて、変更されたデスティネーションツリーを参照して表示を更新する。このような構成により、少数のユーザにより利用されるローカルなボキャブラリにより記述された文書であっても、他のメジャーなボキャブラリに変換することで、文書を表示することができるとともに、編集環境が提供される。【００３７】
文書処理装置２０により文書を表示又は編集する動作について説明する。文書処理装置２０が処理対象となる文書を読み込むと、ＤＯＭ生成部３４が、そのＸＭＬ文書からＤＯＭツリーを生成する。また、主制御ユニット２２又は編集ユニット２４は、名前空間を参照して文書を記述しているボキャブラリを判別する。そのボキャブラリに対応したプラグインが文書処理装置２０にインストールされている場合は、そのプラグインをロードして、文書を表示／編集させる。プラグインがインストールされていない場合は、マッピングの定義ファイルが存在するか否かを確認する。定義ファイルが存在する場合、定義ファイル取得部８４が定義ファイルを取得し、その定義に従って、デスティネーションツリーが生成され、マッピング先のボキャブラリに対応するプラグインにより文書が表示／編集される。複数のボキャブラリを含む複合文書である場合は、後述するように、それぞれのボキャブラリに対応したプラグインにより、文書の該当箇所がそれぞれ表示／編集される。定義ファイルが存在しない場合は、文書のソース又はツリー構造を表示し、その表示画面において編集が行われる。【００３８】
図２は、処理対象となるＸＭＬ文書の例を示す。このＸＭＬ文書は、生徒の成績データを管理するために用いられる。ＸＭＬ文書のトップノードである構成要素「成績」は、配下に、生徒ごとに設けられた構成要素「生徒」を複数有する。構成要素「生徒」は、属性値「名前」と、子要素「国語」、「数学」、「理科」、「社会」を有する。属性値「名前」は、生徒の名前を格納する。構成要素「国語」、「数学」、「理科」、「社会」は、それぞれ、国語、数学、理科、社会の成績を格納する。例えば、名前が「Ａ」である生徒の国語の成績は「９０」、数学の成績は「５０」、理科の成績は「７５」、社会の成績は「６０」である。以下、この文書で使用されているボキャブラリ（タグセット）を、「成績管理ボキャブラリ」と呼ぶ。【００３９】
本前提技術の文書処理装置２０は、成績管理ボキャブラリの表示／編集に対応したプラグインを有しないので、この文書をソース表示、ツリー表示以外の方法で表示するためには、前述したＶＣ機能が用いられる。すなわち、成績管理ボキャブラリを、プラグインが用意された別のボキャブラリ、例えば、ＨＴＭＬやＳＶＧなどにマッピングするための定義ファイルを用意する必要がある。ユーザ自身が定義ファイルを作成するためのユーザインターフェースについては後述することにして、ここでは、既に定義ファイルが用意されているとして説明を進める。【００４０】
図３は、図２に示したＸＭＬ文書をＨＴＭＬで記述された表にマッピングする例を示す。図３の例では、成績管理ボキャブラリの「生徒」ノードを、ＨＴＭＬにおける表（「TABLE」ノード）の行（「TR」ノード）に対応づけ、各行の第１列には属性値「名前」を、第２列には「国語」ノードの要素値を、第３列には「数学」ノードの要素値を、第４列には「理科」ノードの要素値を、第５列には「社会」ノードの要素値を、それぞれ対応付ける。これにより、図２に示したＸＭＬ文書を、ＨＴＭＬの表形式で表示することができる。また、これらの属性値及び要素値は、編集可能であることが指定されており、ユーザがＨＴＭＬによる表示画面上で、ＨＴＭＬユニット５０の編集機能により、これらの値を編集することができる。第６列には、国語、数学、理科、社会の成績の加重平均を算出する演算式が指定されており、生徒の成績の平均点が表示される。このように、定義ファイルに演算式を指定可能とすることにより、より柔軟な表示が可能となり、編集時のユーザの利便性を向上させることができる。なお、第６列は、編集不可であることが指定されており、平均点のみを個別に編集することができないようにしている。このように、マッピング定義において、編集の可否を指定可能とすることにより、ユーザの誤操作を防ぐことができる。【００４１】
図４（ａ）及び図４（ｂ）は、図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す。この定義ファイルは、定義ファイル用に定義されたスクリプト言語により記述される。定義ファイルには、コマンドの定義と、表示のテンプレートが記述されている。図４（ａ）（ｂ）の例では、コマンドとして、「生徒の追加」と「生徒の削除」が定義されており、それぞれ、ソースツリーにノード「生徒」を挿入する操作と、ソースツリーからノード「生徒」を削除する操作が対応付けられている。また、テンプレートとして、表の第１行に「名前」、「国語」などの見出しが表示され、第２行以降に、ノード「生徒」の内容が表示されることが記述されている。ノード「生徒」の内容を表示するテンプレート中、「text-of」と記述された項は「編集可能」であることを意味し、「value-of」と記述された項は「編集不可能」であることを意味する。また、ノード「生徒」の内容を表示する行のうち、第６列には、「(src:国語 + src:数学 + src:理科 + src:社会) div 4」という計算式が記述されており、生徒の成績の平均が表示されることを意味する。【００４２】
図５は、図２に示した成績管理ボキャブラリで記述されたＸＭＬ文書を、図３に示した対応によりＨＴＭＬにマッピングして表示した画面の例を示す。表９０の各行には、左から、各生徒の名前、国語の成績、数学の成績、理科の成績、社会の成績、及び平均点が表示されている。ユーザは、この画面上で、ＸＭＬ文書を編集することができる。たとえば、第２行第３列の値を「７０」に変更すると、このノードに対応するソースツリーの要素値、すなわち、生徒「Ｂ」の数学の成績が「７０」に変更される。このとき、ＶＣユニット８０は、デスティネーションツリーをソースツリーに追従させるべく、デスティネーションツリーの該当箇所を変更し、ＨＴＭＬユニット５０が、変更されたデスティネーションツリーに基づいて表示を更新する。したがって、画面上の表においても、生徒「Ｂ」の数学の成績が「７０」に変更され、更に、平均点が「５５」に変更される。【００４３】
図５に示した画面には、図４（ａ）（ｂ）に示した定義ファイルに定義されたように、「生徒の追加」及び「生徒の削除」のコマンドがメニューに表示される。ユーザがこれらのコマンドを選択すると、ソースツリーにおいて、ノード「生徒」が追加又は削除される。このように、本前提技術の文書処理装置２０では、階層構造の末端の構成要素の要素値を編集するのみではなく、階層構造を編集することも可能である。このようなツリー構造の編集機能は、コマンドの形でユーザに提供されてもよい。また、例えば、表の行を追加又は削除するコマンドが、ノード「生徒」を追加又は削除する操作に対応づけられてもよい。また、他のボキャブラリを埋め込むコマンドがユーザに提供されてもよい。この表を入力用テンプレートとして、穴埋め形式で新たな生徒の成績データを追加することもできる。以上のように、ＶＣ機能により、ＨＴＭＬユニット５０の表示／編集機能を利用しつつ、成績管理ボキャブラリで記述された文書を編集することが可能となる。【００４４】
図６は、ユーザが定義ファイルを生成するために、定義ファイル生成部８６がユーザに提示するグラフィカルユーザインタフェースの例を示す。画面左側の領域９１には、マッピング元のＸＭＬ文書がツリー表示されている。画面右側の領域９２には、マッピング先のＸＭＬ文書の画面レイアウトが示されている。この画面レイアウトは、ＨＴＭＬユニット５０により編集可能となっており、ユーザは、画面右側の領域９２において、文書を表示するための画面レイアウトを作成する。そして、例えば、マウスなどのポインティングデバイスにより、画面左側の領域９１に表示されたマッピング元のＸＭＬ文書のノードを、画面右側の領域９２に表示されたＨＴＭＬによる画面レイアウト中へドラッグ＆ドロップ操作を行うことにより、マッピング元のノードと、マッピング先のノードとのコネクションが指定される。例えば、要素「生徒」の子要素である「数学」を、ＨＴＭＬ画面の表９０の第１行第３列にドロップすると、「数学」ノードと、３列目の「ＴＤ」ノードの間にコネクションが張られる。各ノードには、編集の可否が指定できるようになっている。また、表示画面中には、演算式を埋め込むこともできる。画面の編集が終わると、定義ファイル生成部８６は、画面レイアウトとノード間のコネクションを記述した定義ファイルを生成する。【００４５】
ＸＨＴＭＬ、ＭａｔｈＭＬ、ＳＶＧなどの主要なボキャブラリに対応したビューワやエディタは既に開発されているが、図２に示した文書のようなオリジナルなボキャブラリで記述された文書に対応したビューワやエディタを開発するのは現実的でない。しかし、上記のように、他のボキャブラリにマッピングするための定義ファイルを作成すれば、ビューワやエディタを開発しなくても、ＶＣ機能を利用して、オリジナルなボキャブラリで記述された文書を表示・編集することができる。【００４６】
図７は、定義ファイル生成部８６により生成された画面レイアウトの他の例を示す。図７の例では、成績管理ボキャブラリで記述されたＸＭＬ文書を表示するための画面に、表９０と、円グラフ９３が作成されている。この円グラフ９３は、ＳＶＧにより記述される。後述するように、本前提技術の文書処理装置２０は、一つのＸＭＬ文書内に複数のボキャブラリを含む複合文書を処理することができるので、この例のように、ＨＴＭＬで記述された表９０と、ＳＶＧで記述された円グラフ９３とを、一つの画面上に表示することができる。【００４７】
図８は、文書処理装置２０によるＸＭＬ文書の編集画面の一例を示す。図８の例では、一つの画面が複数に分割されており、それぞれの領域において、処理対象となるＸＭＬ文書を異なる複数の表示形式により表示している。領域９４には、文書のソースが表示されており、領域９５には、文書のツリー構造が表示されており、領域９６には、図５に示したＨＴＭＬにより記述された表が表示されている。これらのいずれの画面上においても、文書の編集が可能であり、いずれかの画面上でユーザが編集を行うと、ソースツリーが変更され、それぞれの画面の表示を担当するプラグインが、ソースツリーの変更を反映すべく画面を更新する。具体的には、ソースツリーの変更を通知するミューテーションイベントのリスナーとして、それぞれの編集画面の表示を担当するプラグインの表示部を登録しておき、いずれかのプラグイン又はＶＣユニット８０によりソースツリーが変更されたときに、編集画面を表示中の全ての表示部が、発行されたミューテーションイベントを受け取って画面を更新する。このとき、プラグインがＶＣ機能により表示を行っている場合は、ＶＣユニット８０がソースツリーの変更に追従してデスティネーションツリーを変更した後、変更されたデスティネーションツリーを参照してプラグインの表示部が画面を更新する。【００４８】
例えば、ソース表示及びツリー表示を、専用のプラグインにより実現している場合は、ソース表示用プラグインとツリー表示用プラグインは、デスティネーションツリーを用いず、直接ソースツリーを参照して表示を行う。この場合、いずれかの画面において編集が行われると、ソース表示用プラグインとツリー表示用プラグインは、変更されたソースツリーを参照して画面を更新し、領域９６の画面を担当しているＨＴＭＬユニット５０は、ソースツリーの変更に追従して変更されたデスティネーションツリーを参照して画面を更新する。【００４９】
ソース表示及びツリー表示は、ＶＣ機能を利用して実現することもできる。すなわち、ソース、ツリー構造をＨＴＭＬによりレイアウトし、そのＨＴＭＬにＸＭＬ文書をマッピングして、ＨＴＭＬユニット５０により表示してもよい。この場合、ソース形式、ツリー形式、表形式の３つのデスティネーションツリーが生成されることになる。いずれかの画面において編集が行われると、ＶＣユニット８０は、ソースツリーを変更した後、ソース形式、ツリー形式、表形式の３つのデスティネーションツリーをそれぞれ変更し、ＨＴＭＬユニット５０は、それらのデスティネーションツリーを参照して、３つの画面を更新する。【００５０】
このように、一つの画面上に複数の表示形式で文書を表示することにより、ユーザの利便性を向上させることができる。例えば、ユーザは、ソース表示又はツリー表示により文書の階層構造を把握しつつ、表９０などを用いて視覚的に分かりやすい形式で文書を表示し、編集することができる。上記の例では、一つの画面を分割して複数の表示形式による画面を同時に表示したが、一つの画面に一つの表示形式による画面を表示し、表示形式をユーザの指示により切り替え可能としてもよい。この場合、主制御ユニット２２が、ユーザから表示形式の切り替え要求を受け付け、各プラグインに指示して表示を切り替える。【００５１】
図９は、文書処理装置２０により編集されるＸＭＬ文書の他の例を示す。図９に示したＸＭＬ文書では、ＳＶＧ文書の「foreignObject」タグの中にＸＨＴＭＬ文書が埋め込まれており、さらに、ＸＨＴＭＬ文書の中にＭａｔｈＭＬで記述された数式が入っている。このような場合、編集ユニット２４が、名前空間を参照して、適切な表示系に描画作業を振り分ける。図９の例では、編集ユニット２４は、まず、ＳＶＧユニット６０に四角形を描画させ、つづいて、ＨＴＭＬユニット５０にＸＨＴＭＬ文書を描画させる。さらに、図示しないＭａｔｈＭＬユニットに、数式を描画させる。こうして、複数のボキャブラリを包含する複合文書が適切に表示される。表示結果を図１０に示す。【００５２】
文書編集中、カーソル（キャリッジ）の位置に応じて、表示されるメニューを切り替えてもよい。すなわち、カーソルが、ＳＶＧ文書が表示された領域内に存在するときは、ＳＶＧユニット６０が提供するメニュー、又はＳＶＧ文書をマッピングするための定義ファイルに定義されたコマンドを表示し、カーソルが、ＸＨＴＭＬ文書が表示された領域内に存在するときは、ＨＴＭＬユニット５０が提供するメニュー、又はＸＨＴＭＬ文書をマッピングするための定義ファイルに定義されたコマンドを表示する。これにより、編集位置に応じて適切なユーザインターフェースを提供することができる。【００５３】
複合文書において、あるボキャブラリに対応する適切なプラグイン又はマッピング定義ファイルがなかった場合は、そのボキャブラリにより記述された部分は、ソース表示又はツリー表示されてもよい。従来、ある文書に他の文書を埋め込んだ複合文書を開くとき、埋め込まれた文書を表示するアプリケーションがインストールされていないと、その内容を表示することができなかったが、本前提技術では、表示用のアプリケーションが存在しなくても、テキストデータにより構成されたＸＭＬ文書をソース表示又はツリー表示することにより内容を把握することができる。これは、テキストベースであるＸＭＬなどの文書ならではの特徴といえる。【００５４】
データがテキストベースで記述されることの他の利点として、例えば、複合文書中の、あるボキャブラリにより記述される部分において、同一文書内の他のボキャブラリで記述された部分のデータを参照してもよい。また、文書内で検索を実行する時に、ＳＶＧなどの図に埋め込まれた文字列も検索対象とすることができる。【００５５】
あるボキャブラリにより記述された文書内に、他のボキャブラリのタグを用いてもよい。このＸＭＬ文書は、妥当（valid）ではないが、整形式（well-formed）であれば、有効なＸＭＬ文書として処理可能である。この場合、挿入された他のボキャブラリのタグは、定義ファイルによりマッピングされてもよい。例えば、ＸＨＴＭＬ文書中に、「重要」、「最重要」などのタグを使用し、これらのタグで囲まれた部分を強調表示してもよいし、重要度の順にソートして表示してもよい。【００５６】
図１０に示した編集画面において、ユーザにより文書が編集されると、編集された部分を担当するプラグイン又はＶＣユニット８０がソースツリーを変更する。ソースツリーには、ノードごとにミューテーションイベントのリスナーを登録できるようになっており、通常は、各ノードが属するボキャブラリに対応したプラグインの表示部又はＶＣユニット８０がリスナーとして登録される。ＤＯＭ提供部３２は、ソースツリーが変更されると、変更されたノードから上位の階層へたどって、登録されたリスナーがあれば、そのリスナーへミューテーションイベントを発行する。例えば、図９に示した文書において、＜ｈｔｍｌ＞ノードの下位のノードが変更された場合、＜ｈｔｍｌ＞ノードにリスナーとして登録されたＨＴＭＬユニット５０にミューテーションイベントが通知されるとともに、その上位の＜ｓｖｇ＞ノードにリスナーとして登録されたＳＶＧユニット６０にもミューテーションイベントが通知される。このとき、ＨＴＭＬユニット５０は、変更されたソースツリーを参照して表示を更新する。ＳＶＧユニット６０は、自身のボキャブラリに属するノードが変更されていないので、ミューテーションイベントを無視してもよい。【００５７】
編集の内容によっては、ＨＴＭＬユニット５０による表示の更新に伴って、全体のレイアウトが変わる可能性がある。この場合は、画面のレイアウトを管理する構成、例えば最上位のノードの表示を担当するプラグインにより、プラグインごとの表示領域のレイアウトが更新される。例えば、ＨＴＭＬユニット５０による表示領域が以前より大きくなった場合、ＨＴＭＬユニット５０は、まず自身の担当する部分を描画して、表示領域の大きさを決定する。そして、画面のレイアウトを管理する構成に、変更後の表示領域の大きさを通知し、レイアウトの更新を依頼する。画面のレイアウトを管理する構成は、通知を受けて、プラグインごとの表示領域を再レイアウトする。こうして、編集された部分の表示が適切に更新されるとともに、画面全体のレイアウトが更新される。【００５８】
（本実施例）
まず、本実施例における文書処理装置が採用する公開鍵暗号方式の概要を説明する。その上で、本実施例における文書処理装置の構成および作用を説明する。
公開鍵暗号方式は、暗号化用の鍵と復号用の鍵が異なる点に特徴がある。公開鍵暗号方式には、ＲＳＡ（Rivest Shamir Adleman）暗号や、ラビン（Rabin）暗号、エルガマル（Elgamal）暗号など、さまざまな実用方式がある。これらのいずれもにおいても、公開鍵および秘密鍵という一対の鍵によって暗号化処理と復号処理が実現される。公開鍵暗号方式において、公開鍵で暗号化したデータは秘密鍵でしか復号できない。また、秘密鍵で暗号化したデータは公開鍵でしか復号できない。すなわち、公開鍵で暗号化したデータは、同じ公開鍵でも復号できず、秘密鍵で暗号化したデータも秘密鍵では復号できない。【００５９】
実際の応用例として、ユーザは自己の公開鍵データをネットワーク上に公開する。また、この公開鍵データと対の関係にある秘密鍵データを非公開状態にて保持する。このユーザにデータを送信したいユーザは、この公開鍵データを取得する。送信側のユーザはこの公開鍵にてデータを暗号化し、対応する秘密鍵の持ち主である受信側のユーザに暗号データを送信する。結果として、秘密鍵を有する送信元ユーザしかこの暗号データを復号できない。送信側のユーザにとって必要なのは公開鍵データであり、受信側のユーザにとって必要なのは秘密鍵データである。すなわち、送信側のユーザと受信側のユーザは、パスワードのように「共通に管理すべき情報」を持つ必要がない。公開鍵暗号方式はセキュリティが高く、また、ユーザにとっての利便性も高いという優れた性質を有する。公開鍵データは、公開鍵サーバとよばれるサーバに公開される。送信側のユーザは、宛先ユーザ名に基づいて、対応する公開鍵を検索できる。このような公開鍵サーバによれば、送信側のユーザは、相手の公開鍵データが変更されても、それを意識することなく適切な公開鍵データを取得できる。
本実施例に示す文書処理装置は、この公開鍵暗号方式に基づいて文書ファイルを暗号化する。以下、稟議システムを例として説明する。【００６０】
図１１は、稟議システム１００のハードウェア構成図である。文書処理装置２００は、ＬＡＮ（Local Area Network）１０２を介して接続された文書閲覧装置３００ａ、文書閲覧装置３００ｂおよび文書閲覧装置３００ｃなどの複数の端末（以下、まとめて「文書閲覧装置３００」という）に文書ファイルを送信する。本実施例においては、この文書ファイルのことを「稟議書」または「稟議書ファイル」とよぶ。【００６１】
文書処理装置２００は、稟議書ファイルを登録する。文書作成者である発議者は、登録された稟議書ファイルに含まれる一部または全部のデータを、稟議者の閲覧権限に応じて暗号化する。
文書閲覧装置３００は、各稟議者に割り当てられた端末である。文書閲覧者である稟議者は、文書処理装置２００から送信された稟議書ファイルを自己の文書閲覧装置３００にて閲覧する。文書閲覧装置３００は、閲覧後の稟議書ファイルを文書処理装置２００に送信する。このとき、稟議者は閲覧した稟議書ファイルの内容を承認する旨、または、承認しない旨を稟議書ファイルに追記してもよい。文書処理装置２００は、文書閲覧装置３００から稟議書ファイルを受信すると、次の送信先を特定して再び稟議書ファイルを送信する。このようにして、稟議書ファイルは回覧される。【００６２】
次に、文書処理装置２００と文書閲覧装置３００の機能を説明する。
図１２は、文書処理装置２００の機能ブロック図である。文書処理装置２００および図１３に関連して説明する文書閲覧装置３００は、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子で実現でき、ソフトウェア的にはデータ送受信機能のあるプログラム等によって実現されるが、以下に説明する図１２および図１３ではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できる。文書処理装置２００は、ウェブサーバを含む構成であってもよいし、文書閲覧装置３００は、パーソナルコンピュータと、これにインストールされたウェブブラウザを含む構成であってもよい。【００６３】
文書処理装置２００は、作成インタフェース処理部２０２、通信部２０４、データ処理部２０６およびデータ格納部２０８を含む。作成インタフェース処理部２０２は、発議者が文書処理装置２００を操作するためのユーザインタフェース処理を担当する。データ処理部２０６は、発議者からの指示入力を作成インタフェース処理部２０２から取得し、稟議書ファイルに含まれるデータを処理する。通信部２０４は、文書閲覧装置３００と稟議書ファイルの送受信を行い、稟議書ファイルの回覧を制御する。データ格納部２０８は、各種のデータを格納する。【００６４】
データ格納部２０８は、文書格納部２４０、公開鍵格納部２４２および回覧順序格納部２４４を含む。
文書格納部２４０は、稟議書ファイルを格納する。文書格納部２４０は、暗号化される前の稟議書ファイルと暗号化された後の稟議書ファイルの両方を格納する。以下、両者を区別するために、前者を「平文稟議書ファイル」、後者を「暗号稟議書ファイル」ともよぶものとする。
公開鍵格納部２４２は、稟議者の公開鍵データを格納する。稟議者には、「閲覧レベル」とよばれるレベル設定がなされている。稟議書ファイルは、この閲覧レベルに応じて段階的にその内容が開示される。そして、この閲覧レベルに対応して秘密鍵データと公開鍵データが設定される。たとえば、閲覧レベルが「２」に設定されているレベル２稟議者の場合、レベル２に対応した秘密鍵データを保有する。閲覧レベルは、役職や職掌、職域など、さまざまな観点から設定されてよい。公開鍵格納部２４２は、これら各閲覧レベルに対応する公開鍵データを格納する。
回覧順序格納部２４４は、稟議書ファイルを複数の稟議者に回覧するための回覧順序情報を格納する。【００６５】
作成インタフェース処理部２０２は、文書表示部２１０と入力処理部２１２を含む。
文書表示部２１０は、文書格納部２４０に格納される稟議書ファイルを画面表示させる。本実施例において、稟議書ファイルはＸＭＬにて作成されている。文書表示部２１０は、稟議書ファイルをＸＭＬのソースファイルを表示させてもよいし、所定のスタイルシートに基づく体裁によって表示させてもよい。
入力処理部２１２は、発議者からの入力を受け付ける。入力処理部２１２は、暗号化範囲指定部２１４、閲覧レベル設定部２１６および回覧順序設定部２１８を含む。
暗号化範囲指定部２１４は、稟議書ファイルのうち、閲覧制限のために暗号化の対象とすべきデータの範囲の指定入力を検出する。閲覧レベル設定部２１６は、暗号化範囲指定部２１４によって検出された暗号化対象データに対し、発議者による閲覧レベル設定入力を検出する。暗号化範囲指定部２１４および閲覧レベル設定部２１６により受け付けられた暗号化対象データの範囲とそれに対応する閲覧レベルは、ＸＭＬタグとして稟議書ファイルに反映される。
回覧順序設定部２１８は、発議者から稟議書ファイルの回覧順序についての入力を受け付ける。入力された回覧順序情報は回覧順序格納部２４４に格納される。【００６６】
データ処理部２０６は、データ抽出部２３０、鍵検索部２３２および暗号処理部２３４を含む。
データ抽出部２３０は、暗号化範囲指定部２１４にて検出された暗号化対象データをメモリ上の稟議書ファイルとは異なる別領域にコピー転送する。鍵検索部２３２は、閲覧レベル設定部２１６にて検出された閲覧レベルに対応する公開鍵データを、公開鍵格納部２４２から検索する。暗号処理部２３４は、データ抽出部２３０が抽出した暗号化対象データを、鍵検索部２３２が検出した公開鍵データにより暗号化する。暗号処理部２３４は、平文稟議書ファイルに含まれる暗号化対象データを、暗号化した後のデータに置換することにより暗号稟議書ファイルを生成する。
データ処理部２０６は、稟議者により閲覧後の稟議書ファイルが返送されてくると、その稟議者を識別するための署名を稟議書ファイルに追記してもよい。なお、文書閲覧装置３００側にてこの署名を追記するとしてもよい。以下においては、文書閲覧装置３００側にて稟議者の署名を追記するものとして説明する。署名は、ブラウザ表示されてもよい。
なお、暗号化範囲指定部２１４が発議者から暗号化の対象とすべき範囲を指定するための入力を受け付けていない場合には、稟議書ファイルの全てのテキストデータ範囲が暗号化の対象となる。【００６７】
通信部２０４は、文書通信部２２０、公開鍵取得部２２２および送信先特定部２２４を含む。
文書通信部２２０は、暗号稟議書ファイルを文書閲覧装置３００に送信する。また、文書通信部２２０は、稟議者により閲覧された後の稟議書ファイルを文書閲覧装置３００から受信する。公開鍵取得部２２２は、ネットワーク上に公開される公開鍵データを取得する。たとえば、ＬＡＮ１０２には、閲覧レベルと公開鍵データを対応づけた公開鍵データベースが接続されてもよい。このとき、公開鍵取得部２２２は、閲覧レベル設定部２１６を介して指定された閲覧レベルに対応する公開鍵データをこの公開鍵データベースから取得してもよい。このような態様によれば、閲覧レベルにもとづく公開鍵データが差し替えられても、発議者はその変更を意識する必要がなくなる。
送信先特定部２２４は、回覧順序格納部２４４に格納される回覧順序情報にしたがって、文書通信部２２０が稟議書ファイルを送信すべき文書閲覧装置３００を特定する。
このようにして、平文稟議書ファイルは暗号稟議書ファイルに変換されて、稟議者間にて回覧される。【００６８】
図１３は、文書閲覧装置３００の機能ブロック図である。
文書閲覧装置３００は、閲覧インタフェース処理部３０２、データ処理部３０４、文書通信部３０６およびデータ格納部３０８を含む。
閲覧インタフェース処理部３０２は、稟議者が文書閲覧装置３００を操作するためのユーザインタフェース処理を担当する。データ処理部３０４は、稟議者からの指示入力を閲覧インタフェース処理部３０２から取得し、稟議書ファイルのデータを処理する。文書通信部３０６は、文書処理装置２００と稟議書ファイルを送受信する。データ格納部３０８は、各種のデータを格納する。【００６９】
データ格納部３０８は、文書格納部３３０および秘密鍵格納部３３２を含む。
文書格納部３３０は、文書通信部３０６により受信された暗号稟議書ファイルを格納する。秘密鍵格納部３３２は、稟議者の秘密鍵データを格納する。この秘密鍵データは稟議者に設定される閲覧レベルに対応した鍵データである。【００７０】
閲覧インタフェース処理部３０２は、文書表示部３１０と入力処理部３１２を含む。
文書表示部３１０は、文書格納部３３０に格納される暗号稟議書ファイルを画面表示させる。文書表示部３１０は、稟議書ファイルをＸＭＬのソースファイル形式にて表示させてもよいし、所定のスタイルシートに基づく体裁にて表示させてもよい。入力処理部３１２は、発議者からの入力を受け付ける。【００７１】
データ処理部３０４は、データ抽出部３２０と復号処理部３２２を含む。
データ抽出部３２０は、文書格納部３３０が格納する暗号稟議書ファイルに含まれるデータのうち、暗号データの場所を検出する。暗号稟議書ファイルにおける暗号データの箇所には、後述のサイファタグが挿入されている。データ抽出部３２０は、このサイファタグを目印として暗号データの位置および範囲を検出し、その暗号データをメモリにロードされている暗号稟議書ファイルとは別の領域にコピー転送する。
復号処理部３２２は、データ抽出部３２０により抽出された暗号データを秘密鍵格納部３３２が格納する秘密鍵データによって復号する。ただし、復号処理部３２２は、暗号稟議書ファイルにおいて指定されている閲覧レベルに対応した秘密鍵データを有しない限り、暗号データを復号できない。復号処理部３２２は、暗号稟議書ファイルに含まれる暗号データを、復号して平文データに置換する。文書通信部３０６は、この復号後の稟議書ファイルを文書閲覧装置３００に送信する。稟議書ファイルの受信時において、文書通信部３０６は稟議者の署名を稟議書ファイルに追記する。文書通信部３０６は、復号処理部３２２により復号された稟議書ファイルを文書閲覧装置３００に返送するが、再度公開鍵データによって暗号化した暗号稟議書ファイルを返送してもよい。
このようにして、文書閲覧装置３００から文書処理装置２００に送信された暗号稟議書ファイルは稟議者に閲覧された上で、文書閲覧装置３００に返送される。【００７２】
次に、稟議書ファイルについてＸＭＬにおけるソースファイルの記載例と、それに対応する画面表示例を示す。
図１４は、発議者が作成した作成時ソースファイル１１０を示す。作成時ソースファイル１１０において、発議者情報領域１０４は発議者を特定するための情報を示す。回覧順序情報領域１０６は、閲覧対象となる稟議者を特定するための情報を示す。稟議内容情報領域１０８は、稟議書の内容情報を示す。【００７３】
発議者情報領域１０４は、発議者の氏名と、発議者を特定するための署名を含む。ここでいう署名とは、稟議システム１００において、ユーザをユニークに識別するための情報である。
回覧順序情報領域１０６は、稟議者の氏名、閲覧レベルおよび署名を含む。ここでは、稟議者Ａ、稟議者Ｂおよび稟議者Ｃの順に稟議書ファイルが回覧される旨が設定されている。そして、稟議者Ａ、稟議者Ｂおよび稟議者Ｃの閲覧レベルは、それぞれ、「１」、「２」、「３」に設定されている。すなわち、閲覧レベルの低い稟議者から高い稟議者に稟議書ファイルが回覧される。文書通信部３０６は、稟議書ファイルを受信したときに、稟議書ファイルの当該欄に稟議者に対応した署名を追記する。【００７４】
稟議内容情報領域１０８には、サイファ（cipher）タグが含まれる。サイファタグは、ＸＭＬのタグと同様の形式にて暗号化対象データの範囲を示す。レベル１暗号化領域１１２は、閲覧レベル１のサイファタグ（以下、「レベル１タグ」ともよぶ）によって、暗号化対象とされる範囲を示す。すなわち、レベル１暗号化領域１１２に示す範囲内のデータは、暗号処理部２３４により閲覧レベル１に対応する公開鍵データによって暗号化される。また、レベル１暗号化領域１１２の内容は閲覧レベル１に対応する秘密鍵データによって復号されなければ、その内容が開示されない。【００７５】
レベル１暗号化領域１１２の内部において、レベル３暗号化領域１２４、レベル２暗号化領域１１４、レベル２暗号化領域１１６、レベル２暗号化領域１１８およびレベル２暗号化領域１２２にもそれぞれサイファタグが設定されている。レベル２暗号化領域１１４、レベル２暗号化領域１１６、レベル２暗号化領域１１８、レベル２暗号化領域１２２は、レベル２タグである。レベル３暗号化領域１２４は、レベル３タグである。このように、作成時ソースファイル１１０においては入れ子構造にて、暗号化対象データの範囲を設定可能である。
発議者は、作成時ソースファイル１１０に、サイファタグを記入することにより、暗号化対象データの範囲を指定する。発議者は、作成時ソースファイル１１０を所定のスタイルシートに基づく体裁にて表示させたあと、ＧＵＩ（Graphical User Interface）により、暗号化に関する指定を行ってもよい。次にその画面例を示す。【００７６】
図１５は、図１４の作成時ソースファイル１１０を所定のスタイルシートに基づく体裁にて表示させた作成時編集画面４００を示す。同図において発議者は、マウスポインタをドラッグして暗号化指定領域４０２を範囲指定している。ここでは「専務」という文字列が選択指定されている。マウスが右クリックされると、閲覧レベル選択メニュー４０４が表示される。発議者は閲覧レベル選択メニュー４０４から閲覧レベルを選択する。【００７７】
図１２に示した機能ブロックに対応づけて説明すると、暗号化範囲指定部２１４は暗号化指定領域４０２の範囲を特定する。データ抽出部２３０は、この「専務」というテキストデータをメモリ上にコピー転送する。閲覧レベル設定部２１６は、閲覧レベル選択メニュー４０４における選択を検出する。ここでは、閲覧レベル３が選択されている。鍵検索部２３２は、この閲覧レベル３に対応する公開鍵データを公開鍵格納部２４２から検出する。暗号処理部２３４は、データ抽出部２３０により抽出された文字列を鍵検索部２３２により検出された公開鍵データにより暗号化する。暗号処理部２３４は、暗号化された「専務」という文字列を、もとの稟議書ファイルにおける「専務」という平文文字列に差し替える。このようにして、暗号処理部２３４は、平文稟議書ファイルを暗号稟議書ファイルに変換する。【００７８】
図１６は、復号に必要な秘密鍵データを有しない文書閲覧者（以下、「無権限者」とよぶ）が稟議書ファイルを取得したときの閲覧時ソースファイル１２０を示す。文書閲覧装置３００が生成した暗号稟議書ファイルは、レベル１暗号化領域１１２に設定されたレベル１タグによって暗号化されている。無権限者は、レベル１暗号を復号するための秘密鍵データを有しないため、同図においてレベル１暗号化領域１１２の内容の閲覧が制限されている。作成時ソースファイル１１０に示した稟議書ファイルは稟議者Ａ、稟議者Ｂ、稟議者Ｃのみに回覧される。仮に、無権限者がこの稟議書ファイルを受信したとしても、公開鍵暗号方式によって内容が開示制限される。【００７９】
図１７は、図１６の閲覧時ソースファイル１２０を所定のスタイルシートに基づく体裁にて表示させた閲覧画面１３０を示す。閲覧時ソースファイル１２０においてレベル１暗号化領域１１２は復号されていないため、内容の閲覧が制限される。そのため、レベル２暗号化領域１２２に対応して、閲覧制限がかかっている旨を示す非開示アイコン１３２が表示されている。データ抽出部３２０は、稟議書ファイルのサイファタグを目印にして、暗号データの範囲を検出する。この暗号データを復号するための秘密鍵データがなければ、文書表示部３１０は該当箇所に非開示アイコン１３２を表示させる。【００８０】
図１８は、稟議者Ａが取得した閲覧時ソースファイル１４０を示す。文書通信部３０６は、暗号稟議書ファイルの受信時において、稟議者Ａ署名領域１４２に稟議者Ａの署名とその公開鍵データを追記する。稟議者Ａの文書閲覧装置３００が、閲覧後の稟議書ファイルを文書処理装置２００に送信したとき、データ処理部２０６が稟議者Ａの署名や公開鍵データを稟議書ファイルに追記してもよい。稟議者Ａ署名領域１４２により、この稟議書ファイルを閲覧状況を確認できる。また、これによって稟議書ファイルに対する閲覧や承認に関して、事後的に責任の所在を明確にしやすくなる。【００８１】
同図において、レベル１暗号化領域１１２は稟議者Ａの秘密鍵データによって復号可能である。稟議者Ａは、閲覧レベル１の稟議者であるからである。したがって、レベル１暗号化領域１１２の内容は稟議者Ａに開示される。しかし、レベル２暗号化領域１１６、レベル２暗号化領域１１８、レベル２暗号化領域１２２およびレベル３暗号化領域１２４は、閲覧レベル２以上の閲覧権限が必要であるため、稟議者Ａには開示されない。【００８２】
図１９は、図１８の閲覧時ソースファイル１４０を所定のスタイルシートに基づく体裁にて表示させた閲覧時ソースファイル１５０を示す。閲覧時ソースファイル１４０においてレベル１暗号化領域１１２は復号されているが、レベル２暗号化領域１１６、レベル２暗号化領域１１８、レベル２暗号化領域１２２およびレベル３暗号化領域１２４は復号されていないため、閲覧が制限される。これらの箇所は稟議者Ａには開示されない。非開示アイコン１５２はレベル３暗号化領域１２４、非開示アイコン１５４はレベル２暗号化領域１１４、非開示アイコン１５６はレベル２暗号化領域１１６、非開示アイコン１５８はレベル２暗号化領域１１８、非開示アイコン１６４はレベル２暗号化領域１２２にそれぞれ対応する。【００８３】
図２０は、稟議者Ｂが取得した閲覧時ソースファイル１６０を示す。文書通信部３０６は、稟議書ファイルの受信時において、稟議者Ｂ署名領域１６２に稟議者Ｂの署名とその公開鍵データを追記する。稟議者Ｂは、レベル２暗号を復号することができる。そのため、レベル２暗号によって暗号化されていたデータが、新たに稟議者Ｂに開示される。しかし、レベル３暗号化領域１２４は、閲覧レベル３の閲覧権限が必要であるため、稟議者Ｂには開示されない。【００８４】
図２１は、図２０の閲覧時ソースファイル１６０を所定のスタイルシートに基づく体裁にて表示させた閲覧画面１７０を示す。閲覧画面１７０において、レベル３暗号化領域１２４は復号されず、閲覧が制限される。そのため、レベル３暗号化領域１２４の内容は稟議者Ｂには開示されない。非開示アイコン１５２はレベル３暗号化領域１２４に対応する。【００８５】
図２２は、稟議者Ｃが取得した閲覧時ソースファイル１８０を示す。文書通信部３０６は、稟議書ファイルの受信時において、稟議者Ｃ署名領域１８２に稟議者Ｃの署名とその公開鍵データを追記する。稟議者Ｃは、レベル３暗号を復号できる。そのため、レベル３暗号によって暗号化されていたデータが、新たに稟議者Ｃに開示される。したがって、稟議者Ｃに対しては稟議書ファイルには開示制限がなされない。【００８６】
図２３は、図２２の閲覧時ソースファイル１８０を所定のスタイルシートに基づく体裁にて表示させた閲覧画面１９０を示す。閲覧時ソースファイル１８０において、内容閲覧制限はかかっていない。そのため、閲覧画面１９０においては稟議書ファイルのすべての内容が開示される。
このように、暗号稟議書ファイルは、稟議者間を回覧されていく過程で閲覧制限が段階的に解除される。【００８７】
次に、稟議書ファイルの暗号化や暗号稟議書ファイルの回覧における処理をフローチャート等を用いて説明する。
図２４は、稟議書ファイルの暗号化処理の過程を示すフローチャートである。まず、文書表示部２１０は、文書格納部２４０から対象となる稟議書ファイルを取得して画面表示させる（Ｓ１０）。ここでは、図１５で示したような所定のスタイルシートに基づく体裁にて表示される場合について説明する。発議者は、表示された稟議書ファイルから暗号化対象となるデータの範囲を指定する（Ｓ１２）。発議者は、その指定された暗号化対象データに対する閲覧レベルを設定する（Ｓ１４）。【００８８】
データ抽出部２３０は、指定された暗号化対象データをメモリの別領域にコピー転送するとともに、稟議書ファイルにサイファタグを挿入する（Ｓ１６）。鍵検索部２３２は、Ｓ１４において指定された閲覧レベルに対応する公開鍵データを公開鍵格納部２４２から検出する（Ｓ１８）。すべての暗号化対象データについて指定をユーザが終えれば（Ｓ２０のＹ）、暗号処理部２３４は暗号化処理を実行して、暗号稟議書ファイルを生成する（Ｓ２２）。指定が完了していなければ（Ｓ２０のＮ）、処理はＳ１２に戻る。【００８９】
図２５は、稟議書ファイルの回覧過程を示すシーケンス図である。発議者は暗号稟議書ファイルを作成すると、稟議者間における回覧順序情報を回覧順序設定部２１８を介して設定する。この回覧順序情報は、回覧順序格納部２４４に格納される。回覧順序設定部２１８は、設定された回覧順序を稟議書ファイルそのものに追記してもよい。送信先特定部２２４は、この回覧順序情報を参照して、生成された暗号稟議書ファイルの送信先を特定する（Ｓ３０）。文書通信部２２０は、送信先特定部２２４から指示された文書閲覧装置３００に暗号稟議書ファイルを送信する（Ｓ３２）。ここでは、文書閲覧装置３００ａが送信先として特定されている。【００９０】
文書閲覧装置３００ａの文書通信部３０６はこの暗号稟議書ファイルを受信する。文書通信部３０６は、受信時おいて暗号稟議書ファイルに稟議者の署名をする（Ｓ３３）。データ抽出部３２０は、稟議書ファイルにおいて暗号化されている箇所をサイファタグに基づいて検出する。復号処理部３２２は、秘密鍵格納部３３２に格納される秘密鍵データにて、復号処理を実行する（Ｓ３４）。文書表示部３１０は、復号された稟議書ファイルを、画面表示させる（Ｓ３６）。文書通信部３０６は、閲覧された暗号稟議書ファイルを文書処理装置２００に送信する（Ｓ３８）。【００９１】
文書通信部２２０は、この文書格納部３３０ａから送信された暗号稟議書ファイルを受信する。送信先特定部２２４は、回覧順序情報を参照して次の送信先を特定する（Ｓ４０）。文書通信部２２０は、送信先特定部２２４から指示された文書閲覧装置３００ｂに暗号稟議書ファイルを送信する（Ｓ４２）。文書閲覧装置３００ｂの文書通信部３０６は、この暗号稟議書ファイルを受信すると、稟議者の署名を追記する（Ｓ４４）。復号処理部３２２は、この暗号稟議書ファイルにおいて暗号化されているデータを、秘密鍵データによって復号する（Ｓ４６）。文書表示部３１０は、復号された暗号稟議書ファイルを画面表示させる（Ｓ４８）。文書通信部３０６は、閲覧された暗号稟議書ファイルを文書処理装置２００に送信する（Ｓ５０）。以上に示した処理を繰り返すことにより、指定された回覧順序にて暗号稟議書ファイルの回覧が実行される。【００９２】
別例として、文書処理装置２００は、Ｓ３２において回覧順序情報も文書閲覧装置３００ａに送信してもよい。文書閲覧装置３００ａは、回覧順序情報を参照して、次に暗号稟議書ファイルを送信すべき文書閲覧装置３００ｂを特定する。文書閲覧装置３００ａは、表示処理（Ｓ３６）の終了後に、文書処理装置２００ではなく、文書閲覧装置３００ｂに暗号稟議書ファイルと回覧順序情報を送信する。暗号稟議書ファイルと回覧順序情報を受信した文書処理装置３００ｂは、回覧順序情報を参照して、更に、次に暗号稟議書ファイルを送信すべき文書閲覧装置３００ｃ（図示せず）を特定する。こうして、複数の文書閲覧装置が回覧順序情報にしたがって、暗号稟議書ファイルを回覧させてもよい。【００９３】
文書閲覧装置３００のユーザである稟議者は、稟議書ファイルの内容を閲覧したこと、内容を承認することなどを示す入力をしてもよい。入力処理部３１２は、このような入力がなされたことを文書通信部３０６に通知する。そして、文書通信部３０６は、このような通知を受けたときに確認情報として、文書処理装置２００に送信する。これにより、文書管理装置にて稟議書ファイルの閲覧状況や承認状況をリアルタイムに監視できる。【００９４】
以上実施例をもとに説明した。本実施例によれば、発議者は暗号化したい箇所とその閲覧レベルを指定するだけのユーザインタフェースにより、稟議書ファイルを暗号化することができる。また、稟議者には自動的に閲覧レベルに応じた情報開示がなされるため、ユーザインタフェース上における負担がかからない。また、セキュリティ性が高い公開鍵暗号方式により、情報を閲覧対象者に応じて段階的に開示するため、重要な情報を効果的に管理することができる。公開鍵データが差し替えられてもユーザインタフェース上はほとんど影響を受けないという優位性もある。さらに、サイファタグの定義によって、ＸＭＬなどのマークアップ言語のスキーム内にて本発明を実施できるため、既存のシステムに対する親和性が高い。【００９５】
以上、本発明を実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。【００９６】
たとえば、本実施例においては、閲覧レベルごとに鍵データを用意する場合を示したが、文書閲覧者ごとに鍵データを用意してもよい。この場合、文書作成者は閲覧レベルの設定ではなく、閲覧対象者そのものを設定してもよい。
また、本実施例においては、稟議者Ａは閲覧レベル１の秘密鍵データ、稟議者Ｂは閲覧レベル２の秘密鍵データというように、閲覧レベルに応じた秘密鍵データを有する場合を示した。この態様に代えて、稟議者Ｂは閲覧レベル１と閲覧レベル２の２種類の秘密鍵データを有してもよい。このような態様によれば、稟議者Ｂは、稟議者Ａが閲覧していない場合であっても、閲覧レベル２までのデータを閲覧することができる。
文書閲覧者が文書ファイルを暗号化できてもよい。たとえば、稟議書ファイルを閲覧した稟議者は、稟議書ファイルに自己のコメント等を追記して、そのコメントデータに閲覧制限を設定してもよい。
また、パスワードなどの知識認証、指紋や虹彩などの生体認証といったさまざまな認証方法を組み合わせれば、よりセキュリティを強固にすることができる。
【産業上の利用可能性】
【００９７】
本発明によれば、効率的な文書ファイル管理技術を提供できる。
【図１】
2006001268.tif 000002
【図２】
2006001268.tif 000003
【図３】
2006001268.tif 000004
【図４（ａ）】
2006001268.tif 000005
【図４（ｂ）】
2006001268.tif 000006
【図５】
2006001268.tif 000007
【図６】
2006001268.tif 000008
【図７】
2006001268.tif 000009
【図８】
2006001268.tif 000010
【図９】
2006001268.tif 000011
【図１０】
2006001268.tif 000012
【図１１】
2006001268.tif 000013
【図１２】
2006001268.tif 000014
【図１３】
2006001268.tif 000015
【図１４】
2006001268.tif 000016
【図１５】
2006001268.tif 000017
【図１６】
2006001268.tif 000018
【図１７】
2006001268.tif 000019
【図１８】
2006001268.tif 000020
【図１９】
2006001268.tif 000021
【図２０】
2006001268.tif 000022
【図２１】
2006001268.tif 000023
【図２２】
2006001268.tif 000024
【図２３】
2006001268.tif 000025
【図２４】
2006001268.tif 000026
【図２５】
2006001268.tif 000027
【国際調査報告】
2006001268.tif 000028
2006001268.tif 000029