(57)【特許請求の範囲】
【請求項１】
識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、
データと識別情報を含むデータ払戻要求とを送信する払戻要求送信手段
を有する端末装置と、
データを記憶する記憶手段、
前記払出要求送信手段が送信したデータ払出要求を受信する払出要求受信手段、
該払出要求受信手段が受信したデータ払出要求に基づくデータを前記記憶手段から読み出す読出手段、
該読出手段が読み出したデータを送信するデータ送信手段、
前記払戻要求送信手段が送信したデータとデータ払戻要求とを受信する払戻要求受信手段、及び、
該払戻要求受信手段が受信したデータを前記記憶手段に記憶する記憶制御手段
を有する中央装置と
を備えるデータ管理システムにおいて、
前記中央装置は、
前記払戻要求受信手段が受信したデータ払戻要求に含まれる識別情報が、前記払出要求受信手段が受信したデータ払出要求に含まれる識別情報と一致するか否かを判定する判定手段
を有し、
前記記憶制御手段は、
前記判定手段が一致すると判定した場合、前記払戻要求受信手段が受信したデータを前記記憶手段に記憶する構成としてあり、
前記中央装置は、
前記払出要求受信手段が受信したデータ払出要求に含まれる識別情報に基づいて暗号化鍵を生成する暗号化鍵生成手段と、
該暗号化鍵生成手段が生成した暗号化鍵を用いて前記読出手段が読み出したデータを暗号化する暗号化手段と
をさらに有し、
前記データ送信手段は、
前記暗号化手段により暗号化されたデータを送信する構成としてあり、
前記端末装置は、
前記データ送信手段が送信した暗号化されたデータを受信するデータ受信手段と、
前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段と、
該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段と、
前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、
前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段と
をさらに有し、
前記データ払出要求に含まれる識別情報は、
前記受付手段が指定を受け付けた格納場所を含んでおり、
前記データ送信手段は、
データを、前記払出要求受信手段が受信したデータ払出要求の識別情報に含まれる格納場所と共に送信し、
前記データ受信手段は、
前記データ送信手段がデータと共に送信した格納場所を受信する構成としてあり、
前記端末装置は、
前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段と、
該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する格納場所判定手段と
をさらに有し、
前記復号手段は、
該格納場所判定手段が一致すると判定した場合にデータを復号する構成としてある
ことを特徴とするデータ管理システム。
【請求項２】
前記データは、プログラムであることを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、
該払出要求送信手段が送信したデータ払出要求に含まれた識別情報に基づく暗号化鍵を用いて暗号化された、前記データ払出要求に基づくデータを受信するデータ受信手段
を備える情報処理装置において、
前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段と、
該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段と、
前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、
前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段と
を備え、
前記データ払出要求に含まれる識別情報は、
前記受付手段が受け付けた格納場所を含んでおり、
前記データ受信手段は、
データと共に該データの格納場所を受信する構成としてあり、
前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段と、
該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する判定手段と
をさらに備え、
前記復号手段は、
前記判定手段が一致すると判定した場合にデータを復号する構成としてある
ことを特徴とする情報処理装置。
【請求項４】
前記データは、プログラムであることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、
前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報に基づく暗号化鍵を用いて暗号化された、前記データ払出要求に基づくデータを受信するデータ受信手段
を備えるコンピュータで実行されるコンピュータプログラムにおいて、
前記コンピュータを、
前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段、及び
該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段
として機能させ、
前記コンピュータは、
前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、
前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段と
をさらに有し、
前記データ払出要求に含まれる識別情報は、
前記受付手段が受け付けた格納場所を含んでおり、
前記データ受信手段は、
データと共に該データの格納場所を受信する構成としてあり、
前記コンピュータを、
前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段、及び、
該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する判定手段
として機能させ、
前記復号手段は、
前記判定手段が一致すると判定した場合にデータを復号する構成としてある
ことを特徴とするコンピュータプログラム。
【請求項６】
前記データは、プログラムであることを特徴とする請求項５に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して送受信されるデータを管理するためのデータ管理システム、データ管理装置、情報処理装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
ネットワークの普及に伴い、データをサーバで管理し、ユーザが必要な時に必要なデータをサーバから自身のローカルマシンにダウンロードし、ローカルマシン上でデータの修正及び更新などの編集を行うシステムが実用化されている。このようなシステムでは、複数のユーザが同じデータを共有するため、各ユーザは、ダウンロードしたデータが最新のものであるかを確認する必要がある。
【０００３】
特許文献１には、最新のデータであるかを容易に確認できるシステムが記載されている。特許文献１において、ローカルマシンとネットワークを介して接続されるサーバは、ローカルマシンからの要求に応じて、自身が格納するデータと、そのデータが最後に更新された時刻を示す最終更新日時情報とを同時に要求元のローカルマシンへ送信する。そして、ローカルマシンでは、ダウンロードしたデータのデータ情報と、受信した最終更新日時情報とを比較し、サーバ上にダウンロードしたデータより更新されたデータが存在すれば、最新のデータをダウンロードする。これにより、ユーザは、ローカルマシンに常に最新のデータをダウンロードすることができる。
【特許文献１】特開２００７−３０５０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように、データの更新日のみを比較するだけでは、データを正常に管理できない場合がある。例えば、ユーザＡが、サーバからダウンロードしたデータＸをデータＹに更新した場合、本来、ユーザＡは、更新後のデータＹをサーバに戻す必要があるが、ユーザＡが、サーバにデータＹを戻さず、データＹのコピーをユーザＢに渡し、また、自身のローカルマシン上で保存する場合がある。この結果、ユーザＡが、データＹを更新している間に、ユーザＢもデータＹを更新することが可能となり、一方のユーザが更新した内容が、他方のユーザが更新するデータに反映されなくなる。そして、ユーザＡ及びＢが、自身が更新したデータをサーバにアップロードすれば、本来一つのデータが、サーバ上には別々に更新された不完全な状態で複数混在するという問題が発生する。斯かる問題は、アプリケーションプログラムの開発において、複数のプログラマーが、セキュリティの脆弱性及びプログラムバグの修正、又は新機能の追加などの更新を行う場合に、各々が不完全な状態で更新を進めていくことで深刻な問題へと発展するおそれがある。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、データ払戻要求に含まれる識別情報が、データ払出要求に含まれる識別情報と一致する場合に、受信したデータを記憶手段に記憶する構成とすることにより、受信したデータが払い出したデータである場合のみ、データを記憶することができ、その結果、オリジナルのデータのみを管理することができるデータ管理システム、データ管理装置、情報処理装置及びコンピュータプログラムを提供することにある。
【０００６】
本発明の他の目的は、データ払出要求に含まれる識別情報に基づく暗号化鍵を用いて、送信するデータを暗号化する構成とすることにより、暗号化鍵を公開せず、セキュリティを向上させることができるデータ管理システム、データ管理装置及びコンピュータプログラムを提供することにある。
【０００７】
本発明の他の目的は、暗号化されたデータを受信し、データの払出要求時に送信した識別情報及び端末装置の端末情報に基づく復号鍵を用いて、受信したデータを復号する構成とすることにより、データを要求していない装置では復号させないことで、セキュリティを向上させることができるデータ管理システム、情報処理装置及びコンピュータプログラムを提供することにある。
【０００８】
本発明の他の目的は、指定を受け付けた格納場所を識別情報に含め送信し、受信したデータを、指定された格納場所に格納し、データと共に受信したデータの格納場所と、指定された格納場所とが一致するか否かを判定し、一致する場合に、格納したデータの復号を行う構成とすることにより、セキュリティをより向上させることができるデータ管理システム、情報処理装置及びコンピュータプログラムを提供することにある。
【０００９】
本発明の他の目的は、データをプログラムとすることで、アプリケーションソフトの開発時において、セキュリティを向上させ、効率よく開発を進めることができるデータ管理システム、データ管理装置、情報処理装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係るデータ管理システムは、識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、データと識別情報を含むデータ払戻要求とを送信する払戻要求送信手段を有する端末装置と、データを記憶する記憶手段、前記払出要求送信手段が送信したデータ払出要求を受信する払出要求受信手段、該払出要求受信手段が受信したデータ払出要求に基づくデータを前記記憶手段から読み出す読出手段、該読出手段が読み出したデータを送信するデータ送信手段、前記払戻要求送信手段が送信したデータとデータ払戻要求とを受信する払戻要求受信手段、及び、該払戻要求受信手段が受信したデータを前記記憶手段に記憶する記憶制御手段を有する中央装置とを備えるデータ管理システムにおいて、前記中央装置は、前記払戻要求受信手段が受信したデータ払戻要求に含まれる識別情報が、前記払出要求受信手段が受信したデータ払出要求に含まれる識別情報と一致するか否かを判定する判定手段を有し、前記記憶制御手段は、前記判定手段が一致すると判定した場合、前記払戻要求受信手段が受信したデータを前記記憶手段に記憶する構成としてあり、前記中央装置は、前記払出要求受信手段が受信したデータ払出要求に含まれる識別情報に基づいて暗号化鍵を生成する暗号化鍵生成手段と、該暗号化鍵生成手段が生成した暗号化鍵を用いて前記読出手段が読み出したデータを暗号化する暗号化手段とをさらに有し、前記データ送信手段は、前記暗号化手段により暗号化されたデータを送信する構成としてあり、前記端末装置は、前記データ送信手段が送信した暗号化されたデータを受信するデータ受信手段と、前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段と、該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段と、前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段とをさらに有し、前記データ払出要求に含まれる識別情報は、前記受付手段が指定を受け付けた格納場所を含んでおり、前記データ送信手段は、データを、前記払出要求受信手段が受信したデータ払出要求の識別情報に含まれる格納場所と共に送信し、前記データ受信手段は、前記データ送信手段がデータと共に送信した格納場所を受信する構成としてあり、前記端末装置は、前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段と、該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する格納場所判定手段とをさらに有し、前記復号手段は、該格納場所判定手段が一致すると判定した場合にデータを復号する構成としてあることを特徴とする。
【００１４】
本発明に係るデータ管理システムは、前記データは、プログラムであることを特徴とする。
【００１８】
本発明に係る情報処理装置は、識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、該払出要求送信手段が送信したデータ払出要求に含まれた識別情報に基づく暗号化鍵を用いて暗号化された、前記データ払出要求に基づくデータを受信するデータ受信手段を備える情報処理装置において、前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段と、該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段と、前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段とを備え、前記データ払出要求に含まれる識別情報は、前記受付手段が受け付けた格納場所を含んでおり、前記データ受信手段は、データと共に該データの格納場所を受信する構成としてあり、前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段と、該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する判定手段とをさらに備え、前記復号手段は、前記判定手段が一致すると判定した場合にデータを復号する構成としてあることを特徴とする。
【００２０】
本発明に係る情報処理装置は、前記データは、プログラムであることを特徴とする。
【００２３】
本発明に係るコンピュータプログラムは、識別情報を含むデータ払出要求を送信する払出要求送信手段、及び、前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報に基づく暗号化鍵を用いて暗号化された、前記データ払出要求に基づくデータを受信するデータ受信手段を備えるコンピュータで実行されるコンピュータプログラムにおいて、前記コンピュータを、前記払出要求送信手段が送信したデータ払出要求に含まれる識別情報及び端末装置の端末情報に基づいて復号鍵を生成する復号鍵生成手段、及び該復号鍵生成手段が生成した復号鍵を用いて前記データ受信手段が受信したデータを復号する復号手段として機能させ、前記コンピュータは、前記データ受信手段が受信したデータを格納する格納領域を含む格納手段と、前記データ受信手段が受信するデータを格納すべき前記格納手段の格納場所の指定を受け付ける受付手段とをさらに有し、前記データ払出要求に含まれる識別情報は、前記受付手段が受け付けた格納場所を含んでおり、前記データ受信手段は、データと共に該データの格納場所を受信する構成としてあり、前記コンピュータを、前記データ受信手段が受信したデータを、前記受付手段が受け付けた前記格納手段の格納場所に格納する格納制御手段、及び、該格納制御手段が格納した前記格納手段の格納場所が、前記データ受信手段が受信した格納場所と一致するか否かを判定する判定手段として機能させ、前記復号手段は、前記判定手段が一致すると判定した場合にデータを復号する構成としてあることを特徴とする。
【００２５】
本発明に係るコンピュータプログラムは、前記データは、プログラムであることを特徴とする。
【００２６】
本発明においては、端末装置（情報処理装置）から送信された識別情報（例えば、端末情報又はユーザＩＤ）を含むデータ払出要求を、中央装置（データ管理装置）が受信した場合、データ払出要求に基づくデータを端末装置に送信する。中央装置は、端末装置から識別情報（例えば、端末情報又はユーザＩＤ）を含むデータ払戻要求が送信された場合、データ払戻要求に含まれる識別情報が、データ払出要求に含まれる識別情報と一致するか否かを判定する。そして、一致する場合、端末装置から送信されたデータを記憶する。即ち、中央装置は、識別情報が一致する場合、データの払い出しを要求してきた端末装置と、データの払い戻しを要求してきた端末装置とが同じであると判定し、データを記憶する。
【００２７】
本発明においては、データ払出要求に含まれる識別情報に基づく暗号化鍵を用いてデータを暗号化する。データ払出要求に含まれる識別情報は、端末装置が送信しているため、暗号化されたデータを受信する端末装置は、暗号化鍵を中央装置から受け取る必要がなくなる。
【００２８】
本発明においては、端末装置が送信したデータ払戻要求に含まれる識別情報及び端末装置の端末情報に基づく復号鍵を用いてデータを復号する。これにより、端末装置は、暗号化鍵を中央装置から受け取る必要がなくなる。
【００２９】
本発明においては、端末装置において、受信するデータを格納すべき格納場所の指定を受け付け、受け付けた格納場所を識別情報に含め送信する。また、受信したデータを、指定された格納場所に格納する。このとき、データと共に受信したデータの格納場所と、指定された格納場所とが一致するか否かを判定する。そして、一致する場合に、格納したデータの復号を行う。
【００３０】
本発明においては、データをプログラムとすることで、アプリケーションソフトの開発時において、セキュリティを向上させ、効率よく開発を進めることができる。
【発明の効果】
【００３１】
本発明は、データの払出要求時の識別情報と払戻要求時の識別情報との同一性を判定することで、データの払い出しを要求してきたユーザと、払い戻しを要求してきたユーザとの同一性を判定することができる。これにより、払い出したデータを受信した場合のみ記憶できる。この結果、払い出したデータが端末装置上でコピーされ、複製されたデータが出回っている場合であっても、オリジナルのデータのみを管理することができる。
【００３２】
本発明は、データ払出要求に含まれる識別情報に基づく暗号化鍵を用いて、送信するデータを暗号化することにより、暗号化鍵を公開せず、セキュリティを向上させることができる。
【００３３】
本発明は、暗号化されたデータを受信した端末装置において、データの払出要求時に送信した識別情報に基づく復号鍵を用いて、受信したデータを復号することにより、データを要求していない端末装置で復号させないことで、セキュリティを向上させることができる。
【００３４】
本発明は、データと共に受信したデータの格納場所と、指定された格納場所とが一致する場合に、格納したデータの復号を行う。即ち、データを、データと共に受信しデータの格納場所と異なる場所に格納した場合、受信したデータは、他から不正に受信したデータであると判断し、データを復号できないようにすることで、データが複製された場合であっても、他の端末装置でデータの処理を行うことを防止できる。これにより、セキュリティをより向上させることができる。
【００３５】
本発明は、データをプログラムとすることで、アプリケーションソフトの開発時において、セキュリティを向上させ、効率よく開発を進めることができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明に係るデータ管理システムの好適な実施の形態について図面を参照して説明する。図１は、本実施の形態に係るデータ管理システムを模式的に示す図である。
【００３７】
データ管理システムは、サーバ装置（中央装置、データ管理装置）１と、ＬＡＮ（Local Area Network）及びインターネット等のネットワーク３を介してサーバ装置１にデータ通信可能に接続する複数の情報処理装置（端末装置）２とを備え構成される。サーバ装置１及び情報処理装置２は、同じ建物内に設置されてもよいし、離れた場所にそれぞれ設置され、ネットワーク３を介して接続されてもよい。また、サーバ装置１及び情報処理装置２は、ケーブルを介する有線通信により接続されてもよいし、無線通信により接続されてもよい。
【００３８】
情報処理装置２では、ユーザによりデータファイルの作成及び編集が行われる。本実施の形態で、データファイルとは、アプリケーションソフトを作成するための複数のソースプログラムの集合体を言う。即ち、データファイルの作成及び編集とは、具体的には、ソースプログラムの作成、及びデータファイルが有する各ソースプログラムの編集などを言う。以下の説明において、ソースプログラムを単にプログラムと言う。
【００３９】
情報処理装置２において作成及び編集されたデータファイルは、サーバ装置１において管理される。ユーザは、情報処理装置２においてデータファイルの編集を行う場合、情報処理装置２からサーバ装置１に対してデータファイルの払出要求を行う。データファイルを、サーバ装置１から情報処理装置２に送信することをデータファイルの払い出しと言う。払出要求は、必要なデータファイルの情報（例えば、ファイル名又はファイル番号など）を含んでいる。そして、サーバ装置１は、情報処理装置２に払出要求に対応するデータファイルを暗号化し、情報処理装置２に送信する。
【００４０】
また、情報処理装置２に払い出されたデータファイルは、編集された後、情報処理装置２において暗号化され、サーバ装置１にデータファイルの払戻要求と共に送信される。データファイルを情報処理装置２からサーバ装置１に送信し、サーバ装置１に記憶することをデータファイルの払い戻しと言う。払戻要求を受信したサーバ装置１は、所定条件に基づき、受信したデータファイルを記憶する。
【００４１】
情報処理装置２で作成及び編集を行ったデータファイルをサーバ装置１に格納することにより、複数のユーザが異なる情報処理装置２を使用する場合、また、各ユーザが互いに離れている場合などであっても、一つのデータファイルを複数のユーザにより共有することができる。
【００４２】
なお、後に詳述するが、データファイルは、サーバ装置１において暗号化されて格納プログラム（以下、格納ＰＧと言う）に格納され、情報処理装置２に送信される。格納ＰＧは、情報処理装置２において実行されるプログラムが収められた、所謂「実行ファイル」である。そして、データファイルは、情報処理装置２において格納ＰＧが起動することにより、復号される。また、データファイルは、格納ＰＧが終了することにより暗号化される。その後、データファイルは、格納ＰＧに格納され、サーバ装置１に送信される。そして、サーバ装置１において復号され記憶される。
【００４３】
この場合において、サーバ装置１でデータファイルを暗号化及び復号する際に用いる暗号化鍵及び復号鍵は、情報処理装置２から送信されるユーザＩＤ及び情報処理装置２の端末情報に基づいて作成される。端末情報とは、情報処理装置２が有する固有の識別番号、例えば、シリアルナンバー及び製造番号などである。また、情報処理装置２において、データファイルを復号及び暗号化する際に用いる復号鍵及び暗号鍵は、情報処理装置２を使用するユーザのユーザＩＤ及び情報処理装置２の端末情報に基づいて作成される。
【００４４】
図２は、データ管理システムが備える各装置の構成を示すブロック図である。
【００４５】
サーバ装置１は、装置全体を制御するＣＰＵ（Central Processing Unit）１１、本発明のコンピュータプログラム及びデータ等の各種情報を記録する記憶部１２、各種情報を一時的に記憶するＲＡＭ（Random Access Memory）１３、データ等の各種情報を記録する大容量記憶装置１４、及び、ＬＡＮ及び電話回線等のケーブルに接続されることにより、処理に必要とされるデータを送受信するための通信部１５を備えている。
【００４６】
ＣＰＵ１１は、バスを介してサーバ装置１が備える上述した各部と接続されており、各部を制御するとともに、記憶部１２に記憶されているコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。記憶部１２は、ＲＯＭ（Read Only Memory）に代表される記録媒体であり、実行するコンピュータプログラム、実行するコンピュータプログラムで使用されるデータ等を記憶する。記憶部１２に記憶されているコンピュータプログラムは、予め記憶部１２に組み込まれたものであってもよいし、ＤＶＤ、ＣＤ−ＲＯＭ等の記録媒体を用いて、読取装置（図示せず）を介して記憶部１２に記憶されたものであってもよい。
【００４７】
ＲＡＭ１３は、ＳＲＡＭ（Static Random Access Memory）又はフラッシュメモリ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。大容量記憶装置１４は、ハードディスク及びＲＡＩＤ（Redundant Arrays of Inexpensive Disks）等であり、情報処理装置２から送信されるデータファイル、及び各データファイルを管理するためのデータテーブル等の各種情報を記録する。大容量記憶装置１４に記憶される各種データは、ＣＰＵ１１により管理される。
【００４８】
情報処理装置２は、一般的なパーソナルコンピュータであって、ＣＰＵ２１、記憶部２２、ＲＡＭ２３、操作部２４、通信部２５、及び表示部２６を備えている。ＣＰＵ２１は、バスを介して情報処理装置２が備える各部と接続されており、各部を制御するとともに、記憶部２２に記憶されている処理プログラム、及びサーバ装置１から受信する格納ＰＧに含まれる処理プログラムに従って、種々のソフトウェア的機能を実行する。
【００４９】
記憶部２２は、ＲＯＭに代表される記録媒体であり、実行するコンピュータプログラム、実行するコンピュータプログラムで使用されるデータ、及び情報処理装置２の端末情報を記憶する。記憶部２２に記憶されているコンピュータプログラムは、予め記憶部２２に組み込まれたものであってもよいし、ＤＶＤ、ＣＤ−ＲＯＭ等の記録媒体を用いて、読取装置（図示せず）を介して記憶部２２に記憶されたものであってもよい。ＲＡＭ２３は、ＳＲＡＭ及びフラッシュメモリ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。
【００５０】
操作部２４は、例えばキーボード及びマウスであって、文字及び記号などのデータの入力を受け付ける。通信部２５は、ＬＡＮ及び電話回線等のケーブルに接続されることにより、処理に必要とされるデータを送受信する。表示部２６は、受信したデータ及び操作部２４から入力されたデータなどに従って画像を表示する液晶表示パネル等である。例えば、サーバ装置１からＨＴＭＬ（Hyper Text Markup Language）データのタグ情報を受信した場合、情報処理装置２のＣＰＵ２１がタグ情報を解釈して液晶表示パネルへ画像を表示する。
【００５１】
次に、格納ＰＧ及びデータファイルについて説明する。格納ＰＧは、情報処理装置２から払出要求を受信したサーバ装置１において生成される。サーバ装置１は、払出要求を受信することで、払出要求されたデータファイルを大容量記憶装置１４から読み出し、暗号化する。そして、暗号化したデータファイルを含む格納ＰＧを生成し、情報処理装置２に送信する。
【００５２】
図３は、情報処理装置２における格納ＰＧ及びデータファイルの状態遷移を説明するための図である。サーバ装置１から送信された格納ＰＧは、情報処理装置２における記憶部２２の指定されたディレクトリに保存される（図３の（１））。次に、格納ＰＧは、起動されることで、情報処理装置２に記憶されるユーザＩＤ及び端末情報から生成した復号鍵を用いてデータファイルを復号する（図３の（２））。これにより、データファイルが有する各プログラムが編集可能な状態となる。各プログラムは選択可能に表示され、プログラムが選択された場合、プログラムを編集するためのエディタ（例えば、テキストエディタ）が起動され、各プログラムは、起動されたエディタで編集される（図３の（３））。なお、編集中のプログラムは、バックアップのためにテンポラリファイルに一時的に保存される。そして、編集が終了したプログラムは、データファイル内に保存される（図３の（４））。全ての編集が終了し、格納ＰＧが終了される場合、格納ＰＧは、データファイルを暗号化して取り込む（図３の（５））。その後、格納ＰＧは、情報処理装置２からサーバ装置１に払戻要求と共に送信され、サーバ装置１に記憶される。
【００５３】
次に、データファイルを管理するためのテーブルについて説明する。
【００５４】
図４は、データファイルに関する情報を格納したデータテーブルを模式的に示す図である。図４に示すテーブルは、例えば、サーバ装置１の大容量記憶装置１４に記憶され、ファイル名、バージョン、更新年月日、状態フラグ及び格納アドレスなどが格納される。ファイル名は、データファイルを識別する情報であるが、データファイルを識別できる情報であれば、ファイル番号であってもよい。バージョンは、プログラムの履歴番号であって、更新されたデータファイルを情報処理装置２から受信する都度、更新される。更新年月日は、データファイルが最後に更新された年月日である。また、状態フラグは、二重の払い出しを防止するために、データファイルが払い出されているか否かの状態を把握するためのフラグである。格納アドレスは、データファイルが格納されている大容量記憶装置１４のメモリ番地である。
【００５５】
図４のデータテーブルは、情報処理装置２からデータファイルの払出要求及び払戻要求がされる都度参照され、サーバ装置１がデータファイルを払い出し及び払い戻しする都度更新される。例えば、情報処理装置２から払出要求された場合、サーバ装置１は、図４のデータテーブルを参照し、払出要求されたデータファイルのファイル名から格納先である大容量記憶装置１４の格納アドレスを取得する。また、サーバ装置１は、更新されたデータファイルを受信した場合、バージョン及び更新年月日を更新する。
【００５６】
図５は、データファイルの払い出し及び払い戻しを管理するためのデータテーブルを模式的に示す図である。図５に示すテーブルは、例えば、サーバ装置１の大容量記憶装置１４に記憶され、端末側情報とサーバ側情報とを格納する。端末側情報とは、払出要求した情報処理装置２に関する情報であり、払出要求されたデータファイルのファイル名、払出要求をしたユーザのユーザＩＤ、情報処理装置２の端末情報、及び、払い出し時にデータファイルを暗号化した際に用いられた暗号化鍵などである。ファイル名、ユーザＩＤ、及び端末識別情報は、払出要求時に情報処理装置２から送信される。暗号化鍵は、データファイルの払い出し時に、データファイルを暗号化する際に作成される。サーバ側情報とは、払い出したデータファイルに関する情報であり、払い出したデータファイルのバージョン、払出回数、払出ユーザ、及び払出年月日などである。図５に示すテーブルは、データファイルの払い出し時に作成され、データファイルの払い出し及び払い戻し時に更新及び参照される。
【００５７】
次に、情報処理装置２に表示される画面について説明する。
【００５８】
図６（ａ）は、払出要求画面を示す図、（ｂ）は、払戻要求画面を示す図である。払出要求画面及び払戻要求画面は、情報処理装置２がサーバ装置１にアクセスし、サーバ装置１からＨＴＭＬデータを受信することで表示される。
【００５９】
払出要求画面には、サーバ装置１からダウンロードするデータファイルを指定するテキストボックス３１、ユーザＩＤを入力するテキストボックス３２及びダウンロードしたデータファイルを格納するディレクトリを指定するテキストボックス３３が表示される。ユーザＩＤは、各ユーザに割り当てられた固有の識別番号である。各テキストボックス３１，３２，３３にデータが入力された後、送信ボタン３４が選択されることにより、入力されたデータがサーバ装置１に送信される。なお、送信ボタン３４が選択された場合、各テキストボックス３１，３２，３３に入力されたデータと共に、情報処理装置２の端末情報も送信される。端末情報は、情報処理装置２の記憶部２２に記憶される。
【００６０】
払戻要求画面には、サーバ装置１にアップロードするデータファイルを指定するテキストボックス３５、及びユーザＩＤを入力するテキストボックス３６が表示される。各テキストボックス３５，３６にデータが入力された後、送信ボタン３７が選択されることにより、入力されたデータがサーバ装置１に送信される。このとき、テキストボックス３６に入力されたユーザＩＤ、情報処理装置２の端末情報、及びテキストボックス３５に入力されたデータファイルを取り込んだ格納ＰＧがサーバ装置１に送信される。
【００６１】
図７（ａ）は、プログラム一覧表示画面を示す図であり、（ｂ）は、プログラム編集画面を示す図である。
【００６２】
プログラム一覧表示画面は、格納ＰＧのデータファイルが復号された場合に表示される。プログラム一覧表示画面には、復号されたデータファイル（図中では、ファイルＡ）が有するプログラム（図中では、Ａ−１、Ａ−２、Ａ−３、Ａ−４）と、データファイルのファイル情報、例えば、ファイルのバージョン情報及びファイルの更新日などが表示される。なお、プログラムは、操作部２４により選択可能に表示される。
【００６３】
プログラム編集画面は、プログラム一覧表示画面においてプログラムが選択され、プログラムを編集するエディタ、例えばテキストエディタが起動された場合に表示される。プログラム編集画面には、プログラムのファイル名及びプログラムに記述されたプログラム言語が編集可能に表示される。
【００６４】
図８（ａ）は、データファイルを復号できない場合の警告画面を示す図であり、（ｂ）は、データファイルを払い戻しできない場合の警告画面を示す図である。
【００６５】
図８に示す警告画面は、受信した格納ＰＧを保存した記憶部２２のディレクトリと、格納ＰＧが有するディレクトリ情報とが一致しない場合、又は、情報処理装置２においてデータファイルを復号できない場合に表示される。また、データファイルをサーバ装置１に払い戻す場合、サーバ装置１は、情報処理装置２から送信されるユーザＩＤ及び端末情報、並びに払い出し時の暗号化した際に用いた暗号化鍵に基づいてデータファイルを記憶する。そして、図８（ｂ）に示す警告画面は、サーバ装置１が、情報処理装置２から受信したデータファイルを記憶できない場合に表示される。
【００６６】
次に、サーバ装置１及び情報処理装置２それぞれの動作について説明することで、本実施の形態に係るデータ管理システムの動作を説明する。まず、サーバ装置１の動作について説明する。
【００６７】
図９は、サーバ装置１において実行される払出処理を示すフローチャートである。図９に示す払出処理は、情報処理装置２によりアクセスされた場合に、ＣＰＵ１１により実行される。
【００６８】
ＣＰＵ１１は、情報処理装置２から払出要求を受け付けたか否かを判定する（Ｓ１０１）。払出要求を受け付けていない場合（Ｓ１０１：ＮＯ）、ＣＰＵ１１は、処理をＳ１１０に移す。払出要求を受け付けた場合（Ｓ１０１：ＹＥＳ）、払出要求に含まれるファイル名、ユーザＩＤ、ディレクトリ情報及び端末情報を取得する（Ｓ１０２）。なお、払出要求に含まれるファイル名、ユーザＩＤ及びディレクトリ情報は、図６（ａ）に示す払出要求画面のテキストボックス３１，３２，３３に入力されたデータである。また、端末情報は、払出要求画面の送信ボタン３４が操作されることで、ファイル名などと共に送信される。
【００６９】
ＣＰＵ１１は、取得したファイル名に基づくデータファイルを大容量記憶装置１４から読み出す（Ｓ１０３）。具体的には、ＣＰＵ１１は、取得したファイル名と図４のデータテーブルとから大容量記憶装置１４のメモリ番地を取得し、大容量記憶装置１４からデータファイルを読み出す。次に、ＣＰＵ１１は、取得したユーザＩＤ及び端末情報に基づいて、暗号化鍵を作成する（Ｓ１０４）。ＣＰＵ１１は、作成した暗号化鍵により、Ｓ１０３で読み出したデータファイルを暗号化する（Ｓ１０５）。
【００７０】
ＣＰＵ１１は、暗号化したデータファイルを含む格納ＰＧを生成する（Ｓ１０６）。このとき、ＣＰＵ１１は、Ｓ１０２で取得したディレクトリ情報を含めて、格納ＰＧを生成する。そして、ＣＰＵ１１は、生成した格納ＰＧを情報処理装置２に送信する（Ｓ１０７）。そして、ＣＰＵ１１は、格納ＰＧの送信が完了したか否かを判定する（Ｓ１０８）。ＣＰＵ１１は、格納ＰＧを受信した情報処理装置２から完了した旨の信号を受信したか否かで判定する。
【００７１】
送信完了していない場合（Ｓ１０８：ＮＯ）、ＣＰＵ１１は、送信完了するまで待機する。このとき、所定時間経過しても送信が完了しないときは、ＣＰＵ１１は、送信エラー処理を行うようにてもよい。送信完了した場合（Ｓ１０８：ＹＥＳ）、ＣＰＵ１１は、図４及び図５に示すテーブルを更新する（Ｓ１０９）。例えば、ＣＰＵ１１は、図４のテーブルにおける状態フラグの変更、及び、図５のテーブルにおける端末側情報及びサーバ側情報の更新などを行う。これにより、払い出したデータファイル及び払出要求を行った情報処理装置２又はユーザの管理を行うことができる。
【００７２】
次に、ＣＰＵ１１は、情報処理装置２からのアクセスが遮断されたか否かを判定する（Ｓ１１０）。アクセスが遮断されていなければ（Ｓ１１０：ＮＯ）、ＣＰＵ１１は、処理をＳ１０１に戻す。アクセスが遮断された場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１１は、本処理を終了する。
【００７３】
図１０は、サーバ装置１において実行される払戻処理を示すフローチャートである。図１０に示す払出処理は、情報処理装置２によりアクセスされた場合に、ＣＰＵ１１により実行される。
【００７４】
ＣＰＵ１１は、払戻要求を受け付けたか否かを判定する（Ｓ２０１）。払戻要求を受け付けていない場合（Ｓ２０１：ＮＯ）、ＣＰＵ１１は、処理をＳ２１１に移す。払戻要求を受け付けた場合（Ｓ２０１：ＹＥＳ）、ＣＰＵ１１は、情報処理装置２から払戻要求と共に送信された格納ＰＧを受信する（Ｓ２０２）。さらに、ＣＰＵ１１は、払戻要求に含まれるユーザＩＤ及び端末情報を取得し（Ｓ２０３）、取得したユーザＩＤ及び端末情報に基づいて、復号鍵を作成する（Ｓ２０４）。ユーザＩＤは、図６（ｂ）に示す払戻要求画面のテキストボックス３６に入力されたデータであり、端末情報は、端末情報は、払戻要求画面の送信ボタン３７が操作されることで、ユーザＩＤと共に送信される。
【００７５】
そして、ＣＰＵ１１は、Ｓ２０４で作成した復号鍵で、格納ＰＧに取り込まれているデータファイルの復号を行う（Ｓ２０５）。その後、ＣＰＵ１１は、復号が正常に行われたか否かを判定する（Ｓ２０６）。復号できない場合（Ｓ２０６：ＮＯ）、ＣＰＵ１１は、エラー信号を情報処理装置２に送信し（Ｓ２１０）、その後Ｓ２１１に処理を移す。払出要求をした情報処理装置２と、払戻要求をした情報処理装置２とが同じであって、かつ、情報処理装置２を使用するユーザが同じである場合、払出要求時に受信したユーザＩＤ及び端末情報と、払戻要求時に受信したユーザＩＤ及び端末情報とは一致する。即ち、これらから生成されるデータファイルは復号可能となる。従って、復号できない場合、ＣＰＵ１１は、ユーザが異なる又は情報処理装置２が異なると判断し、データファイルの払い戻しを拒否する。これにより、払い出したデータファイルが複製された場合であっても、サーバ装置１に払い戻すことができない。この結果、サーバ装置１には、払い出したオリジナルのデータファイルのみを記憶し、管理することができる。
【００７６】
復号が正常に行われた場合（Ｓ２０６：ＹＥＳ）、ＣＰＵ１１は、受信したデータファイルのバージョンと、図５のテーブルに格納されるバージョンとを比較し、受信したデータファイルのバージョンが更新されているか否かを判定する（Ｓ２０７）。更新されていなければ（Ｓ２０７：ＮＯ）、ＣＰＵ１１は、エラー信号を情報処理装置２に送信する（Ｓ２１０）。バージョンが更新されている場合（Ｓ２０７：ＹＥＳ）、復号したデータファイルを大容量記憶装置１４に記憶すると共に（Ｓ２０８）、図４及び図５に示すテーブルを更新する（Ｓ２０９）。例えば、ＣＰＵ１１は、図４のテーブルにおける状態フラグの変更、及び、図５のテーブルにおける端末側情報及びサーバ側情報の更新又は削除などを行う。そして、ＣＰＵ１１は、情報処理装置２からのアクセスが遮断されたか否かを判定する（Ｓ２１１）。アクセスが遮断されていなければ（Ｓ２１１：ＮＯ）、ＣＰＵ１１は、処理をＳ２０1に戻す。アクセスが遮断された場合（Ｓ２１１：ＹＥＳ）、ＣＰＵ１１は、本処理を終了する。
【００７７】
次に、情報処理装置２の動作について説明する。
【００７８】
図１１は、情報処理装置２で実行される払出要求処理を示すフローチャートである。図１１に示す払出要求処理は、情報処理装置２がサーバ装置１にアクセスしたときに、ＣＰＵ２１により実行される。
【００７９】
サーバ装置１へアクセスした場合、ＣＰＵ２１は、サーバ装置１からＨＴＭＬデータを受信し、表示部２６に図６（ａ）に示す払出要求画面を表示する（Ｓ３０１）。ＣＰＵ２１は、払出要求が開始されたか否かを判定する（Ｓ３０２）。具体的には、ＣＰＵ２１は、払出要求画面の各テキストボックス３１，３２，３３にデータが入力され、送信ボタン３４が操作されたか否かを判定する。払出要求が開始されていない場合（Ｓ３０２：ＮＯ）、即ち、払出要求画面の送信ボタン３４が操作されていない場合、ＣＰＵ２１は、払出要求が開始されるまで待機する。払出要求が開始された場合（Ｓ３０２：ＹＥＳ）、ＣＰＵ２１は、払出要求画面で入力されたデータ及び記憶部２２に記憶される端末情報をサーバ装置１に送信する（Ｓ３０３）。なお、ＣＰＵ２１は、払出要求画面で入力されたデータをＲＡＭ２３などに記憶する。
【００８０】
次に、ＣＰＵ２１は、サーバ装置１から格納ＰＧを受信したか否かを判定する（Ｓ３０４）。格納ＰＧを受信していなければ（Ｓ３０４：ＮＯ）、ＣＰＵ２１は、受信するまで待機する。このとき、所定時間格納ＰＧを受信しない場合、ＣＰＵ２１は、受信エラーとして処理を行うようにしてもよい。格納ＰＧを受信した場合（Ｓ３０４：ＹＥＳ）、ＣＰＵ２１は、受信した格納ＰＧを払出要求画面において指定した記憶部２２のディレクトリに保存する（Ｓ３０５）。ＣＰＵ２１は、サーバ装置１へのアクセスを遮断したか否かを判定する（Ｓ３０６）。アクセスを遮断していなければ（Ｓ３０６：ＮＯ）、ＣＰＵ２１は、処理をＳ３０１に戻し、アクセスを遮断した場合（Ｓ３０６：ＹＥＳ）、本処理を終了する。
【００８１】
図１２は、情報処理装置２における格納ＰＧ起動処理を示すフローチャートである。図１２に示す処理は、受信した格納ＰＧが起動され、ＣＰＵ２１が格納ＰＧに収められたプログラムを実行することで開始する。
【００８２】
ＣＰＵ２１は、必要な情報を取得する（Ｓ４０１）。必要な情報とは、ユーザＩＤ、端末情報、及び受信した格納ＰＧに含まれるディレクトリ情報である。ユーザＩＤは、払出要求画面で入力され、ＲＡＭ２３などに記憶されている。端末情報は、記憶部２２に記憶される。ディレクトリ情報は、図９のＳ１０６で説明したように、格納ＰＧの生成時に格納ＰＧに含められる。
【００８３】
次に、ＣＰＵ２１は、受信した格納ＰＧを保存した記憶部２２のディレクトリと、格納ＰＧに含まれるディレクトリ情報とが一致するか否かを判定する（Ｓ４０２）。ディレクトリが一致しない場合（Ｓ４０２：ＮＯ）、ＣＰＵ２１は、図８（ａ）に示す警告画面を表示し（Ｓ４１５）、処理をＳ４１４に移す。
【００８４】
具体的には、ＣＰＵ２１は、受信した格納ＰＧを、払出要求画面で指定した記憶部２２のディレクトリに保存する。また、受信した格納ＰＧに含まれるディレクトリ情報は、払出要求画面で指定されたディレクトリである。このため、格納ＰＧを保存したディレクトリと、受信した格納ＰＧに含まれるディレクトリ情報とは一致しなければならない。そこで、一致しない場合は、ＣＰＵ２１は、サーバ装置１から正当に受信した格納ＰＧではないと判断し、データファイルを復号せず、警告画面を表示することで、格納ＰＧの複製を防止することができ、セキュリティをより向上させることができる。
【００８５】
ディレクトリが一致する場合（Ｓ４０２：ＹＥＳ）、ＣＰＵ２１は、Ｓ４０１で取得したユーザＩＤ及び端末情報に基づいて、復号鍵を作成する（Ｓ４０３）。そして、作成した復号鍵で格納ＰＧに含まれるデータファイルを復号に成功したか否かを判定する（Ｓ４０４）。復号に成功した場合（Ｓ４０４：ＹＥＳ）、図７（ａ）に示すプログラム一覧表示画面を表示部２６に表示する（Ｓ４０５）。復号できない場合（Ｓ４０４：ＮＯ）、ＣＰＵ２１は、図８（ａ）に示す警告画面を表示し（Ｓ４１５）、処理をＳ４１４に移す。
【００８６】
データファイルは、サーバ装置１において、情報処理装置２が送信したユーザＩＤ及び端末情報に基づく暗号化鍵で暗号化されているため、斯かる暗号鍵とＳ４０３で生成した復号鍵とは一致する。このため、情報処理装置２では、暗号化鍵をサーバ装置１から受信せずにデータファイルを復号することができる。これにより、複製された格納ＰＧが、他の情報処理装置２で起動される場合であっても、データファイルを復号できないため、格納ＰＧの複製を防止することができ、セキュリティをより向上させることができる。
【００８７】
次に、ＣＰＵ２１は、プログラムの編集が開始されたか否かを判定する（Ｓ４０６）。即ち、プログラム一覧表示画面からプログラムが選択されたか否かを判定する。プログラムの編集が開始されていない場合（Ｓ４０６：ＮＯ）、ＣＰＵ２１は、処理をＳ４１１に移す。プログラムの編集が開始された場合（Ｓ４０６：ＹＥＳ）、ＣＰＵ２１は、編集用のエディタを起動する（Ｓ４０７）。そして、ＣＰＵ２１は、編集処理が終了したか否かを判定する（Ｓ４０８）。編集処理が終了していない場合（Ｓ４０８：ＮＯ）、ＣＰＵ２１は、終了するまで待機する。編集処理が終了した場合（Ｓ４０８：ＹＥＳ）、エディタを終了し（Ｓ４０９）、再び図７（ａ）に示すプログラム一覧表示画面を表示部２６に表示する（Ｓ４１０）。
【００８８】
ＣＰＵ２１は、例えば、操作部２４から格納ＰＧの終了が指示され、格納ＰＧを終了するか否かを判定する（Ｓ４１１）。終了しない場合（Ｓ４１１：ＮＯ）、ＣＰＵ２１は、処理をＳ４０６に戻す。終了する場合（Ｓ４１１：ＹＥＳ）、ＣＰＵ２１は、暗号化鍵を作成する（Ｓ４１２）。暗号化鍵は、Ｓ４０１で取得したユーザＩＤ及び端末情報から作成される。そして、ＣＰＵ２１は、作成した暗号化鍵を用いてデータファイルを暗号化する（Ｓ４１３）。そして、ＣＰＵ２１は、暗号化したデータファイルに格納ＰＧに保存し（Ｓ４１４）、本処理を終了する。
【００８９】
なお、ＣＰＵ２１は、データファイルの編集が開始又は終了する際、バージョンを更新する。例えば、受信したデータファイルのバージョンが、「１．０」である場合、「１．１」又は、「１．０１」などにバージョンを更新する。斯かるバージョンは、データファイルがサーバ装置１に払い戻される際に更新されてもよい。
【００９０】
図１３は、情報処理装置２で実行される払戻要求処理を示すフローチャートである。図１３に示す払戻要求処理は、情報処理装置２がサーバ装置１にアクセスしたときに、ＣＰＵ２１により実行される。
【００９１】
サーバ装置１へアクセスした場合、ＣＰＵ２１は、表示部２６に図６（ｂ）に示す払戻要求画面を表示する（Ｓ５０１）。ＣＰＵ２１は、払戻要求が開始されたか否かを判定する（Ｓ５０２）。具体的には、ＣＰＵ２１は、払戻要求画面の各テキストボックス３５、３６にデータが入力され、送信ボタン３７が選択されたか否かを判定する。払戻要求が開始されていない場合（Ｓ５０２：ＮＯ）、即ち、払戻要求画面の送信ボタン３７が選択されていない場合、ＣＰＵ２１は、払戻要求が開始されるまで待機する。払戻要求が開始された場合（Ｓ５０２：ＹＥＳ）、ＣＰＵ２１は、払戻要求画面で入力されたユーザＩＤ、格納ＰＧ及び情報処理装置２の端末情報をサーバ装置１に送信する（Ｓ５０３）。
【００９２】
次に、ＣＰＵ２１は、格納ＰＧのサーバ装置１への払い戻しが成功したか否かを判定する（Ｓ５０４）。成功した場合（Ｓ５０４：ＹＥＳ）、ＣＰＵ２１は、表示部２６に成功画面（図示せず）を表示する（Ｓ５０６）。成功しなかった場合（Ｓ５０４：ＮＯ）、ＣＰＵ２１は、表示部２６に図６（ｂ）に示す警告画面を表示する（Ｓ５０５）。そして、ＣＰＵ２１は、サーバ装置１へのアクセスを遮断したか否かを判定する（Ｓ５０７）。アクセスを遮断していなければ（Ｓ５０７：ＮＯ）、ＣＰＵ２１は、処理をＳ５０１に戻し、アクセスを遮断した場合（Ｓ５０７：ＹＥＳ）、本処理を終了する。
【００９３】
以上説明したように、本実施の形態では、データファイルの払出要求時のユーザＩＤ及び端末情報と、データファイルの払戻要求時のユーザＩＤ及び端末情報との同一性を判定することで、データファイルの払い出しを要求してきたユーザと、払い戻しを要求してきたユーザとの同一性を判定することができる。これにより、サーバ装置１は、情報処理装置２に払い出したデータファイルを受信した場合のみ記憶できる。この結果、払い出したデータが情報処理装置２上でコピーされ、複製されたデータが出回っている場合であっても、オリジナルのデータのみを管理することができる。
【００９４】
また、サーバ装置１において、情報処理装置２から受信したユーザＩＤ及び端末情報に基づいて暗号化鍵及び復号鍵を生成することで、暗号化鍵を情報処理装置２に送信する必要がなく、また、復号鍵を情報処理装置２から受信する必要がない。その結果、データファイルのセキュリティを向上させることができる。また、サーバ装置１に送信したユーザＩＤ及び端末情報と、情報処理装置２に記憶されるユーザＩＤ及び端末情報とが一致しない場合は、暗号化鍵と復号鍵とが一致せず、データファイルを復号することができない。このため、情報処理装置２において、ルールに反してデータファイルが複製された場合であっても、データファイルの編集を行うことができない。また、サーバ装置１において、復号できないことで、ルールに反して編集され、送信されたデータファイルを拒否することができる。その結果、複製されたデータファイルが出回っても、オリジナルのみを管理することができる。
【００９５】
なお、本実施の形態では、暗号化鍵及び復号鍵は、ユーザＩＤ及び端末情報に基づいて生成しているが、ユーザ又は情報処理装置２を識別できる情報であれば、他の情報であってもよい。また、データファイルは、複数のソースプログラムの集合体であるとして説明しているが、単なる文書データ、計算データ、又はアンケートデータなどであってもよい。
【００９６】
以上、本発明の好適な一実施の形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施の形態に限定されることはない。
【図面の簡単な説明】
【００９７】
【図１】本実施の形態に係るデータ管理システムを模式的に示す図である。
【図２】データ管理システムが備える各装置の構成を示すブロック図である。
【図３】情報処理装置におけるデータファイルの状態遷移を説明するための図である。
【図４】データファイルに関する情報を格納したデータテーブルを模式的に示す図である。
【図５】データファイルの払い出し及び払い戻しを管理するためのデータテーブルを模式的に示す図である。
【図６】（ａ）は、払出要求画面を示す図、（ｂ）は、払戻要求画面を示す図である。
【図７】（ａ）は、プログラム一覧表示画面を示す図であり、（ｂ）は、プログラム編集画面を示す図である。
【図８】（ａ）は、データファイルを復号できない場合の警告画面を示す図であり、（ｂ）は、データファイルを払い戻しできない場合の警告画面を示す図である。
【図９】サーバ装置において実行される払出処理を示すフローチャートである。
【図１０】サーバ装置において実行される払戻処理を示すフローチャートである。
【図１１】情報処理装置で実行される払出要求処理を示すフローチャートである。
【図１２】情報処理装置における格納ＰＧ起動処理を示すフローチャートである。
【図１３】情報処理装置で実行される払戻要求処理を示すフローチャートである。
【符号の説明】
【００９８】
１  サーバ装置
２  情報処理装置
１１  ＣＰＵ
１２  記憶部
１３  ＲＡＭ
１４  大容量記憶装置
１５  通信部
【図１】
0005350644.tif 000002
【図２】
0005350644.tif 000003
【図３】
0005350644.tif 000004
【図４】
0005350644.tif 000005
【図５】
0005350644.tif 000006
【図６】
0005350644.tif 000007
【図７】
0005350644.tif 000008
【図８】
0005350644.tif 000009
【図９】
0005350644.tif 000010
【図１０】
0005350644.tif 000011
【図１１】
0005350644.tif 000012
【図１２】
0005350644.tif 000013
【図１３】
0005350644.tif 000014