以下、本発明による文書管理システム及び文書管理方法の実施形態を図面により詳細に制御する。なお、以下に説明する本発明の実施形態において、「コンテンツ」とは、特に、説明を付さない限り、文書ファイル、画像ファイル等のファイルのみならず、データベース全体や、データベースの各レコード等も含め、閲覧、視聴、メール送受信あるいは外部記憶媒体へのコピー等の対象となりうる電子データ全てを意味する。
図1は本発明の第1の実施形態による文書管理システムの構成例を示すブロック図である。
<文書管理システムの全体的な構成及び機能>
第1の実施形態による文書管理システムは、図1に示すように、コンテンツ管理サーバ1と、クライアント3と、クライアント4との各装置を、有線または無線の通信回線により相互に通信可能に接続して構成されている。
なお、図1には、各装置を1台ずつ示しているが、それぞれ2以上存在していてもよい。また、各装置は、それぞれ1台ずつ存在する必要はなく、例えば、クライアント3とクライアント4とは1台で両方の機能を備えるように構成することも可能である。さらに、図1においては1台の装置が備えている複数のプログラム(例えば、クライアント4のアクセス権限登録・変更プログラム41、コンテンツ暗号化プログラム42及びコンテンツ参照プログラム43)を別の装置上に分離して備えることもできる。
図1において、コンテンツ管理サーバ1、クライアント3及びクライアント4は、LAN(Local Area Network)9及びインターネット91によって互いに通信可能に接続されているが、インターネット91を介さず、LAN9のみによって接続されていてもよいし、また、例えば、WAN(Wide Area Network)によって接続されていてもよい。
前述において、クライアント3は、アクセス制限の対象となるコンテンツの参照等を行う可能性のある利用者をコンテンツ管理サーバ1に登録することができる。また、クライアント4は、コンテンツ管理サーバ1の機能を使用して、クライアント4に記憶しているコンテンツを暗号化し、アクセス制限をかけることができる。さらに、クライアント4は、暗号化したコンテンツを復号化して利用者に参照させることもできる。
なお、図1において、利用者を登録するクライアント3と、コンテンツの暗号化等を行うクライアント4とを別装置としているが、前述したように、1つの装置が両方の機能を備えてもよい。また、クライアント4が暗号化したコンテンツを参照する別の装置が、LAN9、インターネット91に接続されていてもよい。従って、クライアント4が暗号化したコンテンツを電子メール等で前述の別装置に送信し、その別装置から参照することが可能である。
また、第1の実施形態による文書管理システムの全体は、例えば、1つの企業内に構築することもできる。この場合、コンテンツ管理サーバ1と同一敷地内に設置した装置(クライアント3等)は、LAN9によってコンテンツ管理サーバ1と接続され、一方、他の地域等に設置した装置は、インターネット91経由でVPN(Virtual Private Network)接続すればよい。
一方、前述のコンテンツ管理サーバ1を、例えば、同一企業グループに属する複数企業が共同で利用することも可能である。この場合、例えば、前述の企業グループには属さないサービス事業者がコンテンツ管理サーバ1を設置・運営し、前述の企業グループに属する各企業は、クライアント3等の装置を、インターネット91経由でコンテンツ管理サーバ1とVPN(Virtual Private Network)接続すればよい。
<文書管理システムの各部の構成及び機能>
以下、コンテンツ管理サーバ1、クライアント3及びクライアント4の構成・機能を説明する。
<コンテンツ管理サーバ1の構成及び機能>
コンテンツ管理サーバ1は、PC等の装置であり、図示していないが、CPU(Central Processing Unit)、主記憶装置等を備えて構成されている。主記憶装置には、コンテンツ管理サーバ1の起動時等の所定のタイミングで、図示していないが外部記憶装置に記憶された利用者管理プログラム11、アクセス権限管理プログラム12、コンテンツ管理プログラム13及びアクセス制御プログラム14がローディングされ、各プログラムに記憶されている命令コードがCPUによって実行される。
なお、前述のようなプログラム実行にかかわる技術は周知であるので、各図面及び以降の説明においては、プログラム実行に係る説明が煩雑になるのを避けるため、「利用者管理プログラム11がファイルを参照する」といったように、各種プログラムが処理実行の主体であるかのように記載する。また、コンテンツ管理サーバ1の主記憶装置には、OS(Operating System)等もローディングされ、CPUは、随時必要に応じてOSの命令コードを実行するが、このような技術も周知であるので、以下では特に説明が必要な場合を除きOS等の処理については触れない。
コンテンツ管理サーバ1は、PC本体内部に格納されるかまたは外部に存在する記憶装置2と通信可能に接続されている。記憶装置2には、鍵ファイル21、利用者ファイル23、アクセス権限ファイル25及びコンテンツ管理ファイル26が記憶されている。以下に、各プログラムの機能に触れつつ、これらのファイルの目的、記憶内容等を説明する。
鍵ファイル21は、コンテンツを暗号化するための暗号鍵と、当該暗号鍵によって暗号化されたコンテンツを復号化するための復号鍵とを対にして記憶しているファイルである。システム全体で1つの暗号鍵及び1つの復号鍵だけを使用する場合には、1組の暗号鍵と復号鍵とだけを記憶しておけばよいし、そうしたほうがシステムの機能等を単純にすることができるが、本発明の第1の実施形態では、暗号鍵と復号鍵との対を1以上記憶しておき、コンテンツを暗号化する際に使用する暗号鍵を選択することができるようにした方式を採用することとしている。このため、鍵ファイル21には、暗号鍵と復号鍵との対を識別するためのID(Identifier)も記憶されている。このようにすることにより、ある暗号鍵に対応する復号鍵が漏洩し、あるいは、推定演算により知られてしまっても、別の暗号鍵を用いて暗号化されたコンテンツを復号化することはできないので、システムの秘匿性を向上させることができる。また、暗号鍵と復号鍵とを同一の鍵にすることも可能であり、このようにすればシステムをより単純にすることもできるが、一方、暗号鍵と復号鍵とを分けることにより、暗号鍵を知られても復号化する事ができずシステムの秘匿性を向上させることができる。
なお、コンテンツ管理サーバ1は、鍵ファイル21を作成・更新等するプログラムも備えているが、このプログラムの機能は、本発明とは直接関係がないため、図示していない。
利用者ファイル23は、コンテンツを暗号化したり、暗号化したコンテンツを復号化したりする必要がある利用者のアカウント、パスワード等を記憶しているファイルである。利用者ファイル23の内容は、コンテンツ管理サーバ1がクライアント3からの利用者登録要求を受けると、利用者管理プログラム11により登録される。
コンテンツ管理ファイル26は、暗号化したコンテンツを参照する等のコンテンツへのアクセスが、どの利用者に許可されているかを管理するファイルである。この目的を達成するためには、暗号化したコンテンツを一意に識別可能なコンテンツIDと対に、アクセスが許可されている利用者の一覧を記憶すればよい。しかし、複数のコンテンツについて、同じ利用者にアクセスを許可する場合も多く、その場合、コンテンツ管理ファイル26にアクセスが許可されている利用者の一覧を記憶すると、暗号化されたコンテンツ毎に同じ内容が重複して記憶されることになり、記憶装置の容量を冗長に使用することになる。そのため、第1の実施形態では、アクセス権限ファイル25に、アクセス権限IDと対にして、アクセスが許可されている利用者の一覧を記憶し、コンテンツ管理ファイル26には、アクセス権限IDを記憶する方式を採用している。
アクセス権限ファイル25の内容は、アクセス権限管理プログラム12により、クライアント4からのアクセス権限登録要求を受けて登録される。また、コンテンツ管理ファイル26は、コンテンツ管理プログラム13により、クライアント4からのコンテンツ暗号化要求を受けて作成され、アクセス制御プログラム14により、クライアント4からのコンテンツ参照要求を受けて参照される。
前述で説明した各プログラムは、例えば、WEBアプリケーションとし、図示していないがapache等のWEBサーバ配下で動作するようにしてもよい。このようにすることにより、後述するクライアント3の利用者登録・変更プログラム31等の機能をWEBブラウザによって実現することが可能になり、クライアント3への特別なプログラムのインストール等の作業が発生しないようにすることができる。
<クライアント3の構成及び機能>
クライアント3は、PC等の装置であり、入力装置35及び表示装置36と通信可能に接続されている。入力装置35は、キーボード、マウス等の装置であり、クライアント3の操作者は、入力装置35を操作することにより、クライアント3が実行するべき処理を指示することができる。
表示装置36は、液晶ディスプレイ、プリンタ等であり、クライアント3が実行した処理の結果等を表示、印刷する。
クライアント3は、図示していないがCPU及び主記憶装置を備えており、利用者登録・変更プログラム31が主記憶装置にローディングされ、CPUによって実行される。
利用者登録・変更プログラム31は、クライアント3の操作者が入力装置35を使用して入力した利用者のアカウント等を利用者管理プログラム11に送信して、利用者ファイル23に登録するように依頼する。
<クライアント4の構成及び機能>
クライアント4は、PC等の装置であり、入力装置45、表示装置46及び記憶装置46と通信可能に接続されている。入力装置35は、キーボード、マウス等の装置であり、クライアント4の操作者は、入力装置45を操作することにより、クライアント4が実行するべき処理を指示することができる。
表示装置46は、液晶ディスプレイ、プリンタ等であり、クライアント4が実行した処理の結果等を表示、印刷する。
記憶装置46は、磁気ディスク等の装置であり、クライアント4に内蔵されまたは外部接続される。記憶装置46には、図示していないが暗号化する前のコンテンツや、暗号化した後のコンテンツである暗号化コンテンツ49が記憶されている。ここで、暗号化コンテンツ49とは、特定のファイル等を意味するものではなく、後述するコンテンツ暗号化プログラム42が暗号化したコンテンツ一般を意味している。従って、暗号化コンテンツ49は、1以上存在する場合もあれば、存在していない場合もある。なお、暗号化コンテンツ49には、暗号化する前のコンテンツ内容を暗号化した結果だけでなく、暗号化コンテンツ49を一意に識別可能なコンテンツID等が記憶されている。
クライアント4は、図示していないがCPU及び主記憶装置を備えており、アクセス権限登録・変更プログラム41、コンテンツ暗号化プログラム42及びコンテンツ参照プログラム43が主記憶装置にローディングされ、CPUによって実行される。
アクセス権限登録・変更プログラム41は、クライアント4の操作者が入力装置45を使用して入力した利用者一覧等をアクセス権限管理プログラム12に送信して、アクセス権限ファイル25に登録するように依頼する。
コンテンツ暗号化プログラム42は、クライアント4の操作者が入力装置45を使用して指定したコンテンツ暗号化要求をコンテンツ管理プログラム13に送信して、コンテンツ管理ファイル26を作成すると共に、暗号鍵を送信するように依頼する。そして、コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13が送信した暗号鍵を使用してコンテンツを暗号化し、暗号化コンテンツ49を作成して、記憶装置46に記憶する。
コンテンツ参照プログラム43は、クライアント4の操作者が入力装置45を使用して指定した暗号化コンテンツ49についての参照要求をアクセス制御プログラム14に送信し、クライアント4の操作者が当該暗号化コンテンツ49の参照権限を持っているか否かを判定して、参照権限を持っている場合に、復号鍵を送信するように依頼する。そして、コンテンツ参照プログラム43は、アクセス制御プログラム14が送信した復号鍵を使用してコンテンツを復号化し、コンテンツ内容を表示装置46に表示する。
<文書管理システムの機能についての補足説明>
次に、前述迄に説明した各構成を前提に、本発明の第1の実施形態による文書管理システムにおける基本的なアクセス制御方法について、一例を挙げて説明する。
いま、ある企業において、a、b、c、d、eの5名がコンテンツを暗号化し、あるいは、暗号化したコンテンツを参照する必要が生じたとする。なお、鍵ファイル21は既に作成済みであるとする。
まず、クライアント3の操作者(a〜eのうちの1名でもよいし、それ以外の者でもよい)は、利用者登録・変更プログラム31及び利用者管理プログラム11を使用して、a、b、c、d、eの5名を利用者ファイル23に登録する。
次に、クライアント4の操作者である利用者aは、アクセス権限登録・変更プログラム41及びアクセス権限管理プログラム12を使用して、暗号化コンテンツを参照させたい利用者b、cを、所定のアクセス権限IDと対にしてアクセス権限ファイル25に登録する。
そして、利用者aは、コンテンツ暗号化プログラム42及びコンテンツ管理プログラム13を使用して、利用者b、cに参照させたい設計図面ファイル(記憶装置47に記憶されている)を、暗号化して暗号化コンテンツ49として記憶装置47に記憶すると共に、所定のコンテンツIDとアクセス権限IDとを対にして、コンテンツ管理ファイル26に記憶する。
利用者aは、電子メール送信、ファイル転送等により、暗号化コンテンツ49を利用者b、cに送信する。
利用者b、cが、各利用者のクライアント4のコンテンツ参照プログラム43によって送信された暗号化コンテンツ49を参照しようとすると、コンテンツ参照プログラム43は、参照しようとしている暗号化コンテンツ49のコンテンツID等をアクセス制御プログラム14に送信する。アクセス制御プログラム14は、送信されたコンテンツIDによってコンテンツ管理ファイル26のアクセス権限IDを取得し、そのアクセス権限IDによってアクセス権限ファイル25の参照可能な利用者を取得する。利用者b、cは、参照可能な利用者として登録されているので、アクセス制御プログラム14は、コンテンツ参照プログラム43に復号鍵と共に認証に成功したことを送信し、コンテンツ参照プログラム43は、暗号化コンテンツ49を復号化して、表示装置46に表示する。
前述したように、本発明の第1の実施形態では、暗号化コンテンツ49を作成する際に、コンテンツ管理サーバ1に、参照等が可能な利用者を登録することにより、登録された利用者は、暗号化コンテンツ49の参照等が可能になる。一方、登録されていない利用者は、暗号化コンテンツ49の参照等を行うことができない。従って、利用者aが誤って利用者dに暗号化コンテンツ49を送信した場合でも、利用者dは、暗号化コンテンツ49の参照等を行うことができず、情報漏洩を防止することができる。
<各ファイルのデータ構造>
図2は本発明の第1の実施形態における鍵ファイル21のデータ構成を示す図である。
鍵ファイル21は、前述したように、コンテンツを暗号化するための暗号鍵と、この暗号鍵によって暗号化されたコンテンツを復号化するための復号鍵とを対にして記憶しているファイルであり、1以上の鍵レコード210を記憶して構成されている。
鍵レコード210は、鍵レコードを一意に識別することが可能な鍵ID211、コンテンツの暗号鍵である暗号化鍵212及び暗号化鍵212によって暗号化したコンテンツの復号鍵である復号化鍵213から構成される。
図3は本発明の第1の実施形態における利用者ファイル23のデータ構成を示す図である。
利用者ファイル23は、コンテンツを暗号化したり、暗号化したコンテンツを復号化したりする必要がある利用者のアカウント、パスワード等を記憶しているファイルであり、1以上の利用者レコード230を記憶して構成されている。
利用者レコード230は、利用者を一意に識別することが可能な利用者ID(アカウントID)231、利用者がログインする際に使用するパスワード232、利用者登録等の利用者管理操作を行う権限を有しているか否かを示す利用者管理権限有無233及びコンテンツを暗号化する権限を有しているか否かを示す暗号化権限有無234から構成される。
利用者管理権限有無233、及び暗号化権限有無234には、権限があることを示す値“権限有”、または、権限がないことを示す値“権限無”が設定されている。
利用者管理権限有無233に“権限有”が設定されている場合、その利用者は、利用者登録・変更プログラム31を使用することができ、“権限無”が設定されている場合、その利用者は、利用者登録・変更プログラム31を使用することができない。
暗号化権限有無234に“権限有”が設定されている場合、その利用者は、コンテンツ暗号化プログラム42を使用することができ、“権限無”が設定されている場合、その利用者は、コンテンツ暗号化プログラム42を使用することができない。本発明の第1の実施形態は、このように、利用者毎に暗号化権限の有無を設定することができるようにすることにより、コンテンツを配布する権限のない者には、暗号化権限有無234に“権限無”を設定しておくことが可能になる。従って、本発明の第1の実施形態による文書管理システムを、例えば、暗号化されていないコンテンツの外部記憶装置へのコピーや電子メールでの送信等、暗号化されていないコンテンツの外部持出を制限するシステムと併用することにより、暗号化権限のない利用者は、コンテンツを外部に持出すことができなくなり、さらに強固に情報漏洩を防止することができる。
なお、前述したように、利用者登録・変更プログラム31を使用することができるのは、利用者レコード230の利用者管理権限有無233に“権限有”が設定されている利用者だけなので、利用者レコード230が1レコードも作成されていない状態では、誰も利用者登録・変更プログラム31を使用して利用者レコード230を作成することができない。従って、本発明の第1の実施形態による文書管理システムを構築する際には、利用者管理権限有無233に“権限有”が設定されている利用者レコード230を、少なくとも1レコード作成しておく必要がある。
図4は本発明の第1の実施形態におけるアクセス権限ファイル25のデータ構成を示す図である。
アクセス権限ファイル25は、アクセス制御で使用するために、利用者のアクセス権限を定義しておくためのファイルであり、1以上のアクセス権限レコード250を記憶して構成されている。
アクセス権限レコード250は、アクセス権限を一意に識別することが可能なアクセス権限ID251、該アクセス権限を適用する暗号化コンテンツを作成する際に使用する鍵レコード210を一意に識別することが可能な鍵ID252及びアクセス権限を適用する暗号化コンテンツの参照等を行うことができる利用者を一意に識別することが可能な利用者ID253から構成される。利用者ID253は、n個(nは1以上の整数)設定される。
図5は本発明の第1の実施形態におけるコンテンツ管理ファイル26のデータ構成を示す図である。
コンテンツ管理ファイル26は、暗号化したコンテンツを参照する等のそのコンテンツへのアクセスが、どの利用者に許可されているかを管理するファイルであり、コンテンツの暗号化を行う都度、コンテンツ管理レコード260が1レコード作成される。従って、一度も暗号化を行っていない場合、コンテンツ管理レコード260は存在しない。
コンテンツ管理レコード260は、暗号化コンテンツ49を一意に識別することが可能なコンテンツID261、暗号化コンテンツ49の名称(例えば、文書ファイル名)である暗号化コンテンツ名262及び該暗号化コンテンツ49に適用されるアクセス権限レコード250を一意に識別することが可能なアクセス権限ID263から構成される。
図6は本発明の第1の実施形態における暗号化コンテンツ49のデータ構成を示す図である。
暗号化コンテンツ49は、暗号化コンテンツ49を一意に識別することが可能なコンテンツID491、暗号化コンテンツ49を作成した利用者の利用者ID492、アクセス制限493及びコンテンツの内容を暗号化したコンテンツ内容494から構成される。
ここで、アクセス制限493には、その暗号化コンテンツ49の参照等を行うことが可能な期間、印刷の可否、コピーの可否等、その暗号化コンテンツ49に係わるアクセスを制限する情報が設定される。このアクセス制限493は、コンテンツ暗号化プログラム42を使用して暗号化コンテンツ49を作成する際に指定してもよいし、暗号化コンテンツ49を作成した後で、別のプログラム(図示していない)を使用して作成・変更してもよい。なお、本発明の第1の実施形態においては、図1に示していない別プログラムを使用して設定・変更等するという前提とし、アクセス制限493についてはこれ以上の説明を省略する。
<アクセス制御システムの動作>
以上で、本発明の第1の実施形態による文書管理システムの構成及び機能の説明を終了し、次に、フローチャートを参照しながら、第1の実施形態による文書管理システムの動作を説明する。
<利用者登録・変更に係る動作>
図7は本発明の第1の実施形態による文書管理システムでの利用者登録の動作を説明するフローチャートである。
クライアント3の操作者(利用者)は、入力装置35を操作して利用者登録・変更プログラム31を起動する。
なお、前述したように、クライアント3に特別な利用者登録・変更プログラム31を備えるのでなく、例えば、WEBブラウザによって同様の機能を実現することも可能である。また、利用者登録・変更プログラム31に限らず、アクセス権限登録・変更プログラム41、コンテンツ暗号化プログラム42等についても、例えばWEBブラウザによって同様の機能を実現することも可能である。その場合には、クライアント3等の操作者(利用者)は、各プログラムを起動するのでなく、入力装置35等によってWEBブラウザを操作して、各処理に対応するURLをWEBサーバに送信すればよい。
(1)利用者登録・変更プログラム31は、処理を開始すると、表示装置36にログイン画面(利用者認証画面)を表示し、クライアント3の操作者によって入力された利用者ID及びパスワードを利用者管理プログラム11に送信し(S701)、図には明示していないが、利用者管理プログラム11からの認証成否を受信するまで待つ(ステップS701)。
図14はログイン画面(利用者認証画面)の例を示す図であり、ここで、ステップS701の処理で表示装置36に表示されるログイン画面の例について説明する。図示ログイン画面(利用者認証画面)D1400は、利用者IDの入力欄D1401、パスワードの入力欄D1402、OKボタンD1403、キャンセルボタンD1404により構成される。
クライアント3の操作者が、利用者IDの入力欄D1401及びパスワードの入力欄D1402に、自操作者の利用者ID及びパスワードを入力し、OKボタンD1403をマウス等でクリックすると、利用者登録・変更プログラム31は、入力された利用者ID及びパスワードを利用者管理プログラム11に送信する。一方、図7には明示していないが、クライアント3の操作者が、キャンセルボタンD1404をマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する。
(2)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID及びパスワードを受信すると、受信した利用者IDの認証を行う。具体的には、受信した利用者IDが利用者ファイル23に登録されており(受信した利用者IDが利用者ID231に設定されている利用者レコード230が存在し)、受信したパスワードがその利用者のものであり(受信した利用者IDが利用者ID231に設定されている利用者レコード230のパスワード232と、受信したパスワードが同一であり)、かつ、その利用者が利用者管理権限を有している(受信した利用者IDが利用者ID231に設定されている利用者レコード230の利用者管理権限有無233に“権限有”が設定されている)場合に、認証成功とし、前述したいずれかの条件を満たさない場合に認証失敗とする。利用者管理プログラム11は、「認証成功」または「認証失敗」の処理結果を利用者登録・変更プログラム31に送信する(ステップS750)。
(3)利用者登録・変更プログラム31は、利用者管理プログラム11から認証の結果を受信すると、「認証成功」か「認証失敗」かを判定し、「認証失敗」であった場合、ログイン画面に認証失敗した旨のメッセージを表示する等により、クライアント3の操作者にパスワード修正の入力を促す(ステップS702)。
なお、前述したステップS701、S750及びS702の処理で説明したログイン画面の表示、サーバにおける認証実施等の利用者認証処理は、プログラムの使用に先立って一般的に行われる処理であり、本発明の第1の実施形態においても、利用者管理プログラム11に限らず、後述するアクセス権限登録・変更プログラム41、コンテンツ暗号化プログラム42、コンテンツ参照プログラム43及び契約管理プログラム15を使用する場合にも、まず、前述したような利用者認証処理が行われる。このように、一般的な処理をそれぞれの動作説明で詳述すると、説明が煩雑に過ぎるため、以降の動作説明においては、各利用者認証処理の特徴だけを説明するにとどめることとする。
(4)ステップS702の判定で、「認証成功」であった場合、利用者登録・変更プログラム31は、表示装置36に利用者登録画面を表示し、クライアント3の操作者によって入力された利用者ID等を利用者管理プログラム11に送信し、図7には明示していないが、利用者管理プログラム11から処理結果を受信するまで待つ(ステップS703)。
図15は利用者登録画面の例を示す図であり、ここで、ステップS703の処理で表示装置36に表示される利用者登録画面の例について説明する。図示利用者登録画面D1500は、利用者IDの入力欄、パスワードの入力欄、利用者が利用者管理権限を有するか否かを選択するラジオボタン、暗号化権限を有するか否かを選択するラジオボタン、OKボタン、キャンセルボタンを有して構成されている。
クライアント3の操作者は、利用者ファイル23に登録したい利用者の利用者ID、パスワードを利用者登録画面D1500の各入力欄に入力し、自利用者が利用者管理権限、暗号化権限をそれぞれ有するか否かをラジオボタンによって選択する。利用者登録・変更プログラム31は、OKボタンがクリックされると、入力された利用者ID、パスワード、利用者管理権限及び暗号化権限を利用者管理プログラム11に送信する。一方、図7には明示していないが、クライアント3の操作者が、キャンセルボタンをマウス等でクリックすると、利用者登録・変更プログラム31は、処理を終了する。
(5)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID等を受信すると、受信した利用者ID等の登録処理を行う。具体的には、まず、受信した利用者ID、パスワード、利用者管理権限有無及び暗号化権限有無のチェックを行う(例えば、受信した利用者IDが利用者ID231に設定されている利用者レコード230が、すでに利用者ファイル23に存在する場合にエラーと判定する)。そして、利用者管理プログラム11は、正常と判定した場合、受信した利用者ID、パスワード、利用者管理権限有無及び暗号化権限有無を、それぞれ利用者管理レコード230の利用者ID231、パスワード232、利用者管理権限有無233及び暗号化権限有無234に設定し、その利用者管理レコード230を利用者管理ファイル23に追加する。利用者管理プログラム11は、「エラー」または「正常」の処理結果を利用者登録・変更プログラム31に送信する(ステップS760)。
なお、本発明の第1の実施形態では、利用者管理プログラム11が、利用者認証処理(ステップS750の処理)と登録処理(ステップS760の処理)との2つの処理を行っている。よく知られているように、例えば、利用者登録・変更プログラム31が送信する(入力された利用者ID等から構成される)メッセージに種別を付与し、利用者管理プログラム11がメッセージの種別に応じて異なる処理を実行するようにすることができる。一方、利用者認証処理(ステップS750の処理)は、利用者管理プログラム11ではなく、図示していないが利用者認証プログラムが行うようにすることもできる。また、前述では、利用者管理プログラム11が常に利用者登録・変更プログラム31からの受信を待っているように説明したが、例えば、WEBアプリケーションが利用者登録・変更プログラム31からのメッセージの受信を検出して、メッセージの種別を判定して、利用者認証プログラムまたは利用者管理プログラム11を起動するようにすることも可能である。前述の各実現方法は、利用者管理プログラム11に限らず、後述するアクセス権限管理プログラム12等にも採用することができる。
(6)利用者登録・変更プログラム31は、利用者管理プログラム11から登録処理実施処理の結果を受信すると、「登録処理成功」か「登録処理失敗」かを判定し、「登録処理成功」であった場合、ここでの処理を終了し、「登録処理失敗」であった場合、利用者登録画面に登録が失敗した旨のメッセージを表示する等により、クライアント3の操作者に修正入力を促し、ステップS703からの処理を繰り返す(ステップS704)。
前述では、利用者を登録する場合の利用者登録・変更プログラム31等の動作を説明したが、本発明の第1の実施形態では、利用者ファイル23の利用者レコード230の更新、削除等を可能にすることにより、登録した利用者情報の変更(例えば、パスワードの変更)、利用者の削除等も同様に実現することができる。この場合には、認証に成功した場合(図7のステップS702の判定でYESの場合)、図示していないが、利用者登録、利用者情報変更または利用者削除のいずれかを選択するメニュー画面を表示し、利用者登録・変更プログラム31等が、選択された各処理を実行するようにすればよい。また、パスワードだけは、その利用者自身が、図示していない別のプログラム用いて変更することができるようにしてもよい。
<アクセス権限登録・変更に係る動作>
図8は本発明の第1の実施形態による文書管理システムでのアクセス権限登録の動作を説明するフローチャートであり、次に、これについて説明する。
クライアント4の操作者(利用者)は、入力装置45を操作してアクセス権限登録・変更プログラム41を起動する。
(1)アクセス権限登録・変更プログラム41は、処理を開始すると、図示していないが、表示装置46にログイン画面(利用者認証画面)を表示し、クライアント4の操作者によって入力された利用者ID及びパスワードをアクセス権限管理プログラム12に送信し、アクセス権限管理プログラム12から認証成否を受信するまで待つ。なお、アクセス権限管理プログラム12は、入力された利用者ID及びパスワードが利用者ファイル23に登録されており、当該利用者が暗号化権限を有している場合に、認証成功とする。アクセス権限登録・変更プログラム41は、アクセス権限管理プログラム12から「認証成功」を受信すると、表示装置46にアクセス権限登録画面を表示し、クライアント4の操作者によって入力されたアクセス権限ID等をアクセス権限管理プログラム12に送信し、図には明示していないが、アクセス権限管理プログラム12から処理結果を受信するまで待つ(ステップS801)。
図16はアクセス権限登録画面の例を示す図であり、ここで、ステップS801の処理で表示装置36に表示されるアクセス権限登録画面の例について説明する。図示アクセス権限登録画面D1600は、アクセス権限IDの入力欄D1601、鍵IDの入力欄D1602及び利用者ID一覧の表示・選択欄D1603、OKボタン、キャンセルボタンを有して構成されている。利用者ID一覧の表示・選択欄D1603には、利用者ファイル23に登録されている全ての利用者IDが、チェックボタンD1604と対にして、必要に応じてスクロール表示される。
クライアント4の操作者は、マウスでクリックする等の操作により、アクセス権限ファイル23に登録したい1以上の利用者の利用者IDに対応するチェックボタンD1604を選択状態にし(図16に示す例ではusr2とusr3とのチェックボタンD1604を選択している)、アクセス権限IDの入力欄D1601にアクセス権限を一意に識別可能なIDを入力し(例えば、“usr2_20090728” のように、クライアント4の操作者の利用者IDと操作年月日とを組み合わせればよい)、鍵IDの入力欄D1602に暗号鍵・復号鍵として使用したい鍵レコード210の鍵ID211(例えば“key1”)を入力する。なお、本発明は、前述した利用者登録・変更において、利用者レコード230に利用者氏名、所属部署等も設定できるようにし、利用者ID一覧の表示・選択欄D1603に利用者氏名、所属部署等も表示することにより、利用者の選択を容易にするようにすることができる。
アクセス権限登録・変更プログラム41は、OKボタンがクリックされると、入力されたアクセス権限ID、鍵ID及び利用者IDをアクセス権限管理プログラム12に送信する。一方、図8には明示していないが、クライアント4の操作者が、キャンセルボタンをマウス等でクリックすると、アクセス権限登録・変更プログラム41は処理を終了する。
(2)アクセス権限管理プログラム12は、アクセス権限登録・変更プログラム41から送信されてきたアクセス権限ID等を受信すると、受信したアクセス権限ID等の登録処理を行う。具体的には、アクセス権限管理プログラム12は、まず、受信したアクセス権限ID、鍵ID及び利用者IDのチェックを行う(例えば、受信したアクセス権限IDが、アクセス権限ID251に設定されているアクセス権限レコード250が既に存在する場合にエラーと判定する)。そして、アクセス権限管理プログラム12は、正常と判定した場合、受信したアクセス権限ID(図16に示す例では“usr2_20090728”)、鍵ID(図16に示す例では“key1”)及び利用者ID(図16に示すの例では“usr2”及び“usr3”)を、それぞれアクセス権限レコード250のアクセス権限ID251、鍵ID252及び利用者ID253に設定し、そのアクセス権限レコード250をアクセス権限ファイル25に追加する。その後、アクセス権限管理プログラム12は、「エラー」または「正常」の処理結果をアクセス権限登録・変更プログラム41に送信する(ステップS860)。
(3)アクセス権限登録・変更プログラム41は、アクセス権限管理プログラム12から登録処理実施処理の結果を受信すると、「登録処理成功」か「登録処理失敗」かを判定し、「登録処理成功」であった場合、ここでの処理を終了し、「登録処理失敗」であった場合、アクセス権限登録画面D1600に登録を失敗した旨のメッセージを表示するし、クライアント4の操作者に修正入力を促して、ステップS801からの処理を繰り返す(ステップS802)。
前述では、アクセス権限を登録する場合のアクセス権限登録・変更プログラム41等の動作を説明したが、本発明は、登録したアクセス権限の変更(例えば、利用者IDの変更)、アクセス権限の削除等も、アクセス権限レコード250の更新、削除等を可能にすることにより、同様に実現することができる。この場合、図示していないが、認証が成功した場合に、アクセス権限登録、アクセス権限変更またはアクセス権限削除のいずれかを選択するメニュー画面を表示し、アクセス権限登録・変更プログラム41等が、選択された各処理を実行するようにすればよい。
<コンテンツ暗号化に係る動作>
図9は本発明の第1の実施形態による文書管理システムでのコンテンツ暗号化の動作を説明するフローチャートであり、次に、これについて説明する。
クライアント4の操作者(利用者)は、入力装置45を操作してコンテンツ暗号化プログラム42を起動する。
(1)コンテンツ暗号化プログラム42は、処理を開始すると、図示していないが、表示装置46にログイン画面(利用者認証画面)を表示し、クライアント4の操作者によって入力された利用者ID及びパスワードをコンテンツ管理プログラム13に送信し、コンテンツ管理プログラム13から認証成否を受信するまで待つ。なお、コンテンツ管理プログラム13は、入力された利用者ID及びパスワードが利用者ファイル23に登録されており、当該利用者が暗号化権限を有している場合に、認証成功とする。コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13から「認証成功」を受信すると、表示装置46にメニュー画面を表示する(ステップS901)。
図17はメニュー画面の例を示す図であり、ここで、ステップS901の処理で表示装置46に表示されるメニュー画面の例について説明する。図示メニュー画面D1700には、「暗号化」、「再暗号化」、「失効」のいずれかを選択可能なラジオボタンが表示されていると共に、OKボタン、キャンセルボタンが表示されている。
クライアント4の操作者は、マウスによりクリックする等の操作により、「暗号化」、「再暗号化」または「失効」に対応するラジオボタンを選択状態にする。図17に示す例では「暗号化」が選択されている。
(2)コンテンツ暗号化プログラム42は、OKボタンがクリックされると、ラジオボタンによりコンテンツの「暗号化」が指定されたか否かを判定し、「暗号化」が指定されていなかった場合、暗号化以外の処理を行う。なお、この暗号化以外の処理とは、図11及び図12を使用して後述するコンテンツ再暗号化処理、コンテンツ失効処理である(ステップS902)。
前述において、図9には明示していないが、クライアント4の操作者が、キャンセルボタンをマウスによりクリックすると、コンテンツ暗号化プログラム42は、ここでの処理を終了する。
(3)ステップS902の判定で、「暗号化」が指定されていた場合、コンテンツ暗号化プログラム42は、表示装置46にコンテンツ暗号化画面を表示し、クライアント4の操作者によって入力された暗号化対象コンテンツをコンテンツ管理プログラム13に送信する。すなわち、コンテンツ暗号化プログラム42は、後述するコンテンツ暗号化画面のOKボタンがクリックされると、クライアント4の操作者が入力したアクセス権限ID及び暗号化コンテンツ名をコンテンツ管理プログラム13に送信する。そして、コンテンツ暗号化プログラム42は、図9には明示していないが、コンテンツ管理プログラム13から処理結果を受信するまで待つ。また、コンテンツ暗号化プログラム42は、図9には明示していないが、クライアント4の操作者が、キャンセルボタンをマウスによりクリックすると、ここでの処理を終了する(ステップS903)。
図18はコンテンツ暗号化画面の例を示す図であり、ここで、ステップS903の処理で表示装置46に表示されるコンテンツ暗号化画面の例について説明する。図示コンテンツ暗号化画面D1800には、暗号化の対象コンテンツ、暗号化コンテンツ名及びアクセス権限IDの入力欄が表示され、また、参照ボタンD1801が表示される。
クライアント4の操作者は、暗号化対象コンテンツの入力欄に、暗号化したいコンテンツ(設計図面、予算資料等)を一意に識別可能な値を入力する。図18に示す例では“c:\etc\file1”(cドライブのetc フォルダのfile1)と、コンテンツの絶対パスを入力しているが、この例に限らず、コンテンツを一意に識別可能な値であればよい。例えば、スプレッドシートの一部だけを暗号化したい場合には、当該スプレッドシートファイルの絶対パスに加え、暗号化対象とする行列の範囲を指定すればよい。また、暗号化対象コンテンツの入力欄を直接入力するのでなく、参照ボタンD1801のクリックにより、参照可能なドライブ、フォルダ及びファイルのツリー構造図を表示し、その構造図に表示されたファイルを選択することにより、選択したファイルの絶対パスが暗号化対象コンテンツの入力欄に入力されるようにしてもよい。
クライアント4の操作者は、暗号化コンテンツ名の入力欄に、コンテンツを暗号化して作成するコンテンツ(暗号化コンテンツ)の名称を入力する。図18に示す例では“encriptedfile1”と、ファイル名を入力しており、この場合、暗号化コンテンツは、暗号化対象コンテンツの入力欄に入力したフォルダ内(図18に示す例では“c:\etc”)または予め決められている所定のフォルダ内に記憶すればよい。一方、暗号化コンテンツ名の入力欄に絶対パスを入力するようにしてもよいし、暗号化コンテンツを作成した後で、記憶するフォルダを指定するようにしてもよい。
クライアント4の操作者は、アクセス権限IDの入力欄に、コンテンツの暗号化に使用する鍵ID及び暗号化コンテンツを参照等を行うことが可能な利用者IDが設定されているアクセス権限レコード250のアクセス権限ID251を入力する。図18に示す例では“usr2_20090728”と、「アクセス権限登録・変更等に係る動作」で例示したアクセス権限IDを入力している。なお、アクセス権限IDについても、参照ボタンを表示し、参照ボタンがクリックされると、コンテンツ暗号化プログラム42がアクセス権限の一覧を表示し、この一覧の中からアクセス権限を選択できるようにしてもよい。
(4)コンテンツ管理プログラム13は、コンテンツ暗号化プログラム42から送信されてきたアクセス権限IDを受信すると、暗号化コンテンツの管理処理を行う。具体的には、まず、受信したアクセス権限IDのチェックを行い、エラーと判定した場合(例えば、受信したアクセス権限IDがアクセス権限ID251に設定されているアクセス権限レコード250が存在しない場合にエラーと判定する)、「エラー」の処理結果をコンテンツ暗号化プログラム42に送信する。
一方、コンテンツ管理プログラム13は、正常と判定した場合は、暗号化コンテンツを一意に識別可能なコンテンツID(例えば、1から始まる通番)を生成し、次に、生成したコンテンツID、受信した暗号化コンテンツ名及びアクセス権限IDを、それぞれコンテンツ管理レコード260のコンテンツID261、暗号化コンテンツ名262及びアクセス権限ID263に設定し、そのコンテンツ管理レコード260をコンテンツ管理ファイル26に追加する。そして、コンテンツ管理プログラム13は、受信したアクセス権限IDがアクセス権限ID251に設定されているアクセス権限レコード250の鍵ID252を取得し、鍵ID252が鍵ID211に設定されている鍵レコード210の暗号化鍵212を取得し、「正常」の処理結果と、生成したコンテンツID及び取得した暗号化鍵212をコンテンツ暗号化プログラム42に送信する(ステップS960)。
(5)コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13からのコンテンツ管理処理の実施結果を受信すると、コンテンツ管理処理が正常であったか、エラーであったかを判定し、エラーであった場合、コンテンツ暗号化画面に暗号化に失敗した旨のメッセージを表示して、クライアント4の操作者に修正入力を促し、ステップ903からの処理に戻って処理を繰り返す(ステップS904)。
(6)ステップS904の判定で、コンテンツ管理処理が正常に行われていた場合、コンテンツ暗号化プログラム42は、受信した暗号化鍵を使用して、コンテンツ暗号化画面D1800の暗号化対象コンテンツ入力欄で指定されたコンテンツを暗号化する。そして、コンテンツ暗号化プログラム42は、受信したコンテンツID、クライアント4の操作者の利用者ID及び暗号化したコンテンツを、それぞれ暗号化コンテンツファイル49のコンテンツID491、暗号化利用者ID492及びコンテンツ内容494に設定し、暗号化コンテンツファイル49を記憶装置47に格納する。なお、アクセス制限493には、初期値、すなわち、参照期間等の制限をかけないことを示す値を設定してもよいし、例えば、コンテンツ暗号化画面等でアクセス制限を指定させ、指定された内容が設定されるようにしてもよい(ステップS905)。
前述において、指定されたコンテンツを暗号化する場合、単に元のコンテンツ内容を暗号化してもよい。このようにすることにより、コンテンツ暗号化プログラム42の処理は比較的簡易になる。しかし、この場合、暗号化コンテンツを参照するためには単に暗号化されたコンテンツ内容を復号化するだけでは足りず、元のコンテンツのファイル形式(PDF(Portable Document Format)、3次元CAD(Computer Aided Design)で使われるXVL(eXtensible Virtual world description Language)形式(XVLは登録商標)、文書ファイル形式、表ファイル形式等)に従ってコンテンツ内容を解析して表示することが必要になる。例えば、元のコンテンツがPDFファイルであった場合、そのPDFファイルのファイル形式に従って、どのようなテキストや図形等が文書のどの位置に配置されるかを解析してコンテンツ内容を表示しなければならない。その結果、暗号化コンテンツを参照するプログラムの処理が複雑になるか、または、それぞれのファイル形式を処理可能な各プログラムを改造して、コンテンツ内容を復号化できるようにする必要がある。
一方、指定されたコンテンツを暗号化する場合、元のコンテンツ内容を所定のファイル形式(例えばPDF)に変換した上で、暗号化してもよい。このようにすることにより、コンテンツ暗号化プログラム42の処理が比較的複雑になるが、暗号化コンテンツを参照するプログラムの処理を簡易なものとすることができる。
<コンテンツ参照に係る動作>
図10は本発明の第1の実施形態による文書管理システムでのコンテンツ参照の動作を説明するフローチャートであり、次に、これについて説明する。
クライアント4の操作者(利用者)は、入力装置45を操作してコンテンツ参照プログラム43を起動する。前述したように、コンテンツ参照プログラム43は、様々なファイル形式を解析することができる機能を有していてもよいし、それぞれのファイル形式毎に異なるプログラムであってもよい。また、コンテンツ参照プログラム43は、プログラムのアイコンをダブルクリックして起動してもよいし、暗号化コンテンツ49をダブルクリックすると、その暗号化コンテンツ49のファイル形式に対応したコンテンツ参照プログラム43が起動されるようにすることもできる。
(1)コンテンツ参照プログラム43は、処理を開始すると、参照コンテンツ(復号化すべきコンテンツ)を読込む。より詳細には、コンテンツ参照プログラム43は、暗号化コンテンツ49のダブルクリックによってコンテンツ参照プログラム43が起動された場合、その暗号化コンテンツ49を読込む。一方、コンテンツ参照プログラム43のアイコンをダブルクリックする等の方法で起動された場合、図示していないが表示装置46に参照コンテンツの指定を促すメッセージを表示し、クライアント4の操作者が指定したコンテンツを読込む(ステップS1001)。
(2)コンテンツ参照プログラム43は、読込んだコンテンツが暗号化コンテンツであるか否か(コンテンツ暗号化プログラム42が暗号化したコンテンツであるか否か)を判定する。この判定を行うためには、例えば、暗号化コンテンツ49の拡張子を所定の値(例えば“xvx”)にする、暗号化コンテンツ49の先頭部分に暗号化コンテンツであることを示す値(例えば“encrypted content”)を設定しておく等、様々な方法を単独あるいは組合せて使えばよい(ステップS1002)。
(3)コンテンツ参照プログラム43は、ステップS1002の判定で、読込んだコンテンツが暗号化コンテンツではなかった場合、コンテンツ内容を解析して、表示装置46に表示して、ここでの処理を終了する(ステップS1003)。
(4)一方、コンテンツ参照プログラム43は、ステップS1002の判定で、読込んだコンテンツが暗号化コンテンツであった場合、図示していないが、表示装置46にログイン画面(利用者認証画面)を表示し、クライアント4の操作者に、利用者ID及びパスワードの入力を促す。そして、コンテンツ参照プログラム43は、コンテンツID491、入力された利用者ID及びパスワードをアクセス制御プログラム14に送信し、アクセス制御プログラム14からの処理結果を受信することができるまで待つ(ステップS1004)。
(5)アクセス制御プログラム14は、コンテンツ参照プログラム43から装置されてきて受信した利用者ID及びパスワードが利用者ファイル23に登録されている場合に認証成功とし、そうでない場合に認証失敗として、「認証成功」または「認証失敗」をコンテンツ参照プログラム43に送信する。そして、アクセス制御プログラム14は、認証が成功した場合、受信したコンテンツIDのチェックを行いエラーと判定した場合(例えば、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260が存在しない場合、エラーと判定する)、「エラー」の処理結果をコンテンツ参照プログラム43に送信する。また、アクセス制御プログラム14は、コンテンツIDのチェックで正常と判定した場合、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260のアクセス権限ID263を取得し、そのアクセス権限ID263がアクセス権限ID251に設定されているアクセス権限レコード250を取得する。そして、アクセス制御プログラム14は、受信した利用者IDがアクセス権限レコード250の利用者ID253に設定されていない場合、「エラー」の処理結果をコンテンツ参照プログラム43に送信する。また、アクセス制御プログラム14は、受信した利用者IDがアクセス権限レコード250の利用者ID253に設定されていた場合、アクセス権限レコード250の鍵ID252を取得し、その鍵ID252が鍵ID211に設定されている鍵レコード210の復号化鍵213を取得し、「正常」の処理結果と、取得した復号化鍵213をコンテンツ参照プログラム43に送信する(ステップS1060)。
(6)コンテンツ参照プログラム43は、アクセス制御プログラム14からの処理結果を受信すると、その処理結果がクライアント4の操作者が当該暗号化コンテンツ49の参照権限を有している「正常」か否かを判定し、アクセス制御プログラム14から「認証失敗」または「エラー」を受信していた場合、暗号化コンテンツ49のコンテンツ内容494を復号化することなく処理を終了する。なお、処理を終了するのでなく、例えば表示装置46にエラーメッセージを表示し、他のコンテンツの選択を促すようにしてもよい(ステップS1005)。
(7)コンテンツ参照プログラム43は、ステップS1005の判定で、クライアント4の操作者が当該暗号化コンテンツ49の参照権限を有している「正常」を受信していた場合、クライアント4の操作者が暗号化コンテンツ49の参照権限を有しているので、受信した復号化鍵を使用して、暗号化コンテンツ49のコンテンツ内容494を復号化し、ファイル形式に応じた解析を行って表示装置46に表示する。なお、参照権限ありと判断した場合であっても、アクセス制限493に設定された参照可能期間を超えている等の理由でコンテンツ内容494の表示を行わないようにすることもできる。また、コンテンツ参照プログラム43は、コンテンツ内容494を表示した場合も、アクセス制限493に設定された印刷可否、コピー可否等を参照して、クライアント4の操作者による当該操作を禁止することもできる(ステップS1006)。
<文書管理システムの基本的な機能による効果>
前述までに説明した文書管理システムは、そのアクセス制御の基本的な機能により、企業等において作成された設計図面等のファイルを、暗号化権限を有する者だけが暗号化し、そのファイルを参照する必要がある者だけに復号化権限を与えることができる。従って、誤って復号化権限を有しないものに暗号化ファイルを送信した場合でも、受信者は暗号化ファイルを参照することができず、情報漏洩を防止することができる。
また、復号化権限を誰に与えるかは暗号化ファイル毎に変更することが可能になっているので、暗号化ファイルの参照を真に必要とするものだけに復号化権限を与えることができる。
さらに、前述の文書管理システムは、復号化権限を有する者が暗号化ファイルをダブルクリックし、利用者IDとパスワードとを入力するという簡易な操作で暗号化ファイルを参照することができるし、システムを、例えば、シングルサインオンと組み合わせることにより、暗号化ファイルを参照する際の利用者IDとパスワードとの入力も不要にすることができる。すなわち、前述の文書管理システムは、復号化権限を有する者が、ファイルが暗号化されていることすら知らないままそのファイルの参照等を行うことが可能である。
しかし、1つの企業内において複数の部署が共同して作業を行う際、他の部署を含む利用者の一覧を表示することはできても、ある部署が管理している文書ファイルを他部署の誰に参照等させるかは、文書ファイルを管理している部署では決定することができないことも多い。特に、コンテンツ管理サーバ1を複数企業が共同で利用するような場合、この問題の解決はより重要になる。このような場合、以下に説明するファイル再暗号化機能を利用することができる。
<コンテンツ再暗号化に係る動作>
図11は本発明の第1の実施形態による文書管理システムでのコンテンツ再暗号化の動作を説明するフローチャートであり、次に、これについて説明する。コンテンツ再暗号化の動作は、メニュー画面の表示を初めとして大部分が前述で説明したコンテンツ暗号化の動作と重複するため、本発明の第1の実施形態は、コンテンツ再暗号化もコンテンツ暗号化プログラム42を操作して行うという前提としている。よって、以下の説明でもコンテンツ暗号化と重複する細部の説明は省略する。また、コンテンツ再暗号化の動作は、暗号化コンテンツ49の読み込みに係わる処理等、コンテンツ参照と類似する部分もあり、コンテンツ参照と重複する細部の説明も省略する。なお、コンテンツ暗号化プログラム42とは別のプログラムがコンテンツ再暗号化を行うようにすることも可能である。
クライアント4の操作者(利用者)は、入力装置45を操作してコンテンツ暗号化プログラム42を起動する。
(1)コンテンツ暗号化プログラム42は処理を開始すると、図示していないが、表示装置46にログイン画面(利用者認証画面)を表示し、クライアント4の操作者によって入力された利用者ID及びパスワードをコンテンツ管理プログラム13に送信し、コンテンツ管理プログラム13から認証成否を受信するまで待つ。なお、コンテンツ管理プログラム13は、入力された利用者ID及びパスワードが利用者ファイル23に登録されており、当該利用者が暗号化権限を有している場合に、認証成功とする。コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13から「認証成功」を受信すると、表示装置46に図17に示して説明したようなメニュー画面を表示する(ステップS1101)。
(2)コンテンツ暗号化プログラム42は、クライアント4の操作者(利用者)がメニュー画面から必要な入力を行い、OKボタンをクリックすると、コンテンツの「再暗号化」が指定されたか否かを判定し、「再暗号化」が指定されていなかった場合、再暗号化以外の処理を行う。なお、再暗号化以外の処理とは、図9を参照して説明したコンテンツ暗号化の処理、図12を使用して後述するコンテンツ失効処理である。また、図11には明示していないが、クライアント4の操作者が、メニュー画面のキャンセルボタンをマウス等でクリックすると、コンテンツ暗号化プログラム42は、ここでの処理を終了する(ステップS1102)。
(3)ステップS1102の判定で、「再暗号化」が指定されていた場合、コンテンツ暗号化プログラム42は、表示装置46にコンテンツ再暗号化画面を表示し、クライアント4の操作者によって入力された再暗号化対象コンテンツ等をコンテンツ管理プログラム13に送信し、図11には明示していないが、コンテンツ管理プログラム13からの処理結果を受信することができるまで待つ(ステップS1103)。
図19はコンテンツ再暗号化画面の例を示す図であり、ここで、ステップS1103の処理で表示装置46に表示されるコンテンツ再暗号化画面の例について説明する。図示コンテンツ再暗号化画面D1900は、前述で説明したコンテンツ暗号化画面D1800と同様に、再暗号化の対象コンテンツ、暗号化コンテンツ名及びアクセス権限IDの入力欄が表示され、また、再暗号化対象コンテンツの参照ボタン、OKボタン、キャンセルボタンが表示されて構成される。
クライアント4の操作者は、再暗号化対象コンテンツの入力欄に、他の利用者から送信された暗号化コンテンツであって、自部署等の利用者に参照させる必要があるコンテンツを一意に識別可能な値を入力する。図19に示す例では、“c:\etc\encriptedfile1 ”と、図18に示す例で他の利用者“usr2”が暗号化し、クライアント4の操作者(“usr3”とする。)に送信してきたコンテンツの絶対パスを入力している。
クライアント4の操作者は、暗号化コンテンツ名の入力欄に“encriptedfile2”のように、コンテンツを暗号化して作成したコンテンツ(暗号化コンテンツ)の名称を入力する。クライアント4の操作者は、アクセス権限IDの入力欄に“usr3_20090729 ”のように、コンテンツの暗号化に使用する鍵ID及び暗号化コンテンツを参照等を行うことが可能な利用者IDが設定されているアクセス権限レコード250のアクセス権限ID251を入力する。
ステップS1103の処理として、コンテンツ暗号化プログラム42は、コンテンツ再暗号化画面のOKボタンがクリックされると、再暗号化対象コンテンツの入力欄で指定された再暗号化対象コンテンツを読み込み、読み込んだコンテンツが暗号化コンテンツであるかどうか(コンテンツ暗号化プログラム42が暗号化したコンテンツであるかどうか)を判定し、図示していないが、暗号化コンテンツでない場合、コンテンツ再暗号化画面にエラーメッセージを表示する等により、クライアント4の操作者に修正入力等を促す。
また、コンテンツ暗号化プログラム42は、読み込んだコンテンツが暗号化コンテンツであった場合、暗号化コンテンツ49の暗号化利用者ID492が、クライアント4の操作者の利用者IDと一致するか否かを判定し、一致する場合、図示していないが、コンテンツ再暗号化画面にエラーメッセージを表示する等により、クライアント4の操作者に修正入力等を促す。暗号化コンテンツ49の暗号化利用者ID492には暗号化を行った利用者の利用者IDが設定されているので、これが当該クライアント4の操作者の利用者IDと一致するということは、暗号化を行った利用者自身が再暗号化を行うという一見無意味な操作を行おうとしていることになり、暗号化権限を有さない利用者が暗号化権限を有する利用者になりすましている可能性がある。そのため、前述したように、このような操作をエラーとしている。なお、当該クライアント4の操作者が実際に当該暗号化コンテンツ49の暗号化を行った利用者である場合は、暗号化する前のコンテンツを指定して、コンテンツ暗号化を行えばよい。
次に、コンテンツ暗号化プログラム42は、再暗号化対象コンテンツの入力欄で指定された暗号化コンテンツ49のコンテンツID491、入力されたアクセス権限ID及び暗号化コンテンツ名をコンテンツ管理プログラム13に送信する。また、図11には明示していないが、クライアント4の操作者が、キャンセルボタンをマウス等でクリックすると、コンテンツ暗号化プログラム42は、ここでの処理を終了する(以上、ステップS1103)。
(4)コンテンツ管理プログラム13は、コンテンツ暗号化プログラム42から送信されてきたコンテンツID等を受信すると、再暗号化コンテンツの管理処理を行う。具体的には、まず、受信したコンテンツID等のチェックを行いエラーと判定した場合(例えば、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260が存在しない場合にエラーと判定する)、「エラー」の処理結果をコンテンツ暗号化プログラム42に送信する。また、コンテンツ管理プログラム13は、受信したコンテンツID等のチェックで正常と判定した場合、暗号化コンテンツを一意に識別可能なコンテンツIDを生成し、生成したコンテンツID、受信した暗号化コンテンツ名及びアクセス権限IDを、それぞれコンテンツ管理レコード260のコンテンツID261、暗号化コンテンツ名262及びアクセス権限ID263に設定し、当該コンテンツ管理レコード260をコンテンツ管理ファイル26に追加する。そして、コンテンツ管理プログラム13は、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260のアクセス権限ID263を取得し、当該アクセス権限ID263がアクセス権限ID251に設定されているアクセス権限管理レコード250の鍵ID252を取得し、取得した鍵ID252が鍵ID211に設定されている鍵レコード210の復号化鍵213を取得する。また、コンテンツ管理プログラム13は、受信したアクセス権限IDがアクセス権限ID251に設定されているアクセス権限レコード250の鍵ID252を取得し、鍵ID252が鍵ID211に設定されている鍵レコード210の暗号化鍵212を取得し、「正常」の処理結果、生成したコンテンツID、取得した復号化鍵213及び取得した暗号化鍵212をコンテンツ暗号化プログラム42に送信する(ステップS1160)。
(5)コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13からコンテンツ管理処理の結果を受信すると、コンテンツ管理処理の結果が「成功」か「エラー」かを判定し、コンテンツ管理処理の結果が「エラー」であった場合、コンテンツ暗号化画面に暗号化に失敗した旨のメッセージを表示して、クライアント4の操作者に修正入力等を促し、ステップS1103からの処理を繰り返す(ステップS1104)。
(6)ステップS1104の判定で、コンテンツ管理プログラム13からのコンテンツ管理処理の結果が「正常」であった場合、受信した復号化鍵を使用して、コンテンツ再暗号化画面D1900の再暗号化対象コンテンツ入力欄で指定されたコンテンツを復号化し、復号化したコンテンツを受信した暗号化鍵を使用して再度暗号化する。そして、受信したコンテンツID、クライアント4の操作者の利用者ID及び再度暗号化したコンテンツを、それぞれ暗号化コンテンツファイル49のコンテンツID491、暗号化利用者ID492及びコンテンツ内容494に設定し、暗号化コンテンツファイル49を記憶装置47に格納する。なお、アクセス制限493には、初期値、すなわち、参照期間等の制限をかけないことを示す値を設定してもよいし、例えば、コンテンツ暗号化画面等でアクセス制限を指定し、指定した内容を設定するようにしてもよい(ステップS1105)。
<コンテンツ再暗号化機能による効果>
文書管理システムに、前述で説明したコンテンツ再暗号化機能をも備えることにより、1つの企業内において複数の部署が共同して作業を行う際、各部署の管理責任者を定めておき、管理責任者が他部署との窓口担当者として互いに各部署のファイルを送受信し、各管理責任者が受信したファイルを当該部署内の誰に参照等させるかを決定することができるようになる。
例えば、ある部署において、利用者aが作成した設計図面等のファイルを、他の部署が参照する必要がある場合、利用者aは、当該他の部署の管理責任者であり暗号化権限を有しているbを参照可能な利用者とするアクセス権限レコードを作成し、当該アクセス権限レコードを指定して設計図面ファイルを暗号化し、暗号化した設計図面ファイルを電子メール等で利用者bに送信する。利用者bは、自部署内の利用者c、dに当該暗号化された設計図面ファイルを参照させたい場合、c及びdを参照可能な利用者とするアクセス権限レコードを作成し、当該アクセス権限レコードを指定して設計図面ファイルを再暗号化すればよい。
前述で説明したように、ある部署において作成した設計図面等のファイルの復号化権限を、その部署の参照する必要がある利用者と、他の部署の信頼の置ける管理責任者だけに与えることができる。従って、誤って、例えば、他の部署の管理責任者以外のものに暗号化ファイルを送信した場合でも、その受信者は暗号化ファイルの参照等を行うことができず、情報漏洩を防止することができる。また、暗号化ファイルを受信した管理責任者は、受信した暗号化ファイルを再暗号化し、自部署内の再暗号化ファイルを参照する必要がある利用者だけに復号化権限を与えることができる。従って、暗号化ファイルを受信した管理責任者が誤って復号化権限を有しないものに暗号化ファイルを送信した場合でも、その受信者は暗号化ファイルを参照することができず、情報漏洩を防止することができる。
さらに、ある部署が管理している設計図面等のファイルを他部署の誰に参照等させるか、ファイルを管理している部署では決定できない場合であっても、情報漏洩を防止しつつ、そのファイルを他部署の参照する必要のある利用者に参照等を行わせることができる。コンテンツ管理サーバ1を複数企業が共同で利用するような場合にも、同様の効果を得ることができる。
ところで、暗号化ファイルを作成して他の利用者に送信した後で、その暗号化ファイルの参照等を禁止したい場合がある。例えば、本来、他の利用者に見せてはいけない機密文書を誤って暗号化して送信してしまった場合、あるいは、設計図面等のファイルを暗号化して送信した後で設計不良に気づき設計図面を修正したため、修正前のファイルを参照されては困る場合等である。このような場合、以下に説明する失効処理によって、送信済み暗号化ファイルの参照等を行うことができないようにすることができる。
<コンテンツ失効に係る動作>
図12は本発明の第1の実施形態による文書管理システムでのコンテンツ失効の動作を説明するフローチャートであり、次に、これについて説明する。コンテンツ失効の動作も、メニュー画面の表示を初めとして大部分がコンテンツ暗号化またはコンテンツ再暗号化と重複する動作となるため、本発明の第1の実施形態では、コンテンツ失効もコンテンツ暗号化プログラム42を操作して行うという前提としている。よって、以下の説明でもコンテンツ暗号化またはコンテンツ再暗号化と重複する細部の説明は省略する。なお、コンテンツ暗号化プログラム42とは別のプログラムがコンテンツ失効を行うようにすることも可能である。
クライアント4の操作者(利用者)は、入力装置45を操作してコンテンツ暗号化プログラム42を起動する。
(1)コンテンツ暗号化プログラム42は、処理を開始すると、図示していないが、表示装置46にログイン画面(利用者認証画面)を表示し、クライアント4の操作者によって入力された利用者ID及びパスワードをコンテンツ管理プログラム13に送信し、コンテンツ管理プログラム13から認証成否を受信するまで待つ。なお、コンテンツ管理プログラム13は、入力された利用者ID及びパスワードが利用者ファイル23に登録されており、当該利用者が暗号化権限を有している場合に、認証成功とする。そして、コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13から「認証成功」を受信すると、表示装置46に図17に示してすでに説明したようなメニュー画面を表示する(ステップS1201)。
(2)クライアント4の操作者(利用者)は、ここでの処理の場合、表示されたメニュー画面の「失効」を指定し、その後にOKボタンをクリックする。従って、コンテンツ暗号化プログラム42は、OKボタンがクリックされると、コンテンツの「失効」が指定されたか否かを判定し、「失効」が指定されていなかった場合、失効以外の処理を行う。なお、失効以外の処理とは、すでに、図9及び図11を参照して説明したコンテンツ暗号化、コンテンツ再暗号化の処理である。また、図12には明示していないが、クライアント4の操作者が、キャンセルボタンをマウス等でクリックすると、コンテンツ暗号化プログラム42は処理を終了する(ステップS1202)。
(3)ステップS1202の判定で、「失効」が指定されていた場合、コンテンツ暗号化プログラム42は、表示装置46にコンテンツ失効画面を表示し、クライアント4の操作者によって入力された失効対象コンテンツ等をコンテンツ管理プログラム13に送信し、図には明示していないが、コンテンツ管理プログラム13からの処理結果を受信することができるまで待つ(ステップS1203)。
図20はコンテンツ失効画面の例を示す図であり、ここで、ステップS1203の処理で表示装置46に表示されるコンテンツ失効画面の例について説明する。図示コンテンツ失効画面D2000は、失効の対象となるコンテンツの入力欄と失効対象コンテンツの参照ボタン、OKボタン、キャンセルボタンが表示されて構成それている。
クライアント4の操作者は、コンテンツ失効画面D2000の失効対象コンテンツの入力欄に、自らが暗号化したコンテンツのうち他の利用者の参照等を禁止したいコンテンツを一意に識別可能な値を入力する。図20に示す例では“c:\etc\encriptedfile1 ”と、図18に示して説明した例で暗号化し、他の利用者に送信したコンテンツの絶対パスとを入力している。
ステップS1203の引き続く処理として、コンテンツ暗号化プログラム42は、クライアント4の操作者が、コンテンツ失効画面D2000の失効対象コンテンツの入力欄への入力を行った後、OKボタンをクリックすると、失効対象コンテンツの入力欄入力にされて指定された失効対象コンテンツを読み込み、読み込んだコンテンツが暗号化コンテンツであるかどうか(コンテンツ暗号化プログラム42が暗号化したコンテンツであるかどうか)を判定し、図示していないが、暗号化コンテンツでない場合には、コンテンツ再暗号化画面にエラーメッセージを表示して、クライアント4の操作者に修正入力等を促す。
また、コンテンツ暗号化プログラム42は、読込んだコンテンツが暗号化コンテンツであった場合、当該暗号化コンテンツ49の暗号化利用者ID492が、クライアント4の操作者の利用者IDと一致するか否かを判定し、一致しない場合、他の利用者が暗号化したコンテンツの参照等を行うことができないようにしようとしているので、図示していないが、コンテンツ失効画面にエラーメッセージを表示して、クライアント4の操作者に修正入力等を促す。また、コンテンツ暗号化プログラム42は、失効対象コンテンツの入力欄で指定された暗号化コンテンツ49のコンテンツID491をコンテンツ管理プログラム13に送信する。なお、図12には明示していないが、クライアント4の操作者が、キャンセルボタンをマウス等でクリックすると、コンテンツ暗号化プログラム42はここでの処理を終了する(以上、ステップS1203)。
(4)コンテンツ管理プログラム13は、コンテンツ暗号化プログラム42が送信してきたコンテンツIDを受信すると、失効コンテンツの管理処理を行い、失効コンテンツの管理処理の結果をコンテンツ暗号化プログラム42に送信する。具体的には、まず、受信したコンテンツID等のチェックを行いエラーと判定した場合(例えば、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260が存在しない場合、エラーと判定する)、「エラー」の処理結果をコンテンツ暗号化プログラム42に送信する。また、コンテンツ管理プログラム13は、受信したコンテンツID等のチェックを行い、正常と判定した場合、受信したコンテンツIDがコンテンツID261に設定されているコンテンツ管理レコード260を削除する。コンテンツ管理レコード260が削除されることにより、当該暗号化コンテンツの参照等を行おうとしてもエラーとなるので、以降、他の利用者が当該暗号化コンテンツの参照等を行うことを禁止することができる。
前述において、コンテンツ管理レコード260を削除するのでなく、例えば、コンテンツ管理レコード260のデータ項目として「失効フラグ」を設けてもよい。コンテンツ管理レコード260を作成する際に失効フラグを「オフ」に設定しておき、前述の失効処理時に失効フラグを「オン」にし、一方、コンテンツ参照処理において、アクセス制限プログラム14が失効フラグの値を判定し、「オン」の場合には参照不可とすることにより、同様に、失効した暗号化コンテンツの参照等を禁止することができる。このようにすることにより、失効処理を取り消す処理(「オン」にした失効フラグを「オフ」に戻す処理)を備えることもできる。コンテンツ管理プログラム13は、前述の処理が終了すると「正常」の処理結果をコンテンツ暗号化プログラム42に送信する(ステップS1260)。
(5)コンテンツ暗号化プログラム42は、コンテンツ管理プログラム13からコンテンツ管理処理の結果を受信すると、コンテンツ管理処理の結果が「成功」か「エラー」かを判定し、コンテンツ管理処理の結果が「正常」であった場合、ここでの処理を終了し、コンテンツ管理処理の結果が「エラー」であった場合、コンテンツ暗号化画面に暗号化に失敗した旨のメッセージを表示して、クライアント4の操作者に修正入力等を促し、ステップS1203からの処理を繰り返す(ステップS1204)。
前述において、失効した暗号化コンテンツ49は、誰にも参照等できない不要なコンテンツになるので、コンテンツ暗号化プログラム42が削除してもよい。但し、前述したように、コンテンツ管理レコード260のデータ項目として「失効フラグ」を設け、失効処理を取り消す処理を備える場合には、削除せずに残しておき、削除するかどうかをクライアント4の操作者に委ねたほうが好ましい。
<コンテンツ失効機能による効果>
文書管理システムに、前述で説明したコンテンツ失効機能をも備えることにより、暗号化ファイルを作成して他の利用者に送信した後で、当該暗号化ファイルの参照等を禁止することができる。再暗号化ファイルについても同様である。
しかし、暗号化ファイルを例えば他部署の管理責任者に送信し、その他部署の管理責任者が前述の暗号化ファイルを再暗号化して自部署の利用者に参照等可能にした場合、元の暗号化ファイルを作成した利用者がその暗号化ファイルを失効させたとしても、再暗号化されたファイルの参照等を禁止することができない。このような場合、以下に説明するように、本発明の第1の実施形態における文書管理システムを多少変更すれば、元の暗号化ファイルを失効させることにより、再暗号化されたファイルの参照等も禁止することができる。
図13は元の暗号化ファイルを失効させることにより、再暗号化されたファイルの参照等も禁止することを可能とした本発明の第1の実施形態におけるコンテンツ管理ファイル26のデータ構成を示す図である。この図13に示すコンテンツ管理ファイル26のデータ構成は、図5により説明したコンテンツ管理レコード260のデータ項目に、原コンテンツID264を追加して構成されている。
原コンテンツID264は、暗号化コンテンツの管理処理(図9により説明したステップS960での処理)において、初期値(原コンテンツが存在しないことを示す)が設定され、再暗号化コンテンツの管理処理(図11により説明したステップS1160の処理)において、再暗号化対象とするコンテンツのコンテンツIDが設定される。コンテンツ参照時のアクセス権限チェック処理(図10により説明したステップS1060の処理)において、原コンテンツID264が初期値でないコンテンツの参照等が要求されている場合、原コンテンツID264が初期値であるコンテンツレコード260を検出するまで、原コンテンツID264がコンテンツID261に設定されているコンテンツ管理レコード260を次々に参照していく。そして、この処理の途中でコンテンツレコード260が存在しない場合、または、失効フラグが「オン」になっている場合、当該コンテンツに基づいて再暗号化されたコンテンツは全て失効したものとして、コンテンツの参照等を禁止することができる。
<第2の実施形態による文書管理システム>
前述までに説明した本発明の第1の実施形態は、1つの企業がコンテンツ管理サーバ1を利用する場合、あるいは、1つの企業グループが共同でコンテンツ管理サーバ1を利用する場合を例として説明した。技術的には、特に資本提携関係等がない複数の企業が共同でコンテンツ管理サーバ1を利用する場合であっても本発明の第1の実施形態による文書管理システムを使用することができるが、第1の実施形態のままでは、他の企業の利用者一覧を参照することが可能になる等の運用上の不都合もある。特に、サービス事業者がコンテンツ管理サーバ1を設置・運営し、互いに関係のない複数の企業にコンテンツ管理サービスを提供しようとする場合、各企業に係わる情報は、他企業には見えないようにする必要がある。
以下では、このような機能を備えた本発明の第2の実施形態による文書管理システムについて説明する。
<本発明の第2の実施形態による文書管理システムの全体的な構成及び機能>
図21は本発明の第2の実施形態による文書管理システムの構成を示すブロック図である。
本発明の第2の実施形態による文書管理システムは、図21に示すように、第1の実施形態による文書管理システムと同様に、コンテンツ管理サーバ1、クライアント3a、クライアント3b、クライアント4aの各装置が、有線または無線の通信回線により相互に通信可能に接続して構成されている。
そして、第2の実施形態は、サービス事業者がコンテンツ管理サーバ1を設置・運営しており、A及びBの2つの企業がコンテンツ管理サーバ1を利用しており、企業Aの内部にクライアント3a及び4aが、企業Bの内部にクライアント3b及び図示していないがクライアント4bが設置されているとする。なお、クライアント3a及びクライアント3bは、第1の実施形態のクライアント3に、クライアント4a及びクライアント4bは、第2の実施形態のクライアント4に対応している。以降の説明では、特に区分する必要がない限り、クライアント3a及びクライアント3bをいずれもクライアント3と呼び、クライアント4a及びクライアント4bをいずれもクライアント4と呼ぶこととする。
なお、図21に示す本発明の第2の実施形態は、第1の実施形態と同様に、各装置を1台ずつ図示しているが、それぞれ2以上存在していてもよい。また、各装置は、それぞれ1台ずつ存在する必要はなく、例えば、クライアント3とクライアント4は1台で両方の機能を備えるように構成すること等も可能である。このような構成により、本発明の第2の実施形態は、第1の実施形態と同様に、クライアント3が、アクセス制限の対象となるコンテンツの参照等を行う可能性のある利用者をコンテンツ管理サーバ1に登録することができる。また、クライアント4は、コンテンツ管理サーバ1の機能を使用して、クライアント4に記憶しているコンテンツを暗号化し、アクセス制限をかけることができる。さらに、クライアント4は、暗号化したコンテンツを復号化して参照することもできる。
<第2の実施形態による文書管理システムの各部の構成及び機能>
以下では、コンテンツ管理サーバ1、クライアント3及びクライアント4の構成・機能を第1の実施形態と異なる構成・機能に着目して説明する。
<第2の実施形態のコンテンツ管理サーバ1の構成及び機能>
コンテンツ管理サーバ1の主記憶装置には、第1の実施形態でのプログラムに加え、契約管理プログラム15がローディングされる。また、コンテンツ管理サーバ1には、コンテンツ管理サーバ1の操作者が契約管理プログラム15を使用しその処理結果等を確認することができるようにするため、キーボード、マウス等からなる入力装置16及び液晶ディスプレイ、プリンタ等からなる表示装置17が通信可能に接続されている。さらに、コンテンツ管理サーバ1に接続されている記憶装置2には、第1の実施形態での各ファイルに加え、契約ファイル22が記憶されている。以下、契約管理プログラム15の機能に触れつつ、契約ファイル22の目的、記憶内容等を説明する。
契約ファイル22は、コンテンツ管理サーバ1を利用する企業等(前述した例では企業A及び企業B)を管理するためのファイルであり、各企業等におけるコンテンツ管理サーバ1の利用者数、各企業等の名称・住所等を記憶したファイルである。コンテンツ管理サーバ1を設置・運営しているサービス事業者は、契約ファイル22の利用者数に基づいて利用料を算出し、それらの各企業に利用料の支払いを請求することができる。契約ファイル22は、コンテンツ管理サーバ1の操作者が契約管理プログラム15を使用して作成され、必要に応じて更新される。
なお、図示していないが、サービス事業者内部にコンテンツ管理サーバ1に加えて、クライアントPCをも設置し、入力装置16及び表示装置17を、前述のクライアントPCに接続し、このクライアントPCの操作者が契約管理プログラム15を使用して契約ファイル22を作成・更新することも可能である。
<第2の実施形態でのクライント3及びクライアント4の構成及び機能>
本発明の第2の実施形態でのクライント3及びクライアント4の構成及び機能は、第1の実施形態と特に相違はない。なお、図21においてクライアント4にコンテンツ参照プログラム43を記載していないが、コンテンツ参照プログラム43の機能は第1の実施形態と同一であり、以降の説明では当該プログラムの機能を特に説明する必要がないため、記載を省略したにすぎない。
<第2の実施形態での各ファイルのデータ構造>
以下、第2の実施形態における各ファイルのデータ構造を、第1の実施形態と異なるデータ項目に着目して説明する。なお、鍵ファイル21、アクセス制限ファイル25及びコンテンツ管理ファイル26のデータ構造は第1の実施形態の場合と同一である。
図22は本発明の第2の実施形態における契約ファイル22のデータ構成を示す図である。
契約ファイル22は、前述したように、コンテンツ管理サーバ1を利用する企業等を管理するためのファイルであり、1以上の契約レコード220を記憶している。
契約レコード220は、契約ID221、パスワード222、契約利用者数223及び契約者名称・住所等224から構成されている。
契約ID221には、各企業が通信回線を経由してコンテンツ管理サーバ1を使用するという、サービス事業者が提供するサービスについての、サービス事業者と各企業間の契約を一意に識別可能なIDが設定される。そして、企業Aが部署A1及び部署A2のそれぞれの従業員をサービス利用者として2つのサービス利用契約を締結し、企業Bが部署に関係なくその企業の従業員をサービス利用者として1つのサービス利用契約を締結している場合、契約ID221が異なる3つの契約レコード220が存在する。
パスワード222は、サービス契約に係わる企業や部署がサービス対象利用者を利用者ファイル23に登録する際の認証用のパスワードである。すなわち、前述した第1の実施形態においては、サービス利用開始前に、利用者管理権限を有する少なくとも1の利用者を、利用者登録・変更プログラム31を使用せずに利用者ファイル23に登録する必要があるが、第2の実施形態においては、後述するように、サービス契約企業またはサービス契約部署は、サービス利用開始後に、契約ID221及びパスワード222を使用して、利用者管理権限を有する少なくとも1の利用者を利用者ファイル23に登録することができる。
契約利用者数223には、サービス契約に係わる企業や部署においてサービスを利用できる者の最大数が設定される。後述するように、サービス契約に係わる企業や部署の登録済み利用者数が契約利用者数223に達している場合、それ以上の利用者を登録することはできない。
契約者名称・住所等224には、サービス契約に係わる企業や部署の名称、住所、請求書のあて先名称、連絡先電話番号等が設定される。
図23は本発明の第2の実施形態における利用者ファイル23のデータ構成を示す図である。
利用者ファイル23は、第1の実施形態の場合と同様に、1以上の利用者レコード230を記憶しており、利用者ID231、パスワード232、利用者管理権限有無233及び暗号化権限有無234の設定内容は第1の実施形態と同一であるが、第2の実施形態ではデータ項目としてさらに契約ID235を備えている。
契約ID235には、その利用者がどの契約によってサービスを利用しているかを示す値が設定される。例えば、企業Aがサービス事業者と契約を締結し、この契約に係わる契約レコードの契約ID221が“CompanyA_01” である場合、企業Aの従業員に係わる利用者レコード230の契約ID235には、“CompanyA_01” が設定される。
なお、利用者ID231には、企業A、企業B等の利用者全てを一意に識別可能な値を設定する必要があり、従って、企業間等での利用者IDの重複を回避するため、例えば、利用者ID231としては、その利用者に係わる契約IDから始まる文字列にする等、所定の規則に従った文字列とし、利用者登録時に入力された利用者IDが当該所定に規則に従っているかどうか、利用者管理プログラム11等を用いてエラーチェックする必要がある。しかし、このようにすると、利用者IDが長くなり使用するのも不便である。そこで、前述したように利用者管理プログラム11等をWEBアプリケーションで実現する場合、契約レコード220に企業A、企業B等に対応するドメイン名を設定しておき、契約ファイル22を除く各ファイルの記憶空間をドメイン毎に分けるようにすればよい。
<第2の実施形態による文書管理システムの動作>
前述までで、第2の実施形態による文書管理システムの構成及び機能の説明を終了し、以下、サービスの利用に係わる運用フローチャート等を参照しつつ、第2の実施形態による文書管理システムの動作を説明する。なお、契約管理プログラム15を除くと、各プログラムの動作は第1の実施形態と殆ど同一であるので、第1の実施形態との相違点を中心に説明する。
図24は本発明の第2の実施形態による文書管理システムでの処理動作の概要を説明するフローチャートであり、次に、これについて説明する。
(1)まず、企業Aがサービス事業者と、通信回線を経由してコンテンツ管理サーバ1を使用するというサービス契約を締結する(ステップS2401)。
(2)サービス事業者は、ステップS2401の処理で締結した契約に基づいて契約IDを定め、企業Aとの契約に係わる契約レコード220を契約管理プログラム15を使用して作成する(ステップS2402)。
ここで、契約レコード220の作成処理の詳細について、図25、図26を参照して説明する。
図25は本発明の第2の実施形態による文書管理システムで契約管理プログラム15が契約レコード220を作成する動作を説明するフローチャート、図26は契約管理プログラム15が契約レコード220を作成する際の契約画面の例を示す図である。
(2−1)コンテンツ管理サーバ1の操作者は、入力装置16を操作して契約管理プログラム15を起動する。契約管理プログラム15は、起動されて処理を開始すると、表示装置17に図26に示すような契約画面D2600を表示し、図には明示していないが、OKボタンまたはキャンセルボタンがクリックされるまで待つ(ステップS2501)。
契約画面D2600は、図26に例示するように、契約ID、パスワード、契約利用者数、契約者名、契約者住所の各入力欄と、OKボタン、キャンセルボタンとを有して構成されている。コンテンツ管理サーバ1の操作者は、この契約画面D2600を使用して、契約ファイル22に登録したい契約ID(例えば“CompanyA_01”)、パスワード(例えば“passwd”)、契約利用者数(例えば“20”)、契約者名(例えば“A社”)、契約者住所(例えば“神奈川県横浜市”)を各入力欄に入力する。
(2−2)契約管理プログラム15は、OKボタンがクリックされると、入力された契約ID等のエラーチェックを行い、エラーであって場合、契約画面にエラーメッセージを表示する等して、コンテンツ管理サーバ1の操作者に修正入力等を促し、ステップS2501からの処理を繰り返す。ここでのエラーチェックは、例えば、入力契約IDが契約ID221に設定されている契約レコード220が既に存在する場合にエラーと判定する等とするものである。また、図25には明示していないが、コンテンツ管理サーバ1の操作者が、キャンセルボタンをマウス等でクリックすると、契約管理プログラム15は処理を終了する(ステップS2502)。
(2−3)ステップS2502のエラーチェックの処理で、エラーを検出しなかった場合、正常と判断して契約管理プログラム15は、正常と判断して、入力された契約ID、パスワード、契約利用者数、契約者名、契約者住所をそれぞれ、契約レコード220の契約ID221、パスワード222、契約利用者数223、契約者名称・住所等224に設定し、当該契約レコード220を契約ファイル22に追加してここでの処理を終了する(ステップS2503)。
前述では、契約ID等を登録する場合の契約管理プログラム15の動作を説明したが、契約レコード220の更新、削除等を可能にすることにより、登録した契約情報の変更(例えば、契約利用者数の変更)、契約情報の削除等も同様に実現することができる。この場合、契約管理プログラム15の起動後、ステップS2501の処理の前に、図示していないが、契約、契約変更または契約削除のいずれかを選択するメニュー画面を表示し、契約管理プログラム15が、選択された各処理を実行するようにすればよい。また、パスワードだけは契約企業自身が、クライアント3を操作して、図示していない別のプログラムによって変更できるようにしてもよい。
(3)図24の参照に戻って、サービス事業者は、契約レコード220を作成した後、企業Aの契約担当者等にサービスを利用する準備ができたことを連絡する。そして、企業Aの契約担当者等は、少なくとも1名の利用者管理権限を有する利用者を決め、当該利用者の利用者レコード230を作成する(ステップS2403)。
利用者レコード230は、利用者登録・変更プログラム31によって、図7を参照してすでに説明した処理と同様の処理により作成される。以下、図7を参照して、既に説明した処理とは異なる処理を中心にして利用者レコード230の作成の動作を説明する。
(3−1)クライアント3の操作者(企業Aの契約担当者等)は、入力装置35を操作して利用者登録・変更プログラム31を起動する。利用者登録・変更プログラム31は、起動されて処理を開始すると、表示装置36にログイン画面(利用者認証画面)を表示し、クライアント3の操作者によって入力された契約ID(利用者ID)及びパスワードを利用者管理プログラム11に送信し、図には明示していないが、利用者管理プログラム11から認証成否を受信するまで待つ。この場合のログイン画面(利用者認証画面)は、図14で例示したものと同一のものでよい。ただし、利用者IDの入力欄D1401には、企業Aの契約IDが入力される。
クライアント3の操作者がOKボタンD1403をマウス等でクリックすると、利用者登録・変更プログラム31は、入力された利用者ID及びパスワードを利用者管理プログラム11に送信する。一方、図7では明示していないが、クライアント3の操作者が、キャンセルボタンD1404をマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する(ステップS701)。
(3−2)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID及びパスワードを受信すると、受信した利用者IDの認証を行う。具体的には、受信した利用者IDが契約ファイル22に登録されており(受信した利用者IDが契約ID221に設定されている契約レコード220が存在するか)受信したパスワードが当該契約者のものである(受信した利用者IDが契約ID221に設定されている契約レコード220のパスワード222と、受信したパスワードが同一である)場合、または、受信した利用者IDが利用者ファイル23に登録されており、受信したパスワードがその利用者のものであり、かつ、その利用者が利用者管理権限を有している場合に認証成功とし、前述のいずれかの条件をも満たさない場合に認証失敗とする。利用者管理プログラム11は、「認証成功」または「認証失敗」の処理結果を利用者登録・変更プログラム31に送信する。そして、「認証成功」の場合、クライアント3の操作者に係わる契約ID(操作者が契約レコード220によって認証された場合は契約ID221、利用者レコード220によって認証された場合は契約ID235)も利用者登録・変更プログラム31に送信する(ステップS750)。
なお、前述したように利用者IDとパスワードとの組み合わせが契約レコード220または利用者レコード230に登録されている場合に認証成功とすると、利用者IDとして契約IDと同一の値を付与した場合に、利用者管理権限を有していない利用者が利用者登録できる等の不都合が発生することになる。このような不都合を回避するためには、例えば、契約IDは“contract”で始まる文字等、所定の規則に従った文字列とし、契約管理プログラム15が、契約画面の契約IDに前述の所定の規則に従っていない文字列が入力された場合エラーとし、一方、利用者登録・変更プログラム31が、利用者登録画面の利用者IDに前述の所定の規則に従った文字列が入力されている場合にエラーとすればよい。
(3−3)利用者登録・変更プログラム31は、利用者管理プログラム11から認証の結果を受信すると、「認証成功」か「認証失敗」かを判定し、「認証失敗」であった場合、ログイン画面に認証失敗した旨のメッセージを表示する等により、クライアント3の操作者にパスワード修正の入力を促す(ステップS702)。
(3−4)ステップS702の判定で、「認証成功」であった場合、利用者登録・変更プログラム31は、図示しないが、表示装置36に利用者登録、利用者情報変更または利用者削除のいずれかを選択するメニュー画面を表示し、選択された各処理を実行する。すなわち、メニュー画面で利用者登録が選択されると、利用者登録・変更プログラム31は、表示装置36に利用者登録画面を表示し、クライアント3の操作者によって入力された利用者ID等を利用者管理プログラム11に送信し、図には明示していないが、利用者管理プログラム11から処理結果を受信するまで待つ。
前述の処理における利用者登録画面は、図15に示して説明したものと同一であってよい。クライアント3の操作者は、利用者ファイル23に登録したい利用者の利用者ID、パスワードを各入力欄に入力し、利用者が利用者管理権限、暗号化権限をそれぞれ有するか否かを、ラジオボタンによって選択する。利用者登録・変更プログラム31は、OKボタンがクリックされると、入力等された利用者ID、パスワード、利用者管理権限、暗号化権限、及びクライアント3の操作者に係わる契約IDを利用者管理プログラム11に送信する。一方、図7には明示していないが、クライアント3の操作者が、キャンセルボタンをマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する(ステップS703)。
(3−5)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID等を受信すると、受信した利用者ID等の登録処理を行う。具体的には、まず、受信した利用者ID、パスワード、利用者管理権限有無、暗号化権限有無及び契約IDのチェックを行う。そして、チェックの結果正常と判定した場合、利用者管理プログラム11は、受信した利用者ID、パスワード、利用者管理権限有無、暗号化権限有無及び契約IDを、それぞれ利用者管理レコード230の利用者ID231、パスワード232、利用者管理権限有無233、暗号化権限有無234及び契約ID235に設定し、その利用者管理レコード230を利用者管理ファイル23に追加する。利用者管理プログラム11は、「エラー」又は「正常」の処理結果を利用者登録・変更プログラム31に送信する(ステップS760)。
(3−6)利用者登録・変更プログラム31は、利用者管理プログラム11から登録処理実施処理の結果を受信すると、「正常(登録処理成功)」か「エラー(登録処理失敗)」かを判定し、「正常」であった場合、ここでの処理を終了し、「エラー」であった場合、利用者登録画面に登録が失敗した旨のメッセージを表示する等により、クライアント3の操作者に修正入力を促し、ステップS703からの処理を繰り返す(ステップS704)。
(4)図24の参照に戻って、企業Aの契約担当者等が、前述のようにして利用者管理権限を有する利用者を利用者ファイル23に登録した後、登録された利用者管理権限を有する利用者が、他の企業Aの利用者を利用者ファイル23に登録し、登録された利用者のうち暗号化権限を有する者が、アクセス権限を作成する。具体的には、図8を参照して説明したように、暗号化コンテンツを参照等させたい企業Aの利用者の利用者IDが設定されたアクセス権限レコード250を作成する。
なお、本発明の第2の実施形態では、アクセス権限登録画面(図16のD1600)の利用者ID一覧の表示・選択欄(D1603)に、利用者ファイル23に登録されている全ての利用者IDを表示するのでなく、クライアント4の操作者に係わる利用者レコード230の契約ID235を参照し、契約ID235に同一値が設定されている利用者ID231だけを表示すればよい。このようにすることで、企業Aの利用者管理権限を有する利用者は、企業Aの利用者だけを参照してアクセス権限ファイル25に登録するようにできる(ステップS2404、S2405)。
(5)暗号化権限を有する利用者は、第1の実施形態の場合と同様にコンテンツを暗号化し、暗号化コンテンツ49を作成する。なお、本発明の第2の実施形態において、コンテンツ管理プログラム13は、コンテンツ暗号化プログラム42から受信したアクセス権限ID(すなわち、当該暗号化権限を有する利用者がアクセス権限登録時に入力したアクセス権限)が、当該暗号化に使用可能かどうかのエラーチェックを行う。具体的には、受信したアクセス権限IDがアクセス権限ID251に設定されているアクセス権限レコード250の利用者ID253を参照し、利用者レコード230の契約ID235に設定されている値が、当該暗号化権限を有する利用者の契約ID235と同一である場合に使用可能とし、異なる場合に使用不可とする。また、コンテンツ再暗号化においても、同様に、暗号化権限を有する利用者の契約IDと当該利用者が指定したアクセス権限IDに係わる契約IDが一致しているかの判定を行う。このようにすることにより、企業Aの利用者が作成したアクセス権限レコード250のアクセス権限ID251のみを、コンテンツ暗号化画面(図18のD1800)等のアクセス権限IDに入力可能とすることができるので、企業Aの利用者が作成した暗号化コンテンツが企業A以外の利用者に参照されることはない(ステップS2406)。
(6)利用者レコード230及びアクセス権限レコード250に登録された企業Aの利用者は、本発明の第1の実施形態の場合と同様に暗号化コンテンツを参照する(ステップS2407)。
<第2の実施形態による文書管理システムによる効果>
以上説明したように、本発明の第2の実施形態による文書管理システムは、各処理において操作者(利用者)の契約IDを判定することにより、他企業や他部署等の利用者レコード230、アクセス権限レコード250を参照したり、使用したりすることができないようにしている。すなわち、契約IDが同一の利用者間でのみ、暗号化コンテンツの参照を可能としている。従って、第2の実施形態のように複数の企業や部署が同一のコンテンツ管理サーバ1によるサービス提供を受ける場合でも、各企業や部署に係わる情報が、他企業や部署には見えないようにすることができ、情報漏洩を防止することができる。
<第3の実施形態による文書管理システム>
一般に、ある企業や部署が暗号化したコンテンツを他の企業や部署に参照させたい場合がある。このための方法として、既にコンテンツの再暗号について説明したが、第2の実施形態のように契約IDが同一の利用者間でのみ、暗号化コンテンツの参照を可能とすると、情報漏洩の危険性は低くなるものの、ある企業や部署が暗号化したコンテンツを、契約IDが異なる他の企業や部署の利用者に参照させることはできなくなる。
従って、基本的には契約IDが同一の利用者間でのみ、暗号化コンテンツの参照を可能としつつ、契約IDが異なる利用者にも暗号化したコンテンツを参照させることができるようにする必要がある。
以下、契約IDが異なる利用者にも暗号化コンテンツを参照させる機能を備えた文書管理システムの第3の実施形態について説明する。
<第3の実施形態による文書管理システムの全体的な構成及び機能>
図27は本発明の第3の実施形態による文書管理システムの構成を示すブロック図である。
本発明の第3の実施形態による文書管理システムは、図27に示すように、第2の実施形態による文書管理システムと同様に、コンテンツ管理サーバ1、クライアント3a、クライアント3b、クライアント4aの各装置が、有線または無線の通信回線により相互に通信可能に接続して構成されている。
そして、第3の実施形態においても、第2の実施形態と同様に、サービス事業者がコンテンツ管理サーバ1を設置・運営しており、A及びBの2つの企業がコンテンツ管理サーバ1を利用しており、企業Aの内部にクライアント3a及び4aが、企業Bの内部にクライアント3b及び図示していないがクライアント4bが設置されているものとする。なお、クライアント3a及びクライアント3bは、第1の実施形態でのクライアント3に、クライアント4a及びクライアント4bは、第1の実施形態でのクライアント4に対応している。以降の説明では、特に区分する必要がない限り、クライアント3a及びクライアント3bをいずれもクライアント3と、クライアント4a及びクライアント4bをいずれもクライアント4と呼ぶこととする。
なお、図27に示す本発明の第3の実施形態は、第1の実施形態と同様に、各装置を1台ずつ備えて構成されるとして図示しているが、それぞれ2以上存在していてもよい。また、各装置は、それぞれ1台ずつ存在する必要はなく、例えば、クライアント3とクライアント4とは1台で両方の機能を備えるように構成する等も可能である。
このように構成により、本発明の第3の実施形態は、第1の実施形態、第2の実施形態の場合と同様に、クライアント3が、アクセス制限の対象となるコンテンツを参照等する可能性のある利用者をコンテンツ管理サーバ1に登録することができる。また、クライアント4は、コンテンツ管理サーバ1の機能を使用して、クライアント4に記憶しているコンテンツを暗号化し、アクセス制限をかけることできる。さらに、クライアント4は、暗号化したコンテンツを復号化して参照することもできる。
<第3の実施形態による文書管理システムの各部の構成及び機能>
以下、コンテンツ管理サーバ1、クライアント3及びクライアント4の構成・機能を第2の実施形態と異なる構成・機能に着目して説明する。
<第3の実施形態でのコンテンツ管理サーバ1の構成及び機能>
コンテンツ管理サーバ1の主記憶装置ローディングされるプログラムは、第2の実施形態と同一であるが、後述するように一部の機能が異なる。また、記憶装置2には第2の実施形態での各ファイルに加え、窓口担当者ファイル24が記憶されている。以下、利用者管理プログラム11の機能に触れつつ、窓口担当者ファイル24の目的、記憶内容等を説明する。
窓口担当者ファイル24は、コンテンツ管理サーバ1を使用する各企業や各部署において、他の企業や部署が暗号化したコンテンツを受信し、当該企業や部署内の利用者が当該コンテンツを参照等することができるようにする特別な利用者を登録するファイルである。例えば、ある企業Aが別の企業Bに機器設計の一部を発注する場合、企業A、企業Bともにコンテンツ管理サーバ1に係わるサービス事業者とサービス利用契約を締結し、企業Bの契約担当者は、企業Bとサービス事業者間の当該サービス契約についての窓口担当者を決めて、利用者管理プログラム11等により窓口担当者ファイル24に窓口担当者を登録する。企業Aの利用者は、企業Aとサービス事業者間の当該サービス契約についての企業Aの利用者に加え、企業Bの窓口担当者にも、暗号化したコンテンツの参照権限等を付与することができる。そして、企業Bの窓口担当者は、受信した暗号化コンテンツを再暗号化し、企業Bの利用者に参照させることができる。このようにして、企業Aの利用者は、窓口担当者以外の企業Bの利用者を知ることなく、必要な者に暗号化コンテンツを参照させることができる。
なお、企業Aが企業Bに複数の異なる機器設計を発注するような場合、機器設計毎に、サービス事業者とサービス利用契約を締結して、契約ID及び窓口担当者を異なるものにすることもできるし、いずれの機器設計についても同一サービス利用契約とし、窓口担当者も同一にすることもできる。
<第3の実施形態でのクライント3及びクライアント4の構成及び機能>
第3の実施形態でのクライント3及びクライアント4の構成及び機能は、第2の実施形態の場合と特に相違はない。なお、図27において、クライアント4にコンテンツ参照プログラム43を記載していないが、これはコンテンツ参照プログラム43の機能は第1の実施形態、第2の実施形態の場合と同一であり、以降の説明では当該プログラムの機能を特に説明しないため、記載を省略したにすぎない。
<第3の実施形態での各ファイルのデータ構造>
以下、第3の実施形態における各ファイルのデータ構造を、第2の実施形態と異なるデータ項目に着目して説明する。なお、鍵ファイル21、アクセス制限ファイル25及びコンテンツ管理ファイル26のデータ構造は第2の実施形態の場合と同一である。
図28は本発明の第3の実施形態における窓口担当者ファイル24のデータ構成を示す図である。
窓口担当者ファイル24は、前述したように、コンテンツ管理サーバ1を利用する企業等において、他企業等から暗号化コンテンツを受信し再暗号化して当該企業等の利用者に参照させる窓口担当者を登録するファイルである。窓口担当者レコード240は、1つの契約ID毎に1レコード存在するか、または、当該契約IDについては存在しないかのいずれかである。
窓口担当者レコード240は、利用者ID241、契約ID242及び承認有無243から構成される。
利用者ID241には、当該窓口担当者の利用者レコード230の利用者ID231と同一の値が設定される。
契約ID242には、暗号化コンテンツを作成し、当該窓口担当者に当該暗号化コンテンツの参照等を許可する企業等の契約IDが設定される。
承認有無243には、当該窓口担当者に暗号化コンテンツの参照等を許可する企業等が、当該窓口担当者を承認済みであることを示す値(“承認済み”)または未承認であることを示す値(“未承認”)が設定される。
<第3の実施形態による文書管理システムの動作等>
以上で、第3の実施形態による文書管理システムの構成及び機能の説明を終了し、次に、第3の実施形態による文書管理システムでのサービスの利用に係わる運用の処理動作について説明する。なお、各プログラムの動作は第2の実施形態の場合と殆ど同一であるので、第2の実施形態との相違点を中心に説明する。
図29は本発明の第3の実施形態による文書管理システムでのサービスの利用に係わる運用の処理動作について説明するフローチャートであり、次に、これについて説明する。
(1)まず、企業Aがサービス事業者と、通信回線を経由してコンテンツ管理サーバ1を使用するというサービス契約(以下、この契約を「契約A」という。)を締結する(ステップS2901)。
(2)サービス事業者は、この契約に基づいて契約IDを定め、第2の実施形態で説明したと同様に、企業Aとの当該契約に係わる契約レコード220を作成する(ステップS2902)。
(3)サービス事業者は、契約レコード220を作成した後、企業Aの契約担当者等にサービスを利用する準備ができたことを連絡する。そして、企業Aの契約担当者等は、少なくとも1名の利用者管理権限を有する利用者を決め、第2の実施形態で説明したと同様に、当該利用者の利用者レコード230を作成する(ステップS2903)。
(4)企業Aの契約担当者等が、利用者管理権限を有する利用者を利用者ファイル23に登録した後、当該利用者管理権限を有する利用者が、企業Aの他の利用者を利用者ファイル23に登録する(S2904)。
(5)ここで、企業Aが設計業務等の一部を企業Bに委託することを決め、企業Aの利用者が暗号化したコンテンツをB社の利用者に参照させる必要が発生したとする。その場合、企業Bも、サービス事業者と、通信回線を経由してコンテンツ管理サーバ1を使用するというサービス契約(以下、この契約を「契約B」という。)を締結する(ステップS2905、S2906)。
(6)サービス事業者は、この契約に基づいて契約IDを定め、第2の実施形態で説明したと同様に、企業Bとの当該契約に係わる契約レコード220を作成する(ステップS2907)。
(7)サービス事業者は、契約レコード220を作成した後、企業Bの契約担当者等にサービスを利用する準備ができたことを連絡する。そして、企業Bの契約担当者等は、少なくとも1名の利用者管理権限を有する利用者を決め、第2の実施形態で説明したように、当該利用者の利用者レコード230を作成する(ステップS2908)。
(8)企業Bの契約担当者等が、利用者管理権限を有する利用者を利用者ファイル23に登録した後、当該利用者管理権限を有する利用者が、企業Bの他の利用者を利用者ファイル23に登録する(ステップS2909)。
(9)また、企業Bの契約担当者等または当該利用者管理権限を有する利用者は、契約Aについての企業Bの窓口担当者を決め、窓口担当者レコード240を作成し、窓口担当者レコード240を窓口担当者ファイル24に登録する。窓口担当者レコード240は、利用者登録・変更プログラム31によって作成される(ステップS2910)。
図30は第3の実施形態での窓口担当者登録の動作を説明するフローチャートであり、ここで、窓口担当者登録の動作について説明する。窓口担当者登録の動作は、図7を参照して説明した利用者登録の動作と重複する部分があるので、以下では、利用者登録と異なる動作を中心に説明する。
(9−1)クライアント3の操作者(企業Bの契約担当者等又は利用者管理権限を有する利用者)は、入力装置35を操作して利用者登録・変更プログラム31を起動する。利用者登録・変更プログラム31は、起動されると処理を開始し、図示していないが、表示装置36にログイン画面(利用者認証画面)を表示し、クライアント3の操作者によって入力された利用者ID(契約Bの契約ID又は利用者管理権限を有する利用者の利用者ID)及びパスワードを利用者管理プログラム11に送信し、利用者管理プログラム11から認証成否を受信するまで待つ。この場合のログイン画面(利用者認証画面)は、図14に示して説明したものと同じである。クライアント3の操作者がログイン画面D1400に利用者ID及びパスワード入力した後、OKボタンD1403をマウス等でクリックすると、利用者登録・変更プログラム31は、図示していないが、入力された利用者ID及びパスワードを利用者管理プログラム11に送信する。一方、クライアント3の操作者が、キャンセルボタンD1404をマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する。
利用者管理プログラム11は、利用者登録・変更プログラム31が送信した利用者ID及びパスワードを受信すると、図示していないが、受信した利用者IDの認証を行い、「認証成功」の処理結果とクライアント3の操作者に係わる契約IDまたは「認証失敗」の処理結果を利用者登録・変更プログラム31に送信する。
利用者登録・変更プログラム31は、利用者管理プログラム11から「認証成功」を受信すると、図示していないが、表示装置36に利用者登録、利用者情報変更、利用者削除、窓口担当者登録または窓口担当者承認のいずれかを選択するメニュー画面を表示し、選択された各処理を実行する。一方、「認証失敗」を受信すると、ログイン画面に認証失敗した旨のメッセージを表示する等し、クライアント3の操作者にパスワードの修正入力等を促す。メニュー画面で窓口担当者登録が選択されると、利用者登録・変更プログラム31は、表示装置36に図32に例示するような窓口担当者登録画面D3200を表示し、クライアント3の操作者によって入力された利用者ID等を利用者管理プログラム11に送信し、図には明示していないが、利用者管理プログラム11から処理結果を受信するまで待つ。
また、クライアント3の操作者は、窓口担当者ファイル24に登録したい利用者の利用者IDと、暗号化コンテンツを作成し当該窓口担当者に送信する他企業等の契約ID(この例では契約Aの契約ID)を各入力欄に入力する。利用者登録・変更プログラム31は、OKボタンがクリックされると、入力された利用者ID、契約ID(契約Aの契約ID)及びクライアント3の操作者に係わる契約ID(契約Bの契約ID)を利用者管理プログラム11に送信する。一方、図30には明示していないが、クライアント3の操作者が、キャンセルボタンをマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する(ステップS3001)。
(9−2)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID等を受信すると、受信した利用者ID等の登録処理を行う。具体的には、まず、受信した利用者ID及び契約ID(契約A及び契約Bの契約ID)のチェックを行う(例えば、受信した契約ID(契約Aの契約ID)が契約ID221に設定されている契約レコード230が存在しない場合、又は受信した利用者IDと契約ID(契約Bの契約ID)がそれぞれ利用者ID231と契約ID235に設定されている利用者レコード230が存在しない場合はエラーと判定する)。そして、正常と判定した場合、受信した利用者ID及び契約IDを、それぞれ窓口担当者レコード240の利用者ID241契約ID242に設定し、承認有無243に“未承認”を設定して、当該窓口担当者レコード240を窓口担当者ファイル24に追加する。利用者管理プログラム11は、「エラー」又は「正常」の処理結果を利用者登録・変更プログラム31に送信する(ステップS3060)。
(9−3)利用者登録・変更プログラム31は、利用者管理プログラム11から登録処理の実施結果を受信すると、登録処理が成功か否か、すなわち、「正常」か、「エラー」かを判定し、「正常」であった場合、ここでの処理を終了し、「エラー」であった場合、窓口担当者登録画面に登録を失敗した旨のメッセージを表示する等し、クライアント3の操作者に修正入力等を促し、ステップS3001からの処理を繰り返す(ステップS3002)。
なお、前述では窓口担当者を登録する処理を説明したが、利用者登録と同様に、利用者登録・変更プログラム31が窓口担当者変更、窓口担当者削除等の機能も備えるように構成してもよい。
(10)図29の参照に戻って、企業Bの契約担当者等または利用者管理権限を有する利用者は、前述のようにして契約Aに係わる窓口担当者を窓口担当者ファイル24に登録した後、企業Aの(契約Aに係わる)契約担当者等または利用者管理権限を有する利用者に、当該窓口担当者の利用者IDを連絡する。そして、企業Aの(契約Aに係わる)契約担当者等または利用者管理権限を有する利用者は、連絡された利用者IDを承認する。具体的には承認は、利用者登録・変更プログラム31等によって窓口担当者レコード240の承認有無243に“承認済み”を設定することにより行われる(ステップS2911)。
図31は第3の実施形態での窓口担当者承認の動作を説明するフローチャートであり、ここで、窓口担当者承認の動作について説明する。窓口担当者承認の動作は、図7を参照して説明した利用者登録の動作と重複する部分があるので、以下では、利用者登録と異なる動作を中心に説明する。
(10−1)クライアント3の操作者(企業Aの契約担当者等又は利用者管理権限を有する利用者)は、入力装置35を操作して利用者登録・変更プログラム31を起動する。利用者登録・変更プログラム31は、起動されると処理を開始し、図示していないが、表示装置36にログイン画面(利用者認証画面)を表示し、クライアント3の操作者によって入力された利用者ID(契約Aの契約ID又は利用者管理権限を有する利用者の利用者ID)及びパスワードを利用者管理プログラム11に送信し、利用者管理プログラム11から認証成否を受信するまで待つ。この場合のログイン画面(利用者認証画面)は、図14に示して説明したものと同じである。クライアント3の操作者がログイン画面D1400に利用者ID及びパスワード入力した後、OKボタンD1403をマウス等でクリックすると、利用者登録・変更プログラム31は、図示していないが、入力された利用者ID及びパスワードを利用者管理プログラム11に送信する。一方、クライアント3の操作者が、キャンセルボタンD1404をマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する。
利用者管理プログラム11は、利用者登録・変更プログラム31が送信した利用者ID及びパスワードを受信すると、図示していないが、受信した利用者IDの認証を行い、「認証成功」の処理結果とクライアント3の操作者に係わる契約IDまたは「認証失敗」の処理結果を利用者登録・変更プログラム31に送信する。
利用者登録・変更プログラム31は、利用者管理プログラム11から「認証成功」を受信すると、図示していないが、表示装置36に利用者登録、利用者情報変更、利用者削除、窓口担当者登録または窓口担当者承認のいずれかを選択するメニュー画面を表示し、選択された各処理を実行する。一方、「認証失敗」を受信すると、ログイン画面に認証失敗した旨のメッセージを表示する等し、クライアント3の操作者にパスワードの修正入力等を促す。メニュー画面で窓口担当者承認が選択されると、利用者登録・変更プログラム31は、表示装置36に図33に例示するような窓口担当者承認画面D3300を表示し、クライアント3の操作者によって入力された利用者ID等を利用者管理プログラム11に送信し、図には明示していないが、利用者管理プログラム11から処理結果を受信するまで待つ。
また、クライアント3の操作者は、窓口担当者として承認する利用者の利用者ID(企業Bの契約担当者等又は利用者管理権限を有する利用者から契約Aに係わる窓口担当者として連絡された利用者ID)を入力欄に入力する。利用者登録・変更プログラム31は、OKボタンがクリックされると、入力された利用者ID及びクライアント3の操作者に係わる契約ID(契約Aの契約ID)を利用者管理プログラム11に送信する。一方、図30には明示していないが、クライアント3の操作者が、キャンセルボタンをマウス等でクリックすると、利用者登録・変更プログラム31は処理を終了する(ステップS3101)。
(10−2)利用者管理プログラム11は、利用者登録・変更プログラム31から送信されてきた利用者ID等を受信すると、受信した利用者IDの承認処理を行う。具体的には、まず、受信した利用者ID及び契約ID(契約Aの契約ID)のチェックを行う(例えば、受信した利用者IDと契約ID(契約Aの契約ID)が、それぞれ利用者ID241と契約ID242に設定されている窓口担当者レコード240が存在しない場合はエラーと判定する)。そして、正常と判定した場合、受信した利用者IDに係わる窓口担当者レコード240(受信した利用者IDと契約ID(契約Aの契約ID)が、それぞれ利用者ID241と契約ID242に設定されている窓口担当者レコード230)の承認有無243に“承認済み”を設定して、当該窓口担当者レコード240を更新する。利用者管理プログラム11は、「エラー」又は「正常」の処理結果を利用者登録・変更プログラム31に送信する(ステップS3160)。
(10−3)利用者登録・変更プログラム31は、利用者管理プログラム11から承認処理の実施結果を受信すると、承認処理が成功か否か、すなわち、「正常」か、「エラー」かを判定し、「正常」であった場合、ここでの処理を終了し、「エラー」であった場合、窓口担当者登録画面に承認に失敗した旨のメッセージを表示する等し、クライアント3の操作者に修正入力等を促し、ステップS3101からの処理を繰り返す(ステップS3102)。
なお、前述では、窓口担当者を承認する処理を説明したが、窓口担当者登録と同様に、利用者登録・変更プログラム31が窓口担当者承認取消等の機能を備えて構成されていてもよい。
前述したように本発明の第3の実施形態では、暗号化コンテンツを受信する側の企業等がまず窓口担当者を登録し、暗号化コンテンツを送信する側の企業等が当該窓口担当者を承認することにより、両方の企業等が信頼できる利用者を窓口担当者として登録することができる。なお、前述では、窓口担当者登録及び窓口担当者承認に必要なほぼ最小限度の機能のみを説明したが、例えば、利用者レコード230に利用者氏名、所属部署、職位、経験年数、業務経歴等も設定できるようにし、窓口担当者登録及び窓口担当者承認において、窓口担当者の利用者氏名、所属部署等を表示できるようにしてもよい。このようにすることにより、暗号化コンテンツを受信する側の企業等及び暗号化コンテンツを送信する側の企業等は、窓口担当者の職位等を参考にして窓口担当者としての信頼性を評価することができる。
(11)図29の参照に戻って、企業Aの契約担当者等が、前述のようにして窓口担当者を承認した後、企業Aの(契約Aに係わる)利用者のうち暗号化権限を有する者が、アクセス権限を作成する。具体的には、図8を参照して説明したように、暗号化コンテンツを参照等させたい企業Aの利用者の利用者ID及び必要に応じて企業Bの(契約Aに係わる)窓口担当者の利用者IDが設定されたアクセス権限レコード250を作成する(ステップS2405)。
なお、本発明の第3の実施形態では、アクセス権限登録画面(図16のD1600)の利用者ID一覧の表示・選択欄(D1603)に、利用者ファイル23に登録されている全ての利用者IDを表示するのでなく、クライアント4の操作者に係わる利用者レコード230の契約ID235を参照し、契約ID235に同一値が設定されている利用者ID231を表示すると共に、これに加えて契約ID242に契約ID235と同一値が設定されている窓口担当者レコード240の利用者ID241を表示すればよい。このようにすることにより、企業Aの利用者管理権限を有する利用者は、企業Aの契約Aに係わる利用者と企業Bの契約Aに係わる窓口担当者だけを参照してアクセス権限ファイル25に登録するようにすることができる。
(12)次に、企業Aの(契約Aに係わる)暗号化権限を有する利用者は、第2の実施形態の場合と同様に、コンテンツを暗号化し暗号化コンテンツ49を作成する(S2913)。
なお、前述において、暗号化コンテンツ49を作成する際に、コンテンツ暗号化プログラム42と共に動作するコンテンツ管理プログラム13は、第3の実施形態においても第2の実施形態の場合と同様に、コンテンツ暗号化プログラム42から受信したアクセス権限IDが、当該暗号化に使用可能かどうかのエラーチェックを行う。ただし、処理の内容が多少異なる。具体的には、コンテンツ管理プログラム13は、受信したアクセス権限IDが、アクセス権限ID251に設定されているアクセス権限レコード250の利用者ID253を参照し、利用者レコード230の契約ID235に設定されている値が、当該暗号化権限を有する利用者の契約ID235と同一である場合、または、窓口担当者レコード240の契約ID242に設定されている値が、当該暗号化権限を有する利用者の契約ID235と同一であり承認有無243が“承認済み”である場合に使用可能とし、異なる場合に使用不可とする。
また、コンテンツ再暗号化においても、同様に、暗号化権限を有する利用者の契約IDと当該利用者が指定したアクセス権限IDに係わる契約IDが一致しているか否かの判定を行う。このようにすることにより、企業Aの利用者が作成したアクセス権限レコード250のアクセス権限ID251のみを、コンテンツ暗号化画面(図18のD1800)等のアクセス権限IDに入力可能とすることができるので、企業Aの利用者が作成した暗号化コンテンツを参照等できるのは企業Aの利用者及び企業Bの窓口担当者のみであり、その他の者に参照されることはない。
(13)利用者レコード230及びアクセス権限レコード250に登録された企業Aの利用者及び企業Bの(契約Aに係わる)窓口担当者は、第1の実施形態の場合と同様に、暗号化コンテンツを参照することができる(S2914)。
(14)そして、企業Bの(契約Aに係わる)窓口担当者は、当該暗号化コンテンツを企業Bの利用者(企業Aから受注した設計作業等を行う利用者)に参照等させるためのアクセス権限を作成する。具体的には、図8を参照して説明したように、暗号化コンテンツを参照等させたい企業Bの利用者の利用者IDが設定されたアクセス権限レコード250を作成する。なお、例えば、企業Bからさらに企業Cに設計の一部を発注するような場合には、前述の説明と同様の方法で企業Cの(契約Bに係わる)窓口担当者を登録し、当該窓口担当者が設定されたアクセス権限レコード250を作成すればよい(ステップS2915)。
(15)次に、企業Bの(契約Bに係わる)暗号化権限を有する利用者は、前述の説明と同様にコンテンツを再暗号化し、暗号化コンテンツ49を作成する。その後、利用者レコード230及びアクセス権限レコード250に登録された企業Bの利用者は、第1の実施形態の場合と同様に、当該暗号化コンテンツを参照することができるようになる(ステップS2916)。
<第3の実施形態による文書管理システムによる効果>
以上説明したように、第3の実施形態による文書管理システムは、各企業等とサービス事業者とのサービス利用契約毎に、暗号化コンテンツを作成する企業等が当該暗号化コンテンツの送信先とする窓口担当者を登録することができ、暗号化コンテンツを作成する企業等は、他企業等の当該窓口担当者を承認した上で、当該窓口担当者に当該暗号化コンテンツを参照等する権限を与えることができる。
従って、ある企業や部署が暗号化したコンテンツを他の企業や部署に参照させたい場合、契約IDが同一の利用者間でのみ、暗号化コンテンツの参照を可能としつつ、さらに契約IDが異なる他企業等の窓口担当者にも、当該窓口担当者を承認した上で、暗号化したコンテンツを参照させることができる。
<サービス事業に係わる効果>
本発明の第1の実施形態による文書管理システムでは、コンテンツ管理サーバ1を設置・運営するサービス事業者は、利用者ファイル23に登録された利用者レコード230のレコード数等に基づいて、サービスを利用する企業や企業グループに、サービス利用料を請求することができる。
本発明の第2の実施形態による文書管理システムでは、内部の利用者に暗号化コンテンツを共有させる必要がある(すなわち内部のある利用者が作成した暗号化コンテンツを、内部の別の利用者に参照等させる必要がある)企業や部署等がそれぞれサービス利用契約を締結し、サービス利用契約毎に契約レコード220を作成し、当該サービス利用契約に基づいてサービスを利用する利用者の人数を契約利用者数223に設定しているので、サービス事業者は、契約利用者数223等に基づいて、サービスを利用する企業や部署に、サービス利用料を請求することができる。
本発明の第3の実施形態による文書管理システムでは、内部の利用者だけでなく、外部の利用者にも暗号化コンテンツを共有させる必要がある企業や部署等が、外部の利用者のうちの一部の者(第3の実施形態の例では1名)を窓口担当者として暗号化コンテンツを参照等する権限を付与可能にしつつ、それぞれサービス利用契約を締結し、サービス利用契約毎に契約レコード220を作成し、当該サービス利用契約に基づいてサービスを利用する利用者の人数を契約利用者数223に設定しているので、サービス事業者は、契約利用者数223等に基づいて、サービスを利用する企業や部署に、サービス利用料を請求することができる。すなわち、外部の利用者にも暗号化コンテンツを共有させる必要がある企業や部署等は、当該外部の利用者数に係わらず、内部の利用者数だけのサービス利用料を支払えば足りる。