JP5379520B2 - ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム - Google Patents

ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム Download PDF

Info

Publication number
JP5379520B2
JP5379520B2 JP2009047048A JP2009047048A JP5379520B2 JP 5379520 B2 JP5379520 B2 JP 5379520B2 JP 2009047048 A JP2009047048 A JP 2009047048A JP 2009047048 A JP2009047048 A JP 2009047048A JP 5379520 B2 JP5379520 B2 JP 5379520B2
Authority
JP
Japan
Prior art keywords
file
digital content
access
electronic
data
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
JP2009047048A
Other languages
English (en)
Other versions
JP2010204750A (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
Priority to JP2009047048A priority Critical patent/JP5379520B2/ja
Publication of JP2010204750A publication Critical patent/JP2010204750A/ja
Application granted granted Critical
Publication of JP5379520B2 publication Critical patent/JP5379520B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ディジタルコンテンツを作成、配布、閲覧、及び利用する環境を提供するディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムに関する。特に、ディジタルコンテンツの利用のトレーサビリティを確保し、ディジタルコンテンツの情報漏洩を防止するディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムに関する。
利用者は、電子計算機を利用して、電子データファイルを閲覧し、編集することが一般的に行なわれている。特に、インターネット等のネットワークシステムを利用して、利用者同士は、電子データファイルを交換し、共有することが一般的になった。例えば、電子メールのシステムを利用した次の使い方がある。第1利用者は、電子メール用のアプリケーションプログラムで、第2利用者4に電子メールを送るとき、電子データファイルをその電子メールに添付する。この電子データファイルを受け取った第2利用者4は、電子データファイルを閲覧し、編集する。
また、この添付の電子データファイルを受け取った第2利用者4は、電子データファイルを補助記憶装置に保管して利用することもできる。更に、この添付の電子データファイルを受け取った第2利用者4は、電子データファイルを第3利用者に転送することができる。また、更に、この添付の電子データファイルを受け取った第2利用者4は、この電子データファイルを利用して作成したファイルを第3利用者に渡したりすることもできる。
電子データファイルの利用方法としては、専用のファイル交換ソフトウェアを利用した使い方もある。更に、ネットワーク上のデータストレージを利用して、データを共有する使い方もある。
このように、複数の利用者が、電子データファイル、この電子データファイルから派生して作成されたファイルを交換、又は共有している。こうした電子データファイルの様々な使い方の中で、電子データファイルの内容が、第三者に渡らないように、情報漏洩対策が求められている。電子データファイルは、テキスト文書、画像データを始め様々な形態のデータである。電子データファイルの内容としては、個人情報、ビジネスのノウハウ、製品の仕様書、設計書をはじめ様々である。
これらの情報は、大衆公開されているものもあれば、核施設に関する情報、軍事情報等の機密情報もある。民間会社にとっても、クライアントに関するデータ、製品の設計書、商品の仕様書、顧客対応マニュアル等の長年のノウハウの集積を収めた内容の電子データファイルもある。これらの電子データファイルは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが、セキュリティ上大事である。
そして、セキュリティの観点からは、これらの電子データファイルを関係者以外には参照されないようにし、外部へ流出するのを避けたいという要望がある。このような要望に対応するためには、本発明の発明者等は、特許文献1に開示した内容のデータ管理用のシステム及びそのためのプログラムを開発して、クライアントに提供している。具体的には、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機から、目的以外ことに利用できないようにし、外部へ持ち出さないようにしている。
WO2007/049625 「電子計算機のデータ管理方法、プログラム、及び記録媒体」
しかしながら、引用文献1に記載のシステムでは、不揮発性メモリという物理媒体と、情報漏洩防止用のアプリケーションプログラムを組み合わせて情報漏洩を防止している。これは、利用者にとっては、常に物理媒体を携帯しなければならず、この物理媒体を損失すると、データの復元もできないという欠点がある。更に、利用者としては、電子データの交換には、使い慣れた手段を利用する方が便利である。例えば、このような手段としては、電子メール、電子計算機の補助記憶装置等がある。機密情報等のコンテンツを提供する側としては、電子メールで電子データを送ることは、距離に依存しない、物理媒体の提供がないという利点がある。
図27は、電子データファイルを利用する従来技術を概念的に図示した図である。まず、第1コンピュータ1と第2コンピュータ2は、ネットワーク13に接続されて、互いにデータの送受信を行なっている。コンテンツ提供者は、第1コンピュータ1を利用する。コンテンツ提供者は、第1コンピュータ1を利用して、ファイル5を利用者へ送信する。利用者は、第2コンピュータ2を利用する。第2コンピュータ2は、ネットワーク13を経由して、第1コンピュータ1から送信されたファイル5を受信する。
利用者は、第2コンピュータ2の表示デバイス上にファイル5を表示させて、閲覧し、その編集ができる。ファイル5は、ネットワーク13を経由するため、第3者に閲覧される可能性がある。また、ファイル5は、ネットワーク13を経由するため、第3者によって、その内容が変更される可能性がある。これを回避するためには、第1コンピュータ1で、ファイル5を暗号化して、ネットワーク13に送受信する。具体的には、第1コンピュータ1は、ファイル5を暗号化して暗号化ファイル5aを作成し、この暗号化ファイル5aを電子メールに添付して、電子メールをネットワーク13へ送信する。
第2コンピュータ2は、ネットワーク13を経由して、暗号化ファイル5aを受信する。第2コンピュータ2は、この暗号化ファイル5aを復号化して、元のファイル5に復元する。そして、この復元されたファイル5を利用する。このようにファイル5を暗号化し、ネットワーク13に送り、再び復号化して利用している。ここでは、コンテンツ提供者は、ファイル5を暗号化する作業を行なう。利用者は、それを復号化する作業が必要である。ファイル5は、ネットワーク13上に伝送されるとき、暗号化されているため、第3者に見られても、第3者に渡っても、情報が漏洩する心配はない。
暗号化技術は、技術の進歩と共に、その解読技術が進んでおり、時間、労力、技術投資をすれば、いずれか解読されるものである。そのため、最新の暗号化技術を利用することが好ましい。この暗号技術を利用した暗号化ファイルは、その技術によるが、少なくとも、通常の電子計算機を利用する限り、経済的利益がある期間内、又は、一般常識からみて有限時間内に解読できない。しかし、次の不便な点がある。まず、利用者が暗号化ファイルを復号化すると、ファイル5が自由に編集でき、その複製もできる。このファイル5は、利用者又は第2コンピュータ2から第3者に渡り、情報が漏洩される可能性がある。更に、通常のコンピュータの利用だと、ファイル5の履歴は、ごくわずかなものしか残らない。
例えば、ファイル5をオープンしたアプリケーションプログラムの利用履歴、ファイル5の一時ファイル、オペレーティングシステムの利用履歴にファイル5をオープンした等の履歴しか残らない。要するには、コンテンツ提供者側からみると、利用者が、ファイル5をどのように利用したかを監視することが困難であり、情報漏洩対策を講じる分野にとっては、利用履歴はわずかであり、このような利用方法は、通用しない。
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、利用者の電子計算機から、ディジタルコンテンツが情報漏洩されることなく利用できる、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することである。
本発明の他の目的は、ディジタルコンテンツの利用トレーサビリティを確保した、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することである。
本発明は、前記目的を達成するため、次の手段を採る。
本発明のディジタルコンテンツ管理用制御プログラムは、記憶装置(14、25)を含む複数のデバイス(22−27)が接続され、オペレーティングシステム(11)によって制御されて動作する電子計算機(1、2)で電子データ(5)を利用する際、前記電子データ(5)の全部又は一部が前記電子計算機(1、2)から外部へ漏洩することを防止する手段として前記電子計算機(1、2)を機能させる制御プログラムであって、
前記オペレーティングシステム(11)は、前記記憶装置(1425)のファイルシステムを制御するためのファイルシステムドライバ(34、34a)を備え、
前記オペレーティングシステム(11)は、前記電子計算機(12)の仮想ディスクドライブ(8、37b)のファイルシステムを制御するための仮想ファイルシステムドライバ(34b)を備え、
前記制御プログラムは、(I)前記複数のデバイス(22−27)それぞれを制御するためのデバイスドライバ(32−36)からなるデバイスドライバ層(30)と前記オペレーティングシステム(11)がカーネルモードで提供する基本プログラム(63)との間に位置し、前記オペレーティングシステム(11)の全ての命令が実行できる動作モードであるカーネルモードで動作して、前記デバイスドライバ(32−36)の共通の窓口となるとともに、前記基本プログラム(63)を通して行われる、前記デバイスドライバ(32−36)と前記電子計算機(1、2)上に動作しているアプリケーションプログラム(10)とのやり取りをまとめて行ない、(II)前記アプリケーションプログラム(10)から要求されたときに、前記デバイス(22−27)の間、又は、前記アプリケーションプログラム(10)と前記デバイス(22−27)の間のデータの送受信を行ない、(III)前記アプリケーションプログラム(10)から前記電子計算機(12)の前記記憶装置(14、25)に記憶されている特定ファイルへアクセスしようとするとき、前記オペレーティングシステム(11)が標準で備えているインターフェースを通して、前記アプリケーションプログラム(10)から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置(14、25)とのデータのやりとりを経由する共通インターフェース手段(50)として前記電子計算機(12)を機能させるプログラムであり、
前記共通インターフェース手段(50)は、
前記アプリケーションプログラム(10)又は前記基本プログラム(63)から、前記ファイルシステムドライバ(34)又は前記仮想ファイルシステムドライバ(34b)へのアクセス要求を受信するインターフェース手段(51)と、
前記アクセス要求を前記インターフェース手段(51)から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段(52)と、
前記電子データ(5)の利用形態を示すデータからなる管理データ(601)を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段(44)と、
)前記ファイルシステム制御手段(44)から前記参照結果を受信し、()前記参照結果が正常か異常かの判定を行い、()前記判定の結果が異常となるとき、前記アクセスを破棄し、()前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ(8、37b)に渡す前記制御手段(52)と
からなり、
前記共通インターフェース手段(50)は、1以上の前記電子データ(5)からなるファイルデータ(602)、及び、前記管理データ(601)からなるディジタルコンテンツライブラリ(6)を、前記電子計算機(12)の前記仮想ディスクドライブ(8、37b)として、前記オペレーティングシステム(11)に認識させ、
前記仮想ディスクドライブ(8、37b)は、前記アクセスを取得して、前記アクセスを前記記憶装置(14、25)の前記ファイル(5)へのアクセスに変換して、前記共通インターフェース手段(50)にし、
前記共通インターフェース手段(50)は、前記ファイルシステム制御手段(44)を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ(8、37b)を経由して、前記アプリケーションプログラム渡し、
前記仮想ディスクドライブ(8、37b)の中から読み出された前記電子ファイル(5)、又は、前記電子ファイル(5)から派生して作成されたファイルは、前記共通インターフェース手段(50)によって前記仮想ディスクドライブ(8、37b)のみに格納され、他の前記記憶装置(14、25)に格納しないものであり、
前記管理データ(601)は、前記ディジタルコンテンツライブラリ(6)又は前記電子ファイル(5)を利用することができる回数、期間、時間帯、場所及び利用者の内1以上のデータからなる属性情報からなり、
前記電子ファイル(5)にアクセスするごとに、前記回数の値が1つずつ変化され、前記回数が0になったとき、前記電子ファイル(5)にアクセスすることができなくなる
ことを特徴とする。
前記共通インターフェース手段(50)は、前記ファイルシステムドライバ(34a)から取得した、暗号化されたデータを復号化する復号化手段(55)と、前記ファイルシステムドライバ(34a)に渡すデータを暗号化して暗号化データを作成する暗号化手段(54)と、からなると良い。
前記電子ファイル(5)は、個別に暗号化されて、前記ディジタルコンテンツライブラリ(6に格納されると良い。
前記ディジタルコンテンツライブラリ(6)は、暗号化されていると良い。
前記共通インターフェース手段(50)は、前記デバイスドライバ(32−36)を制御することで、ネットワーク(13)への通信機能、前記記憶装置(1425)への書き込む機能、及び、前記入力装置(1617)を操作して複製する複製機能の中から選択される1以上の機能を制限すると良い。
前記参照結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツライブラリ(6)に新規電子ファイルを書き込む動作の場合は、前記共通インターフェース手段(50)は、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツライブラリ(6)に書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェース手段(50)は、前記属性情報を変更し、
前記参照結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェース手段(50)は、前記アクセスを許可しないで破棄すると良い。
前記ディジタルコンテンツライブラリ(6)の容量、保存先、期限設定、ログ出力、属性情報の変更の内1以上が指定され、前記管理データ(601)に格納されていると良い。
前記ディジタルコンテンツライブラリ(6)は、記録媒体若しくは記憶デバイスに保存又は、電子メールに添付、又はネットワークストレージに格納されると良い。
前記共通インターフェース手段(50)は、前記仮想ディスクドライブ(8、37b)を利用したログを取得するログ取得手段(53)からなると良い。
本発明のディジタルコンテンツ管理システムは、前記ディジタルコンテンツ管理用制御プログラムからなる制御プログラム(7)を提供するソフトウェア提供手段(101)と、前記制御プログラム(7)を導入した利用者(34)の管理、及び、前記ディジタルコンテンツライブラリ(6)の管理を行うユーザ管理手段(102)とからなるサーバ(100)と、前記制御プログラム(7)を導入し、前記制御プログラム(7)を利用して前記ディジタルコンテンツライブラリ(6)を作成する第1電子計算機(1)と、及び、
前記制御プログラムを導入し、前記ディジタルコンテンツライブラリ(6)を利用する第2電子計算機(2)とからなることを特徴とする。
本発明のディジタルコンテンツ管理システムは、前記サーバ(100)は、前記ディジタルコンテンツライブラリ(6)の利用履歴を前記第2電子計算機(2)から受信し、管理する履歴管理手段を有し、前記サーバ(100)は、前記第1電子計算機(1)に、自発的に又は、前記第1電子計算機(1)から要求があるとき、前記利用履歴を送信し、前記第1電子計算機(1)は、前記利用履歴を分析して、前記ディジタルコンテンツライブラリ(6)の利用状況を把握する履歴分析手段を有することを特徴とする。
本発明のディジタルコンテンツ管理用電子計算機は、記憶装置(14、25)を含む複数のデバイス(22−27)が接続され、オペレーティングシステム(11)によって制御されて動作する電子計算機(1、2)で電子データ(5)を利用する際、前記電子データ(5)の全部又は一部が前記電子計算機(1、2)から外部へ漏洩することを防止するディジタルコンテンツ管理用電子計算機であって、
前記オペレーティングシステム(11)は、前記記憶装置(1425)のファイルシステムを制御するためのファイルシステムドライバ(34、34a)を備え、
前記オペレーティングシステム(11)は、前記電子計算機(12)の仮想ディスクドライブ(8、37b)のファイルシステムを制御するための仮想ファイルシステムドライバ(34b)を備え、
前記電子計算機は、(I)前記複数のデバイス(22−27)それぞれを制御するための前記デバイスドライバ(32−36)からなるデバイスドライバ層(30)と前記オペレーティングシステム(11)がカーネルモードで提供する基本プログラム(63)との間に位置し、前記オペレーティングシステム(11)の全ての命令が実行できる動作モードであるカーネルモードで動作して、前記デバイスドライバ(32−36)の共通の窓口となるとともに、前記基本プログラム(63)を通して行われる、前記デバイスドライバ(32−36)と前記電子計算機(1、2)上に動作しているアプリケーションプログラム(10)とのやり取りをまとめて行ない、(II)前記アプリケーションプログラム(10)から要求されたときに、前記デバイス(22−27)の間、又は、前記アプリケーションプログラム(10)と前記デバイス(22−27)の間のデータの送受信を行ない、(III)前記アプリケーションプログラム(10)から前記電子計算機(12)の前記記憶装置(14、25)に記憶されている特定ファイルへアクセスしようとするとき、前記オペレーティングシステム(11)が標準で備えているインターフェースを通して、前記アプリケーションプログラム(10)から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置(14、25)とのデータのやりとりを経由する共通インターフェースとしての共通インターフェース手段(50)を有し、
前記共通インターフェース手段(50)は、
前記アプリケーションプログラム(10)又は前記基本プログラム(63)から、前記ファイルシステムドライバ(34)又は前記仮想ファイルシステムドライバ(34b)へのアクセス要求を受信するインターフェース手段(51)と、
前記アクセス要求を前記インターフェース手段(51)から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段(52)と、
前記電子データ(5)の利用形態を示すデータからなる前記管理データ(601)を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段(44)と、
)前記ファイルシステム制御手段(44)から前記参照結果を受信し、()前記参照結果が正常か異常かの判定を行い、()前記判定の結果が異常となるとき、前記アクセスを破棄し、()前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ(8、37b)に渡す前記制御手段(52)と
からなり、
前記共通インターフェース手段(50)は、1以上の前記電子データ(5)からなるファイルデータ(602)、及び、前記管理データ(601)からなるディジタルコンテンツライブラリ(6)を、前記電子計算機(12)の前記仮想ディスクドライブ(8、37b)として、前記オペレーティングシステム(11)に認識させ、
前記仮想ディスクドライブ(8、37b)は、前記アクセスを取得して、前記アクセスを前記記憶装置(14、25)の前記ファイル(5)へのアクセスに変換して、前記共通インターフェース手段(50)にし、
前記共通インターフェース手段(50)は、前記ファイルシステム制御手段(44)を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ(8、37b)を経由して、前記アプリケーションプログラム渡し、
前記仮想ディスクドライブ(8、37b)の中から読み出された前記電子ファイル(5)、又は、前記電子ファイル(5)から派生して作成されたファイルは、前記共通インターフェース手段(50)によって前記仮想ディスクドライブ(8、37b)のみに格納され、他の前記記憶装置(14、25)に格納されないで、
前記管理データ(601)は、前記ディジタルコンテンツライブラリ(6)又は前記電子ファイル(5)を利用することができる回数、期間、時間帯、場所及び利用者の内1以上のデータからなる属性情報からなり、
前記電子ファイル(5)にアクセスするごとに、前記回数の値が1つずつ変化され、前記回数が0になったとき、前記電子ファイル(5)にアクセスすることができなくなることを特徴とする。
前記共通インターフェース手段(50)は、
前記ファイルシステムドライバ(34a)から取得した、暗号化されたデータを復号化する復号化手段(55)と、
前記ファイルシステムドライバ(34a)に渡すデータを暗号化して暗号化データを作成する暗号化手段(54)と、
からなると良い。
前記電子ファイル(5)は、個別に暗号化されて、前記ディジタルコンテンツライブラリ(6)に格納されると良い。
前記ディジタルコンテンツライブラリ(6)は、暗号化されていると良い。
前記共通インターフェース手段(50)は、前記デバイスドライバ(32−36)を制御することで、ネットワーク(13)への通信機能、前記記憶装置(1425)への書き込む機能、及び、前記入力装置(1617)を操作して複製する複製機能の中から選択される1以上の機能を制限すると良い。
前記参照結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツライブラリ(6)に新規電子ファイルを書き込む動作の場合は、前記共通インターフェース手段(50)は、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツライブラリ(6)に書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェース手段(50)は、前記属性情報を変更し、
前記参照結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェース手段(50)は、前記アクセスを許可しないで破棄することを特徴とする。
前記ディジタルコンテンツライブラリ(6)の容量、保存先、期限設定、ログ出力、前記属性情報の変更の内1以上が指定され、前記管理データ(601)に格納されていると良い。
前記ディジタルコンテンツライブラリ(6)は、記録媒体若しくは記憶デバイスに保存又は、電子メールに添付、又はネットワークストレージに格納されると良い。
前記共通インターフェース手段(50)は、前記仮想ディスクドライブ(8、37b)を利用したログを取得するログ取得手段(53)からなると良い。
本発明のディジタルコンテンツ管理用制御プログラムの記録媒体は、上述のディジタルコンテンツ管理用制御プログラムを格納した記録媒体である。
本発明によると、次の効果が奏される。
本発明は、利用者の電子計算機から、ディジタルコンテンツが情報漏洩されることなく利用できるようになった。
本発明は、ディジタルコンテンツの利用トレーサビリティを確保した、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することが可能になった。
図1は、実施の形態の全体概要を示す概略図である。 図2は、ハードディスク25にDCL6が表示される例を図示している図である(ユーザインターフェースプログラムを開いた状態で、DCD8を表示。)。 図3は、本発明の実施の形態のディジタルコンテンツ管理システムの概要を図示している図である。 図4は、本発明の実施の形態のディジタルコンテンツ管理システムの全体の流れの概略を示すフローチャートである。 図5は、ディジタルコンテンツライブラリ5の具体的な例を示す概念図である。 図6は、本発明の実施の形態のディジタルコンテンツ管理システムの第1コンピュータ1、サーバ100、及び第2コンピュータ2の間のやりとりの流れを示すフローチャートであり、図7に続く。 図7は、本発明の実施の形態のディジタルコンテンツ管理システムの第1コンピュータ1、サーバ100、及び第2コンピュータ2の間のやりとりの流れを示すフローチャートであり、図6の続きである。 図8は、第2コンピュータ2上で動作するソフトウェアの概要を図示している図である。 図9、オペレーティングシステム11の構成要素の内の代表的なものを図示し、オペレーティングシステム11と、本発明の制御プログラム7との関係を図示している図である。 図10は、制御プログラム7の動作を示すフローチャートである。 図11は、制御プログラム7が制御モードをオンにするときの動作を示すフローチャートである。 図12には、制御部52の動作のフローチャートを示している。 図13は、アプリケーションプログラム10が終了するとき、制御部52の動作を示すフローチャートである。 図14は、制御部52が使用禁止の除外を設定するときの流れを示すフローチャートである。 図15は、ファイルシステム制御部34の動作を示す処理フローチャートである。 図16には、プロセス制御リスト150の例を図示している。 図17は、第1利用者側でDCL6を作成する画面の例である。 図18は、デスクトップのタスクトレイ220に表示されるアイコンの例を図示して図である。 図19には、新規のディジタルコンテンツドライブ6を作成するウィザードの流れを図示している図である。 図20は、ディジタルコンテンツライブラリ新規作成ウィザードの流れを図示している図である。 図21は、サーバ100側の動作を示すフローチャートである。 図22は、第1利用者側の動作を示すフローチャートである。 図23は、RAMディスクの実体を説明するための概念図である。 図24は、RAMディスクを利用してDCL6にアクセスするときのデータの流れの第1例を示すフローチャートである(ファイル毎に暗号化した例)。 図25は、RAMディスクを利用してDCL6にアクセスするときのデータの流れの第2例を示すフローチャートである(仮想ディスク全体を暗号化した例)。 図26は、プロシー情報の例を示す図である。 図27は、電子データファイルを利用する従来技術を概念的に図示した図である。
発明を実施するための最良の形態である第1の実施の形態を説明する。
図1は、本発明の第1の実施の形態を概念的に図示した図である。図示したように、第1コンピュータ1と第2コンピュータ2は、ネットワーク13に接続されて、互いに電子データの送受信を行なっている。第1利用者3は、第1コンピュータ1を利用する。第2利用者4は、第2コンピュータ2を利用する。第1利用者3は、第1コンピュータ1を利用して、ファイル5を第2利用者4へ送信する。このファイル5は、暗号化された仮想フォルダに入っている。
この仮想フォルダを、本実施の形態には、「ディジタルコンテンツライブラリ」6という。言換えると、ファイル5を有するこのディジタルコンテンツライブラリ6は、暗号化された仮想フォルダである。以下、ディジタルコンテンツライブラリ6は、略してDCL6という。DCL6は、ファイル5等の各種ファイルを格納し、DCL6の中の各ファイルは全て暗号化される。具体的には、ファイル5が暗号化される。または、DCL6の利用形態によるが、DCL6全体が暗号化できる。
DCL6は、第1コンピュータ1から第2コンピュータ2へ送信される。第2コンピュータ2は、ネットワーク13を経由して、第1コンピュータ1から送信されたDCL6を受信する。第2利用者42は、DCL6を開き、DCL6の中のファイル5を閲覧する。DCL6は、第2コンピュータ2の既存の補助記憶装置、例えばCドライブ、に保存される。制御プログラム7は、第2コンピュータ2にインストールされて動作している。この制御プログラム7は、第2コンピュータ2上に、DCL6を利用するための環境を整えるためのアプリケーションプログラムである。
制御プログラム7は、第2コンピュータ2の補助記憶装置に保存されているDCL6を、仮想補助記憶装置として表示させる。つまり、制御プログラム7は、DCL6を、仮想ドライブとして表示させる。例えば、制御プログラム7は、DCL6をIドライブとして表示する。以下、仮想補助記憶装置として表示されているDCL6を、「ディジタルコンテンツドライブ」8という。以下、ディジタルコンテンツドライブ8は、略してDCD8という。
このDCD8の様子を、図2に図示している。図2には、オペレーティングシステムのファイルシステムを扱うユーザインターフェースプログラムの画面を表示している。この画面の左側領域には、DCD8は、第2コンピュータ2の補助記憶装置の一つのドライブであるIドライブ「Drive(I:)」として表示されている。図中には、DCD8の他に、第2コンピュータ2の補助記憶装置であるCドライブ(通常のハードディスクである。)である「USER_HDD(C:)」、CD、DVD等の記録媒体用のDドライブである「CD-DVD(D:)」が表示されている。
画面の右側領域には、Iドライブの中の内容を表示している。例えば、「File1.txt」、「Data.dat」等のファイル5や、「Folder1」等のフォルダを図示している。このDCD8は、第2利用者4から見ると、Cドライブ、Dドライブ等のドライブと同じに見える。そして、第2利用者4は、このDCD8の中のファイル5等は、通常の補助記憶装置であるハードディスクドライブにアクセスする感覚で利用できる。このDCD8を利用するに当たり、第2利用者4にとっては、幾つかの制限が課せられる。
第2利用者4は、DCL6を利用するための環境を整えるための制御プログラム7を導入しなければならない。この制御プログラム7は、第2利用者4の操作に次の制限を課す。このDCD8の中から取り出したファイル5、このファイルから派生して作成されたファイルは、他のドライブに保存することはできない。無論、この他のドライブには、第2コンピュータ2に内蔵された補助記憶装置、第2コンピュータ4に接続された外部記憶装置、及び、DCD8以外の仮想ドライブが含まれる。
更に、このDCD8の中から取り出したファイル5は、他の記録媒体に記録することはできない。そして、第2利用者4は、DCD8の中のファイル5を開き、閲覧し、編集し、再度、DCD8の中に保存することができる。また、第2利用者4は、新規のファイルを作成して、DCD8の中に保存することもできる。更に、ファイル5の全部又は一部を複製して作成されたファイルも、DCD8の中に保存できる。このように、ファイル5を利用するときの暗号化、復号化等の面倒な手順がなくなる。
これにより、第2利用者4にとっては、ユーザフレンドリーの環境ができる。第1利用者3から見ると、第2利用者4に渡したファイル5は、意識的に又は無意識的に、第3者に渡り、情報漏洩することがなくなる。第1利用者3は、情報漏洩を心配する必要がなくなり、ストレス軽減にもつながり、安心感をもたらす。更に、制御プログラム7は、ファイル5を利用した履歴もちゃんと記録して履歴データとして残す機能を有する。この履歴データを、第2利用者4から第1利用者3に渡すことができる。
第1利用者3は、履歴データを受け取って分析し、第2利用者4の振る舞いが把握できる。また、同様に、第1利用者3は、ファイル5がどのように利用されているかを把握できる。このような利点を有する。これにより、第1利用者3は、機密情報、個人情報等の情報を安心して、第2利用者4に渡すことが可能になる。更に、制御プログラム7は、DCL6を利用できる期限、期間が設定できる機能を有する。これにより、第1利用者3は、第2利用者4がDCL6を利用する期限、期間を、設定することができる。
この期限がすぎると、制御プログラム7は、DCD8の内容を自動的に消去する機能を有する。又は、制御プログラム7は、この期限がすぎたDCD8を開かない、その中身を表示しない機能を有する。よって、第2利用者4は、期限がすぎたDCD8の中のファイル5等を開いて利用することができない。また、DCL6を利用できる期間には、曜日、又は、一日の何時何分から何時何分までという時間帯が指定できる。これにより、第2利用者4は、特定の日時、曜日、時間帯にしかファイルを扱うことができなくなる。
また、制御プログラム7は、DCL6を利用できる地理上の地点、範囲の指定もできる機能を有することが好ましい。これにより、特定に地域、地点でのみ利用できるようになる。例えば、第2利用者4の自宅、勤務先、出張先等が指定されていれば、その場所でしか、DCL6を利用することができない。DCL6は、仮想ディスク装置であるが、実体はファイルである。DCL6の実体ファイルを、ドライバウェアのアクセス制御にて保護することで、セキュアなコンテンツ保護を実現した。
暗号鍵、認証、利用回数・期限等のアクセス制御に必要な情報を、DCL6に持たせることで、DCL6を電子計算機間で交換できる。認証、暗号化等の物理媒体のセキュリティ機能と同機能を持ち、オンライン上でデータ交換できるという手軽さが特長である。図2に図示したように、第1コンピュータ1には、DCL6が、例えば、第2コンピュータ2と同様に表示される。図2のファイル5のアイコンをクリックすると、そのファイル5が開く。これらのフォルダのアイコンをクリックすると、そのフォルダは開き、その内容が表示される。
このようなスムーズな操作は、制御プログラム7によって実現される。このように、第2利用者41又は第2利用者42は、特別の操作をすることはなく、通常のハードディスク、補助記憶装置を操作する間隔で、DCD8を操作する。つまり、第2利用者41又は第2利用者42は、従来から使い慣れた方法で、ファイル5にアクセスでき、暗号化、復号化等の面倒な操作をしなくとも済む。
図3には、本発明の実施の形態のディジタルコンテンツ提供システムの概要を図示している。このディジタルコンテンツ提供システムは、DCL6を利用して電子データファイルをユーザに提供し、セキュリティが充実し、情報漏洩が抑制できるシステムである。このディジタルコンテンツ提供システムは、システム提供者側のサーバ100、第1利用者側1aの第1コンピュータ1、第2利用者4側2bの第2コンピュータ2から構成される。サーバ100は、ソフトウェア配布、利用者管理、DCL管理、有価価値情報管理等のサービスを提供する。
ソフトウェア配布は、制御プログラム7を配布するサービスである。利用者管理は、制御プログラム7を導入した利用者を登録し、管理するサービスである。DCL管理は、作成されたDCL6を登録し、DCL6の利用状況を管理するためのサービスである。有価価値情報管理は、DCL6を利用する際、その利用に合わせて、課金し、決裁した情報、DCL6の有価価値情報を管理するサービスである。
これらの提供サービスを実現するためには、サーバ100は、ダウンロード手段101、ユーザ管理手段102、課金手段及び決済手段103、有価価値情報販売手段104、ログ管理手段105等のハードウェア資源を有する。これらの、ダウンロード手段101、管理手段102、及び、課金手段及び決済手段103、有価価値情報販売手段104は、本実施の形態において、サーバ100の手段となっているが、全部又はその一部は、それぞれ独立したサーバで構成されることができる。
まず、ダウンロード手段101は、制御プログラム7を第1利用者側1a、第2利用者4側2aに提供する。第1利用者側1aは、電子データファイル等のディジタルコンテンツを第2利用者42aに提供する。第1利用者側1aは、第1利用者3が操作するためのシステムである。第1利用者側1aは、第1利用者1aが使用する第1コンピュータ1からなる。第1利用者側1aは、ソフトウェアの導入、DCL6の作成、ファイルの取り出し、DCL6の変更、期限管理、利用者管理、DCL6の配布、ファイルの追加、削除、編集、DCL6の閲覧等の行為を行う。
第1利用者側1aは、制御プログラム7を導入し、この制御プログラム7を利用して、DCL6を作成する。そして、このDCL6にファイル5を入れて、第2利用者4側2aに送信する。第2利用者4側2aは、第2利用者4が使用する第2コンピュータ2からなる。第2利用者4側2aは、ソフトウェアの導入、ユーザ登録、有価価値情報の購入、DCL6の閲覧、DCL6の利用等の行為を行う。第2利用者4側2aは、まず、制御プログラム7を導入する。
第2利用者4は、この制御プログラム7を利用して、第1利用者側1aから送信されてきたDCL6の内容を閲覧し、その中のファイル5を利用する。制御プログラム7は、DCL6の利用履歴等の第2コンピュータ2の動作履歴を記録する。第2コンピュータ2の動作履歴は、第2コンピュータ2からサーバ100及び/又は第1利用者側1aに送信される。又は、第2コンピュータ2の動作履歴は、DCL6内に保存されて、DCL6と一緒に、第2コンピュータ2から第1コンピュータ1へ送信される。
第1利用者側1aは、第2コンピュータ動作履歴をサーバ100から受け取ることができる。又は、第1利用者側1aから送信されてきたDCL6から第2コンピュータ2の動作履歴を取り出すことができる。上述したように、DCD8を利用して、第1利用者1aは、ディジタルコンテンツを第2利用者4に提供し、第2利用者4は、使い慣れたやり方でこれを利用している。第1利用者3は、第2コンピュータ2の動作履歴を受け取り、第2利用者4の振る舞いを把握できている。
図4のフローチャートは、本発明のディジタルコンテンツ提供システムの全体の流れを示すフローチャートの例である。まず、サーバ100は、制御プログラム7等のソフトウェアを提供する(ステップ10)。第1利用者側1aと、第2利用者4側2aは、この制御プログラム7をダウンロードして、第1コンピュータ1と第2コンピュータ2にインストールして、導入する。サーバ100は、ソフトウェアを次の方法で提供することができる。
まず、サーバ100は、ソフトウェア7をネットワーク13上、ダウンロード手段101等のネットワークストレージ装置に格納し、第1利用者側1aと第2利用者4側2aは、このスネットワークトレージ装置からソフトウェア7をダウンロードする(ステップ11)。また、ソフトウェア7を記録媒体に記録して、第1利用者側1aと第2利用者4側2aに、物理的に提供することができる。サーバ100は、第1利用者側1aと第2利用者4側2aに電子メール又は紙媒体等で、ソフトウェアのネットワーク13上のアドレス、そのダウンロード方法を通知することもできる。
この場合、第1利用者側1aと第2利用者4側2aは、サーバ100から受け取った通知に従って、ソフトウェア7を導入する。サーバ100は、第1利用者側1aと第2利用者4側2aに、電子メールで、制御プログラム7の実行ファイル、又はそのソースコードを送信することもできる。この場合は、第1利用者側1aと第2利用者4側2aは、これを受け取って、制御プログラム7を導入することもできる。このように、制御プログラム7を提供する形態は、制限しない。第2利用者42aは、サーバ100にユーザ登録をする(ステップ12)。
第2コンピュータ2に導入された制御プログラム7は、自動的にサーバ100の管理サーバ102に接続されて、ユーザ登録を行うことができる。また、第2利用者4は、手動で第2コンピュータ2を操作して、サーバ100のユーザ登録サイトから、ユーザ登録を行うことができる。ここで、管理サーバ102に登録するデータとしては、第2利用者4が導入したソフトウェア7の識別データ、第2コンピュータ2の識別データ、第2コンピュータ2のネットワーク13上のアドレス、第2利用者4の個人情報(個人識別番号、氏名、住所、連絡先等。)等のデータである。
サーバ100は、登録されたデータが正当なものであるか否か等の審査をし、審査結果を第2利用者4に送信することが好ましい。例えば、登録が完了した通知を、電子メール等で第2利用者4に送信する。第1利用者3は、制御プログラム7を利用して、DCL6を作成する(ステップ13)。そして、第1利用者は、このDCL6にファイル5を入れ、DCL6を第2利用者4に送信する(ステップ13)。この送信の仕方の一つは、第1利用者3は、電子メールにDCL6を添付して、第2利用者4に送信する。
又は、第1利用者3は、DCL6を記録媒体又は記憶デバイスに保存して、記録媒体又は記憶デバイスを第2利用者4に配達することができる。また、第1利用者3は、DCL6をネットワーク13のネットワークストレージに、DCL6をアップロードし、このDCL6のダウンロード方法を、第2利用者4に通知することができる。第2利用者4は、第1利用者3からDCL6を受け取り、これを第2コンピュータ2のハードディスクドライブ25上に保存する(ステップ14)。
又は、第2利用者4は、第1利用者3から受けた取った通知に従って、DCL6をダウンロードする。DCL6が第2コンピュータ2のハードディスクドライブ25上に保存されると、制御プログラム7は、これを検知し、自動的に、DCD8を作る。又は、DCL6が第2コンピュータ2のハードディスクドライブ25上に保存され、これを制御プログラム7を利用して開くと、自動的に、DCD8が作成される。これにより、第2利用者4は、DCD8の中のファイル5を閲覧することができる(ステップ15)。
この時点では、第2利用者4は、DCD8の中のファイル5を編集することができない。編集するためには、サーバ100からの許可が要る。この許可としては、本実施の形態では、有価価値情報によるシステムを利用する。第2利用者4は、サーバ100に申請して、有価価値情報を購入する(ステップ16)。この有価価値情報には、第2利用者4が、制御プログラム7を利用して、DCL6の内容を編集、保存できる許可等のデータが入っている。
この有価価値情報は、制御プログラム7と連携して使用されるものである。制御プログラム7は、この有価価値情報を受け取り、有価価値情報のデータを設定する。そして、この設定が終わると、DCL6の中のファイル5の編集及び保存、このファイル5から派生したファイルの編集、保存することができるようになる(ステップ17)。図5は、DCL6の具体的な例を示す概念図である。DCL6は、電子データからなるファイルである。図5(a)に図示したように、DCL6は、管理データ601、ファイルデータ602から構成される。
管理データ601は、DCL6を作成するときに作成された作成時データ603、DCL6を利用するときに作成された利用時データ604からなる。作成時データ603は、DCL6の全体のサイズを示すサイズ、DCL6を利用できる期限を示す有効期限、DCL6を利用できるユーザを示す利用者指定等のデータからなる。更に、作成時データ603は、ファイルデータ602の暗号鍵、ファイルデータ602の仮想ドライブ情報(Disk Geometry)を含む。
ファイルデータ602の仮想ドライブ情報は、ファイルデータ602が仮想ディスクドライブ上に位置する、セクタ、トラック、シリンダの数等を含む。利用時データ604は、DCL6を利用した時間を示す利用時間、DCL6を利用した時間の累積値を示す利用時間の累積カウント、DCL6を利用した端末を示す利用端末特定情報、DCL6内のファイル5を利用したアプリケーションプログラムや編集等の履歴を示す利用履歴等のデータからなる。
ファイルデータ602は、DCL6の中に入れられた電子データファイルである。このファイルデータ602は、独立した電子データファイルであることができる。また、このファイルデータ602は、電子データファイルが中に入ったフォルダであることができる。利用時データ604は、ファイルデータ602にアクセスした日時、操作種別、ファイル名、端末情報等の情報を含む。管理データ601は、ファイルデータ602とは、別に暗号化される。
DCL6の中のファイル5は、ファイル毎に暗号化される。また、ファイル5から構成されるファイルデータ602が暗号化されることもできる。DCL6は、常に暗号化されたデータである。暗号技術に関しては、DCL6を暗号化し、復号化できるものであれば、任意の暗号技術を利用できる。例えば、暗号技術には、共通鍵暗号方式、公開鍵暗号方式、秘密鍵暗号方式等を利用できる。本実施の形態では、秘密鍵暗号方式を使用する。DCL6は、全体で1つの電子ファイルであることが好ましい。
この様子を、図5(b)に概念的に図示している。図5(b)の例では、DCL6は、先頭から識別データ605、作成時データ603、利用時データ604、ファイルデータ602の順番で並んだ電子データなっている。識別データ605は、DCL6を識別するためのつけられた固有の文字と番号からなるデータである。識別データ605と管理データ601は、固定長長さのデータであることができる。利用時データ604は、ファイル5ごとに作成されることもできる。
図5(b)には、DCL6は、識別データ605、作成時データ603、利用時データ604、ファイルデータ602からなる例を図示したが、これは、DCL6の構成を限定するものではない。DCL6は、本発明の趣旨、その権利範囲から出ない限り、任意の構造のデータであることができる。無論、識別データ605、作成時データ603、利用時データ604、ファイルデータ602等のデータの配置順番を入れ替えることもできる。利用時データ604は、利用履歴の量に伴い可変サイズであることが好ましい。
この場合は、管理データ601は、DCL6の最後に配置されることが好ましい。言い換えると、DCL6は、先頭から順番に、識別データ605、ファイルデータ602、及び、管理データ601から構成される。図6と図7は、本発明のディジタルコンテンツ提供システムの全体の流れの例を詳細に図示したフロー図である。サーバ100は、制御プログラム7を、サーバ100のネットワークストレージに格納し、ダウンロード可能な状態に置かれている。まず、第1コンピュータ1は、サーバ100にアクセスして、ソフトウェアの導入要求をする(ステップ20)。
サーバ100は、この導入要求を受信して、許可すれば(ステップ21)、第1コンピュータ1は、ソフトウェアのダウンロードを開始する(ステップ22)。ソフトウェアは、制御プログラム7である。ソフトウェアのダウンロードが終わると、ソフトウェアが第1コンピュータ1にインストールされる(ステップ23)。第2コンピュータ2については、サーバ100にアクセスして、ソフトウェアの導入要求をする(ステップ24)。サーバ100は、この導入要求を受信して、許可すれば(ステップ25)、第2コンピュータ2は、ソフトウェアのダウンロードを開始する(ステップ26)。
ソフトウェアのダウンロードが終わると、ソフトウェアが第2コンピュータ2にインストールされる(ステップ27)。このインストールが終わると、第1コンピュータ1及び/又は第2コンピュータ2で、制御ソフトウェア7を利用する準備ができる。第1コンピュータ1上で動作している制御プログラム7を利用して、DCL6が作成される(ステップ30)。このDCL6を作成する例の詳細なステップについては、後述の図17、図18、及び図20のフローチャートに示している。
DCL6が作成されると、このDCL6にファイル5を追加する(ステップ31)。その後、DCL6が配布される(ステップ32)。この配布は、物理媒体に、DCL6を格納して、第2利用者4へ配達することができる。また、DCL6は、電子メールに添付されて、第2利用者4へ送信されることが好ましい。更に、DCL6は、ネットワーク13上のネットワークストレージデバイスにアップロードされて格納され、第2利用者4がこれをダウンロードして利用することもできる。
このとき、アップロードされたアドレス、それをダウンロードする手順の案内は、第1利用者3から第2利用者4に電話、ファックス、メール、郵便、配達等の1以上の方法で通知される。第2コンピュータ2からDCL6の配布についてのデータが、サーバ100に送信される(ステップ33)。サーバ100は、このデータを受信して、DCL6のユーザ管理手段102のデータベースに登録する(図3を参照。)。第2利用者4は、第1利用者3から送信又は配達されてきた、DCL6を第2コンピュータ2に保存する。
又は、第2利用者4は、第1利用者3から送られてきた通知に従って、DCL6をネットワークストレージからダウンロードして、第2コンピュータ2に保存する。第2利用者4は、第2コンピュータ2に保存されているDCL6を開くと、制御プログラム7は、このアクセスを受信して、DCL6をDCD8として表示する(図2を参照。)。よって、DCL6の内容を閲覧する(ステップ34)。DCL6が、第2コンピュータ2に格納される動作を、制御プログラム7が自動的に検知して、DCL6をDCD8として表示することができる(図2を参照。)。
第2利用者4は、通常のユーザインターフェースプログラム、たとえば、エクスプローラ等、を利用して、DCD8にアクセスして、DCD8の中のファイル5を閲覧する。第2コンピュータ2で、DCD8にアクセスした履歴は、全てが制御プログラム7によって、取得される。この履歴は、第1コンピュータ1又はサーバ100に送信される(ステップ35、36)。この送信は、第1コンピュータ1又はサーバ100から要求があったとき、行われる。また、この送信は、定期的に、行われることができる。
更に、この送信は、所定のデータ量になったとき、行われることができる。また、さらに、この送信は、DCD8の中の所定のファイル5にアクセスしたときに、行われることができる。第2利用者4は、DCD8中のファイル5は、閲覧できるが、その編集、複製などの作業はできない。このような作業を行うとき、第2利用者4は、サーバ100にユーザ登録をし、DCL6にアクセスする権限を取得しなければならない。DCL6にアクセスできる権限に関する情報は、サーバ100が有価価値情報として発行する。
まず、第2利用者4は、サーバ100に対して、ユーザ登録要求を送信する(ステップ40)。サーバ100は、この要求を受信して、許可すれば(ステップ41)、第2利用者4は、ユーザ登録の手続きを行う(ステップ42)。サーバ100では、ユーザ登録に関する申請内容を審査し、ユーザ登録が完了する旨の通知を第2コンピュータ2に送信する(ステップ43)。そして、第2利用者4に対して、利用許可データを送信する(ステップ44)。
この利用許可データは、第2利用者4がサーバ100に登録した内容で、DCL6に対して行うアクセスの種類、DCD8の中のファール5等に対して行うアクセスの種類等を定めたデータである。第2利用者4は、この利用許可データに定めたアクセスしかできない。この利用許可データに定めていないアクセスの場合は、そのアクセスに対して、サーバ100から許可を受けなければならない。このとき、第2コンピュータは2、サーバ100に対して、有価価値情報の購入を要求する(ステップ45)。この要求は、第2利用者4が希望するアクセス権限、つまり希望する利用許可データに関するデータを含む。
サーバ100は、この要求を受信して、アクセス権限に関するデータを審査し、問題なければ、有価価値情報の購入を許可する(ステップ46)。そして、サーバ100は、アクセス権限に関するデータの内容に合わせて、課金情報を第2コンピュータ2に送信する(ステップ47)。第2コンピュータ2は、所定の手順に従って、課金の内容を確認し、問題なければ、課金を承認し、指定された手順に従って、課金決済を行う(ステップ48)。そして、サーバ100は、課金決済が終わると、有価価値情報に応じた利用許可データを第2コンピュータ2に送信する。
第2コンピュータ2は、この利用許可データを受信して、利用許可データの内容を制御プログラム7に登録される(ステップ49)。制御プログラム7は、この利用許可データの内容に合わせて、DCL6にアクセスする権限を設定する。この権限は、DCL6の作成時データ603の更新を含む。たとえば、ファイル5を読み出す回数の設定、ファイル5の一部又は全体を複製する権限の設定、ファイル5の一部又は全体を複製する回数の設定、DCL6にファイル5を新規に作成する権限、ファイル5の有効期限の指定、延長、更新、ファイル5にアクセスする利用者の追加等の情報の内1以上の情報である。
この設定が終わると、第2利用者4は、設定された権限に従って、DCD8を利用できる。第2コンピュータ2で、DCD8の中のファイル5を利用した履歴は、すべてが制御プログラム7によって、取得される(ステップ60)。この履歴は、第1コンピュータ1又はサーバ100に送信される(ステップ61、62)。この送信は、第1コンピュータ1又はサーバ100から要求があったとき、行われる。また、この送信は、定期的に、行われることができる。更に、この送信は、所定のデータ量になったとき、行われることができる。
また、第1コンピュータ1は、サーバ100に、履歴を要求して、DCL6の利用履歴を取得することができる(ステップ70、71)。第1コンピュータ1は、第2コンピュータ2に、履歴を要求して、DCL6の利用履歴を取得することができる(ステップ72、73)。第1コンピュータ1は、DCL6の利用履歴を分析して、DCL6の利用状況を把握することができる(ステップ80)。たとえば、この分析によって、DCL6にいつ誰がどのコンピュータからアクセスしたか、アクセス時間がどのぐらいか、どのファイルにどんなアクセスしたかがわかる。
さらに、許可されていないアクセスをしようとする試みがないかがわかる。第2コンピュータ2は、DCL6の利用が終わると、このDCL6を第1利用者3に返却する(ステップ90、91)。返却は、これが配布されたときと同様な手順が好ましい。たとえば、物理媒体にDCL6を格納して、第1利用者3へ配達することができる。また、DCL6は、電子メールに添付されて、第1利用者3へ送信されることができる。更に、DCL6は、ネットワーク13上のネットワークストレージデバイスにアップロードされて格納され、アップロードされたアドレスを、第2利用者4から第1利用者に電話、ファックス、メール、郵便、配達等の1以上の方法で通知されることができる。
DCL6が返却されたとき、第1利用者は、DCL6に格納されている、履歴をみることができる。さらに、この履歴を分析して、DCL6の利用状況を把握できる(ステップ92)。第1利用者は、DCL6の属性情報を更新でき、DCL6の設定を再び行うことができる。そして、DCL6の中のファイル5の追加、不要なファイル5又は期限切りのファイル5の削除、ファイル5の編集などを行うことができる(ステップ93)。
〔NONCOPYの説明〕
図8には、第2コンピュータ2上で動作するソフトウェアの概要を図示している。本実施の形態においては、オペレーティングシステム11は、マイクロソフト社のWindows XP(登録商標)である。しかし、これは、オペレーティングシステム11を制限するものではなく、同様な機能が実現できれば、オペレーティングシステムの種類は問わない。本発明の出願時点では、Windows Vista(登録商標)が最新のオペレーティングシステムである。
アプリケーションプログラム10は、オペレーティングシステム11の上に動作する。制御プログラム7は、図8に図示したアプリケーションプラットフォームプログラム58と、ドライバウェア(登録商標)50から構成される。アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のユーザモードで動作するアプリケーションソフトウェアである。ドライバウェア50は、オペレーティングシステム11のカーネルモードで動作するプログラムである。
アプリケーションプラットフォームプログラム58とドライバウェア50の動作と機能については、後述する。第2コンピュータ2は、中央処理装置(CPU)、RAM、ROM、入出力装置(例えば、ディスプレイ、キーボード16、マウス17等。)、補助記憶装置(例えば、ハードディスク25。)、通信用の各種ポート(例えば、USBポート24。)等を備えた汎用の電子計算機である。第2コンピュータ2は、キーボード16やマウス17等の入力装置を備えている。
第2コンピュータ2は、図示していないが、ディスプレイ等の出力装置、メインメモリ等のメモリを備えている。第2コンピュータ2は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することができる。これらの周辺機器は、図示していないが、以下、外部デバイスという。外部デバイスは、コネクタ22に接続される。第2コンピュータ2は、オペレーティングシステム11によって制御されて動作する。第2コンピュータ2上で動作するアプリケーションプログラム10は、オペレーティングシステム11が提供する機能を利用して動作する。
アプリケーションプログラム10は、オペレーティングシステム11のカーネルモード又はユーザモードで動作する実行可能なファイル又はソフトウェアである。例えば、アプリケーションプログラム10は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェアであると良い。図8に図示した例では、アプリケーションプログラム10は、オペレーティングシステム11のユーザモードに動作するアプリケーションソフトウェアである。
このアプリケーションプログラム10は、カーネルモードのモジュールを含むことができる。更に、アプリケーションプログラム10は、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアであると良い。オペレーティングシステム11は、キーボード16からの入力、マウス17を操作した入力等の入力装置からの入力機能、画面出力等のような出力装置からの出力機能、外部記憶装置やメモリの管理等の基本的な機能を提供し、第2コンピュータ2の全体を動作させ、管理するためのソフトウェアである。
オペレーティングシステム11は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。また、本発明を理解する上で、再現する上では、オペレーティングシステム11、デバイスドライバについて開示している技術情報が必要である。この技術情報は、オペレーティングシステム11を開発し、提供しているベンダーが情報開示しているインターネット上のデータ、これらのベンダーから開発者向けに提供された情報が含まれる。
例えば、オペレーティングシステム11、特に本実施の形態に用いているWindows系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。本発明を再現するためには、これらの書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。
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)。
デバイスドライバの基礎知識からその開発に関する知識ついての書籍一覧:
− 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)。
− Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server 2003, Windows XP, and Windows 2000 by Mark E. Russinovich, David A. Solomon (Microsoft Press, 2005, ISBN 0-7356-1917-4)
− Developing Drivers With the Windows Driver Foundation (Pro Developer)
by Penny Orwick, Guy Smith (Microsoft Press, 2007, ISBN-13 978-0-7356-2374-3)
図9には、オペレーティングシステム11の構成要素の内の代表的なものを図示し、オペレーティングシステム11と、本発明の制御プログラム7との関係を図示している。オペレーティングシステム11は、サブシステム61、エグゼキュティブ63、マイクロカーネル62、デバイスドライバ30、ハードウェア抽象化層(HAL)64から構成される。サブシステム61は、オペレーティングシステム11のユーザモードで提供されるサービスである。エグゼキュティブ63は、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O、ネットワーク、及びプロセス間通信等のオペレーティングシステム11の基本的なサービスを提供するものである。
エグゼキュティブ63は、マイクロカーネル62と連動して動作し、オペレーティングシステム11の基本機能を提供する基本プログラムとして、位置づけることができる。図11には、代表的なエグゼキュティブ63を図示している。例えば、オブジェクトマネージャ65、プロセスマネージャ66、キャッシュマネージャ67、メモリマネージャ68、I/Oマネージャ69等がある。マイクロカーネル62は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。
また、マイクロカーネル62は、エグゼキュティブ63の内部で使用するルーチンセットと基本オブジェクトを提供する。デバイスドライバ30は、図8において、インターフェースドライバ32、ネットワークドライバ33、ファイルシステムドライバ34、キーボードドライバ35、マウスドライバ36として図示されている。デバイスドライバ30は、通常は、第2コンピュータ2に接続されたハードウェアごとにプログラムされ、HAL64を介して、そのハードウェア60を直接制御するものである。
デバイスドライバ30は、アプリケーションプログラム10やオペレーティングシステム11からの入出力機能の要求(I/O呼び出し要求)を、特定のハードウェアデバイスに対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。HAL64は、マイクロカーネル62、デバイスドライバ30、及びエグゼキュティブ63をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。
即ち、HAL60は、第2コンピュータ2の内蔵デバイス22〜27や、第2コンピュータ2に接続されている外部デバイス等のハードウェアの種類による違いを吸収し、オペレーティングシステム11の各サービスに対して抽象化したサービスを提供する。HAL60によって、オペレーティングシステム11を構成する各種のサービスは、ハードウェアの種類による違いを意識することなくハードウェアにアクセスすることが可能になる。
〔ドライバウェア50〕
ドライバウェア50は、デバイスドライバ30間のデータの送受信をカーネルモードで実現するためのものである。ドライバウェア50は、アプリケーションプログラム10からデバイスドライバ30へアクセスするとき、また、デバイスドライバ30からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、オペレーティングシステム11のカーネルモードで動作する。
ドライバウェア50は、デバイスドライバ30間の共通のデータの送受信を提供し、仲介する機能を有する。また、ドライバウェア50は、オペレーティングシステム11と複数のデバイスドライバ30との共通のデータの送受信を提供し、仲介する機能を有する。ドライバウェア50の例としては、「電子計算機のインターフェースドライバプログラム」としてWO02/091195号公報等に開示されている。ドライバウェア50は、アプリケーションプログラム10からの命令やデータ等を受信し、アプリケーションプログラム10へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。
ドライバウェア50は、ドライバウェア50の全体の動作を制御するための制御部52を有する。また、ドライバウェア50の動作の履歴を取得するためのログ取得部53も有する。更に、ドライバウェア50は、デバイスドライバ30を制御するために、デバイスドライバ制御部40を有する。ドライバウェア50は、送受信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。制御部52は、デバイスドライバ制御部40、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア50を構成している各部を制御し、監視するためのもので、ドライバウェア50の中核部である。
〔アプリケーションプラットフォームプログラム58〕
アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10と、オペレーティングシステム11との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のユーザモードで動作する。アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。
アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム58は、Windowsエクスプローラと互換性があるアプリケーションプログラムであるものが特に好ましい。第2コンピュータ2は、ハードディスクドライブ25等の補助記憶装置を備えている。第2コンピュータ2は、周辺機器と接続するためのコネクタ22を有する。
コネクタ22は、RS―232C、IrDA、USB、IEEE1394等のシリアルポート、IEEE1284、SCSI、IDE等のパラレルポートであることが好ましい。このシリアル転送方式は、1本の信号線で1ビットずつデータを伝送するデータ伝送の方式である。パラレル転送方式は、複数の信号線で同時に複数のビットを転送するデータ伝送の方式である。このデータ伝送は、第2コンピュータ2に内蔵されたデバイス、第2コンピュータ2とその周辺機器間のデータ伝送に用途ごとに最適なインターフェースを使用している。
ここで、その代表的なものから例示する。記憶装置の場合は、パラレル転送方式が高速で、この伝送方式を採用することが多いが、USB規格の普及により、USBポートを利用することが多くなっている。第2コンピュータ2とプリンタとの通信には、IEEE1284ポート、USBポートを利用することが多く、またネットワーク13を介することもある。第2コンピュータ2は、ネットワーク7に接続するためのネットワークカード23を備えている。
更に、USBメモリ14等のUSB規格準拠の機器を接続するためのUSBポート24を備えている。これらのコネクタ22、ネットワークカード23を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバ32、ネットワークドライバ33である。デバイスドライバ30は、オペレーティングシステム11が提供する標準的なデバイスドライバ、周辺機器、内蔵機器を製造するメーカーが作成するデバイスドライバがある。
更に、デバイスドライバ30は、デバイスドライバを専門にする会社が開発したデバイスドライバもある。このように数多くの種類のデバイスドライバがある中で、本実施の形態においては、全てのデバイスドライバ30は、オペレーティングシステム11に付属するものであると説明する。インターフェースドライバ32は、コネクタ22を制御するためのデバイスドライバである。ネットワークドライバ33は、ネットワークカード23を制御するためのデバイスドライバである。
ファイルシステムドライバ34は、ハードディスクドライブ25等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスクドライブ25に保存されているファイルやフォルダへのアクセスをするためのプログラムである。ファイルシステムドライバ34は、第2コンピュータ2に接続されたUSB規格準拠の記憶装置へアクセスするためのプログラムである。このアクセスは、オペレーティングシステム11のMass Storage Class用のドライバ(図示せず)を介して行われる。
アプリケーションプログラム10は、第2コンピュータにインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム10は、基本的に、オペレーティングシステム11のユーザモード上で動作する。アプリケーションプログラム10は、ハードディスクドライブ25にアクセスして、必要なファイルを読み込んだり、書き込んだりする。また、本実施の形態では、アプリケーションプログラム10は、Windows(登録商標)のカーネルモードで動作する一部のプログラムをも意味する。
ドライバウェア50は、アプリケーションプログラム10からデバイスドライバ30へアクセスするとき、また、デバイスドライバ30からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースの機能、役割を果たす。ドライバウェア50は、前述したようにアプリケーションプログラムインターフェース部51、制御部52、ログ取得部53等を有する。ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。
また、ドライバウェア50は、インターフェースドライバ32を制御するためのインターフェース制御部42を有する。ドライバウェア50は、ネットワークドライバ33を制御するためのネットワーク制御部43を有する。ドライバウェア50は、ファイルシステムドライバ34を制御するためのファイルシステム制御部44を有する。制御部52は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44等のドライバウェア50の他の部を制御し、監視するためのものである。
制御部52は、ドライバウェア50の中核部である。USBメモリ14等の記憶装置は、第2コンピュータ2に接続されると、その装置のデバイスドライバ30によって認識された後、ファイルシステムドライバ34によって制御される。ドライバウェア50のインターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44等は、デバイスドライバ30を制御することで、最終的には、第2コンピュータ2に、接続又は内蔵されているデバイスを制御するものと理解することができる。
つまり、第2コンピュータ2に、接続又は内蔵されているデバイスを制御するためには、既存のデバイスドライバ30を利用している。ドライバウェア50は、デバイスドライバ30がオペレーティングシステム11の他の構成部分と通信しているインターフェースをカーネルモードで制御している。記録媒体は、例えばフラッシュメモリ、フレキシブルディスク、コンパクトディスク、MO(Magneto-Optical Disk)、DVD(Digital Versatile Disks)等の記録媒体である。
記憶装置は、USB(Universal Serial Bus)メモリ、メモリカード、ハードディスク等の電子データを記憶して持ち運びできる装置であることが好ましい。
図10は、制御プログラム7の動作を示すフローチャートである。制御プログラム7は、第2利用者4によって、第2コンピュータ2にインストールされる(ステップ100)。制御プログラム7は、起動されて、動作を開始する(ステップ102)。制御プログラム7は、制御モードに入る(ステップ106)。
制御プログラム7は、アプリケーションプログラム10からDCD8へのアクセスを監視する。DCD8へのアクセスがあると、それを制御プログラム7が受信する(ステップ108)。制御プログラム7は、アクセスの種類を確認する(ステップ108)。許可されているアクセスか否かを確認する(ステップ110)。許可されているアクセスのときは、このアクセスを実行する(ステップ112)。制御プログラム7は、DCD8から読み出した電子データファイルを復号化する(ステップ114)。
復号化された電子データファイルは、第2コンピュータ2の出力装置に表示される(ステップ116)。許可されていないアクセスのときは、制御プログラム7はそのアクセスを破棄する(ステップ110、120)。このとき、不許可にされたアクセスである旨のメッセージをディスプレイに表示する際、第2利用者4が閲覧できるように表示することも可能である(ステップ122)。制御プログラム7は、表示されている電子データファイルを継続して監視する(ステップ118)。
電子データファイルは、データの種類によるが、適当なアプリケーションプログラム10を起動させて表示される。例えば、電子データファイルは、テキストデータの場合は、テキスト編集用のアプリケーションプログラム10に渡されて表示される。第2利用者4は、キーボード16やマウス17等の入力装置を操作しながら、このアプリケーションプログラム10を操作して、電子データファイルを閲覧する。しかし、このアプリケーションプログラム10から電子データファイルを保存することはできない。
また、電子データファイルを利用して新しく作成したファイルも保存することができない。第2利用者4は、電子データファイルを閲覧することだけができる。制御モードの設定によるが、仮に電子データファイルを編集すると、このアクセスが中断される。また、電子データファイルをハードディスクドライブ25等の記憶装置、記録媒体に記録するときもそれを中断する。ここで、制御プログラム7の制御モードのときの動作について説明する。制御モードは、制御プログラム7が第2コンピュータのどの機能を監視し、どのようなデータの流れを制御するかを定めたものである。
制御モードがオンとは、制御プログラム7が第2コンピュータ2を監視し、第2コンピュータ2の機能の一部を制限している状態をいう。制御モードがオフとは、制御プログラム7が第2コンピュータ2上に動作しているが、第2コンピュータ2の機能を特に制限していない状態をいう。図11は、制御プログラム7が制御モードをオンにするときの動作を示すフローチャートである。図10のステップ106に示すように、制御プログラム7が制御モードをオンにする(ステップ130)。
このとき、制御プログラム7は、第2コンピュータ2に内蔵されたハードディスクドライブ25への書き込みを禁止にする(ステップ131)。また、制御プログラム7は、リムーバブルドライブへの書き込みを禁止にする(ステップ132)。このリムーバブルドライブには、USBメモリ14も含まれる。よって、アプリケーションプログラム10又はオペレーティングシステム11からは、USBメモリ14にデータを書き込みしようとするとき、ドライバウェア50がこれを検知して書き込みの動作を中止させる。
USBメモリ14、内蔵のハードディスクドライブ25の他に記録装置があるときは、制御プログラム7は、それらへの書き込みを禁止にする(ステップ134)。例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等への書き込みを制御プログラム7が禁止する。更に、制御プログラム7は、ネットワーク13へ接続するネットワーク通信を禁止する(ステップ136)。例えば、ネットワーク通信としては、ネットワークカード23を介してインターネット、LAN等へのアクセス、コンピュータ同士の通信が含まれる。
このUSBメモリ14の他のインターフェースの使用を禁止する。例えば、USB、SCSI、IDE、RS−232C規格のインターフェースの使用を禁止にする(ステップ138)。更に、制御プログラム7は、コピー&ペースト、クリープボードの使用、ネットワーク機能を禁止にする(ステップ139)。また、制御プログラム7は、スクリーンキャプチャの使用も禁止にする(ステップ139)。制御プログラム7は、オペレーティングシステム11の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ140)。
例えば、オペレーティングシステム11の動作に必要な「System」等を動作可能にする。制御プログラム7は、起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ142)。制御プログラム7は、取得したプロセス名とプロセスIDを、図16のプロセス制御リスト150に保存する(ステップ144)。制御プログラム7が制御モードをオンにした後の、ステップ131〜140の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。
図12には、制御部52の動作のフローチャートを示している。ドライバウェア50が制御モードをオンにするように指示されると、制御部52は、この指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ200)。この命令は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44に送信される。インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44は、この命令を受信して、ファイルアクセスを禁止にする。
また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行います。エグゼクティブ63のプロセスマネージャ66(図9を参照。)は、第2コンピュータ2上で実行されている全てのプロセスを管理している。ここに、コールバック関数を登録(カーネルのAPIを利用)することで、プロセスの起動・終了のイベントを取得する。実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム10の起動と終了を検出できるように設定する。
アプリケーションプラットフォームプログラム58が動作しているときに、アプリケーションプログラム10が起動する(ステップ202)。アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10の起動を検出する(ステップ204)。“CreateProcess”の“SUSPEND”(サスペンド)モードでアプリケーションプログラム10のプロセスが起動され、アプリケーションプラットフォームプログラム58は、このプロセスのハンドルとプロセスIDを取得する。
プロセスが“CreateProcess”のサスペンドモードで起動されると、プロセスが一時休止した状態になり、再開されるまでに実行されない。ハンドルは、“CreateProcess”から戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム58は、取得したハンドルとプロセスIDを制御部52に送信する。プロセスが起動されると、ファイルシステム制御部44内のコールバック関数を実行し、制御部52へ制御開始を通知する。制御部52は、ハンドルとプロセスIDを取得する(ステップ206)。
この取得の詳細な動作について後述する。制御部52は、ファイルシステム制御部44へハンドルとプロセスIDを送信し、プロセスIDから出されるファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である(ステップ208)。
インターフェース制御部42は、各種のインターフェースを使用禁止に設定する(ステップ210)。また、ネットワーク制御部43は、ネットワーク通信を禁止するように設定する(ステップ210)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ212)。アプリケーションプログラム10が動作される。そして、制御部52は、アプリケーションプログラム10が終了するときにオペレーティングシステム11から発される通知である終了イベントを待機する(ステップ214)。
アプリケーションプログラム10が終了すると、ファイルシステム制御部44内のコールバック関数を実行し、制御部52へ制御解除を通知する。ファイルシステム制御部44は、プロセス制御リスト150(図16を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム10の制御を行わない。無論、このアプリケーションプログラム10がDCD8にアクセスしたときは、制御が再開される。
図13は、アプリケーションプログラム10が終了するとき、制御部52の動作を示すフローチャートである。アプリケーションプログラム10は動作し、終了するとき、終了イベントが発生される(ステップ230)。アプリケーションプラットフォームプログラム58は、終了イベントのプロセスIDを取得する。アプリケーションプラットフォームプログラム58は、終了イベントのプロセスIDを制御部52に送信する。制御部52は、終了イベントのプロセスIDを取得する(ステップ232)。
制御部52は、ファイルシステム制御部44へ、取得したプロセスIDからファイルアクセスを禁止するように設定する(ステップ234)。そして、インターフェース制御部42へ禁止設定の解除を指示し、インターフェース制御部42は使用禁止に設定したものを解除する(ステップ236)。ネットワーク制御部43に禁止設定の解除を指示し、ネットワーク制御部43は使用禁止に設定したものを解除する(ステップ238)。
図14は、制御部52が使用禁止の除外を設定するときの流れを示すフローチャートである。オペレーティングシステム11の動作に不可欠なプロセスを指定、これらのプロセスに何らかの制限をしないようにする必要がある。例えば、オペレーティングシステム11のシステムサービス関連の実行ファイル、その実行ファイルが動作するときのプロセスが使用禁止にされたり、起動できなくなったりするとき、オペレーティングシステム11が提供するサービスに支障ができたり、オペレーティングシステム11自体の動作が不安定になる。
そのためには、オペレーティングシステム11の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、“System”、“Kernel.exe”、“explorer.exe”が例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リスト150に登録される。プロセス制御リスト150は、図16に例示している。制御部52は、プロセス制御リスト150から制御プロセス名、制御ディレクトリを読み込む(ステップ262)。
また、一時ファイルを、システムファイルが保存された、又はアプリケーションプログラムが10がインストールされたローカルディスクドライブに保存もしないと、動作しないアプリケーションプログラム10がある。このためには、アプリケーションプログラム10がローカルディスクドライブに一時ファイルを作成するときに、ドライバウェア50は、この一時ファイルを暗号化して、ローカルディスクドライブに保存する。これにより、一時ファイルが他のアプリケーションプログラム10からアクセスできないようになり、プロセス保護が行なわれる。
このプロセス保護は、ドライバウェア50によって、制御中のこのアプリケーションプログラム10以外のアプリケーションプログラムによるプロセスが、この一時ファイルにファイルアクセスすることを禁止して行なわれる。アプリケーションプログラム10の動作が終了したとき、この一時ファイルは、ドライバウェア50によって削除される。一時ファイルは、アプリケーションプログラム、アプリケーションプログラムの設定によるが、アプリケーションプログラムの終了時に削除される。
しかし、消さないケース、又は、削除するように設定されていない場合、オペレーティングシステムのシャットダウン及び起動時に、ドライバウェアが一時ファイルを確認して、一時ファイルの削除を行う。制御部52は、制御プロセス名からプロセスIDを取得する(ステップ264)。プロセスIDから実際のプログラム(.exeなどのモジュール)名を判断する。そして、制御部52は、ファイルシステム制御部44へ全て禁止の設定を指示し、ファイルシステム制御部44は全てのプロセスの禁止を設定する(ステップ266)。
次には、制御部52は、ファイルシステム制御部44へ制御プロセス名のプロセスIDと、制御ディレクトリの読み込み書き込み(Read/Write)の許可設定を指示する(ステップ268)。ファイルシステム制御部44は、制御部52から送信されてきたプロセスIDとファイルパスと制御モードを受信する(ステップ270)。ファイルシステム制御部44は、プロセスIDとファイルパスと制御モードをプロセス制御リスト150に追加する(ステップ272)。
図15は、ファイルシステム制御部34の動作を示す処理フローチャートである。アプリケーションプログラム10又は、オペレーティングシステム11からファイルへアクセスするときにファイルアクセスイベントが発生する(ステップ300)。ファイルシステム制御部44は、制御部52からプロセスIDとファイルパスとファイル操作(Read/Write)を取得する(ステップ302)。このプロセスIDとファイルパスが、プロセス制御リスト150に登録されたものと合致するか否かを確認する(ステップ304〜310)。
このプロセスIDとファイルパスが、プロセス制御リスト150に登録されたものと合致するとき、制御欄の値よりファイルの操作を許可又は禁止に設定する(ステップ308)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致しないとき、制御の値よりファイルの操作を禁止に設定する(ステップ312)。図16には、プロセス制御リスト150の例を図示している。プロセス制御リスト150は、制御プログラム7がインストールされたときに、初期値としてファイルに格納され、ハードディスクドライブ25に保存されるものである。
プロセス制御リスト150は、ドライバウェア50から随時更新される。プロセス制御リスト150は、必要なとき、編集して変更することも可能である。プロセス制御リスト150には、登録されたものの順番を示す連番欄151、制御対象のプロセス名を示すプロセス名152、制御対象のプロセスIDを示すプロセスID153、ファイルパスを示すファイルパス154、制御の方法を示す制御155のデータ欄等がある。制御対象のプロセス名は、上述の説明の一部では制御プロセスとして記述されている。
〔プロセス名、プロセスID、及びファイル名の取得について〕
プロセスを検出するためには、次の前処理が実施される。ファイルシステム制御部44において、ファイルアクセスに関する入出力機能の要求(以下、I/O要求とする。)のコールバックを制御部52に来るように設定する。これは、ファイルアクセスに関するI/O要求が全てファイルシステム制御部44を通るため、このI/O要求を制御部52に転送して、制御部52がこれを解析するためである。
そして、プロセス制御リスト150をファイルシステム制御部44へ転送し、ファイルシステム制御部44がプロセス制御リスト150に登録されているアクセスが行われているか否かを監視する。プロセスを検出するためには、次の実行処理が行われる。アプリケーションプログラム10が、USBメモリ14に格納されているファイルをアクセスしようとする。このとき、アプリケーションプログラム10が、ファイルアクセスに関するI/O要求を発する。
このI/O要求は、上述の前処理時に設定された通り、コールバックされて制御部52へ送信される。制御部52では、このI/O要求のコールバックを受信したら、プロセスID、プロセス名、及びファイル名を取得する。プロセスに関連するプロセス名、プロセスID、及びファイル名は次のように取得される。プロセス名を取得するには、“ZwQueryInformationProcess”関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイルexeのファイル名からプロセス名を取得する。
プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のプロセスのIDを取得する。ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から、参照されるファイルオブジェクトよりファイル名を取得する。そして、ファイルシステム制御部44は、I/O要求に関するプロセス名、プロセスID、及びファイル名を、制御部52から受信して、プロセス制御リスト150と比較してファイルアクセスの制御を行う。
ファイルシステム制御部44は、プロセス制御リスト150に従ってI/O要求に対するファイルへのアクセスの許可、又は拒否をアプリケーションプログラム10に戻す。
〔イベントの検出〕
イベントの検出は、次のように行われる。オペレーティングシステム11のカーネル内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表1に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。
コールバック関数は、エグゼクティブ63(図9を参照。)のプロセスマネージャ66に登録され、コールバック関数が実行されると参照先のドライバウェア50に制御が移動される。
Figure 0005379520
制御プログラム7は、電子データファイルを格納しているDCD8にアクセスしようとするアプリケーションプログラム10、プロセスだけに、ターゲットを絞って制御を行うことができる。このように、第2コンピュータ2上で動作する他のアプリケーションプログラム10、オペレーティングシステム11のサービスを無理に制限せずに、電子データファイルのみにアクセスする試みのみを監視し、そのアクセスを許可又は不許可して制御を行うことができる。
更に、DCD8の中に保存されている電子データにアクセスしているアプリケーションプログラム10、そのプロセスのネットワーク機能、他の記録装置へのアクセスを遮断し、更にクリップボード等の複製機能の使用を禁止する。これによって、DCL6の内容が外部へ流出されることなく、使用することができる。DCLインのとき、ZwCreateFile()関数を用いて、DCL6をオープンする。DCL6がオープンされたら、DCLへの書き込みはZwWriteFile()関数を使う。DCLからの読み込みは、ZwReadFile()関数を使う。
DCLアウト時は、ZwCloseFile()にて、DCL6をクローズする。DCL6からデータを読み込むとき、ファイルシステム34bから、IRP_MJ_READを用いて、仮想ディスクドライブ37bへ読み込み要求を出力する。仮想ディスクドライブ37bは、この読み込み要求を受け取ったら、ドライバウェア50に対して、ZwReadFile()を用いてデータと読み込む。ドライバウェア50は、DCL6から要求されたデータ取得して、仮想ディスクドライブ37bへ渡し、仮想ディスクドライブ37bは、このデータをファイルシステム34bへ渡す。
DCL6へデータを書き込むとき、ファイルシステム34bから、IRP_MJ_WRITEを用いて、仮想ディスクドライブ37bへ書き込み要求を出力する。仮想ディスクドライブ37bは、この書き込み要求を受け取ったら、ドライバウェア50に対して、ZwWriteFile()を用いてデータを書き込む。ドライバウェア50は、DCL6に要求されたデータを書き込みし、仮想ディスクドライブ37bへその結果を通知する。仮想ディスクドライブ37bは、この通知を受け取り、ファイルシステム34bへ渡す。
〔第1利用者側1aでDCL6を作成する画面〕
図17は、第1利用者側1aでDCL6を作成する画面200の例である。画面200の左側には、作成されたDCL6の一覧を表示するための領域201がある。領域201には、DCL6がドライブとして表示されるドライブ名を示すドライブ名欄203、DCL6が保存されている場所を示す保存先欄204がある。この画面の例では、破線205で囲んだ部分は、Iドライブとして表示されるDCD8の例を示している。
このとき、DCL6は、Dドライブに、「Container」という名称で保存されている。画面200の右側には、操作ボタンを示す領域202が表示されている。領域202には、「新規作成」206、「開く」207、「DCLアウト」208、「DCLイン」209、「プロパティ」210のボタンが表示されている。これらのボタンの機能については、後述する。図18には、ディスプレイ上に表示される画面の一部を例示している。ここでは、デスクトップのタスクトレイ220には、制御プログラム7が動作している状態を示すアイコン221が表示されている。
アイコン221にマウスのカーソル(図中の矢印。)を合わせると、画面222が表示される。この画面222には、「DCL作成」223、「DCLを開く」224、「DCLアウト」225、「DCLイン」226、「制御モード開始」227、「制御モード終了」228、「ポリシー表示」229、「プロセス一覧表示」230、「バージョン情報」231等の項目がある。これらの項目223〜231については、上述のボタン206〜210と合わせて説明する。
〔各ボタンと各項目の機能の説明〕
ボタン「新規作成」206、項目「DCL作成」223をクリックすると、新規のDCL6を作成するウィザードが開始する。図20には、新規のDCL6を作成するウィザードの流れを図示している。このウィザードの説明は、後述する。そして、ボタン「DCLイン」209、項目「DCLイン」226は、選択されたDCD8を持ち出すためのウィザードを開く。図19には、DCD8の持ち出しを示すウィザードの流れを図示している。このウィザードの説明は、後述する。
ボタン「開く」207、項目「DCLを開く」224は、選択されたDCD8を開き、その内容を閲覧できる。DCD8は、エクスプローラ等にドライブとして表示され、その内容を確認できる。DCD8の中のファイル5等は、通常のドライブと同様な感覚で閲覧、編集できる。無論、新規に作成して、DCD8の中に保存できる。DCD8の中のファイル5等を開くとき、「DCD」のファイルである旨のメッセージを表示することが好ましい。
そして、DCD8の中のファイルを開いている間は、次の制限がある。この制限は、1)ネットワーク通信は利用できない、2)DCD8の中の電子データを他のメディアへ保存できない(例えば、内蔵ハードディスク、外付けハードディスク、USBメモリ、CD、DVD等に保存できない。)3)DCD8の中の電子データを印刷ができない、4)DCD8の中の電子データを編集するとき、その内容をコピー&ペースト、マウスでドラッグ&ドロップを使用して、他のアプリケーションプログラムへ複製してデータ貼り付けすることができない等である。
ボタン「DCLアウト」208、項目「DCLアウト」225は、受け取ったDCL6の保存先を指定して、DCD8を取り出すためのウィザードを開く。DCL6の保存先を指定すると、そのDCL6にアクセスし、DCL6を開く。このとき、DCL6へのアクセスを許可するパスワードを要求する。指定されたパスワードを入力すると、DCL6は読み込まれ、DCL6はDCD8として認識され、ディジタルコンテンツライブラリ一覧に追加される。つまり、エクスプローラでも、このDCD8を閲覧できるようになる。
ボタン「プロパティ」210は、選択されたDCD8のプロパティを表示し、確認するためのものである。ボタン「プロパティ」210をクリックすると、DCL6の保存先、サイズ、期限、ログ出力、属性等の項目が表示され、その値を確認できる。これらの値を変更したい場合は、画面上に表示されるボタン「設定変更」を押して、それぞれの値を変更できる。ボタン「プロパティ」210の表示画面は、図19の画面240、図20の画面340と同じであり、その詳細な説明は省略する。
変更時は、パスワード確認の画面が出てきて、DCD8用のパスワードを入れると、プロパティ変更の画面が表示される。この画面の中で、それぞれの値を変更する。
「制御モード開始」227(図18を参照。)は、制御プログラム7の制御モードの開始を指示するものである。同じく、項目「制御モード終了」228は、制御プログラム7の制御モードの終了を指示するものである。項目「プロセス一覧表示」230は、制御しているプロセスの一覧を確認するためのものである。
項目「バージョン情報」231は、制御プログラム7のバージョンを確認するためのものである。項目「ポリシー表示」229は、図26に示している情報を表示する。図中の領域270には、制御プログラム7の製品名、設定バージョン等からなる基本情報を表示する。図中の領域271には、IPアドレス、サーバ名、パス名かならなるアクセス情報を表示する。図中の領域272には、キー、モバイル、ネットワーク、リムーバル、印刷、CDに書き込み、暗号化、データ貼り付けが有効・無効を表示するオプション情報を表示する。
〔DCL6の持ち出しについて〕
図19は、DCD8の持ち出しを示すウィザードの流れを図示した図である。ボタン「DCLイン」209、項目「DCLイン」226を選びクリックすると、DCL6の設定を確認する画面240が表示される。画面240には、DCL6の保存先241、サイズ242、期限243、ログ出力244、属性245等の項目が表示され、その値を確認できる。これらの値を変更したい場合は、ボタン「設定変更」246を押して、それぞれの値を変更できる。
画面240の内容を確認した後、ボタン「次へ」247を押して、持ち出し先の設定を行う画面250に遷移する。持ち出しは、電子メールに添付、又は、外部メディアに格納して持ち出すことができる。電子メール添付を選ぶ場合は、画面250に表示される
ラジオボタン251を選ぶ。このとき、制御プログラム7は、電子メール用のアプリケーションプログラムを起動させて、新規作成の電子メールにDCL6を自動的に添付する。画面260は、DCL6が添付された新規作成の電子メールの画面例である。
電子メールのあて先を示す項目261、262、及び263、電子メールの件名を示す項目264、電子メールの本文等を記入する項目266を、適当に記入できる。ボタン267を押すと、電子メールを送信できる。ボタン268を押すと、電子メールを送信しないで、保存できる。ボタン269を押すと、電子メールを送信しないで、電子メール作成をキャンセルできる。
DCL6の持ち出し先の設定を行う画面250、250bで、外部メディアを選んだ場合は、外部メディアが格納されているドライブを項目253に記入する。又は、ボタン254をクリックして、DCL6を保存する場所を選択することができる。そして、指定された外部メディアに、DCL6が格納される(ステップ270)。DCL6を格納した外部メディアは、エクスプローラ等で確認できる。この外部メディアをそのドライブから取り出して、利用者に渡す。最後は、ウィザードの終了を確認する画面280が表示される。
〔DCL6の新規作成ウィザード〕
図20は、新規のDCL6を作成するウィザードの流れを図示した図である。ボタン「新規作成」206、項目「ディジタルコンテンツライブラリ作成」223をクリックすると、新規のDCL6を作成するウィザードが開始する。DCL6の保存先を指定する画面300が表示される。ここで、項目301に示すように、「D:\Container」等のようにDCL6を保存する場所を指定する。
無論、ボタン302をクリックして、DCL6を保存する場所を選択することもできる。そして、ボタン303をクリックすると、次の画面310に遷移する。画面310は、DCL6のサイズを設定するための画面である。DCL6のサイズは、基本的に任意のサイズを指定できる。しかし、DCL6のサイズは、項目311から選択できるように、32MB、64MB、128MB、256MB、512MB、1GB、2GB等の値が好ましい。ここで、領域312に示すように、DCL6の保存先のドライブの空き容量を表示すると良い。
その次に、パスワードを設定する画面320が表示される。ここで、項目321、322にパスワードを入力する。その後、DCL6の期限、ログ、属性の設定を行う画面330が表示される。期限設定は、DCL6にアクセスできる期限を示すものである。領域331に示すように、期限設定は、設定する、又は設定しないを選択できる。例えば、領域331に示すように、「2009年4月1日17時59分59秒」のように設定できる。
ログ設定は、DCL6を利用した履歴を取得し、保存するか否かを設定するものである。
領域332に示すように、ログ設定は、設定する、又は設定しないを選択できる。属性設定は、DCL6の内容を編集できる否かの設定をするものである。領域333に示すように、属性設定は、許可する、又は許可しないを選択できる。画面330の後は、これらの設定を確認するための画面340が表示される。そして、この画面340上に表示される「作成」ボタン346をクリックすると、DCL6が作成され、ウィザードの完了を示す画面350が表示される。これにより、新規に作成されたDCL6は、画面360に示すようにドライブ一覧に追加されて表示される。これをエクスプローラ等で確認できる。
〔システム提供者側の動作〕
図21は、サーバ100の動作を示すフローチャートである。サーバ100のダウンロードサーバ101では、ソフトウェアのダウンロードサービスを開始する(ステップ400)。ダウンロード手段101は、第1利用者3又は第2利用者4からソフトウェアのダウンロード要求を受け付ける(ステップ402)。ダウンロードサーバ101は、ダウンロードを許可する(ステップ404)。第1利用者3又は第2利用者4は、ソフトウェアをダウンロードし、第1コンピュータ1又は第2コンピュータ2にインストールする。
そして、インストールされたソフトウェアは、最初に動作するとき、サーバ100に接続して、利用者登録が済みか否かを確認する。利用者登録の要求があると、管理サーバ102は、利用者IDを発行して、第1利用者3又は第2利用者4に送信する(ステップ406、408)。そして、この利用者IDをユーザ管理手段102のデータベースに登録する(ステップ408)。第2利用者4は、DCL6の内容を閲覧できるが、それを編集したり、ファイル又はフォルダを追加したりするとき、システム提供者100の許可が要る。
そのために、システム提供者は、有価価値情報という考え方を導入している。この有価価値情報は、特定のDCL6に対して、その内容をどの程度編集できるかを定めたものである。この有価価値情報は、期限を有することが好ましい。また、有価価値情報は、特定の代金によって、購入できるものであることが好ましい。有価価値情報は、利用料金が無料の無料有価価値情報、料金が割引の割引有価価値情報等のように様々の有価価値情報であることができる。
第2利用者4から、有価価値情報を取得する有価価値情報要求があると、それを有価価値情報販売手段104が受信する(ステップ410)。課金手段及び決済手段103と有価価値情報販売手段104は、連携して有価価値情報の料金を課金し、その決済を行なう(ステップ412、414)。決済が済むと、有価価値情報販売手段104は、有価価値情報を発行する。発行された有価価値情報は、サーバ100から、第2利用者4側2aへ送信される(ステップ416)。
そして、サーバ100は、第2利用者4に対して、DCL6の利用履歴を要求できる(ステップ418)。第2利用者4は、DCL6の利用履歴を送信すると、それを受信し、ログ管理手段105等に追加して、保存する(ステップ420、422)。第1利用者3がDCL6の利用履歴を要求すると、該当する利用履歴を第1利用者側1aに送信する(ステップ424)。
〔第1利用者側の動作〕
図22は、第1利用者側1aの動作を示すフローチャートである。第1利用者3は、ソフトウェアをダウンロードして、第1コンピュータ1にインストールする(ステップ450)。第1利用者3は、新規のDCL6を作成する(ステップ452)。この作成ついては、詳しくは、図20に示している。第1利用者3は、管理情報をDCL6に登録し、DCL6の利用者を追加する等の設定を行う(ステップ454)。そして、第1利用者3は、第2利用者4に利用者IDを通知する(ステップ456)。
第1利用者3は、第2利用者4からDCL6を取得する要求を受信する(ステップ458)。第1利用者3は、DCL6の内容を編集し、ファイルの追加、削除などを行なう(ステップ460)。第1利用者3は、DCL6を配布する(ステップ462)。この配布時の動作を、詳しくは、図19のウィザードに示している。よって、第2利用者4は、DCL6の利用が可能になる(ステップ464)。第1利用者3は、第2利用者4からDCL6の返送を受信する(ステップ466)。
そして、第1利用者3は、DCL6の管理情報を分析することができる(ステップ468)。また、第1利用者3は、DCL6の履歴を分析することができる(ステップ470)。又は、第1利用者3は、サーバ100にDCL6の履歴を要求し、DCL6の履歴をサーバ100から受信することができる(ステップ472)。第1利用者3は、DCL6の履歴を分析することができる(ステップ474)。
そして、第1利用者3は、DCL6の利用期限を延長することができる(ステップ476)。第1利用者3は、DCL6に利用者を追加できる(ステップ478)。第1利用者3は、DCL6の内容を所定の手順で取り出すことができる(ステップ480)。第1利用者3は、DCL6を削除することができる(ステップ482)。
〔仮想ディスクドライブの実現〕
図23には、RAMディスクの実体(メモリ)の概念図である。図中には、物理ディスクのハードディスクドライブ25を図示している。このハードディスクドライブ25は、第1コンピュータ1又は第2コンピュータ2に内臓されているハードディスクである。DCL6は、第1コンピュータ1又は第2コンピュータ2から見れば、仮想ディスクドライブ25bとして見える。これは、図中には、破線で図示している。仮想ディスクドライブ25bを実現する技術としては、いくつかの方法がある。
本実施の形態においては、RAMディスクとして、仮想ディスクドライブ25bを実現する。RAMディスクとは、電子計算機に実装されているメインメモリ(RAM)の一部、又は外付けRAMを記憶装置として用いる技術である。言い換えると、RAMディスクとは、電子計算機に実装されているメインメモリ(RAM)の一部、又は外付けRAMを、ディスクドライブであるかのように見せかける技術である。このRAMディスクの技術は、RAMドライブ等とも呼ばれることがあり、ここでは、RAMディスクとして呼ぶ。
Windowsは、ディスク操作に共通する機能を実装したDisk(\Windows\System32\Drivers\Disk.sys)というクラスドライバを提供している。電子計算機に内蔵又は接続されている記憶装置、この例ではハードディスクドライブ25へのアクセスは、ディスクドライバ37aを利用する。RAMディスクは、ハードディスクドライブ25のような物理的な可動部がないため、高速なアクセスが可能である。しかし、RAMディスクには、メインメモリの一部を割り当てるため、あまり大容量の容量のRAMディスクは利用できない。
RAMディスクは、ハードディスクドライブに比べるとファイルの読み書きが高速である。電子計算機の電源を切ると、RAMディスクのデータは消去されるので、RAMディスクの内容を補助記憶装置等に保存しておく必要がある。本実施の形態では、RAMディスクの内容は、第1コンピュータ1又は第2コンピュータ2に内蔵のハードディスクドライブ25(通常は、Cドライブ。)に保存される。Cドライブは、通常は、ファイルシステム(例えば、NTFS、FAT等)を利用してアクセスされる。
RAMディスクは、RAM上に展開される。本実施の形態においては、ハードディスク25には、暗号化された情報を保存している。このRAM上に展開とは、ドライバ内のNonPagedPool領域等のテンポラリーバッファに格納されることである。アプリケーションプログラム10、オペレーティングシステム11のエグゼキュティブ63等から(図9を参照。)、Cドライブへの接続要求があると、ファイルシステム34aを経由し、ディスクドライブ37aへ接続される。
ディスクドライブ37aは、ハードディスクドライブ25から直接データを取得し、戻す。第2コンピュータ2からは、見ると、仮想ディスクドライブ37bは、Zドライブの仮想ディスクドライブ25bとして見える。第2コンピュータ2は、このZドライブには、通常のディスクドライブ25とアクセスするのと同じ方法でアクセスする。具体的には、ファイルシステム34bを利用し、仮想ディスクドライブ25bにアクセスする。仮想ディスクドライブ25bは、RAMディスクで実現されており、実際は、Cドライブの中のDCL6にアクセスする。
図24は、DCL6にアクセスするときのデータの流れの第1例を示すフローチャートである。まず、アプリケーションプログラム10からDCL6へアクセスしようとするとき、アクセス要求をファイルシステム24b(例えば、NTFS/FAT)に要求する。ファイルシステム24bは、仮想ディスクドライブ37bにアクセス要求を渡す。仮想ディスクドライブ25bからDCL6へアクセスするとき、これをドライバウェア50が取得し、処理する。
そして、アクセス要求が、Cドライブへのアクセスになり、ファイルシステム34aへ渡される。このファイルシステム34aは、ディスクドライバ37aを経由し、ハードディスクドライブ25の中のDCL6にアクセスする。DCL6へアクセスした結果は、同じフローを逆にたどって、アプリケーションプログラム10へ渡される。ドライバウェア50では、アプリケーションプログラム10からDCL6へのアクセス、又は、DCL6にアクセスした結果を、処理する。
例えば、アプリケーションプログラム10からDCL6へのデータを書き込みするとき、ドライバウェア50は、その暗号化機能を利用して、このデータを暗号化する。アプリケーションプログラム10は、DCL6からデータを読み込むとき、ドライバウェア50は、DCL6から読み込みしたデータを、その復号化機能を利用して、復号化する。この例では、DCL6に含まれるファイル5毎にアクセスし、ファイル単位で、暗号化、復号化を行っている。
図25は、DCL6にアクセスするときのデータの流れの第2例を示すフローチャートである。この例では、図24に示すフローチャートと基本的に同じである。ただし、仮想化ドライブ37bと、ドラバウェア50は、一体となっている。上述した通り、通常は、ファイルシステム34bは、仮想ディスクドライブ37bを呼び出し、DCL6へのアクセスを渡す。又は、仮想ディスクドライブ37bをDCL6へのアクセス結果を、ファイルシステム34bに戻す。
この例では、DCL6の全体を、暗号化、復号化している。上述のように仮想ディスクドライブ37bは、DCL6を仮想のハードディスクドライブとして、実現した。しかし、DCL6を仮想のCDドライブ、DVDドライブ、CD/DVDドライブ等のブロックデバイスドライブとして実現できる。このように、DCL6をブロックディスクドライブと実現すると、DCL6の内容を読み出すことができるが、書き込むことに制限をかけられる。これは、第2コンピュータ2で、DCL6を改ざんできない、データを読み込むだけなり、ユーザデータの保護には、役立つ。
第1コンピュータ1、第2コンピュータ2にインストールされた制御プログラム7は、基本的に同じである。第2コンピュータ2の制御プログラム7は、DCL6をCDROMとして構成することが、DCL6の内容によるが、ディジタルコンテンツライブラリファイルの改変ができなくなり観点から、好ましい。
本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。
1…第1コンピュータ
1a第1利用者側
2…第2コンピュータ
2a…第2利用者4側
3…第1利用者
4…第2利用者4
5…ファイル
6…ディジタルコンテンツライブラリ(DCL)
7…制御プログラム
8…ディジタルコンテンツドライブ(DCD)
10…アプリケーションプログラム
11…オペレーティングシステム
13…ネットワーク
16…キーボード
17…マウス
23…ネットワークカード
25…ハードディスクドライブ
30…デバイスドライバ
40…デバイスドライバ制御部
50…ドライバウェア
51…アプリケーションプログラムインターフェース部
52…制御部
53…ログ取得部
54…暗号化部
55…復号化部
58…アプリケーションプラットフォームプログラム
63…エグゼクティブ
69…I/Oマネージャ
100…システム提供者側
101…ダウンロードサーバ
102…管理サーバ
103…課金サーバ
150…プロセス制御リスト
601…管理データ
602…ファイルデータ
603…作成時データ
604…利用時データ
605…識別データ

Claims (21)

  1. 記憶装置(14、25)を含む複数のデバイス(22−27)が接続され、オペレーティングシステム(11)によって制御されて動作する電子計算機(1、2)で電子データ(5)を利用する際、前記電子データ(5)の全部又は一部が前記電子計算機(1、2)から外部へ漏洩することを防止する手段として前記電子計算機(1、2)を機能させる制御プログラムであって、
    前記オペレーティングシステム(11)は、前記記憶装置(1425)のファイルシステムを制御するためのファイルシステムドライバ(34、34a)を備え、
    前記オペレーティングシステム(11)は、前記電子計算機(12)の仮想ディスクドライブ(8、37b)のファイルシステムを制御するための仮想ファイルシステムドライバ(34b)を備え、
    前記制御プログラムは、(I)前記複数のデバイス(22−27)それぞれを制御するためのデバイスドライバ(32−36)からなるデバイスドライバ層(30)と前記オペレーティングシステム(11)がカーネルモードで提供する基本プログラム(63)との間に位置し、前記オペレーティングシステム(11)の全ての命令が実行できる動作モードであるカーネルモードで動作して、前記デバイスドライバ(32−36)の共通の窓口となるとともに、前記基本プログラム(63)を通して行われる、前記デバイスドライバ(32−36)と前記電子計算機(1、2)上に動作しているアプリケーションプログラム(10)とのやり取りをまとめて行ない、(II)前記アプリケーションプログラム(10)から要求されたときに、前記デバイス(22−27)の間、又は、前記アプリケーションプログラム(10)と前記デバイス(22−27)の間のデータの送受信を行ない、(III)前記アプリケーションプログラム(10)から前記電子計算機(12)の前記記憶装置(14、25)に記憶されている特定ファイルへアクセスしようとするとき、前記オペレーティングシステム(11)が標準で備えているインターフェースを通して、前記アプリケーションプログラム(10)から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置(14、25)とのデータのやりとりを経由する共通インターフェース手段(50)として前記電子計算機(12)を機能させるプログラムであり、
    前記共通インターフェース手段(50)は、
    前記アプリケーションプログラム(10)又は前記基本プログラム(63)から、前記ファイルシステムドライバ(34)又は前記仮想ファイルシステムドライバ(34b)へのアクセス要求を受信するインターフェース手段(51)と、
    前記アクセス要求を前記インターフェース手段(51)から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段(52)と、
    前記電子データ(5)の利用形態を示すデータからなる管理データ(601)を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段(44)と、
    )前記ファイルシステム制御手段(44)から前記参照結果を受信し、()前記参照結果が正常か異常かの判定を行い、()前記判定の結果が異常となるとき、前記アクセスを破棄し、()前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ(8、37b)に渡す前記制御手段(52)と
    からなり、
    前記共通インターフェース手段(50)は、1以上の前記電子データ(5)からなるファイルデータ(602)、及び、前記管理データ(601)からなるディジタルコンテンツライブラリ(6)を、前記電子計算機(12)の前記仮想ディスクドライブ(8、37b)として、前記オペレーティングシステム(11)に認識させ、
    前記仮想ディスクドライブ(8、37b)は、前記アクセスを取得して、前記アクセスを前記記憶装置(14、25)の前記ファイル(5)へのアクセスに変換して、前記共通インターフェース手段(50)にし、
    前記共通インターフェース手段(50)は、前記ファイルシステム制御手段(44)を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
    前記実行結果は、前記仮想ディスクドライブ(8、37b)を経由して、前記アプリケーションプログラム渡し、
    前記仮想ディスクドライブ(8、37b)の中から読み出された前記電子ファイル(5)、又は、前記電子ファイル(5)から派生して作成されたファイルは、前記共通インターフェース手段(50)によって前記仮想ディスクドライブ(8、37b)のみに格納され、他の前記記憶装置(14、25)に格納しないものであり、
    前記管理データ(601)は、前記ディジタルコンテンツライブラリ(6)又は前記電子ファイル(5)を利用することができる回数、期間、時間帯、場所及び利用者の内1以上のデータからなる属性情報からなり、
    前記電子ファイル(5)にアクセスするごとに、前記回数の値が1つずつ変化され、前記回数が0になったとき、前記電子ファイル(5)にアクセスすることができなくなる
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  2. 請求項1に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記共通インターフェース手段(50)は、
    前記ファイルシステムドライバ(34a)から取得した、暗号化されたデータを復号化する復号化手段(55)と、
    前記ファイルシステムドライバ(34a)に渡すデータを暗号化して暗号化データを作成する暗号化手段(54)と、
    からなる
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  3. 請求項2に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記電子ファイル(5)は、個別に暗号化されて、前記ディジタルコンテンツライブラリ(6)に格納される
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  4. 請求項2に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記ディジタルコンテンツライブラリ(6)は、暗号化されている
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  5. 請求項1に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記共通インターフェース手段(50)は、前記デバイスドライバ(32−36)を制御することで、ネットワーク(13)への通信機能、前記記憶装置(1425)への書き込む機能、及び、前記入力装置(1617)を操作して複製する複製機能の中から選択される1以上の機能を制限する
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  6. 請求項1に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記参照結果は、前記アクセスの実行が許可されたものであるとき、
    前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
    前記アクセスが前記ディジタルコンテンツライブラリ(6)に新規電子ファイルを書き込む動作の場合は、前記共通インターフェース手段(50)は、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツライブラリ(6)に書き込み、
    前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、暗号化して、更新し、
    前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、指定された場所で、複製し、
    前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを削除し、
    前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェース手段(50)は、前記属性情報を変更し、
    前記参照結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェース手段(50)は、前記アクセスを許可しないで破棄する
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  7. 請求項1に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記ディジタルコンテンツライブラリ(6)の容量、保存先、期限設定、ログ出力、前記属性情報の変更の内1以上が指定され、前記管理データ(601)に格納されている
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  8. 請求項7に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記ディジタルコンテンツライブラリ(6)は、記録媒体若しくは記憶デバイスに保存又は、電子メールに添付、又はネットワークストレージに格納される
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  9. 請求項1に記載のディジタルコンテンツ管理用制御プログラムにおいて、
    前記共通インターフェース手段(50)は、前記仮想ディスクドライブ(8、37b)を利用したログを取得するログ取得手段(53)からなる
    ことを特徴とするディジタルコンテンツ管理用制御プログラム。
  10. 請求項1〜9の前記ディジタルコンテンツ管理用制御プログラムからなる制御プログラム(7)を提供するソフトウェア提供手段(101)と、前記制御プログラム(7)を導入した利用者(34)の管理、及び、前記ディジタルコンテンツライブラリ(6)の管理を行うユーザ管理手段(102)とからなるサーバ(100)と、
    前記制御プログラム(7)を導入し、前記制御プログラム(7)を利用して前記ディジタルコンテンツライブラリ(6)を作成する第1電子計算機(1)と、及び、
    前記制御プログラムを導入し、前記ディジタルコンテンツライブラリ(6)を利用する第2電子計算機(2)と
    からなる
    ことを特徴とするディジタルコンテンツ管理システム。
  11. 請求項10に記載のディジタルコンテンツ管理システムにおいて、
    前記サーバ(100)は、前記ディジタルコンテンツライブラリ(6)の利用履歴を前記第2電子計算機(2)から受信し、管理する履歴管理手段を有し、
    前記サーバ(100)は、前記第1電子計算機(1)に、自発的に又は、前記第1電子計算機(1)から要求があるとき、前記利用履歴を送信し、
    前記第1電子計算機(1)は、前記利用履歴を分析して、前記ディジタルコンテンツライブラリ(6)の利用状況を把握する履歴分析手段を有する
    ことを特徴とするディジタルコンテンツ管理システム。
  12. 記憶装置(14、25)を含む複数のデバイス(22−27)が接続され、オペレーティングシステム(11)によって制御されて動作する電子計算機(1、2)で電子データ(5)を利用する際、前記電子データ(5)の全部又は一部が前記電子計算機(1、2)から外部へ漏洩することを防止するディジタルコンテンツ管理用電子計算機であって、
    前記オペレーティングシステム(11)は、前記記憶装置(1425)のファイルシステムを制御するためのファイルシステムドライバ(34、34a)を備え、
    前記オペレーティングシステム(11)は、前記電子計算機(12)の仮想ディスクドライブ(8、37b)のファイルシステムを制御するための仮想ファイルシステムドライバ(34b)を備え、
    前記電子計算機は、(I)前記複数のデバイス(22−27)それぞれを制御するための前記デバイスドライバ(32−36)からなるデバイスドライバ層(30)と前記オペレーティングシステム(11)がカーネルモードで提供する基本プログラム(63)との間に位置し、前記オペレーティングシステム(11)の全ての命令が実行できる動作モードであるカーネルモードで動作して、前記デバイスドライバ(32−36)の共通の窓口となるとともに、前記基本プログラム(63)を通して行われる、前記デバイスドライバ(32−36)と前記電子計算機(1、2)上に動作しているアプリケーションプログラム(10)とのやり取りをまとめて行ない、(II)前記アプリケーションプログラム(10)から要求されたときに、前記デバイス(22−27)の間、又は、前記アプリケーションプログラム(10)と前記デバイス(22−27)の間のデータの送受信を行ない、(III)前記アプリケーションプログラム(10)から前記電子計算機(12)の前記記憶装置(14、25)に記憶されている特定ファイルへアクセスしようとするとき、前記オペレーティングシステム(11)が標準で備えているインターフェースを通して、前記アプリケーションプログラム(10)から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置(14、25)とのデータのやりとりを経由する共通インターフェースとしての共通インターフェース手段(50)を有し、
    前記共通インターフェース手段(50)は、
    前記アプリケーションプログラム(10)又は前記基本プログラム(63)から、前記ファイルシステムドライバ(34)又は前記仮想ファイルシステムドライバ(34b)へのアクセス要求を受信するインターフェース手段(51)と、
    前記アクセス要求を前記インターフェース手段(51)から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段(52)と、
    前記電子データ(5)の利用形態を示すデータからなる前記管理データ(601)を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段(44)と、
    )前記ファイルシステム制御手段(44)から前記参照結果を受信し、()前記参照結果が正常か異常かの判定を行い、()前記判定の結果が異常となるとき、前記アクセスを破棄し、()前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ(8、37b)に渡す前記制御手段(52)と
    からなり、
    前記共通インターフェース手段(50)は、1以上の前記電子データ(5)からなるファイルデータ(602)、及び、前記管理データ(601)からなるディジタルコンテンツライブラリ(6)を、前記電子計算機(12)の前記仮想ディスクドライブ(8、37b)として、前記オペレーティングシステム(11)に認識させ、
    前記仮想ディスクドライブ(8、37b)は、前記アクセスを取得して、前記アクセスを前記記憶装置(14、25)の前記ファイル(5)へのアクセスに変換して、前記共通インターフェース手段(50)にし、
    前記共通インターフェース手段(50)は、前記ファイルシステム制御手段(44)を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
    前記実行結果は、前記仮想ディスクドライブ(8、37b)を経由して、前記アプリケーションプログラム渡し、
    前記仮想ディスクドライブ(8、37b)の中から読み出された前記電子ファイル(5)、又は、前記電子ファイル(5)から派生して作成されたファイルは、前記共通インターフェース手段(50)によって前記仮想ディスクドライブ(8、37b)のみに格納され、他の前記記憶装置(14、25)に格納されないで、
    前記管理データ(601)は、前記ディジタルコンテンツライブラリ(6)又は前記電子ファイル(5)を利用することができる回数、期間、時間帯、場所及び利用者の内1以上のデータからなる属性情報からなり、
    前記電子ファイル(5)にアクセスするごとに、前記回数の値が1つずつ変化され、前記回数が0になったとき、前記電子ファイル(5)にアクセスすることができなくなる
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  13. 請求項12に記載のディジタルコンテンツ管理用電子計算機において、
    前記共通インターフェース手段(50)は、
    前記ファイルシステムドライバ(34a)から取得した、暗号化されたデータを復号化する復号化手段(55)と、
    前記ファイルシステムドライバ(34a)に渡すデータを暗号化して暗号化データを作成する暗号化手段(54)と、
    からなる
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  14. 請求項13に記載のディジタルコンテンツ管理用電子計算機において、
    前記電子ファイル(5)は、個別に暗号化されて、前記ディジタルコンテンツライブラリ(6)に格納される
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  15. 請求項13に記載のディジタルコンテンツ管理用電子計算機において、
    前記ディジタルコンテンツライブラリ(6)は、暗号化されている
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  16. 請求項12に記載のディジタルコンテンツ管理用電子計算機において、
    前記共通インターフェース手段(50)は、前記デバイスドライバ(32−36)を制御することで、ネットワーク(13)への通信機能、前記記憶装置(1425)への書き込む機能、及び、前記入力装置(1617)を操作して複製する複製機能の中から選択される1以上の機能を制限する
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  17. 請求項12に記載のディジタルコンテンツ管理用電子計算機において、
    前記参照結果は、前記アクセスの実行が許可されたものであるとき、
    前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
    前記アクセスが前記ディジタルコンテンツライブラリ(6)に新規電子ファイルを書き込む動作の場合は、前記共通インターフェース手段(50)は、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツライブラリ(6)に書き込み、
    前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、暗号化して、更新し、
    前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを、指定された場所で、複製し、
    前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェース手段(50)は、前記電子ファイルを削除し、
    前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェース手段(50)は、前記属性情報を変更し、
    前記参照結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェース手段(50)は、前記アクセスを許可しないで破棄する
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  18. 請求項12に記載のディジタルコンテンツ管理用電子計算機において、
    前記ディジタルコンテンツライブラリ(6)の容量、保存先、期限設定、ログ出力、前記属性情報の変更の内1以上が指定され、前記管理データ(601)に格納されている
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  19. 請求項18に記載のディジタルコンテンツ管理用電子計算機において、
    前記ディジタルコンテンツライブラリ(6)は、記録媒体若しくは記憶デバイスに保存又は、電子メールに添付、又はネットワークストレージに格納される
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  20. 請求項12に記載のディジタルコンテンツ管理用電子計算機において、
    前記共通インターフェース手段(50)は、前記仮想ディスクドライブ(8、37b)を利用したログを取得するログ取得手段(53)からなる
    ことを特徴とするディジタルコンテンツ管理用電子計算機。
  21. 請求項1乃至9の中から選択される1項に記載のディジタルコンテンツ管理用制御プログラムを格納したディジタルコンテンツ管理用制御プログラムの記録媒体。
JP2009047048A 2009-02-27 2009-02-27 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム Active JP5379520B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009047048A JP5379520B2 (ja) 2009-02-27 2009-02-27 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009047048A JP5379520B2 (ja) 2009-02-27 2009-02-27 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム

Publications (2)

Publication Number Publication Date
JP2010204750A JP2010204750A (ja) 2010-09-16
JP5379520B2 true JP5379520B2 (ja) 2013-12-25

Family

ID=42966196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009047048A Active JP5379520B2 (ja) 2009-02-27 2009-02-27 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム

Country Status (1)

Country Link
JP (1) JP5379520B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5829815B2 (ja) * 2011-02-10 2015-12-09 株式会社富士通ビー・エス・シー 暗号処理プログラム、暗号処理装置、および暗号処理方法
CN103020537B (zh) * 2011-09-22 2015-07-22 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置
KR101394369B1 (ko) * 2012-11-13 2014-05-13 주식회사 파수닷컴 가상 폴더를 이용한 보안 콘텐츠 관리 장치 및 방법
WO2014171797A1 (ko) * 2013-04-18 2014-10-23 주식회사 페이스콘 파일 보안 방법 및 이를 위한 장치
JP6949338B2 (ja) * 2019-01-09 2021-10-13 サイエンスパーク株式会社 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
CN110377293B (zh) * 2019-07-22 2023-07-07 深圳前海达闼云端智能科技有限公司 一种下载方法、终端及存储介质
CN111539010B (zh) * 2020-06-16 2023-09-01 北京明朝万达科技股份有限公司 剪贴板控制方法、装置、电子设备及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001025922A1 (en) * 1999-10-01 2001-04-12 Infraworks Corporation Method and system for providing data security using file spoofing
JP2005055999A (ja) * 2003-08-07 2005-03-03 Fuji Xerox Co Ltd アクセス権管理装置、アクセス権管理方法、及びそのプログラム
JP4213704B2 (ja) * 2005-11-16 2009-01-21 株式会社バッファロー 仮想ファイル管理装置、仮想ファイル管理方法、および仮想ファイル管理プログラム
JP5023695B2 (ja) * 2006-12-27 2012-09-12 富士通株式会社 電子ファイルシステム、操作装置及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2010204750A (ja) 2010-09-16

Similar Documents

Publication Publication Date Title
JP4787263B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
JP3507594B2 (ja) コンピュータ
JP3503774B2 (ja) ファイルへのアクセスを保護するための方法および装置
JP5379520B2 (ja) ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
US7343324B2 (en) Method, system, and computer readable medium for automatically publishing content
JP3503773B2 (ja) ファイルへのアクセスを保護するための方法および装置
US8041787B2 (en) Application software and data management method, management system, and thin client terminal, management server and remote computer used therefor
US6954753B1 (en) Transparent electronic safety deposit box
JP4768741B2 (ja) 少なくとも1つの保護されたコンテンツアイテムの使用権限を有効にする方法、装置、及びコンピュータプログラム製品
US9087207B2 (en) Obtaining complete forensic images of electronic storage media
US20090195831A1 (en) Data processing method and printing system
JPH07295803A (ja) ソフトウェア・オブジェクトを配布するための方法および装置
JP2007241513A (ja) 機器監視装置
WO2008001823A1 (fr) procédé de gestion de données informatiques, programme et support d'enregistrement
CN100442301C (zh) 用于监控内容的方法和系统
JP5156559B2 (ja) 電子計算機のデータ管理方法、そのためのプログラム
EP3910485B1 (en) Electronic data management device, electronic data management system, program therefor, and recording medium
JP2021174432A (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
JP2009230587A (ja) 電子計算機のデータ管理方法、そのためのプログラム
Mallery Secure file deletion: Fact or fiction?
JP2011138209A (ja) 文書管理システム、文書管理方法、及びそのプログラム
JPH11238038A (ja) ネットワークライセンス管理システムおよび記録媒体
JPH10222427A (ja) ネットワークライセンス管理システムおよび記録媒体
Hargreaves et al. Potential impacts of windows vista on digital investigations
CN108694327A (zh) 虚拟磁盘的防护系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130830

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: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130927

R150 Certificate of patent or registration of utility model

Ref document number: 5379520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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