説明

メモリ装置、及び電子データ管理方法

【課題】ユーザに提供されたユーザデータを予め決めた範囲内にのみ利用でき、ユーザデータへのアクセスを追跡し、監視するためのメモリ装置、及び電子データ管理方法を提供することにある。
【解決手段】電子計算機2に接続されているメモリ手段1に格納されている電子ファイルを利用するとき、電子ファイルを利用することができる利用範囲を示す属性情報を参照して、電子ファイルの利用の許可又は不許可を判断する。外部装置3から、位置情報、及び/又は、時刻情報を取得し、これを属性情報と比較して、属性情報が予め決めていた利用範囲内に、位置情報及び/又は時刻情報が存在するとき許可をし、電子ファイルの利用の許可する。利用範囲内ないときは、電子ファイルの利用を不許可する。外部装置には、GPS装置、又は電子時計を用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ装置に関し、特に、電子データを格納したメモリ装置に関する。更に、電子データの管理を行うためのデータ管理システムに関し、電子データが格納されているファイルへのアクセスを追跡して、監視するデータトレーサビリティのためのデータ管理方法に関する。
【背景技術】
【0002】
個人情報、ビジネスのノウハウは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが大事である。例えば、保険会社は、災害時に復旧マニュアルを担当者に配布している。この復旧マニュアルはノウハウの集積であり、非常に高価な情報価値がある。オフラインで配布された復旧マニュアルを外部への流出やコピーをさせたくないことがある。
【0003】
また、学校の教師は、授業資料、生徒の個人情報を含む書類を、自宅で閲覧、編集、チェック、採点することが良くある。このとき、これらのデータを適切に扱っているかを監視し、データのトレーサビリティを確保することが重要である。更に、メーカーは、製品の仕様書や設計書を関係者に配布している。機密情報であるこの仕様書や設計書を関係者以外には参照されないようにし、外部へ流出するのを避けたいことがある。出版物等の校正時には、原本の電子データを変更するが、原本や校正された電子データが外部へ流出することを避けたい。写真等の画像データも、同様に、原本や編集された電子データが外部へ流出することを避けたい。
【0004】
上述のように、電子データが外部に持ち出されても、どこで、だれが、いつ扱ったかを明確にし、電子データのトレーサビリティを確保することが重要である。このような要望に対応するためには、多数の製品が販売されている。例えば、特許文献1には、データ管理用のシステムが開示されている。具体的には、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機から、その処理目的以外に利用できないようにし、外部へ持ち出せないようにしている。
【0005】
データの使用範囲を監視するには、GPSを利用することができる。GPSは、グローバル・ポジショニング・システム (Global Positioning System )の略称であり、全地球測位システム、汎地球測位システム等と呼ばれている。GPSを利用すると、地球上における現在位置を知りことができる。ここで、GPSを概略のみを記述する。米国が約30個のGPS衛星を打ち上げ、このGPS衛星は、GPS信号を発信している。GPS衛星は約20000kmの高度を一周約12時間で動く衛星である。
【0006】
GPS受信機は、GPS衛星から発信されるGPS信号を受信して、測定地点の座標を出力する。GPS受信機は、通常、測定地の上空にある数個の衛星からの信号を受信して、処理して、測定地点の座標、現在時刻を計算している。現在、GPSを利用した位置確認方法は、カーナビゲーションシステム、航海をはじめとして普及している。GPSを利用すれば、より位置確認が確実にかつ精密にでき、電子ファイルの取り扱う場所の特定、及び時刻管理にも応用できるものである。
【0007】
例えば、特許文献2には、携帯情報端末にGPS制御モジュールを搭載しているデータ処理装置を開示している。携帯情報端末の内部の記録媒体に、その携帯情報端末を使用できる使用行動範囲が保存されている。GPS制御モジュールから読み取った現在位置と使用行動範囲を比較して、携帯情報端末が使用行動範囲内にいない場合、携帯情報端末内のファイルを削除する処理をしている。
【0008】
特許文献3〜5には、屋内でも正確な位置情報を提供できるシステムを開示している。このシステムは、ビル内、地下等、障害物によって、GPS衛星から正確な信号が受信できない場所でも、擬似GPS信号を送信している。これにより、ユーザは、通常のGPSと同様に正確なGPS信号を受け取ることができる。特に、特許文献5には、電波が届かない場所において位置情報を提供するための位置情報提供システム、位置情報提供装置および屋内送信機を開示している。
【0009】
位置情報提供装置は、受信された測位信号を取得し、測位信号の発信源を特定し、測位信号の発信源が屋内である場合に、測位信号からメッセージデータを取得し(S630)、そのデータから座標値を取得し(S632)と、その座標値に基づいて位置情報を表示している(特許文献3、4も参照。)。
【0010】
【特許文献1】WO2007/049625 「電子計算機のデータ管理方法、プログラム、及び記録媒体」
【特許文献2】公開特許2003-18652号公報
【特許文献3】公開特許2007-271499号公報「測位装置」
【特許文献4】公開特許2007-271500号公報「位置姿勢推定装置」
【特許文献5】公開特許2007-278756号公報「位置情報提供システム、位置情報提供装置および屋内送信機」
【発明の開示】
【発明が解決しようとする課題】
【0011】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、クライアントに提供されたユーザデータへのアクセスを追跡し、監視するためのメモリ装置、及び電子データ管理方法を提供することにある。
【0012】
本発明の他の目的は、クライアントに提供されたユーザデータを目的以外に利用することができないように、ユーザデータを管理するためのメモリ装置、及び電子データ管理方法を提供することにある。
【0013】
本発明の更に他の目的は、クライアントに提供されたユーザデータを予め許可されていない場所及び/又は時刻・カレンダーに利用できないように、ユーザデータを管理するためのメモリ装置、及び電子データ管理方法を提供することにある。
【課題を解決するための手段】
【0014】
本発明は、前記目的を達成するため、次の手段を採る。
〔データ管理方法〕
本発明は、電子データ管理方法に関するものである。本発明は、電子計算機の電子データ管理方法に関するものである。具体的には、電子計算機(2)に接続されているメモリ手段(1)に格納されている電子ファイルを利用するとき、前記電子ファイルを利用することができる利用範囲を示す属性情報を参照して、前記電子ファイルの利用の許可又は不許可を判断する。
【0015】
本発明の電子計算機の電子データ管理方法は、前記メモリ装置(1)は、(a)外部情報を提供する外部装置(3)と、前記電子計算機(2)とのデータ通信を行う回線との接続又は、切断の制御を行う制御手段(14,15)、及び、(b)前記電子ファイルを格納した前記記憶手段(16)からなり、前記外部情報は、前記電子ファイルの地球上の位置である位置情報、及び/又は、現在の時刻及びカレンダーを示す時刻情報からなり、前記外部装置(3)が、前記制御手段(14,15)を介して、前記電子計算機(2)に接続されたとき、前記電子計算機(2)は、前記外部情報を取得して、前記属性情報と、前記外部情報を比較し、前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び/又は前記時刻情報が存在するとき、前記許可をし、前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び/又は前記時刻情報がないとき、前記不許可をすることを特徴とする。
【0016】
〔ドライバウェア〕
前記電子計算機(2)は、ドライバウェア手段(50)を有する。ドライバウェア手段(50)は、前記電子計算機(2)を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作する。ドライバウェア手段(50)は、前記電子計算機(2)に接続されているデバイス(E1〜E6)を直接制御するためのデバイスドライバ(D1〜D5)同士の通信、又は前記デバイスドライバ(D1〜D5)と前記電子計算機(2)上で動作するアプリケーションプログラム(41)との通信に共通のインターフェースを提供するための手段である。
【0017】
ドライバウェア手段(50)は、アプリケーションプログラムインターフェース部(51)、デバイスドライバ制御部(C1〜C4)、及び制御部(52)からなる。アプリケーションプログラムインターフェース部は、アプリケーションプログラム(41)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(D1〜D5)から受信した受信データを含む第2データを、前記アプリケーションプログラム(41)に送信するためのものである。
【0018】
デバイスドライバ制御部(C1〜C4)は、前記デバイスドライバ(D1〜D5)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(D1〜D5)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのものである。制御部(52)は、前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うためのものである。
【0019】
更に、アプリケーションプログラムインターフェース部(51)は、前記アプリケーションプログラム(41)から前記電子ファイルへアクセスときの前記アクセスを取得して、前記デバイスドライバ制御部(C1〜C4)は、前記ファイルの前記属性情報を前記メモリ手段(1)から取得して、更に、前記外部装置(3)から、前記位置情報、及び/又は、前記時刻情報を取得し、前記制御部は、前記位置情報、及び/又は、前記時刻情報と、前記属性情報を比較して、前記許可又は前記不許可を出力し、前記許可の場合、前記アクセスを前記デバイスドライバ(D1〜D5)へ送信し、前記不許可の場合、前記アクセスを破棄する。
【0020】
前記メモリ手段(1)に格納されている前記ユーザの個人情報を利用して、前記ユーザの個人認証を行うと良い。前記個人認証が成功したとき、前記回線を接続して、前記外部装置(3)に前記電子計算機(2)からアクセス可能にし、前記外部装置に前記電子計算機から供給される電源が遮断されたとき、前記回線を切断して、前記外部装置が別の電源で動作しても、前記電子計算機へアクセスできないようにすると良い。前記外部装置(3)は、電波時計であると良い。この場合は、前記時刻情報は、前記電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである。
【0021】
前記外部装置(3)は、GPS受信機であると良い。この場合は、前記位置情報は、前記GPS受信機が取得したGPSデータから取得した座標データであり、前記時刻情報は、A)前記GPSデータから取得した前記時刻及び/又は前記カレンダー、又は、B)電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータであると良い。
【0022】
本発明の電子データ管理方法は、ユーザデータを格納した記憶手段が電子計算機に接続され、ユーザデータが電子計算機上に読み出されてアプリケーションプログラムによって閲覧又は編集され、かつ、電子計算機の入力装置から入力された入力データによってアプリケーションプログラムが操作されて閲覧又は編集が行われているとき、ユーザデータが電子計算機から外部へ漏えいされないように制御し、且つ、正当な場所、指定時刻にアクセスできる、ユーザデータのトレーサビリティを確保する。
【0023】
〔メモリ装置〕
本発明のメモリ装置は、電子ファイルが格納されるメモリ手段(16)と、電子計算機(2)に接続するための第1端子(11)とを有する。また、本発明のメモリ装置は、外部装置(3)が接続されるための第2端子(17)と、前記電子計算機(2)と前記メモリ手段(16)との間の通信、及び、前記電子計算機(2)と前記第2端子(17)との間の通信を制御するための制御手段(12、13、14)とからなる。
【0024】
制御手段(12、13、14)は、前記電子計算機(2)が前記外部装置(3)と通信するとき、前記第1端子(11)と前記第2端子(17)の間のデータ通信線を接続する。前記制御手段(12、13、14)は、前記電子計算機(2)が前記外部装置(3)と通信しないとき、又は、前記第2端子(17)から前記外部装置(3)が切断されたとき、前記第1端子(11)と前記第2端子(17)の間の前記データ通信線を切断する。
【0025】
前記外部装置(3)は、前記外部装置(3)の前記電子ファイルの地球上の位置である位置情報、及び/又は、現在の時刻及びカレンダーを示す時刻情報を含む外部情報を提供する装置であると良い。メモリ装置は、外部情報を、前記電子ファイルの属性情報と比較して、前記電子計算機を利用するか否かの判定を行うと良い。制御手段は、前記メモリ手段に格納されている個人情報を利用して、個人認証を行うと良い。個人認証が成功した場合、制御手段は、前記外部情報を取得して、前記判定を行う。
【0026】
前記電子計算機は、前記メモリ手段に格納されているファイルにアクセスするとき、前記ファイルを利用できる前記時刻及び/又は前記位置情報に関する情報を示す属性情報を取得して、前記外部装置から前記外部情報を取得し、前記属性情報と前記提供情報を比較して、前記ファイルへの前記アクセスを判断する判断手段を有し、前記判断手段からでる判断結果に従って前記アクセスを許可、または不許可する実行手段を有すると良い。
【0027】
〔電子データ管理プログラム〕
本発明の電子計算機のデータ管理方法に従って、電子計算機のデータ管理を電子計算機に実現させるための電子計算機の電子データ管理プログラムである良い。具体的には、ユーザデータを格納した記憶装置が電子計算機に接続され、ユーザデータが電子計算機上に読み出されてアプリケーションプログラムによって閲覧又は編集され、かつ、電子計算機の入力装置から入力された入力データによってアプリケーションプログラムが操作されて閲覧又は編集が行われているとき、電子データ管理プログラムは、ユーザデータが電子計算機から外部へ漏洩されないように制御する。
【0028】
本発明のメモリ装置は、この電子データ管理プログラムを格納しているとよい。メモリ装置が電子計算機に接続されたときに、この電子データ管理プログラムは、電子計算機に自動的にインストールされて、動作すると良い。メモリ装置は、ユーザデータを格納するための領域で、かつ、読み込みと書き込みすることができるユーザ領域と、プログラムを格納するための領域で、かつ、読み込み専用のプログラム領域とを有すると良い。
【0029】
メモリ装置が電子計算機に接続されたとき、プログラム領域に格納されている認証プログラムが自動起動し、電子データ管理プログラムを確認した後、電子データ管理プログラムの制御モードをオンにする命令を電子データ管理プログラムに送信すると良い。制御モードがオンになったとき、認証プログラムがユーザ領域をオペレーティングシステムに認識させて、電子計算機からユーザデータにアクセス可能にすると良い。
【0030】
メモリ装置は、メモリ装置を利用するユーザを個人認証するために利用する認証データを格納した認証部を有すると良い。
この電子データ管理プログラムは、ネットワーク上のネットワークストレージに格納されていると良い。このネットワークは、LAN、WAN、又は、インターネットであると良い。このネットワークは、有線又は無線の公衆通信網によってアクセス可能なものであると良い。
【0031】
この電子データ管理プログラムは、読み出しのみ、読み出し書き換え可能な各種CD、各種DVD、そして、不揮発性メモリ等等の記録媒体に記録されていると良い。このデータ管理プログラムは、この電子計算機にリモートでアクセスできる第2電子計算機上に格納され、この電子計算機にリモートで動作すると良い。アプリケーションプログラムが制御対象リストの値と一致し、かつ、ユーザデータの複製又は移動を制限する必要がある場合、制御機能は、入力装置の入力データを制御し制限をする旨の命令を発する機能をからなると良い。
【0032】
電子データ管理プログラムは、入力装置のマウスのマウスポインタを、所定のアクティブウインドウから出ないように制御して、ユーザデータの複製を制限すると良い。クリップボードを介したデータ複製を禁止又は制限して、ユーザデータの複製を制限すると良い。電子データ管理プログラムは、ログ取得機能を有すると良い。電子データ管理プログラムは、ログ取得機能は、電子計算機の動作のログを取得し、このログに、外部装置から取得した時刻情報、位置情報を含むと良い。電子データ管理プログラムは、ユーザデータを暗号化するための暗号化部、及び暗号化されたユーザデータを復号化するための復号化部を有すると良い。
【発明の効果】
【0033】
本発明によると、次の効果が奏される。
本発明は、ユーザデータを格納したメモリ装置を電子計算機に接続して、ユーザデータを電子計算機上で利用するとき、電子計算機に接続された外部装置から、位置情報及び/時刻情報を取得して、ユーザデータを利用している場所、時間の確認を行うことが可能になった。これにより、ユーザは、予め設定された場所及び/又は時刻・カレンダーの範囲から出て、ユーザデータを利用できなくなった。
【0034】
また、電子計算機上に動作している管理手段によって、電子計算機に内蔵又は接続されている全ての外部記憶装置を書き込み禁止に設定し、また、ネットワークの使用も禁止するように設定することによって、ユーザデータを複製して目的以外のことに利用することを防止し、ユーザデータを適切に管理することが可能になった。
本発明のメモリ装置によると、メモリ装置に接続された外部装置に供給される電源を切断したとき、データ通信線も切断して、メモリ装置としての安全性を高めることができた。
【発明を実施するための最良の形態】
【0035】
以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の実施の形態〕
図1には、本発明の電子データ管理システムの概要を図示している。本発明の電子データ管理システムは、メモリ装置1、電子計算機2、及び外部装置3からなる。電子計算機2は、ユーザが利用している電子計算機である。電子計算機2は、入力装置、出力装置、CPU、メモリを備えた通常の電子計算機である。
【0036】
メモリ装置1は、不揮発性メモリ等の記憶手段を備えたデバイスである。メモリ装置1には、個人認証のための認証データが格納することができる。更に、メモリ装置1には、ユーザデータが格納することができる。ユーザデータは、ユーザの個人情報、業務ファイル等をはじめとする電子データである。例えば、ユーザデータは、業務のノウハウが蓄積されたデータである。ユーザデータは、災害時に使用するための保険会社の復旧マニュアルであることができる。
【0037】
また、ユーザデータは、メーカーが利用するための製品の仕様書や設計書であるころができる。更に、出版物や写真等の画像データの校正時に使うための原本の電子データであることができる。ユーザデータは、教師等が利用する授業用の教材、試験用のデータなどであることができる。ユーザデータは、プログラム等のソースコード、バイナリファイルであることができる。また更には、個人情報や顧客情報等が格納されたデータファイルであることができる。個人情報としては、例えば、氏名、住所、連絡先等の情報を意味する。顧客情報としては、例えば、顧客の氏名、名称、住所、連絡先、取引の内容等の情報である。以後は、このような個人情報や顧客情報等のデータは、単にユーザデータと記載する。
【0038】
外部装置3は、ユーザデータの電子データを格納したメモリ装置、又は、電子計算機2に特定のデータを提供する装置である。外部装置3は、メモリ装置1に接続されている。この接続用の規格は、基本的に、任意の規格であることができる。この接続には、パラレル転送方式、シリアル転送方式の任意の規格のインターフェースが利用できる。本実施の形態では、外部装置3は、USB規格のインターフェースを有するものとする。
【0039】
USB規格は、電子計算機と周辺機器との間にデータ伝送を行うための規格であり、「USB Mass Storage Class」という、外部記憶装置をリムーバブルドライブとして認識するための仕様が入っている。メモリ装置1、外部装置3は、このUSB Mass Storage Classに準拠し、オペレーティングシステム側が持っているMass Storage Class用のドライバを使って、メモリ装置1と電子計算機との間に電子データの送受信を行う。メモリ装置1、外部装置3は、電子計算機2のUSBポートに差し込みされ、電源供給されると、オペレーティングシステムにリムーバブルドライブとして認識される。
【0040】
本実施の形態では、外部装置3は、USB規格のコネクタを有しているものとして説明をする。例えば、外部装置3は、GPSに対応のGPS装置である。同様に、メモリ装置1と電子計算機2との接続には、基本的に、任意の規格であることができる。本実施の形態では、メモリ装置1は、USB規格のインターフェースを有するものとする。本実施の形態では、メモリ装置1は、外部装置3との接続用に、USB規格のインターフェースを有するものとする。
【0041】
図2には、メモリ装置1を利用するときのフローチャートを示している。メモリ装置1に外部装置3を接続する(ステップ1)。そして、メモリ装置1を電子計算機2に接続する(ステップ3)。電子計算機2は、メモリ装置1を認識する。そして、メモリ装置1内のプログラム領域に格納されている認証モジュールが自動起動して、動作する(ステップ5)。認証モジュールは、個人認証を開始する(ステップ7)。メモリ装置1の隠し領域には、個人認証のための認証データが格納されている。
【0042】
認証モジュールは、この個人認証を用いて、ユーザの個人認証を行う(ステップ9)。この個人認証は、パスワード認証、生態認証で等の安全性の高い認証方法を使用することができる。パスワード式の個人認証の場合は、ユーザは、電子計算機2のキーボードからパスワードを入力して、個人認証が行われる。生態認証の場合は、ユーザは、生態認証用の装置に自身の生体情報を入力して行なわれる。個人認証が成功しないとき、メモリ装置1内のユーザデータを電子計算機2に読み込んで利用することができない。
【0043】
言い換えると、電子計算機2からメモリ装置1にアクセスし、メモリ装置1内のユーザデータを利用できない。更に、個人認証が成功しないとき、メモリ装置1に接続されている外部装置3が利用できない(ステップ11)。個人認証が成功すると、メモリ装置1内のユーザデータが利用できる。個人認証が成功すると、外部装置3と電子計算機2が接続され、利用が可能になる(ステップ13)。
【0044】
そして、電子計算機1は、外部装置3からデータを取得でき(ステップ15)、このデータの加工、編集も可能になる(ステップ17)。更に、電子計算機1は、外部装置3から取得したデータに基づいて、メモリ装置1の制御、電子計算機1内又はメモリ装置1内の電子データの制御ができる(ステップ17)。外部装置3が、メモリ装置の場合は、電子計算機2からデータを書き込み、メモリ装置内のデータの読み込みもできるようになる。外部装置3が、特定のデータ、例えば、位置データ又は時刻データを出力する装置場合は、電子計算機2は、これらのデータを取得して、これらのデータに基づいた処理を行う。
【0045】
例えば、位置データ又は時刻データに基づいて、メモリ装置1内のデータの読み込み、書き込みの制御処理を行うことができる。ここで、外部装置1がGPS装置である場合を例に説明する。GPSの信号を受信し、位置情報及び/又は時刻情報を出力するものであれば、GPS装置は、任意の種類、任意の規格準拠のものでも良い。個人認証が成功すると、電子計算機2は、GPS装置と接続される。GPS装置は、電子計算機2に認識され、その利用可能になる。電子計算機2からGPS装置に要求して、電子計算機2は、GPS装置から位置情報及び/又は時刻情報を取得する。
【0046】
位置情報及び/又は時刻情報を用いて様々な処理をすることができる。例えば、個人情報の保護の場合は、ユーザデータの利用の正当性を保証するために利用できる。言い換える、ユーザデータを利用できる場所及び/又は時刻が決められている場合、電子計算機2では、GPS装置から取得した位置情報及び/又は時刻情報を用いて、ユーザ、又はその外部記憶装置が置かれている場所及び/又は時刻を確認し、ユーザデータの利用の許可をすることができる。無論、指定された場所、時間の範囲から出ている場合、その範囲内に入らない場合は、ユーザデータの利用が不許可になる。
【0047】
この場合、ユーザデータは、電子計算機2、メモリ装置1、電子計算機2に接続された他のメモリ装置、及び、ネットワーク上のサーバ、ストレージデバイスに格納されている電子データであることができる。このような制御は、電子計算機2上で動作している電子データ管理プログラムによって行うことができる。このような制御は、電子データのトレーサビリティを実現するための、電子データ管理プログラムによって行うことができる。後述する実施の形態に詳しく説明するが、ここで概要のみを記述する。
【0048】
電子データ管理プログラムは、ユーザデータを電子計算機2上で利用する環境を提供するプログラムである。言い換えると、電子データ管理プログラムは、ユーザデータが外部に漏えいしないような環境を提供している。電子データ管理プログラムは、GPS装置から取得した位置情報及び/又は時刻情報を含むGPSデータを利用して、電子計算機2が正当な環境で動作しているかを特定する。つまり、当該電子計算機2をどこで、いつ利用しようとしているかを特定する。ここでは、ユーザは、電子計算機2を直接操作して作業を行なうものとしている。
【0049】
電子計算機2とメモリ装置1、外部装置3は、常識範囲の有線又は、無線のインターフェースで接続されているものとする。また、電子計算機2からユーザデータを読み込む等の方法でアクセスするときに、このアクセスをキャッチして、このアクセスの許可又は不許可をする。例えば、電子データ管理プログラムは、ユーザデータを読み込むときに、この読み込みのアクセスをキャッチして、特定条件に合致したときにだけ、読み込みアクセスを許可する。電子データ管理プログラムが要求して、GPS装置からデータを取得することもできる。
【0050】
ユーザデータは、その利用できる特定条件としては、ユーザ認証、アクセス場所、アクセス時刻等を有することができる。この特定条件は、ユーザデータの属性情報として、保存されていることが好ましい。保存先は、ユーザデータの先頭に書き込まれていることが好ましい。この属性情報は、ユーザデータを利用できる利用者、利用できる期間、利用できる場所等を指定できるデータである。電子データ管理プログラムは、GPSデータを、属性情報と照合して、利用できる期間及び/又は時刻と、利用できる場所にあるかを確認して、ユーザデータの利用を許可、又は不許可する。
【0051】
例えば、次のように処理する。ユーザが、メモリ装置1内のユーザデータにアクセスする。電子データ管理プログラムは、ユーザのこのアクセスを検知し、取得する。電子データ管理プログラムは、GPS装置からGPSデータ取得し、これをユーザデータの属性情報とを比較する。GPSデータの位置情報が、ユーザデータの属性情報に示されているアクセスできる場所の範囲内にあるときは、ユーザデータへのアクセスを許可する。
【0052】
GPS情報からは、電子計算機2を利用している場所の情報をリアルタイムで取得できる。これを比較して、ユーザデータに正当な場所でアクセスしているかを常時判断できる。また、GPS装置の時刻データを利用して、ユーザデータを正当な時間範囲内にアクセスしているかを判断する。ユーザデータへのアクセスが、許可された場所、時刻ではないときは、ユーザデータの利用を止めることができる。また、削除もできる。
【0053】
図3は、ユーザデータのファイルの制御を示すフローチャートである。ここでいう「ファイル」は、電子データのユーザデータが特定の名前が付けられて、記録装置に保存されているものをいう。すなわち、「ファイル」は、通常のファイルをいう。電子計算機2からメモリ装置1に格納されたファイルへアクセスする(ステップ30)。このアクセスは、まず、ファイルを読み出すことである。また、メモリ装置1に新規のファイルを書き込むことでも良い。
【0054】
ファイルを読み出すときに、まず、ファイルの属性情報を取得する(ステップ32)。外部装置3からデータを取得する(ステップ34)。属性情報は、ファイルの先頭の書き込まれていることが望ましい。ファイルは、暗号化することもできる。属性情報には、このファイルにアクセスできるユーザ、アクセスできる場所の範囲、アクセスできる期間、アクセスできる時間帯等の内1以上のデータが指定されている。また、アクセスできるアプリケーションプログラムも指定することができる。
【0055】
また、この属性情報は、ファイルとは別に、独立したファイルとして格納されることもできる。また、この属性情報は、データベースを構成し、データベースは、メモリ装置1、電子計算機2、ネットワーク上のストレージ、及び電子計算機2に接続された他の記録媒体の何れかに格納されることもできる。更に、複数のファイルの属性情報が、一覧になって別ファイルにすることもできる。そして、外部装置から取得した位置及び/又は時間に関するデータと、ファイルの属性情報を比較して、位置及び/又は時間に関するデータが属性情報の範囲内あるか否かを判断する(ステップ36)。
【0056】
範囲内に入らない場合は、このファイルに対して操作できない旨を表示する。よって、ユーザは、このファイルにアクセスすることができない(ステップ38)。この不許可は、ユーザにその旨をディスプレイに表示して、警告することが望ましい。また、ユーザデータの漏洩を防ぐために、ユーザデータを削除することもできる(ステップ40)。ユーザは、操作できない旨が表示されているにもかかわらず、同一ファイルに対して、不適切に多数のアクセスをした場合は、ユーザデータの漏洩を防ぐために、ユーザデータを削除することもできる(ステップ40)。
【0057】
位置及び/又は時間に関するデータが属性情報の範囲内に入る場合は、ファイルへのアクセスを許可する(ステップ42)。具体的には、ファイルを読み出すことを許可する。また、この許可は、ファイルに追加して書き込む許可でも良い。また、ファイルを削除する許可でも良い、ファイルを複製する許可でも良い。更に、ファイルを同一メモリ領域内の別フォルダに移転しても良い。更に、ファイルを、別の記憶装置に移転、複製しても良い。
ファイルを読み出すときは、ファイルの復号化を行う(ステップ44)。この復号化されたファイルは、適当なアプリケーションプログラムに渡されて編集等が行なわれる(ステップ46)。
【0058】
〔メモリ装置の構成〕
本発明のメモリ装置1の構成例を、図4の(a)、(b)に図示している。図4(a)は、正面図であり、図4(b)は裏面図である。メモリ装置1は、第1端子11、ハブコントローラ12、ポートコントローラ13、切り替え器14、メモリコントローラ15、メモリ16、第2端子17からなる。第1端子11は、メモリ装置1を電子計算機2に接続するためのコネクタである。メモリ16は、ユーザデータを記憶するためのメモリである。第2端子17は、メモリ装置1に外部装置3を接続するためのコネクタである。
【0059】
外部装置3は、通常は不揮発性メモリであることができる。外部装置3は、GPS装置、電波時計、携帯電話機等であることができる。本実施の形態では、GPS装置として説明する。切り替え器14は、外部装置3と、電子計算機1とのデータ通信を制御するものである。具体的には、外部装置3と、電子計算機1との通信回線を接続、切断する素子である。ポートコントローラ13は、切り替え器14の動作を制御するものである。ハブコントローラ12は、電子計算機1とメモリ16との通信と、及び、電子計算機1と外部装置3との通信を制御するものである。
【0060】
ハブコントローラ12は、USB規格のハブとして機能するものである。メモリ装置1は、その動作状況を示す表示器18を有する。図5には、メモリ装置1の主要な構成部分をブロック図で示している。図4には、メモリ装置1の主要な構成部分をブロック図で示している。表示器18は、メモリ装置1の動作を示すものである。ここでは、第1端子11は、ハブコントローラ12と接続されている。ハブコントローラ12には、メモリコントローラ15、切り替え器14、及びポートコントローラ13が接続されている。
【0061】
メモリコントローラ15は、メモリ16と接続されている。ポートコントローラ13は、切り替え器14とも接続されている。切り替え器14は、第2端子17とも接続されている。図6には、図5と同様なブロック図を示し、この図5に加えて電源関係の要素も図示している。電源関係の要素としては、電源変換器19、電源スイッチ20がある。電源変換器19は、各デバイスに接続されるが、この接続の様子は、本発明の要旨でもないのでこれを省略しており、その詳細は細かく図示していない。
【0062】
電源変換器19は、第1端子11に接続され、電子計算機2の電源回線(図示せず。)に接続されている。電源変換器19は、電源回線から印加された電圧を変換して、各デバイスに対応する電源として各デバイスに印加している。また、電源スイッチ20は、第1端子11、第2端子17に接続されている。電源スイッチ20は、第2端子17に接続された外部装置3に電源を供給するためのものである。表示器18は、メモリ装置1の動作状態を示す素子である。表示器18は、メモリ装置1が動作する様子を、ユーザに視覚的に、又は、聴覚的に提供するものであれば、公知の原理、手段のものを利用できる。
【0063】
表示器18は、例えば、LED、スピーカ、ランプ等である。本実施の形態では、表示器18にLEDを採用している。メモリ装置1は、USB規格に準拠している。第2端子17に接続された外部装置3は、メモリ装置1を介して、電子計算機2から電源供給されている。具体的には、第2端子17に接続された外部装置3は、電源スイッチ17から電源供給される。
【0064】
USB規格では、外部装置3に電源供給されている場合は、外部装置3はそれに接続されている他の装置、コンピュータとデータ通信ができる。外部装置3は、メモリ装置1ではなく、外部から電源供給されている場合を想定する。この場合は、外部装置3は、メモリ装置1に接続されている場合は、そのデータ通信用の回線がハブコントローラ12に接続されている。メモリ装置1内の切り替え器14は、このデータ通信回線を切断、接続する目的で利用される。
【0065】
電源スイッチ20から外部装置3に電源供給されていない状態で、外部装置3が電子計算機2とデータ通信できないようにするために、切り替え器14は、回線を切断する。すなわち、この状態で、切り替え器14は、外部装置3と、ハブコントローラ12との接続回線を切断する。
【0066】
図7には、メモリ装置1のメモリ16の構成の例を示したブロックである。メモリ装置1は、電子データやコンピュータプログラム等を格納するためのユーザ領域32と、プログラム領域31を備えている。ユーザデータは、メモリ装置1のユーザ領域32に格納され、メモリ装置1の初期設定では外部からアクセスすることができない。メモリ装置1には、プログラム領域31に認証プログラムが格納されている。更に、メモリ装置1には、プログラム領域31に電子データ管理プログラムが格納されている。
【0067】
プログラム領域31は、メモリ装置1が電子計算機2に接続され、正当な使用であることが認識されたら、電子計算機2から直接アクセスすることができる。メモリ装置1が電子計算機1に接続され、電子計算機1に自動認識されたら、プログラム領域31が使用可能になる。これにより、プログラム領域31に電子計算機2からアクセスして、プログラム領域31に格納されているプログラムと読み出して実行できる。また、プログラム領域31に格納されているプログラムは、自動起動して、電子計算機2で動作することができる。
【0068】
プログラム領域31には、認証プログラムが格納されている。この認証プログラムは、ユーザの個人認証を行う。また、この認証プログラムは、電子計算機2の動作環境をチェックして、電子計算機2上にインストール、又は、動作しているプログラムを確認することができる。電子計算機2上に電子データ管理プログラムがインストールされていない場合は、この認証プログラムは、電子データ管理プログラムをメモリ装置1から読み出して、電子計算機2にインストールすることができる。
【0069】
電子計算機2上に電子データ管理プログラムがインストールされていない場合は、この認証プログラムは、メモリ装置1に格納されている電子データ管理プログラムを起動させて、電子計算機2上に起動させることができる。更に、メモリ装置1のメモリ16は、ユーザの利用によって任意の部分に分けることができる。例えば、メモリ16は、CD領域、リムーバブルディスク領域、隠し領域からなることができる。メモリ16は、ユーザデータ領域、隠し領域からなることができる。
【0070】
メモリ16は、複数のユーザデータ領域からなることできる。また、メモリ16は、複数の隠し領域からなることもできる。また、メモリは、DVD、CD、フレキシブルディスク(登録商標)、ハードディスク等の任意の記録媒体、又は記録媒体の領域を有することができる。これらの多数の領域は、上述の認証プログラム、電子データ管理プログラムを適当に格納することができる。
【0071】
図8には、電子計算機2上で動作するソフトウェアの概要を図示している。メモリ装置1は、電子計算機のUSBポートE3に接続に接続されている。外部装置3は、メモリ装置1に接続されている。ここで、電子計算機2上で動作するオペレーティングシステム40、及び、電子データ管理プログラムの概要を説明する。本実施の形態においては、オペレーティングシステム40は、Microsoft社のWindows XP(登録商標)である。しかし、これは、オペレーティングシステム40を制限するものではなく、同様な機能を実現できれば、オペレーティングシステムの種類は問わない。
【0072】
アプリケーションプログラム41がオペレーティングシステム40の上で動作する。また、電子計算機2は、ハードディスクE4等の外部記憶装置を備える。電子計算機2は、周辺機器と接続するためのコネクタE1を有する。コネクタE1は、RS―232C、IrDA、USB、IEEE1394等のシリアルポート、IEEE1284、SCSI、IDE等のパラレルポートであることが好ましい。電子データ管理プログラムは、図8に図示したアプリケーションプラットフォームプログラム42と、ドライバウェア50とから構成される。
【0073】
アプリケーションプラットフォームプログラム42は、オペレーティングシステム40のユーザモード43で動作するアプリケーションソフトウェアである。ドライバウェア50は、オペレーティングシステム40のカーネルモード44で動作するプログラムである。アプリケーションプラットフォームプログラム42とドライバウェア50の動作と機能については、後述する。電子計算機2は、キーボード82、マウス83等の入力装置、ディスプレイ(図示せず。)等の出力装置、ハードディスクE4等の外部記憶装置、メインメモリ(図示せず。)等のメモリを備えている。
【0074】
電子計算機2は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することができる。これらの周辺機器は、コネクタE1に接続される。ハードディスクE4は、電子計算機2に内蔵されている。電子計算機2は、オペレーティングシステム40によって制御されて動作する。電子計算機2上で動作するアプリケーションプログラム41は、オペレーティングシステム40が提供する機能を利用して、入出力装置からの入出力を行い、必要な処理をする。
【0075】
アプリケーションプログラム41は、オペレーティングシステム40のカーネルモード44又はユーザモード43に動作する実行可能なファイル又はソフトウェアである。例えば、アプリケーションプログラム41は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェアであると良い。更には、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアであると良い。
【0076】
オペレーティングシステム40は、キーボード82からの入力、マウス83からの入力や画面出力等のような入出力装置からの入出力機能、外部記憶装置やメモリの管理等の基本的な機能を提供し、電子計算機21全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム40は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。オペレーティングシステム40、特に本発明の実施の形態に用いているWindows(登録商標)系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。
【0077】
本発明を再現するためには、これらの書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。
Windows系のオペレーティングシステムの内部構成、その動作についての書籍一覧:
− Inside Windows NT by Helen Custer (Microsoft Press, 1992)
− Inside the Windows NT File System by Helen Custer (Microsoft Press, 1994)
− Inside Microsoft Windows 2000, Third Edition by David A. Solomon, Mark E. Russinovich (Microsoft Press, 2000)。
【0078】
デバイスドライバの基礎知識からその開発に関する知識ついての書籍一覧:
− Programming the Microsoft Windows Driver Model by Walter Oney (Microsoft Press, 1999)
− Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney (Microsoft Press, 2002)。
ここで、オペレーティングシステム40の構成要素の内の代表的なものから記述する。オペレーティングシステム40は、サブシステム45、エグゼキュティブ46、カーネル47、デバイスドライバD1〜D5、ハードウェア抽象化層(HAL)48から構成される。
【0079】
サブシステム45は、オペレーティングシステム40のユーザモード43で提供されるサービスである。エグゼキュティブ46は、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O、ネットワーク、及びプロセス間通信等のオペレーティングシステム40の基本的なサービスを提供するものである。カーネル47は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、カーネル47は、エグゼキュティブ46の内部で使用するルーチンセットと基本オブジェクトを提供する。
【0080】
デバイスドライバD1〜D5は、通常は、電子計算機2に接続されたハードウェアごとに作られ、ハードウェア抽象化層48を介して、そのハードウェアE1〜E6を直接制御するものである。デバイスドライバD1〜D5は、アプリケーションプログラム41やオペレーティングシステム40からの入出力機能の要求(I/O呼び出し要求)を特定のハードウェアデバイスE1〜E6に対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
【0081】
ハードウェア抽象化層48は、カーネル47、デバイスドライバD1〜D5、及びエグゼキュティブ46をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。ハードウェア抽象化層48は、電子計算機2の内蔵デバイスや、電子計算機2に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム40の各サービスに対して抽象化したサービスを提供する。オペレーティングシステム40を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。
【0082】
〔ドライバウェア50〕
ドライバウェア50は、デバイスドライバ間のデータの送受信をカーネルモードで実現するためのものである。ドライバウェア50は、アプリケーションプログラム41からデバイスドライバD1〜D5へアクセスするとき、また、デバイスドライバD1〜D5からアプリケーションプログラム41へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、オペレーティングシステム40のカーネルモード44で動作する。
【0083】
ドライバウェア50は、デバイスドライバD1〜D5間だけではなく、オペレーティングシステム40と複数のデバイスドライバD1〜D5とのデータの送受信を提供する機能を有する。ドライバウェア50の例としては、電子計算機のインターフェースドライバプログラムとしてWO02/091195号公報等に開示されている周知の技術である。ドライバウェア50は、アプリケーションプログラム41からの命令やデータ等を受信し、アプリケーションプログラム41へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。
【0084】
ドライバウェア50は、ドライバウェア50の全体の動作を制御するための制御部52を有する。また、ドライバウェア50の動作の履歴を取得するためのログ取得部53も有する。更に、ドライバウェア50は、デバイスドライバD1〜D5を制御するためのデバイスドライバ制御部42〜44を有する。ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。制御部52は、デバイスドライバ制御部C1〜C4、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア50の他の部を制御し、監視するためのもので、ドライバウェア50の中核部である。
【0085】
〔アプリケーションプラットフォームプログラム42〕
アプリケーションプラットフォームプログラム42は、アプリケーションプログラム41と、オペレーティングシステム40との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム42は、オペレーティングシステム40のユーザモード43で動作する。
【0086】
アプリケーションプラットフォームプログラム42は、オペレーティングシステム40のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム42は、アプリケーションプログラム41の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム42は、Windowsエクスプローラと互換性があるアプリケーションプログラムであることが特に好ましい。
【0087】
このシリアル転送方式は、1本の信号線で1ビットずつデータを伝送するデータ伝送の方式である。パラレル転送方式は、複数の信号線で同時に複数のビットを転送するデータ伝送の方式である。電子計算機2に内蔵されたデバイス、電子計算機2とその周辺機器間のデータ伝送に用途ごとに最適なインターフェースを使用している。ここで、その代表的なものから例示する。記憶装置の場合は、パラレル転送方式が高速で、この伝送方式を採用することが多いが、USB規格の普及により、USBポートを利用することが多くなっている。
【0088】
電子計算機2とプリンタとの通信には、IEEE1284ポート、USBポートを利用することが多く、またネットワークを介することもある。電子計算機2は、ネットワーク81に接続するためのネットワークカードE2を備えている。更に、メモリ装置1等のUSB規格準拠の機器を接続するためのUSBポートE3を備えている。これらのコネクタE1、ネットワークカードE2を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバD1、ネットワークドライバD2である。
【0089】
本実施の形態においては、デバイスドライバD1〜D5は、オペレーティングシステム40に付属するものと記述する。インターフェースドライバD1は、コネクタE1を制御するためのデバイスドライバである。ネットワークドライバD2は、ネットワークカードE2を制御するためのデバイスドライバである。ファイルシステムドライバD3は、ハードディスクE4等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスクE4に保存されているファイルやフォルダへのアクセスを提供するものである。
【0090】
ファイルシステムドライバD3は、電子計算機2に接続されたUSB規格準拠の記憶装置へのアクセスも提供する。このアクセスは、オペレーティングシステム40のMass Storage Class用のドライバ(図示せず)を介して行われる。アプリケーションプログラム41は、電子計算機2にインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム41は、オペレーティングシステム40のユーザモード43上で動作する。アプリケーションプログラム41は、ハードディスクE4にアクセスして、必要なファイルを読み込んだり、書き込んだりする。
【0091】
また、アプリケーションプログラム41は、Windows(登録商標)のカーネルモード44で動作する一部のプログラムをも意味する。ドライバウェア50は、アプリケーションプログラム41からデバイスドライバD1〜D5へアクセスするとき、また、デバイスドライバD1〜D5からアプリケーションプログラム41へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、アプリケーションプログラムインターフェース部51、制御部52、ログ取得部53等を有する。
【0092】
ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。また、ドライバウェア50は、インターフェースドライバD1を制御するためのインターフェース制御部C1を有する。ドライバウェア50は、ネットワークドライバD2を制御するためのネットワーク制御部C2を有する。ドライバウェア50は、ファイルシステムドライバD3を制御するためのファイルシステム制御部C3を有する。
【0093】
制御部52は、インターフェース制御部C1、ネットワーク制御部C2、ファイルシステム制御部C3等のドライバウェア50の他の部を制御し、監視するためのもので、ドライバウェア50の中核部である。メモリ装置1等の記憶装置は、電子計算機2に接続されると、その装置のデバイスドライバによって認識された後、ファイルシステムドライバD3から制御される。ドライバウェア50のインターフェース制御部C1、ネットワーク制御部C2、ファイルシステム制御部C3等は、電子計算機2のデバイスドライバD1〜D5を制御することで、最終的には、電子計算機2に接続又は内蔵されているデバイスを制御するものと理解することができる。
【0094】
つまり、電子計算機2に接続又は内蔵されているデバイスを制御するためには、既存のデバイスドライバD1〜D5を利用している。ドライバウェア50は、デバイスドライバD1〜D5がオペレーティングシステム40の他の構成部分との通信しているインターフェースをカーネルモードで制御している。
【0095】
〔ユーザデータの閲覧動作〕
図9は、電子計算機2において、ユーザデータをメモリ装置1から読み出して閲覧するときの流れを示すフローチャートである。メモリ装置1は、電子計算機2に接続される(ステップ70)。電子計算機2は、メモリ装置1を認識する(ステップ72)。このとき、オペレーティングシステム40は、PnP機能を利用してメモリ装置1の接続を検知して認識する。メモリ装置1の複数のメモリ領域の内のプログラム領域31は、電子計算機2に認識される。
【0096】
メモリ装置1が認識されると、メモリ装置1のプログラム領域31に格納されている認証プログラムが自動起動する(ステップ74)。認証プログラムは、電子計算機2に電子データ管理プログラムがインストールされているか否かの認証を開始する(ステップ74)。認証プログラムは、電子計算機2に電子データ管理プログラムがインストールされているかを確認する(ステップ76)。
【0097】
電子データ管理プログラムがインストールされていない場合は、プログラム領域31に格納されている電子データ管理プログラムを電子計算機2に自動的にインストールする(ステップ76→99)。このとき、ユーザが電子データ管理プログラムをインストールする必要がある旨のメッセージを表示する。更に、電子データ管理プログラムのインストールの承認をユーザに求めるメッセージを表示、ユーザがそれに対して、指定されたボタン等を押して意思表示することができる。
【0098】
更に、ユーザは、このメッセージを受け取り、ユーザ自身が手動で電子データ管理プログラムをインストールすることもできる。電子データ管理プログラムが電子計算機2にインストールされている場合は、パスワードによる個人認証を行う(ステップ77)。個人認証が成功すると電子データ管理プログラムを制御モードにさせる(ステップ78)。制御モードの詳細については、図11のフローチャート、及びその説明に示している。
【0099】
電子データ管理プログラムの制御モードの設定が終わると、認証プログラムは、メモリ装置1のユーザ領域32を電子計算機2に認識させる。よって、ユーザ領域32は電子計算機2からアクセスできるようになり、利用可能になる(ステップ80)。ユーザデータの読み出しが許可され、暗号化されたユーザデータの自動復号化も許可される(ステップ82)。
【0100】
ユーザは、メモリ装置1に格納されているユーザデータを読み出すように指示をする。電子計算機2上のアプリケーションプログラムから、メモリ装置1に対してユーザデータを読み込む要求が送信される(ステップ84)。この要求を、電子データ管理プログラムが取得する。そして、電子データ管理プログラムは、ユーザデータの当該ファイルの属性情報を取得する。電子データ管理プログラムは、この属性情報を分析する(ステップ86)。
【0101】
この分析では、当該ファイルにアクセスできる場所、時間、ユーザ等が指定されているかを確認する。ユーザが指定されている場合は、個人認証されて現在ログインしているユーザにあてはまるかを確認する。この確認が済むと次の条件を確認する。電子データ管理プログラムは、場所及び/又は時間に関する条件を確認する。この条件がある場合は、電子データ管理プログラムは、外部装置2から位置情報及び/又は時刻情報を取得する(ステップ88)。そして、外部装置2から取得した位置情報及び/又は時刻情報が、属性情報の条件に合うときに、ユーザデータを読み出す(ステップ90)。
【0102】
条件に合わない場合は、ユーザがこのユーザデータを利用できない旨のメッセージを表示する(ステップ92)。メモリ装置1から読み出されたユーザデータは、復号化される(ステップ94)。復号化されたユーザデータは、電子計算機2のディスプレイ等の出力装置に表示される(ステップ96)。電子データ管理プログラムは、制御モード(図11の説明を参照。)に入ると、ハードディスクE4、電子計算機2に接続されている他の周辺機器にユーザデータを保存できないように各装置へのアクセスを制限している。
【0103】
このために、クライアント11は、ユーザデータをハードディスクE4や、電子計算機2に接続されている周辺機器に保存することができない。更には、電子データ管理プログラムは、制御モードに入ると、ネットワーク機能、各種の通信ポート、クリップボードの利用、スクリーンキャプチャ、コピー&ペースト機能等も使用禁止の設定にしている。よって、ユーザデータは、閲覧し、これを編集して、メモリ装置1に書き込みすることがでいる。言い換えると、ユーザデータ、又は、その一部を、又は、ユーザデータから派生したデータを、メモリ装置1以外のメモリ装置に、保存、移動、複製する操作ができなくなる。
【0104】
図10は、電子データ管理プログラムの動作を示すフローチャートである。電子データ管理プログラムは、メモリ装置1に格納されて、ユーザに提供される。電子データ管理プログラムは、電子計算機2にインストールされる(ステップ100)。このインストールは、メモリ装置1を電子計算機2に接続し、認識された後で、電子データ管理プログラムは、自動的に起動して、電子計算機2にインストールされることができる。また、認証プログラム等の他のプログラムの指示によって、電子計算機2にインストールされることができる。そして、電子データ管理プログラムは、起動されて、動作を開始する(ステップ102)。
【0105】
電子データ管理プログラムは、制御モードをオンにする(ステップ106)。または、
認証プログラム等の他のプログラムから指示によって、制御モードをオンにすることもできる。電子データ管理プログラムが制御モードに設定されると、認証プログラムは、メモリ装置1内のユーザ領域32をオペレーティングシステム40に認識させて、利用可能な状態にする(図9のステップ80を参照。)。
【0106】
電子データ管理プログラムは、アプリケーションプログラムからメモリ装置1へのアクセスを監視する。メモリ装置1へのアクセスがあると、それを電子データ管理プログラムが受信する(ステップ108)。電子データ管理プログラムは、アクセスの種類を確認する(ステップ108)。許可されているアクセスか否かを確認する(ステップ110)。許可されているアクセスのときは、ユーザデータをメモリ装置1から読み出す(ステップ112)。電子データ管理プログラムは、メモリ装置1から読み出したユーザデータを復号化する(ステップ114)。
【0107】
電子データ管理プログラムは、ユーザデータへのアクセスが許可されているアクセスか否かを確認する。この確認作業は、ユーザデータの属性情報を参照して行なわれる。属性情報に、アクセスできる場所の指定がある場合は、次のように処理する。電子データ管理プログラムは、メモリ装置1に接続されている外部装置3から位置情報を取得する。この取得した位置情報が、指定された場所に合致しているか否かを確認する。合致するとき、アクセスを許可する。合致しないときは、アクセスを不許可する。属性情報に、アクセスできる時間の指定がある場合は、同様に、外部装置3から時刻情報を取得して、同様に処理する。
【0108】
復号化されたユーザデータは、電子計算機2の出力装置に表示される(ステップ116)。許可されていないアクセスのときは、電子データ管理プログラムはそのアクセスを破棄する(ステップ110、120)。このとき、不許可にされたアクセスである旨のメッセージをディスプレイに表示する等ことも可能である(ステップ122)。電子データ管理プログラムは、継続して監視する(ステップ118)。ユーザデータは、データの種類によるが、適当なアプリケーションプログラム41を起動させて表示される。
【0109】
例えば、ユーザデータは、読み込み専用場合、ユーザデータは、適当なアプリケーションプログラム41に渡されて表示される。ユーザは、キーボードやマウス等の入力装置を操作しながらこのアプリケーションプログラム41を操作してユーザデータを閲覧する。しかし、このアプリケーションプログラム41からユーザデータを保存することはできない。また、ユーザデータを利用して新しく作成したファイルも保存することができない。また、ユーザデータの一部を他のアプリケーションプログラムに渡したり、送信したりすることもできない。ユーザは、ユーザデータを閲覧することだけができる。
【0110】
制御モードの設定によるが、ユーザデータを編集するとき、このアクセスが中断される。また、ユーザデータをハードディスクE4等の記憶装置、記録媒体に記録するときもそれを中断する。ここで、電子データ管理プログラムの制御モードのときの動作について説明する。制御モードは、電子データ管理プログラムが電子計算機のどの機能を監視し、どのようなデータの流れを制御するかを定めたものである。制御モードがオンとは、電子データ管理プログラムが電子計算機を監視し、電子計算機の機能の一部を制限している状態をいう。制御モードがオフとは、電子データ管理プログラムが電子計算機上に動作しているが、電子計算機の機能を特に制限していない状態をいう。
【0111】
図11は、電子データ管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。図9のステップ78、図10のステップ106に示すように、電子データ管理プログラムが制御モードをオンにする(ステップ130)。このとき、電子データ管理プログラムは、電子計算機2に内蔵されたハードディスクE4への書き込みを禁止にする(ステップ131)。また、電子データ管理プログラムは、リムーバブルドライブへの書き込みを禁止にする(ステップ132)。
【0112】
一般的に、リムーバブルドライブにはメモリ装置1も含まれるが、この場合は、メモリ装置1のみが例外で、この設定から排除される。他の、USBメモリ等のメモリ装置は、書き込みを禁止にする設定に設定される。よって、アプリケーションプログラム41又はオペレーティングシステム40からは、メモリ装置にデータを書き込みしようとするとき、ドライバウェア50がこれを検知して書き込みの動作を中止させる。メモリ装置1、内蔵のハードディスクの他に記録装置が電子計算機2に接続されているときは、それらへの書き込みを禁止にする(ステップ134)。
【0113】
例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等である。更に、電子データ管理プログラムは、ネットワーク通信の使用を禁止する(ステップ136)。例えば、ネットワーク通信の使用としては、ネットワークカードE2を介してインターネット、LAN等のネットワーク81へのアクセス、コンピュータ同士の通信が含まれる。このメモリ装置1の他のインターフェースの使用を禁止する。例えば、USB、SCSI、IDE、RS−232C規格のインターフェースの使用を禁止にする(ステップ138)。
【0114】
更に、電子データ管理プログラムは、コピー&ペースト、クリープボードの使用、ネットワーク機能を禁止にする(ステップ139)。また、電子データ管理プログラムは、スクリーンキャプチャの使用も禁止にする(ステップ139)。電子データ管理プログラムは、オペレーティングシステム40の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ140)。例えば、オペレーティングシステム40の動作に必要なSystem等を動作可能にする。電子データ管理プログラムは、起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ142)。
【0115】
電子データ管理プログラムは、取得したプロセス名とプロセスIDを管理テーブルに保存する(ステップ144)。電子データ管理プログラムが制御モードをオンにした後の、ステップ131〜140の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。メモリ装置1を電子計算機2から抜き取ると、オペレーティングシステム40はこれを検知する。メモリ装置1は、オペレーティングシステム40にはリムーバブルドライブとして認識されているため、電子データ管理プログラムはこれを認証プログラム113が格納されているメモリ装置1であるか否かの確認を行う。
【0116】
メモリ装置1が切断されたときは、電子データ管理プログラムは、ステップ131〜140に設定した設定を全て解除する。また、ファイルの自動復号化の設定も解除にする。図12には、制御部52の動作のフローチャートを図示している。ドライバウェア52が制御モードをオンにするように指示されると、制御部52はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ200)。この命令は、インターフェース制御部C1、ネットワーク制御部C2、ファイルシステム制御部C3に送信される。
【0117】
インターフェース制御部C1、ネットワーク制御部C2、ファイルシステム制御部C3は、この命令を受信して、ファイルアクセスを禁止にする。また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行います。エグゼキュティブ46(図2参照)のプロセスマネージャが実行されている全てのプロセスを管理している。ここに、コールバック関数を登録(カーネル47のAPIを利用)することで、プロセスの起動・終了のイベントを取得する。
【0118】
実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム41の起動と終了を検出できるように設定する。アプリケーションプラットフォームプログラム42が動作しているときに、アプリケーションプログラム41が起動する(ステップ202)。アプリケーションプラットフォームプログラム42は、アプリケーションプログラム41の起動を検出する(ステップ204)。“CreateProcess”のSUSPEND(サスペンド)モードでアプリケーションプログラム41のプロセスが起動され、アプリケーションプラットフォームプログラム42は、このプロセスのハンドルとプロセスIDを取得する。
【0119】
プロセスが“CreateProcess”のサスペンドモードで起動されると、一時休止した状態になり、再開されるまでに実行されない。ハンドルは、“CreateProcess”から戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム42は、取得したハンドルとプロセスIDを制御部52に送信する。プロセスが起動されると、ファイルシステム制御部C3内のコールバック関数を実行し、制御部52へ制御開始を通知する。制御部52は、ハンドルとプロセスIDを取得する(ステップ206)。この取得の詳細な動作について後述する。
【0120】
制御部52は、ファイルシステム制御部C3へハンドルとプロセスIDを送信し、プロセスIDから出されるファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である(ステップ208)。インターフェース制御部C1は、各種のインターフェースを使用禁止に設定する(ステップ210)。
【0121】
また、ネットワーク制御部C2は、ネットワーク通信を禁止するように設定する(ステップ210)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ212)。アプリケーションプログラム41が動作される。そして、制御部52は、アプリケーションプログラム41が終了するときにオペレーティングシステム40から発される通知である終了イベントを待機する(ステップ214)。アプリケーションプログラム41が終了すると、ファイルシステム制御部C3内のコールバック関数を実行し、制御部52へ制御解除を通知する。
【0122】
ファイルシステム制御部C3は、プロセス制御リスト150によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム41の制御を行わない。無論、このアプリケーションプログラム41がユーザデータにアクセスしたときは、制御が再開される。図13は、アプリケーションプログラム41が終了するとき、制御部52の動作を示すフローチャートである。アプリケーションプログラム41は動作し、終了するとき、終了イベントが発生される(ステップ230)。アプリケーションプラットフォームプログラム42は、終了イベントのプロセスIDを取得する。
【0123】
アプリケーションプラットフォームプログラム42は、終了イベントのプロセスIDを制御部52に送信する。制御部52は、終了イベントのプロセスIDを取得する(ステップ232)。制御部52は、ファイルシステム制御部C3へ、取得したプロセスIDからファイルアクセスを禁止するように設定する(ステップ234)。そして、インターフェース制御部C1へ禁止設定の解除を指示し、インターフェース制御部C1は使用禁止に設定したものを解除する(ステップ236)。ネットワーク制御部C2に禁止設定の解除を指示し、ネットワーク制御部C2には使用禁止に設定したものを解除する(ステップ238)。
【0124】
図14は、制御部52が使用禁止の除外を設定するときのフローチャートを示す図面である。ユーザの個人認証が成功する(ステップ260)。個人認証が成功すると、オペレーティングシステム40の動作に不可欠なプロセスを指定、これらのプロセスに何らかの制限をしないようにする必要がある。例えば、オペレーティングシステム40のシステムサービス関連の実行ファイル、その実行ファイルが動作するときのプロセスが使用禁止にされたり、起動できなくなったりするとき、この使用禁止と関係がないオペレーティングシステム40の提供するサービスに支障ができたり、オペレーティングシステム40自体の動作が不安定になる。
【0125】
そのためには、オペレーティングシステム40の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、“System”、“Kernel.exe”、“explorer.exe”が例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リスト150に登録される。プロセス制御リスト150は、図16に例示している。制御部52は、プロセス制御リスト150から制御プロセス名、制御ディレクトリを読み込む(ステップ262)。
【0126】
また、一時ファイルをローカルディスクに保存しない動作しないアプリケーションプログラムがある。このためには、アプリケーションプログラムがローカルディスクに一時ファイルを作成するときに暗号化を行い、一時ファイルが他のアプリケーションプログラムからアクセスできないようにするためにプロセス保護を行う。プロセス保護は、ドライバウェアによって、制御中のこのアプリケーションプログラム以外のアプリケーションプログラムによるプロセスがファイルアクセスを禁止して行う。アプリケーションプログラムの動作が終了したとき、この一時ファイルは削除される。
【0127】
制御部52は、制御プロセス名からプロセスIDを取得する(ステップ264)。プロセスIDから実際のプログラム(.exeなどのモジュール)名を判断する。そして、制御部52は、ファイルシステム制御部C3へ全て禁止の設定を指示し、ファイルシステム制御部C3は全てのプロセスの禁止を設定する(ステップ266)。次には、制御部52は、ファイルシステム制御部C3へ制御プロセス名のプロセスIDと、制御ディレクトリの読み込み書き込み(Read/Write)の許可設定を指示する(ステップ268)。
【0128】
ファイルシステム制御部C3は、制御部52から送信されてきたプロセスIDとファイルパスと制御モードを受信する(ステップ270)。ファイルシステム制御部C3は、プロセスIDとファイルパスと制御モードをプロセス制御リスト150に追加する(ステップ272)。
【0129】
図15は、ファイルシステム制御部34の動作を示す処理フローチャートである。アプリケーションプログラム41又は、オペレーティングシステム40からファイルへアクセスするときにファイルアクセスイベントが発生する(ステップ300)。ファイルシステム制御部C3は、制御部52からプロセスIDとファイルパスとファイル操作(Read/Write)を取得する(ステップ302)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致するか否かを確認する(ステップ304〜310)
【0130】
このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致するとき、制御の値よりファイルの操作を許可又は禁止に設定する(ステップ308)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致しないとき、制御の値よりファイルの操作を禁止に設定する(ステップ312)。
【0131】
図16には、プロセス制御リスト150の例を図示している。プロセス制御リスト150は、電子データ管理プログラムがインストールされたときに初期値としてファイルに格納されてハードディスクE4に保存されるものである。プロセス制御リスト150は、必要なとき、編集して変更することも可能である。プロセス制御リスト150には、登録されたものの順番を示す連番欄151、制御対象のプロセス名を示すプロセス名152、制御対象のプロセスIDを示すプロセスID153、ファイルパスを示すファイルパス154、制御の方法を示す制御155の欄がある。制御対象のプロセス名は、上述の説明の一部では制御プロセスとして記述されている。
【0132】
〔プロセス名、プロセスID、及びファイル名の取得について〕
プロセスを検出するためには、次の前処理が実施される。ファイルシステム制御部C3において、ファイルアクセスに関する入出力機能の要求(以下、I/O要求とする。)のコールバックを制御部52に来るように設定する。これは、ファイルアクセスに関するI/O要求が全てファイルシステム制御部C3を通るため、このI/O要求を制御部52に転送して、解析するためである。そして、プロセス制御リスト150をファイルシステム制御部C3へ転送し、ファイルシステム制御部C3がプロセス制御リスト150に登録されているアクセスが行われているか否かを監視する。
【0133】
プロセスを検出するためには、次の実行処理が行われる。アプリケーションプログラム41がメモリ装置1に格納されているファイルをアクセスしようとする。このとき、アプリケーションプログラム41がファイルアクセスに関するI/O要求を発する。このI/O要求は、上述の前処理時に設定された通り、コールバックされて制御部52へ送信される。制御部52では、このI/O要求のコールバックを受信したら、プロセスID、プロセス名、及びファイル名を取得する。プロセスに関連するプロセス名、プロセスID、及びファイル名は次のように取得される。
【0134】
プロセス名を取得するには、“ZwQueryInformationProcess”関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイル(exeファイル)のファイル名からプロセス名を取得する。プロセスIDを取得するには、“PsGetCurrentProcessId()”関数を使って現在のプロセスのIDを取得する。ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から参照されるファイルオブジェクトよりファイル名を取得する。
【0135】
そして、ファイルシステム制御部C3は、I/O要求に関するプロセス名、プロセスID、及びファイル名を制御部52から受信してプロセス制御リスト150と比較してファイルアクセスの制御を行う。ファイルシステム制御部C3は、プロセス制御リスト150に従ってI/O要求に対するファイルへのアクセスの許可、又は拒否をアプリケーションプログラム41に戻す。
【0136】
〔イベントの検出〕
イベントの検出は、次のように行われる。オペレーティングシステム40のカーネル内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表1に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。コールバック関数は、エグゼキュティブ46(図2参照)のプロセスマネージャに登録され、コールバック関数が実行されると参照先のドライバウェア50に制御が移動される。
【表1】

【0137】
本発明の電子データ管理プログラムによっては、ユーザデータを格納しているメモリ装置1にアクセスしようとするアプリケーションプログラム41、プロセスだけにターゲットを絞って制御を行うことができる。このように電子計算機2上に動作する他のアプリケーションプログラム41、オペレーティングシステム40のサービスを無理に制限しなく、ユーザデータ3のみにアクセスする試みを監視し、そのアクセスを許可又は不許可して制御を行う。
【0138】
更に、ユーザデータ3にアクセスしてアプリケーションプログラム41、そのプロセスのネットワーク機能、他の記録装置へのアクセスを遮断し、更にクリップボード等のユーザデータ3を複製しそうな機能の使用を禁止する。これによって、ユーザデータ3が外部へ流出されることなく使用することができる。
【0139】
〔ファイルの属性情報の例〕
図17には、ファイルの属性情報の例を示している。図17には、ファイルの属性情報の例として、「番号」欄、「ファイル名」欄、「期間」欄、「時間」欄、及び「場所」欄がある。「番号」欄は、属性情報が登録されたファイルの登録の順番を示すものである。「ファイル名」欄は、登録されたファイルの名前を示すものである。「期間」欄は、ファイルをアクセスできる期間を示すものである。
【0140】
ここでは、期間の例として、年月日で指定している。この期間は、日で指定できる。また、月でも、年でも指定できる。更に、曜日、特定の祝日、又は、特定の祝日、日を排除して指定できる。「時間」欄、ファイルをアクセスできる時間、時間帯を示すものである。ここでは、時間の例として、時間と分の単位で指定しているが、時間だけでも指定できる。更に、昼、夜などと指定できる。「場所」欄は、ファイルをアクセスできる場所を示すものである。
【0141】
「場所」欄は、ファイルをアクセスできる場所の範囲を示すものである。ここでは、場所の例として、地球上の座標で、「東経137度」、「北緯30度」等のように指定している。更に、「Tokyo、Japan」等と行政区分でも指定できる。更に、「会社の敷地内」等と指定できる。このように、指定すると、これらに連動し、座標を表す別のデータが必要になり、それを参照して、座標を取得する。また、「場所」欄は、ユーザの行動範囲としても利用することもできる。
【0142】
ここでは、少数の例を掲げたが、「場所」欄、「時間」欄、「場所」欄に例示したものを任意に組み合わせて利用できる。
【0143】
〔ログ取得について〕
ログ取得部53は、ユーザがメモリ装置1のファイルにアクセスするアクセスの履歴を取得して、メモリ装置1内に保存する。この履歴は、ユーザ領域32に保存されることができる。この履歴は、ユーザ領域32に暗合されて保存されることが好ましい。履歴には、外部装置3から取得した時間情報、位置情報が含まれる。後で、この履歴を分析することで、ユーザは、どこで、いつ、どのファイルを、どのようにアクセスしたかを把握できる。無論、ユーザは、使用範囲から出て、ファイルにアクセスしようとしたデータも履歴として残る。
【0144】
〔GPSについて〕
本実施の形態において、外部装置3の実施の携帯として、GPS装置を主に例に説明した。GPS装置は、GPS受信機を内部搭載したものである。GPS受信機は、GPS衛星からの信号を受信して、処理し、結果的に、GPS装置は、時刻情報、位置情報を出力するものである。ここで、もう少し詳しく説明する。GPS衛星からの信号には、GPS衛星に搭載された原子時計からの時刻のデータ、衛星の軌道等が含まれている。GPS受信機にも正確な時刻を知ることができる時計が搭載されているならば、GPS衛星からの電波を受信し、発信-受信の時刻差に電波の伝播速度(光の速度と同じ30万km/秒)を掛けることによって、その衛星からの距離がわかる。
【0145】
3個のGPS衛星からの距離がわかれば、空間上の一点は決定できるが、GPS衛星からの信号干渉、GPS装置の内部時計の誤差もあり、高い精度がでない。そのため、通常は、4つのGPS衛星からの電波を受信し、GPS受信機の内部時計の校正を行ないつつ測位を行なう。現在、民生用のGPS受信機は、航空機、船舶、測量機器、登山用の携帯機器等に幅広く利用される。更に、カー・ナビゲーション・システム、携帯端末、携帯電話機、ノートパソコン等に搭載されている。
【0146】
更に、鉱山機械、高級自動車の管理、産業廃棄物の不法投棄の監視追跡管理等のシステムにも応用されている。特に、セキュリティ分野の用途が広がっている。GPSは、基本的にGPS衛星からの電波が直接届くところでしか利用できない。そのため、GPSの信号が届きにくく、測位の利用効率が悪い都市部のビル街や山間地における測位利用率を大幅に改善することが求められている。その改善として、室内でGPS信号を利用できるシステムが多数考案されている。
【0147】
その一つは、宇宙航空研究開発機構(JAXA) が開発を進めている準天頂衛星システムであるこのシステムによれば、衛星からの測位信号が届かない屋内や地下街などにおいても、屋外と同じように測位できる。詳しくは、地上補完装置(IMES:Indoor Messaging System)として、JAXAで標準仕様を公開している。このシステムでは、屋内GPSとは、GPS衛星と同等の信号を送信する擬似的な衛星のことである。電波の届きにくい屋内においても、正確な測位ができるように考案されたシステムである。
【0148】
IMESは、日本の測位衛星システムである「準天頂衛星」の枠組みから発案され、米国GPSから正式に衛星番号を取得している。そのため、IMES対応のGPS受信機を搭載した端末であれば、特別な測位機能を搭載することなく利用できるため、携帯電話、PDAでもできる。GPSやその他の多くの測位手法ではマルチパスが原因で大きな精度劣化となり、場所特定が難しい。IMESは、メッセージとして位置情報を読み取るので、確実な場所特定ができる。IMESは、衛星軌道データの替わりに、送信機の設置場所の位置データを送る方式である。
【0149】
よって、GPS受信機の対応が簡単である。送信されたメッセージには、位置の他にフロア階も含まれ、ビルの特定や部屋の特定も可能である。IMESは、GPS衛星と同じ信号方式であるので、GPSとあわせて屋外と屋内のシームレスな測位が可能である。GPS機能が搭載された端末であれば、軽微な改修で、IMESに対応ができ、特別なインターフェースを用意する必要がない。
【0150】
本願発明は、このように、外部装置のGPS装置が、IMES対応のGPSそうちであることが好ましい。よって、ユーザデータのトレーサビリティを屋外、屋内でも実現できる。特に、セキュリティ要求が強く求められる情報に関しては、建物毎に、そして、建物フロア毎に、管理することができる。具体的には、電子データ管理装置は、IMES対応のGPS装置から、位置情報を取得した、測位地点がセキュリティが実施されている場所であるかを明確に確認できる。例えば、建物の何階からアクセスしているも把握できる。
【0151】
〔電子データ管理システムの第2の実施の形態〕
図18には、本発明の電子データ管理システムの第2の実施の形態の概要を図示している。本発明の電子データ管理システムは、ホスト装置102、メモリ装置101、及び電波時計103からなる。ホスト装置102は、上述の実施の形態で説明した電子計算機2であっても良い。ホスト装置102は、PDA等の携帯可能な計算機でも良い。ホスト装置102の基本的な動作は、上述の電子計算機2と同様であり、ここでは、電子計算機2とホスト装置102の異なる部分のみについて説明する。
【0152】
メモリ装置101は、上述のメモリ装置1である。電波時計103は、電波によって時刻情報を受信する電波時計である。電波時計103は、正確な時計情報をメモリ装置101、ホスト装置102に提供している。電波時計103は、広義に、電波を利用して時刻情報を取得するものを意味する。例えば、GPS受信機、携帯電話機、テレビやラジオ放送の時報等は、広義の電波時計として利用できる。BSデジタルや地上デジタルなどのデジタル放送の時計情報は、電波時計103として利用できる。
【0153】
すなわち、デジタル放送では、放送波の中にTOT(Time Offset Table)として現在時刻が織り込まれている。更に、テレビやラジオ放送の時報も電波時計103として利用できる。このように、メモリ装置に時刻情報を送信するものであれば、その種類は問わない。実時間の正確性を求める場合は、標準電波がもっとも好ましい。狭義の電波時計103は、この標準電波(日本ではJJY)を受信して誤差を自動修正する機能を持つものである。各国は、標準電波を発する送信局を設置している。
【0154】
送信局には、「セシウム原子時計」と呼ばれる時計が設置されている。この原子時計は、誤差が10万年に1秒というほとんど誤差がない正確な時計である。送信局は、このセシウム時計の日付情報、及び時刻情報のデジタル信号を電波の信号に変換して送信している。日本では、JJYと呼ばれる送信局を2ヶ所に設置し、ほぼ日本全国をカバーしている。福島県大鷹鳥谷山に設置された北の送信局は、送信周波数40kHzで標準電波を発信している。
【0155】
南の送信局は、福岡県と佐賀県との県境に位置する羽金山に設置されており、送信周波数60kHzの標準電波を発信している。この送信局から送られてくる信号を電波時計103に内蔵された受信機が一定時間ごとに読み取り、自動的に時刻合わせを行なっている。このため電波時計103では、電波が正常に受信できる環境に限り、時刻合わせなどの手間を省きつつ、秒単位で正確な時刻を知ることができる。よって、ユーザデータのトレーサビリティを実現する上で、正確なアクセス時間を把握できる。
【0156】
標準電波は、現在日本では実施されていないが夏時間にも対応することができ、この場合も年に2度の時刻合わせを行う必要がない。このように、本第2の実施の形態は、電波時計103を外部装置3として用いている。上述したように外部装置3の利用と同様に利用できる。ユーザがメモリ装置101に格納されているファイルにアクセスしたとき、電子データ管理プログラムは、電波時計103から時刻情報、カレンダー情報を取得して、ファイルの属性情報と比較する。よって、比較の結果によって、ファイルへのアクセスを許可又は不許可する。
【0157】
〔電子データ管理システムの第3の実施の形態〕
図19には、本発明の電子データ管理システムの第3の実施の形態の概要を図示している。本発明の電子データ管理システムは、ホスト装置202、メモリ装置201、及び携帯電話機203又は204からなる。ホスト装置202は、上述の実施の形態で説明した電子計算機2であっても良い。ホスト装置202は、PDA等の携帯可能な計算機でも良い。
【0158】
ホスト装置202の基本的な動作は、上述の電子計算機2と同様であり、ここでは、電子計算機2とホスト装置202の異なる部分のみについて説明する。メモリ装置201は、上述のメモリ装置1である。携帯電話機203又は204は、通常の携帯電話機であり、時刻情報が出力できる。携帯電話機204は、GPS受信機を内蔵し、GPSから受信した位置情報、時間情報を出力する。携帯通信網の基地局から送信される制御信号に時刻情報が重畳されている。この時刻情報を携帯電話機203は、受信して、内部時計の修正、データ通信の時刻情報に利用できる。
【0159】
また、携帯通信網の基地局から発する呼び出し用電波に時刻情報が重畳されている。携帯電話機203は、この時刻情報を受信して、内部時計の修正し、時刻情報をホスト装置202に送信する。また、携帯電話機203、204は、メモリカード等のメモリ手段を有し、このメモリ手段がホスト装置に、認識され、ユーザデータの保存先として利用されることもできる。つまり、第1の実施の形態に説明したように、ユーザ領域32、又は認証領域30として利用できる。
【0160】
この場合は、携帯電話機203、204は、メモリ装置201を介して、ホスト装置202に接続されると、認識されて独立したドライブとして認証される。電子データ管理プログラムは、これに、ホスト装置202からアクセス可能な設定を行う。よって、第1の実施の形態に説明したユーザ領域32として利用できる(図7を参照。)。
【0161】
〔電子データ管理システムの第4の実施の形態〕
図20には、本発明の電子データ管理システムの第4の実施の形態の概要を図示している。本発明の電子データ管理システムは、電子計算機302、メモリ装置301、外部装置303、及びサーバ304からなる。電子計算機302は、上述の実施の形態で説明した電子計算機2である。電子計算機302の基本的な動作は、上述の電子計算機2と同様であり、ここでは、異なる部分のみについて説明する。メモリ装置301は、上述のメモリ装置1である。外部装置303、第1の実施の形態で説明した外部装置1である。
【0162】
サーバ304と電子計算機302は、ネットワーク305を介して接続されている。ネットワーク305は、LAN,WANなどであることできる。ネットワーク305は、インターネットであることが好ましい。本発明は、ユーザデータ3の利用状況を監視して追跡するための電子データ管理システムを提供するものである。この電子データ管理システムは、電子計算機302上で動作する電子データ管理プログラムを備えている。電子データ管理プログラムは、ユーザデータを電子計算機302上に利用する環境を提供するためのプログラムである。
【0163】
また、本発明は、ユーザデータを格納して持ち運びするためのメモリ装置303を提供する。ユーザデータと電子データ管理プログラムは、同一の記録媒体又は記憶装置に記録されてユーザに提供されることが可能である。また、ユーザデータ及び/又は電子データ管理プログラムは、ネットワーク305を介して電子計算機302、外部装置301に提供されることもできる。ユーザデータは、ネットワーク共有フォルダやNAS等のネットワーク型記憶装置に格納され、必要なときに、電子計算機302にダウンロードされて利用されることができる。
【0164】
サーバ304は、中央処理ユニット、入出力装置、ROM、RAM等の内蔵メモリ、ハードディスク等を備えた電子計算機である。メモリ装置201に格納されている認証プログラム(図7を参照。)は、サーバ304と接続して、電子計算機202の認証を行う。また、電子データ管理プログラムのインストールは、この電子データ管理プログラムをサーバ304からダウンロードしてインストールすることができる(図9のステップ99を参照。)。
【0165】
認証プログラムは、電子データ管理プログラムに指示して、電子データ管理プログラムの制御モード(詳しくは、後述する。)をオンにする(図7のステップ78を参照。)。電子データ管理プログラムの制御モードがオンになったとき、電子計算機302とサーバ304との接続が維持されることが好ましい。このとき、電子データ管理プログラムは、ログ情報をサーバ304に常時送信する。
【0166】
ログ情報には、外部装置303から取得した時刻データ、及び/又は、位置情報が含まれる。サーバ304は、この時刻データ、及び/又は、位置情報を取得して、ユーザがどこからアクセスしているかをオンライン監視できる。必要に応じて、電子計算機302に指示して、ユーザデータの利用を停止、又は一時停止できる。
【産業上の利用可能性】
【0167】
本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、位置情報、時刻情報によってユーザがデータを利用できる範囲を予め定めて、それの範囲内で利用しているかを監視することができる。このように、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。
【図面の簡単な説明】
【0168】
【図1】図1は、本発明の電子データ管理システムの概要を図示している図である。
【図2】図2は、本発明のメモリ装置1を利用する手順を示したフローチャートである。
【図3】図3は、ユーザデータを制御する概要を示したフローチャートである。
【図4】図4の(a)、(b)は、本発明のメモリ装置1の内部構造を示すブロック図である。
【図5】図5は、本発明のメモリ装置1の主要な構成部分を示すブロック図である。
【図6】図6は、本発明のメモリ装置1の主要な構成部分を示すブロック図である(電源変換器19を含む。)。
【図7】図7は、メモリ装置1のメモリ16の構成例を示したブロックである。
【図8】図8は、電子計算機2上で動作するソフトウェアの概要を図示している図である。
【図9】図9は、電子計算機2において、ユーザデータをメモリ装置1から読み出して閲覧するときの流れを示すフローチャートである。
【図10】図10は、電子データ管理プログラムの動作の概要を示すフローチャートである。
【図11】図11は、電子データ管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。
【図12】図12には、制御部52の動作例を示すフローチャートである。
【図13】図13は、アプリケーションプログラム41が終了するとき、制御部52の動作例を示すフローチャートである。
【図14】図14は、制御部52が使用禁止の除外を設定するときのフローチャートである。
【図15】図15は、ファイルシステム制御部34の動作を示す処理フローチャートである。
【図16】図16は、プロセス制御リスト150の例を示す図である。
【図17】図17は、ファイルの属性情報の例を示す図である。
【図18】図18は、本発明の電子データ管理システムの第2の実施の形態の概要を図示しているブロック図である(外部装置が電子時計の場合)。
【図19】図19は、本発明の電子データ管理システムの第3の実施の形態の概要を図示しているブロック図である(外部装置が携帯電話機の場合)。
【図20】図20は、本発明の電子データ管理システムの第4の実施の形態の概要を図示しているブロック図である(ネットワークの場合)。
【符号の説明】
【0169】
1…メモリ装置
2…電子計算機
3…外部装置
4…サーバ
5…ネットワーク
11…第1端子
12…ハブコントローラ
13…ポートコントローラ
14…切り替え器
15…メモリコントローラ
16…メモリ
17…第2端子
18…表示器
19…電源変換器
20…電源スイッチ
30…認証領域
31…プログラム領域
32…ユーザ領域
41…アプリケーションプログラム
43…ユーザモード
44…カーネルモード
46…エグゼキュティブ
47…カーネル
50…ドライバウェア
51…アプリケーションプログラムインターフェース部
52…制御部
53…ログ取得部
54…暗号化部
55…復号化部
82…キーボード
83…マウス
C1…インターフェース制御部
C2…ネットワーク制御部
C3…ファイルシステム制御部
C4…入力装置制御部
D1…インターフェースドライバ
D2…ネットワークドライバ
D3…ファイルシステムドライバ
D4…キーボードドライバ
D5…マウスドライバ
E1…コネクタ
E2…ネットワークカード
E3…USBポート
E4…ハードディスク

【特許請求の範囲】
【請求項1】
電子計算機(2)に接続されているメモリ装置(1)に格納されている電子ファイルを利用するとき、前記電子ファイルを利用することができる利用範囲を示す属性情報を参照して、前記電子ファイルの利用の許可又は不許可を判断する電子データ管理方法において、
前記メモリ装置(1)は、(a)外部情報を提供する外部装置(3)と、前記電子計算機(2)とのデータ通信を行う回線との接続又は、切断の制御を行う制御手段(14,15)、及び、(b)前記電子ファイルを格納した前記記憶手段(16)からなり、
前記外部情報は、前記電子ファイルの地球上の位置である位置情報、及び/又は、現在の時刻及びカレンダーを示す時刻情報からなり、
前記外部装置(3)が、前記制御手段(14,15)を介して、前記電子計算機(2)に接続されたとき、
前記電子計算機(2)は、前記外部情報を取得して、前記属性情報と、前記外部情報を比較し、
前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び/又は前記時刻情報が存在するとき、前記許可をし、
前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び/又は前記時刻情報がないとき、前記不許可をする
ことを特徴とする電子データ管理方法。
【請求項2】
請求項1において、
前記電子計算機(2)は、
前記電子計算機(2)を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機(2)に接続されているデバイス(E1〜E6)を直接制御するためのデバイスドライバ(D1〜D5)同士の通信、又は前記デバイスドライバ(D1〜D5)と前記電子計算機(2)上で動作するアプリケーションプログラム(41)との通信に共通のインターフェースを提供するための手段で、かつ、
前記アプリケーションプログラム(41)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(D1〜D5)から受信した受信データを含む第2データを、前記アプリケーションプログラム(41)に送信するためのアプリケーションプログラムインターフェース部(51)と、
前記デバイスドライバ(D1〜D5)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(D1〜D5)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部(C1〜C4)と、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部(52)と
からなる
ドライバウェア手段(50)を有し、
前記アプリケーションプログラムインターフェース部(51)は、前記アプリケーションプログラム(41)から前記電子ファイルへアクセスときの前記アクセスを取得して、
前記デバイスドライバ制御部(C1〜C4)は、前記ファイルの前記属性情報を前記メモリ手段(1)から取得して、更に、前記外部装置(3)から、前記位置情報、及び/又は、前記時刻情報を取得し、
前記制御部は、前記位置情報、及び/又は、前記時刻情報と、前記属性情報を比較して、前記許可又は前記不許可を出力し、
前記許可の場合、前記アクセスを前記デバイスドライバ(D1〜D5)へ送信し、
前記不許可の場合、前記アクセスを破棄する
ことを特徴とする電子計算機のデータ管理方法。
【請求項3】
請求項1又は2において、
前記メモリ手段(1)に格納されている前記ユーザの個人情報を利用して、前記ユーザの個人認証を行い、
前記個人認証が成功したとき、前記回線を接続して、前記外部装置(3)に前記電子計算機(2)からアクセス可能にし、
前記外部装置に前記電子計算機から供給される電源が遮断されたとき、前記回線を切断して、前記外部装置が別の電源で動作しても、前記電子計算機へアクセスできないようにする
ことを特徴とする電子計算機のデータ管理方法。
【請求項4】
請求項1又は2において、
前記外部装置(3)は、電波時計であり、
前記時刻情報は、前記電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである
ことを特徴とする電子データ管理方法。
【請求項5】
請求項1又は2において、
前記外部装置(3)は、GPS受信機であり、
前記位置情報は、前記GPS受信機が取得したGPSデータから取得した座標データであり、
前記時刻情報は、A)前記GPSデータから取得した前記時刻及び/又は前記カレンダー、又は、B)電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである
ことを特徴とする電子データ管理方法。
【請求項6】
電子ファイルが格納されるメモリ手段(16)と、電子計算機(2)に接続するための第1端子(11)とを有するメモリ装置において、
外部装置(3)が接続されるための第2端子(17)と、
前記電子計算機(2)と前記メモリ手段(16)との間の通信、及び、前記電子計算機(2)と前記第2端子(17)との間の通信を制御するための制御手段(12、13、14)とからなり、
前記制御手段(12、13,14)は、前記電子計算機(2)が前記外部装置(3)と通信するとき、前記第1端子(11)と前記第2端子(17)の間のデータ通信線を接続し、
前記制御手段(12、13,14)は、前記電子計算機(2)が前記外部装置(3)と通信しないとき、又は、前記第2端子(17)から前記外部装置(3)が切断されたとき、前記第1端子(11)と前記第2端子(17)の間の前記データ通信線を切断する
ことを特徴とするメモリ装置。
【請求項7】
請求項6において、
前記外部装置(3)は、前記外部装置(3)の前記電子ファイルの地球上の位置である位置情報、及び/又は、現在の時刻及びカレンダーを示す時刻情報を含む外部情報を提供する装置であり、
前記外部情報を、前記電子ファイルの属性情報と比較して、前記電子計算機を利用するか否かの判定を行う
ことを特徴とするメモリ装置。
【請求項8】
請求項7において、
前記制御手段は、前記メモリ手段に格納されている個人情報を利用して、個人認証を行い、
前記個人認証が成功した場合、前記外部情報を取得して、前記判定を行う
ことを特徴とするメモリ装置。
【請求項9】
請求項7において、
前記電子計算機は、前記メモリ手段に格納されているファイルにアクセスするとき、
前記ファイルを利用できる前記時刻及び/又は前記位置情報に関する情報を示す属性情報を取得して、
前記外部装置から前記外部情報を取得し、
前記属性情報と前記提供情報を比較して、前記ファイルへの前記アクセスを判断する判断手段を有し、
前記判断手段からでる判断結果に従って前記アクセスを許可、または不許可する実行手段を有する
ことを特徴とするメモリ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2009−237625(P2009−237625A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2008−79352(P2008−79352)
【出願日】平成20年3月25日(2008.3.25)
【出願人】(501180263)サイエンスパーク株式会社 (14)
【Fターム(参考)】