JP2008026925A - ファイル管理プログラム - Google Patents
ファイル管理プログラム Download PDFInfo
- Publication number
- JP2008026925A JP2008026925A JP2004190754A JP2004190754A JP2008026925A JP 2008026925 A JP2008026925 A JP 2008026925A JP 2004190754 A JP2004190754 A JP 2004190754A JP 2004190754 A JP2004190754 A JP 2004190754A JP 2008026925 A JP2008026925 A JP 2008026925A
- Authority
- JP
- Japan
- Prior art keywords
- file
- user
- package
- policy
- user terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 17
- 238000009472 formulation Methods 0.000 claims description 14
- 239000000203 mixture Substances 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 230000010365 information processing Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 53
- 238000003860 storage Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 22
- 238000007726 management method Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
【課題】
ユーザの利便性を損なうことなく、ファイルの一元管理を行うファイル管理プログラムを提供すること。
【解決手段】
管理の対象としたい元ファイルの指定を受け付けるファイル指定部21と、元ファイルを利用する際のポリシーを策定するポリシー策定部22と、元ファイル毎に生成された共通鍵とポリシーに基づいて生成されたポリシーファイルと、共通鍵で暗号化された元ファイルとをパッケージしてパッケージファイルを生成するパッケージ部23とを有し、ポリシーの利用条件を満足したユーザのみが、ポリシーファイル内の共通鍵と元ファイルの利用権限をユーザの端末4の一時メモリ上に展開出来るようにし、更に、共通鍵で復号化された元ファイルを前記一時メモリ上にのみ展開出来、利用権限の範囲内で元ファイルの利用が可能なようにパッケージファイルを生成することを特徴とする。
【選択図】図2
ユーザの利便性を損なうことなく、ファイルの一元管理を行うファイル管理プログラムを提供すること。
【解決手段】
管理の対象としたい元ファイルの指定を受け付けるファイル指定部21と、元ファイルを利用する際のポリシーを策定するポリシー策定部22と、元ファイル毎に生成された共通鍵とポリシーに基づいて生成されたポリシーファイルと、共通鍵で暗号化された元ファイルとをパッケージしてパッケージファイルを生成するパッケージ部23とを有し、ポリシーの利用条件を満足したユーザのみが、ポリシーファイル内の共通鍵と元ファイルの利用権限をユーザの端末4の一時メモリ上に展開出来るようにし、更に、共通鍵で復号化された元ファイルを前記一時メモリ上にのみ展開出来、利用権限の範囲内で元ファイルの利用が可能なようにパッケージファイルを生成することを特徴とする。
【選択図】図2
Description
本発明は、ファイル管理プログラムに関し、特に、利用条件を設定してファイルをパッケージし、またパッケージされたファイルを利用条件の範囲内で利用するためのファイル管理プログラムに関する。
従来、利用条件を設定して、データやソフトウェアを利用者に配信する配信システムとしては、特許文献1に示されるような配信システムがあった。
特許文献1に開示された配信システムでは、配信サーバが、利用成約付きデータ及びソフトウェアと利用条件を、配信先のクライアント端末に対応する暗号鍵を用いて暗号処理部で暗号化し、更にパッケージ部でパッケージ化した後、送信する。クライアント端末は、暗号処理部で暗号鍵を用いて利用条件を復号し、その利用条件が利用可であるときには、データ及びソフトウェアを復号してインストールする。
このような配信システムによれば、データ及びソフトウェアを再コンパイルすることなく、利用条件を付加及び暗号化し、クライアント端末において実行可能な形式で配信するように構成されているため、利用成約付きのデータ及びソフトウェアを容易に作成し、利用者に配布し、かつ、利用者が容易に利用成約付きのデータ及びソフトウェアを利用することが出来る。
しかし、このような配信システムには、以下に説明する技術的な課題があった。
特許文献1に開示された配信システムでは、利用条件は、データやソフトウェアを利用するクライアント端末毎の鍵で暗号化されるため、パッケージファイルは、自ずと端末クライアント毎に生成される。
従って、データやソフトウェアを例えば社内や社外の複数のユーザに利用させたい場合には、ユーザの数だけのパッケージファイルを生成する必要があり、複数ユーザ間でのデータの共有が出来ず、データの一元管理が困難であった。
本発明は、このような従来の問題点に鑑みてなされたものであって、その目的とするところは、ユーザの利便性を損なうことなく、ファイルの一元管理を行うことが出来るファイル管理プログラムを提供することにある。
請求項1の発明は、
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムを有するファイル管理プログラムであって、前記ファイルパッケージプログラムは、管理の対象としたい元ファイルの指定を受け付けるファイル指定部と、前記元ファイルを利用する際のポリシーを策定するポリシー策定部と、前記元ファイル毎に生成された共通鍵と前記ポリシーに基づいて生成されたポリシーファイルと、前記共通鍵で暗号化された元ファイルとをパッケージしてパッケージファイルを生成するパッケージ部とを有し、前記ポリシーの利用条件を満足したユーザのみが、前記ポリシーファイル内の共通鍵と元ファイルの利用権限を前記ユーザの端末の一時メモリ上に展開出来るようにし、更に、前記共通鍵で復号化された元ファイルを前記一時メモリ上にのみ展開出来、前記利用権限の範囲内で元ファイルの利用が可能なように前記パッケージファイルを生成するファイル管理プログラムである。
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムを有するファイル管理プログラムであって、前記ファイルパッケージプログラムは、管理の対象としたい元ファイルの指定を受け付けるファイル指定部と、前記元ファイルを利用する際のポリシーを策定するポリシー策定部と、前記元ファイル毎に生成された共通鍵と前記ポリシーに基づいて生成されたポリシーファイルと、前記共通鍵で暗号化された元ファイルとをパッケージしてパッケージファイルを生成するパッケージ部とを有し、前記ポリシーの利用条件を満足したユーザのみが、前記ポリシーファイル内の共通鍵と元ファイルの利用権限を前記ユーザの端末の一時メモリ上に展開出来るようにし、更に、前記共通鍵で復号化された元ファイルを前記一時メモリ上にのみ展開出来、前記利用権限の範囲内で元ファイルの利用が可能なように前記パッケージファイルを生成するファイル管理プログラムである。
請求項2の発明は、
更に、前記パッケージファイルのパッケージ履歴に関する情報や、前記パッケージファイルへのユーザのアクセス履歴に関する情報の検索を行う検索部を有するファイル管理プログラムである。
更に、前記パッケージファイルのパッケージ履歴に関する情報や、前記パッケージファイルへのユーザのアクセス履歴に関する情報の検索を行う検索部を有するファイル管理プログラムである。
請求項1、請求項2の発明によれば、あらゆる種類のファイルを、ファイル毎に生成された共通鍵で暗号化した後、ポリシーファイルとともにパッケージして、利用条件を満足したユーザのみに元ファイルの利用権限を与える仕組みや、ユーザのアクセス履歴を確認する仕組みが、ユーザに提供されることになる。
しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかかわらず、1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ端末がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数ユーザ間で共有することが可能となる。
つまり、高いセキュリティレベルが維持された状態で、かつ、ユーザのパッケージファイル生成の際の利便性を損なうことなく、ファイルの一元管理を行うことが出来るようになる。
請求項3の発明は、
前記パッケージ部でパッケージファイルが生成されるとともに、前記元ファイルの利用権限が与えられたユーザのユーザ端末に、前記パッケージファイルの生成を、通知もしくは、前記パッケージファイルをメール添付により送信する通知部を有するファイル管理プログラムである。
前記パッケージ部でパッケージファイルが生成されるとともに、前記元ファイルの利用権限が与えられたユーザのユーザ端末に、前記パッケージファイルの生成を、通知もしくは、前記パッケージファイルをメール添付により送信する通知部を有するファイル管理プログラムである。
請求項3の発明によれば、元ファイルの利用権限が与えられていないユーザのユーザ端末に、当該元ファイルがパッケージされたパッケージファイルの存在を不用意に知られないようにすることが出来るだけでなく、利用権限が与えられたユーザに、即時に、元ファイルの利用をさせることが出来る。
請求項4の発明は、
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムによりパッケージされた元ファイルを復元してユーザが利用するためのファイル利用プログラムを有するファイル管理プログラムであって、前記ファイル利用プログラムは、パッケージファイルのうち、利用したい元ファイルがパッケージされているパッケージファイルの指定を受け付けるファイル指定部と、前記パッケージファイル内のポリシーファイルを構成しているポリシーの利用条件照合を行ない、前記元ファイルの利用が前記利用条件の範囲内の利用である場合、前記元ファイル毎に生成された共通鍵であって、暗号化に用いられた元ファイルの復号鍵と、前記元ファイルの利用権限とを、前記ポリシーファイルの中から取得するとともに、これら復号鍵と利用権限を前記ユーザ端末の一時メモリ上に展開する復号鍵解読部と、前記取得した共通鍵によって、前記パッケージファイル内の暗号化された前記元ファイルを復号化し、前記ユーザ端末の一時メモリ上に展開する復号化部と、前記取得した利用権限に基づいて、前記元ファイルの利用を制御するファイル利用制御部とを有するファイル管理プログラムである。
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムによりパッケージされた元ファイルを復元してユーザが利用するためのファイル利用プログラムを有するファイル管理プログラムであって、前記ファイル利用プログラムは、パッケージファイルのうち、利用したい元ファイルがパッケージされているパッケージファイルの指定を受け付けるファイル指定部と、前記パッケージファイル内のポリシーファイルを構成しているポリシーの利用条件照合を行ない、前記元ファイルの利用が前記利用条件の範囲内の利用である場合、前記元ファイル毎に生成された共通鍵であって、暗号化に用いられた元ファイルの復号鍵と、前記元ファイルの利用権限とを、前記ポリシーファイルの中から取得するとともに、これら復号鍵と利用権限を前記ユーザ端末の一時メモリ上に展開する復号鍵解読部と、前記取得した共通鍵によって、前記パッケージファイル内の暗号化された前記元ファイルを復号化し、前記ユーザ端末の一時メモリ上に展開する復号化部と、前記取得した利用権限に基づいて、前記元ファイルの利用を制御するファイル利用制御部とを有するファイル管理プログラムである。
請求項4の発明によれば、元ファイルの利用権限や元ファイルの復号鍵は、利用条件を満足した場合にのみ解読可能なように、パッケージファイルに含まれているので、ユーザは、パッケージファイルに含まれたポリシーの利用条件を満足した場合のみ、元ファイルの利用権限を与えられ、利用権限が与えられていないユーザによる元ファイルの利用は出来ない仕組みが提供されることになる。つまり、当該、ファイル管理プログラム1により、高いセキュリティレベルが維持された状態で、利用権限が与えられたユーザによる元ファイルの利用が可能となる。
また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッケージファイルが、メール添付等の方法により、利用権限を与えられたユーザのユーザ端末に格納された場合でも、同一の効果を奏するものである。
つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元ファイル毎に生成された共通鍵で暗号化され、1の元ファイルにつき、ユーザ数によらず1つのパッケージファイルが生成されることにも起因している。
請求項5の発明は、
前記ファイル利用制御部は、前記元ファイルの対応ソフトを制御して、前記対応ソフトからユーザ端末のOS若しくはミドルウェアに対して、前記取得した利用権限に基づいた機能呼び出し命令を行うAPIフッキングを行う手段であるファイル管理プログラムである。
前記ファイル利用制御部は、前記元ファイルの対応ソフトを制御して、前記対応ソフトからユーザ端末のOS若しくはミドルウェアに対して、前記取得した利用権限に基づいた機能呼び出し命令を行うAPIフッキングを行う手段であるファイル管理プログラムである。
請求項5の発明によれば、あらゆる元ファイルに対応して閲覧、印刷、編集、保存等を行うような専用ソフトを作成しなくとも、既存の元ファイル対応ソフトを利用しながら、利用権限の制御を行うことが可能となる。
請求項6の発明は、
更に、前記パッケージファイル中の暗号化された元ファイルが復号化され、ユーザの利用権限に基づいて前記元ファイルの編集がなされた場合、編集後の元ファイルを再び前記ポリシーファイルとともにパッケージし、元のパッケージファイルを更新する再パッケージ部を有するファイル管理プログラムである。
更に、前記パッケージファイル中の暗号化された元ファイルが復号化され、ユーザの利用権限に基づいて前記元ファイルの編集がなされた場合、編集後の元ファイルを再び前記ポリシーファイルとともにパッケージし、元のパッケージファイルを更新する再パッケージ部を有するファイル管理プログラムである。
請求項6の発明によれば、パッケージファイルの更新が行われることで、元ファイルの一元管理は継続して行われることになり、複数ユーザ間で共有しているような元ファイルの単一性も保持される。
請求項7の発明は、
前記元ファイルの再パッケージが行われた場合に、前記元ファイルの作成ユーザのユーザ端末もしくはサーバに、再パッケージが行われた旨を通知する通知部を有するファイル管理プログラムである。
前記元ファイルの再パッケージが行われた場合に、前記元ファイルの作成ユーザのユーザ端末もしくはサーバに、再パッケージが行われた旨を通知する通知部を有するファイル管理プログラムである。
請求項7の発明によれば、元ファイルの作成ユーザやサーバは、即時に、元ファイルが更新されたことを確認することが出来る。
請求項8の発明は、
前記ユーザ端末においてパッケージファイル内の元ファイルを利用しようとする毎に前記ユーザ端末による元ファイルの利用状況を更新することが出来る利用状況データベースを、前記ユーザ端末以外のユーザ端末による読みとり、更新が出来ないような状態で、前記ユーザ端末に生成するデータベース生成部を有するファイル管理プログラムである。
前記ユーザ端末においてパッケージファイル内の元ファイルを利用しようとする毎に前記ユーザ端末による元ファイルの利用状況を更新することが出来る利用状況データベースを、前記ユーザ端末以外のユーザ端末による読みとり、更新が出来ないような状態で、前記ユーザ端末に生成するデータベース生成部を有するファイル管理プログラムである。
請求項8の発明によれば、利用状況データベースがユーザ端末に生成されることにより、当該ユーザ端末以外のユーザ端末で、元ファイルが不正に利用されるのを防止、検知することが出来る。
請求項9の発明は、
前記ポリシーファイルの一部又は全ては、サーバに格納されており、前記ファイル利用プログラムは、前記サーバに、前記ポリシーファイル内の利用条件の照合を要求するファイル管理プログラムである。
前記ポリシーファイルの一部又は全ては、サーバに格納されており、前記ファイル利用プログラムは、前記サーバに、前記ポリシーファイル内の利用条件の照合を要求するファイル管理プログラムである。
請求項9の発明によれば、ポリシーファイルの一部または全てをサーバに置くことによって、ポリシーファイルの改ざん等の不正行為を一層防止することが出来る。
請求項10の発明は、
前記ポリシーファイルは、サーバ毎に生成された置換表によって置換された鍵によって、暗号化されており、前記置換表は、前記ファイル管理プログラムが前記ユーザ端末に格納されるとともに、前記ユーザ端末に格納されるファイル管理プログラムである。
前記ポリシーファイルは、サーバ毎に生成された置換表によって置換された鍵によって、暗号化されており、前記置換表は、前記ファイル管理プログラムが前記ユーザ端末に格納されるとともに、前記ユーザ端末に格納されるファイル管理プログラムである。
請求項10の発明により、パッケージファイルの単独での不正利用を防止することが出来る。
請求項11の発明は、
前記ポリシーファイルは、利用条件が、複数のポリシーオブジェクトと対応付けて記述されたものであり、任意のポリシーオブジェクトに対応する利用条件が満足された場合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終的に全てのポリシーオブジェクトの鍵が開かれ、全ての利用条件が満足された場合にのみ、前記復号鍵と利用権限を取り出すことが出来るような鎖状のデータ構造を有しているファイル管理プログラムである。
前記ポリシーファイルは、利用条件が、複数のポリシーオブジェクトと対応付けて記述されたものであり、任意のポリシーオブジェクトに対応する利用条件が満足された場合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終的に全てのポリシーオブジェクトの鍵が開かれ、全ての利用条件が満足された場合にのみ、前記復号鍵と利用権限を取り出すことが出来るような鎖状のデータ構造を有しているファイル管理プログラムである。
請求項11の発明により、ポリシーファイルから容易に復号鍵と利用権限を取り出して不正に利用することはより困難になる。
請求項12の発明は、
ファイル管理プログラムの登録ユーザかどうかの認証もしくは、前記利用条件に含まれる元ファイルの利用許可ユーザかどうかの認証を行う認証インターフェースを有しており、前記認証インターフェースは、ユーザからの要求によって決定した認証デバイス、もしくは、前記認証インターフェース側で予め決めた認証デバイスから出力された前記ユーザの第2パスワードと、当該認証デバイスの種類を、前記ファイル管理プログラムのログインID、パスワードとともに前記ユーザ端末からサーバに送信し、前記サーバに既に保存されているデータとの照合を依頼するファイル管理プログラムである。
ファイル管理プログラムの登録ユーザかどうかの認証もしくは、前記利用条件に含まれる元ファイルの利用許可ユーザかどうかの認証を行う認証インターフェースを有しており、前記認証インターフェースは、ユーザからの要求によって決定した認証デバイス、もしくは、前記認証インターフェース側で予め決めた認証デバイスから出力された前記ユーザの第2パスワードと、当該認証デバイスの種類を、前記ファイル管理プログラムのログインID、パスワードとともに前記ユーザ端末からサーバに送信し、前記サーバに既に保存されているデータとの照合を依頼するファイル管理プログラムである。
請求項13の発明は、
前記認証インターフェースは、前記認証デバイスが、暗号化ロジックの入るものであれば、前記サーバもしくは前記ユーザ端末に保存されているテンプレートデータのうち、前記ログインIDに対応するテンプレートデータを取得し、前記ユーザのPKI証明書によって、署名検証及び復号化して前記第2パスワードを取得し、前記サーバに既に保存されているデータとの照合を依頼するファイル管理プログラムである。
前記認証インターフェースは、前記認証デバイスが、暗号化ロジックの入るものであれば、前記サーバもしくは前記ユーザ端末に保存されているテンプレートデータのうち、前記ログインIDに対応するテンプレートデータを取得し、前記ユーザのPKI証明書によって、署名検証及び復号化して前記第2パスワードを取得し、前記サーバに既に保存されているデータとの照合を依頼するファイル管理プログラムである。
請求項12、請求項13の発明によれば、どのような種類の認証デバイスからユーザの認証結果をもらっても、サーバもしくはユーザ端末がユーザ認証を行えるようになり、また、ユーザが、ユーザ認証の数、組合わせを任意に変えることも出来るようになる。
本発明にかかるファイル管理プログラムによれば、あらゆる種類のファイルを、ファイル毎に生成された共通鍵で暗号化した後、ポリシーファイルとともにパッケージして、利用条件を満足したユーザのみに元ファイルの利用権限を与える仕組みや、ユーザのアクセス履歴を確認する仕組みが、ユーザに提供されることになる。
しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかかわらず、1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ端末がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数ユーザ間で共有することが可能となる。
また、元ファイルの利用権限や元ファイルの復号鍵は、利用条件を満足した場合にのみ解読可能なように、パッケージファイルに含まれているので、ユーザは、パッケージファイルに含まれたポリシーの利用条件を満足した場合のみ、元ファイルの利用権限を与えられ、利用権限が与えられていないユーザによる元ファイルの利用は出来ない仕組みが提供されることになる。
つまり、当該、ファイル管理プログラムにより、高いセキュリティレベルが維持された状態で、かつ、ユーザのパッケージファイル生成の際の利便性を損なうことなく、ファイルの一元管理及び利用を行うことが出来るようになる。
また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッケージファイルが、メール添付等の方法により、利用権限を与えられたユーザのユーザ端末に格納された場合でも、同一の効果を奏するものである。
つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元ファイル毎に生成された共通鍵で暗号化され、1の元ファイルにつき、ユーザ数によらず1つのパッケージファイルが生成されることにも起因している。
以下、本発明の好適な実施の形態について、添付図面に基づいて詳細に説明する。本発明のファイル管理プログラム1は、文書、画像(動画、静止画は問わない)等のドキュメントファイル(以下、単にファイルという)に含まれる情報が、社内外で当該ファイルに関する閲覧、印刷、編集、保存等の利用権限を有さない者へ漏洩し、不正利用されるのを防止するために使用されるものであり、ファイルの利用条件(ポリシー)を設定することで、ファイルの安全性を高めるためのプログラムである。
以下は、本発明のファイル管理プログラム1が、一般企業の社内外で利用されることを前提として説明を行うが、これはあくまで一実施例であり、家庭や個人によって利用されるものであってもよい。
ファイル管理プログラム1は、ユーザ端末4に格納、実行されるプログラムであって、任意のユーザがユーザ端末4において、任意のユーザが作成したファイルからパッケージファイルを作成し、ファイルの一元管理を行うためのファイルパッケージプログラム2と、ファイル作成ユーザ以外のユーザが、ユーザ端末4において、パッケージファイルから元のファイルを復元して当該ファイルを利用するためのファイル利用プログラム3とに大別される。尚ここでは、「ファイルの利用」とは、ファイルの閲覧、印刷、編集、保存等の行為を指す。
これらユーザ端末4は、図1に示されるように、社内では、LAN6a等のネットワーク6を介して互いに接続されており、社外では、インターネット6b等のネットワーク6を介して社内のサーバ5と接続される。また、社内のユーザ端末4aは、社外へのアクセス時、各種の認証要求時、各種の情報登録時、また更に、本発明のファイル管理プログラム1のダウンロード時、ファイル管理プログラム1の利用時に、ネットワーク6を介してサーバ5に接続される。尚、社外のユーザ端末4bも、上記と同様の時に、ネットワーク6を介してサーバ5に接続される。
ユーザ端末4は、これらプログラムを格納し、実行・利用するために必要な構成(CPU、一時メモリ43、ハードディスク44等の外部記憶装置、通信用デバイス、入出力デバイス等)を有するものであり、通常のコンピュータであればよい。
尚、ユーザ及びユーザ端末4は、本発明のファイル管理プログラム1を利用するために、サーバ5に対してユーザ登録を行ない、ユーザ及びユーザ端末4に関する情報をサーバ5に登録するものとする。本実施例では、ユーザとユーザ端末4とは、1対1で対応付けられており、1人のユーザと1台のユーザ端末4のセットに対して、1ユーザIDが付与される。
従って、例えば、ユーザが社内外に関わらず2台のユーザ端末4を所有する場合で、それぞれのユーザ端末4においてファイル管理プログラム1を利用する場合には、当該ユーザに対して2ユーザIDが付与されるものとする。尚、ユーザ端末4を問わず1人のユーザに対して1ユーザIDが付与されてもよいし、ユーザを問わず1台のユーザ端末4に対して1ユーザIDが付与されてもよい。
サーバ5は、ユーザ端末4と同様の構成を有する他、サーバソフトウェアを備えた通常のサーバコンピュータであればよい。尚、本実施例においては、サーバ5は、ユーザ情報やユーザ端末4のハードウェア情報等の情報を格納したユーザデータベース55や、ユーザの認証に必要な認証情報を格納した認証データベース57や、ユーザからのアクセス履歴やパッケージファイル作成履歴等の履歴情報を格納した履歴データベース56等の各種データベースを備えている。
尚、サーバ5内のデータベースに格納されている情報の閲覧、印刷、編集、保存等の作業を行う権限は、サーバ5の管理者若しくは所定の認証許可がなされたユーザのみが有しており、それ以外の者(悪意者も含む)が、不正にその権限を濫用することは出来ない仕組み(例えば、ファイアウォールの組み込み、データベースの暗号化、認証システムへの接続、プロキシサーバの設置等)が、サーバ5には施されているものとする。
次に、図2に基づいて、ファイルパッケージプログラム2の構成について説明する。まず、ファイルパッケージプログラム2は、ユーザ端末4に格納され、ユーザ端末4において利用されるものであるが、プログラムの格納方法は問わず、例えば、サーバ5からインストーラとともにユーザ端末4にダウンロードされてもよいし、CD−ROM等の記憶媒体からユーザ端末4にコピーされてもよい。
ファイルパッケージプログラム2は、主として、ファイル指定部21、ポリシー策定部22、パッケージ部23、検索リクエスト部24の機能ブロックから構成される。
ファイル指定部21は、ユーザ端末4がアクセスすることが出来る記憶媒体に格納されたファイルのうち、管理の対象としたいファイルの指定を受け付ける手段である。例えば、ファイル指定部21は、ユーザ端末4の画面上に、その時点でユーザ端末4が管理することが可能なファイルの識別情報(タイトル、作成日時、作成ユーザ、ファイルの種類(拡張子等)、ファイルのデータサイズ等)を表示させ、キーボードやマウス等の入力デバイスに当該情報のいずれかを選択させることで、ファイルの指定を受け付けることが出来る。
ポリシー策定部22は、ファイル指定部21で指定を受け付けたファイル(以下、元ファイルという)を利用する際のポリシーを策定する手段である。尚、本実施例では、策定したポリシーは、元ファイルの識別情報とともに、サーバ5に送信されるが、これらは必ずしもサーバ5に送信される必要はない。
ポリシーとは、例えば、元ファイルの利用許可/不許可ユーザかどうかの認証、パスワードその他の認証、ファイルの利用可能回数、元ファイルの利用期限、ファイルへの同時アクセス可能台数、アクセス可能時間等の利用条件と、これら利用条件を満足した場合に与えられる利用権限(例えば、元ファイルの閲覧、印刷、編集、保存等の利用形態)である。
ここでサーバ5は、図2に示されるように、鍵生成部51と、ポリシーファイル生成部52を機能ブロックとして有している。
鍵生成部51は、元ファイルを暗号化(復号化)するための暗号鍵(復号鍵)を生成する手段である。本発明では、ファイルの暗号化、復号化は、共通鍵暗号方式で行われる。つまり、暗号鍵と復号鍵は共通であって、元ファイル毎に1種類のみ生成される。そのため、以下においては、暗号鍵も復号鍵と称して説明するものとする。
尚、本実施例では、鍵生成部51で生成される復号鍵は、ポリシー策定部22でポリシーが策定される毎に(かつ元ファイル毎に)生成される乱数であるが、ポリシー毎に異なるように生成される鍵であれば、必ずしも乱数である必要はない。
ここで、ファイルの暗号化、復号化に、共通鍵暗号方式が採用されているのは、ユーザ端末4でファイルの暗号化、復号化を行うのにかかる処理時間が、公開鍵暗号方式を用いた場合の暗号化、復号化処理時間と比較して短く、ユーザ端末4の負担が少ないからである。
しかし、共通鍵暗号方式を用いて、例えば、サーバ5で生成された暗号鍵をファイルの暗号化に用いる場合や、暗号化されたファイルを特定のユーザにのみ暗号鍵と同一の復号鍵で復号化させる場合、一般的には、鍵の受け渡し方法が問題となることが多い。暗号鍵と復号鍵が同一である以上、ひとたび鍵が第三者に知られてしまえば、誰でも暗号化されたファイルを復号化することが可能となり、ファイルを暗号化した意味がなくなるからである。
そこで、本発明では、共通鍵で暗号化されたファイルであっても、鍵を知っているだけでは暗号化されたファイルを復号化することが出来ず、ポリシー策定部22で策定されたポリシーの利用条件が満足された場合のみ、暗号化されたファイルの復号鍵と、ファイルの利用権限を取得することが出来る仕組みを採用した。
ここで、ポリシーファイル生成部52は、ポリシー策定部22で策定されたポリシーと、鍵生成部51で生成された復号鍵に基づいて、ポリシーファイルを生成する手段である。ポリシーファイルは、例えば、XML形式のデータであって、復号鍵とポリシーを記述したものであるが、詳細には、ポリシー内の利用条件は複数のポリシーオブジェクトと対応付けて記述されており、あるポリシーオブジェクトに対応する利用条件が満足された場合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終的に全てのポリシーオブジェクトの鍵が開かれ、すなわち、全てのポリシーの利用条件が満足された場合にのみ、復号鍵と利用権限を取り出すことが出来るような鎖状のデータ構造となっている。
このようなデータ構造により、ポリシーファイルから容易に復号鍵と利用権限を取り出して不正に利用することはより困難になる。また、仮に、復号鍵と利用権限をポリシーファイルの取得経路以外から知り得たとしても、後述する復号鍵解読部34によって、ポリシーファイルの中から解読された復号鍵と利用権限を用いていなければ、暗号化された元ファイルの復号化、元ファイルの利用が出来ないようになっている。
尚、生成されたポリシーファイルは、ユーザ情報を格納するユーザデータベース55内に、ユーザ毎にポリシーファイルの識別IDを付与して格納されるとともに、ユーザ端末4にも送信される。この際、鍵生成部51で生成された復号鍵も、ユーザデータベース55に格納され、ユーザ端末4に送信されてもよい。
また、ポリシーオブジェクト毎にも識別IDが付与され、鍵生成部51でポリシーオブジェクトを開くための鍵が生成されるとともに、これらの情報もまたユーザデータベース55に格納される。
また、ポリシーファイル生成部52は、ユーザ端末4がサーバ5に接続しない場合には、ユーザ端末4に格納されるファイルパッケージプログラム2の機能ブロックとして含まれていてもよく、その場合には、ユーザ端末4は、サーバ5にポリシーを送信せず、自らポリシーファイルを生成し、ユーザ端末4内にポリシーファイルの識別IDを付与して格納することになる。
ファイルパッケージプログラム2の構成の説明に戻ると、パッケージ部23は、鍵生成部51で生成された復号鍵で、元ファイルを暗号化し、暗号化された元ファイルと、ポリシーファイル生成部52で生成されたポリシーファイル、ファイル基本情報とを1つにまとめてパッケージし、更にヘッダを付加して、新たなファイル(パッケージファイルという)を生成する手段である。パッケージ部23がパッケージファイルを生成する際の概念図を図3に示す。
図3に示したように、暗号化された元ファイルと、ポリシーファイルとをパッケージすることによって、暗号化された元ファイルは、単独で取り出したり、利用することが不可能となり、ポリシーファイルとの連動のみによって利用することが可能となる。
つまり、全ての利用条件が満足された場合にのみ、利用権限を取得し、暗号化されたファイルを復号化することが出来るようになっているので、復号鍵が単独でユーザ端末4に送信されたり、知られてしまったとしても、パッケージファイルそのものがなければ、かつ、全てのポリシーの利用条件が満足された場合でなければ、暗号化された元ファイルを復号化することは出来ないので、暗号化されたファイルの安全性は確保される。
しかも、復号鍵は、ポリシーファイルに含まれ、更に暗号化された元ファイルとパッケージされているので、共通鍵暗号方式の問題である鍵の受け渡しについても、ユーザが意識せずに、かつ安全に行われる。
従来は、高いセキュリティレベルを維持しながら、特定ユーザに対してのみファイルの利用権限を与えるために、公開鍵暗号方式が採用されていた。しかし、公開鍵暗号方式の場合、公開鍵と秘密鍵を生成する手間、ファイルの利用権限が与えられるユーザの公開鍵を入手する手間、ユーザ毎の公開鍵でファイルを暗号化する手間がかかっていた。本発明のファイル管理プログラム1では、共通鍵暗号方式を用いているため、このような手間は発生せず、しかも、ファイル指定、ポリシー策定、パッケージという簡単な手順を経るだけで、セキュリティレベルの高いファイル管理が実現されることになる。
尚、ファイル基本情報は、元ファイルの識別情報であるところのタイトル、作成日時、作成ユーザ、元ファイルの種類(拡張子等)、元ファイルのデータサイズ等の情報に加え、元ファイルの利用許可/不許可ユーザリストが含まれる。また、パッケージファイルの識別情報であるところのタイトル、作成(パッケージ日時)、作成ユーザ(パッケージした者)、パッケージファイルの種類、パッケージファイルのデータサイズ等が含まれてもよい。
ここで、ファイル基本情報の暗号化は任意であり、また、基本的にファイル基本情報の内容は、元ファイルの利用権限を有していないユーザであっても知ることが出来る。これは、本件出願時点における法律上、全てのユーザに対し、元ファイルの利用/不許可を知る権利が認められているからである。
検索リクエスト部24は、サーバ5内の検索部53に対して、履歴データベース56に格納されているファイルパッケージの履歴情報や、パッケージファイルへのアクセス履歴に関する情報の検索を要求する手段である。尚、履歴データベース56には、ユーザデータベース55に格納されているデータと同じものが格納されていてもよく、ユーザデータベース55に格納されている履歴情報が検索されてもよい。
また、ファイル作成ユーザ自身が、自己のファイルパッケージ履歴や、自己のユーザ端末4内の共有記憶媒体への他ユーザのアクセス履歴を検索したい場合には、検索リクエスト部24は、ファイル作成ユーザのユーザ端末4内のデータベース(例えば、後述する利用状況データベース33a)に格納されている履歴情報にアクセスする手段であってもよい。
検索リクエスト部24は、例えば、検索条件を指定し、当該検索条件をサーバ5に送信する。サーバ5の検索部53は、履歴データベース56内から、検索条件に合致する履歴情報を取り出し、ユーザ端末4に送信する。ここで、検索された履歴に基づいて、ユーザ端末4側では、更に、ポリシー策定部22でポリシーの変更を行ったり、ファイル指定部21でファイルの変更を行ったりすることが出来る。何らかの変更が行われた場合には、パッケージ部23は、ファイルをパッケージし直す。この手順は、新規にファイルパッケージを行う場合の手順と同様であり、上述した通りである。
尚、履歴データベース56には、パッケージファイルへのユーザのアクセス履歴も格納される。従って、ファイルのパッケージを行ったユーザは、検索リクエスト部24から、誰がいつどこからどのパッケージファイルにアクセスしたかを確認することが出来る。
以上説明したファイル管理プログラム1内のファイルパッケージプログラム2の構成によれば、あらゆる種類のファイルを、ファイル毎に生成された共通鍵で暗号化した後、ポリシーファイルとともにパッケージして、利用条件を満足したユーザのみに元ファイルの利用権限を与える仕組みや、ユーザのアクセス履歴を確認する仕組みが、ユーザに提供されることになる。
しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかかわらず、1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ端末4がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数ユーザ間で共有することが可能となる。
つまり、当該、ファイル管理プログラム1により、高いセキュリティレベルが維持された状態で、かつ、ユーザのパッケージファイル生成の際の利便性を損なうことなく、ファイルの一元管理を行うことが出来るようになる。
次に、図4に基づいて、ファイル利用プログラム3の構成について説明する。まず、ファイル利用プログラム3は、ファイルパッケージプログラム2同様、ユーザ端末4に格納され、ユーザ端末4において利用されるものであるが、プログラムの格納方法は問わず、例えば、サーバ5からインストーラとともにユーザ端末4にダウンロードされてもよいし、CD−ROM等の記憶媒体からユーザ端末4にコピーされてもよい。また、ファイル利用プログラム3は、ファイルパッケージプログラム2と一体になってプログラム化されていてもよく、その場合には、ファイル管理プログラム1として、ユーザ端末4に格納される。
但し、ファイル管理プログラム1が提供する機能のうち、ファイル利用プログラム3側のファイル利用機能しか利用しないユーザや、ファイルパッケージプログラム2側のファイルパッケージ機能、履歴検索機能しか利用しないユーザには、それぞれ必要なプログラムのみがユーザ端末4に格納されていてもよい。
ファイル利用プログラム3は、主として、ファイル指定部31、認証リクエスト部32、データベース生成部33、復号鍵解読部34、復号化部35、ファイル利用制御部36、再パッケージ部37の機能ブロックから構成される。
ファイル指定部31は、ユーザ端末4がアクセスすることが出来る記憶媒体に格納されたパッケージファイルのうち、利用したい元ファイルがパッケージされているパッケージファイルの指定を受け付ける手段である。例えば、ファイル指定部31は、ユーザ端末4の画面上に、パッケージファイルのファイル基本情報(パッケージファイルもしくは元ファイルのタイトル、作成日時、作成ユーザ、ファイルの種類(拡張子等)、元ファイルの利用許可/不許可ユーザ等)をさせ、キーボードやマウス等の入力デバイスに当該情報のいずれかを選択させることで、パッケージファイルの指定を受け付けることが出来る。
尚、元ファイルの利用権限が与えられていないユーザのユーザ端末4に、当該元ファイルがパッケージされたパッケージファイルの存在を不用意に知られないようにするためには、ファイル基本情報をユーザ端末4上に表示出来ないようにし、例えば、パッケージファイルがメールに添付されて、元ファイルの利用権限を与えられたユーザのユーザ端末4に送信されてきた場合のみや、指定の格納場所にあるパッケージファイル中の元ファイルが利用出来るようになった旨を通知するメール等の文書が、ユーザ端末4に送信されてきた場合のみに、ユーザ端末4が、パッケージファイルにアクセスすることが出来るようになっていてもよい。
つまり、この場合、ファイルパッケージプログラム2は、パッケージ部23でパッケージファイルが生成されるとともに、元ファイルの利用権限が与えられたユーザのユーザ端末4に、パッケージファイルの生成を、通知もしくは、パッケージファイルをメール添付により送信する通知部(図示せず)を有している。これにより、元ファイルの利用権限が与えられていないユーザのユーザ端末4に、当該元ファイルがパッケージされたパッケージファイルの存在を不用意に知られないようにするだけでなく、利用権限が与えられたユーザに、即時に、元ファイルの利用をさせることが出来る。
認証リクエスト部32は、本実施例では、ファイル利用プログラム3を利用しようとするユーザの認証をサーバ5に対して要求する手段である。尚、1ユーザ、1ユーザ端末4に対して1ユーザIDが付与されている場合には、当然、当該ユーザ端末4からユーザによって、サーバ5への認証要求がされなければ、認証がされない。
尚、認証リクエスト部32は、必ずしもサーバ5に対して認証を要求する必要はなく、ユーザ端末4自身でユーザの認証を行う手段であってもよい。これについては、実施例において後述する。
データベース生成部33は、ユーザがユーザ端末4においてパッケージファイル内の元ファイルを利用しようとする毎にユーザ端末4による元ファイルの利用状況(例えば、利用回数等)を更新することが出来る利用状況データベース33aを、当該ユーザのユーザ端末4以外のユーザ端末4による読みとり、更新が出来ないような状態で、ユーザ端末4に生成する手段である。
尚、ポリシー策定部22で策定されたポリシーの利用条件うち、元ファイルの利用都度、元ファイルの利用状況を更新する必要がない利用条件(例えば、元ファイルの利用許可/不許可ユーザかどうかの認証、パスワードその他の認証、元ファイルの利用期限、同一パッケージファイルへの同時アクセス可能台数、アクセス可能時間等)によってのみ、ポリシーが生成されている場合には、データベース生成部33は必ずしも利用状況データベース33aを生成する必要はない。
また、利用状況データベース33aに相当するデータベースは、必ずしもユーザ端末4に生成される必要はなく、サーバ5に生成されていてもよい。この場合、ファイルパッケージプログラム2内にデータベース生成部33は不要である。
復号鍵解読部34は、パッケージファイル内のポリシーファイルを構成している全てのポリシーオブジェクト内のポリシーの利用条件照合を行ない、暗号化された元ファイルの復号鍵とユーザの利用権限を取得するとともに、これら復号鍵と利用権限をユーザ端末4の一時メモリ43上に取り出す手段であり、利用条件の照合及び利用状況の更新を行う照合・更新手段34aを有している。
照合・更新手段34aは、例えば、利用条件と元ファイルの利用状況とを照合する必要があるポリシーについては、利用条件と利用状況データベース33aに格納された利用状況との照合を行い、利用状況が利用条件に違反しない場合(例えば、利用可能回数10回という利用条件に対し、利用状況が3回)に限り、利用状況データベース33a内の利用状況を更新し、別のポリシーオブジェクトを開く鍵もしくは、暗号化された元ファイルの復号鍵を取り出す。
尚、この場合、サーバ5またはユーザ端末4のいずれかには、利用状況データベース33aの内容を更新させるためのプログラム(例えば計数手段、計時手段等)が必要である。また、利用状況データベース33aの生成場所や利用状況の更新方法については、ポリシーファイル内に格納されていてもよい。
また、照合・更新手段34aは、元ファイルの利用状況を更新する必要がない利用条件と、その利用状況(現況)との照合については、サーバ5に依頼してもよいし、また、ユーザ端末4内で行うことも出来る。
また、ポリシーオブジェクトの一部または全てが、サーバ5に格納されているような場合にも、照合・更新手段34aは、サーバ5にアクセスして、利用条件と利用状況との照合を要求し、照合結果や、次に開くべきポリシーオブジェクトの鍵をサーバ5から受け取る。
尚、サーバ5は、ユーザ端末4に照合結果や鍵を、予め生成されたユーザの公開鍵で暗号化してユーザ端末4に送信することが出来る。これにより、暗号化された照合結果や鍵は、ユーザの秘密鍵によってしか復号化されないため、照合結果や鍵の送信時の安全性がより高まる。
復号化部35は、復号鍵解読部34によって解読され、ユーザ端末4の一時メモリ43に取り出された復号鍵を用いて、パッケージファイル内の暗号化された元ファイルを復号化する手段である。また、復号化部35は、暗号化された元ファイルを復号化するだけでなく、復号鍵解読部34と連動して、その他の暗号化されたデータを復号化する手段であってもよい。
ファイル利用制御部36は、復号鍵解読部34によって解読された利用権限に基づいて、復号化された元ファイルの利用を制御する手段である。また、ファイル利用制御部36は、元ファイルのファイル識別情報に基づいて、元ファイルを開くための対応ソフト42を起動させる手段を兼ねていてもよい。尚、対応ソフト42は、ファイル利用プログラム3内に用意されていてもよい。例えば、あらゆる種類の元ファイルを閲覧することが出来るビューアー専用ソフトを、ユーザ端末4で利用することが出来るようになっていてもよい。
尚、ファイル利用制御部36は、API(Application Program Interface)フッキングを行う手段であってもよい。具体的には、元ファイルの対応ソフト42内のビューアー等の全部または一部の機能が、OSやミドルウェアで提供されている機能を呼び出すことによって実現されているような場合に、ファイル利用制御部36は、対応ソフト42を制御して、対応ソフト42から、OS若しくはミドルウェアに対して、取得した利用権限に基づいた機能呼び出し命令を行う。これにより、あらゆる元ファイルに対応して閲覧、印刷、編集、保存等を行うような専用ソフトを作成しなくとも、既存の対応ソフト42を利用しながら、利用権限の制御を行うことが可能となる。
尚、復号化部35やファイル利用制御部36は、復号鍵解読部34における正規の解読過程を経て一時メモリ43に取り出された復号鍵と利用権限を用いてのみ、暗号化された元ファイルを復号化したり、利用することが出来るものとする。例えば、単独で入力された復号鍵や利用権限を用いての復号化や利用がされそうになった場合には、復号化部35やファイル利用制御部36は、復号化や利用の過程をその場で中止させることが出来る。これにより、元ファイルの不正利用を防止することが出来る。
再パッケージ部37は、パッケージファイル中の暗号化された元ファイルが復号化され、ユーザの利用権限に基づいて、元ファイルの編集がなされた場合、編集後の元ファイルを再びポリシーファイルとともにパッケージする手段である。
再パッケージ部37は、編集後の元ファイルをパッケージしてパッケージファイルを生成した後は、元のパッケージファイルとの交換(もしくは元のパッケージファイルに上書き、更新)を行う。これにより、元のパッケージファイルは削除され、パッケージファイルが更新されることになる。
尚、元のパッケージファイルと再パッケージされたパッケージファイルとの基本的な相違は、元ファイルのデータ容量の相違のみであり、ファイル基本情報等の関連データは再パッケージに伴って更新される場合があるが、ファイル名や元ファイルの復号鍵は変わらない。また、例えば、元ファイルのハッシュ値に基づいて、改ざんや不正利用の検知の仕組みが採用されている場合には、当該ハッシュ値も更新される必要がある。
再パッケージ部37によりパッケージファイルの更新が行われることで、元ファイルの一元管理は継続して行われることになり、複数ユーザ間で共有しているような元ファイルの単一性も保持される。
尚、再パッケージ部37は、利用権限のうち、元ファイルの編集が許可された場合のみ機能するようになっていればよく、そもそも利用権限の中に、元ファイルの編集が含まれていない場合には、再パッケージ部37は不要である。更に、本実施例では、元ファイルの編集が許可されたユーザによるポリシーファイルの編集は出来ないようになっている。これは、ポリシーファイルを編集して、元ファイルが不正に利用されるのを防止するためである。
また、再パッケージ部37を有するファイル利用プログラム3は、元ファイルの再パッケージが行われた場合に、元ファイルの作成ユーザのユーザ端末4もしくはサーバ5に、再パッケージが行われた旨を通知する通知部(図示せず)を有していてもよい。これにより、元ファイルの作成ユーザやサーバは、即時に、元ファイルが更新されたことを確認することが出来る。
以上説明したファイル管理プログラム1内のファイル利用プログラム3の構成によれば、元ファイルの利用権限や元ファイルの復号鍵は、利用条件を満足した場合にのみ解読可能なように、パッケージファイルに含まれているので、ユーザは、パッケージファイルに含まれたポリシーの利用条件を満足した場合のみ、元ファイルの利用権限を与えられ、利用権限が与えられていないユーザによる元ファイルの利用は出来ない仕組みが提供されることになる。つまり、当該、ファイル管理プログラム1により、高いセキュリティレベルが維持された状態で、利用権限が与えられたユーザによる元ファイルの利用が可能となる。
また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッケージファイルが、メール添付等の方法により、利用権限を与えられたユーザのユーザ端末に格納された場合でも、同一の効果を奏するものである。
つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元ファイル毎に生成された共通鍵で暗号化され、1の元ファイルにつき、ユーザ数によらず1つのパッケージファイルが生成されることにも起因している。
ここで、利用状況データベース33aの詳細について説明する。利用状況データベース33a内の情報の読みとり、更新は、復号鍵解読手段による復号鍵及び利用権限の解読過程に於いてのみしか行われず、その過程以外に於いて、利用者や悪意者による更新、改ざんはされないこととする。
そのため、ユーザ端末4に生成される利用状況データベース33aは、ユーザ端末4の識別情報(MACアドレス、BIOSのシリアル番号、ハードディスク44のシリアル番号等)のハッシュ値等の一方向性関数によって暗号化されていてもよい。
尚、利用状況データベース33a内の利用状況の無断更新、改ざん、不正利用等の検知は、公知のハッシュ(一方向性)関数技術等を用いれば可能である。例えば、利用状況を常に、直前に更新又は読みとりがされた時点の利用状況のハッシュ値で暗号化する等して、次の更新又は読みとり時に、正しいハッシュ値で暗号化されていたかどうかの整合性をチェックする。
不正な読みとりや更新が実行されていた場合には、次に正規の読みとりや更新をしようとしても、利用状況が本来のハッシュ値で暗号化されていないか、正しい復号鍵を手に入れることが出来ないため、暗号化された元ファイルの復号化が出来ない。
又、例えば、利用状況の更新を、例えば1ずつ減らす等、決められた数字でしか増減出来ないような仕組みにしておき、本来利用状況を2回から3回に更新すべきところを、0回に改ざんすることは不可能なようにすることも出来る。
このように、万一、不正な読みとりや改ざん等がされた場合には、その場で、ファイル利用プログラム3の動作や復号鍵の解読を中止させるか、レジストリ等に暗号化してバックアップしておいた正しい利用状況を読み込んで、改ざんされた利用状況データベース33aを元の状態に復元させるようにする。
利用状況データベース33aをユーザのユーザ端末4にのみ生成可能とするためには、パッケージファイルを、新規ユーザが初めて開こうとする際にのみ、利用状況データベース33aの生成が可能なプログラムを設けるか、ダウンロード前にサーバ5が予めユーザ端末4の識別情報(MACアドレス、BIOSのシリアル番号、ハードディスク44のシリアル番号等)を認識し、その識別情報のハッシュ値等で利用状況データベース33aを暗号化しておき、他の識別情報を有する端末内では、暗号化された利用状況データベース33aを復号化出来ないようにするプログラムを設ける等する。
次に、利用状況データベース33aを初めに生成されたユーザ端末4以外の端末での読みとりを不可とするためには、復号鍵解読手段が利用条件と利用状況の照合を行う際に、サーバ5側に登録された識別情報を有するユーザ端末4に利用状況データベース33aが生成されているかどうかを確認し、利用状況データベース33aが見つからなかった場合には、ユーザ端末4以外の端末で元ファイルが利用されそうになったとみなし、元ファイルの利用を中止させる方法や、利用状況データベース33aをユーザ端末4毎に固有の識別情報のハッシュ値等で暗号化しておき、他の端末の識別情報のハッシュ値等では利用状況データベース33aを復号化出来ないようにする方法等が挙げられる。
更に、利用状況データベース33aを、利用状況の更新に用いる以外にも利用する場合の一実施例について説明する。
例えば、予め生成される利用条件の中に、ユーザ端末4の識別情報を1条件として加えておき、利用条件と利用状況の照合をする際に、利用状況として実際利用されているユーザ端末4の識別情報を調べ、利用条件としての本来利用権限を与えられたユーザのユーザ端末4の識別情報と合致しない場合には元ファイルの利用を中止させる方法をとってもよい。尚、この利用条件は、当然のことながらユーザ毎に異なるものとなるため、ポリシーファイルの共通化を図りたい場合には、当該利用条件に関するポリシーオブジェクトの利用条件や鍵は、サーバ5に格納されてもよい。
また、利用状況データベース33aをユーザやユーザ端末4の識別情報や固有の鍵によって暗号化することによって、利用状況データベース33aの中身が実質的に空であったとしても、復号鍵解読部34が、利用状況データベース33aの存在を確認するようにすれば、自ずとユーザやユーザ端末4の認証を行うことにもなり、元ファイルの利用権限を有していないユーザやユーザ端末4による不正利用の防止に一層効果がある。
ここで、パッケージファイルのデータ構造の一例を図5に示す。図5に基づいて説明すると、パッケージファイルは、ルートディレクトリの下に、復号鍵及び利用権限の取得経路及び取得順序を示す鍵取得経路ディレクトリと、ポリシーオブジェクト毎の利用条件を示す利用条件ディレクトリと、暗号化された元ファイルを格納するファイルディレクトリと、ファイル基本情報の4つのディレクトリによって構成されている。
尚、鍵取得経路ディレクトリと、利用条件ディレクトリがポリシーファイルに相当する部分で、パッケージ部23によって、このポリシーファイルと、暗号化された元ファイルと、ファイル基本情報とをパッケージしたのが、このパッケージファイルということになる。
鍵取得経路ディレクトリ下には、複数のポリシーオブジェクトが順番に並び、最終的に取得可能な利用権限及び復号鍵も含まれている。そして、各ポリシーオブジェクト内には、照合・更新手段34aを起動し、次のポリシーオブジェクトを開くための鍵が含まれている。
尚、図5中、点線枠で囲まれた部分のポリシーオブジェクトと利用条件は、実際には、ポリシーファイル内に含まれておらず、サーバ5に格納されている。このように、ポリシーファイルの一部または全ては、サーバ5から取得することも可能である。ポリシーファイルの一部または全てをサーバ5内に置くことによって、ポリシーファイルの改ざん等の不正行為を一層防止することが出来る。
また、利用条件ディレクトリ下には、生成されたポリシーオブジェクトの種類に応じて、利用条件の初期値が含まれており、データベース生成部33は、ユーザ端末4が元ファイルを初回利用する時に、この利用条件の初期値を利用状況データベース33aにコピー又は移動する。尚、利用状況データベース33aの生成場所や利用状況の更新方法についても、利用条件ディレクトリに格納されていてもよい。
尚、利用条件の初期値が必要なポリシーオブジェクトとは、前述したように、例えば、元ファイルの利用可能回数のように、ファイルの利用都度、その利用状況を更新し、次回のファイル利用時には更新された利用状況との比較を行う種類のものである。また、初期値を必要としないポリシーオブジェクトとは、例えば、元ファイルの利用期限のように、利用条件と、更新を必要としない利用状況との比較を行う種類のものである。
ここで、例えば、利用可能回数に関する利用条件の初期値は、例えば、10回であれば10回であるが、利用状況データベース33aに格納される数値は、「0回」もしくは「10回」となる。
仮に、「10回」と格納されている場合には、利用状況データベース33aは、元ファイルの利用の都度、1回ずつ回数を減らすように更新され、「0回」になった時点で元ファイルを利用出来なくなるので、照合・更新手段34aに於ける照合作業は実質的に不要となる。
一方、「0回」という格納されている場合には、照合・更新手段34aは、利用回数を増やすという利用状況データベース33a内の更新作業を行い、かつ、利用条件との照合作業(10回以下かどうかという判断)を行う必要がある。
つまり、復号鍵解読部34内の照合・更新手段34aは、図6に示されるように、利用条件の種類に応じて、鍵に対応する利用状況データベース33aの場所を利用条件ディレクトリ下から探し出し、利用状況データベース33aの更新を行ない、次の鍵を取得する。又、場合によっては、対応する利用条件を利用条件ディレクトリ下から探し出して、利用条件と利用状況の照合を行う。そして、図5に示したポリシーファイル内の分岐した各ディレクトリに格納されている鍵と利用条件と利用状況格納場所とを相互に結び付ける役割を担う。
ポリシーファイルを含むパッケージファイルを図5に示したような木構造としていることにより、利用権限及び復号鍵は正規の順序を経ないと取得されないこととなる。又、一方のディレクトリ内のデータが他方のディレクトリ内のデータと対応されないと復号鍵が解読されないため、一部のディレクトリのみをコピーしたり、いずれかのディレクトリの格納場所やパス名が変わってしまうと、復号鍵解読手段との連携が行われなくなるので不正利用が行われにくい、という効果がある。
次に、ファイル管理プログラム1を用いて、あるユーザAがファイルのパッケージを行ない、その後、パッケージファイルに含まれたファイルを他のユーザBが利用する場合のプロセスの一例を図8から図15までのフローチャート図及び図1、図2、図4、図6の構成図を用いて詳細に説明する。
尚。本実施例では、後述するサーバ情報格納ファイルがなければ、ファイル管理プログラム1の利用が出来ないものとする。従って、サーバ情報格納ファイルが、ファイル管理プログラム1のインストールと同時にユーザ端末4に格納されるか、または、インストーラが、サーバ情報格納ファイルの存在を条件としてファイル管理プログラム1のインストールを可能とするように構成されていることが望ましい。
まず、ファイル管理プログラム1を用いるユーザA,Bの双方は、それぞれにファイル管理プログラム1の利用規約に同意した後、ユーザ登録を完了しておく必要がある。
このユーザ登録の流れの一実施例について以下、図8のフローチャート図を参照しながら説明する。尚、以下のユーザ登録フローは、ユーザA,Bともに同じであり、ユーザ及びユーザ端末4の別を問わない。
ユーザ端末4は、ネットワーク6を介して、サーバ5等のコンピュータに格納されているユーザ登録用ホームページにアクセスするため、ユーザ登録用ホームページのURLを入力して、サーバ5に送信する(S110)。
サーバ5は、ユーザ端末4から受信したURLにあるユーザ登録用ホームページのデータをユーザ端末4に送信する(S115)。
サーバ5は、ユーザ端末4上に、ユーザ登録用ホームページ内のユーザ登録画面を表示させる。ユーザは、ユーザ登録画面上で、ユーザの識別情報やユーザ端末4の識別情報等の登録情報を入力し、サーバ5に送信する(S120)。尚、ユーザ端末4の識別情報等は、ユーザが入力しなくとも、ユーザ端末4から自動的に抽出され、サーバ5に送信されてもよい。
サーバ5は、ユーザ端末4から受信した登録情報をチェックし(S125)、入力漏れ等の不備があれば(S130)、エラーメッセージをユーザ端末4に送信する(S135)。尚、入力漏れ等の不備ではなく、例えば、登録情報に含まれるユーザのメールアドレスが既にサーバ5のユーザデータベース55に登録済みであり(S140)、登録情報の一部が既登録の登録情報と異なる場合には、登録情報の更新がされたと判断し、サーバ5のユーザデータベース55内の登録情報を更新する(S145)。
登録情報に不備や二重登録の恐れがなければ、サーバ5は、ユーザの公開鍵と秘密鍵のペアを生成し、サーバ5のユーザデータベース55に格納する(S150)。ここで生成された公開鍵と秘密鍵のペアは、後で、ユーザ端末4とサーバ5とが何らかのデータの送受信を行う際や、ユーザ端末4自体がユーザの認証を行う際に用いられるが、鍵の生成は必須ではない。
更に、サーバ5は、ユーザ毎にユニークなID(ユーザUID)と、ユーザ端末4毎にユニークなID(ユーザ端末UID)を生成し、これらとともに登録情報をユーザデータベース55に格納し(S155)、ユーザ端末4に登録完了メッセージとともに、格納された登録情報と、生成された公開鍵と秘密鍵と、ユーザUIDとユーザ端末UIDとを送信する(S160)。公開鍵と秘密鍵の生成が行われなかった場合には、鍵の送信は不要である。
尚、公開鍵と秘密鍵の送信の安全性に問題があるような場合には、これらの鍵を、サーバ5の秘密鍵で暗号化して、サーバ5の署名を付したり、ユーザ端末4のMACアドレス等のユニークな識別情報によって暗号化して、ユーザ登録がされたユーザ端末4においてしか、鍵を知ることが出来ないようにすることが出来る。
ユーザ端末4は、サーバ5が指定するユーザ端末4内の所定の場所(例えば、レジストリ内の所定の場所)に、登録情報を格納する(S165)。尚、この所定の場所とは、予め生成された利用状況データベース33aであってもよい。
次に、ユーザ登録を行ったユーザAが、任意のファイルをパッケージする流れの一実施例について以下、図9から図11までのフローを参照しながら説明する。尚、この前提として、ユーザAは、上述したようにサーバ5にユーザ登録を行っている他、ユーザAのユーザ端末Aに、図2に示したようなファイルパッケージプログラム2をインストールしているものとする。
ユーザ端末Aは、インストールされているファイルパッケージプログラム2を、画面上のアイコンをダブルクリックする等して起動する(S210)。
ユーザ端末Aの画面上には、図16に示すように、ファイルパッケージプログラム2へのログイン画面が現われるので、ユーザ端末Aは、登録ユーザか否かの認証を行う(もしくはサーバ5に要求する)ため、ログインIDとパスワードの入力を、キーボード等の入力デバイスから受け付ける(S215)。尚、本実施例では、ログインIDは、ユーザ登録時に登録されたユーザのメールアドレスであり、パスワードは、ユーザ登録時にユーザが指定し、サーバ5の認証データベース57に、ログインIDと対応させて格納している文字列である。
更に本実施例では、登録ユーザの認証精度を向上させるため、先に入力したパスワードによる認証を行う他、第2パスワードによる認証も行う。ここで、第2パスワードとは、ユーザが任意に指定することが出来る認証デバイスから得られる認証結果である。
認証デバイスは、ユーザ端末Aに接続されていればよく、どんな種類のものでもよい。認証デバイスの認証方式としては、大別して、パスワードベースの認証、所有物認証(ICカード、PKI証明書を用いるICカード、USBキー、USBトークン等)、生体認証(指紋、声紋、声紋、筆跡、顔、静脈等)の3種類がある。
本実施例では、どのような種類の認証デバイスからユーザの認証結果をもらっても、サーバ5もしくはユーザ端末Aがユーザ認証を行えるようにするため、また、ユーザが、ユーザ認証の数、組合わせを任意に変えることが出来るようにするための認証インターフェースを、サーバ5もしくはユーザ端末A内に有している。尚、認証インターフェースが、ユーザ端末A内にあるのは、ユーザがサーバ5にアクセスしないで、ユーザ端末A内での認証を要求する場合である。
認証インターフェースは、上記の認証方式を、(1)暗号ロジックが入るもの(一部のICカード、USBキー、生体認証等のPKIを用いるもの)、(2)認証結果YES/NOの2値のみ出力するもの(一部の生体認証、パスワードベースの認証)、(3)何らかの文字列を出力するもの(一部のUSBキー、MACアドレス、BIOSシリアルナンバー等のデバイスIDを有するデバイス)というように、認証デバイスの出力データ(第2パスワード)の種類別に分類し、ログインID、パスワード、第2パスワード、第2パスワードの認証種類とを対応付けて、サーバ5もしくはユーザ端末Aに保存しておく。
尚、(1)の暗号ロジックが入る認証方式の場合には、ログインID、パスワード、第2パスワード、第2パスワードの認証種類に加え、第2パスワードをPKI証明書に基づくユーザの公開鍵(以降、PKI公開鍵という)で暗号化しユーザの秘密鍵(以降、PKI秘密鍵という)で署名したデータ(テンプレートデータ)が、サーバ5もしくはユーザ端末Aに保存される。
認証インターフェースは、ユーザからの要求によって決定した認証デバイス、もしくは、認証インターフェース側で予め決めた認証デバイスから出力されたユーザの第2パスワードと、当該認証デバイスの種類を、ログインID、パスワードとともにユーザ端末Aから受け取って、既に保存されているデータと照合する。
尚、認証デバイスが、暗号化ロジックの入るものであれば、認証インターフェースは、既にサーバ5もしくはユーザ端末Aに保存されているテンプレートデータのうち、ログインIDに対応するテンプレートデータを受け取り、ユーザのPKI証明書によって、署名検証及び復号化して第2パスワードを取得し、既に保存されているデータと照合する。
尚、認証インターフェースでは、ログインIDと第2パスワードの照合のみが行われてもよく、パスワードの照合を省略してもよい。
このように構成された認証インターフェースが、サーバ5もしくはユーザ端末4に備えられていれば、ユーザが認証種類の数、組合わせを任意に行って、ユーザ認証を要求することが出来、また、予め決められた認証種類の数、組合わせでのユーザ認証を行うことも出来るので、サーバ5もしくはユーザ端末4は、認証デバイスが追加された場合にも、柔軟に対応することが出来る。また、1種類のパスワードのみによる認証ではなくなるので、認証精度は向上し、パスワードの秘匿性を完全に保つ必要はなくなり、パスワードそのものをユーザ端末4に保存しておくことも可能となる。
図9のフローチャート図の説明に戻ると、認証インターフェースは、上述したように任意の認証デバイスから第2パスワードを取得する(S220)。
ここで、ユーザAは、ユーザ端末Aにおけるユーザ認証(ローカルログイン)か、サーバ5におけるユーザ認証(サーバログイン)かのいずれかを選択する(S225)。
尚、ローカルログインを行うためには、図8のユーザ登録フローの中で、ユーザAの公開鍵と秘密鍵のペアが生成されており、かつ、ログインID、パスワード、第2パスワードとが対応付けられてユーザ端末Aに保存されており、更に、生成された秘密鍵が第2パスワードによって暗号化された状態で、ユーザ端末Aに保存されていることが必要である。
ローカルログインが選択された場合は、認証インターフェースは、ユーザ端末Aでユーザ認証を行うのに必要なユーザ情報(ログインID、パスワード、第2パスワード、認証種類、公開鍵と秘密鍵のペア、第2パスワードで暗号化された秘密鍵)が登録されているか否かを確認する(S230)。当該ユーザ情報のうち、いずれか1つでも登録されていなければ、図9のBのサーバログインのフローに進む。また、ローカルログインが選択されなかった場合にも、図9のBに進む。
ユーザ情報が登録されていれば、認証インターフェースは、取得したユーザ情報とユーザ端末Aに保存されているユーザ情報とを照合し、更に、ユーザ情報のうち、第2パスワードで暗号化された秘密鍵を、認証インターフェースが取得した第2パスワードによって復号化し、復号化された秘密鍵を、ユーザ端末Aに既に保存されている秘密鍵と照合する(S235)。
本実施例における秘密鍵の照合方法を以下、詳細に説明する。本実施例では、ユーザ登録の際に、ローカルログインを行うかどうかの決定がされ、ローカルログインを行うと決定した場合には、ユーザ端末Aに利用状況データベース33aが生成され、利用状況データベース33a内に、ユーザAの公開鍵と秘密鍵を含むユーザ情報が格納される。
更に、ユーザ登録時、ユーザAの秘密鍵は、置換表によって別の鍵に置換された後、利用状況データベース33aを暗号化する。
置換表は、乱数等で生成された暗号解読表の一種であり、置換前と置換後の対応を表す表である。本実施例では、後述するように、この置換表を用いて、ポリシーファイルの暗号化も行っている。これにより、ポリシーファイルが直接、利用者や悪意者の目に触れられることがなく、ポリシーファイルの解読や不正利用がしづらくなる。
置換表は、サーバ情報格納ファイルに格納されている。サーバ情報格納ファイルは、サーバ5毎に生成されるファイルであり、つまりサーバ5を識別するためのファイルでもある。従って、ユーザ端末Aがアクセスするサーバ5のURLが変更される場合等には、サーバ情報格納ファイル自体も変更されることになる。
サーバ情報格納ファイルには、置換表の他、サーバ情報格納ファイルの対応するサーバ5がファイル管理プログラム1の利用を許容するユーザIDの範囲と、サーバ5側のプログラムのURLと、ユーザ端末Aとサーバ5が通信するための鍵(例えば、サーバ5の公開鍵等)が含まれている。尚、ここでの、ユーザIDの範囲は、ユーザIDのスタート値とマスク値(範囲)であってもよい。
サーバ5側のプログラムのURLと、ユーザ端末Aとサーバ5が通信するための鍵は、ユーザ端末Aがサーバ5にアクセスしてきた際に、サーバ5側のプログラムを初期化して、サーバ5の負担を軽減するため、また、ユーザ端末Aからの暗号化通信を解読するためのものである。
本実施例では、ユーザAが、ファイル管理プログラム1をユーザ端末Aに格納する際に、サーバ情報格納ファイルを一緒に格納するようになっており、また、サーバ情報格納ファイルが一緒に格納されなければ、ファイル管理プログラム1を格納することが出来ないようになっている。これにより、パッケージファイルの単独での不正利用を防止することが出来る。
認証インターフェースは、暗号化された秘密鍵を、認証デバイスから取得した第2パスワードで復号化して秘密鍵を得て(S235)、更に、秘密鍵をサーバ情報格納ファイル中の置換表で置換して、暗号化された利用状況データベース33aを復号化する。復号化された利用状況データベース33a内に保存されているユーザ情報と、認証インターフェースが取得したユーザ情報とを照合して問題がなければ、ユーザAは、認証(ログイン)に成功したことになる(S240、S245)。
ユーザAがログインに成功すると、ユーザ端末Aの画面上に、利用状況データベース33a内に保存されているユーザ情報のうち、名前や所属名等の情報が表示される(これをユーザ情報回復という)。
尚、ここまでのログイン過程で、置換表が存在しない、復号化がされない、照合結果が正しくない等の問題があれば、ログイン失敗となり(S250)、以降の手続きに進むことは出来ない。
次に、図10のフローチャート図を参照しながら、サーバ5ログインの場合の流れを説明する。認証インターフェースは、ユーザ端末UIDがユーザ端末Aに登録されているかどうか確認する(S310)。尚、本実施例では、ユーザ端末UIDが登録されているかどうかは、ユーザ端末Aに、利用状況データベース33aが生成され、かつ、利用状況データベース33a内にユーザ端末UIDが保存されているかどうかによって確認することが出来る。その他、ユーザ端末AのMACアドレス等の識別情報をユーザ端末A自身から検出して、当該識別情報で暗号化された利用状況データベース33aを復号化することが出来るか等の方法によっても確認することが出来る。
ユーザ端末UIDが登録されていなければ、認証インターフェースは、サーバ5にユーザ端末Aの識別情報を送信する(S315)。サーバ5は、当該ユーザ端末Aの識別情報に基づいて、ユーザ端末UIDを生成し、登録する(S320)。
ユーザ端末UIDがユーザ端末Aに登録されれば、認証インターフェースは、サーバ5に、ユーザAのログインID、パスワード、第2パスワード、第2パスワードの認証種類を送信する(S325)。
サーバ5は、図2に示された認証部54において、送信された情報と認証データベース57に保存されている情報とを照合し(S330)、問題なければ、ユーザデータベース55に保存されているユーザ情報をユーザ端末Aに送信する(S335)。尚、この時、サーバ5は、ユーザ端末Aのユーザ情報とともに、他の登録ユーザのメールアドレスリストや、公開鍵リストを送信することも出来る。
照合の際に、問題があれば、ユーザ端末Aにエラーメッセージを送信する(S340)。
サーバ5からユーザ情報を受信したということは、ユーザAがログインに成功したということを意味する(S345)。ユーザ端末Aは、このユーザ情報に基づいて、画面上に、ユーザ名、所属名等の情報を表示させる(ユーザ回復という)。
ここからは、図2の構成図と、図11のフローチャート図を参照しながら説明する。ユーザ端末Aは、ログインが完了したユーザに対して、ファイルパッケージプログラム2のファイルパッケージ用画面を表示する。図17、図18に、ファイルパッケージ用画面の一例を示す。
ユーザAは、ファイルパッケージ用画面の任意のボタンをクリックする等して、ファイルパッケージプログラム2内の機能ブロックを有効にすることが出来る。
本実施例では、まず、ファイル指定部21は、ユーザAから、管理の対象としたいファイルの指定を受け付ける(S410)。図17においては、暗号化対象ファイルの指定の参照ボタン、図18においては、ファイル追加ボタンが、ファイルの指定受付に相当している。
次に、ポリシー策定部22は、ユーザAから、ファイル指定部21で指定したファイル(以下、元ファイルという)を他のユーザが利用する際のポリシーの策定を受け付ける(S420)。図17においては、セキュリティポリシーの設定画面における入力、図18においては、ポリシー設定画面における入力が、ポリシーの策定の受付に相当している。
本実施例では、元ファイルの利用権限が与えられるユーザ/グループ(例えば、ユーザBや、開発グループA等)、元ファイルの利用期限、元ファイルの利用回数、元ファイルを利用するためのパスワード、元ファイルの利用権限(利用形態)等のポリシーを策定する。
ポリシーは、図17においては、許可ユーザ/グループの選択、許可する操作(印刷、編集、保存、閲覧)の選択、閲覧条件(期間、回数、ファイルパスワード)の選択から構成されており、図18においては、動作(見る、プリント、保存、編集)の設定、期間と回数(期間、期限、回数)の設定、ユーザとグループの設定、サーバチェック(使用都度サーバ5で権利をチェックするか、一定の頻度でサーバ5で権利をチェックするか、使用できるクライアント(端末)数を制限するか)の設定、パスワードの設定から構成されている。
尚、本実施例では、元ファイルの利用権限が与えられるユーザは、登録ユーザに限られ、ユーザ端末Aは、予め、サーバ5から受信した登録ユーザのメールアドレスリストに基づいて、ユーザを選択する。ユーザは、例えば、所属グループ毎等に一括して選択されてもよい。図22に、図17の画面内の許可ユーザ/グループの選択画面の一例を示す。図22に示したように、画面上の左段に表示されたアドレス帳の中から許可ユーザ/グループをクリック等によって指定し、右段の許可ユーザ/グループ欄に表示されるようにする。
ポリシー策定部22は、ユーザAがユーザ端末A上で策定したポリシーに基づいて、XML文を生成する(S425)。尚、ここでXML文が生成されるのは、策定されたポリシーの構造を明確化し、ポリシーオブジェクトと、利用権限と、復号鍵と、利用条件とからなるポリシーファイルを生成しやすくするためであるが、必ずしも、XML文が生成される必要はない。
尚、XML文の生成は、例えば、図17において、暗号化ボタンがクリックされた時に行われてもよいし、図18においては、ポリシーを保存するボタンがクリックされた時に行われてもよい。
ここでユーザAは、ユーザ端末A上で、ポリシーファイルの生成を行う(ローカルパッケージ)か、サーバ5上でポリシーファイルの生成を行う(サーバパッケージ)かを選択する(S430)。
ユーザAによって、ローカルパッケージが選択された場合、後述するように、ユーザ端末Aで鍵が生成され、生成された鍵は、ユーザBが元ファイルを利用する際に用いられるが、この鍵はサーバ5には保存されない。従って、元ファイルの利用許可ユーザの認証方法は、自ずとローカルログインにしか対応しないようになる。
そのため、ユーザ端末Aは、元ファイルの利用許可ユーザ(ここではユーザB)毎に予め生成された公開鍵を取得する(S435)。尚、公開鍵の取得方法は任意である。例えば、ユーザAが、サーバログインを行った場合には、ログイン成功時に、サーバ5から登録ユーザの公開鍵リストを受信していてもよい。また、ユーザAがユーザ登録を行った際に、同様の公開鍵リストを受信していてもよい。また、都度、サーバ5にアクセスして、利用許可ユーザの公開鍵を取得してもよい。本実施例では、公開鍵を公開していないユーザに対しては、元ファイルの利用時にローカルログインを行えないため、ユーザ端末Aは、サーバパッケージしか行なえない。
ここで、ローカルパッケージを選択したユーザ端末Aは、図2においてサーバ5が有している鍵生成部51と同じ機能ブロックを有しているものとする。そこで、ユーザ端末Aの鍵生成部51は、元ファイルを暗号化するための乱数の復号鍵の他、後で生成されるポリシーファイルのポリシーオブジェクトを開くための鍵をポリシーオブジェクトの数だけ生成する(S440)。
更に、ユーザ端末Aの鍵生成部51もしくは、暗号化部(図示せず)は、鍵生成部51で生成された鍵のうち、ポリシーオブジェクトを開くための鍵を、先に取得した各利用許可ユーザの公開鍵で暗号化する(S445)。これは、利用許可ユーザの自己の秘密鍵でしか、鍵を復号化できないようにすることで、利用許可ユーザのみに元ファイルの利用をさせるためである。
ユーザ端末Aは、図2においてサーバ5が有しているポリシーファイル生成部52と同じ機能ブロックを有しているものとする。そこで、ユーザ端末Aのポリシーファイル生成部52は、利用条件と、利用権限と、復号鍵と、ポリシーオブジェクトを開くための鍵とを一体化して、図5に示したようなディレクトリ構造のポリシーファイルを生成する(S450)。本実施例では、ポリシーファイルも、策定されたポリシー同様、XML形式で生成される。尚、ポリシーファイルは、ここで、所定の置換表により置換されてもよい。
一方、S430において、ユーザAが、ローカルパッケージ以外のパッケージ方法、すなわち、サーバパッケージを選択した場合には、ユーザ端末Aからサーバ5に対し、先に生成されたXML形式のポリシーが送信される(S455)。
サーバ5は、ポリシーを受信し、XML文に含まれるポリシーの構造を解析する(S460)。ここで、ポリシーに基づいて、複数のポリシーオブジェクトが生成されてもよい。
サーバ5の鍵生成部51は、受信したポリシーに基づいて、元ファイルを暗号化するための乱数の復号鍵や、ポリシーオブジェクトの数だけの鍵を生成する(S465)。
サーバ5のポリシーファイル生成部52は、鍵生成部51が生成した鍵に基づいて、履歴データベース56に元ファイルのパッケージ履歴を格納するとともに(S470)、鍵生成部51で生成した鍵と、ポリシー策定部22で策定されたポリシーに基づいてポリシーファイルを生成する(S475)。尚、ポリシーファイルは、所定の置換表により置換されてもよい。
サーバ5は、生成されたポリシーファイルを、ユーザ端末Aに送信する(S480)。
ユーザ端末Aのパッケージ部23は、ローカルパッケージの場合にユーザ端末Aで生成されたポリシーファイルもしくは、サーバパッケージの場合にサーバ5で生成されたポリシーファイルに基づいて、元ファイルを復号鍵で暗号化するとともに、暗号化された元ファイルとポリシーファイルとをパッケージし、パッケージファイルを生成する(S485)。S425からS485までの一連の流れは、図17における暗号化ボタンや、図18におけるポリシー設定ボタンのクリックに伴い、行われてもよい。
尚、ユーザAは、ユーザA以外のユーザに元ファイルが改ざんされるのを検知できるように、生成されたパッケージファイルに署名を付けてもよい。尚、署名は、改ざんの検知対象となる元ファイルのハッシュ値をユーザAの秘密鍵で暗号化して、パッケージファイルに付される。
パッケージファイルは、ユーザAが指定する所定の格納場所に格納される。所定の格納場所に格納されたパッケージファイルは、利用許可ユーザが即座に開くことが出来るよう、生成されると同時に、図19に示すように、利用許可ユーザ宛のメールに添付されて送信されてもよい。また、図19の下段に示すように、メール本文に、利用許可ユーザに設定されたポリシーに関する情報が表示されてもよい。
また、ユーザ端末Aの検索リクエスト部24は、ユーザAがパッケージファイルを作成した履歴を履歴データベース56に基づいて検索することが出来る。図20、図21に、ユーザ端末A上に表示されるパッケージ履歴検索画面の一例を示す。このようなパッケージ履歴検索画面を用いれば、ユーザAは、どのユーザのためにどのような利用条件で、元ファイルをパッケージしたかを把握することが出来る。また、ポリシーの見直しや、ポリシーの修正に伴う元ファイルの再パッケージを行うことも可能となる。
次に、ユーザBが、ユーザAのユーザ端末Aでパッケージされたパッケージファイル中の元ファイルを利用する場合の一例を、図4の構成図と、図12〜図15のフローチャート図を参照しながら説明する。尚、ユーザBのユーザ端末Bには、ファイル利用プログラム3がインストールされているものとする。
ユーザBは、ユーザAが先にパッケージを行ない、ユーザ端末Bがアクセスすることが出来る記憶媒体に格納されたパッケージファイルを、ユーザ端末B上でダブルクリックする等して指定する(S510)。
尚、ユーザBはユーザAから、ユーザBが利用可能な元ファイルがパッケージされたことの通知を受けるか、もしくは、図19に示したように、ユーザ端末Aが元ファイルのパッケージを完了すると同時に、ユーザ端末Aからユーザ端末Bに対して、パッケージファイルが添付された電子メールが自動的に送信されるようになっていてもよい。また、先にファイル利用プログラム3を起動させ、ファイル指定部31が、ユーザBが利用したいパッケージファイルの指定を受け付けるようにしてもよい。
本実施例では、ユーザ端末Bは、パッケージファイルの指定に連動して、インストール済みのファイル利用プログラム3を起動させるようになっており、まず、ファイル利用プログラム3は、指定されたパッケージファイルのファイルフォーマットのチェックを行う(S515)。
更に、ファイル利用プログラム3は、パッケージファイルから、当該パッケージファイルを利用することが可能なユーザIDの範囲に関する情報(IDスペース情報)を取り出し(S520)、ファイル利用プログラム3は、取り出されたIDスペース情報に対応するサーバ情報格納ファイル及び置換表が、ユーザ端末Bに格納されているかを確認する(S525)。ここで、置換表が存在しない場合には、パッケージファイルは、ユーザBがファイル利用プログラム3によって利用することが出来ないファイルであるので、ユーザ端末Bにエラー通知を行う(S530)。
置換表が存在する場合には、ファイル利用プログラム3は、パッケージファイルから、ファイル基本情報を取り出す(S535)。
ファイル利用プログラム3は、取り出されたファイル基本情報に基づいて、ユーザ端末Bの画面上に、元ファイルの利用許可ユーザ/不許可ユーザ等のユーザリストを表示する(S540)。
ユーザBは、ユーザ端末Bの画面表示に基づいて、元ファイルの利用許可ユーザに含まれていることを確認した上で、ファイル利用プログラム3へのログインを行う(S545)。ファイル利用プログラム3へのログインの流れの一例は、先に図9、図10のフローチャート図で、ファイルパッケージプログラム2へのログインについて説明したのと同様であるので、説明及び図示を省略する。
尚、ファイル利用プログラム3のログイン時には、ユーザBが、ファイル管理プログラム1の登録ユーザかという認証のみならず、元ファイルの利用権限を有するものであるかの認証が行われてもよい。その場合で、かつ、サーバログインを行う場合には、ユーザ端末Bからサーバ5に、ユーザBの認証情報とともに、パッケージファイルまたは元ファイルの識別情報が送信され、サーバ5の認証部54は、これら受信した情報が、認証データベース57に格納されているかに基づき、ユーザBの認証を行う。
また、ユーザBが元ファイルの利用権限を有するユーザであるかどうかは、ポリシーの利用条件の1つとなって、復号鍵解読部34が利用条件の照合時に認証するものであってもよい。認証方法としては、ユーザ端末Bに、利用許可ユーザの識別情報で暗号化された、ないしは当該識別情報が記述された利用状況データベース33aが生成されているかどうかの確認を行うことも挙げられる。
ログイン成功以降の流れは、図13〜図15のフローチャート図と、図4、図6の構成図を参照しながら説明する。尚、本実施例では、特定のパッケージファイルを初めて利用する際には、データベース生成部33は、ユーザ端末Bに利用状況データベース33aが生成するものとする。また、ポリシーファイルに含まれるポリシーオブジェクトは3つであるものとし、これら3つのポリシーオブジェクトがポリシーファイル内で連鎖接続され、最後に照合が行われる利用条件が含まれるポリシーオブジェクトに、暗号化された元ファイルの復号鍵と、元ファイルの利用権限が接続されているものとする。
ユーザBがログインに成功すると、ファイル利用プログラム3に含まれる復号鍵解読部34が起動し、ポリシーファイルの解読を開始する(S610)。ここで、パッケージファイルに含まれているポリシーファイルが暗号化されている場合(S615)、復号鍵解読部34(もしくは復号化部35)は、暗号化されたポリシーファイルを復号化するため、ユーザ端末Bに格納されている置換表を取り出す(S620)。
尚、ここで、ポリシーファイルは、図7に示すように、任意の鍵Aを置換表によって置換した鍵Bによって、暗号化されているものとする。
復号鍵解読部34(もしくは復号化部35)は、サーバ情報格納ファイルやパッケージファイルのファイル基本情報内等に格納されている鍵Aを取り出し(S630)、置換表を用いて、鍵Aを鍵Bに置換する(S635)。ここで、鍵Aから鍵Bへの置換がされなかった場合には、置換表が改ざんされたことになり、その改ざんを検知するとともに、以降のステップには進めないようにする(S640)。尚、置換された鍵Bは、一時メモリ43上に展開される(S645)。
復号鍵解読部34(もしくは復号化部35)は、鍵Bを用いて、暗号化されたポリシーファイルを復号化する(S710)。ここで、暗号化されたポリシーファイルの復号化がされなかった場合には、何者かにより鍵Bの改ざんがされたことになり、その改ざんを検知するとともに、以降のステップには進めないようにする(S715)。
ポリシーファイルが復号化されたので、図6に示した復号鍵解読部34の照合・更新手段34aは、ポリシーファイルを構成する3つのポリシーオブジェクトのうち、ポリシーオブジェクト1に対応する利用条件1を取り出すことが出来る(S720)。尚、最初の照合・更新手段34aの起動は、例えば、ユーザBがログインに成功した場合にサーバ5から送られてくる鍵0(図6に示す)によって行われてもよいし、パスワードや特定の記号の入力によって行われてもよい。
尚、利用条件や鍵は、上述したように、全部又は一部が、サーバ5又はCD−ROM等のデータの書き換えが不可能な記憶媒体に格納されている場合もあるし、ポリシーファイルとは別のファイルとしてユーザBに発行される場合もある。
特に、ポリシーの中に、日時や回数等、正当な評価判断が必要とされる利用条件が含まれる場合には、鍵や利用条件の全部又は一部がサーバ5に格納されていたり、ポリシーファイルとは別のファイルとされている方が元ファイルの不正利用防止により効果的である。但し、サーバ5側に鍵や利用条件が格納されている場合は、ユーザ端末4が元ファイルの利用都度、サーバ5にアクセスしなければならず、その分ネットワーク接続の負担が高くなるため、サーバ5の設計に注意が必要である。
照合・更新手段34aは、取り出された利用条件1に対応する利用状況1がユーザ端末B内の利用状況データベース33aに存在するかどうかを確認する(S725)。尚、本実施例の利用条件1は、ユーザ端末B内の利用状況データベース33aに格納されているデータとの比較、照合が必要な利用条件であるものとするが、必ずしもそのような利用条件ばかりではなく、ユーザ端末Bによって検証可能な利用条件、サーバ5によって検証可能な利用条件も当然のことながら存在し、その場合には利用状況データベース33aの生成は必須ではない。
利用状況データベース33aそのもの、又は利用状況1がユーザ端末B内に存在しない場合には、ユーザ端末B以外のユーザ端末4で、元ファイルが不正に利用されそうになったことを表すので、以降のステップには進めないようにする(S730)。
尚、照合・更新手段34aで、ポリシーファイルや利用条件や利用状況のハッシュ値をとることによって、これらに対する改ざんを検知することも可能である。
照合・更新手段34aは、利用状況1が利用者端末7内に存在した場合(S725)、その利用状況1が利用条件1を満足しているか、つまり、利用条件1の範囲内の利用に相当しているかどうかを確認する(S735)。
例えば、利用条件1は、「利用限度回数が10回」であり、ユーザ端末B内に格納された利用状況1が、「現在利用回数3回」であれば、利用条件1を満足したものとする。一方、利用状況1が、現在利用回数10回であった場合には、利用条件1を満足しなかったものとして、以降のステップに進めないようにする(S740)。このように、以降のステップに進めない場合、ユーザ端末Bに表示されるエラー画面の一例を図23に示す。
利用条件1と利用状況1の照合が終わると、利用状況1の更新を行うとともに、次の照合・更新手段34bに進むために必要な鍵1が取り出される(S745)。
利用状況の更新は、例えば、対応する利用条件が「回数」に関するものである場合には、累積利用回数に1を加算するか、残り利用回数に1を減算する等した状態に自動的に更新される。
又、利用条件が、無期限、回数制限なしといった永久利用権のようなものであった場合でも、利用権限を有していないユーザに元ファイルを不正利用させることを防止するため、中身が空又は無意味なデータで構成された利用状況データベース33aをユーザ端末に生成し、利用条件と利用状況の照合時に必ず、利用状況データベース33aの存在を確認する過程を経るとよい。
ポリシーオブジェクト1から取り出された鍵1は、次のポリシーオブジェクト2を開き、ポリシーオブジェクト2に対応する利用条件2が取り出される(S810)。
復号鍵解読部34の照合・更新手段34bは、ユーザBが、利用条件2を満足しているかどうかを、サーバ5に確認する(S815)。例えば、利用条件2が、元ファイルの利用期限であるとすれば、復号鍵解読部34は、サーバ5に利用条件2を送信し、サーバ5から現在日時に関する情報を送信してもらうか、サーバ5で現在日時と利用条件2との照合を行いその結果を送信してもらう。
また、利用条件2が、例えば、パッケージファイルへの同時アクセス数であるとすれば、復号鍵解読部34は、サーバ5に利用条件2を送信し、サーバ5からパッケージファイルへのログインアクセス履歴等の情報に基づいた同時アクセス数に関する情報を送信してもらう。
ユーザBが利用条件2を満足していなければ、その場で、元ファイルの利用プロセスは中止される(S820)。ユーザBが利用条件2を満足していれば、ポリシーオブジェクト2に含まれる鍵2が取り出され、鍵2によってポリシーオブジェクト3が開かれる。そして、ポリシーオブジェクト3に対応する利用条件3が取り出される(S825)。
そして、利用条件3についても、S815〜S825と同様の手続きがとられ、復号鍵解読部34は、最終的に、復号鍵とユーザBの利用権限を取得する(S830)。尚、これら復号鍵と利用権限は、不正利用されることのないよう、ユーザ端末Bの一時メモリ43に展開されるが、ハードディスク44等の記憶媒体には格納されない。
復号化部35は、パッケージファイルの中から、暗号化された元ファイルを取り出し、先の復号鍵を用いて暗号化された元ファイルを復号化する(S835)。
復号化された元ファイルは、先の復号鍵や利用権限同様、ユーザ端末Bのハードディスク44ではなく一時メモリ43上に展開され、一時メモリ43上で元ファイルの利用が可能となる。尚、ユーザ端末Bのハードディスク44に元ファイルが格納されないのは、一旦、ハードディスク44に格納されてしまうと、利用条件を無視した元ファイルの利用が可能となってしまうのを防止するためである。
ファイル利用制御部36は、復号化された元ファイルの種類に応じた対応ソフト42をユーザ端末B上で起動させ(S840)、当該対応ソフト42上で元ファイルの利用を可能とする。また、その際、取得した利用権限に基づいて、対応ソフト42の動作を制御する(S845)。例えば、ユーザBが取得した利用権限が、元ファイルの閲覧のみであった場合には、対応ソフト42の画面上に現われる保存ボタンや印刷ボタンは表示されないようにする。また、ファイル利用制御部36は、ユーザBが取得した利用権限外の利用(例えば、印刷や保存)が行われようとした場合には、その動作を検知して、元ファイルの利用を中止させたり、ユーザ端末Bの画面上に警告表示を行ってもよい。
対応ソフト42は、元ファイルの種類に応じてユーザ端末B内に用意されていてもよいし、元ファイルの種類によらないマルチ対応ソフトであってもよい。また、対応ソフト42がファイル利用プログラム3に含まれていてもよい。
尚、ユーザBが元ファイルの利用を終える場合には、対応ソフト42をユーザ端末B上で閉じれば、一時メモリ43に展開されていた復号鍵、利用権限、元ファイル等のデータは削除され、ユーザ端末Bがアクセス可能な記憶媒体にもともとあったパッケージファイルだけが残る。そして、ユーザBがこれ以降に元ファイルを利用する場合も、これまでと同様の復号鍵解読過程を経ることによって、利用条件及び利用権限の範囲内で元ファイルの利用が可能となる。
尚、パッケージファイル一式の格納場所の移動やコピー・複製は任意である。また、利用権限の一態様として、元ファイルの保存や編集が認められている場合には、元ファイルそのものをハードディスク44に保存することが可能となる。一旦、元ファイルがハードディスク44に保存されれば、それ以降は、ファイル利用プログラム3の起動を行わずに、対応ソフト42の起動によって、元ファイルを利用することが可能となる。
次に、利用権限の一態様として元ファイルの編集が認められた場合に、パッケージファイルの更新を行う手順について、以下説明する。尚、ファイル利用プログラム3には、当初から再パッケージ部37が含まれているものとするが、復号鍵解読部34で取得した利用権限に編集が含まれていない場合には、再パッケージ部37が動作しないように制御されることが望ましい。
まず、元ファイルについて編集という利用権限を取得したユーザBのユーザ端末B上で、元ファイルの編集が行われると、再パッケージ部37は、対応ソフト42から元ファイルの編集が行われたことの通知を受ける。
そこで、再パッケージ部37は、編集終了後(例えば、ユーザ端末Bの画面上に「再パッケージボタン」を表示させ、クリック等されたのを検知して)、編集された元ファイルを、編集前の元ファイルが暗号化されていたのと同じ復号鍵で暗号化して、ポリシーファイルやファイル基本情報とともにパッケージ化し、パッケージファイルを生成する。生成されたパッケージファイルは、元のパッケージファイルに上書きされる。つまり、元のパッケージファイルは削除され、新しいパッケージファイルは元のパッケージファイルの格納場所に格納される。
尚、ポリシーファイルは、元のポリシーファイルと基本的に変わらないが、ファイル基本情報については、内容が一部更新された状態で、再パッケージに用いられる場合もある。
元ファイルの再パッケージが行われた場合には、その旨が、元ファイルの作成ユーザに通知されてもよい。また、ユーザBのサーバ5へのアクセス履歴や再パッケージ履歴は、サーバ5の履歴データベース56に逐次格納されるので、元ファイルの作成ユーザAは、検索リクエスト部24から、サーバ5の検索部53に、ユーザBの元ファイル利用履歴の検索を要求してもよい。これにより、ユーザAは、元ファイル作成後の追跡、管理を行うことが出来る。
本発明に於ける各手段、データベースは、その機能が論理的に区別されているのみであって、物理上或は事実上は同一の領域を為していてもよい。又データベースの代わりにデータファイルであってもよいことは言うまでもなく、データベースとの記載にはデータファイルをも含んでいる。
尚、本発明を実施するにあたり本実施態様の機能を実現するソフトウェアのプログラムを記録した記憶媒体をシステムに供給し、そのシステムのコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても実現される。
この場合、記憶媒体から読み出されたプログラム自体が前記した実施態様の機能を実現することとなり、そのプログラムを記憶した記憶媒体は本発明を構成する。
本発明のプログラムの供給は、主として、LAN6aやインターネット6b等のネットワーク6を介してコンピュータにダウンロードさせる方法による。その他、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカード等の可搬型の記憶媒体からコンピュータへの供給も可能である。
又、コンピュータが読み出したプログラムを実行することにより、上述した実施態様の機能が実現されるだけではなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムなどが実際の処理の一部又は全部を行い、その処理によって前記した実施態様の機能が実現される場合も本発明に含まれる。
1:ファイル管理プログラム
2:ファイルパッケージプログラム
21:ファイル指定部
22:ポリシー策定部
23:パッケージ部
24:検索リクエスト部
3:ファイル利用プログラム
31:ファイル指定部
32:認証リクエスト部
33:データベース生成部
33a:利用状況データベース
34:復号鍵解読部
34a,34b,34c:照合・更新手段
35:復号化部
36:ファイル利用制御部
37:再パッケージ部
4:ユーザ端末
42:対応ソフト
43:一時メモリ
44:ハードディスク
5:サーバ
51:鍵生成部
52:ポリシーファイル生成部
53:検索部
54:認証部
55:ユーザデータベース
56:履歴データベース
57:認証データベース
6:ネットワーク
2:ファイルパッケージプログラム
21:ファイル指定部
22:ポリシー策定部
23:パッケージ部
24:検索リクエスト部
3:ファイル利用プログラム
31:ファイル指定部
32:認証リクエスト部
33:データベース生成部
33a:利用状況データベース
34:復号鍵解読部
34a,34b,34c:照合・更新手段
35:復号化部
36:ファイル利用制御部
37:再パッケージ部
4:ユーザ端末
42:対応ソフト
43:一時メモリ
44:ハードディスク
5:サーバ
51:鍵生成部
52:ポリシーファイル生成部
53:検索部
54:認証部
55:ユーザデータベース
56:履歴データベース
57:認証データベース
6:ネットワーク
Claims (13)
- ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムを有するファイル管理プログラムであって、
前記ファイルパッケージプログラムは、
管理の対象としたい元ファイルの指定を受け付けるファイル指定部と、
前記元ファイルを利用する際のポリシーを策定するポリシー策定部と、
前記元ファイル毎に生成された共通鍵と前記ポリシーに基づいて生成されたポリシーファイルと、前記共通鍵で暗号化された元ファイルとをパッケージしてパッケージファイルを生成するパッケージ部とを有し、
前記ポリシーの利用条件を満足したユーザのみが、前記ポリシーファイル内の共通鍵と元ファイルの利用権限を前記ユーザの端末の一時メモリ上に展開出来るようにし、更に、前記共通鍵で復号化された元ファイルを前記一時メモリ上にのみ展開出来、前記利用権限の範囲内で元ファイルの利用が可能なように前記パッケージファイルを生成する
ことを特徴とするファイル管理プログラム。
- 前記ファイルパッケージプログラムは、更に、
前記パッケージファイルのパッケージ履歴に関する情報や、前記パッケージファイルへのユーザのアクセス履歴に関する情報の検索を行う検索部を有する
ことを特徴とする請求項1に記載のファイル管理プログラム。
- 前記ファイルパッケージプログラムは、
前記パッケージ部でパッケージファイルが生成されるとともに、前記元ファイルの利用権限が与えられたユーザのユーザ端末に、前記パッケージファイルの生成を、通知もしくは、前記パッケージファイルをメール添付により送信する通知部を
有することを特徴とする請求項1又は請求項2に記載のファイル管理プログラム。
- ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行うためのファイルパッケージプログラムによりパッケージされた元ファイルを復元してユーザが利用するためのファイル利用プログラムを有するファイル管理プログラムであって、
前記ファイル利用プログラムは、
パッケージファイルのうち、利用したい元ファイルがパッケージされているパッケージファイルの指定を受け付けるファイル指定部と、
前記パッケージファイル内のポリシーファイルを構成しているポリシーの利用条件照合を行ない、前記元ファイルの利用が前記利用条件の範囲内の利用である場合、前記元ファイル毎に生成された共通鍵であって、暗号化に用いられた元ファイルの復号鍵と、前記元ファイルの利用権限とを、前記ポリシーファイルの中から取得するとともに、これら復号鍵と利用権限を前記ユーザ端末の一時メモリ上に展開する復号鍵解読部と、
前記取得した共通鍵によって、前記パッケージファイル内の暗号化された前記元ファイルを復号化し、前記ユーザ端末の一時メモリ上に展開する復号化部と、
前記取得した利用権限に基づいて、前記元ファイルの利用を制御するファイル利用制御部とを
有することを特徴とするファイル管理プログラム。
- 前記ファイル利用制御部は、
前記元ファイルの対応ソフトを制御して、前記対応ソフトからユーザ端末のOS若しくはミドルウェアに対して、前記取得した利用権限に基づいた機能呼び出し命令を行うAPIフッキングを行う手段である
ことを特徴とする請求項4に記載のファイル管理プログラム。
- 前記ファイル利用プログラムは、更に、
前記パッケージファイル中の暗号化された元ファイルが復号化され、ユーザの利用権限に基づいて前記元ファイルの編集がなされた場合、編集後の元ファイルを再び前記ポリシーファイルとともにパッケージし、元のパッケージファイルを更新する再パッケージ部を
有することを特徴とする請求項4又は請求項5に記載のファイル管理プログラム。
- 前記ファイル利用プログラムは、
前記元ファイルの再パッケージが行われた場合に、前記元ファイルの作成ユーザのユーザ端末もしくはサーバに、再パッケージが行われた旨を通知する通知部を
有することを特徴とする請求項6に記載のファイル管理プログラム。
- 前記ファイル利用プログラムは、
前記ユーザ端末においてパッケージファイル内の元ファイルを利用しようとする毎に前記ユーザ端末による元ファイルの利用状況を更新することが出来る利用状況データベースを、前記ユーザ端末以外のユーザ端末による読みとり、更新が出来ないような状態で、前記ユーザ端末に生成するデータベース生成部を
有することを特徴とする請求項4から請求項7のいずれかに記載のファイル管理プログラム。
- 前記ポリシーファイルの一部又は全ては、サーバに格納されており、
前記ファイル利用プログラムは、
前記サーバに、前記ポリシーファイル内の利用条件の照合を要求する
ことを特徴とする請求項4から請求項8のいずれかに記載のファイル管理プログラム。
- 前記ポリシーファイルは、サーバ毎に生成された置換表によって置換された鍵によって、暗号化されており、
前記置換表は、前記ファイル管理プログラムが前記ユーザ端末に格納されるとともに、前記ユーザ端末に格納される
ことを特徴とする請求項1から請求項9のいずれかに記載のファイル管理プログラム。
- 前記ポリシーファイルは、
利用条件が、複数のポリシーオブジェクトと対応付けて記述されたものであり、
任意のポリシーオブジェクトに対応する利用条件が満足された場合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終的に全てのポリシーオブジェクトの鍵が開かれ、全ての利用条件が満足された場合にのみ、前記復号鍵と利用権限を取り出すことが出来るような鎖状のデータ構造を有している
ことを特徴とする請求項1から請求項10のいずれかに記載のファイル管理プログラム。
- 前記ファイル管理プログラムは、
ファイル管理プログラムの登録ユーザかどうかの認証もしくは、前記利用条件に含まれる元ファイルの利用許可ユーザかどうかの認証を行う認証インターフェースを有しており、
前記認証インターフェースは、
ユーザからの要求によって決定した認証デバイス、もしくは、前記認証インターフェース側で予め決めた認証デバイスから出力された前記ユーザの第2パスワードと、当該認証デバイスの種類を、前記ファイル管理プログラムのログインID、パスワードとともに前記ユーザ端末からサーバに送信し、前記サーバに既に保存されているデータとの照合を依頼する
ことを特徴とする請求項1から請求項11のいずれかに記載のファイル管理プログラム。
- 前記認証インターフェースは、
前記認証デバイスが、暗号化ロジックの入るものであれば、前記サーバもしくは前記ユーザ端末に保存されているテンプレートデータのうち、前記ログインIDに対応するテンプレートデータを取得し、前記ユーザのPKI証明書によって、署名検証及び復号化して前記第2パスワードを取得し、前記サーバに既に保存されているデータとの照合を依頼する
ことを特徴とする請求項12に記載のファイル管理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004190754A JP2008026925A (ja) | 2004-06-29 | 2004-06-29 | ファイル管理プログラム |
PCT/JP2005/009908 WO2006001153A1 (ja) | 2004-06-29 | 2005-05-30 | ファイル管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004190754A JP2008026925A (ja) | 2004-06-29 | 2004-06-29 | ファイル管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008026925A true JP2008026925A (ja) | 2008-02-07 |
Family
ID=35781679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004190754A Withdrawn JP2008026925A (ja) | 2004-06-29 | 2004-06-29 | ファイル管理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2008026925A (ja) |
WO (1) | WO2006001153A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217577A (ja) * | 2008-03-11 | 2009-09-24 | Ri Co Ltd | バックアッププログラム |
JP2009265854A (ja) * | 2008-04-23 | 2009-11-12 | Soriton Syst:Kk | 機密ファイル管理システム |
JP2009271609A (ja) * | 2008-04-30 | 2009-11-19 | Soriton Syst:Kk | 機密ファイル管理システム |
JP2009301349A (ja) * | 2008-06-13 | 2009-12-24 | Micro Four Some Co Ltd | 電子ファイル自販機運営システム |
WO2010061801A1 (ja) * | 2008-11-28 | 2010-06-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム |
JP2010229775A (ja) * | 2009-03-30 | 2010-10-14 | Mitsubishi Motors Corp | 車両制御装置 |
JP2011004385A (ja) * | 2009-03-16 | 2011-01-06 | Ricoh Co Ltd | 情報処理装置、相互認証方法、相互認証プログラム、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体 |
JP2011159149A (ja) * | 2010-02-02 | 2011-08-18 | Nec Corp | 文書管理システム及び文書管理方法 |
JP2011253450A (ja) * | 2010-06-03 | 2011-12-15 | Toshiba Corp | アクセス制御プログラム及び装置 |
JP2014174721A (ja) * | 2013-03-08 | 2014-09-22 | Genetec Corp | 情報共有システム |
JP5995341B1 (ja) * | 2016-06-27 | 2016-09-21 | 株式会社 ゼネテック | 閲覧用ファイルの閲覧方法、閲覧用ファイルの閲覧プログラム、情報共有システム、情報共有システムのサーバー |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012083922A (ja) * | 2010-10-08 | 2012-04-26 | Fujitsu Ltd | データ監視プログラム、データ監視方法及びデータ監視装置 |
US9967238B1 (en) * | 2017-11-09 | 2018-05-08 | Broadridge Financial Solutions, Inc. | Database-centered computer network systems and computer-implemented methods for cryptographically-secured distributed data management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7178033B1 (en) * | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
JP3917463B2 (ja) * | 2002-05-28 | 2007-05-23 | 日本電信電話株式会社 | 個人情報流通管理方法,個人情報流通管理システムおよび個人情報流通管理用プログラム |
-
2004
- 2004-06-29 JP JP2004190754A patent/JP2008026925A/ja not_active Withdrawn
-
2005
- 2005-05-30 WO PCT/JP2005/009908 patent/WO2006001153A1/ja not_active Application Discontinuation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217577A (ja) * | 2008-03-11 | 2009-09-24 | Ri Co Ltd | バックアッププログラム |
JP2009265854A (ja) * | 2008-04-23 | 2009-11-12 | Soriton Syst:Kk | 機密ファイル管理システム |
JP2009271609A (ja) * | 2008-04-30 | 2009-11-19 | Soriton Syst:Kk | 機密ファイル管理システム |
JP2009301349A (ja) * | 2008-06-13 | 2009-12-24 | Micro Four Some Co Ltd | 電子ファイル自販機運営システム |
US8245042B2 (en) | 2008-11-28 | 2012-08-14 | International Business Machines Corporation | Shielding a sensitive file |
WO2010061801A1 (ja) * | 2008-11-28 | 2010-06-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム |
JP5270694B2 (ja) * | 2008-11-28 | 2013-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム |
JP2011004385A (ja) * | 2009-03-16 | 2011-01-06 | Ricoh Co Ltd | 情報処理装置、相互認証方法、相互認証プログラム、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体 |
JP2010229775A (ja) * | 2009-03-30 | 2010-10-14 | Mitsubishi Motors Corp | 車両制御装置 |
JP2011159149A (ja) * | 2010-02-02 | 2011-08-18 | Nec Corp | 文書管理システム及び文書管理方法 |
JP2011253450A (ja) * | 2010-06-03 | 2011-12-15 | Toshiba Corp | アクセス制御プログラム及び装置 |
JP2014174721A (ja) * | 2013-03-08 | 2014-09-22 | Genetec Corp | 情報共有システム |
JP5995341B1 (ja) * | 2016-06-27 | 2016-09-21 | 株式会社 ゼネテック | 閲覧用ファイルの閲覧方法、閲覧用ファイルの閲覧プログラム、情報共有システム、情報共有システムのサーバー |
Also Published As
Publication number | Publication date |
---|---|
WO2006001153A1 (ja) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104662870B (zh) | 数据安全管理系统 | |
US8918633B2 (en) | Information processing device, information processing system, and program | |
JP4350549B2 (ja) | デジタル著作権管理のための情報処理装置 | |
JP5270694B2 (ja) | 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム | |
US6173402B1 (en) | Technique for localizing keyphrase-based data encryption and decryption | |
US9246887B1 (en) | Method and apparatus for securing confidential data for a user in a computer | |
JP5783650B2 (ja) | ファイルを安全に管理するための方法、セキュリティ保護された装置、システム、及びコンピュータ・プログラム製品 | |
JPWO2006040806A1 (ja) | 暗号鍵配信システム | |
US20190028488A1 (en) | Method and system for blocking phishing or ransomware attack | |
JP5354001B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
US20230388304A1 (en) | Decentralized application authentication | |
JP2004265286A (ja) | 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理 | |
US8850563B2 (en) | Portable computer accounts | |
JP2008026925A (ja) | ファイル管理プログラム | |
US20080172750A1 (en) | Self validation of user authentication requests | |
JP2005065209A (ja) | 文書保安システム | |
JPH10260939A (ja) | コンピュータネットワークのクライアントマシン認証方法,クライアントマシン,ホストマシン及びコンピュータシステム | |
JP4578088B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP2009015766A (ja) | ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム | |
JP4587688B2 (ja) | 暗号鍵管理サーバ、暗号鍵管理プログラム、暗号鍵取得端末、暗号鍵取得プログラム、暗号鍵管理システム及び暗号鍵管理方法 | |
JP4830576B2 (ja) | 情報処理装置、データ管理方法、プログラム | |
JP2004213265A (ja) | 電子文書管理装置、文書作成者装置、文書閲覧者装置、電子文書管理方法及び電子文書管理システム | |
JP6464544B1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム | |
JP2006228139A (ja) | セキュリティ管理システム | |
JP4683856B2 (ja) | 認証プログラムおよび認証サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080205 |