JP4681053B2 - 電子計算機のデータ管理方法、プログラム、及び記録媒体 - Google Patents

電子計算機のデータ管理方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP4681053B2
JP4681053B2 JP2008522611A JP2008522611A JP4681053B2 JP 4681053 B2 JP4681053 B2 JP 4681053B2 JP 2008522611 A JP2008522611 A JP 2008522611A JP 2008522611 A JP2008522611 A JP 2008522611A JP 4681053 B2 JP4681053 B2 JP 4681053B2
Authority
JP
Japan
Prior art keywords
program
data
authentication
electronic computer
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008522611A
Other languages
English (en)
Other versions
JPWO2008001823A1 (ja
Inventor
幸市郎 小路
隆 野▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Science Park Corp
Original Assignee
Science Park Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Science Park Corp filed Critical Science Park Corp
Publication of JPWO2008001823A1 publication Critical patent/JPWO2008001823A1/ja
Application granted granted Critical
Publication of JP4681053B2 publication Critical patent/JP4681053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、電子データの管理を行うための電子データ管理システムに関する。特に、電子データが格納されているファイルへのアクセスを追跡して、監視するデータトレーサビリティのための電子計算機のデータ管理方法、プログラム、及び記録媒体に関する。
個人情報、ビジネスのノウハウは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが大事である。例えば、保険会社は、災害時に復旧マニュアルを担当者に配布している。この復旧マニュアルはノウハウの集積であり、非常に高価な情報価値がある。オフラインで配布された復旧マニュアルを外部への流出やコピーをさせたくないことがある。
また、メーカは、製品の仕様書や設計書を関係者に配布している。機密情報であるこの仕様書や設計書を関係者以外には参照されないようにし、外部へ流出するのを避けたいことがある。出版物等の校正時には、原本の電子データを変更するが、原本や校正された電子データが外部へ流出することを避けたい。写真等の画像データも、同様に、原本や編集された電子データが外部へ流出することを避けたい。
このような要望に対応するためには、従来から電子データの形式で保存されているファイルの管理を行う管理システムが様々な方式で提案されている。例えば、特許文献1には、ネットワークシステムを介して送受信される印刷データの機密性を総合的に図ると共に、印刷される文書データのトレーサビリティの向上を図る文書総合管理システムを開示している。
この文書総合管理システムは、アクセス権管理者の認証と、アクセス権の設定と、文書をアクセスする利用者の認証を行うと共に、文書の管理情報を保持する文書管理サーバと、利用者が用いるPC等の情報処理装置であって、利用者の認証と利用者が文書の印刷を指定する場合には認証を行うと共に、印刷ウォーターマークの生成と、印刷ログの管理を行うプリンタサーバと、印刷物受取者の認証を行うと共にプリンタサーバから送られる文書を印刷するプリンタを備えている。
また、コピーログの管理とコピーウォーターマークの管理を行い、コピー文書の管理をするコピーサーバと、ウォーターマークの抽出及びコピー者の認証を行うと共に、文書をコピーするコピー機を備えている。
特開2004−280227号公報
ユーザは、携帯用の記憶装置又は記録媒体にユーザデータを記録して、クライアントに提供することがよくある。このユーザデータを受け取ったクライアントは、このユーザデータを利用して作業を行い、作業結果と、携帯用の記憶装置又は記録媒体をユーザに返すのが一般的である。
しかしながら、クライアントは、携帯用の記憶装置又は記録媒体に記録されているユーザデータを自由にコピーし、編集することが可能である。ユーザにとっては、携帯用の記憶装置又は記録媒体に記録されているユーザデータを関係者以外へコピーされることを防ぎ、管理することが重要である。
更に、クライアントは、携帯用の記憶装置又は記録媒体に記録されているユーザデータを持ち運び、これを用いて業務を行うことがある。このとき、使用するコンピュータの動作環境によってユーザデータが流出するおそれがある。例えば、ユーザデータがコンピュータウィルスに感染したり、不正なファイル共有ソフトによってインターネット上に流出したりすることがある。これを防ぐためには、コンピュータの動作環境をチェックし、セキュリティ対策が十分に取られているコンピュータ環境でユーザデータを取り扱うことが好ましい。
このような、データの管理については、上記の特許文献1には記載されていない。
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、クライアントに提供されたユーザデータへのアクセスを追跡し、監視するための電子計算機のデータ管理方法、プログラム、及び記録媒体を提供することにある。
本発明の他の目的は、クライアントに提供されたユーザデータを目的以外のことに利用することができないように、ユーザデータと、それを用い又は編集して作成されたファイルを指定された記録装置又はネットワーク記録装置のみに保存することができ、その他の記録装置又は記録媒体への複製と保存を防止するための電子計算機のデータ管理方法、プログラム、及び記録媒体を提供することにある。
本発明の更に他の目的は、クライアントに提供されたユーザデータの閲覧、編集、保存等の操作の履歴を取得し、ユーザデータと一緒に指定された記録装置又はネットワーク記録装置に取得された履歴を保存し、記録装置に保存されているこの履歴の分析を行う。よって、ユーザデータのトレーサビリティを可能にするための電子計算機のデータ管理方法、プログラム、及び記録媒体を提供することにある。
本発明の更に他の目的は、クライアントコンピュータの動作環境をチェックし、ユーザデータを安全なクライアント環境のみで取り扱うための電子計算機のデータ管理方法、プログラム、及び記録媒体を提供することにある。
本発明は、目的を達成するため、次の手段を採る。
本発明は、クライアントがユーザデータを電子計算機(クライアントコンピュータ)上で閲覧、編集、作成する等の作業を行うときの利用履歴を追跡し、監視するための電子計算機のデータ管理方法、プログラム、及び記録媒体を提供するものである。クライアントは、ユーザデータを携帯用の記憶装置又は、ネットワーク上のリモート記憶装置から電子計算機に読み込んで作業を行い、その利用履歴を携帯用の記憶装置又は、ネットワーク上のリモート記憶装置に保存する。
クライアントが電子計算機上にユーザデータを利用するためには、クライアントの認証を行うための認証記憶装置を持参し、電子計算機に接続してクライアントの個人認証を行う。この個人認証は、認証記憶装置に格納されている認証プログラムと認証データを用いて行われる。この個人認証が成功したら、クライアントが電子計算機上にユーザデータを利用可能になる。電子計算機には、データ管理プログラム(管理プログラム)がインストールされて動作し、電子計算機の動作を制御する。
データ管理プログラムは、ドライバウェアプログラムとアプリケーションプラットフォームプログラムを有する。アプリケーションプラットフォームプログラムは、オペレーティングシステムのユーザモードで動作し、オペレーティングシステムのファイルシステムとのユーザインターフェースを提供するためのプログラムである。
ドライバウェアプログラムは、電子計算機を操作しているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作するプログラムである。ドライバウェアプログラムは、電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信に共通のインターフェースを提供する。また、デバイスドライバと電子計算機上で動作するアプリケーションプログラムとの通信に共通のインターフェースを提供する。
ドライバウェアプログラムは、アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、命令の実行結果及び/又はデバイスドライバから受信した受信データを含む第2データを、アプリケーションプログラムに送信するためのアプリケーションプログラムインターフェース部と、デバイスドライバへ、命令及び/又はデータを含む第3データを送信し、デバイスドライバから命令の実行結果及び/又は受信データを含む第4データを受信するためのデバイスドライバ制御部と、 第1データ又は第4データを処理し、第2データ又は第3データを生成して、第1〜4データの制御を行うための制御部とを有する。
データ管理プログラムのインストール時又は、インストール後にプロセス制御リストが作成される。このプロセス制御リストは、電子計算機の内蔵記憶装置に格納される。また、電子計算機のRAM等のメモリ上に格納されることもできる。プロセス制御リストは、アプリケーションプログラム又はアプリケーションプログラムのプロセスを示す第1制御データ、アプリケーションプログラムがアクセスするユーザデータのファイルパスを示す第2制御データ、及びアクセスの許可又は不許可を示す第3制御データからなる。
データ管理プログラムは、プロセス制御リストに従って電子計算機を制御するための制御モードを有する。認証記憶装置は、個人認証及びドライバウェアプログラムの認証を行うための認証プログラム並びに個人認証に利用されるための認証データを格納する記憶装置である。認証記憶装置は、フラッシュメモリ等の携帯可能なメモリであることが望ましい。
認証記憶装置が電子計算機に接続されたとき、認証データを用いて認証プログラムによって個人認証を行い、更に、認証プログラムによってデータ管理プログラムの確認及び認証を行う。そして、認証プログラムからデータ管理プログラムに指示して、データ管理プログラムの制御モードを動作させる。
データ管理プログラムが制御モードで動作したとき、次の第1から第3設定を行う。第1設定は、認証記憶装置以外の記憶装置へのアクセスを全て不許可にする設定である。第2設定は、ユーザデータを格納するための領域である認証記憶装置のユーザ領域を使用可能にする設定である。第3設定は、ユーザデータを格納するための記憶装置で、電子計算機にネットワークによって接続されている第2電子計算機(サーバ)に内蔵又は接続されている記憶装置であるリモート記憶装置を使用可能にする設定である。
データ管理プログラムが第1設定の他に、第2設定又は第3設定をドライバウェアプログラムによって行うことが好ましい。これは、ユーザデータをユーザ領域とリモート記憶装置の両方から読み込み又は及び書き込み等のアクセスをしない限り、第2設定と第3設定のどちらかが設定される。もし、両方から読み込み又は及び書き込み等のアクセスをする場合は、第2設定と第3設定を行う。制御モード中にアプリケーションプログラムが起動したとき、起動されたアプリケーションプログラムに関する第1〜3制御データをデータ管理プログラムによって取得する。
ドライバウェアプログラムは、取得した第1〜3制御データがプロセス制御リストに登録されているか否かを確認する。第1〜第3制御データがプロセス制御リストに登録されている場合は、プロセス制御リストに従ってアプリケーションプログラムからユーザデータへのアクセスをドライバウェアプログラムによって制御する。制御データがプロセス制御リストに登録されていない場合は、アプリケーションプログラムから電子ファイルへのアクセスを不許可にする制御をドライバウェアプログラムによって行う。
(プロセスIDの取得)
アプリケーションプラットフォームプログラムは、プロセスをサスペンドモードで動作させて、プロセスのプロセス名及び/又はプロセスIDからなる第1制御データを取得してアプリケーションプログラムインターフェース部に送信する。
(電子計算機の操作制限)
データ管理プログラムが制御モードで動作するとき、電子計算機が特定の電子計算機との通信のみを許可するように通信ポートの使用を許可する設定を行う。特定の電子計算機は、上述の第2電子計算機であることが好ましい。特定の電子計算機と電子計算機の通信に使用されていないシリアルインターフェース、パラレルインターフェース、IrDA等の通信ポートの使用を不許可すると良い。また、認証記憶装置以外の記憶装置で、電子計算機に内蔵又は接続された記憶装置への書き込みを不許可する設定を行う。
更に、データ管理プログラムは、スクリーンキャプチャ機能を禁止又は制限する設定を行う。クリップボードの使用を禁止又は制限する設定を行う。クリップボードの使用に関して、同一のアプリケーションプログラム内にクリップボードの使用を許可し、別々のアプリケーションプログラム間にクリップボードの使用を禁止する設定を行う。これらの設定は、ドライバウェアプログラムによって行われる。
(電子計算機の操作制限の解除)
認証記憶装置が電子計算機から切断されたとき、データ管理プログラムが制御モードでの動作を停止し、制御モードで動作するときに行った全ての設定を解除する。
(認証プログラムの自動動作)
認証記憶装置は、プログラムを格納するための領域であるプログラム領域を有する。認証プログラムがプログラム領域に格納される。認証記憶装置が電子計算機に接続されたとき、認証プログラムがプログラム領域から自動起動する。
(認証記憶装置のユーザ領域)
認証記憶装置は、初期設定では電子計算機からアクセスすることができない領域で、ユーザデータを格納するためのユーザ領域を有する。データ管理プログラムが制御モードで動作しているとき、認証記憶装置内のユーザ領域を認証プログラムによって電子計算機に認識させ、ユーザデータに電子計算機からアクセスすることを可能にする。
(クライアントコンピュータの動作環境チェック)
プログラム領域には、電子計算機の動作環境をチェックするためのプログラムであるチェックプログラムが格納される。認証記憶装置が電子計算機に接続されたらプログラム領域からチェックプログラムが起動されて、電子計算機の動作環境をチェックする。チェックプログラムは、認証プログラムより先に起動されて、電子計算機上に実行される。
電子計算機の動作環境が所定の条件を満たしている場合にのみ、チェックプログラムが認証記憶装置の使用を許可する。この所定の条件は、次の第1条件及び/又は第2条件である。第1条件は、電子計算機にウィルス対策ソフトウェアがインストールされて動作していることである。第2条件は、電子計算機にファイル共有ソフトウェアが動作していないことである。この所定の条件は、第1条件と第2条件が同時に満たされていることが電子計算機のセキュリティ上好ましい。
(ログ取得部)
ドライバウェアプログラムは、電子計算機の動作の履歴を取得するためのログ取得部を有する。電子計算機の制御の履歴は、ログ取得部によって取得される。取得された履歴は、認証記憶装置の領域である秘密領域に格納される。この秘密領域は、電子計算機からのアクセスが制限されている領域である。電子計算機の制御の履歴は、認証記憶装置のユーザ領域に暗号化されて格納されることができる。電子計算機の制御の履歴は、電子計算機から暗号化されて送信されてリモート記憶装置に格納されることができる。
(履歴の分析)
リモート記憶装置又は認証記憶装置に格納されている履歴を分析することで電子計算機の利用と、ユーザデータの利用を把握する。この把握によって、ユーザデータのトレーサビリティを可能にし、ユーザデータが適切に利用されているか否かを確認できる。よって。ユーザデータの利用を保障し、その利用状況を証明することができる。
(暗号化、復号化)
ドライバウェアプログラムは、ユーザデータを暗号化するための暗号化部、暗号化されたユーザデータを復号化するための復号化部を有する。
本発明によると、次の効果が奏される。
本発明は、ユーザデータを格納した記憶装置をクライアントコンピュータに接続したとき、クライアントコンピュータ上に動作している管理プログラムによって、クライアントコンピュータに内蔵又は接続されている全ての外部記憶装置を書き込み禁止に設定し、また、指定以外のネットワークの使用も禁止するように設定することによって、ユーザデータを複製して目的以外のことに利用することを防止し、ユーザデータを追跡し、適切に管理することが可能になった。
本発明は、ユーザデータを格納した記憶装置をクライアントコンピュータに接続したとき、クライアントコンピュータ上に動作している管理プログラムによって、クライアントコンピュータに内蔵又は接続されている全ての外部記憶装置を書き込み禁止するように設定し、また、指定以外のネットワークの使用も禁止するように設定することによって、ユーザデータ又はユーザデータを利用して作成された電子データの複製を制限することが可能になった。
本発明は、ユーザデータを格納した記憶装置をクライアントコンピュータに接続したとき、クライアントコンピュータ上に動作している管理プログラムによって、ユーザデータと、それを用い又は編集して作成されたファイルを指定された記録装置又は指定のネットワーク記録装置のみに保存するように設定し、その他の記録装置又は記録媒体への複製と保存を防止することが可能になった。
本発明は、クライアントに提供されたユーザデータの閲覧、編集、保存等の全ての操作履歴を取得し、取得された履歴を記録装置又は指定のネットワーク記録装置に保存し、保存されているこの履歴の分析を行うことによってユーザデータのトレーサビリティを可能にした。
本発明は、クライアントコンピュータの動作環境をチェックし、ユーザデータを安全なクライアント環境のみで取り扱うようにし、ユーザデータの流出を防ぐことが可能になった。特に、ユーザデータを取り扱うコンピュータとしては、コンピュータウィルス対策ソフトがインストールされているコンピュータ、ファイル共有ソフトがインストールされていないコンピュータであることを確認できるようになった。よって、コンピュータウィルス、ファイル共有ソフト等のソフトウェアによるユーザデータの流出を防ぐことが可能になった。
以下、本発明の実施の形態を図に基づいて説明する。
(本発明の第1の実施の形態)
図1には、本発明の第1の実施の形態の概要を図示している。サーバ側1は、少なくとも1台のサーバ2から構成され、ユーザデータ3を提供するものである。ユーザデータ3は、サーバ側1が提供している電子データである。クライアント側10は、クライアント11が操作するためのクライアントコンピュータ12から構成される。クライアント11は、サーバ側1からユーザデータ3の提供を受けて、クライアントコンピュータ12上に作業を行う。
本発明は、サーバ側1から提供されたユーザデータ3を用いてクライアントコンピュータ12上で作業を行うとき、このユーザデータ3の利用状況を監視して追跡するためのシステムを提供するものである。サーバ側1は、管理プログラム4とUSBメモリ8をクライアント側10に提供する。管理プログラム4は、ユーザデータ3をクライアントコンピュータ12上に利用する環境を提供するためのプログラムである。USBメモリ8は、ユーザデータ3を格納して持ち運びするためのメモリである。
クライアントコンピュータ12上にユーザデータ3を用いて編集して作成されたファイルは、クライアントコンピュータ12からUSBメモリ8に保存される。更に、ユーザデータ3と、これを用いて編集して作成されたファイルとを閲覧、編集、保存、複製する作業等の履歴が保存される。ユーザデータ3と、これを用いて編集して作成されたファイルとを閲覧、編集、保存、複製する全ての作業の履歴が保存されることが好ましい。クライアント側10からサーバ側1にUSBメモリ8が返却されたとき、USBメモリ8に保存された履歴をサーバ2において分析することで、ユーザデータ3の利用を把握することができる。
ユーザデータ3は、USBメモリ8のユーザ領域106(図4を参照)に格納される。このユーザ領域106は、USBメモリ8の初期設定でアクセスすることができない。つまり、クライアントコンピュータ12等の電子計算機にUSBメモリ8を接続するだけでは、ユーザ領域106にすぐにアクセスすることができない。USBメモリ8のプログラム領域107に格納されている認証プログラム113によって、ユーザ領域106をソフトウェア的にスイッチし、外部からアクセス可能にする。この詳細については、図4の説明、及び図6、7のフローチャートの説明で後述する。
ユーザデータ3は、秘密性、機密性が要求されるデータで、それを使う関係者以外の外部へ流出することが望ましくないデータである。ユーザデータ3は、ノウハウが蓄積された次のようなデータの内1以上のデータであることができる。例えば、災害時に使用するための保険会社の復旧マニュアルである。また、メーカが利用するための製品の仕様書や設計書である。更に、出版物や写真等の画像データの校正時に使うための原本の電子データである。また更に、個人情報や顧客情報等が格納されたデータファイルである。個人情報は、氏名、住所、連絡先等の情報を意味する。顧客情報は、顧客の氏名、名称、住所、連絡先、取引の内容等の情報である。以後、このようなデータは、単にユーザデータ3と記載する。
サーバ側1は、ユーザデータ3を記録媒体又は記憶装置に記録してクライアント11に提供する。本発明の第1の実施の形態においては、記録媒体又は記憶装置の一例としてUSBメモリ8を用いており、USBメモリ8と同様な機能を有するものであればどのような種類の記録媒体又は記憶装置であっても良い。記録媒体は、例えばフラッシュメモリ、フレキシブルディスク、コンパクトディスク、MO(Magneto-Optical Disk)、DVD(Digital Versatile Disks)等の記録媒体である。記憶装置としては、USB(Universal Serial Bus)メモリ、メモリカード、ハードディスク等の電子データを記憶して持ち運びできる装置であることが好ましい。
本発明の第1の実施の形態では、ユーザデータ3は、USBメモリ8に格納されてサーバ側1からクライアント側10に提供される。管理プログラム4は、記録媒体9に格納されてサーバ側1とクライアント側10に提供される。ユーザデータ3と管理プログラム4は、同一の記録媒体又は記憶装置に記録されてサーバ側1とクライアント側10に提供されることも可能である。また、ユーザデータ3と管理プログラム4はネットワークを介してサーバ側1とクライアント側10に提供されることも可能である。
クライアントコンピュータ12の動作環境をチェックするためのチェックプログラム118をUSBメモリ8に格納してクライアント側10に提供する。USBメモリ8がクライアントコンピュータ12に接続されると、チェックプログラム118が起動されてクライアントコンピュータ12の動作環境をチェックする。チェックプログラム118のチェック機能は、USBメモリ8のユーザ領域106(図4を参照)へアクセスする前に行われて、クライアントコンピュータ12が安全な動作環境であることを確認するためのものである。
チェックプログラム118によってクライアントコンピュータ12の動作環境をチェックしてから、認証プログラム113によってクライアント11の個人認証が行われる。このようにチェックプログラム118を設けてクライアントコンピュータ12の動作環境をチェックすることで、クライアント11がUSBメモリ8を社内で使用する場合は、社内のコンピュータ環境が適正か否かをユーザレベルでチェックすることができる。従って、ユーザデータ3等のデータの流出を防止することに繋がる。
更に、クライアント11がUSBメモリ8を社外へ持ち運びして使用する場合は、クライアント11が使用するコンピュータが適正な環境であるか否かをUSBメモリ8を使用するごとにチェックし、ユーザデータ3等のデータの流出、不正操作を防ぐことができる。特に、ファイル共有ソフトがユーザのコンピュータにインストールされている場合は、USBメモリ8の利用を拒否する。更に、ウィルス対策ソフトがクライアントコンピュータ12にインストールされていない場合も、USBメモリ8の利用を拒否することもできる。
しかし、これは、ユーザデータ3と管理プログラム4の提供方法、使用される記憶装置、記録媒体を制限するものではなく、同様の機能を有するものであれはどのような形態のものでも良い。本発明の第1の実施の形態で記憶装置として使用しているUSBメモリ8は、フラッシュメモリを内蔵した携帯可能な記憶装置である。USBメモリ8は、USB規格に準拠する記憶装置である。
USB規格は、電子計算機と周辺機器との間にデータ伝送を行うための規格であり、「USB Mass Storage Class」という、外部記憶装置をリムーバブルドライブとして認識するための仕様が入っている。USBメモリ8は、このUSB Mass Storage Classに準拠し、オペレーティングシステム側が持っているMass Storage Class用のドライバを使って、USBメモリ8と電子計算機との間に電子データの送受信を行う。USBメモリ8は電子計算機のUSBポートに差し込みされると、オペレーティングシステムにリムーバブルドライブとして認識される。
サーバ側1は、サーバ2からUSBメモリ8にユーザデータ3を書き込む。サーバ2は、中央処理ユニット、入出力装置、ROM、RAM等の内蔵メモリ、ハードディスク等を備えた電子計算機である。クライアントコンピュータ12は、図示していないが、中央処理ユニット、入出力装置、ROM、RAM等の内蔵メモリを備えた電子計算機である。
図2には、クライアントコンピュータ12上に動作するソフトウェアの概要を図示している。本発明の第1の実施の形態においては、オペレーティングシステム21は、マイクロソフト社のWindowsXP(登録商標)である。しかし、これは、オペレーティングシステム21を制限するものではなく、同様な機能を実現できれば、オペレーティングシステムの種類は問わない。アプリケーションプログラム20がオペレーティングシステム21の上に動作する。
図1に図示した管理プログラム4は、図2に図示したアプリケーションプラットフォームプログラム5と、ドライバウェア50から構成される。アプリケーションプラットフォームプログラム5は、オペレーティングシステム21のユーザモード14で動作するアプリケーションソフトウェアである。ドライバウェア50は、オペレーティングシステム21のカーネルモード15で動作するプログラムである。アプリケーションプラットフォームプログラム5とドライバウェア50の動作と機能については後述する。
クライアントコンピュータ12は、図示していないが、キーボードやマウス等の入力装置、ディスプレイ等の出力装置、ハードディスク等の外部記憶装置、メインメモリ等のメモリを備えている。クライアントコンピュータ12は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することが可能である。これらの周辺機器は、外部デバイス6として抽象的に図示している。また、ハードディスク、マウス、キーボード等のクライアントコンピュータ12に内蔵されているデバイスを内蔵デバイス26として抽象的に図示している。外部デバイス6は、コネクタ22に接続される。
クライアントコンピュータ12は、オペレーティングシステム21によって制御されて動作する。クライアントコンピュータ12上で動作するアプリケーションプログラム20は、オペレーティングシステム21が提供する機能を利用して、入出力装置からの入出力を行い、必要な処理をする。
アプリケーションプログラム20は、オペレーティングシステム21のカーネルモード15又はユーザモード14に動作する実行可能なファイル又はソフトウェアである。例えば、アプリケーションプログラム20は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するソフトウェアであると良い。更には、アプリケーションプログラム20は、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアであることもできる。
〔オペレーティングシステム21〕
オペレーティングシステム21は、キーボードからの入力、マウス操作の入力や画面出力等のような入出力装置からの入出力機能、外部記憶装置やメモリの管理等の基本的な機能を提供し、クライアントコンピュータ21全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム21は、サブシステム13、エグゼキュティブ16、カーネル17、第1デバイスドライバ36、第2デバイスドライバ35、ハードウェア抽象化層(HAL)18から構成される。
サブシステム13は、オペレーティングシステム21のユーザモード14で提供されるサービスである。エグゼキュティブ16は、メモリの管理、プロセスとスレッドの管理、セキュリティ、入出力機能(I/O)、ネットワーク機能、及びプロセス間通信等のオペレーティングシステム21の基本的なサービスを提供するものである。カーネル17は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、カーネル17は、エグゼキュティブ16の内部で使用するルーチンセットと基本オブジェクトを提供する。
デバイスドライバは、図2においては、第1デバイスドライバ36、第2デバイスドライバ35として図示されている。デバイスドライバは、通常は、クライアントコンピュータ12に接続されたハードウェアごとに作られ、ハードウェア抽象化層18を介して、そのハードウェアを直接制御するものである。デバイスドライバは、アプリケーションプログラム20やオペレーティングシステム21からの入出力機能の要求(I/O呼び出し要求)を特定のハードウェアデバイスに対する入出力機能の要求(I/O要求)に変換するサービスを提供する。また、デバイスドライバは、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
ハードウェア抽象化層18は、カーネル17、デバイスドライバ、及びエグゼキュティブ16をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。ハードウェア抽象化層18は、クライアントコンピュータ12の内蔵デバイス26や、クライアントコンピュータ12に接続されている外部デバイス6等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム21の各サービスに対して抽象化したサービスを提供する。オペレーティングシステム21を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。
〔ドライバウェア50〕
ドライバウェア50は、デバイスドライバ間のデータの送受信をカーネルモードで実現するためのソフトウェアである。ドライバウェア50は、アプリケーションプログラム20から第1デバイスドライバ36、第2デバイスドライバ35へアクセスするとき、また、第1デバイスドライバ36、第2デバイスドライバ35からアプリケーションプログラム20へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、オペレーティングシステム21のカーネルモード15で動作する。
ドライバウェア50は、第1デバイスドライバ36と第2デバイスドライバ35の間だけではなく、オペレーティングシステム21と複数のデバイスドライバとのデータの送受信を提供する機能を有する。ドライバウェア50の例としては、電子計算機のインターフェースドライバプログラムとしてWO02/091195号公報等に開示されている周知の技術である。
ドライバウェア50は、アプリケーションプログラム20からの命令やデータ等を受信し、アプリケーションプログラム20へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。ドライバウェア50は、ドライバウェア50の全体の動作を制御するための制御部52を有する。また、ドライバウェア50の動作の履歴を取得するためのログ取得部53も有する。更に、ドライバウェア50は、第1デバイスドライバ36、第2デバイスドライバ35を制御するための第1デバイスドライバ制御部46、第2デバイスドライバ制御部45を有する。
ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。制御部52は、第1デバイスドライバ制御部46、第2デバイスドライバ制御部45、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア50の各部を制御し、監視するためのもので、ドライバウェア50の中核部である。
〔アプリケーションプラットフォームプログラム5〕
アプリケーションプラットフォームプログラム5は、アプリケーションプログラム20と、オペレーティングシステム21との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム5は、オペレーティングシステム21のユーザモード14で動作する。アプリケーションプラットフォームプログラム5は、オペレーティングシステム21のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。
アプリケーションプラットフォームプログラム5は、アプリケーションプログラム20の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム5は、Windows(登録商標)のエクスプローラと互換性があるアプリケーションプログラムであることが特に好ましい。
図3には、本発明の第1の実施の形態の概要を図示している。図3には、図2に抽象的に図示したデバイスドライバ、外部デバイス6、内蔵デバイス26の具体的な例を図示している。また、クライアントコンピュータ12は、ハードディスク25等の外部記憶装置を備える。クライアントコンピュータ12は、周辺機器と接続するためのコネクタ22を有する。コネクタ22は、RS―232C等のシリアルポート、IEEE1284等のパラレルポート、IrDA、IEEE1394やIEEE802.3等のコネクタであることが好ましい。
クライアントコンピュータ12は、ネットワーク7に接続するためのネットワークカード23を備えている。更に、USBメモリ8等のUSB規格準拠の機器を接続するためのUSBポート24を備えている。これらのコネクタ22、ネットワークカード23を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバ32、ネットワークドライバ33である。
本発明の第1の実施の形態においては、デバイスドライバ32〜34は、オペレーティングシステム21に付属するものと記述する。インターフェースドライバ32は、コネクタ22を制御するためのデバイスドライバである。ネットワークドライバ33は、ネットワークカード23を制御するためのデバイスドライバである。
ファイルシステムドライバ34は、ハードディスク25等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスク25に保存されているファイルやフォルダへのアクセスを提供するものである。ファイルシステムドライバ34は、クライアントコンピュータ12に接続されたUSB規格準拠の記憶装置へのアクセスも提供する。このアクセスは、オペレーティングシステム21のMass Storage Class用のドライバ(図示せず)を介して行われる。
アプリケーションプログラム20は、クライアントコンピュータ12にインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム20は、オペレーティングシステム21のユーザモード14上で動作する。アプリケーションプログラム20は、ハードディスク25にアクセスして、必要なファイルを読み込んだり、書き込んだりする。また、アプリケーションプログラム20は、Windowsのカーネルモード15で動作する一部のプログラムも意味する。
ドライバウェア50は、アプリケーションプログラム20からデバイスドライバ32〜34へアクセスするとき、また、デバイスドライバ32〜34からアプリケーションプログラム20へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、アプリケーションプログラムインターフェース部51、制御部52、ログ取得部53等を有する。
ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。また、ドライバウェア50は、インターフェースドライバ32を制御するためのインターフェース制御部42を有する。ドライバウェア50は、ネットワークドライバ33を制御するためのネットワーク制御部43を有する。ドライバウェア50は、ファイルシステムドライバ34を制御するためのファイルシステム制御部44を有する。
制御部52は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44等のドライバウェア50の各部を制御し、監視するためのもので、ドライバウェア50の中核部である。USBメモリ8等の記憶装置は、クライアントコンピュータ12に接続されると、その装置のデバイスドライバによって認識された後、ファイルシステムドライバ34から制御される。
図4は、USBメモリ8の内部構造を示すブロック図である。図4は、筐体(図示せず)に格納されている基板105の構成の概要を図示している。基板105の上には、ユーザ領域106、プログラム領域107や秘密領域120等が搭載されて配置されている。ユーザ領域106は、ユーザデータ3を格納するためのメモリである。プログラム領域107は、認証プログラム113(説明は後述する。)等の実行プログラムを格納するためのメモリである。
コネクタ114は、USBメモリ8をクライアントコンピュータ12に接続するためのコネクタである。USBメモリ8は、データ等を記憶する隠し領域を持っている。例えば、認証に利用する認証データ116を格納した認証領域115を有する。認証データ116は、USBメモリ8の認証、USBメモリ8を利用する利用者の個人認証等に使うものである。
ユーザデータ3と、認証プログラム113は、USBメモリ8の別々のメモリ領域に格納されている。ユーザデータ3はユーザ領域106に格納されている。認証プログラム113は、プログラム領域107に格納されている。USBメモリ8がクライアントコンピュータ12に接続されると、ユーザ領域106とプログラム領域107がリムーバルドライブとしてオペレーティングシステム21に認識される。しかし、USBメモリ8の初期設定では、プログラム領域107がオペレーティングシステム21からアクセス可能な設定になっている。
ユーザ領域106は、USBメモリ8の初期設定では、クライアントコンピュータ12からのアクセスできない設定になっている。プログラム領域107に格納されている認証プログラム113は、自動起動してクライアントコンピュータ12上に動作する。認証プログラム113が認証を行い成功すると、ユーザ領域106をクライアントコンピュータ12からアクセスできるように設定をする。この設定は、USBメモリ8内のスイッチ(図示せず)によってソフトウェア的に行われる。
秘密領域120は、クライアントコンピュータ12を操作した履歴、特に、ユーザデータ3を利用した履歴が保存されるための領域である。クライアントコンピュータ12からアクセスすることができない領域である。管理プログラム4から特定の命令を送信することで、秘密領域120にアクセスし、データを書き込む。
認証プログラム113の機能は、クライアントコンピュータ12上に導入されている管理プログラム4の確認と、クライアント11の個人認証からなる。認証プログラム113は、管理プログラム4と通信することによって、管理プログラム4がクライアントコンピュータ12にインストールされていることを確認する。認証プログラム113は、管理プログラム4に指示して、管理プログラム4の制御モードをオンにする。クライアント11の個人認証は、パスワードによる認証、バイオメトリックス認証等であることが好ましい。本発明の第1の実施の形態においては、クライアント11の個人認証は、パスワードによる認証として説明する。
図5は、全体の動作を示すフローチャートである。記録媒体9に格納されている管理プログラム4は、サーバ2にインストールされて導入される(ステップ10)。記録媒体9は、CD−ROMであることが好ましい。USBメモリ8は、サーバ2に接続される。そして、ユーザデータ3はサーバ2からUSBメモリ8に書き込まれる(ステップ14)。ユーザデータ3は、サーバ2からUSBメモリ8に書き込まれる詳細なフローは図6に図示している。USBメモリ8は、クライアント11に提供される(ステップ18)。
クライアント11は、サーバ側1から提供されたUSBメモリ8を受け取る。クライアント11は、記録媒体9をクライアントコンピュータ12の記録媒体用ドライブにセットして、管理プログラム4をクライアントコンピュータ12にインストールする(ステップ20)。クライアントコンピュータ12にインストールされた管理プログラム4は、サーバ2にインストールされた管理プログラム4と同一のものでも良い。又は、サーバ2にインストールされた管理プログラム4とライセンス認証等によって連動して動作するものでも良い。
以後、クライアントコンピュータ12にインストールされた管理プログラム4は、サーバ2にインストールされた管理プログラム4とライセンス認証によって連動し動作するものとする。このように管理プログラム4がクライアントコンピュータ12にインストールされないと、USBメモリ8に格納されているユーザデータ3をクライアントコンピュータ12から読み出して、出力装置に表示してクライアント11が閲覧することができない。また、USBメモリ8にデータの書き込みをすることができない。
USBメモリ8に格納されているユーザデータ3は、クライアントコンピュータ12上に管理プログラム4によって提供された環境のみから読み出されて利用できるように設定されている。管理プログラム4がクライアントコンピュータ12にインストールされると、管理プログラム4のライセンス認証が行われることが望ましい。このライセンス認証は、インターネット等のネットワーク7を介してサーバ側1に接続して行われると良い。また、サーバ側1からクライアント11に提供した認証の識別番号をクライアント11がクライアントコンピュータ12の入力装置から入力して行われても良い。
USBメモリ8は、クライアントコンピュータ12のUSBポート24(図3を参照)にクライアント11によって挿入され、接続される(ステップ22)。クライアントコンピュータ12上に動作しているオペレーティングシステム21は、そのプラグアンドプレイ(PnP)機能を利用してUSBメモリ8を認識する。USBメモリ8がクライアントコンピュータ12に認識されると、オペレーティングシステム21のMass Storage Class用のドライバを使って、オペレーティングシステム21のファイルシステムからUSBメモリ8に格納されているデータへアクセスできるようになる。
管理プログラム4は、オペレーティングシステム21がUSBメモリ8を認識した結果を取得して、サーバ側1から提供されたUSBメモリ8である否かの認証を行う(ステップ23)。この認証は、管理プログラム4と認証プログラム113によって行われる。この認証には、認証領域115に格納されている認証データ116を用いる。認証データ116は、USBメモリ8の識別番号、型番、クライアント11を識別するための暗証番号又は暗号鍵等からなる。この認証により、管理プログラム4とUSBメモリ8がペアで利用できるものか否かを確認する。
この認証が正常に終わると、管理プログラム4がUSBメモリ8へのアクセスの設定を行う。この設定は、USBメモリ8に格納されていて自動起動して動作している認証プログラム113と管理プログラム4が通信することによって行われる。そして、認証が成功すると、認証プログラム113がUSBメモリ8内のスイッチをソフトウェア的な切り替えし、USBメモリ8に格納されているユーザデータ3にアクセスすることが可能になる(ステップ24)。 管理プログラム4は、クライアントコンピュータ12からUSBメモリ8も含め全ての外部記憶装置にアクセスしているアクセス要求を全て監視する。
管理プログラム4は、クライアントコンピュータ12上に動作するアプリケーションプログラム20と、アプリケーションプログラム20が実行されるときに起動するプロセスの全てを監視する。管理プログラム4は、所定の条件に合うアクセス要求だけを遂行する。所定の条件としては、ユーザデータ3の読み取り専用、又は書き込みを許可するように設定することができる(ステップ24)。所定の条件の設定については、図9のフローチャートに示している。
USBメモリ8は、クライアントコンピュータ12から読み込みと書き込みが可能である。クライアントコンピュータ12に接続又は内蔵されているその他の外部記憶装置、リムーバブルディスクは読み込みだけが可能である。USBメモリ8に格納されているユーザデータ3をクライアントコンピュータ12が読み込んで、表示することが可能であり、また、ユーザデータ3を編集し、その結果をUSBメモリ8に保存することが可能である(ステップ26)。しかし、ユーザデータ3を編集し、その結果を他の外部記憶装置、リムーバブルディスクには保存することができない。
また、管理プログラム4は、ネットワーク機能、各種の通信ポート、スクリーンキャプチャ、プログラム間のコピー&ペースト機能等の使用を禁止する設定をする。プログラム間のコピー&ペースト機能とは、あるプログラムが動作中にコピーした内容を別のプログラムに貼り付けする機能を意味する。これらの禁止設定は管理プログラム4が行う設定の例でありこれらだけに限るものではない。同一プログラム内のコピー&ペースト機能は、許可される。コピー&ペースト機能は、クリップボードを介して行われるので、同一プログラム内にクリップボードを利用することを許可し、プログラム間にクリップボードを利用したデータのやりとりを禁止する。
キーボードのスクリーンキャプチャ用のキーを使用禁止にすることで、スクリーンキャプチャの使用を禁止することができる。このように設定して、ユーザデータ3を複製すること、印刷すること、他者へ送信すること、ユーザデータ3を利用して2次的な電子データを作成すること、表示画面から画像として取得することができなくなる。また、ユーザデータ3を読み込んで編集することを許可する設定を行うとき、ユーザデータ3を読み込むアプリケーションプログラム20の指定等を行うことができる。
ログ取得部53は、クライアントコンピュータ12上でユーザデータ3を利用した履歴を取得する。ログ取得部53は、この履歴をUSBメモリ8の秘密領域120又はデータを暗号化しユーザ領域106に保存する(ステップ28)。秘密領域120に履歴を保存する場合は、管理プログラム4から特定の命令をUSBメモリ8に送信して、秘密領域120にアクセスする。クライアント11は、USBメモリ8を利用し終わったときは、サーバ側1にUSBメモリ8を返却する(ステップ30)。サーバ側1は、クライアント11から返却されてきたUSBメモリ8に保存されている履歴を分析する。この分析によって、ユーザデータ3の利用状況を把握することができる(ステップ32)。
管理プログラム4は、USBメモリ8に格納されてクライアント側10に提供されることが可能である。この場合、管理プログラム4はUSBメモリ8のプログラム領域107に格納される。USBメモリ8がクライアントコンピュータ12に接続されたら(ステップ22)、管理プログラム4がプログラム領域107から自動的に実行される。よって、管理プログラム4はインストールされる。ステップ20で記述した記録媒体9による管理プログラム4のインストールが不要になる。ステップ23〜32の動作が同様に行われる。
図6は、サーバ2において、ユーザデータ3をUSBメモリ8に書き込むときの流れを示すフローチャートである。ユーザデータ3はサーバ2からUSBメモリ8に書き込まれるために、サーバ2には、管理プログラム4がインストールされて動作している必要がある。管理プログラム4は、記録媒体9に書き込まれてサーバ側1に提供される。サーバ2の記録媒体用ドライブに記録媒体9を設定する。管理プログラム4は記録媒体9からサーバ2にインストールされる(ステップ40)。
管理プログラム4は、USBメモリ8に格納されて提供された場合は、USBメモリ8がサーバ2に接続されたら、管理プログラム4が自動的に実行されて、インストールされる。ユーザデータ3を書き込むためのUSBメモリ8を、サーバ2に接続する(ステップ42)。USBメモリ8がサーバ2に認識される。USBメモリ8は、プログラム領域107、ユーザ領域106、認証領域115、秘密領域120等の複数のメモリ領域からなる。プログラム領域107は、サーバ2に認識される(ステップ44)。プログラム領域107に格納されている認証プログラム113は、自動起動し実行される(ステップ46)。
認証プログラム113は、サーバ2に管理プログラム4がインストールされているか否かの認証を開始する(ステップ48)。サーバ2に管理プログラム4がインストールされている場合は、パスワードによる個人認証を行う(ステップ50)。個人認証が成功すると、認証プログラム113は、USBメモリ8のユーザ領域106をサーバ2に認識させる。よって、ユーザ領域106はサーバ2からアクセスできるようになり、利用可能になる(ステップ52、54)。ユーザデータ3は、暗号化されて、ユーザ領域106に書き込まれる(ステップ56、58)。
その後、USBメモリ8は、サーバ2から切断されて、クライアント11に提供可能になる(ステップ60)。認証プログラム113は、サーバ2に管理プログラム4がインストールされていない場合と、個人認証が成功しない場合は、ユーザ領域106をサーバ2に認識させない。よって、ユーザ領域106にユーザデータ3を書き込むことができなくなり、USBメモリ8は利用できない(ステップ50、52→ステップ66)。
暗号化は、公開鍵と秘密鍵のペアを用いる公開鍵暗号方式を採用することが好ましい。しかし、これは、暗号化する方式を限定するものではない。暗号化と復号化は、本発明の趣旨ではないので詳細な説明は省略する。
図7は、クライアントコンピュータ12において、ユーザデータ3をUSBメモリ8から読み出して閲覧又は編集するときの流れを示すフローチャートである。USBメモリ8は、クライアントコンピュータ12に接続される(ステップ70)。クライアントコンピュータ12は、USBメモリ8を認識する(ステップ72)。このとき、オペレーティングシステム21は、PnP機能を利用してUSBメモリ8の接続を検知して認識する。USBメモリ8のプログラム領域107は、クライアントコンピュータ12に認識される。
USBメモリ8が認識されると、USBメモリ8のプログラム領域107に格納されているチェックプログラム118が自動起動されて、クライアントコンピュータ12の動作環境をチェックし始める(ステップ74)。この動作環境のチェックが終了すると、認証プログラム113が起動され、クライアントコンピュータ12に管理プログラム4がインストールされているか否かの認証を開始する(ステップ76)。
管理プログラム4がインストールされていない場合は、クライアント11が管理プログラム4をインストールする(ステップ76、90)。管理プログラム4がクライアントコンピュータ12にインストールされている場合は、パスワードによる個人認証を行う(ステップ77)。個人認証が成功すると管理プログラム4を制御モードにさせる(ステップ78)。制御モードの詳細については、図9のフローチャートに図示している。
管理プログラム4の制御モードの設定が終わると、認証プログラム113は、USBメモリ8のユーザ領域106をクライアントコンピュータ12に認識させる。よって、ユーザ領域106はクライアントコンピュータ12からアクセスできるようになり、利用可能になる(ステップ80)。ユーザデータ3の読み出しが許可され、暗号化されたユーザデータ3の自動復号化も許可される(ステップ82)。ユーザデータ3はUSBメモリ8から読み出される(ステップ84)。
USBメモリ8から読み出されたユーザデータ3は、復号化される(ステップ86)。復号化されたユーザデータ3は、クライアントコンピュータ12の出力装置に表示される(ステップ88)。また、ユーザデータ3を編集することが可能である。管理プログラム4は、制御モードに入ると、ハードディスク25、クライアントコンピュータ12に接続されている他の周辺機器にユーザデータ3を保存できないように各装置へのアクセスを制限している。USBメモリ8は書き込みができる設定になる。
このために、クライアント11は、ユーザデータ3をハードディスク25や、クライアントコンピュータ12に接続されている周辺機器に保存することができない。更には、管理プログラム4は、制御モードに入ると、ネットワーク機能、各種の通信ポート、クリップボードの利用、スクリーンキャプチャ、コピー&ペースト機能等も使用禁止の設定にしている。よって、ユーザデータ3は、閲覧の操作と、これを編集したデータをUSBメモリ8に保存する操作以外の操作ができなくなる。管理プログラム4は、ユーザデータ3を利用した履歴を全て取得する(ステップ92)。これは、ログ取得部53によって行われる。取得された履歴は、USBメモリ8の秘密領域120、又は暗号化されてユーザ領域106に保存される(ステップ94)。
図8は、管理プログラム4の動作を示すフローチャートである。管理プログラム4は、記録媒体9に格納されて、クライアント11に提供される。管理プログラム4は、クライアント11によってクライアントコンピュータ12にインストールされる(ステップ100)。管理プログラム4は、起動されて、動作を開始する(ステップ102)。USBメモリ8がクライアントコンピュータ12に接続されると、オペレーティングシステム21はPnP機能を利用してUSBメモリ8の接続を検知して認識する。
USBメモリ8が認識されると、USBメモリ8のプログラム領域107に格納されているチェックプログラム118が自動起動されてクライアントコンピュータ12の動作環境をチェックする(ステップ103)。その後、認証プログラム113が起動される(図7のステップ74)。認証プログラム113は、クライアントコンピュータ12に管理プログラム4がインストールされているかを確認する(図7のステップ76)。管理プログラム4がクライアントコンピュータ12にインストールされている場合は、パスワードによる個人認証を行う(図7のステップ77)。
管理プログラム4がクライアントコンピュータ12にインストールされ、個人認証が成功した場合は、認証プログラム113から管理プログラム4に、制御モードになるように指示され、管理プログラム4が制御モードに設定される(ステップ106)。管理プログラム4が制御モードに設定されると、認証プログラム113は、USBメモリ8内のユーザ領域106をオペレーティングシステム21に認識させて、利用可能な状態にする(図7のステップ80)。
このとき、クライアントコンピュータ12からのユーザデータ3の読み出しが許可され、暗号化されたユーザデータ3の自動復号化が許可される(図7のステップ82)。更に、クライアントコンピュータ12からユーザ領域106に書き込みするデータの自動暗号化の設定が許可される。管理プログラム4は、アプリケーションプログラムからUSBメモリ8へのアクセスを監視する。USBメモリ8へのアクセスがあると、それを管理プログラム4が受信する(ステップ108)。
管理プログラム4は、アクセスの種類を確認する(ステップ108)。許可されているアクセスか否かを確認する(ステップ110)。許可されているアクセスのときは、ユーザデータ3をUSBメモリ8から読み出す(ステップ112)。管理プログラム4は、USBメモリ8から読み出したユーザデータ3を復号化する(ステップ114)。復号化されたユーザデータ3は、クライアントコンピュータ12の出力装置に表示され、閲覧と編集が可能になる(ステップ116、117)。
許可されていないアクセスのときは、管理プログラム4はそのアクセスを破棄する(ステップ110、120)。このとき、不許可にされたアクセスである旨のメッセージをクライアント11に対して表示することも可能である(ステップ122)。管理プログラム4は、ユーザデータ4を利用した履歴を全て取得する(124)。これは、ログ取得部53によって行われる。取得された履歴は、USBメモリ8の秘密領域120、又は暗号化されてユーザ領域106に保存される(ステップ126)。
管理プログラム4は、表示されているユーザデータ3を継続して監視する(ステップ118)。ユーザデータ3は、データの種類によるが、適当なアプリケーションプログラム20を起動させて表示される。例えば、ユーザデータ3は、テキストデータの場合は、テキスト編集用のアプリケーションプログラム20に渡されて表示される。クライアント11は、キーボードやマウス等の入力装置を操作しながらこのアプリケーションプログラム20を操作してユーザデータ3を閲覧し、編集する。
図9は、管理プログラム4が制御モードをオンするときの動作を示すフローチャートである。図7のステップ78、図8のステップ106に示すように、管理プログラム4が制御モードをオンにする(ステップ130)。管理プログラム4は、クライアントコンピュータ12に内蔵されたハードディスク25への書き込みを禁止にする(ステップ131)。管理プログラム4は、リムーバルドライバへの書き込みを禁止にする(ステップ132)。このとき、USBメモリ8への書き込みは許可する。
USBメモリ8、内蔵のハードディスクの他に記録装置があるときは、それらへの書き込みを禁止にする(ステップ134)。例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等である。管理プログラム4は、ネットワーク通信の使用を禁止する(ステップ136)。例えば、ネットワーク通信の使用としては、ネットワークカード23を介してインターネット、LAN等へのアクセス、コンピュータ同士の通信が含まれる。
このUSBメモリ8の他のインターフェースを使用禁止にする。例えば、USB、SCSI、IDE、RS−232C規格のインターフェースの使用を禁止にする(ステップ138)。同一プログラム内にクリップボードを利用することを許可し、プログラム間にクリップボードを利用したデータのやりとりを禁止する(ステップ139)。また、スクリーンキャプチャの使用も禁止にする(ステップ139)。オペレーティングシステム21の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ140)。例えば、オペレーティングシステム21の動作に必要なSystem等を動作可能にする。このような設定は、図15のプロセス制御リスト150(図15を参照。)に例示している。
起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ142)。取得したプロセス名とプロセスIDを管理テーブル、例えばプロセス制御リスト150、に保存する(ステップ144)。管理プログラム4が制御モードをオンにした後の、ステップ131〜140の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。USBメモリ8をクライアントコンピュータ12から抜き取ると、オペレーティングシステム21はこれを検知する。
USBメモリ8は、オペレーティングシステム21にはリムーバルドライバとして認識されているため、管理プログラム4はこれを認証プログラム113が格納されているUSBメモリ8であるか否かの確認を行う。USBメモリ8が切断されたときは、管理プログラム4は、ステップ131〜140に設定した設定を全て解除する。また、ファイルの自動復号化、自動暗号化の設定も解除にする。
図10は、クライアントコンピュータ12の動作環境をチェックする例を示すフローチャートである。USBメモリ8をクライアントコンピュータ12に接続し、クライアントコンピュータ12がUSBメモリ8を認識すると、プログラム領域107に格納されているチェックプログラム118が自動起動して実行される(ステップ150、152)。チェックプログラム118は、クライアントコンピュータ12の動作環境をチェックする。チェックプログラム118は、クライアントコンピュータ12にウィルス対策ソフトがインストールされていて動作しているかをチェックする(ステップ154)。
クライアントコンピュータ12にウィルス対策ソフトがインストールされていない場合は、継続してUSBメモリ8を利用することができないので、その旨のメッセージをディスプレイに表示させてUSBメモリ8の利用を終了させる(ステップ164)。更に、チェックプログラム118は、クライアントコンピュータ12にファイル共有ソフトがインストールされているか否かをチェックする(ステップ156)。クライアントコンピュータ12にファイル共有ソフトがインストールされている場合は、継続してUSBメモリ8を利用することができない。
ファイル共有ソフトをチェックするときは、動作中のアプリケーションプログラムを確認してファイル共有ソフトであるか否かを確認する。また、特定のファイル共有ソフトがクライアントコンピュータ12に作成したファイルやフォルダをチェックしたり、クラインとコンピュータ12のメモリをチェックしたりしてファイル共有ソフトのインストールやその使用履歴を確認する。チェックプログラム118は、ファイル共有ソフトの削除を試みる(ステップ158)。
ファイル共有ソフトを削除できなかった場合は、USBメモリ8を利用できないの旨のメッセージをディスプレイに表示させてUSBメモリ8の利用を終了させる(ステップ160、164)。クライアントコンピュータ12にファイル共有ソフトがインストールされていない場合は、継続してUSBメモリ8を利用することができ、続けて認証プログラム113を呼び出し、個人認証を行わせる(ステップ156、162)。ファイル共有ソフトがクライアントコンピュータ12にインストールされている場合は、これ削除してから、認証プログラム113を呼び出し、個人認証を行わせる(ステップ158、160、162)。
無論、USBメモリ8を強制的に使用不能することとき、USBメモリ8をクライアントコンピュータ12から物理的に切断するときは、USBメモリ8を利用できないの旨のメッセージをディスプレイに表示させる。また、クライアントコンピュータ12にウィルス対策ソフトがインストールされていない場合は、USBメモリ8、つまりUSBメモリ8に格納されているユーザデータ3、を利用することができない。この場合は、ウィルス対策ソフトをインストールしてUSBメモリ8をクライアントコンピュータ12に再度接続して利用することができる。
クライアントコンピュータ12にファイル共有ソフトがインストールされている場合は、これの自動削除を行うが、失敗した場合は、クライアント11が手動でファイル共有ソフトをアンインストール又は削除してからUSBメモリ8をクライアントコンピュータ12に再度接続して利用することができる。
図11には、制御部52の動作のフローチャートを図示している。ドライバウェア52が制御モードをオンにするように指示されると、制御部52はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ200)。この命令は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44に送信される。インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44は、この命令を受信して、ファイルアクセスを禁止にする。
USBメモリ8は、データの読み込み、書き込みが許可される。プロセス制御リスト150(図15を参照)によって制御が許可されたプログラム、又はプロセス制御リスト150に登録されていないプログラムはUSBメモリ8内のデータの読み込み、書き込みが許可される。また、除外するプロセスの設定、ネットワーク利用の禁止、スクリーンキャプチャの使用禁止等を行います。アプリケーションプラットフォームプログラム5が動作しているときに、アプリケーションプログラム20が起動する(ステップ202)。アプリケーションプラットフォームプログラム5は、アプリケーションプログラム20の起動を検出する(ステップ204)。
CreateProcessのSUSPEND(サスペンド)モードでアプリケーションプログラム20のプロセスが起動され、アプリケーションプラットフォームプログラム5は、このプロセスのハンドルとプロセスIDを取得する。ハンドルは、CreateProcessから戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム5は、取得したハンドルとプロセスIDを制御部52に送信する。制御部52は、ハンドルとプロセスIDを取得する(ステップ206)。
制御部52は、ファイルシステム制御部44へハンドルとプロセスIDを送信し、プロセスIDから出されるファイルアクセスを許可する設定を行う。ファイルアクセスを許可に設定するのは、プロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。つまり、プロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作を許可設定にすることで、ファイルアクセスを許可する。ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とを許可する設定である(ステップ208)。制御部52は、クリップボードの利用制限をし、同一プログラム内のコピー&ペースト機能を許可、プログラム間の場合は禁止する。インターフェース制御部42は、各種のインターフェースを使用禁止に設定する(ステップ210)。
また、ネットワーク制御部43は、ネットワーク通信を禁止に設定する(図11のステップ210)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ212)。アプリケーションプログラム20が動作される。そして、制御部52は、アプリケーションプログラム20が終了するときにオペレーティングシステム21から発される通知である終了イベントを待機する(ステップ214)。
図12は、アプリケーションプログラム20の終了するときの制御部52の動作を示すフローチャートである。アプリケーションプログラム20は動作し、終了するときに、終了イベントが発生される(ステップ230)。アプリケーションプラットフォームプログラム5は、終了イベントのプロセスIDを取得する。アプリケーションプラットフォームプログラム5は、終了イベントのプロセスIDを制御部52に送信する。制御部52は、終了イベントのプロセスIDを取得する(ステップ232)
制御部52は、ファイルシステム制御部44へ、取得したプロセスIDからファイルアクセスを禁止設定する(ステップ234)。そして、インターフェース制御部42へ禁止設定の解除を指示し、インターフェース制御部42は使用禁止に設定したものを解除する(ステップ236)。ネットワーク制御部43へ禁止設定の解除を指示し、ネットワーク制御部へ43は使用禁止に設定したものを解除する(ステップ238)。
図13は、制御部52が制御するプロセスを設定するときのフローチャートを示す図面である。認証が成功する(ステップ260)。この認証は、クライアントの個人認証である。認証が成功すると、オペレーティングシステム21の動作に不可欠なプロセスを指定、これらのプロセスに何らかの制限をしないようにする必要がある。例えば、オペレーティングシステム21のシステムサービス関連の実行ファイル、その実行ファイルが動作するときのプロセスが使用禁止にされたり、起動できなくなったりするとき、オペレーティングシステム21の提供するサービスに支障ができたり、オペレーティングシステム21自体の動作が不安定になる。
そのためには、オペレーティングシステム21の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、System、Services.exe 、explorer.exeが例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リスト150に登録される。プロセス制御リスト150は、後述説明する図15に例示している。制御部52は、プロセス制御リスト150のプロセス名152から制御プロセス名、制御ディレクトリを読み込む(ステップ262)。
制御部52は、制御プロセス名からプロセスIDを取得する(ステップ264)。プロセスIDから実際のプログラム(.exeなどのモジュール)名や正規のプログラムモジュールかどうかを判断すると良い。正規のプログラム(登録されているプログラム)であれば、実行を可能とすることで、亜種プログラムへの対策が可能である。正規プログラムかどうかは、外部データベース(例えば、米国NIST内の登録データベース)又は独自に作成されたデータベースを参照して厳密に判断することが可能である。そして、制御部52は、ファイルシステム制御部44へ全て禁止の設定を指示し、ファイルシステム制御部44は全てのプロセスの禁止を設定する(ステップ266)。
次には、制御部52は、ファイルシステム制御部44へ制御プロセス名のプロセスIDと、制御ディレクトリの読み込み書き込み(Read/Write)の許可設定を指示する(ステップ268)。ファイルシステム制御部44は、制御部52から送信されてきたプロセスIDとファイルパスと制御モードを受信する(ステップ270)。ファイルシステム制御部44は、プロセスIDとファイルパスと制御モードをプロセス制御リスト150に追加する(ステップ272)。
図14は、ファイルシステム制御部34の動作を示す処理フローチャートである。アプリケーションプログラム20又は、オペレーティングシステム21からファイルへアクセスするときにファイルアクセスイベントが発生する(ステップ300)。ファイルシステム制御部44は、制御部52からプロセスIDとファイルパスとファイル操作(Read/Write)を取得する(ステップ302)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致するか否かを確認する(ステップ304〜310)
このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致するとき、制御156に示した制御の値よりファイルの操作を許可又は禁止に設定する(ステップ308)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致しないとき、制御156(図15を参照)の値よりファイルの操作を禁止に設定する(ステップ312)。
図15には、プロセス制御リスト150の例を図示している。プロセス制御リスト150は、管理プログラム4がインストールされたときに初期値としてファイルに格納されてハードディスク25に保存されている。プロセス制御リスト150は、必要なとき、編集して変更することも可能である。プロセス制御リスト150には、登録されたものの順番を示す連番欄151、プロセス名を示すプロセス名152、プロセスIDを示すプロセスID153、ファイルパスを示すファイルパス154、制御のモードを示すモード155、及び制御の方法を示す制御156の欄がある。制御156の欄には、制御の種類として「RW」で読み込み書き込みを、「RO」で読み込み専用を例示している。
〔ログの取得〕
図16には、ログ取得部53の動作の概要を図示している。ログ取得部53は、ドライバウェア50、管理プログラム4が動作するときのログを全て取得する。ドライバウェア50が制御モードをオンにするとき、ログ取得部53が履歴の取得を開始する(ステップ316、318)。制御部52がアプリケーションプラットフォームプログラム5からプロセスに関するデータを取得し、そのプロセスに対する制御を行う。この制御したデータをログ取得部53へ送信する(ステップ320、322)。
制御したデータとしては、クライアントコンピュータ12からUSBメモリ8にアクセスし、ユーザデータ3を読み出した履歴、ユーザデータ3を閲覧、編集した履歴を取得する。また、ユーザデータ3を閲覧、編集した後、作成されたファイルを保存した履歴を取得する。更に、制御したデータとしては、クライアントコンピュータ12からUSBメモリ8にアクセスしたアプリケーションプログラム20の名称、アクセスした日時、ユーザ名等を取得する。
ログ取得部53は、履歴に関するデータをクライアントコンピュータ12のメインメモリ上に履歴テーブルに保存している。この履歴テーブルは、ログ取得部53が履歴を取得し始めたときに、作成され初期化されるものである。ログ取得部53は、制御部52から受信したデータを履歴テーブルに追加する(ステップ324、326)。履歴テーブルに格納されている履歴に関するデータが所定の量を超えたら、履歴テーブルをUSBメモリ8へ送信する(ステップ328、330)。ログ取得部53が取得した履歴をUSBメモリ8の秘密領域120又は暗号化してユーザ領域106に保存する。
このとき、履歴テーブルは、暗号化部54によって暗号化されて、USBメモリ8へ送信される(ステップ332、334)。履歴テーブルは、例えば、図17に示す履歴160のフォーマットでUSBメモリ8に保存される。ログ取得部53は、マウスやキーボード等の入力装置から入力操作の履歴も取得する。マウスやキーボード等の入力装置から入力操作は、入力装置の制御を行うためのデバイスドライバから入力される値を直接又は、この値をドライバウェア50で分析して取得する。
〔履歴160〕
図17は、ログ取得部53によって取得した履歴160の例を示している。履歴160は、ログ取得部53によって取得され、USBメモリ8に保存される。履歴160には、登録されたものの順番を示す連番欄161、クライアントコンピュータ12を示すクライアントコンピュータ162、ログインしているクライアント11を示すユーザ名163、操作されたファイルを示すファイル名164、起動して操作を行っているアプリケーションプログラム20を示すアプリケーションプログラム165、操作の種類を示す操作の種類166、操作された年月日と時間を示す年月日167、時間168の欄がある。
〔入力装置の制御〕
クライアントコンピュータ12は、マウスやキーボード等の入力装置を備えている。クライアント11は、この入力装置を操作して、クライアントコンピュータ12に入力を行い、操作する。クライアント11は、入力装置を操作して、USBメモリ8に記憶されているユーザデータ3を画面上に開いて、閲覧する。また、ユーザデータ3を編集する。更には、ユーザデータ3を利用して新規にファイルを作成する。そして、これらのファイルをUSBメモリ8に保存する。
このように、クライアント11は、入力装置を操作しているときにその操作の履歴をログ取得部53が取得して、最終的にはUSBメモリ8に保存する。キーボードは、多数のキーからなっており、管理プログラム4によって、ディスプレイキャプチャーのキーを操作することが禁止されている。また、マウスの右クリックが禁止されている。このように、禁止されているキーやボタンを検知し、その制御を行うときのフローチャートを図18に図示している。
キーボードやマウスは、それらのデバイスドライバから直接制御されている。ドライバウェア50は、キーボードのデバイスドライバへのインターフェースを提供するためのキーボード制御部を有する。ドライバウェア50は、マウスのデバイスドライバへのインターフェースを提供するためのマウス制御部を有する。キーボードのデバイスドライバは、キーボードからの入力データを受信する。この受信された入力データは、キーボード制御部に送信される。キーボード制御部は、入力データを受信して、制御リストと比較する。
入力データには、操作が禁止されたキーのデータがある場合は、それを破棄する。その他の入力データは、制御部52に送信される。制御部52は、入力データを受信して、アプリケーションプログラムインターフェース部51へ送信し、最終的にアプリケーションプログラム20に送信される。マウスのデバイスドライバは、マウスからの入力データを受信する。この受信された入力データは、マウス制御部に送信される。マウス制御部は、入力データを受信して、制御リストと比較する。
入力データには、操作が禁止されたボタンのデータがある場合は、それを破棄する。その他の入力データは、制御部に送信される。制御部は、入力データを受信して、アプリケーションプログラムインターフェース部51へ送信し、最終的にアプリケーションプログラム20に送信される。そして、入力装置から次の入力データが入力されるまで待機する。
〔サーバ2で履歴160を分析〕
図19は、サーバ2において、履歴160を分析し、ユーザデータ3の利用を把握するときの流れを示すフローチャートである。履歴160が保存されたUSBメモリ8を、サーバ2に接続する(ステップ370)。USBメモリ8がサーバ2に認識される。プログラム領域107に格納されている認証プログラム113は、自動起動し実行される(ステップ372)。
認証プログラム113は、サーバ2に管理プログラム4がインストールされているか否かの認証を開始する。サーバ2に管理プログラム4がインストールされている場合は、パスワードによる個人認証を行う。個人認証が成功すると、認証プログラム113は、履歴160が保存されている領域をサーバ2に認識させる。USBメモリ8のユーザ領域106に履歴160が保存されている場合は、ユーザ領域106をサーバ2に認識させる。よって、ユーザ領域106はサーバ2からアクセスできるようになり、利用可能になる(ステップ374)。履歴160は、サーバ2に読み込まれる(ステップ376)。
同様に、USBメモリ8の秘密領域120に履歴160が保存されている場合は、秘密領域120をサーバ2に認識させる。よって、秘密領域120はサーバ2からアクセスできるようになり、利用可能になり、履歴160は、サーバ2に読み込まれるその後、履歴160は、分析され、ユーザデータ3の利用状況はディスプレイに表示されたりして把握される(ステップ378、380)。認証プログラム113は、サーバ2に管理プログラム4がインストールされていない場合と、個人認証が成功しない場合は、ユーザ領域106をサーバ2認識させない。よって、ユーザ領域106の履歴160を読み込むことができない。
〔第2の実施の形態〕
本発明の第2の実施の形態は、上述の第1の実施の形態と基本的に同様であり、異なる部分を以下に記述する。図20は、本発明の第2の実施の形態の概要を図示している図である。図21は、本発明の第2の実施の形態のクライアントコンピュータ12にUSBメモリ8を接続して使用するときの動作概要を示すフローチャートである。本発明の第2の実施の形態は、第1の実施の形態とことなる部分は、ユーザデータ3がネットワーク7を経由してクライアントコンピュータ12に提供され、クライアントコンピュータ12の動作履歴はネットワーク7を経由してサーバ2に保存される。
更に、ファイルサーバ60はネットワーク7を経由してクライアントコンピュータ12に接続され、ファイルサーバ60に格納されている共有ファイル61はクライアントコンピュータ12からアクセス可能である。本発明の第2の実施の形態においては、ユーザデータ3はサーバ2に保存されていて、ネットワーク7を経由してクライアントコンピュータ12に提供される。USBメモリ8(図4を参照)は、チェックプログラム118、認証プログラム113、管理プログラム4を内蔵のプログラム領域107に格納している。
USBメモリ8の利用を図21のフローチャートを参照して説明する。USBメモリ8がクライアントコンピュータ12に接続されると、クライアントコンピュータ12にUSBメモリ8が認識され、チェックプログラム113が自動起動する(ステップ470、472、474)。チェックプログラム113が、クライアントコンピュータ12の動作環境をチェックする(ステップ474)。このステップ474に記述した動作環境のチェックは、第1の実施の形態の図10のフローチャートに記述したチェックを行う。
そして、更にチェック項目としては、クライアントコンピュータ12に管理プログラム4がインストールされているか否かをチェックし、インストールされていない場合は、プログラム領域107から管理プログラム4をインストールする(ステップ476、490)。そして、クライアント11の個人認証を行うために、認証プログラム113を呼び出して動作させる。認証プログラム113は、USBメモリ8の認証領域115に格納されている認証データ116を利用してクライアント11の個人認証を行う(ステップ477)。
この個人認証は、実施の形態1と同様であり、その詳細な説明は省略する。個人認証が終了すると、管理プログラム4は、制御モードをオンにする(ステップ478)。管理プログラム4が制御モードをオンするとき、図9のステップ131から140に示す各種各種の設定を行う。管理プログラム4は、ネットワーク通信の使用を禁止するとき(ステップ136)、サーバ2とファイルサーバ60との通信を許可し、ユーザデータ3の読み込みと書き込み、共有ファイル60の読み込みができるようにする。
管理プログラム4が制御モードがオンになると、管理プログラム4の指示によって、クライアントコンピュータ12はサーバ2と、ファイルサーバ60と接続される(ステップ480)。これにより、サーバ2に格納されているユーザデータ3、及びファイルサーバ60に格納されている共有ファイル61が利用可能になる。よって、クライアント11は、クライアントコンピュータ12を操作して共有ファイル61を呼び出して閲覧し、必要な場合はその編集作業を行う。共有ファイル61が暗号されている場合は、それを復号化して閲覧する。
編集された共有ファイル61は、サーバ2にユーザデータ3として保存される。また、クライアント11は、クライアントコンピュータ12を操作してサーバ2に格納されているユーザデータ3を読み出して閲覧し、必要な場合はその編集作業を行う(ステップ488)。ユーザデータ3が暗号されている場合は、それを復号化して閲覧する(ステップ486)。この編集されたユーザデータ3は、サーバ2に格納される(ステップ488)。ユーザデータ3をサーバ2に送信するときは、これを暗号化してから送信する。このように、ファイルサーバ60はクライアント11に必要な電子データを提供するのみで、クライアント11によって編集されたデータ等は、クライアント11が利用するUSBメモリ8以外の記憶装置に保存することができない。
クライアント11によって編集されたデータが全てサーバ2に格納される。このとき、図21に示すようにレベル1〜3の機密フォルダーに振り分けられて保存される。この振り分けは、クライアント11による振り分け、ユーザデータ3の重要性による振り分けでも良い。また、この振り分けは、ユーザデータ3の種類、大きさ、利用者等による振り分けでも良い。管理プログラム4は、クライアントコンピュータ11の動作の履歴を取得し、サーバ2に送信する。そして、サーバ2に格納される(ステップ492、494)。この履歴を、サーバ2にて解析し、USBメモリ8の利用状況をトレースすることができる。これにより、クライアント11の機密データ、クライアント11の個人データ等をサーバ2のみに保存し、一括したデータ管理が可能になる。
共有サーバ60のようにこれに接続されたクライアント11全てがアクセス可能な状態ではなく、高度なセキュリティを確保したサーバ2のみにユーザデータ3を格納してデータの保全を可能にする。USBメモリ8が切断されたときは、管理プログラム4は、ステップ131〜140に設定した設定を全て解除する。管理プログラム4、及びその制御部は、第1の実施の形態と(図11〜図14のフローチャート)と同様である。しかし、ユーザデータ3はサーバ2に格納されているので、プロセス制御リスト150のファイルパスの条件154に示されるユーザデータ3のファイルパスはネットワーク上のアドレスになる。
図16のフローチャートで示すようにドライバウェア50のログ取得部53が履歴を取得したとき(ステップ316〜336)、これをUSBメモリ8ではなくサーバ2に送信する(ステップ330〜334)。サーバ2においては、クライアントコンピュータ12から送信されてきた履歴160(図17を参照)を受信し、記憶装置に格納して、その分析を行う(ステップ378、380)。これは、第1の実施の形態と異なるのは、USBメモリ8から読み込むのではなく、サーバ2の記憶装置から読み込む点である。
クライアント11は、ユーザデータ3をUSBメモリ8に格納して持ち出すことができる。このときは、管理プログラム4はUSBメモリ8のユーザ領域106を使用可能にするようにUSBメモリ8に指示を送り、USBメモリ8はこの指示に従ってユーザ領域106を使用可能にする。そして、クライアント11は、持ち出したいユーザデータ3を選び、選択されたユーザデータ3が管理プログラム4によってユーザ領域106に格納される。クライアント11は、USBメモリ8をクライアントコンピュータ12から切断して、別のコンピュータに接続して使用する。
例えば、クライアント11は、自宅、営業先等の外部のコンピュータにUSBメモリ8を接続して使用する。このとき、内蔵しているチェックプログラム118、認証プログラム113、管理プログラム4を動作させて、使用しているコンピュータ動作環境を上述のステップ470〜478のようにチェックし、個人認証行って、安全な動作環境を確保する。ステップ480の代わりに、管理プログラム4がUSBメモリ8にユーザ領域106を利用可能するように指示にし、USBメモリ8はこれをソフトウェア的にスイッチして、ユーザ領域106を使用可能にする(ステップ482)。
この安全な動作環境も、第1の実施の形態に記述したのと同様である。この使用先のコンピュータでの動作履歴は、管理プログラム4によって取得され、USBメモリ8内の秘密領域120に格納される。この履歴を、USBメモリ8をクライアントコンピュータ12又はサーバ2に接続して使用するときに、サーバ2に転送されて解析される。よって、USBメモリ8の利用状況をトレースすることができる。このようにクライアント11がUSBメモリ8を外部へ持ち出して別のコンピュータでこれを使用したときは、履歴はUSBメモリ8に格納される。
USBメモリ8をクライアントコンピュータ12に接続して使う場合、履歴がネットワーク7を介してサーバ2へ送信され、サーバ2で上述のように分析される。USBメモリ8をサーバ2に接続して履歴の分析を行う場合、この分析は図19のフローチャートに従って行われる。
〔USBメモリ8の他の実施の形態〕
図22は、USBメモリ8の内部構造の他の実施の形態を示すブロック図である。図22は、筐体(図示せず)に格納されている基板105の構成の概要を図示している。基板105の上には、ユーザ領域106、プログラム領域107、USB(Universal Serial Bus)コントローラ109、中央演算装置(CPU、Central Processing Unit)108等が搭載されて配置されている。ユーザ領域106は、ユーザデータ3を格納するためのメモリである。プログラム領域107は、認証プログラム113を格納するためのメモリである。
USBコントローラ109は、コネクタ114を介して電子計算機(図示せず)との送受信を制御するためのプログラムである。コネクタ114は、USBメモリ8をクライアントコンピュータ12に接続するためのコネクタである。中央処理装置108は、USBメモリ8全体を制御するための中央演算処理装置である。認証部104及びその指紋情報の認識方法等の技術については、周知の技術であり、かつ本発明の要旨でもないので、その詳細な説明は省略する。
ユーザデータ3と、認証プログラム113はUSBメモリ8の別々のメモリ領域であるユーザ領域106とプログラム領域107に格納されている。この2つのメモリ領域は、電子計算機から同時にアクセスできないような設計になっている。スイッチ110は、中央処理装置108によってソフトウェア的に制御されるもので、クライアントコンピュータ12からユーザ領域106とプログラム領域107へのアクセスを制御するためのものである。
USBメモリ8がクライアントコンピュータ12と接続され、認証プログラム113がクライアントコンピュータ12上に動作すると、スイッチ110がプログラム領域107からユーザ領域106へと切り替わり、ユーザデータ3の送受信が可能になる。また、基板105には、認証用データベース111、認証モジュール112が配置されている。認証モジュール112は、ユーザの認証を行うためのものである。認証用データベース111は、クライアントコンピュータ12を使用できるユーザの指紋情報、パスワード等の識別データを格納したデータベースのためのメモリである。
図23は、サーバ2又はクライアントコンピュータ12が、USBメモリにアクセスするときの流れを示すフローチャートである。USBメモリ8は、サーバ2又はクライアントコンピュータ12に接続される(ステップ400)。USBメモリ8がサーバ2又はクライアントコンピュータ12に認識される。スイッチ110が、初期設定でプログラム領域107に設定されている。USBメモリ8がサーバ2又はクライアントコンピュータ12に接続されると、サーバ又はクライアントコンピュータ12からプログラム領域107にアクセスできる。
プログラム領域107に格納されている認証プログラム113がサーバ2又はクライアントコンピュータ12上に自動起動し動作する(ステップ402)。認証プログラム113は、サーバ2又はクライアントコンピュータ12に管理プログラム4が導入されているか否かの確認を行う。管理プログラム4が導入されているとき、認証プログラム113は個人認証を行う。個人認証は、認証用データベース111、認証モジュール112を利用してユーザの認証を行う(ステップ404)。
この個人認証が成功すると、認証プログラム113は、USBメモリ8のスイッチ110をプログラム領域107からユーザ領域106に切り替える(ステップ406)。ユーザ領域106にアクセスできるようになる(ステップ408)。サーバ2の場合は、ユーザ領域106にユーザデータ3を書き込む。また、USBメモリ8が返却されたとき、ユーザ領域106に格納されている履歴160(図17を参照)を読み込みその分析を行う。
クライアントコンピュータ12の場合は、ユーザ領域106に格納されているユーザデータ3を読み込んだり、その編集を行ったりすることができる。更に、クライアントコンピュータ12上に動作する管理プログラム4と、ユーザデータ3にアクセスした動作の履歴を示す履歴160を取得し、ユーザ領域106に格納する。USBメモリ8の利用が終了すると、USBメモリ8は、サーバ2又はクライアントコンピュータ12から切断される(ステップ410)。USBメモリ8がサーバ2又はクライアントコンピュータ12から切断されると、スイッチ110は、初期設定に戻る(ステップ410)。
本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。
図1は、本発明の第1の実施の形態の概要を図示した機能ブロック図である。 図2は、クライアントコンピュータ12上に動作するソフトウェアの概要を図示した機能ブロック図である。 図3は、本発明の第1の実施の形態の概要を図示した機能ブロック図である。 図4は、USBメモリ8の内部構造を示すブロック図である。 図5は、実施の形態1のシステムの全体の動作を示すフローチャートである。 図6は、サーバ2において、ユーザデータ3と管理プログラム4をUSBメモリ8、記録媒体9に書き込むときの流れを示すフローチャートである。 図7は、ユーザデータ3をUSBメモリ8から閲覧するときの流れを示すフローチャートである。 図8は、管理プログラム4の動作を示すフローチャートである。 図9は、管理プログラム4が制御モードをオンしたときの動作を示すフローチャートである。 図10は、クライアントコンピュータ12の動作環境をチェックするときのフローチャートである。 図11は、制御部52の動作を示すフローチャートである。 図12は、アプリケーションプログラム20が終了するとき、制御部52の動作を示すフローチャートである。 図13は、制御部52が使用禁止の除外を設定するときの流れを示すフローチャートである。 図14は、ファイルシステム制御部34の動作を示す処理フローチャートである。 図15は、プロセス制御リスト150の例を図示したものである。 図16は、ドライバウェア50において、ログ取得部53が履歴を取得するときの流れを示すフローチャートである。 図17は、履歴160の例を図示したものである。 図18は、マウス、キーボードの操作の履歴を取得するとき処理を示すフローチャートである。 図19は、サーバ2において、USBメモリ8から履歴160を読み込み、その分析を行うときの流れを示すフローチャートである。 図20は、本発明の第2の実施の形態の概要を図示している図である。 図21は、本発明の第2の実施の形態のクライアントコンピュータ12にUSBメモリ8を接続して使用するときの動作概要を示すフローチャートである。 図22は、USBメモリ8の内部構造の他の実施の形態を示すブロック図である。 図23は、サーバ2又はクライアントコンピュータ12にUSBメモリ8を接続して利用するときの動作の流れを示すフローチャートである。
符号の説明
1…サーバ側
2…サーバ
3…ユーザデータ
4…管理プログラム
5…アプリケーションプラットフォームプログラム
6…外部デバイス
7…ネットワーク
8…USBメモリ
9…記録媒体
10…クライアント側
11…クライアント
12…クライアントコンピュータ
13…サブシステム
14…ユーザモード
15…カーネルモード
16…エグゼキュティブ
17…カーネル
18…ハードウェア抽象化層
20…アプリケーションプログラム
21…オペレーティングシステム
22…コネクタ
23…ネットワークカード
24…USBポート
25…ハードディスク
26…内蔵デバイス
32…インターフェースドライバ
33…ネットワークドライバ
34…ファイルシステムドライバ
35…第2デバイスドライバ
36…第1デバイスドライバ
42…インターフェース制御部
43…ネットワーク制御部
44…ファイルシステム制御部
45…第2デバイスドライバ制御部
46…第1デバイスドライバ制御部
50…ドライバウェア
51…アプリケーションプログラムインターフェース部
52…制御部
53…ログ取得部
54…暗号化部
55…復号化部
105…基板
106…ユーザ領域
107…プログラム領域
108…中央演算装置
109…USBコントローラ

Claims (25)

  1. データ管理プログラム(4)によって、電子計算機(12)のデータ管理を行うためのデータ管理方法において、
    前記電子計算機(12)を操作しているオペレーティングシステム(21)の全ての命令が実行できるカーネルモード(15)で動作し、前記電子計算機(12)に接続されているデバイス(6、26)を直接制御するためのデバイスドライバ(35、36)同士の通信、又は前記デバイスドライバ(35、36)と前記電子計算機(12)上で動作するアプリケーションプログラム(20)との通信に共通のインターフェースを提供するためのプログラムであるドライバウェアプログラム(50)を前記データ管理プログラム(4)が有し、
    前記ドライバウェアプログラム(50)は、
    (a)前記アプリケーションプログラム(20)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(35、36)から受信した受信データを含む第2データを、前記アプリケーションプログラム(20)に送信するためのアプリケーションプログラムインターフェース部(51)と、
    (b)前記デバイスドライバ(35、36)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(35、36)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部(45、46、42、43、44)と、
    (c)前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1〜4データの制御を行うための制御部(52)とからなり、
    前記アプリケーションプログラム(20)又は前記アプリケーションプログラム(20)のプロセスを示す第1制御データ(152、153)、前記アプリケーションプログラム(20)がアクセスするユーザデータ(3)のファイルパスを示す第2制御データ(154)、及び前記アクセスの許可又は不許可を示す第3制御データ(155、156)からなるプロセス制御リスト(150)が作成され、
    前記データ管理プログラム(4)は、前記プロセス制御リスト(150)に従って前記電子計算機(12)を制御するための制御モードを有し、
    特定の個人を識別するための個人認証及び前記ドライバウェアプログラム(50)の認証を行うための認証プログラム(113)並びに前記個人認証に利用されるための認証データ(116)を格納した認証記憶装置(8)が前記電子計算機(12)に接続されたとき、前記認証データ(116)を用いて前記認証プログラム(113)によって前記個人認証を行い、更に、前記認証プログラム(113)によって前記データ管理プログラム(4)の確認及び認証を行って前記制御モードを動作させ、
    前記データ管理プログラム(4)が前記制御モードで動作したとき、前記認証記憶装置(8)以外の記憶装置へのアクセスを全て不許可にする設定である第1設定、前記ユーザデータ(3)を格納するための領域である前記認証記憶装置(8)のユーザ領域(106)を使用可能にする設定である第2設定、及び前記ユーザデータ(3)を格納するための記憶装置で、前記電子計算機(12)にネットワーク(7)によって接続されている第2電子計算機(2)に内蔵又は接続されている記憶装置であるリモート記憶装置を使用可能にする設定である第3設定の内前記第1設定を含み2以上の設定を前記ドライバウェアプログラム(50)によって行い、
    前記制御モード中に前記アプリケーションプログラム(20)に関する前記第1〜3制御データを前記データ管理プログラム(4)によって取得し、
    前記ドライバウェアプログラム(50)は、取得した前記第1〜3制御データが前記プロセス制御リスト(150)に登録されているか否かを確認し、
    前記第1〜第3制御データが前記プロセス制御リスト(150)に登録されている場合は、前記プロセス制御リスト(150)に従って前記アプリケーションプログラム(20)から前記ユーザデータ(3)へのアクセスを前記ドライバウェアプログラム(50)によって制御し、
    前記制御データが前記プロセス制御リスト(150)に登録されていない場合は、前記アプリケーションプログラム(20)から前記電子ファイルへのアクセスを不許可にする制御を前記ドライバウェアプログラム(50)によって行う
    ことを特徴とする電子計算機のデータ管理方法。
  2. 請求項1において、
    前記データ管理プログラム(4)は、前記オペレーティングシステム(21)のユーザモード(14)で動作し、前記オペレーティングシステム(21)のファイルシステムとのユーザインターフェースを提供するためのアプリケーションプラットフォームプログラム(5)を有し、
    前記アプリケーションプラットフォームプログラム(5)は、前記プロセスをサスペンドモードで動作させて、前記プロセスのプロセス名(152)及び/又は前記プロセスID(153)からなる前記第1制御データを取得して前記アプリケーションプログラムインターフェース部に(51)送信する
    ことを特徴とする電子計算機のデータ管理方法。
  3. 請求項1又は2において、
    前記データ管理プログラム(4)が前記制御モードで動作するとき、前記電子計算機(12)が前記第2電子計算機(2)を含め特定の電子計算機との通信のみを許可するように通信ポート(6)の使用を許可する設定、スクリーンキャプチャ機能を禁止又は制限する設定、及びクリップボードの使用を禁止又は制限する設定の内の1以上の設定を前記ドライバウェアプログラム(50)によって行う
    ことを特徴とする電子計算機のデータ管理方法。
  4. 請求項3において、
    前記認証記憶装置(8)が前記電子計算機(12)から切断されたとき、
    前記データ管理プログラム(4)が前記制御モードでの動作を停止し、
    前記制御モードで動作するときに行った全ての設定を解除する
    ことを特徴とする電子計算機のデータ管理方法。
  5. 請求項1又は2において、
    前記認証記憶装置(8)は、プログラムを格納するための領域であるプログラム領域(107)を有し、
    前記認証プログラム(113)が前記プログラム領域(107)に格納されていて、
    前記認証記憶装置(8)が前記電子計算機(12)に接続されたとき、前記認証プログラム(113)が自動起動する
    ことを特徴とする電子計算機のデータ管理方法。
  6. 請求項1又は2において、
    前記認証記憶装置(8)は、初期設定では前記電子計算機(12)からアクセスすることができない領域で、前記ユーザデータ(3)を格納するためのユーザ領域(106)を有し、
    前記データ管理プログラム(4)が前記制御モードで動作しているとき、前記認証記憶装置(8)内の前記ユーザ領域(106)を前記認証プログラム(113)によって前記電子計算機(2)に認識させ、前記ユーザデータ(3)に前記電子計算機(12)からアクセスすることを可能にする
    ことを特徴とする電子計算機のデータ管理方法。
  7. 請求項1又は2において、
    前記電子計算機(12)の動作環境をチェックするためのプログラムであるチェックプログラム(118)を、前記認証記憶装置(8)が前記電子計算機(12)に接続されたら前記プログラム領域(107)から起動させて、前記電子計算機(8)の動作環境を前記チェックプログラム(118)によってチェックし、
    前記動作環境が所定の条件を満たしている場合にのみ、前記認証記憶装置(8)の使用を許可する
    ことを特徴とする電子計算機のデータ管理方法。
  8. 請求項7において、
    前記所定の条件は、
    前記電子計算機(12)にウィルス対策ソフトウェアがインストールされて動作していることである第1条件、及び/又は
    前記電子計算機(12)にファイル共有ソフトウェアが動作していないことである第2条件
    であることを特徴とする電子計算機のデータ管理方法。
  9. 請求項1又は2において、
    前記電子計算機(2)の制御の履歴を前記ドライバウェアプログラム(50)のログ取得部(53)によって取得し、
    前記認証記憶装置(8)の領域で、前記電子計算機(12)からのアクセスが制限されている秘密領域(120)、前記ユーザデータ(3)を格納するための前記認証記憶装置(8)のユーザ領域(106)、及び前記リモート記憶装置の中から選択される1以上に前記履歴が格納される
    ことを特徴とする電子計算機のデータ管理方法。
  10. 請求項9において、
    前記履歴は、前記ユーザ領域(106)、又は前記リモート記憶装置に暗号化されて格納される
    ことを特徴とする電子計算機のデータ管理方法。
  11. 請求項9又は10において、
    前記リモート記憶装置又は前記認証記憶装置(8)に格納されている前記履歴を分析することで前記電子計算機(12)の利用又は前記ユーザデータ(3)の利用を把握し、トレーサビリティを可能にする
    ことを特徴とする電子計算機のデータ管理方法。
  12. 電子計算機(12)のデータ管理を行うためのデータ管理プログラム(4)であって、
    前記電子計算機(12)を操作しているオペレーティングシステム(21)の全ての命令が実行できるカーネルモード(15)で動作し、前記電子計算機(12)に接続されているデバイス(6、26)を直接制御するためのデバイスドライバ(35、36)同士の通信、又は前記デバイスドライバ(35、36)と前記電子計算機(12)上で動作するアプリケーションプログラム(20)との通信に共通のインターフェースを提供するためのプログラムであるドライバウェアプログラム(50)を前記データ管理プログラム(4)が有し、
    前記ドライバウェアプログラム(50)は、
    (a)前記アプリケーションプログラム(20)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(35、36)から受信した受信データを含む第2データを、前記アプリケーションプログラム(20)に送信するためのアプリケーションプログラムインターフェース部(51)と、
    (b)前記デバイスドライバ(35、36)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(35、36)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部(45、46、42、43、44)と、
    (c)前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1〜4データの制御を行うための制御部(52)とからなり、
    前記データ管理プログラム(4)は、
    前記アプリケーションプログラム(20)又は前記アプリケーションプログラム(20)のプロセスを示す第1制御データ(152、153)、前記アプリケーションプログラム(20)がアクセスするユーザデータ(3)のファイルパスを示す第2制御データ(154)、及び前記アクセスの許可又は不許可を示す第3制御データ(155、156)からなるプロセス制御リスト(150)を読み込むステップと、
    ユーザデータ(3)、特定の個人を識別するための個人認証及び前記ドライバウェアプログラム(50)の認証を行うための認証プログラム(113)、及び前記個人認証に利用されるための認証データ(116)を格納した認証記憶装置(8)が前記電子計算機(12)に接続されたとき、前記認証記憶装置(8)の接続を検出するステップと、
    前記認証プログラム(113)が前記認証データ(116)を用いて前記個人認証を行った後に、前記認証プログラム(113)と通信して認証を行うステップと、
    前記認証後、前記認証プログラム(113)からの命令に従って、前記プロセス制御リスト(150)に従って前記電子計算機(12)を制御するための制御モードを動作させる制御モードステップと、
    前記アクセスを監視する監視ステップと、
    前記制御モードのとき、前記認証記憶装置(8)以外の記憶装置へのアクセスを全て不許可にする設定である第1設定、前記ユーザデータ(3)を格納するための領域である前記認証記憶装置(8)のユーザ領域(106)を使用可能にする設定である第2設定、及び前記ユーザデータ(3)を格納するための記憶装置で、前記電子計算機(12)にネットワーク(7)によって接続されている第2電子計算機(2)に内蔵又は接続されている記憶装置であるリモート記憶装置を使用可能にする設定である第3設定の内前記第1設定を含み2以上の設定を前記ドライバウェアプログラム(50)によって行うステップと、
    前記制御モード中に前記アプリケーションプログラム(20)に関する前記第1〜3制御データを前記データ管理プログラム(4)によって取得するステップと、
    取得した前記第1〜3制御データを前記プロセス制御リスト(150)の値と比較するステップと、
    前記第1〜第3制御データが前記プロセス制御リスト(150)の値と一致している場合は、前記プロセス制御リスト(150)に従って前記アプリケーションプログラム(20)から前記ユーザデータ(3)へのアクセスを前記ドライバウェアプログラム(50)によって制御するステップと、及び
    前記制御データが前記プロセス制御リスト(150)に登録されていない場合は、前記アプリケーションプログラム(20)から前記電子ファイルへのアクセスを不許可にする制御を前記ドライバウェアプログラム(50)によって行うステップと
    を前記電子計算機に実行させる
    ことを特徴とする電子計算機のデータ管理プログラム。
  13. 請求項12において、
    前記データ管理プログラム(4)は、前記オペレーティングシステム(21)のユーザモード(14)で動作し、前記オペレーティングシステム(21)のファイルシステムとのユーザインターフェースを提供するためのアプリケーションプラットフォームプログラム(5)を有し、
    前記アプリケーションプラットフォームプログラム(5)は、
    前記プロセスをサスペンドモードで動作させるステップと、
    前記サスペンドモードで動作している前記プロセスのハンドル、前記プロセス名(152)、前記プロセスID(153)からなる前記第1制御データを取得するプロセス取得ステップと、及び
    前記プロセス取得ステップで取得した前記第1制御データを前記アプリケーションプログラムインターフェース部(51)に送信する送信ステップと
    からなることを特徴とする電子計算機のデータ管理プログラム。
  14. 請求項13において、
    前記制御部は、
    前記アプリケーションプログラム(20)の終了イベントを待機するステップと、
    前記終了イベントが発生したとき、前記プロセスID(153)を取得するステップと、
    前記取得された前記プロセスID(153)からファイルへアクセスするファイルアクセスを前記ファイルシステム制御部(44)で停止させる命令を前記ファイルシステム制御部(44)へ送信するステップと、
    前記インターフェース制御部(42)へ通信の禁止設定を解除するステップと、
    前記ネットワーク制御部(43)へ通信の禁止設定を解除するステップと
    を有することを特徴とする電子計算機のデータ管理プログラム。
  15. 請求項12において、
    前記ドライバウェアプログラム(50)は、前記ユーザデータを前記認証記憶装置(8)から読み出すステップ、前記ユーザデータが暗号化されているとき、前記ユーザデータを復号化するステップ、及び前記ユーザデータを前記アプリケーションプログラムに渡すステップを有する
    ことを特徴とする電子計算機のデータ管理プログラム。
  16. 請求項12において、
    前記認証記憶装置(8)以外の記憶装置で、前記電子計算機(12)に内蔵又は接続された記憶装置への書き込みを不許可するステップ、前記第2電子計算機(2)を含めた特定の電子計算機と前記電子計算機(12)の通信のみを許可するように通信ポート(6)の使用を許可するステップ、前記特定の電子計算機と前記電子計算機(12)の通信に使用されていないシリアルインターフェース、パラレルインターフェース、IrDAからなる群の中から選択される以上の通信ポート(6)の使用を不許可するステップ、スクリーンキャプチャの利用を制限又は禁止するステップ、同一の前記アプリケーションプログラム(20)内にクリップボードの使用を許可するステップ、及び別々の前記アプリケーションプログラム(20)間にクリップボードの使用を禁止するステップからなるステップ群の中から選択される1以上のステップを前記制御モードステップが有する
    ことを特徴とする電子計算機のデータ管理プログラム。
  17. 請求項16において、
    前記ドライバウェアプログラム(50)は、前記認証記憶装置(8)が前記電子計算機(12)から切断されたとき、前記制御モードステップで行った全ての設定を解除して、前記制御モードを解除する制御モード解除ステップを有する
    ことを特徴とする電子計算機のデータ管理プログラム。
  18. 請求項12において、
    前記制御モードステップの実行後に、前記データ管理プログラム(4)が前記制御モードで動作したとき、初期設定で前記電子計算機(12)からアクセスできない前記認証記憶装置(8)のユーザ領域(106)にアクセスできるようにする命令を前記ドライバウェアプログラム(50)から送信するステップと
    を有し、
    前記ユーザ領域(106)は、前記認証プログラム(113)によって前記オペレーティングシステム(21)に認識されて、前記電子計算機(12)から前記ユーザデータ(3)にアクセスすることができるようになる
    ことを特徴とする電子計算機のデータ管理プログラム。
  19. 請求項12から16の中から選択される1項において、
    前記ドライバウェアプログラム(50)は、前記ユーザデータを暗号化するための暗号化ステップ又は、暗号化された前記ユーザデータを復号化するための復号化ステップを有する
    ことを特徴とする電子計算機のデータ管理プログラム。
  20. 請求項12から17の中から選択される1項において、
    前記ドライバウェアプログラム(50)は、前記電子計算機(2)の動作の履歴を取得するためのログ取得ステップ(ログ取得部53)を有する
    ことを特徴とする電子計算機のデータ管理プログラム。
  21. 請求項20において、
    前記ドライバウェアプログラム(50)は、
    ログ取得ステップによって取得された前記履歴を、前記認証記憶装置(8)の領域で、前記電子計算機(12)からのアクセスが制限されている秘密領域(120)に送信するステップと、
    ログ取得ステップによって取得した前記履歴を、前記ユーザデータ(3)を格納するための前記認証記憶装置(8)のユーザ領域(106)に暗号化部によって暗号化して送信するステップと、
    ログ取得ステップによって取得した前記履歴を前記リモート記憶装置に暗号化部によって暗号化して送信するステップと、
    ことを特徴とする電子計算機のデータ管理プログラム。
  22. 請求項20又は21において、
    ログ取得ステップによって取得された前記履歴を分析することで、前記電子計算機(12)又は前記ユーザデータ(3)の利用を把握し、前記ユーザデータ(3)のトレーサビリティができるようになる
    ことを特徴とする電子計算機のデータ管理プログラム。
  23. 請求項12において、
    前記電子計算機(12)の動作環境をチェックするためのプログラムであり、前記認証記憶装置(8)が前記電子計算機(12)に接続されたら、前記認証記憶装置(8)から起動して実行され、
    前記電子計算機の動作環境をチェックするチェックステップと、
    前記動作環境が所定の条件を満たしているか否かを判断する判断ステップと、
    前記判断ステップの結果を受けて前記認証記憶装置(8)の使用を許可又は不許可するステップと
    を有するチェックプログラム(118)によって、前記データ管理プログラム(4)が前記電子計算機(12)で動作している否かが確認される
    ことを特徴とする電子計算機のデータ管理プログラム。
  24. 請求項23において、
    前記所定の条件は、前記電子計算機(12)にウィルス対策ソフトウェアがインストールされて動作していることである第1条件、及び/又は前記電子計算機(12)にファイル共有ソフトウェアが動作していないことである第2条件である
    ことを特徴とする電子計算機のデータ管理プログラム。
  25. 請求項12から24の中から選択される1項に記載の電子計算機を実行させるための電子計算機のデータ管理プログラムを記録した記録媒体。
JP2008522611A 2006-06-27 2007-06-27 電子計算機のデータ管理方法、プログラム、及び記録媒体 Active JP4681053B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006177085 2006-06-27
JP2006177085 2006-06-27
PCT/JP2007/062946 WO2008001823A1 (fr) 2006-06-27 2007-06-27 procédé de gestion de données informatiques, programme et support d'enregistrement

Publications (2)

Publication Number Publication Date
JPWO2008001823A1 JPWO2008001823A1 (ja) 2009-11-26
JP4681053B2 true JP4681053B2 (ja) 2011-05-11

Family

ID=38845588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008522611A Active JP4681053B2 (ja) 2006-06-27 2007-06-27 電子計算機のデータ管理方法、プログラム、及び記録媒体

Country Status (2)

Country Link
JP (1) JP4681053B2 (ja)
WO (1) WO2008001823A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017767A4 (en) * 2007-04-10 2009-12-30 Hitachi Software Eng FILE MANAGEMENT SYSTEM AND METHOD AND MOBILE DEVICE
JP4228322B1 (ja) * 2007-12-27 2009-02-25 クオリティ株式会社 携帯端末装置,ファイル管理プログラムおよびファイル管理システム
JP2009205673A (ja) * 2008-02-01 2009-09-10 Canon Electronics Inc 記憶装置、情報処理装置、端末装置およびコンピュータプログラム
JP5080352B2 (ja) * 2008-05-12 2012-11-21 キヤノンソフトウェア株式会社 ネットワークインタフェース装置、画像形成装置、ネットワークインタフェース装置の制御方法及びプログラム
JP2010009473A (ja) * 2008-06-30 2010-01-14 Nitty-Gritty Inc メモリ装置
JP5126530B2 (ja) * 2008-09-24 2013-01-23 大日本印刷株式会社 コンピュータの環境を測定する機能を備えた外部記憶デバイス
JP2010218428A (ja) * 2009-03-18 2010-09-30 Buffalo Inc 外付け記憶装置及びその制御方法
JP5587112B2 (ja) * 2010-09-21 2014-09-10 中国電力株式会社 データ保存時間設定機能付き可搬型携帯記憶装置
JP2012234513A (ja) * 2011-04-20 2012-11-29 Ed-Contrive Co Ltd 外部記憶装置のログ収集システム
JP5980771B2 (ja) * 2013-12-27 2016-08-31 京セラドキュメントソリューションズ株式会社 画像処理システム及びログ記録方法
US9836426B2 (en) * 2015-08-04 2017-12-05 Honeywell International Inc. SD card based RTU
US11681822B2 (en) 2019-06-17 2023-06-20 International Business Machines Corporation Managing sensitive user information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254840A (ja) * 1997-03-13 1998-09-25 Fujitsu Ltd モーバイルコード実行システム
WO2002091195A1 (fr) * 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
JP2004070467A (ja) * 2002-08-02 2004-03-04 Kozo Niimura 外部記憶装置及びそれを利用したコンピュータシステム
JP2005182712A (ja) * 2003-12-24 2005-07-07 Meidensha Corp コンピュータ間のデータ処理方法
JP2006092081A (ja) * 2004-09-22 2006-04-06 Hitachi Software Eng Co Ltd 不特定者または多数者が利用するパソコンの安全な起動利用方法及びそのような利用を実現する記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254840A (ja) * 1997-03-13 1998-09-25 Fujitsu Ltd モーバイルコード実行システム
WO2002091195A1 (fr) * 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
JP2004070467A (ja) * 2002-08-02 2004-03-04 Kozo Niimura 外部記憶装置及びそれを利用したコンピュータシステム
JP2005182712A (ja) * 2003-12-24 2005-07-07 Meidensha Corp コンピュータ間のデータ処理方法
JP2006092081A (ja) * 2004-09-22 2006-04-06 Hitachi Software Eng Co Ltd 不特定者または多数者が利用するパソコンの安全な起動利用方法及びそのような利用を実現する記録媒体

Also Published As

Publication number Publication date
JPWO2008001823A1 (ja) 2009-11-26
WO2008001823A1 (fr) 2008-01-03

Similar Documents

Publication Publication Date Title
JP4787263B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
JP4681053B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
JP4781692B2 (ja) クライアントのi/oアクセスを制限する方法、プログラム、システム
KR100861822B1 (ko) 데이터 관리 방법
US20080016553A1 (en) Computer security control method based on usb flash disk
US20050086447A1 (en) Program and apparatus for blocking information leaks, and storage medium for the program
JP4662138B2 (ja) 情報漏洩防止方法及びシステム
US8776258B2 (en) Providing access rights to portions of a software application
JP2004280227A (ja) 文書管理システム
JP4185546B2 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
JP4471129B2 (ja) 文書管理システム及び文書管理方法、文書管理サーバ、作業端末、並びにプログラム
JP2008084081A (ja) 機密情報の漏洩防止システム、機密情報の漏洩防止方法、記録媒体、及びプログラム
KR20090128818A (ko) 보안 영역 관리 시스템 및 그 관리 방법
JP2003122615A (ja) ファイル処理方法とこの方法にて利用可能なファイル処理装置
JP2009230587A (ja) 電子計算機のデータ管理方法、そのためのプログラム
JP6761921B2 (ja) 電子データの管理方法、管理プログラム、及びプログラムの記録媒体
JP5156559B2 (ja) 電子計算機のデータ管理方法、そのためのプログラム
JP2021174432A (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
JP2009059158A (ja) 外部装置管理システム
JP3840580B1 (ja) ソフトウエア管理システムおよびソフトウエア管理プログラム
CN111737722B (zh) 内网终端间数据安全摆渡方法及装置
KR20080030457A (ko) 정보누설억제장치, 정보누설억제 프로그램, 정보누설억제기록매체 및 정보누설억제 시스템
KR20080030458A (ko) 정보누설억제장치, 정보누설억제 프로그램, 정보누설억제기록매체 및 정보누설억제 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4681053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250