(57)【特許請求の範囲】
【請求項１】
ユーザデータ、及びプログラムの中から選択される１以上の電子データを記録媒体に書き込みするための１つ以上の記録装置が接続され、オペレーティングシステムによって制御されて動作している電子計算機から、
ユーザによって操作された前記電子計算機、又は前記電子計算機上で動作するアプリケーションプログラムが前記記録装置によって前記記録媒体に前記電子データを書き込みして、前記電子データの複製又は移動を行うとき、前記書き込みを許可又は不許可にして制御するためのデータ管理方法において、
前記書き込みを許可又は不許可にする機能は、前記電子計算機上で動作するデータ管理プログラムによって実現させるものであって、
前記データ管理プログラムは、
（ａ）前記電子計算機の複数のデバイスドライバとの間、又は前記アプリケーションプログラムと前記デバイスドライバとの間に、データの送受信を行うための共通のインターフェースを提供し、前記記録装置を直接制御するデバイスドライバである記録装置用デバイスドライバを制御して、前記書き込みをする動作を許可、又は不許可にして前記書き込みを制御するための機能を前記電子計算機に実現させるための共通インターフェースプログラムと、
（ｂ）前記ユーザが正当なユーザである否かの認証であるユーザ認証を行うための機能を前記電子計算機に実現させるための認証モジュールプログラムと
からなり、
前記電子計算機が前記書き込みを実行するとき、前記共通インターフェースプログラムは、前記認証モジュールプログラムに前記ユーザ認証を要求する機能を前記電子計算機に実行させ、
前記認証モジュールプログラムは、暗号化処理する機能を前記電子計算機に実現させるための認証用アプリケーションプログラムを呼び出して、平文データを前記認証用アプリケーションプログラムに送信する機能を前記電子計算機に実行させて、
前記認証用アプリケーションプログラムは、前記平文データを受信する機能と、前記電子計算機に接続され、かつ、前記ユーザ認証を行うために使用するメモリ領域を有した前記記録媒体、又は、前記メモリ領域を有した前記記録装置である認証用メモリ手段に格納されている第２認証用データを用いて前記平文データを暗号化処理して暗号化データを作成する機能と、前記暗号化データを前記認証モジュールプログラムに送信する機能を前記電子計算機に実行させ、
前記認証モジュールプログラムは、前記暗号化データを受信する機能と、前記電子計算機に格納されている第１認証用データを用いて前記暗号化データを復号化する機能と、前記復号化された復号化データを前記平文データを比較して前記ユーザ認証を行う機能と、前記ユーザ認証の結果を前記共通インターフェースプログラムに渡す機能を前記電子計算機に実行させ、
前記共通インターフェースプログラムは、前記結果を受け取る機能と、前記平文データと前記復号化データが一致して前記認証が成功した場合に前記書き込みを許可する機能と、前記平文データと前記復号化データが一致しないで前記認証が不成功の場合に前記書き込みを不許可にする機能を前記電子計算機に実行させる
ことを特徴とするデータ管理方法。
【請求項２】
請求項１において、
前記電子計算機が前記書き込みを実行するとき、
前記認証用メモリ手段は前記電子計算機に接続、又は前記認証用メモリ手段用の前記記録装置に挿入され、前記電子計算機の入力装置の特定のキーが押下された場合、
前記認証モジュールプログラムは、
前記第１認証用データ及び前記第２認証用データを用いて前記ユーザ認証が行われた後、
前記電子計算機とネットワークを介して接続されたサーバに前記電子計算機を接続する機能、及び、
前記サーバに格納され、前記ユーザ認証に用いるための前記第１認証用データと前記第２認証用データからなる認証用データを有するデータベースから新しい前記第２認証用データを取得して、前記認証用メモリ手段に格納する機能とを前記電子計算機に実行させ、
前記サーバに格納され、かつ、前記認証用データの管理を行うための機能を前記サーバに実現させるための管理プログラムは、前記ユーザ認証に利用された前記第２認証用データと、前記新しい第２認証用データを前記データベースに更新して登録する機能を前記サーバに実行させる
ことを特徴とするデータ管理方法。
【請求項３】
請求項１又は２において、
前記認証用メモリ手段を用いて複数の前記電子計算機のデータ管理を行うとき、
前記複数の前記電子計算機それぞれに１以上の前記第１認証用データが格納され、
前記複数の前記電子計算機それぞれに格納された前記第１認証用データのペアの前記第２認証用データのすべてが前記認証用メモリ手段に格納される
ことを特徴とするデータ管理方法。
【請求項４】
請求項１から３の中から選択されるいずれか１つの項において、
前記ユーザ認証に用いるアルゴリズムは公開鍵方式のアルゴリズムであり、前記ユーザごとに割り当てられる公開鍵と秘密鍵はペアで作成され、
前記第１認証用データは前記公開鍵からなり、
前記第２認証用データは前記秘密鍵からなる
ことを特徴とするデータ管理方法。
【請求項５】
請求項１から３の中から選択されるいずれか１つの項において、
前記ユーザ認証に用いるアルゴリズムは公開鍵方式のアルゴリズムであり、前記ユーザごとに割り当てられる公開鍵と秘密鍵はペアで作成され、
前記第１認証用データは前記秘密鍵からなり、
前記第２認証用データは前記公開鍵からなる
ことを特徴とするデータ管理方法。
【請求項６】
請求項１から３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、リムーバブルディスク及び、前記リムーバブルディスクに前記電子データの書き込み、読み込みを行うためのリムーバブルディスクデバイスからなる
ことを特徴とするデータ管理方法。
【請求項７】
請求項１から３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、フラッシュメモリ、又は読み書き可能なメモリカードからなる
ことを特徴とするデータ管理方法。
【請求項８】
請求項１から３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、ＵＳＢ（Universal Serial Bus）メモリ又はフレキシブルディスクである
ことを特徴とするデータ管理方法。
【請求項９】
ユーザデータ、及びプログラムの中から選択される１以上の電子データを記録媒体に書き込みするための１つ以上の記録装置が接続され、オペレーティングシステムによって制御されて動作している電子計算機から、
ユーザによって操作された前記電子計算機、又は前記電子計算機上で動作しているアプリケーションプログラムが
前記記録媒体に前記電子データを書き込みする書き込み要求をし、
前記書き込み要求に従い、前記記録装置によって、前記記録媒体に前記電子データを書き込みする書き込みステップを前記電子計算機に実行させて、前記電子データの複製又は移動を行うとき、
前記書き込みステップの実行を許可又は不許可にして制御する制御ステップと
を前記電子計算機に実行させるためのデータ管理プログラムにおいて、
前記データ管理プログラムは、
（ａ）前記電子計算機の複数のデバイスドライバとの間、又は前記アプリケーションプログラムと前記デバイスドライバとの間、にデータの送受信を行うための共通のインターフェースを提供し、前記記録装置を直接制御するデバイスドライバである記録装置用デバイスドライバを制御するための機能を前記電子計算機に実現させるためのプログラムで、かつ、前記制御ステップを含む共通インターフェースプログラムと、
（ｂ）前記ユーザが正当なユーザである否かの認証であるユーザ認証を行うための機能を前記電子計算機に実現させるための認証モジュールプログラムと
から構成され、
前記共通インターフェースプログラムは、
（ｉ）前記書き込みステップを実行するとき、前記共通のインターフェースによって前記書き込み要求を受信する受信ステップと、
（ii）前記電子計算機に格納されている第１認証用データを読み出す第１読み出しステップと、
（iii）前記電子計算機に接続され、かつ、前記ユーザ認証を行うために使用するメモリ領域を有した前記記録媒体、又は、前記メモリ領域を有した前記記録装置である認証用メモリ手段に格納されている第２認証用データを読み出す第２読み出しステップと、
（iv）前記書き込み要求を受信した後、前記認証モジュールプログラムに前記ユーザ認証を要求するステップと、及び、
（ｖ）前記ユーザ認証が成功した場合に、前記書き込みステップの実行を許可する許可ステップと、及び前記ユーザ認証が不成功であった場合に、前記書き込みステップの実行を不許可にする不許可ステップとからなる前記制御ステップとを前記電子計算機に実行させるためのプログラムであり、
前記認証モジュールプログラムは、
（ｉ）前記第２認証用データによって平文データを暗号化処理して暗号化データを作成するためのプログラムである認証用アプリケーションプログラムを呼び出すステップと、
（ii）前記平文データを作成して前記認証用アプリケーションプログラムに送信するステップと、
（iii）前記暗号化データを前記第１認証用データによって復号化して復号化データを作成するステップと、
（iv）前記復号化データを前記平文データと比較して前記ユーザ認証をするステップと、及び、
（ｖ）前記ユーザ認証の結果である認証ステータスを前記共通インターフェースプログラムに渡すステップと、を前記電子計算機に実行させるためのプログラムであり、
前記認証用アプリケーションプログラムは、
（ｉ）前記認証用メモリ手段が前記電子計算機に接続されるときロードされるデバイスドライバで、前記認証用メモリ手段を直接制御するためのメモリ手段用デバイスドライバを介して前記第２認証用データを読み込むステップと、
（ii）前記認証モジュールプログラムから受け取った前記平文データを前記第２認証用データによって暗号化処理して前記暗号化データを作成するステップと、及び、
（iii）前記暗号化データを前記認証モジュールプログラムに渡すステップとを前記電子計算機に実行させるためのプログラムであり、
前記制御ステップは、前記認証ステータスを受け取るステップと、前記認証ステータスが前記復号化データと前記平文データが一致して前記ユーザ認証の成功を示す場合に前記許可ステップ、又は、前記認証ステータスが前記復号化データと前記平文データが一致しないで前記ユーザ認証の成功を示さない場合に前記不許可ステップを実行し、
前記許可ステップの場合は、前記共通インターフェースプログラムは、前記記録装置用デバイスドライバを制御して、前記書き込みステップを実行し、
前記不許可ステップの場合は、前記共通インターフェースプログラムは、前記記録装置用デバイスドライバを制御して、前記書き込みステップを実行しない
ことを特徴とするデータ管理プログラム。
【請求項１０】
請求項９において、
前記認証モジュールプログラムは、
前記電子計算機から前記第１認証用データを読み込むステップと、
前記ユーザ認証のためにランダムに作成した第１ランダムデータを前記認証用アプリケーションプログラムに渡すステップとからなり、
前記認証用アプリケーションプログラムは、
前記第１ランダムデータを受信するステップと、
前記第２認証用データを前記認証用メモリ手段から読み込むステップと、
前記第１ランダムデータを前記第２認証用データによって暗号化し、第１暗号化データを作成する第１暗号化ステップと、
前記第１暗号化データを前記認証モジュールプログラムに渡すステップとからなり、
更に、前記認証モジュールプログラムは、
前記第１暗号化データを受け取るステップと、
前記第１暗号化データを前記第１認証用データによって復号化し、第１復号化データを作成する第１復号化ステップと、
前記第１復号化データと前記第１ランダムデータとを比較して認証する第１ランダムデータ認証ステップと、
前記第１ランダムデータ認証ステップの結果、前記第１復号化データと前記第１ランダムデータが一致しないとき、前記第１ランダムデータ認証ステップの結果である第１認証ステータスを前記共通インターフェースプログラムに渡すステップと、
前記第１ランダムデータ認証ステップの結果、前記第１復号化データと前記第１ランダムデータが一致したとき、前記ユーザ認証のためにランダムに作成した第２ランダムデータを前記認証用アプリケーションプログラムに渡すステップとからなり、
更に、前記認証用アプリケーションプログラムは、
前記第２ランダムデータを受信するステップと、
前記第２認証用データを前記認証用メモリ手段から読み込むステップと、
前記第２ランダムデータを前記第２認証用データによって暗号化し、第２暗号化データを作成する第２暗号化ステップと、
前記第２暗号化データを前記認証モジュールプログラムに渡すステップとからなり、
更に、前記認証モジュールプログラムは、
前記第２暗号化データを受け取るステップと、
前記第２暗号化データを前記第１認証用データによって復号化し、第２復号化データを作成する第２復号化ステップと、
前記第２復号化データと前記第２ランダムデータとを比較して認証する第２ランダムデータ認証ステップと、
前記第２ランダムデータ認証ステップの結果、前記第２ランダムデータ認証ステップの結果である第２認証ステータスを前記共通インターフェースプログラムに渡すステップとからなり
前記制御ステップは、
前記共通インターフェースプログラムが受信した前記認証ステータスが前記第１認証ステータスのとき、前記書き込みを許可しないステップと、
前記共通インターフェースプログラムが受信した前記認証ステータスが前記第２認証ステータスのとき、
前記第２認証ステータスが前記認証が成功したことを示す「Ｔｒｕｅ」のときは、前記書き込みステップの実行を許可するステップと、
前記第２認証ステータスが前記認証が成功しなかったことを示す「Ｆａｌｓｅ」のときは、前記書き込みステップの実行を不許可にするステップとからなる
ことを特徴とするデータ管理プログラム。
【請求項１１】
請求項９又は１０において、
前記書き込みステップの実行が許可されてから設定時間以上に経過したか否かを監視する時間監視ステップと、
前記書き込みステップの実行が許可されてから設定時間以上に経過したとき、前記書き込みステップの実行を不許可するステップとからなる
ことを特徴とするデータ管理プログラム。
【請求項１２】
請求項９又は１０において、
前記書き込みステップが実行されるとき、
前記電子計算機に接続又は前記認証用メモリ手段用の前記記録装置に前記認証用メモリ手段が挿入された後、前記電子計算機の入力装置の特定のキーが押下され、
前記認証ステップが実行され、
前記電子計算機とネットワークを介して接続されたサーバに接続して、前記サーバに格納され、前記ユーザ認証に用いるための前記第１認証用データと前記第２認証用データからなる認証用データを有するデータベースから新しい前記第２認証用データを取得して前記認証用メモリ手段に格納するステップと、
前記サーバに格納され、かつ、前記認証用データの管理を行うための機能を前記サーバに実現させるための管理プログラムは、前記認証に利用された前記認証用データと、前記新しい第２認証用データを前記データベースに更新して登録するステップとからなる
ことを特徴とするデータ管理プログラム。
【請求項１３】
請求項９から１２の中から選択されるいずれか１つの項において、
前記認証用メモリ手段を用いて複数の前記電子計算機のデータ管理を行うとき、
複数の前記第１認証用データが前記複数の電子計算機にそれぞれ格納され、
前記複数の前記第１認証用データとペアの前記第２認証用データすべてが前記認証用メモリ手段に格納されている
ことを特徴とするデータ管理プログラム。
【請求項１４】
請求項９から１３の中から選択されるいずれか１つの項において、
前記ユーザ認証のための認証用のアルゴリズムは、公開鍵方式であり、前記ユーザごとに割り当てられた公開鍵、秘密鍵はペアで作成され、
前記第１認証用データは前記公開鍵からなり、
前記第２認証用データは前記秘密鍵からなる
ことを特徴とするデータ管理プログラム。
【請求項１５】
請求項９から１３の中から選択されるいずれか１つの項において、
前記ユーザ認証のための認証用のアルゴリズムは、公開鍵方式であり、前記ユーザごとに割り当てられた公開鍵、秘密鍵はペアで作成され、
前記第１認証用データは前記秘密鍵からなり、
前記第２認証用データは前記公開鍵からなる
ことを特徴とするデータ管理プログラム。
【請求項１６】
請求項９から１３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、リムーバブルディスク及び、前記リムーバブルディスクに電子データの書き込み、読み込みを行うリムーバブルディスクデバイスからなる
ことを特徴とするデータ管理プログラム。
【請求項１７】
請求項９から１３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、フラッシュメモリ、又は読み書き可能なメモリカードからなる
ことを特徴とするデータ管理プログラム。
【請求項１８】
請求項９から１３の中から選択されるいずれか１つの項において、
前記認証用メモリ手段は、ＵＳＢ（Universal Serial Bus）メモリ又はフレキシブルディスクである
ことを特徴とするデータ管理プログラム。
【請求項１９】
請求項９から１８のデータ管理プログラムから選択される一つのデータ管理プログラムを記録したデータ管理プログラムの記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機に格納されているデータを管理するデータ管理方法、そのプログラム及びプログラムの記録媒体に関する。詳しくは、電子計算機に接続されている記録装置によって記録媒体に電子データを記録するとき、その記録作業を制御するためのデータ管理方法、そのプログラム及びプログラムの記録媒体に関する。 
更に詳しくは、電子計算機からその外部に流出するデータやファイル等を管理するためのデータ管理方法、そのプログラム及びプログラムの記録媒体に関する。 
【背景技術】
【０００２】
電子計算機のハードディスク（ＨＤＤ）に保存されているデータは、ＦＤ（登録商標）、ＭＯ、ＣＤ、フラッシュメモリ等の記録媒体に記録されて持ち出されることがある。データには、企業秘密、個人情報等の重要な情報が入っている場合がある。このようなデータを外部へ流出しないように保護することがセキュリティ上重要である。 
【０００３】
電子計算機のＨＤＤに保存されているデータを外部へ持ち出すときは、ＦＤ、ＣＤ、ＤＶＤ、ＭＯ、フラッシュメモリや外付けリムーバブルＨＤＤ等の記録媒体に書き込むことが一般的である。フラッシュメモリを採用したカード型のメモリ装置や外付けリムーバブルＨＤＤ等の記憶装置にも書き込むことができる。フラッシュメモリを採用したカード型のメモリ装置としては、メモリスティック（登録商標）、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）やＳＤメモリ（登録商標）等が掲げられる。 
【０００４】
これらの記憶装置と、これらの記録媒体に電子データを記録するための記録装置は、電子計算機に接続されて、書き込みを行う。この記憶装置と記録装置は、電子計算機とＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４、ＳＣＳＩ、ＰＣＭＣＩＡ、ＣＦ等のインターフェースで接続されてデータの送受信を行って、書き込みを行う。このため、データの外部への流出を防ぐために記録可能な記録媒体に書き込みできる記録装置を電子計算機から取り外し、これらの記録装置を電子計算機に接続しないように制限をすることがある。 
【０００５】
また、電子計算機を操作した履歴を保存して管理することがある。このとき、保存された履歴を解析して、いつデータがアクセスされて、どのように書き込みされたか等を把握してデータ管理を行うこともある。その他には、電子計算機上に動作しているオペレーティングシステム（ＯＳ）の機能には、記録媒体に書き込みを行えないように制限をかける方法がある。ＵＮＩＸ（登録商標）、ＬＩＮＵＸ系のＯＳでは、ユーザのアクセス権限を許可、不許可するように制御できるが、Ｗｉｎｄｏｗｓ（登録商標）系のＯＳではその実現が困難である。 
【０００６】
ＯＳの命令動作は、大まかにユーザモードと、カーネルモードに分かれる。カーネルモードにおいては、カーネルモードで動作するプログラムはＯＳが提供している全ての命令が実行できる。一方、ユーザモードにおいては、ユーザモードで動作するアプリケーションプログラムは、ＯＳが提供する一部の命令しか実行できない制限された環境になる。このように、ユーザモードで制限をすることによって、電子計算機の安定した動作を提供している。 
【０００７】
電子計算機の入出力装置の制御は、各入出力装置に対応したデバイスドライバから行われる。デバイスドライバは、カーネルモードで動作している。これらのデバイスドライバのプログラムをユーザが改良したり、新しく作ったりすることができるが、ちょっとした間違い、不具合によって電子計算機の不安定な動作の原因になりかねない。そのため、通常の技術者がデバイスドライバのレベルでプログラムを組んだりすることは殆ど無い。 
【０００８】
特許文献１には、デバイスドライバとアプリケーションプログラムとの間に共通のインターフェースを提供する共通インターフェースドライバを開示している。共通インターフェースドライバは、複数のデバイスドライバ間にも共通のインターフェースを提供している。 
特許文献１は、デバイスドライバとアプリケーションプログラム、複数のデバイスドライバ間に共通のインターフェースを提供しているが、デバイスドライバによって記録装置へのデータの記録作業の制御は行っていない。 
【特許文献１】特開２００２−３２８８７８号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。 
本発明の目的は、電子計算機に接続されている記録装置によって記録媒体にデータ、プログラム等を記録する記録作業を制御するデータ管理方法、そのプログラム及びプログラムの記録媒体を提供する。 
【００１０】
本発明の他の目的は、電子計算機に接続されている記録装置によって記録媒体にデータ、プログラム等を記録するとき、ライセンス認証を行い正当なユーザのみの記録作業を可能にするデータ管理方法と、そのプログラム及びプログラムの記録媒体を提供する。 
【課題を解決するための手段】
【００１１】
本発明は、前記目的を達成するため、次の手段を採る。 
本発明１は、ユーザデータ、及びプログラムの中から選択される１以上の電子データを記録媒体に書き込みするための１つ以上の記録装置が接続され、オペレーティングシステムによって制御されて動作している電子計算機から、 
ユーザによって操作された前記電子計算機、又は前記電子計算機上で動作するアプリケーションプログラムが、前記記録装置によって前記記録媒体に前記電子データを書き込みして、前記電子データの複製又は移動を行うとき、前記書き込みを許可又は不許可して制御するためのデータ管理方法である。
【００１２】
本発明１のデータ管理方法は、前記書き込みを許可又は不許可にする機能は、前記電子計算機上で動作するデータ管理プログラムによって実現させるものであって、
前記データ管理プログラムは、
（ａ）前記電子計算機の複数のデバイスドライバとの間、又は前記アプリケーションプログラムと前記デバイスドライバとの間に、データの送受信を行うための共通のインターフェースを提供し、前記記録装置を直接制御するデバイスドライバである記録装置用デバイスドライバを制御して、前記書き込みをする動作を許可、又は不許可にして前記書き込みを制御するための機能を前記電子計算機に実現させるための共通インターフェースプログラムと、
（ｂ）前記ユーザが正当なユーザである否かの認証であるユーザ認証を行うための機能を前記電子計算機に実現させるための認証モジュールプログラムと
からなることを特徴とする。
【００１３】
また、本発明１のデータ管理方法は、前記電子計算機が前記書き込みを実行するとき、前記共通インターフェースプログラムは、前記認証モジュールプログラムに前記ユーザ認証を要求する機能を前記電子計算機に実行させ、前記認証モジュールプログラムは、暗号化処理する機能を前記電子計算機に実現させるための認証用アプリケーションプログラムを呼び出して、平文データを前記認証用アプリケーションプログラムに送信する機能を前記電子計算機に実行させることを特徴とする。
【００１４】
更に、本発明１のデータ管理方法は、
前記認証用アプリケーションプログラムは、前記平文データを受信する機能と、前記電子計算機に接続され、かつ、前記ユーザ認証を行うために使用するメモリ領域を有した前記記録媒体、又は、前記メモリ領域を有した前記記録装置である認証用メモリ手段に格納されている第２認証用データを用いて前記平文データを暗号化処理して暗号化データを作成する機能と、前記暗号化データを前記認証モジュールプログラムに送信する機能を前記電子計算機に実行させ、
前記認証モジュールプログラムは、前記暗号化データを受信する機能と、前記電子計算機に格納されている第１認証用データを用いて前記暗号化データを復号化する機能と、前記復号化された復号化データを前記平文データを比較して前記ユーザ認証を行う機能と、前記ユーザ認証の結果を前記共通インターフェースプログラムに渡す機能を前記電子計算機に実行させ、
前記共通インターフェースプログラムは、前記結果を受け取る機能と、前記平文データと前記復号化データが一致して前記認証が成功した場合に前記書き込みを許可する機能と、前記平文データと前記復号化データが一致しないで前記認証が不成功の場合に前記書き込みを不許可にする機能を前記電子計算機に実行させることを特徴とする。
【００１５】
本発明２のデータ管理方法は、本発明１において、前記電子計算機が前記書き込みを実行するとき、
前記認証用メモリ手段は前記電子計算機に接続、又は前記認証用メモリ手段用の前記記録装置に挿入され、前記電子計算機の入力装置の特定のキーが押下された場合、前記認証モジュールプログラムは、前記第１認証用データ及び前記第２認証用データを用いて前記
ユーザ認証が行われた後、前記電子計算機とネットワークを介して接続されたサーバに前記電子計算機を接続する機能、及び、前記サーバに格納され、前記ユーザ認証に用いるための前記第１認証用データと前記第２認証用データからなる認証用データを有するデータベースから新しい前記第２認証用データを取得して、前記認証用メモリ手段に格納する機能とを前記電子計算機に実行させ、前記サーバに格納され、かつ、前記認証用データの管理を行うための機能を前記サーバに実現させるための管理プログラムは、前記ユーザ認証に利用された前記第２認証用データと、前記新しい第２認証用データを前記データベースに更新して登録する機能を前記サーバに実行させることを特徴とする。
【００１６】
本発明３のデータ管理方法は、本発明１又は２の発明において、前記認証用メモリ手段を用いて複数の前記電子計算機のデータ管理を行うとき、前記複数の前記電子計算機それぞれに１以上の前記第１認証用データが格納され、前記複数の前記電子計算機それぞれに格納された前記第１認証用データのペアの前記第２認証用データのすべてが前記認証用メモリ手段に格納されることを特徴とする。
【００１７】
本発明４のデータ管理方法は、本発明１から３の中から選択されるいずれか１つの発明において、前記ユーザ認証に用いるアルゴリズムは公開鍵方式のアルゴリズムであり、前記ユーザごとに割り当てられる公開鍵と秘密鍵はペアで作成され、前記第１認証用データは前記公開鍵からなり、前記第２認証用データは前記秘密鍵からなることを特徴とする。 
【００１８】
本発明５のデータ管理方法は、本発明１から３の中から選択されるいずれか１つの発明において、前記ユーザ認証に用いるアルゴリズムは公開鍵方式のアルゴリズムであり、前記ユーザごとに割り当てられる公開鍵と秘密鍵はペアで作成され、前記第１認証用データは前記秘密鍵からなり、前記第２認証用データは前記公開鍵からなることを特徴とする。 
【００１９】
本発明６のデータ管理方法は、本発明１から３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、リムーバブルディスク及び、前記リムーバブルディスクに前記電子データの書き込み、読み込みを行うためのリムーバブルディスクデバイスからなることを特徴とする。 
【００２０】
本発明７のデータ管理方法は、本発明１から３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、フラッシュメモリ、又は読み書き可能なメモリカードからなることを特徴とする。 
【００２１】
本発明８のデータ管理方法は、本発明１から３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、ＵＳＢ（Universal Serial Bus）メモリ、又はフレキシブルディスクであることを特徴とする。 
【００２２】
本発明９のデータ管理プログラムは、
ユーザデータ、及びプログラムの中から選択される１以上の電子データを記録媒体に書き込みするための１つ以上の記録装置が接続され、オペレーティングシステムによって制御されて動作している電子計算機から、
ユーザによって操作された前記電子計算機、又は前記電子計算機上で動作しているアプリケーションプログラムが、
前記記録媒体に前記電子データを書き込みするための書き込み要求をし、
前記書き込み要求に従い、前記記録装置によって、前記記録媒体に前記電子データを書き込みする書き込みステップを前記電子計算機に実行させて、前記電子データの複製又は移動を行うとき、
前記書き込みステップの実行を許可又は不許可して制御する制御ステップとを前記電子計算機に実行させるためのものであることを特徴とする。 
【００２３】
更に、本発明９の前記データ管理プログラムは、 
（ａ）前記電子計算機の複数のデバイスドライバとの間、又は前記アプリケーションプログラムと前記デバイスドライバとの間、にデータの送受信を行うための共通のインターフェースを提供し、前記記録装置を直接制御するデバイスドライバである記録装置用デバイスドライバを制御するための機能を前記電子計算機に実現させるためのプログラムで、かつ、前記制御ステップを含む共通インターフェースプログラムと、 
（ｂ）前記ユーザが正当なユーザである否かの認証であるユーザ認証を行うための機能を前記電子計算機に実現させるための認証モジュールプログラムと
から構成され、 
【００２４】
また、本発明９の前記共通インターフェースプログラムは、
（ｉ）前記書き込みステップを実行するとき、前記共通のインターフェースによって前記書き込み要求を受信する受信ステップと、
（ｉｉ）前記電子計算機に格納されている第１認証用データを読み出す第１読み出しステップと、 
（ｉｉｉ）前記電子計算機に接続され、かつ、前記ユーザ認証を行うために使用するメモリ領域を有した前記記録媒体、又は、前記メモリ領域を有した前記記録装置である認証用メモリ手段に格納されている第２認証用データを読み出す第２読み出しステップと、 
（ｉｖ）前記書き込み要求を受信した後、前記認証モジュールプログラムに前記ユーザ認証を要求するステップと、及び、 
（ｖ）前記ユーザ認証が成功した場合に、前記書き込みステップの実行を許可する許可ステップと、及び前記ユーザ認証が不成功であった場合に、前記書き込みステップの実行を不許可にする不許可ステップとからなる前記制御ステップとを前記電子計算機に実行させるためのプログラムであることを特徴とする。
【００２５】
更に、本発明９の前記認証モジュールプログラムは、
（ｉ）前記第２認証用データによって平文データを暗号化処理して暗号化データを作成するためのプログラムである認証用アプリケーションプログラムを呼び出すステップと、
（ｉｉ）前記平文データを作成して前記認証用アプリケーションプログラムに送信するステップと、
（ｉｉｉ）前記暗号化データを前記第１認証用データによって復号化して復号化データを作成するステップと、
（ｉｖ）前記復号化データを前記平文データと比較して前記ユーザ認証をするステップと、及び、
（ｖ）前記ユーザ認証の結果である認証ステータスを前記共通インターフェースプログラムに渡すステップと、を前記電子計算機に実行させるためのプログラムであることを特徴とする。
【００２６】
更に、本発明９の前記認証用アプリケーションプログラムは、
（ｉ）前記認証用メモリ手段が前記電子計算機に接続されるときロードされるデバイスドライバで、前記認証用メモリ手段を直接制御するためのメモリ手段用デバイスドライバを介して前記第２認証用データを読み込むステップと、
（ｉｉ）前記認証モジュールプログラムから受け取った前記平文データを前記第２認証用データによって暗号化処理して前記暗号化データを作成するステップと、及び、
（ｉｉｉ）前記暗号化データを前記認証モジュールプログラムに渡すステップとを前記電子計算機に実行させるためのプログラムであり、
前記制御ステップは、前記認証ステータスを受け取るステップと、前記認証ステータスが前記復号化データと前記平文データが一致して前記ユーザ認証の成功を示す場合に前記許可ステップ、又は、前記認証ステータスが前記復号化データと前記平文データが一致しないで前記ユーザ認証の成功を示さない場合に前記不許可ステップを実行し、
前記許可ステップの場合は、前記共通インターフェースプログラムは、前記記録装置用デバイスドライバを制御して、前記書き込みステップを実行し、 
前記不許可ステップの場合は、前記共通インターフェースプログラムは、前記記録装置用デバイスドライバを制御して、前記書き込みステップを実行しないことを特徴とする。
【００２７】
本発明１０のデータ管理プログラムは、本発明９において、前記認証モジュールプログラムは、前記電子計算機から前記第１認証用データを読み込むステップと、 
前記ユーザ認証のためにランダムに作成した第１ランダムデータを前記認証用アプリケーションプログラムに渡すステップとからなり、
前記認証用アプリケーションプログラムは、前記第１ランダムデータを受信するステップと、前記第２認証用データを前記認証用メモリ手段から読み込むステップと、前記第１ランダムデータを前記第２認証用データによって暗号化し、第１暗号化データを作成する第１暗号化ステップと、前記第１暗号化データを前記認証モジュールプログラムに渡すステップとからなることを特徴とする。 
【００２８】
更に、前記認証モジュールプログラムは、前記第１暗号化データを受け取るステップと、前記第１暗号化データを前記第１認証用データによって復号化し、第１復号化データを作成する第１復号化ステップと、前記第１復号化データと前記第１ランダムデータとを比較して認証する第１ランダムデータ認証ステップと、前記第１ランダムデータ認証ステップの結果、前記第１復号化データと前記第１ランダムデータが一致しないとき、前記第１ランダムデータ認証ステップの結果である第１認証ステータスを前記共通インターフェースプログラムに渡すステップと、前記第１ランダムデータ認証ステップの結果、前記第１復号化データと前記第１ランダムデータが一致したとき、前記ユーザ認証のためにランダムに作成した第２ランダムデータを前記認証用アプリケーションプログラムに渡すステップとからなることを特徴とする。
【００２９】
更に、前記認証用アプリケーションプログラムは、前記第２ランダムデータを受信するステップと、前記第２認証用データを前記認証用メモリ手段から読み込むステップと、前記第２ランダムデータを前記第２認証用データによって暗号化し、第２暗号化データを作成する第２暗号化ステップと、前記第２暗号化データを前記認証モジュールプログラムに渡すステップとからなり、更に、前記認証モジュールプログラムは、前記第２暗号化データを受け取るステップと、前記第２暗号化データを前記第１認証用データによって復号化し、第２復号化データを作成する第２復号化ステップと、前記第２復号化データと前記第２ランダムデータとを比較して認証する第２ランダムデータ認証ステップと、前記第２ランダムデータ認証ステップの結果、前記第２ランダムデータ認証ステップの結果である第２認証ステータスを前記共通インターフェースプログラムに渡すステップとからなることを特徴とする。
【００３０】
前記制御ステップは、前記共通インターフェースプログラムが受信した前記認証ステータスが前記第１認証ステータスのとき、前記書き込みを許可しないステップと、前記共通インターフェースプログラムが受信した前記認証ステータスが前記第２認証ステータスのとき、前記第２認証ステータスが前記認証が成功したことを示す「Ｔｒｕｅ」のときは、前記書き込みステップの実行を許可するステップと、前記第２認証ステータスが前記認証が成功しなかったことを示す「Ｆａｌｓｅ」のときは、前記書き込みステップの実行を不許可にするステップとからなることを特徴とする。 
【００３１】
本発明１１のデータ管理プログラムは、本発明９又は１０の発明において、前記書き込みステップの実行が許可されてから設定時間以上に経過したか否かを監視する時間監視ステップと、前記書き込みステップの実行が許可されてから設定時間以上に経過したとき、前記書き込みステップの実行を不許可するステップとからなることを特徴とする。 
【００３２】
本発明１２のデータ管理プログラムは、本発明９又は１０の発明において、前記書き込みステップが実行されるとき、前記電子計算機に接続又は前記認証用メモリ手段用の前記記録装置に前記認証用メモリ手段が挿入された後、前記電子計算機の入力装置の特定のキーが押下され、前記認証ステップが実行され、前記電子計算機とネットワークを介して接続されたサーバに接続して、前記サーバに格納され、前記ユーザ認証に用いるための前記第１認証用データと前記第２認証用データからなる認証用データを有するデータベースから新しい第２認証用データを取得して前記認証用メモリ手段に格納するステップと、前記サーバに格納され、かつ、前記認証用データの管理を行うための機能を前記サーバに実現させるための管理プログラムは、前記認証に利用された前記認証用データと、前記新しい第２認証用データを前記データベースに更新して登録するステップとからなることを特徴とする。
【００３３】
本発明１３のデータ管理プログラムは、本発明９から１２の中から選択されるいずれか
１つの発明において、前記認証用メモリ手段を用いて複数の前記電子計算機のデータ管理
を行うとき、複数の前記第１認証用データが前記複数の電子計算機にそれぞれ格納され、
前記複数の前記第１認証用データとペアの前記第２認証用データすべてが前記認証用メ
モリ手段に格納されていることを特徴とする。
【００３４】
本発明１４のデータ管理プログラムは、本発明９から１３の中から選択されるいずれか１つの発明において、前記ユーザ認証のための認証用のアルゴリズムは、公開鍵方式であり、前記ユーザごとに割り当てられた公開鍵、秘密鍵はペアで作成され、前記第１認証用データは前記公開鍵からなり、前記第２認証用データは前記秘密鍵からなることを特徴とする。 
【００３５】
本発明１５のデータ管理プログラムは、本発明９から１３の中から選択されるいずれか１つの発明において、前記ユーザ認証のための認証用のアルゴリズムは、公開鍵方式であり、前記ユーザごとに割り当てられた公開鍵、秘密鍵はペアで作成され、前記第１認証用データは前記秘密鍵からなり、前記第２認証用データは前記公開鍵からなることを特徴とする。 
【００３６】
本発明１６のデータ管理プログラムは、本発明９から１３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、リムーバブルディスク及び、前記リムーバブルディスクに電子データの書き込み、読み込みを行うリムーバブルディスクデバイスからなることを特徴とする。 
【００３７】
本発明１７のデータ管理プログラムは、本発明９から１３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、フラッシュメモリ、又は読み書き可能なメモリカードからなることを特徴とする。 
【００３８】
本発明１８のデータ管理プログラムは、本発明９から１３の中から選択されるいずれか１つの発明において、前記認証用メモリ手段は、ＵＳＢ（Universal Serial Bus）メモリ又はフレキシブルディスクであることを特徴とする。 
【００３９】
本発明１９のデータ管理プログラムの記録媒体は、本発明９ないし１８から選択される一つの発明のデータ管理プログラムを記録したものである。 
【００４０】
前記認証用アプリケーションプログラムは、前記電子計算機に格納されていると良い。また、前記認証用アプリケーションプログラムは、前記認証用メモリ手段に格納されていて、前記認証モジュールプログラムまたは、オペレーティングシステムから呼び出されて前記電子計算機上に動作すると良い。更に、前記認証用アプリケーションプログラムは、前記認証用メモリ手段に格納されていて、前記認証用メモリ手段が前記電子計算機に接続されると、自動起動して前記電子計算機上に動作すると良い。 
【００４１】
このリムーバブルディスクは、ＭＯ、Ｚｉｐ、ＣＤ−Ｒ、ＰＤ、ＤＶＤ等の持ち運びができる記録媒体のいずれか、リムーバブルディスクデバイスはこれらの記録媒体用の記録装置であると良い。 
前記認証用メモリ手段は、メモリスティック（登録商標）、コンパクトフラッシュ（登録商標）等の読み書き可能なメモリカードであると良い。 
【発明の効果】
【００４２】
本発明によると、次の効果が奏される。 
本発明は、電子計算機に接続されている記録装置によって、記録媒体にユーザのデータやプログラム等の電子データを記録する記録作業を制御し、電子計算機に格納されている電子データが外部へ不正に流出することを把握することが可能になった。 
【００４３】
本発明は、電子計算機に接続されている記録装置によって、記録媒体にユーザのデータやプログラム等の電子データを記録するとき、ユーザ認証を行うことによって、正当なユーザが電子データを持ち出すことが可能になった。 
【発明を実施するための最良の形態】
【００４４】
図１には、本発明を実施するためのデータ管理システムの概要を示す機能ブロック図である。図１には、電子計算機１と、認証用メモリ装置２からなるデータ管理システムの概要を図示している。電子計算機１は、電子計算機本体、ディスプレイ、キーボード、マウス等の入出力装置を有する。電子計算機１は、内蔵ハードディスク３を内蔵している。この内蔵ハードディスク３には、電子計算機１を駆動させ、動作させるためのオペレーティングシステム（ＯＳ）が格納されている。 
【００４５】
また、内蔵ハードディスク３には電子計算機１を利用しているユーザのデータやファイル等であるユーザデータ、各種のアプリケーションプログラムが格納されている。更に、内蔵ハードディスク３にはデータ管理プログラム４、第１認証用データ６が格納されている。電子計算機１は、ＣＤ−ＲＷドライブ、ＦＤＤを装備している。また、ＤＶＤドライブ、外付けＭＯドライブ、ハードディスクを装備しても良い。電子計算機１は、ＵＳＢメモリ等を接続するためのＵＳＢポートを有する。
【００４６】
電子計算機１は、複数のＵＳＢポート、シリアルポート、パラレルポート等の各種のデータ通信用のポートを有し、これらに記録装置が接続可能である。以下、ＯＳはＷｉｎｄｏｗｓ（登録商標）ＸＰ（商標登録）の例で説明をする。記録装置にユーザのデータやファイル等の記録作業の制御がＯＳにおいてどのように行われているかを説明する。ＯＳ、及び電子計算機１に接続されているデバイスのデバイスドライバは、内蔵ハードディスク３に格納されている。 
【００４７】
電子計算機１のＯＳは、電子計算機１に接続されている、ＣＤドライブ、フレキシブルディスクドライブ（ＦＤＤ）、ＵＳＢメモリ等の複数の記録装置を別々のドライブとして認識している。以下、一般的な例を示す。電子計算機１のＯＳは、フレキシブルディスクドライブ（登録商標）をＡドライブ、内蔵ハードディスクをＣドライブと認識している。そして、電子計算機１に１台のＣＤ装置が内蔵されていると、これをＤドライブと認識している。ＣＤ装置としては、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭやＤＶＤ−ＲＷ等の記録媒体から読み込み、これらの記録媒体へ書き込みを行う装置等が掲げられる。ＵＳＢポートにＵＳＢ装置が接続されると、Ｅドライブ、Ｆドライブと接続された順に認識している。 
【００４８】
電子計算機１には、データ管理プログラム４が動作し、電子計算機１の各ドライブの制御を行っている。正確には、データ管理プログラム４は、これが動作して電子計算機１に接続されているデバイスのデバイスドライバを制御している。記録装置のデバイスドライバもこのデータ管理プログラム４によって制御される。以下、データ管理プログラム４は、記録装置への記録を制御しているときは、制御モードを有するという。 
【００４９】
データ管理プログラム４は、記録装置への記録を制御し、記録装置への記録を禁止しているときは、制御モードが有効であるという。データ管理プログラム４は、記録装置への記録を制御し、記録装置への記録が許可されているときは、制御モードが無効であるという。データ管理プログラム４は、デバイスドライバとデバイスドライバとの間、デバイスドライバとアプリケーションプログラムとの間に共通のインターフェースを提供する機能を備えている。 
【００５０】
また、データ管理プログラム４は、電子計算機１に接続されている記録装置を認証する機能を備えている。記録装置の認証は、データ管理プログラム４の一部である認証モジュール５によって行われる。認証モジュール５は、第１認証用データ６を用いて記録装置を認証するためのプログラムである。データ管理プログラム４と第１認証用データ６は、電子計算機１の内蔵ハードディスク３に格納されている。データ管理プログラム４は、ＯＳが起動してから、起動されて動作する。 
【００５１】
データ管理プログラム４は、ＣＤ−ＲＯＭ等の記録媒体に格納されて配布される。データ管理プログラム４を配布するときは、認証用メモリ装置２がデータ管理プログラム４と一緒にセットで配布される。データ管理プログラム４は、ユーザによって電子計算機１にインストールされる。データ管理プログラム４がインストールされると、データ管理プログラム４の初期設定が行われる。
【００５２】
この初期設定では、電子計算機１のどのドライブへユーザデータの書き込みを許可するか否か等の設定が行われる。例えば、電子計算機１の内蔵ハードディスク３以外の記録装置へユーザデータを書き込みできないように設定する。この設定によって、ユーザデータが電子計算機１から外部へ流出しなくなり、ユーザデータの不正流出を防止して、ユーザデータを管理することが可能になる。
【００５３】
データ管理プログラム４は、ＯＳ又はアプリケーションプログラムから記録装置への書き込みを行うとき、この書き込みの制限を行うことができる。例えば初期設定では、内蔵ハードディスク３であるＣドライブ以外の各ドライブへの書き込みが禁止されているとする。データ管理プログラム４は、各ドライブへの書き込みを常に監視し、電子計算機１に接続された記録装置の動作状況を監視し、これらの監視動作の履歴を残す機能を有する。 
【００５４】
認証用メモリ装置２は、データ管理プログラム４とセットで配布されるデバイスである。実施の形態１においては、認証用メモリ装置２として、電子計算機のＵＳＢポートから接続して使用するＵＳＢメモリを利用している。ただし、認証用メモリ装置２としては、ＭＯ、Ｚｉｐ、ＣＤ−Ｒ、ＰＤ、ＤＶＤ等のリムーバブルディスク、フレキシブルディスク、フラッシュメモリ、メモリカードのいずれかの記録媒体であっても良い。
【００５５】
また、認証用メモリ装置２としては、メモリスティック（登録商標）、コンパクトフラッシュ（登録商標）等のメモリ装置であっても良い。認証用メモリ装置２は第２認証用データ７を内蔵している。この第２認証用データ７は、認証用メモリ装置２が電子計算機１に接続されているとき、データ管理プログラム４が認証用メモリ装置２を認証して記録装置への書込みを禁止する制御を解除するために利用されるものである。第１認証用データは、フレキシブルディスク等の記録媒体に格納されて、ユーザに配布される。
【００５６】
図２には、データ管理プログラム４と、認証用メモリ装置２を用いた認証処理のフローの概要を図示している。認証用メモリ装置２内のデータを用いて認証処理を行うための認証用アプリケーションプログラム１４と、認証用メモリ装置２に対応したデバイスドライバである認証用ＵＳＢデバイスドライバ１３は、内蔵ハードディスク３に格納されている。認証用アプリケーションプログラム１４は、認証用ＵＳＢデバイスドライバ１３が電子計算機１にインストールされるとき、電子計算機１にインストールされて動作可能な状態になるものである。
【００５７】
又は、認証用アプリケーションプログラム１４は、認証用ＵＳＢデバイスドライバ１３から呼び出されて単独で動作するものであっても良い。認証処理は、次のように行われる。認証用メモリ装置２を電子計算機１のＵＳＢポートに挿し込むと、認証用ＵＳＢデバイスドライバ１３が内蔵ハードディスク３からロードされる。そして、認証用メモリ装置２と連動して認証処理を行うための認証用アプリケーションプログラム１４が動作する。この認証用ＵＳＢデバイスドライバ１３は、認証用メモリ装置２の中に格納されている第２認証用データ７の読み込みを行い、認証用アプリケーションプログラム１４に渡す。
【００５８】
データ管理プログラム４は、デバイスドライバ８を介して記録装置９を制御する機能を備えている。この制御によって、ＣＤ１０、フレキシブルディスク１１、ＵＳＢメモリ１２等の記録媒体にユーザデータを書き込みすることを制限し、電子データが電子計算機１から外部へ流出することを防ぐ。また、データ管理プログラム４は、内蔵ハードディスク３に格納されている第１認証用データ６を読み込み、認証モジュール５に渡す機能を有する。第１認証用データ６は、認証のために利用するデータである。
【００５９】
認証モジュール５は、認証用アプリケーションプログラム１４と連動して、認証用メモリ装置２の認証、ユーザのライセンシーの認証を行う。これら認証には、内蔵ハードディスク３に格納されている第１認証用データ６と、認証用メモリ装置２に格納されている第２認証用データ７が利用される。
【００６０】
認証の概要は次のように行われる。認証モジュール５は、平文データ作成して認証用アプリケーションプログラム１４に渡す。平文データは、ランダム作成された文字、数字、記号からなるテキストデータであっても良い。また、平文データの長さも作成するごとに変化しても良い。認証用アプリケーションプログラム１４は、この平文データを、第２認証用データを用いて、暗号化して暗号化データを作成し、暗号化データを認証モジュール５に渡す。認証モジュール５は、認証用アプリケーションプログラム１４から送られてきた暗号化データを受信して、復号化等の処理をして元の平文データと比較し、認証を行う。
【００６１】
データ管理プログラム４と認証用メモリ装置２との認証作業は、ハッシュ関数を用いたＲＳＡ認証を採用している。電子計算機１に格納されている第１認証用データ６は、公開鍵からなっている。認証用メモリ装置２に格納されている第２認証用データ７は秘密鍵からなっている。この秘密鍵と、この秘密鍵により暗号された暗号データを復元するためのこの公開鍵とがペアになっている。ある秘密鍵で暗号化された暗号データは、この秘密鍵のペアの公開鍵のみによって復号化できる。
【００６２】
データ管理プログラム４は、第１秘密鍵と第１公開鍵によって、データ管理用の認証用メモリ装置２であるか否かを認証する。そして、データ管理プログラム４は、第２秘密鍵と第２公開鍵によってユーザライセンスを認証する。ユーザライセンスは、データ管理プログラム４と、認証用メモリ装置２がセットで配布されるとき、正当なユーザであるか否か確認するためのもので、この認証は秘密鍵、公開鍵による暗号化技術によって行われる。この２段階の認証により、データ管理プログラム４は認証が承認されると各ドライブへの書き込みを可能にする。
【００６３】
データ管理プログラム４は、認証用メモリ装置２が接続されたかを常に監視し、一定期間ごとに確認を行う機能を有する。ユーザがユーザデータ又はファイルを記録媒体に書き込みしようとするとき、データ管理プログラム４が確認し書き込みを許可又は禁止する。データ管理プログラム４は、認証用メモリ装置２が接続されている場合にだけ書き込みを許可する。 
【００６４】
〔データ管理システムの全体の流れ〕 
図３は、データ管理システムの全体流れのフローチャートを示している。電子計算機１の電源を入れると、ＯＳが起動する（ステップ１）。ＯＳが起動したらデータ管理プログラム４が起動する（ステップ２）。データ管理プログラム４が起動すると、制御モードの初期設定が行われて、制御モードが有効になる（ステップ３）。制御モードが有効である場合は、記録装置へデータやファイル等を書き込みすることができない。この場合、ユーザは電子計算機１を利用して各種アプリケーションプログラム等の操作を行うことができる。 
【００６５】
ユーザは、記録媒体に書き込みしたいとき、ユーザが認証用メモリ装置２を電子計算機１に接続する（ステップ４）。認証用メモリ装置２が電子計算機に接続されると、認証用メモリ装置２のデバイスドライバである認証用ＵＳＢデバイスドライバ１３が内蔵ハードディスク３からロードされ、認証用アプリケーションプログラム１４が動作可能になる。認証用アプリケーションプログラム１４は、認証モジュール５から呼び出される。 
【００６６】
認証用アプリケーションプログラム１４は、起動すると認証要求によって、ＤＬＬプログラム（図示せず）、認証用ＵＳＢデバイスドライバ１３を介して認証用メモリ装置２から第２認証用データ７を読み込み、後述する認証に必要な処理を行う。データ管理プログラム４と認証用メモリ装置２との認証作業が行われる（ステップ５）。認証モジュール５は、認証用メモリ装置２の認証作業の結果を判定する。認証作業の結果を示す認証ステータスが「Ｆａｌｓｅ」の場合は、認証が成功しなかったことを意味する。認証ステータスが「Ｔｒｕｅ」の場合は、認証が成功したことを意味する。 
【００６７】
認証ステータスが「Ｆａｌｓｅ」の場合は、認証モジュール５は、この認証ステータスをデータ管理プログラム４に渡す（ステップ６）。認証ステータスが「Ｆａｌｓｅ」であり、認証が成功しなかったため制御モードは有効のままである。よって、記録装置への書き込みができない（ステップ６→１３）。認証作業の結果、認証ステータスが「Ｔｒｕｅ」の場合は、認証モジュール５は、この認証ステータスをデータ管理プログラム４に渡す。認証ステータスが「Ｔｒｕｅ」であり、認証が成功したためファイルの持ち出しが可能である。このとき、データ管理プログラム４は制御モードを無効にする（ステップ７）。 
【００６８】
データ管理プログラム４は、前回の認証作業からどのぐらい時間が経過したかを確認する（ステップ８）。ユーザが認証用メモリ装置２を接続してからの初回認証のときは、データ管理プログラム４は、この経過時間の確認は行わない。この経過時間ｔが所定の設定時間Ｎより経過した場合は、データ管理プログラム４は制御モードを有効にする（ステップ８→１２）。経過時間ｔが所定の設定時間Ｎより経過していない場合は、制御モードは無効のままで、ファイルやデータ等の書き込みが行われる（ステップ９）。そして、書き込みが終了したら他の作業が行われても良い（ステップ１０）。 
【００６９】
認証用メモリ装置２が切断されていない場合は、制御モードは無効のままで、ファイルの持ち出しが連続して行われても良い（ステップ１１→ステップ８）。認証用メモリ装置２が電子計算機１から切断されると、データ管理プログラム４が直ちに制御モードを有効にする（ステップ１２）。よって、再びユーザデータやファイルを記録装置で記録媒体に書き込みすることができなくなる（ステップ１３）。このように、ユーザはデータを持ち出したいときにだけに、認証用メモリ装置２を電子計算機１に接続して、データの持ち出しを行うことができる。この認証用メモリ装置２を使用することによって、ユーザが電子計算機から離れたりするときや、留守の間等に成りすましたり、他人の使用等によってデータが外部へ流出することがなくなる。 
【００７０】
図４には、データ管理プログラム４の動作の概要を図示している。データ管理プログラム４は、認証用メモリ装置２が正当なユーザのものであるか否かを確認するために認証用メモリ装置２との間で認証を行っている。この認証は常時又は一定の時間間隔であっても良い。このとき、認証は、２段階で行われる。第１段階は、認証用メモリ装置２はデータ管理プログラム４とセットで使われるメモリ装置であるか否かを確認するための認証である。認証用メモリ装置２はデータ管理プログラム４とセットで使われるメモリ装置である場合は、認証用メモリ装置２を利用しているユーザが正当なユーザであるか否かを確認するライセンス認証を行う。以下にこの２段階認証の概要を説明する。 
【００７１】
データ管理プログラム４は、認証用メモリ装置２との認証を行う認証モジュール５を含む構成になっている。データ管理プログラム４は、認証要求を認証モジュール５に送信する（ステップ２１）。認証要求は、認証用メモリ装置２を電子計算機１のＵＳＢポートに挿入したとき発生する。また、認証要求はアプリケーションプログラムで認証を要求したときも発生する。認証要求は、アプリケーションプログラムから記録装置にデータやファイルの書き込みをしようとするときに発生しても良い。 
【００７２】
認証モジュール５は、認証要求の受信をして、認証を行う。認証モジュール５は、認証要求を受信して、認証用アプリケーションプログラム１４（図２を参照）を呼び出して起動させる。認証用アプリケーションプログラム１４は、認証モジュール５から受信したデータと、認証用メモリ装置２から受け取った第２認証用データを用いて暗号データを作成し、認証モジュール５に渡す。 
【００７３】
認証モジュール５は、認証用アプリケーションプログラム１４から受け取った暗号データと第１認証用データとを用いて認証を判断し、第１認証ステータスをデータ管理プログラム４に送り返す（ステップ２２）。認証用メモリ装置２が電子計算機１に接続されていないときに、認証モジュール５は、認証ステータス「Ｆａｌｓｅ」をデータ管理プログラム４に送信する（ステップ２２→２３）。また、認証用に利用する認証用メモリ装置２ではないときにも、認証モジュール５は、第１認証ステータスの「Ｆａｌｓｅ」をデータ管理プログラム４に送信する（ステップ２２→２３）。 
【００７４】
第１認証ステータスが「Ｔｒｕｅ」の場合は、認証モジュール５は続けてライセンス認証を行う（ステップ２４）。認証モジュール５は、認証要求を、認証用アプリケーションプログラム１４に渡す。認証用アプリケーションプログラム１４は、認証モジュール５から受信したデータと、認証用メモリ装置２から受け取った第２認証用データを用いて暗号データを作成し、認証モジュール５に渡す。 
【００７５】
認証モジュール５は、認証用アプリケーションプログラム１４から受け取った暗号データと第１認証用データと用いて認証を判断し、第２認証ステータスをデータ管理プログラム４に送り返す（ステップ２５）。ライセンス認証が成功しない場合は、第２認証ステータスの「Ｆａｌｓｅ」が送信される（ステップ２５→２９）。このとき、制御モードが有効である。認証が成功すると、第２認証ステータスの「Ｔｒｕｅ」が送信される（ステップ２５→２６）。データ管理プログラム４は、制御モードを無効にし、ファイルやデータの書き出しが可能になる（ステップ２６）。ユーザは、記録媒体へデータやファイルの書き込みを行う（ステップ２７、２８）。そして、次の処理に移る（ステップ３０）。 
【００７６】
図５は、認証用アプリケーションプログラム１４の動作フローの概要を図示している。認証用アプリケーションプログラム１４、認証モジュール５から呼び出されて起動する（ステップ４０、４１）。認証用アプリケーションプログラム１４は、認証モジュール５から認証要求があると、認証モジュール５からの認証要求と平文データを受信する（ステップ４２、４３）。 
【００７７】
認証用アプリケーションプログラム１４は、認証用メモリ装置２に格納されている第２認証用データ７を、認証用ＵＳＢデバイスドライバ１３を介して、受信する（ステップ４４）。認証用アプリケーションプログラム１４は、第２認証用データ７を用いて平文データを暗号化処理し、暗号化データを作成する（ステップ４５）。暗号化データを認証モジュール５へ送信する（ステップ４６）。 
【００７８】
図６には、認証モジュール５の動作の概要を示すフローチャートである。第１認証用データ６は２つの第１公開鍵と第２公開鍵を用いて認証を行っている。第２認証用データ７は、第１公開鍵と第２公開鍵に対応する第１秘密鍵、第２秘密鍵からなる。認証モジュール５は、データ管理プログラム４から認証要求を受信する（ステップ６０）。データ管理プログラム４から第１公開鍵と第２公開鍵を受け取る（ステップ６１）。 
【００７９】
認証モジュール５は、第１認証用平文データをランダムに作成する（ステップ６２）。認証モジュール５は、作成された第１認証用平文データを認証用アプリケーションプログラム１４に送信する（ステップ６３）。認証用アプリケーションプログラム１４は、第１認証用平文データを受信し、認証用メモリ装置２から第１秘密鍵を用いて暗号化処理し、第１暗号化データを作成する（ステップ６４）。
【００８０】
認証用アプリケーションプログラム１４は、第１暗号化データを認証モジュール５に渡す。認証モジュール５は、第１公開鍵を用いて第１暗号化データを復号化し、第１認証用平文データと比較し、認証処理を行う（ステップ６５、６６）。この認証結果が不一致の場合、認証ステータス「Ｆａｌｓｅ」をデータ管理プログラム４に送信する（ステップ６７、７５）。 
【００８１】
この認証結果が一致すると、認証モジュール５は、第２認証用平文データをランダムに作成する（ステップ６８）。認証モジュール５は、作成された第２認証用平文データを認証用アプリケーションプログラム１４に送信する（ステップ６９）。認証用アプリケーションプログラム１４は、第２認証用平文データを受信し、認証用メモリ装置２から第２秘密鍵を用いて暗号化処理し、第２暗号化データを作成する（ステップ７０）。 
【００８２】
認証用アプリケーションプログラム１４は、第２暗号化データを認証モジュール５に渡す。認証モジュール５は、第２公開鍵を用いて第２暗号化データを復号化し、第２認証用平文データと比較し、認証処理を行う（ステップ７１、７２）。この認証結果が不一致の場合、認証ステータス「Ｆａｌｓｅ」をデータ管理プログラム４に送信して認証処理を終了させる（ステップ７３、７５）。 
【００８３】
この認証結果が一致すると、認証モジュール５は、認証ステータス「Ｔｒｕｅ」をデータ管理プログラム４に送信して認証処理を終了させる（ステップ７３、７４）。認証モジュール５は、データ管理プログラム４に認証ステータスを送信して認証処理を終了させる（ステップ７６）。図７は、秘密鍵、公開鍵を生成し管理するための認証鍵管理プログラム１５、顧客データベース１６、鍵管理データベース１７の概要を図示している。認証鍵管理プログラム１５、顧客データベース１６、鍵管理データベース１７は、上述のデータ管理システムの提供者が使用するためのものである。 
【００８４】
認証鍵管理プログラム１５、顧客データベース１６、鍵管理データベース１７は、データ管理システムの提供者のサーバコンピュータ等の電子計算機に格納されて、動作するものである。鍵管理データベース１７は、認証用の第１認証用データ、第２認証用データを格納したデータベースである。顧客データベース１６はユーザに関するデータベースで、配布されたデータ管理プログラム４のユーザに関する情報が格納されている。 
【００８５】
顧客データベース１６には、ユーザの氏名、ユーザの識別番号（ＩＤ）、ユーザに配布された秘密鍵と公開鍵のペア情報である認証用データに関する認証用情報、ユーザに配布された認証用メモリ装置２に関する情報等が登録される。また、認証用メモリ装置２の紛失、故障、追加等のときに再発行した認証用データが顧客データベース１６と鍵管理データベース１７に更新されて登録される。顧客データベース１６、鍵管理データベース１７には、ユーザの個人情報から機密情報に関連する情報までも含まれるため、セキュリティ整備された環境で使用することが強く望まれる。 
【００８６】
認証鍵管理プログラム１５が顧客データベース１６、鍵管理データベース１７を用いて、秘密鍵、公開鍵のペアを作成する。作成された秘密鍵を認証用メモリ装置２に格納する。この秘密鍵とペアの公開鍵は認証用データとしてファイルに出力し、フレキシブルディスク１８に格納する。フレキシブルディスク１８、認証用メモリ装置２は、データ管理プログラム４を配布するときに一緒に配布される。 
【００８７】
図８は、公開鍵と秘密鍵の例を図示している。図８（ａ）は、第１認証用データ６の公開鍵の例を図示している。公開鍵は、鍵のシリアルコードを示す鍵シリアルコード２０、システムのために予備的に設けた予備コード２１、ハッシュアルゴリズムの情報やＲＳＡ鍵認証に必要な情報をしめすＲＳＡ鍵情報２２の部分から構成されている。 
【００８８】
図８（ｂ）は、第２認証用データ６の秘密鍵の例を図示している。秘密鍵は、鍵のシリアルコードを示す鍵シリアルコード２３、鍵情報のバイト長を示す鍵情報バイト長２４、ハッシュアルゴリズムの情報やＲＳＡ鍵認証に必要な情報を示すＲＳＡ鍵情報２５の部分から構成されている。 
【００８９】
〔実施の形態２〕 
図９は、本発明の実施の形態２のデータ管理システムの概要を図示したものである。本発明の実施の形態２のデータ管理システムは、本発明の実施の形態１のデータ管理システムと基本的に同様な構成と機能を有するものである。以下は、本発明の実施の形態１のデータ管理システムと異なる構成と機能だけを説明する。本発明の実施の形態１のデータ管理システムの構成と同一のものは、同じ番号を用いてあらわし、その説明は省略する。本発明の実施の形態２のデータ管理システムは、認証にはフレキシブルディスク１０３を用いている。 
【００９０】
前述したデータ管理プログラム４は、電子計算機１０２にインストールされている。データ管理プログラム４は動作し、制御モードは有効になっている。このように制御モードが有効になっているとき、電子計算機１から各ドライブへデータの書き込みを行うことができない。電子計算機１０２は、ネットワーク１０５を介して認証用サーバ１００と接続されている。認証用サーバ１００は、電子計算機１０２の認証を管理するためのデータベース１０１が格納されている。 
【００９１】
ユーザはデータを記録媒体に書き込みするとき、認証用のフレキシブルディスク１０３を電子計算機１のフレキシブルディスクドライバに挿入して行う。電子計算機１０２は、ネットワーク１０５を介して認証用サーバ１００に接続されて、データの送受信が可能な状況にある。認証用サーバ１００には、認証ＩＤを管理するデータベース１０１が格納されている。データベース１０１には、認証ＩＤと、データ管理プログラム４やユーザに関する情報が格納されている。データベース１０１には、認証ＩＤがデータ管理プログラム４、又はユーザに関連付けられて登録されている。 
【００９２】
図１０は、データ管理プログラム４がフレキシブルディスク１０３を用いた記録制御を示すフローチャートである。ユーザは、データを書き込みしようとする（ステップ１００）。フレキシブルディスクをフレキシブルディスクドライブに挿入し（ステップ１０１）、電子計算機１０２のキーボードの特定のキーの組み合わせを押す（ステップ１０２）。例えば、この特定のキーの組み合わせは、Ｃｔｒ＋Ａｌｔ＋ｋ等のように特定のキーの組み合わせである。
【００９３】
データ管理プログラム４は、認証を開始する（ステップ１０３）。フレキシブルディスク１０３には、認証ＩＤが入っている認証ファイル１０４が格納されている。データ管理プログラム４は、認証ファイル１０４を読み込む。そして、データ管理プログラム４は、ネットワーク１０５を介して認証用サーバ１００に接続する。データ管理プログラム４は、認証用サーバ１００に認証ＩＤを送信して確認を行う（ステップ１０４）。 
【００９４】
認証用サーバ１００で認証ＩＤの確認が済むと、新たな認証ＩＤがサーバ１００から送られてきて、データ管理プログラム４はフレキシブルディスク１０３の認証ファイル１０４を新しい認証ＩＤで書き換えする（ステップ１０５）。よって、認証が終了する（ステップ１０６）、ユーザはデータの書き込みが可能になる（ステップ１０７）。データ管理プログラム４は、認証してから所定の時間の間だけデータの書き込みができるようにする等の設定を行うことができる。 
【００９５】
データベース１０１には、認証ＩＤがデータ管理プログラム４、又はユーザに関連付けられて登録されているため、フレキシブルディスク１０３をコピーされても、同一のデータ管理プログラム４でしか使用できない。 
【００９６】
〔実施の形態３〕 
本発明の実施の形態３の概要を説明する。本発明の実施の形態３のデータ管理システムは、本発明の実施の形態２のデータ管理システムと基本的に同様な構成と機能を有するものである。以下は、本発明の実施の形態２のデータ管理システムと異なる構成と機能だけを説明する。図１１には、本発明の実施の形態３の概要を図示している。図１１には、複数のグループに分かれて業務を行っている企業の概要を図示している。 
【００９７】
企業が２つのグループＡ、Ｂからなり、各グループは複数台の電子計算機から構成されている。グループは、別々の所在地にある営業所又は代理店と考えても良い。各グループＡ、Ｂは、一つの認証用メモリ装置２０１、２０２を備えている。グループＡは認証用メモリ装置２０１を備えている。認証用メモリ装置２０１には、認証用の秘密鍵Ａが格納されており、この秘密鍵Ａの公開鍵はグループＡの全電子計算機ＰＣ−Ａ１〜Ａ４に格納されている。 
【００９８】
このため、認証用メモリ装置２０１によって、グループＡの全電子計算機ＰＣ−Ａ１〜Ａ４の記録装置の制御が可能である。グループＢは認証用メモリ装置２０２を備えており、認証用メモリ装置２０２によってグループＢの全電子計算機ＰＣ−Ｂ１〜Ｂ４の記録装置の制御が可能である。認証用メモリ装置２０２によってグループＡの電子計算機ＰＣ−Ａ１〜Ａ４の記録装置の制御ができない。しかし、Ａ、Ｂ両方のグループの全ての電子計算機ＰＣ−Ａ１〜Ａ４、ＰＣ−Ｂ１〜Ｂ４に接続されている記録装置の制御をしたいことがある。 
【００９９】
この場合は、認証用メモリ装置２００を備え、認証用メモリ装置２００にはグループＡ、Ｂの両方の秘密鍵Ａ、Ｂを格納しておく。よって、認証用メモリ装置２００によって、企業全体の全電子計算機ＰＣ−Ａ１〜Ａ４、ＰＣ−Ｂ１〜Ｂ４の制御が可能になる。 
【０１００】
〔その他の実施の形態〕 
本発明のその他の実施の形態の概要を説明する。認証用アプリケーションプログラム１４（図２を参照）は、認証用メモリ装置２に格納されていることが望ましい。認証用アプリケーションプログラム１４は、認証用メモリ装置２が電子計算機１に接続されると、自動的に起動する。認証用アプリケーションプログラム１４は、本発明の実施の形態１から３と同様の動作をする。 
【０１０１】
上述の本発明の実施の形態１においては、図１と図２に図示したように、電子計算機１に格納されている第１認証用データ６は、公開鍵からなっている。認証用メモリ装置２に格納されている第２認証用データ７は秘密鍵からなっている。電子計算機１に格納されている第１認証用データ６は、秘密鍵から、認証用メモリ装置２に格納されている第２認証用データ７は公開鍵からなることもできる。 
【０１０２】
認証モジュール５、認証用アプリケーションプログラム１４等の認証に係わるプログラム等は、電子計算機１から秘密鍵を、認証用メモリ装置２から公開鍵を受け取って認証を行う。図７の認証鍵管理プログラム１５は、公開鍵と秘密鍵のペアを生成して、認証用メモリ装置２に公開鍵を、認証用データとしてファイルに出力し、フレキシブルディスク１８に秘密鍵を格納する。フレキシブルディスク１８、認証用メモリ装置２は、データ管理プログラム４を配布するときに一緒に配布される。 
【産業上の利用可能性】
【０１０３】
本発明は、電子計算機に格納されているユーザのファイル、データやプログラム等を記録媒体に記録して、外部へ持ち出すことを制限するとき利用することが可能であり、電子データのセキュリティが必要な業界で利用すると良い。特に、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、販売店で利用されることが望ましい。音楽配信、映像配信、電子出版などの電子コンテンツ配信サービスを行うとき、被受信者を特定し、被受信者のメモリに電子コンテンツを書き込んで、記録媒体に記録して複製することを制限するときに利用されても良い。 
【図面の簡単な説明】
【０１０４】
【図１】図１は、本発明の実施の形態１であり、システム構成の概要を図示している図である。
【図２】図２は、データ管理プログラム４と、認証用メモリ装置２を用いた認証処理のシステム構成の概要を図示している図である。
【図３】図３は、データ管理システムの動作を示すフローチャートである。
【図４】図４は、データ管理プログラム４の動作の概要を示すフローチャートである。
【図５】図５は、認証用アプリケーションプログラム１４の動作の概要を示すフローチャートである。
【図６】図６は、認証モジュール５の動作の概要を示すフローチャートである。
【図７】図７は、認証鍵管理プログラム、顧客データベース、鍵管理データベースの概要を図示している図である。
【図８】図８は、公開鍵と秘密鍵の例を図示している図である。
【図９】図９は、フレキシブルディスクを用いて認証を行う実施の形態２の概要を図示している図である。
【図１０】図１０は、実施の形態２の記録制御を示すフローチャートである。
【図１１】図１１は、複数のグループから構成される企業で記録制御を行う実施の形態３の概要を図示している図である。
【符号の説明】
【０１０５】
１、１０２…電子計算機 
２、２００，２０１，２０２…認証用メモリ装置 
３…内蔵ハードディスク 
４…データ管理プログラム 
５…認証モジュール 
６…第１認証用データ 
７…第２認証用データ 
８…デバイスドライバ 
９…記録装置
１０…ＣＤ 
１１、１８…フレキシブルディスク 
１２…ＵＳＢメモリ 
１３…認証用ＵＳＢデバイスドライバ 
１４…認証用アプリケーションプログラム 
１５…認証鍵管理プログラム 
１６…顧客データベース 
１７…鍵管理データベース 
１００…認証用サーバ 
１０１…データベース 
１０３…フレキシブルディスク 
１０４…認証ファイル 
１０５…ネットワーク 
【図１】
0004610557.tif 000002
【図２】
0004610557.tif 000003
【図３】
0004610557.tif 000004
【図４】
0004610557.tif 000005
【図５】
0004610557.tif 000006
【図６】
0004610557.tif 000007
【図７】
0004610557.tif 000008
【図８】
0004610557.tif 000009
【図９】
0004610557.tif 000010
【図１０】
0004610557.tif 000011
【図１１】
0004610557.tif 000012