(57)【要約】      （修正有）【課題】自己解凍形式の実行可能ファイルにおいて、実行可能ファイル自身を自動的に更新するためのデータ構造を提供することを目的とする。【解決手段】自己解凍形式の実行可能プログラムである自己解凍プログラム２００のデータ構造は、暗号文書１０、展開プログラム２０、および更新プログラム３０を、データとして含む。ＰＣ１００は、展開プログラム２０を実行して、一時フォルダを作成して暗号文書１０をコピーする展開手段として機能する。また、展開手段は、ＰＣ１００に更新プログラム３０を実行させる。ＰＣ１００は、更新プログラム３０を実行して、自己解凍プログラム２００のデータ構造を更新する更新手段３１として機能する。【選択図】図５
2008204344.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを展開手段として機能させる展開プログラムと、
前記コンピュータを更新手段として機能させる更新プログラムと、
文書データと
を含む、自己解凍形式のデータ構造であって、
前記展開手段は、前記データ構造に含まれる前記文書データを展開してそのコピーを作成するともに、前記更新手段を起動し、
前記更新手段は、前記文書データの前記コピーが更新されると、これに応じて前記データ構造に含まれる前記文書データを更新する
自己解凍形式のデータ構造。
【請求項２】
前記文書データおよび前記文書データのコピーは、暗号鍵を用いて暗号化された文書データであり、
前記データ構造は、
前記暗号鍵と、
前記暗号鍵を用いて前記文書データを暗号化する、暗号化手段として前記コンピュータを機能させる、暗号化プログラムと、
前記暗号鍵を用いて前記暗号化された文書データを復号する、復号手段として前記コンピュータを機能させる、復号プログラムと、
前記文書データの利用方法を制限するデータである利用権と、
前記利用権に応じて前記文書データの利用方法を制限する、制限手段として前記コンピュータを機能させる制限プログラムと
を含む、請求項１に記載のデータ構造。
【請求項３】
前記データ構造は、定義済パスワードに関連するデータを含み、
前記展開手段は、入力パスワードを受け取るとともに、前記入力パスワードと前記定義済パスワードとが一致するかどうかを判断し、
一致しない場合、前記展開手段は、前記文書データの前記コピーを作成しない
請求項１に記載のデータ構造。
【請求項４】
コンピュータを自己解凍手段として機能させる、自己解凍プログラムであって、
前記自己解凍プログラムは、
前記コンピュータを展開手段として機能させる展開プログラムと、
前記コンピュータを更新手段として機能させる更新プログラムと、
文書データと
を含み、
前記展開手段は、前記自己解凍プログラムに含まれる前記文書データを展開してそのコピーを作成するとともに、前記更新手段を起動し、
前記更新手段は、前記文書データの前記コピーが更新されると、これに応じて前記自己解凍プログラムに含まれる前記文書データを更新する
自己解凍プログラム。
【請求項５】
自己解凍形式のファイルを格納するための記憶手段を備えるコンピュータであって、
前記自己解凍形式のファイルは、
前記コンピュータを展開手段として機能させる展開プログラムと、
前記コンピュータを更新手段として機能させる更新プログラムと、
文書データと
を含み、
前記展開手段は、前記自己解凍プログラムに含まれる前記文書データを展開してそのコピーを作成するとともに、前記更新手段を起動し、
前記更新手段は、前記文書データの前記コピーが更新されると、これに応じて前記自己解凍形式のファイルに含まれる前記文書データを更新する
コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己解凍形式のデータ構造、自己解凍プログラム、およびコンピュータに関する。
【背景技術】
【０００２】
コンピュータ上の複数のファイルを一つにまとめるための技術として、自己解凍形式のデータ構造を持つ実行可能ファイルが知られている。
この実行可能ファイルは、複数のファイルと、実行可能ファイル自身からこれらのファイルを抽出して展開するためのプログラムとを、一つのファイルとしてまとめたものである。このようなデータ構造のファイルをプログラムとして実行することによって、コンピュータは、ファイルに含まれているファイルを元の形に復元する。
このような自己解凍形式のファイルのデータ構造の例としては、特許文献１に示されるようなものがある。
【０００３】
【特許文献１】特開２００３−９９３０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のデータ構造では、実行可能ファイル自身の更新ができないため利便性の点で問題があった。
たとえば特許文献１の図１に示されるカプセル化文書のデータ構造では、動作プログラムがテキスト情報およびメディア情報を抽出して参照できるようにするが、利用者の操作によってこれらの内容が変更された際に、その変更をもとのカプセル化文書に反映させる手段がない。
このため、従来のデータ構造の実行可能ファイルを更新したい場合、利用者は、更新された内容をいったん別のファイルとして保存し、これに基づいて新たに実行可能ファイルを作成しなおす必要があり、手間がかかる。
また、利用者はこのために実行可能ファイルを作成するためのプログラムを別途準備する必要があり、この点でも手間がかかる。
【０００５】
この発明は、このような問題点を解決するためになされたものであり、自己解凍形式の実行可能ファイルにおいて、実行可能ファイル自身を自動的に更新するためのデータ構造、プログラム、およびコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の問題点を解決するため、この発明に係る自己解凍形式のデータ構造は、コンピュータを展開手段として機能させる展開プログラムと、コンピュータを更新手段として機能させる更新プログラムと、文書データとを含む、自己解凍形式のデータ構造であって、展開手段は、データ構造に含まれる文書データを展開してそのコピーを作成するともに、更新手段を起動し、更新手段は、文書データのコピーが更新されると、これに応じてデータ構造に含まれる文書データを更新する。
【０００７】
文書データおよび文書データのコピーは、暗号鍵を用いて暗号化された文書データであり、データ構造は、暗号鍵と、暗号鍵を用いて文書データを暗号化する、暗号化手段としてコンピュータを機能させる、暗号化プログラムと、暗号鍵を用いて暗号化された文書データを復号する、復号手段としてコンピュータを機能させる、復号プログラムと、文書データの利用方法を制限するデータである利用権と、利用権に応じて文書データの利用方法を制限する、制限手段としてコンピュータを機能させる制限プログラムとを含んでもよい。
【０００８】
データ構造は、定義済パスワードに関連するデータを含み、展開手段は、入力パスワードを受け取るとともに、入力パスワードと定義済パスワードとが一致するかどうかを判断し、一致しない場合、展開手段は、文書データのコピーを作成しないものであってもよい。
【０００９】
また、この発明に係る自己解凍プログラムは、コンピュータを自己解凍手段として機能させる、自己解凍プログラムであって、自己解凍プログラムは、コンピュータを展開手段として機能させる展開プログラムと、コンピュータを更新手段として機能させる更新プログラムと、文書データとを含み、展開手段は、自己解凍プログラムに含まれる文書データを展開してそのコピーを作成するとともに、更新手段を起動し、更新手段は、文書データのコピーが更新されると、これに応じて自己解凍プログラムに含まれる文書データを更新する。
【００１０】
また、この発明に係るコンピュータは、自己解凍形式のファイルを格納するための記憶手段を備えるコンピュータであって、自己解凍形式のファイルは、コンピュータを展開手段として機能させる展開プログラムと、コンピュータを更新手段として機能させる更新プログラムと、文書データとを含み、展開手段は、自己解凍プログラムに含まれる文書データを展開してそのコピーを作成するとともに、更新手段を起動し、更新手段は、文書データのコピーが更新されると、これに応じて自己解凍形式のファイルに含まれる文書データを更新する。
【発明の効果】
【００１１】
この発明に係るデータ構造、プログラム、およびコンピュータによれば、自己解凍形式の実行可能ファイルである自己解凍プログラムが実行されると、解凍された文書データを利用者が更新することに合わせて、更新手段が自動的に自己解凍プログラム自身を更新する。このため、利用者が自己解凍プログラムを更新する必要がなく、利便性が向上する。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態１．
図１は、本発明の実施の形態１に係るデータ構造を有する自己解凍プログラム２００を格納するシステムであるＰＣ１００の構成を示す。
ＰＣ１００は、周知の構成を有するコンピュータであり、演算を行う演算手段であるＣＰＵと、情報を格納するための磁気ディスクおよび半導体メモリを含む記憶手段とを備える。ＰＣ１００は、さらに、入力装置であるキーボードおよびマウス、出力装置であるディスプレイおよびプリンタ、通信ネットワークに対する入力装置と出力装置とを兼ねるネットワークインタフェースを備える。
ＰＣ１００の記憶手段は、自己解凍プログラム２００をデータとして格納する。また、ＰＣ１００のＣＰＵは、プログラムであるアプリケーション３００を実行し、利用者の操作に応じて特定の形式の文書データの編集等を行う機能を有する。
【００１３】
図１の自己解凍プログラム２００は、いわゆる自己解凍形式の実行可能ファイルとしてのデータ構造を有し、たとえばそのファイル名は「．ｅｘｅ」という拡張子を持つ。ＰＣ１００は、自己解凍プログラム２００を実行することによって、自己解凍手段（図示せず）として機能する。
図１の自己解凍プログラム２００は、たとえば外部のファイルサーバ等によって作成され、通信ネットワークや持ち運び可能な記憶媒体等を介してＰＣ１００に入力され、記憶手段に記憶される。
自己解凍プログラム２００は、データ構造として、暗号文書１０、展開プログラム２０、更新プログラム３０、オフライン用ライセンス４０、パスワードハッシュ５０、およびアドインデータ６０を、データとして含む。ここで、たとえば自己解凍プログラム２００はこれらのデータを周知の方法によって圧縮された形式で含むが、圧縮されない形式で含むものであってもよい。
【００１４】
暗号文書１０は、アプリケーション３００に対応する文書ファイルを暗号化したデータである。たとえば、アプリケーション３００はＣＡＤ用のプログラムであり、暗号文書１０はこれによって処理されるデザインのデータである。暗号化される前の文書ファイル、すなわち平文のファイルのデータは平文文書１２（図８参照）であるが、これについては後述する。
展開プログラム２０は、自己解凍プログラム２００の実行が指示されると最初に実行されるプログラムである。すなわち、上述の自己解凍手段は、ＰＣ１００に展開プログラム２０を実行させる。
この展開プログラム２０は、ＰＣ１００によって実行されると、一時フォルダを作成して暗号文書１０をコピーする機能等を実現させるものであるが、詳細については図２および図３を用いて後述する。
更新プログラム３０は、ＰＣ１００によって実行されると、自己解凍プログラム２００を更新する機能等を実現させるものであるが、詳細については図４〜図７を用いて後述する。
【００１５】
オフライン用ライセンス４０は、暗号文書１０に対応する暗号鍵４２を含む。この暗号鍵４２は、ある文書のデータを暗号化して暗号文書１０を作成する処理、および、暗号文書１０を復号して平文の文書データを作成する処理のいずれにも共通して使用される単一の鍵である。なお、単一の暗号鍵４２の代わりに、暗号化に使用される暗号鍵と、復号に使用される復号鍵との組が含まれていてもよい。
【００１６】
また、オフライン用ライセンス４０は、自己解凍プログラム２００に関する利用者の権限を規定するデータである利用権４４を含む。
利用権４４は、アプリケーション３００が有する機能に応じて、その機能の一部を制限するかどうかを表す情報を含む。すなわち、利用権４４は、暗号文書１０の利用方法を制限するものである。制限される項目としては、たとえば次のようなものがある。
・処理中の文書を閲覧する許可の有無。
・処理中の文書を編集する許可の有無。
・処理中の文書を印刷する許可の有無。
・処理中の文書をコピーする許可の有無。ここで、コピーとは、データをアプリケーション３００が直接管理しない記憶領域に複製する処理を意味し、いわゆるコピー・アンド・ペースト操作に用いられるものである。テキストデータのコピー、アプリケーション３００のデータ形式でのコピー、表示されている画面データのコピー等、すべての形式のデータのコピーが含まれる。
・処理中の文書を上書保存する許可の有無。ここで、上書保存とは、既存のファイルの内容を更新する形で保存することを意味する。
・処理中の文書を新規保存する許可の有無。ここで、新規保存とは、既存のファイルとは異なるファイルとして格納し保存することを意味する。
・処理中の文書を、暗号化された状態で電子メールに添付する許可の有無。
・処理中の文書を、平文の状態でファイルとして保存する許可の有無。
・利用権４４を変更する許可の有無。すなわち、変更された利用権を含むように自己解凍プログラム２００を更新する許可、または、変更された利用権を含む新たな自己解凍プログラムを作成する許可の有無。この許可は、利用権４４の項目ごとに指定されてもよい。また、より厳しい制限への変更、すなわち許可されている機能を禁止する方向への変更のみ可能なものであってもよい。この場合、たとえば文書の印刷を禁止する内容の利用権４４は、印刷が許可されるように変更することができない。
・上記の許可のそれぞれが有効な期間または期限。
・アプリケーション３００に特有の操作を行う許可の有無。たとえばアプリケーション３００がＣＡＤ用のプログラムである場合、処理中のデザインデータを回転させて異なる方向から表示する許可や、平行な断面で輪切りにして表示する許可。
その他、利用権４４は、周知のセキュリティ管理において設定される項目を含んでもよい。
【００１７】
パスワードハッシュ５０は、展開プログラム２０の実行に際して要求される、あらかじめ決められた定義済パスワードに対応するハッシュデータである。
【００１８】
アドインデータ６０は、アプリケーション３００用のアドインすなわち追加プログラムとなるものである。アドインデータ６０に基づいてインストールされるアドイン６１（図３参照）は、アプリケーション３００と共に実行されることによってアプリケーション３００の機能を追加あるいは変更する。この機能の追加および変更は、上述の利用権４４の内容に応じてなされる。なお、アドイン６１の詳細は、図２のステップＳ１８に関して後述する。
ＰＣ１００の記憶手段には、複数のアプリケーション３００を記憶することが可能であり、アプリケーション３００に対応する暗号文書１０とアドインデータ６０とが自己解凍プログラム２００内に構成される。
【００１９】
次に、図２〜図７を用いて、ＰＣ１００が自己解凍プログラム２００を実行する際の動作について説明する。
図２は、展開プログラム２０のフローチャートを示し、図３は、図２のフローチャートの実行が終了する直前のＰＣ１００の構成を示す。
自己解凍プログラム２００は、その実行が指示されると、まず展開プログラム２０が実行されるように構成されている。すなわち、図２に示す展開プログラム２０のフローチャートは、利用者あるいは他のプログラム等が自己解凍プログラム２００の実行を指示することによって開始される。
【００２０】
ＰＣ１００は、展開プログラム２０を実行することによって、展開手段２１として機能する。
展開手段２１は、まずＰＣ１００の利用者に対してパスワードの入力を求め、これを入力パスワードとして受け取る（ステップＳ１０）。次に、展開手段２１は、入力パスワードのハッシュ関数を計算し、その計算結果をパスワードハッシュ５０と比較する（ステップＳ１２）。なお、ここでハッシュ関数は周知のものであってよい。
入力パスワードに基づく計算結果と、パスワードハッシュ５０とが一致しない場合、展開手段２１は定義済パスワードと入力パスワードとが異なると判断し、その実行を終了する。
【００２１】
入力されたパスワードに基づく計算結果と、パスワードハッシュ５０とが一致する場合、展開手段２１は定義済パスワードと入力パスワードとが一致すると判断し、一時フォルダ７０（図３参照）を作成する（ステップＳ１４）。ここで、一時フォルダ７０はＰＣ１００の記憶手段内に作成された通常のフォルダであり、ファイルや他のフォルダ等を格納するための手段として機能するものである。
次に、展開手段２１は、暗号文書１０を展開して暗号文書コピー１１を作成し、これを一時フォルダ７０内に格納する（ステップＳ１６）。ここで、「展開」とは、自己解凍プログラム２００から暗号文書１０に相当するデータを抽出し、抽出されたデータを単一のファイルとしての形式に変換することを意味する。また、単一のファイルとしての形式に変換したものを記憶手段に記憶するまでを、「展開」という動作に含めてもよい。暗号文書コピー１１は、暗号文書１０が展開されたものである。
この展開処理は、周知の自己解凍形式の実行可能ファイルと同様の方法でなされる。
【００２２】
次に、展開手段２１はアドインデータ６０をアプリケーション３００に対してインストールし、アドイン６１とする（ステップＳ１８）。
ここで、アドイン６１は、暗号文書コピー１１を復号してアプリケーション３００が処理可能なデータ形式とする機能を、ＰＣ１００に提供する、復号プログラムとして作用する。すなわち、ＰＣ１００は、アドイン６１を実行することによって復号手段として機能し、アプリケーション３００を用いて、暗号文書コピー１１を、暗号化されていない文書と同様に処理することが可能となる。
同様に、アドイン６１は、アプリケーション３００が処理しているデータから、暗号化されたファイルを作成する機能を、ＰＣ１００に提供する、暗号化プログラムとして作用する。すなわち、ＰＣ１００は、アドイン６１を実行することによって暗号化手段として機能し、アプリケーション３００を用いて、処理中の文書を暗号化して保存することが可能となる。
【００２３】
また、アドイン６１は、利用権４４のデータを含んだ状態でインストールされ、アプリケーション３００によって実現される機能の一部を、設定された許可項目に応じて、追加、変更、または制限する。ＰＣ１００は、アドイン６１を実行することによって、利用権４４に応じて暗号文書１０の利用方法を制限する、制限手段として機能する。
なお、利用権４４の内容はアドイン６１に含まれないものであってもよく、その場合にはアドイン６１が自己解凍プログラム２００内の利用権４４を適宜参照し、その結果に応じてアプリケーション３００の機能を変更してもよい。
【００２４】
ステップＳ１８の後、展開手段２１はアプリケーション３００を起動する（ステップＳ２０）。すなわち、ＰＣ１００に、アプリケーション３００の実行を開始させる。ここで、アプリケーション３００の機能の一部は、アドイン６１によって追加あるいは変更されたものとなっている。
【００２５】
次に、展開手段２１は更新プログラム３０を開始する（ステップＳ２２）。すなわち、ＰＣ１００に、自己解凍プログラム２００内にデータとして含まれている更新プログラム３０の実行を開始させる。ＰＣ１００は、更新プログラム３０を実行することによって、更新手段３１として機能する。つまり、このステップＳ２２において展開手段２１は更新手段３１を起動する。
なお、変形例として、ステップＳ２２の前に、展開手段２１が更新プログラム３０を一時フォルダ７０内にコピーしておき、その実行を開始させるものであってもよい。あるいは、更新プログラム３０の実行に関連して必要となるデータを一時フォルダ７０内に作成しておいてもよい。
ステップＳ２２の後、展開手段２１はその処理を終了する。
【００２６】
図４および図６は、更新プログラム３０のフローチャートを示す。ＰＣ１００は、更新プログラム３０を実行することによって、更新手段３１として機能する。更新手段３１は、図４および図６の処理を並列して実行する。
図５は、図４のフローチャートの実行に関連するＰＣ１００の構成を示す。図４のフローチャートにおいて、更新手段３１は、まず暗号文書コピー１１が更新されたかどうかを判定する（ステップＳ３０）。更新されたかどうかの判定基準は、たとえば、暗号文書コピー１１のファイルに関連付けられた、更新日時を表すタイムスタンプである。このタイムスタンプが、ステップＳ３０が以前実行された際のものより新しくなっていれば、暗号文書コピー１１が更新されたと判定する。
なお、上述のように、暗号文書コピー１１の更新処理そのものは、アプリケーション３００のアドイン６１によってなされる。
【００２７】
ステップＳ３０において暗号文書コピー１１が更新されていないと判定された場合、更新手段３１は再びステップＳ３０を実行する。すなわち、暗号文書コピー１１が更新されない間は、更新手段３１はステップＳ３０を繰り返し実行する。ここで、ステップＳ３０は一定の時間をおいて繰り返されてもよい。
【００２８】
ステップＳ３０において暗号文書コピー１１が更新されたと判定された場合、更新手段３１は、更新された暗号文書コピー１１に基づいて自己解凍プログラム２００を更新する（ステップＳ３２）。ここで、更新手段３１は、更新された暗号文書コピー１１を、暗号鍵４２を用いて暗号化し、新たな暗号文書１０を作成する。さらに、これを元の暗号文書１０と置き換える。すなわち、暗号文書１０を上書きすることによって更新する。
この更新処理は、暗号文書１０だけでなく、暗号文書１０の更新に合わせて自己解凍プログラム２００の全体を更新するものであってもよい。たとえば、更新手段３１は、自己解凍プログラム２００に含まれているデータをすべて復元し、暗号文書１０を更新されたものと置き換え、その後すべてのデータを自己解凍形式に圧縮して自己解凍プログラム２００を作成しなおし、更新してもよい。
ステップＳ３２の実行後、処理はステップＳ３０に戻る。すなわち、図４のフローチャート内では、更新手段３１がすべての処理を終了して実行を終えることはない。
【００２９】
図７は、図６のフローチャートの実行に関連するＰＣ１００の構成を示す。
図６のフローチャートにおいて、更新手段３１は、まずアプリケーション３００が終了したかどうかを判定する（ステップＳ４０）。アプリケーション３００が終了したかどうかの判定基準は、たとえば、ＰＣ１００がアプリケーション３００に対応するプログラムを実行中であるかどうかである。
【００３０】
アプリケーション３００が終了していないと判定された場合、更新手段３１は再びステップＳ４０を実行する。すなわち、アプリケーション３００が実行中である間は、更新手段３１はステップＳ４０を繰り返し実行する。ここで、ステップＳ４０は一定の時間をおいて繰り返されてもよい。
【００３１】
ステップＳ４０においてアプリケーション３００が終了したと判定された場合、更新手段３１は暗号文書コピー１１を削除し（ステップＳ４２）、さらに一時フォルダ７０を削除する（ステップＳ４４）。なお、一時フォルダ７０内に暗号文書コピー１１以外のデータが格納されている場合、更新手段３１はそれらのデータをすべて一時フォルダ７０とともに削除する。
次に、更新手段３１はアドイン６１をアプリケーション３００からアンインストールする（ステップＳ４６）。これによってアドイン６１が削除されるので、アドイン６１に基づいて追加、変更、または制限されていたアプリケーション３００の機能は元に戻る。すなわち、アプリケーション３００の機能は、図２のステップＳ１８よりも前の状態における機能と同一となる。
【００３２】
以上のように動作するＰＣ１００に関連して、外部のサーバの処理、利用者の操作、およびＰＣ１００自身の処理の流れの具体例を、以下に説明する。
図８は、自己解凍プログラム２００が作成される処理の流れを示す。なお、自己解凍プログラム２００と同様の構造を持つデータであれば、その作成方法は以下の処理に限定されるものではなく、いかなる方法で作成されてもよい。
【００３３】
外部のコンピュータであるライセンスサーバ４００の記憶手段に、暗号化されていない文書データである平文文書１２、暗号鍵４２、利用権４４、展開プログラム２０、更新プログラム３０、パスワード５１、およびアドインデータ６０が格納されている。
なおパスワード５１は、このように定義済パスワードとしてあらかじめ格納されているものでなくともよく、たとえば必要に応じて利用者からパスワード５１の入力を要求し、これを基に定義されてもよい。また、利用権４４は、利用者それぞれに対応して、周知の方法によって作成される。たとえば、利用者に対応するユーザＩＤと、その利用者に対応する権限すなわち許可の内容との組合せを、データベースとして登録しておいてもよい。この場合、利用権４４は、自己解凍プログラム２００の作成を要求した利用者のユーザＩＤに応じて作成される。
【００３４】
まずライセンスサーバ４００は、自身の記憶手段に格納されているプログラム（図示せず）を実行することによって、暗号化手段４０２として機能する。暗号化手段４０２は、平文文書１２を暗号鍵４２によって暗号化し、暗号文書１０を作成して記憶手段に格納する。
次にライセンスサーバ４００は、別のプログラム（図示せず）を実行することによってライセンス登録手段４０４として機能する。ライセンス登録手段４０４は、暗号鍵４２と利用権４４とを組み合わせ、これらに基づいてオフライン用ライセンス４０を作成して記憶手段に格納する。
【００３５】
次にライセンスサーバ４００は、さらに別のプログラム（図示せず）を実行することによってカプセル化手段４０６として機能する。カプセル化手段４０６は、パスワード５１に基づいてパスワードハッシュ５０を求め、暗号文書１０、展開プログラム２０、更新プログラム３０、オフライン用ライセンス４０、パスワードハッシュ５０、およびアドインデータ６０を組み合わせて自己解凍プログラム２００を作成する。この際、自己解凍プログラム２００の実行が指示されると、最初に展開プログラム２０が実行されるような内容とする。カプセル化手段４０６は、作成された自己解凍プログラム２００を記憶手段に格納する。
以上のようにして自己解凍プログラム２００が作成される。
【００３６】
利用者は、作成された自己解凍プログラム２００をＰＣ１００に入力する。これはたとえば、ライセンスサーバ４００から、通信ネットワークを介して自己解凍プログラム２００を取得、すなわちダウンロードすることによって得られる。ただし、通信ネットワークによる接続は必須ではなく、持ち運び可能な記憶媒体等を介してＰＣ１００に入力してもよい。
また、図８を用いて説明した、暗号化手段４０２とカプセル化手段４０６とをＰＣ１００に備え、ライセンスサーバ４００と通信してオフライン用ライセンス４０の内容を確認しながら、暗号化手段４０２とカプセル化手段４０６とが連携して、自己解凍プログラム２００をＰＣ１００で作成するように構成することも可能である。
この状態では、利用者あるいは他人が自己解凍プログラム２００のデータを直接参照したとしても、暗号文書１０は暗号化されており、その内容を知ることはできない。
【００３７】
次に利用者は、自己解凍プログラム２００の実行開始をＰＣ１００に指示する。これはたとえばＰＣ１００の画面上で、自己解凍プログラム２００を表すアイコンをダブルクリックすることによって行われる。
ＰＣ１００は、自己解凍プログラム２００の実行を開始する。上述のように、まず自己解凍プログラム２００に含まれる展開プログラム２０の実行が開始され、これによってＰＣ１００は展開手段２１として機能するようになる。
展開手段２１は、図２および図３に示すように、利用者のパスワードを確認し、暗号文書コピー１１をファイルとして作成し、アドイン６１をインストールし、アプリケーション３００および更新プログラム３０を起動した後、その処理を終了する。
ここでも暗号文書コピー１１は暗号化されており、利用者あるいは他人が暗号文書コピー１１のデータを直接参照したとしても、その内容を知ることはできない。
【００３８】
次に利用者は、アプリケーション３００を使用して暗号文書コピー１１の処理を行う。この処理は、暗号文書コピー１１を復号した内容、すなわち平文文書１２（図８参照）に相当するデータの閲覧、編集、印刷等であるが、アドイン６１によって利用権４４に応じて制限されたものとなる。また、暗号文書１０の内容にはアプリケーション３００を介してのみアクセス可能であり、かつ、アプリケーション３００の機能はアドイン６１によって制限されているため、利用者は許可されていない操作を行うことができず、暗号文書１０のデータが保護される。
【００３９】
利用者が処理中の文書を上書き保存すると、図４および図５に示すように、その内容に合わせて更新手段３１が自己解凍プログラム２００内の暗号文書１０を更新する。このため、自己解凍プログラム２００の内容は常に最新のものに保たれる。
利用者がアプリケーション３００を終了させると、図６および図７に示すように、更新手段３１は暗号文書コピー１１を削除し、アドイン６１をアンインストールする。
さらに利用者は、暗号文書コピー１１の更新を行った場合、すなわち自己解凍プログラム２００が更新されている場合、更新された自己解凍プログラム２００をライセンスサーバ４００に送り返す。これはたとえば、通信ネットワークを介して自己解凍プログラム２００を送信、すなわちアップロードすることによって行われる。ただし、通信ネットワークによる接続は必須ではなく、持ち運び可能な記憶媒体等を介してライセンスサーバ４００に入力してもよい。
【００４０】
図示しないが、ライセンスサーバ４００は、更新された自己解凍プログラム２００から暗号文書１０を取り出し、これを保存する。また、これを復号して更新された平文文書１２を作成し、これを保存してもよい。これによってライセンスサーバ４００上の暗号文書１０または平文文書１２が最新のものに保たれる。
【００４１】
以上に説明される実施の形態１によれば、自己解凍プログラム２００が実行されると、まず展開手段２１が更新手段３１を起動する。さらに、解凍された暗号文書コピー１１を利用者が更新すると、これに合わせて自動的に更新手段３１が自己解凍プログラム２００内の暗号文書１０を更新する。
このため、利用者は暗号文書コピー１１のみを更新すればよく、この更新を自己解凍プログラム２００に反映させる作業が不要となり、利便性が向上する。また、自己解凍プログラム２００の内容が必ず更新されるので、利用者が誤って更新前の自己解凍プログラム２００を使用してしまうという事態が回避できる。
さらに、自己解凍プログラム２００を更新するための更新プログラム３０が、自己解凍プログラム２００自身に含まれているため、利用者は自己解凍ファイル作成ツールのようなプログラムを別に準備する必要がなく、この点でも利便性が向上する。
【００４２】
また、自己解凍プログラム２００は、利用権４４によって許可されている場合を除いて、暗号文書１０が復号された内容を持つファイル、すなわち平文文書１２に相当するファイルを作成しない。
暗号文書１０および暗号文書コピー１１は常時暗号化された状態であり、復号された内容はアプリケーション３００を介してのみアクセス可能である。また、アプリケーション３００の機能は、利用権４４に基づいてアドイン６１によって制限される。よって、文書データの漏洩や不正利用を防止することができる。
【００４３】
また、自己解凍プログラム２００の使用においては、ＰＣ１００とライセンスサーバ４００との通信ネットワーク接続は不要である。とくに、暗号文書１０の編集作業の間も、ライセンスサーバ４００へのアクセスは要求されない。このため、文書の利用許可を得るために通信ネットワークを介してセキュリティサーバ等にアクセスしなければならないような従来技術と比較して、利用者の自由度が高まり、利便性が向上する。
【００４４】
上述の実施の形態１では、アプリケーション３００はあらかじめＰＣ１００にインストールされた構成となっているが、変形例として、アプリケーション３００は自己解凍プログラム２００に含まれていてもよい。また、その場合、アドイン６１とアプリケーション３００は一体となっていてもよく、アドイン６１に相当するデータが存在しなくともよい。
このような構成の場合、展開手段２１は、図２のステップＳ１８においてアドインをインストールする代わりにアプリケーション３００（および含まれている場合はアドイン６１に相当するデータ）をインストールする。また、更新手段３１は、図６のステップＳ４６においてアプリケーション３００（および含まれている場合はアドイン６１に相当するデータ）をアンインストールする。
このような構成の場合、あらかじめＰＣ１００にアプリケーション３００がインストールされている必要がないので、さらに利用者の自由度が高まり、利便性が向上する。
【００４５】
実施の形態１では、更新手段３１が暗号文書コピー１１の更新を判定するが、この判定は他の方法で行われてもよい。たとえば、更新手段３１は判定を行わず、アドイン６１が暗号文書コピー１１の更新に際して更新手段３１に通知を行い、更新手段３１はこの通知を受け取ることに応じて暗号文書１０の更新を行ってもよい。
その場合、図４のステップＳ３０は、アドイン６１からの通知を待つ処理で置き換えられる。
同様に、アプリケーション３００が終了したかどうかの判定も、他の方法で行われてもよい。たとえば、更新手段３１は判定を行わず、アドイン６１がアプリケーション３００の終了に際して更新手段３１に通知を行い、更新手段３１はこの通知を受け取ることに応じて暗号文書コピー１１の削除を行ってもよい。
その場合、図５のステップＳ４０は、アドイン６１からの通知を待つ処理で置き換えられる。
【００４６】
自己解凍プログラム２００に含まれる暗号文書１０は複数であってもよく、またそれぞれ異なるアプリケーションに対応していてもよい。その場合は、ステップＳ１８、Ｓ２０、Ｓ４０、Ｓ４６において、それぞれの暗号文書およびアプリケーションに対する処理が実行される。
また、この場合、展開手段２１または更新手段３１が、暗号文書１０のリストを作成して表示してもよい。
【００４７】
ライセンスサーバ４００において、暗号文書１０または平文文書１２の排他制御がなされてもよい。すなわち、たとえばある利用者がライセンスサーバ４００に自己解凍プログラム２００の作成を指示した後は、その利用者が更新された自己解凍プログラム２００をライセンスサーバ４００に返送して、更新された暗号文書１０または平文文書１２が保存されるまでの間、ライセンスサーバ４００はその暗号文書１０または平文文書１２に関連する別の自己解凍プログラム２００の作成を禁止してもよい。
このようにすることにより、同時に異なる利用者が暗号文書１０または平文文書１２を更新することが防げるので、暗号文書１０および平文文書１２の整合性が保たれる。
【００４８】
実施の形態２．
図９は、本発明の実施の形態２に係るデータ構造を有する自己解凍プログラム６００を格納するシステムであるＰＣ５００の構成を示す。
上述の実施の形態１の自己解凍プログラム２００は、暗号化等、セキュリティを考慮した構成となっている。実施の形態２の自己解凍プログラム６００は、セキュリティへの考慮が不要である場合において、構成をより簡素にしたものである。
【００４９】
自己解凍プログラム６００は、暗号化されていない文書データである平文文書６１０と、展開プログラム６２０と、更新プログラム６３０とを含む。
平文文書６１０は暗号化されていないので、アプリケーション７００に対応した形式で含まれており、アプリケーション７００は平文文書６１０を処理するためのアドイン等を必要としない。
【００５０】
展開プログラム６２０は、自己解凍プログラム６００の実行が指示されると最初に実行されるプログラムである。ＰＣ５００は、展開プログラム６２０を実行することによって、展開手段（図示せず）として機能し、図２のフローチャートと同様の処理を行う。ただし、セキュリティに関連する処理、すなわちステップＳ１０、Ｓ１２、およびＳ１８は実行しない。
このように、実施の形態２における展開手段は、一時フォルダを作成し、この一時フォルダ内に平文文書６１０のコピーを作成し、アプリケーション７００および更新プログラム６３０の実行を開始させる。
【００５１】
ＰＣ５００は、更新プログラム６３０を実行することによって、更新手段（図示せず）として機能し、図４および図６のフローチャートと同様の処理を行う。ただし、セキュリティに関する処理、すなわちステップＳ４６は実行しない。
このように、実施の形態２における更新手段は、平文文書６１０のコピーが更新されるとこれに合わせて自己解凍プログラム６００を更新する。また、実施の形態２における更新手段は、アプリケーション７００の実行が終了すると、平文文書６１０のコピーおよび一時フォルダを削除する。
【００５２】
以上に説明される実施の形態２によれば、実施の形態１と同様に、自己解凍プログラム６００が実行されると、まず展開手段が更新手段を起動する。さらに、解凍された平文文書のコピーを利用者が更新すると、これに合わせて自動的に更新手段が自己解凍プログラム６００内の平文文書６１０を更新する。
このため、実施の形態１と同様に、利用者が更新内容を自己解凍プログラム６００に反映させる作業が不要となり、また、自己解凍ファイル作成ツールのようなプログラムを別に準備する必要がないので、利用者の利便性が向上する。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施の形態１に係るデータ構造、自己解凍プログラム、およびＰＣの構成を示す図である。
【図２】展開プログラムのフローチャートである。
【図３】図２のフローチャートの実行に関連するＰＣの構成を示す図である。
【図４】更新プログラムのフローチャートである。
【図５】図４のフローチャートの実行に関連するＰＣの構成を示す図である。
【図６】更新プログラムのフローチャートである。
【図７】図６のフローチャートの実行に関連するＰＣの構成を示す図である。
【図８】図１の自己解凍プログラムが作成される処理の流れを示す図である。
【図９】本発明の実施の形態２に係るデータ構造、自己解凍プログラム、およびＰＣの構成を示す図である。
【符号の説明】
【００５４】
１０  暗号文書（文書データ）、１１  暗号文書コピー（文書データのコピー）、１２、６１０  平文文書（文書データ）、２０、６２０  展開プログラム、２１  展開手段、３０、６３０  更新プログラム、３１  更新手段、４２  暗号鍵、４４  利用権、５０  パスワードハッシュ（定義済パスワードに関連するデータ）、５１  パスワード（定義済パスワード）、６０  アドインデータ（暗号化プログラム、復号プログラム、制限プログラム）、６１  アドイン（暗号化プログラム、復号プログラム、制限プログラム）、２００、６００  自己解凍プログラム（自己解凍形式のファイル）。
【図１】
2008204344.tif 000003
【図２】
2008204344.tif 000004
【図３】
2008204344.tif 000005
【図４】
2008204344.tif 000006
【図５】
2008204344.tif 000007
【図６】
2008204344.tif 000008
【図７】
2008204344.tif 000009
【図８】
2008204344.tif 000010
【図９】
2008204344.tif 000011