JP4257909B2 - 電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体 - Google Patents
電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体 Download PDFInfo
- Publication number
- JP4257909B2 JP4257909B2 JP2003571915A JP2003571915A JP4257909B2 JP 4257909 B2 JP4257909 B2 JP 4257909B2 JP 2003571915 A JP2003571915 A JP 2003571915A JP 2003571915 A JP2003571915 A JP 2003571915A JP 4257909 B2 JP4257909 B2 JP 4257909B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- access
- program
- data
- file system
- 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.)
- Expired - Fee Related
Links
- 238000004590 computer program Methods 0.000 title claims description 3
- 238000012545 processing Methods 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 36
- 238000012546 transfer Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000013523 data management Methods 0.000 description 12
- 238000000926 separation method Methods 0.000 description 12
- 244000205754 Colocasia esculenta Species 0.000 description 4
- 235000006481 Colocasia esculenta Nutrition 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- VOCBWIIFXDYGNZ-IXKNJLPQSA-N testosterone enanthate Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](OC(=O)CCCCCC)[C@@]1(C)CC2 VOCBWIIFXDYGNZ-IXKNJLPQSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
【0001】
発明は、電子計算機の記録媒体に記憶されているファイルへのアクセスを制御するプログラム及びプログラムの記録媒体に関する。詳しくは、電子計算機のハードディスク等の記憶装置に記憶されているファイルへのアクセス処理を制御するプログラム及びプログラムの記録媒体に関する。
【背景技術】
【0002】
電子計算機のファイルシステムは様々な種類があり、ファイルシステムは電子計算機のOSのファイルシステムドライバによって制御され管理されている。インターネットからダウンロードしたファイルなどは電子計算機のハードディスク等の補助記憶装置に保存して利用している。これらのファイルをユーザが意識して削除しないかぎり、削除されることはほとんどない。
【0003】
(電子計算機の構成)
電子計算機は、中央演算処理装置(CPU)、記憶装置(メモリ、ハードディスク等)、入力装置(キーボード、マウス等)、出力装置(ディスプレイ等)、周辺機器(プリンタ、スキャナ等)へ接続するためのカードスロットなどの多くのハードウェア資源からなり、かつ記憶装置に記憶されているOS(Operating System)によってこれらのハードウェアが制御されて動作する。
【0004】
電子計算機で動作する各種アプリケーションプログラムはOS上で動作する。OSは電子計算機の全ての動作を制御し、異なるハードウェア仕様の違いを吸収し、アプリケーションプログラムに共通の環境を提供するものである。つまり、OSは、キーボード入力や画面出力といった入出力機能、ディスクやメモリの管理など、多くのアプリケーションプログラムから共通して利用される基本的な機能を提供し、電子計算機のシステム全体を管理するソフトウェアで、「基本ソフトウェア」とも呼ばれることがある。
【0005】
電子計算機のハードウェアは複数のメーカによって生産されて、メーカによってその仕様が異なることがある。電子計算機を利用するプログラム開発者にとっては、このハードウェアの仕様の違いを意識しないで、アプリケーションプログラムの開発を行うことが望ましい。ハードウェアのこの仕様の違いはOSが吸収しアプリケーションプログラムに対して共通の環境を提供する。
【0006】
アプリケーションプログラムの開発者は、OSの提供する機能を利用することによって、開発の手間を省くことができ、アプリケーションプログラムの操作性を統一することができる。あるOS向けに開発されたアプリケーションプログラムは、基本的にはそのOSが動作するどのような電子計算機でも利用できる。
【0007】
OSには、MS-DOS(登録商標)、UNIX(登録商標)、Linux、FreeBSD(登録商標)などに代表される数多くの種類があり、企業や家庭の一般ユーザが利用するOSとして最もポピュラーなのはMicrosoft社のWindowsシリーズである。DTP業界やマルチメディア業界では、Apple社のMac OS(登録商標)が広く利用されている。企業のサーバや学術機関では各社のUNIX系のOSや、無償配布されているLinuxやFreeBSDなどのUNIX系のOSが使われることが多い。近年、サーバ用のOSとしてMicrosoft社のWindows NT/2000(登録商標)がシェアを伸ばしている。
【0008】
〔従来のアーキテクチャ〕
ここで、図12にはOSの代表的なものとしてWindows NT/2000(登録商標)のアーキテクチャの概要を図示している。図12からわかるように、Windows NT/2000は、全体的に概略するとハードウェア2、OS3、実際のユーザが要求する機能を実現するアプリケーションプログラム4という階層構造に成っている。マイクロカーネル51はOS3の全体的な管理を行うためのプログラムであり、マイクロカーネル51の階層を中心にして、その層の上で動作する各種ソフトウェア(カーネルモードソフトウェア)がカーネルモード8を構成している(後述の説明を参照)。そして、一番上の階層にあるアプリケーションプログラム4がユーザモード9で動作している(後述の説明を参照)。
【0009】
OS3は大きく分けて、エグゼクティブ50、マイクロカーネル51、ハードウェア抽象化層(HAL)52からなる階層構造を有する。HAL52は、ハードウェア2のすぐ上の層に位置したハードウェアの制御を重視したプログラムで、プロセッサなどの多種多様なハードウェアの仕様を吸収し、上位層のサービス(マイクロカーネル51,エグゼクティブ50等)に同じ環境(機種に依存しない)を提供するためのプログラムである。
【0010】
マイクロカーネル51は、システム全体の基本的な機能を提供するものである。エグゼクティブ50は、マイクロカーネル51、HAL52で提供されるサービス機能を利用してOS3の主なサービスの提供を実現するためのプログラムの総体である。エグゼクティブ50には、キャッシュマネージャ53、オブジェクトマネージャ54、プロセスマネージャ55、メモリマネージャ56、I/Oマネージャ57等の代表的なエグゼクティブプログラムが含まれている。
【0011】
オブジェクトマネージャ54は、動作しているオブジェクト(ある目的の機能を実現するためのプログラム)を監視し制御・調整を行うためのプログラムである。プロセスマネージャ55は、動作しているプロセス(ある機能だけを行うためのプログラム)を監視し調整を行うためのプログラムである。キャッシュマネージャ53とメモリマネージャ56は、メモリ・仮想メモリを制御・調整するためのプログラムである。I/Oマネージャ57は、OS3の入出力機能を監視・制御するプログラムである。電子計算機がこのエグゼクティブ50で動作するとき、カーネルモード8と呼ばれている。
【0012】
カーネルモード8では、OS3を操作するためのすべての命令が実行可能であり、仮に間違った命令を実行するとシステム全体に悪影響を及ぼしかねない。また、OS3の機能には、アプリケーションプログラム等のユーザに対して完全に開放されているユーザモード9がある。このユーザモード9では、システムに悪影響を与えないように、OS3を操作する命令を制限している。システムに悪影響を与えるような命令をシステムが自動的にとらえてくれるため、ユーザにとっては使い易い環境になっている。
【0013】
しかし、このような制限を設けることはOS3の機能の制限と同じことなので、ユーザモード9で動作するアプリケーションプログラム4は、ハードウェア2に関わる部分には直接アクセスできなくなり、カーネルモード8を経由しなければならない。カーネルモード8はOS3の機能をフルに使うことが可能であり、各入出力装置へも完全にアクセスできる。また、カーネルモード8で動作するプログラムはユーザモード9のプログラムより優先的に処理され、高いパフォーマンスを得ることができる。
【0014】
デバイスドライバ5はOS3に属し、電子計算機の外部ハードウェアを管理するためのソフトウェアであり、カーネルモード8で動作する。通常、デバイスドライバ5一つに対して同じ属性を持つデバイスが一つだけ存在する。ユーザモード9で動作するアプリケーションプログラム4は、各デバイスにアクセスするためにデバイスドライバ5を経由しなければならない。
【0015】
例えば、図13に示すようにデバイスAからデバイスBへデータを転送する場合には、データの流れは「デバイスA」→「デバイスドライバA」→(カーネルモード8からユーザモード9へと動作モードの切換)「アプリケーションプログラム4」(ユーザモード9からカーネルモード8へと動作モードの切換)→「デバイスドライバB」→「デバイスB」となり、システムはカーネルモード8からユーザモード9へ又はユーザモード9からカーネルモード8へと動作モードの切り替えを行いながら処理を進めている。
【0016】
ユーザモード9とカーネルモード8の切り替えは時間がかかる処理で、画像データなどのような大量のデータを転送するとき、転送速度が遅くなり、転送時間がかかる。このため、アプリケーションレベルで転送速度の高速化を図ることが困難である。アプリケーションプログラム4の処理ごとにユーザモード9とカーネルモード8の切り替えを行わなければならないからである。
【0017】
ここで、従来のデバイス間にデータ転送をするときの動作手順を説明する。図13は、アプリケーションプログラム4及びデバイスドライバ5と動作モード8,9の関係の概要を図示している。図から分かるように、アプリケーションプログラム4はユーザモード9で動作している。
【0018】
デバイスドライバ5は、OS3に組み込まれてカーネルモード8で動作している。電子計算機のハードウェア2を構成するデバイス6は、各種の内部デバイスと電子計算機に接続されている外部デバイスからなり、それぞれ固有のデバイスドライバ5からのみ制御される。つまり、デバイス6へのアクセスは全てデバイスドライバ5を介して行われる。デバイスドライバ5は、OS3を介して、アプリケーションプログラム4からの命令により動作する。
【0019】
次にデータ伝送の流れを図14のフローチャートを参照しながら説明する。ユーザモード9で動作するアプリケーションプログラム4が、デバイスAからデバイスBへとデータを転送するときのデータの流れをシステムの動作モード8,9を比較しながら説明する。まず、アプリケーションプログラム4がデータの転送要求(命令)を出す(S50)。
【0020】
このときは、デバイスAに対してデータ送信の要求(S51)、デバイスBに対してデータ受信の要求を出す(S52)。システムの動作モードはユーザモード9からカーネルモード8に切り替わる。デバイスドライバAがデータ送信の要求を受け取り(S53)、デバイスAに送信する(S54)。デバイスAがデータ送信の要求を受け取り(S55)、データを送信する(S56)。送信されたデータをデバイスドライバAが受信し(S57)、このデータを内部処理して(S58)、アプリケーションプログラム4へデータを送信する(S59)。
【0021】
システムの動作モードがカーネルモード8からユーザモード9に切り替わり、アプリケーションプログラム4がデータを受信して処理し(S60、S61)、処理結果をデバイスドライバBへ送信する(S62)。システムの動作モードは再びユーザモード9からカーネルモード8に切り替わる。デバイスドライバBはデータを受信し(S63)、このデータを内部処理し(S64)、結果をデバイスBへ送信する(S65)。
【0022】
デバイスBはデータを受け取り(S66)、データ受取済の情報をデバイスドライバBへ送る(S67)。デバイスドライバBはそのデータ受取済の情報を受け取り(S68)、アプリケーションプログラム4へデータ転送完了を通知する(S69)。システムはユーザモード9に替わり、アプリケーションプログラム4がデータ転送完了を受け取り(S70)、次の処理にかかり、一連のデータ転送の処理が終了する(S71)。
【0023】
このように、データは「デバイスA」→「デバイスドライバA」→(動作モードの切り替え)「アプリケーションプログラム4」(動作モードの切り替え)→「デバイスドライバB」→「デバイスB」と転送される。この間、システムの動作モードはカーネルモード8とユーザモード9とに繰り返し切り替わりながら動作している。大量のデータを取り扱うようになるとこの動作モードの切り替え処理の数が多くなる。
【0024】
更に、システム上に他のアプリケーションプログラムが同時に動作しているとき、このアプリケーションプログラムのためにシステムが動作モードの切り替えをするため、システム全体として動作モードの切り替え回数が多くなり、アプリケーションプログラム同士の実行処理が遅くなる原因になる。これは、動作モードの切り替え回数の増大はデータの送受信処理の低速化、特に画像処理などのリアルタイム性が強く求められる場合は、画面上に表示される画像の乱れなどの原因になりかねない。
【0025】
このようなシステムにおいて、システムのパフォーマンスを確保するためにはハードウェア開発・設計技術と共にそれらのハードウェア2を制御するデバイスドライバ5の開発技術が重要になる。特に画像データのような大量のデータの転送を行うとき、ユーザモード9とカーネルモード8の切り替えを少なくして、データ転送の高速化を図ることが望ましい。また、データの保全性が強く求められているときユーザが触れないカーネルモード8内で転送することが望ましい。特に、パスワードを利用してユーザ認証を行うときには秘密データであるそのパスワードデータの保全性がとても重要になる。
【0026】
(ファイルシステムの説明)
記憶装置に格納されているデータの集合に名前をつけたものをファイルと定義される。記憶装置に格納されているファイルが多くなると、これらのファイルを機能的に管理することが求められる。複数のファイルをまとめてディレクトリを構成して管理するのが一般的である。ディレクトリはファイルだけを格納するのではなく、別ディレクトリも格納することができ、入れ子構造にすることができ、全体としてツリー構造の階層構造になることが多い。このようにファイルが集まって構成する全体の構造をファイルシステムと呼ぶ。
【0027】
ファイルシステムは様々な種類があり、その代表的なものを掲げる。例えば、FATファイルシステム、NTFSログベースファイルシステム、HPFSファイルシステム等がある。電子計算機のハードディスク等の記憶装置に格納されているファイルへのアクセスはファイルシステムドライバによって制御される。
【0028】
図15には、アプリケーションプログラム4、I/Oマネージャ57、ファイルシステムドライバ58、ディスクドライバ59、ハードディスク60とこれらの関係を図示している。アプリケーションプログラム4からの読み出し要求はカーネルモード8のI/Oマネージャ57が提供するシステムサービスに向けられる。
【0029】
WindowsNT(以下、NTという。)の場合は、周辺装置を制御し、それらとのインターフェースを提供するフレームワークはI/Oサブシステムである。I/Oサブシステムは全てのカーネルモードドライバから構成される。このI/Oサブシステム全体を定義し、管理するのがI/Oマネージャ57である。ファイルシステムドライバ58はI/Oサブシステムのコンポーネントであり、I/Oマネージャ57が定義するインターフェースに準拠しなければならない。
【0030】
ファイルシステムドライバ58は、ハードディスク60等の補助記憶装置に情報を格納する手段、また、補助記憶装置に記憶されている情報を検索する機能をユーザに提供するものである。また、ファイルシステムドライバ58は、補助記憶装置に格納されているこのファイルの作成、修正、削除を行い、ファイル間の情報転送を容易かつ確実に制御する機能を有する。ファイルシステムドライバ58は、アプリケーションプログラム4にとって適切な方法でファイルの内容を構築する機能も整えている。
【0031】
ファイル属性データは、補助記憶装置に格納されているファイルを読み出し専用か、書き込み可能かなどのファイルに関する情報からなるデータである。電子計算機のファイルシステムにはこのようなファイル属性データを細かく定めている。ここには、ファイルの作成日時、更新日時、種類、サイズ、読み出し専用(指定可能)、隠しファイル(指定可能)などをはじめとする情報がある。
【0032】
ファイルにアクセスするとき、ファイルシステムドライバがファイルの属性を参照してアクセス方法を確認する。読み出し専用のファイルの場合は、書き込みできないため、書き込みアクセスしようとするとき、書き込みできない旨の通知を返す。ファイルへアクセスするときは、ファイル属性に決められたアクセスの仕方しかできないように設定されている。
【0033】
NTではファイルへのアクセス権限は設定されている。例えば、NTでは、システム起動時にログインしたユーザは「管理者」、「ユーザ1」などのようにレベル又はグループに分けられており、ユーザごとにアクセスできるファイル、できないファイルを設定することができる。また、あるユーザに対しては読み出し専用のファイルが、他のユーザには書き込みもできるように設定できる。
【発明の開示】
【発明が解決しようとする課題】
【0034】
従来のファイルシステムを使用していると、ユーザがファイルを所定回数しかアクセス(読み出す、書き込む、開くなどのアクセス)することできないように制限することが非常に困難である。ファイルごとに所定期間又は時間帯にしかアクセスできないようにすることも困難である。このためにはそれぞれの時間ごとにファイルの属性を一々変更して書き換えしなければならない。
【0035】
また、ユーザ(利用者、アプリケーションプログラム)がファイルを所定回数アクセス(読み出す、書き込む、開くなどのアクセス)するとファイルが削除されるように設定するなどとユーザの特定のアクセスに対するファイル制御が難しい。
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
【0036】
本発明の目的は、電子計算機の記憶装置に記憶されているファイルへのアクセスをカーネルモードで制御するプログラム及びプログラムの記録媒体を提供する。
本発明の他の目的は、電子計算機のファイルシステムへアクセスしたアクセスログをカーネルモードで取得するプログラム及びプログラムの記録媒体を提供する。
【0037】
本発明の更に他の目的は、電子計算機のファイルシステムへアクセスしたアクセスログを保存したファイルをネットワークへ転送するプログラム及びプログラムの記録媒体を提供する。
本発明の更に他の目的は、電子計算機のファイルシステムのファイルが特定のアクセスが所定回数行われた後に改め決められた条件で制御されるプログラム及びプログラムの記録媒体を提供する。
【0038】
本発明の更に他の目的は、電子計算機を利用するユーザの個人認証を行い、ユーザから電子計算機へのアクセスを制御するプログラム及びプログラムの記録媒体を提供する。
【課題を解決するための手段】
【0039】
本発明は、前記目的を達成するため、次の手段を採る。
本発明の電子計算機のファイルシステムドライバの制御プログラムは、記憶装置を含む複数のデバイスが接続され、OSによって制御されている前記電子計算機の入力装置又はアプリケーションプログラムから、前記電子計算機のファイルシステムの特定ファイルへアクセスするとき、前記アクセスを要求するアクセス命令を制御する手段として前記電子計算機を機能させる制御プログラムである。
【0040】
前記OSは、前記ファイルシステムを制御するためのファイルシステムドライバを備えている。前記制御プログラムは、前記OSの全ての命令が実行できる動作モードであるカーネルモードで動作していることを特徴とする。前記制御プログラムは、前記OSの全ての命令が実行できる動作モードであるカーネルモードで動作し、前記複数のデバイスそれぞれを制御するためのデバイスドライバからなるデバイスドライバ層と、前記OSがカーネルモードで提供する基本プログラムとの間に位置し、(I)前記デバイスドライバの共通の窓口となるとともに、前記基本プログラムを通して行われる前記デバイスドライバと前記アプリケーションプログラムとのやり取りをまとめて行ない、(II)前記アプリケーションプログラムから要求されたときに、前記複数のデバイスの間、又は、前記アプリケーションプログラムと前記デバイスの間のデータの送受信を行ない、(III)前記アプリケーションプログラムから前記電子計算機の前記記憶装置に記憶されている前記特定ファイルへアクセスしようとするとき、前記OSが標準で備えているインターフェースを通して、前記アプリケーションプログラムから出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置とのデータのやりとりを経由する共通インターフェース手段として前記電子計算機を機能させるプログラムであることを特徴とする。
【0041】
前記共通インターフェース手段は、前記アクセス命令を受信するインターフェース手段と、前記アクセス命令を前記インターフェース手段から受信し、前記アクセス命令を分析して前記特定ファイル及び前記アクセスの仕方を示すアクセス方法を取得し、前記特定ファイルと前記アクセス方法を後記データ処理手段に渡して、データの流れを制御するフロー制御手段と、前記ファイルシステムのファイル名欄、及び1つ以上のアクセス方法欄からなるアクセス制御データベースを参照して、参照結果を出力する参照手段と、(1)前記フロー制御手段から前記特定ファイルのファイル名及び前記アクセス命令を受信し、(2)前記特定ファイルの前記ファイル名及び前記アクセス命令に関する情報を前記参照手段に渡し、(3)前記アクセス命令に対する前記参照結果を前記参照手段から受信し、(4)前記参照結果が正常か異常かの判定を行い、(5)前記判定の結果が異常となるとき、前記アクセス命令を破棄し、(6)前記判定の結果が正常となるとき、前記アクセス命令を後記ファイルシステム監視ドライバ手段に渡す前記データ処理手段と、(a)前記データ処理手段から前記アクセス命令を受信して、(b)前記アクセス命令を前記ファイルシステムドライバに渡し、(c)前記ファイルシステムドライバから前記アクセス命令の実行結果を受け取り、(d)前記実行結果を前記フロー制御手段に渡す前記ファイルシステム監視ドライバ手段からなり、前記フロー制御手段は前記実行結果を前記インターフェース手段に渡し、前記インターフェース手段は、前記実行結果を前記入力装置又はアプリケーションプログラムへ渡すことを特徴とする。
【0042】
さらに、前記参照手段は、前記アクセス命令に対応する変更を前記アクセス制御データベースに行うと良い。
さらに、前記データ処理手段は、前記アクセスのアクセスログを出力すると良い。
【0043】
さらに、前記特定ファイルに対する前記アクセス方法欄の値が所定の値のとき、前記データ処理手段の前記判定は前記異常の結果を出力すると良い。
さらに、前記アクセス方法欄は、ファイルを作成する、ファイルを開く、ファイルを閉じる、ファイルを読み出す、ファイルを書き込む、ファイルのアクセス期間、及びファイルのアクセス時間帯、の欄の内少なくとも1つ以上の欄からなり、前記欄の値は整数、記号、及び単語から選択される 1 以上からなると良い。
【0044】
また、前記参照手段は、前記アクセス方法欄の前記値を確認し、前記値が「0」になった場合、前記データ処理手段に通知し、前記データ処理手段は、前記通知を受信して、前記ファイルシステム監視ドライバ手段に前記値が「0」になった前記特定ファイルを削除するようにファイル削除命令を出力し、前記ファイルシステム監視ドライバ手段は、前記ファイルシステムドライバに前記ファイル削除命令を送信して、前記値が「0」になった前記特定ファイルを削除すると良い。
【0045】
前記入力装置から入力される入力データを受信する入力手段を有し、前記データ処理手段は、前記入力装置の機能の全部又は一部を停止させる機能を有し、さらに、前記入力手段からの前記入力データを受信し、分析し、
【0046】
前記入力データの内の特定のデータを前記インターフェース手段に提供すると良い。
さらに、前記入力手段はキーボードであり、
【0047】
前記機能の停止は、前記キーボードの特定のキーからの入力データを停止させると良い。
さらに、前記入力手段はマウスであり、前記機能の停止は、前記マウスから入力される特定データを停止させると良い。
【0048】
更に、前記電子計算機の記憶手段には、前記電子計算機を利用するユーザを個人認証するための個人認証プログラムが格納されていて、前記個人認証プログラムは、前記入力装置であるキーボードのキーから入力する信号であるキー入力を取得する取得手段と、前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第1認証手段と、前記アクセス制御データベースを参照して、前記ユーザのアクセスできる範囲を示す前記条件を取得する取得手段と、前記ユーザの前記アクセスを制御するために前記条件を前記フロー制御手段に送信する制御手段として前記電子計算機を機能させるためのプログラムであると良い。
【0049】
更に、前記電子計算機とネットワークによって接続されているサーバの記憶手段に第2制御プログラムと、ユーザの個人情報、制御条件からなる制御データベースが記憶されていて、前記電子計算機が前記キー入力を前記サーバへ送信する送信手段を有すると良い。前記第2制御プログラムは、前記送信手段によって送信された送信データを取得する受信手段と、前記送信データに含まれる前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第2認証手段と、前記制御データベースを参照して、前記ユーザのアクセスできる範囲を示す前記条件を取得するデータベース参照手段と、前記ユーザのアクセスを制御するために前記条件と制御命令を前記電子計算機に送信する制御条件送信手段として前記サーバを機能させるためのプログラムであると良い。
【0050】
本発明の電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体は、個人認証を前記ユーザが前記電子計算へログインするとき、又は連続的にオンライン認証すると良い。
また、前記サーバからの命令で前記電子計算機のシステムをロック、又は前記ロックの解除を行うと良い。更に、前記ロックされた状態の前記電子計算機の電源を切った後、電源を入れるとき前記電子計算機の動作環境が前記電源を切る直前の状態が保持されて復帰させると良い。
【0051】
本発明の電子計算機のファイルシステムドライバの制御プログラムを記録したプログラムの記録媒体を有すると良い。
【発明の効果】
【0052】
本発明の電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体、そのプログラム及びプログラムの記録媒体は次の効果(利点)を有する。
【0053】
本発明は、電子計算機のファイルシステムへのアクセスは、電子計算機のOSの動作モードであるカーネルモードで行うので、ファイルシステムドライバに支障なくアクセス制御できる。ファイルシステムへのアクセスを指定するデータベースを用いて制御するためファイルへのアクセスを制御することが自由になる。
【0054】
本発明は、アプリケーションプログラムとデバイスドライバとの共通のインターフェースを用い、このインターフェースドライバのプログラムを利用してファイルシステムへのアクセスを制御するので、データの秘密性が保護され、かつデータの安全転送を図ることができる。
【0055】
本発明は、ユーザごとにアクセス範囲、権限を設定し、電子計算機を利用するユーザの認証を行い、ユーザのアクセスできるアクセス範囲、権限に基づいてファイルシステムへのアクセスをカーネルモードで制御でき、不正アクセス、未登録のユーザのアクセスなどを防止できる。
【発明を実施するための最良の形態】
【0056】
次に、本発明の実施の形態を説明する。
(共通インターフェースドライバの概念)
図1は、本発明の電子計算機のインターフェースドライバプログラムの実施の形態を示す概念図であり、共通インターフェースドライバを用いたOSの概念図である。図2は、データを転送するときのデータ及び命令の流れを示すフローチャートである。
【0057】
電子計算機1はCPU、メモリ、周辺機器などのハードウェア2から構成され、これらのハードウェア2を記憶装置に記憶されているOS3によって制御し動作させる。エンドユーザが使うアプリケーションプログラム4はOS3が提供する環境で動作する。OS3には、周辺機器を制御するデバイスドライバ5が含まれており、アプリケーションプログラム4からの命令に従って、デバイス6を制御し、デバイス6からデータを受信したり、デバイス6へデータを送信したりする。
【0058】
本実施の形態では、共通インターフェースドライバ7は、各デバイスドライバ5の共通の窓口となり、アプリケーションプログラム4とのやり取りをまとめて行っている。また、共通インターフェースドライバ7は、アプリケーションプログラム4からの命令によって、デバイス6間のデータの送受信も制御することができる。共通インターフェースドライバ7は、デバイスドライバA5とデバイスドライバB5間のインターフェースで、カーネルモード8で動作するものである。
【0059】
デバイス6には、デバイスAとデバイスBがあり、それぞれをデバイスドライバAとデバイスドライバBにより制御される。デバイスAからデバイスBへデータを転送する場合のデータの流れを図2のフローチャートに示す。ユーザモード9で動作するアプリケーションプログラム4が、デバイスAからデバイスBへとデータを転送するとき(S1)、データ転送の要求(命令)を出す(S2)。このときは、システムの動作モードはユーザモード9である。
【0060】
システムの動作モードはカーネルモード8に切り替わり、共通インターフェースドライバ7はアプリケーションプログラム4からのデータ転送の要求を受け取り(S3)、共通インターフェースドライバ7はこのデータ転送の要求を分析して(S4)、各処理部に指示を出す。デバイスドライバAに対してデータ送信の要求を出す(S5)。デバイスドライバBに対してデータ受信の要求を出す(S6)。
【0061】
デバイスドライバAが共通インターフェースドライバ7からのデータ送信の要求を受け取り(S7)、デバイスAに送信する(S8)。デバイスAがデータ送信の要求を受け取り(S9)、データをデバイスドライバAへ送信する(S10)。デバイスドライバAがデータを受信し(S11)、内部処理して(S12)、共通インターフェースドライバ7に渡す(S13)。共通インターフェースドライバ7は、データを受信し、圧縮・暗号化等の処理をして(S14)から、結果をデバイスドライバBへ送信する(S15)。
【0062】
デバイスドライバBは共通インターフェースドライバ7からデータを受信し(S16)、内部処理し(S17)、この内部処理した処理結果をデバイスBへ送信する(S18)。デバイスBはデータを受け取り(S19)、データ受取済の情報をデバイスドライバBへ送る(S20)。デバイスドライバBはそのデータ受取済の情報を受け取り(S21)、データ転送完了の情報を共通インターフェースドライバ7へ返信する(S22)。
【0063】
共通インターフェースドライバ7はデータ転送完了の情報を受信し(S23)、アプリケーションプログラム4へデータ転送完了の情報を送信して次の命令を待機する(S24)。ここで、システムの動作モードはカーネルモード8からユーザモード9に替わり、アプリケーションプログラム4がデータ転送完了の情報を受け取り(S25)、次の処理にかかる。
【0064】
これで、データ伝送の一連の作業が終了する(S26)。このように、データは「デバイスA」→「デバイスドライバA」→「共通インターフェースドライバ7」→「デバイスドライバB」→「デバイスB」と転送され、この間、システムの動作モードはカーネルモード8で動作し、モードの切り替えを行う必要がなくなる。
【0065】
また、データはユーザモード9のアプリケーションプログラム4を経由せずに直接カーネルモード8でデバイス6間に転送され、大量のデータを高速に転送できるようになる。また、アプリケーションプログラム4から直接に取り扱いできないカーネルモード8で転送されているためデータの保全性も高まる。
【0066】
デバイスBは、キーボード、マウスなどの入力装置をはじめとする様々デバイスである場合は、各デバイスはそれぞれデバイスドライバを備えている。これらのデバイスドライバ5は並列に共通インターフェースドライバ7に接続され、共通インターフェースドライバ7を通って互いにまたはアプリケーションプログラム4とデータのやり取りを行う。
【0067】
共通インターフェースドライバ7は、データ圧縮、暗号化、複合化等をはじめとする処理行う機能を備えてことによって、アプリケーションプログラム4から要求されたときにこれらの機能を使ってデバイス6間またはアプリケーションプログラム4とデバイス6との間のデータ送受信を高速に行う。
【0068】
その他に、共通インターフェースドライバ7は受信したデータの時間を表すタイムスタンプ機能を備えることによって、デバイス6から受け取ったデータ等にタイムスタンプを押すことができる。このタイムスタンプ機能を使えば、デバイスから入力されるデータの入力時間に関する情報を正確把握することができる。
特に、ユーザのキー入力等の入力特徴を用いて個人認証を行うなどの入力時間がとても重要になる場合は、より正確な時間を把握できるようになる。
【0069】
(共通インターフェースドライバの実施の形態1)
カーネルモード8で動作する共通インターフェースドライバ7を用いたファイルへのアクセス制御の実施の形態1を説明する。図3には、電子計算機11のハードディスク34に記憶されているファイルへアクセスしたとき、このアクセスを制御する形態を図示している。図4には、このアクセス制御の流れを示すフローチャートを図示している。
【0070】
電子計算機11で動いているアプリケーションプログラム4からハードディスク34に記憶されているファイルへアクセスしようとするときは、アプリケーションプログラム4はWindowsが標準で備えているインターフェースを通してファイルへのアクセス要求を出す。このとき、アプリケーションプログラム4は、共通インターフェースドライバ7を経由して、ハードディスク34とのデータのやりとりを行われる。
【0071】
共通インターフェースドライバ7は、アプリケーションインターフェース部17、フロー制御部25、データ処理部19、TDIクライアントドライバ部(TDI Client Driver部)20、アクセスデータ管理部30、暗号化/復号化部31、ファイルシステム監視ドライバ部32等から構成され、各部分の概略の機能は次の通りである。
【0072】
ファイルシステム監視ドライバ部32は、フロー制御部25又はデータ処理部19からの要求によってファイルシステムドライバ33とデータの送受信を行うためのものである。アプリケーションインターフェース部17は、アプリケーションプログラム4と共通インターフェースドライバ7間のインターフェースを提供し、アプリケーションプログラム4からのファイルアクセス要求などのコマンドを受け取り、その実行結果、またはフロー制御部25から受信したその他のデータをアプリケーションプログラム4に送信するためのものである。
【0073】
データ処理部19は、ファイルの属性データの作成と、アクセスデータ管理部30、暗号化/復号化部31、TDIクライアントドライバ部20への入出力を行うためのものである。
TDIクライアントドライバ部20は、ネットワークドライバ21と共通インターフェースドライバ7とのインターフェースを提供する。ネットワークドライバ21は、プロトコルドライバ22と、NDIS(Network Driver Interface Specification)ドライバ23から構成され、ネットワークカード16を制御し、ネットワーク26へデータを伝送するときの接続確立とプロトコルの制御を行う。
【0074】
プロトコルドライバ22は、ネットワーク26にデータを転送する際の通信プロトコルを制御するものである。NDISドライバ23は、プロトコルドライバ22とネットワークカード16とのインターフェースを提供するものである。TDIクライアントドライバ部20は、パケット化されたデータをデータ処理部19から受け取ってプロトコルドライバ22に出力する。
【0075】
フロー制御部25は、アプリケーションインターフェース部17を介して受け取ったアプリケーションプログラム4からの命令などを解析して、データ処理部19、ファイルシステム監視ドライバ部32などに指示を出して制御するためのものである。
【0076】
アクセスデータ管理部30は、ハードディスク34などの補助記憶装置に格納されているファイルに関する情報が格納されているデータベース35を参照・登録・制御し管理するためのものである。詳しくは、ファイルへのアクセスのログ、制御条件、ファイル属性などのデータをデータベース35へ登録・削除し、参照する。
【0077】
ファイルシステム監視ドライバ部32は、ハードディスク34等の補助記憶装置に格納されているファイルへのアクセスを提供するファイルシステムドライバ33とのインターフェースを提供するためのものである。
【0078】
次に共通インターフェースドライバ7のデータの流れを図4のフローチャートを参照しながら説明する。
アプリケーションプログラム4がファイルへアクセスするとき、ファイルアクセス要求をWindows標準のインターフェースを通して出力する(S100、S101)。このアクセス要求を共通インターフェースドライバ7のアプリケーションインターフェース部17が受信する(S102)。そして、ファイルアクセス要求をフロー制御部25へ送信する(S103)。
【0079】
フロー制御部25はこのファイルアクセス要求を受信し(S104)、解析する(S105)。この解析結果はデータ処理部19へ送信する(S106)。データ処理部19は解析結果を受信し(107)、ファイルへのアクセス情報を参照するためにファイル属性情報を作成してアクセスデータ管理部30に送信する(S108)。アクセスデータ管理部30はファイル属性情報を受信し(S109)、データベース35内の制御条件データベース36及びファイル属性データベース37を参照する(S110)。
【0080】
そして、タイムコードをデータ情報に追加して(S111)、参照結果をデータ処理部19へ送信する(S112)。データ処理部19は参照結果を受信し(S113)、参照結果が正常であるかの判定を行う(S114)。判定が正常のときは(Yesの場合)、ファイルアクセス要求をファイルシステム監視ドライバ部32へ送信する(S115)。ファイルシステム監視ドライバ部32は、ファイルアクセス要求を受信し(S116)、ファイルアクセス要求をファイルシステムドライバ33へ送信し(S117)、ファイルシステムドライバ33からの返事を待機する(S118)。
【0081】
ファイルシステムドライバ33は、ハードディスク34にアクセスしてファイル操作を行ってアクセスした結果をファイルシステム監視ドライバ部32に送信する。ファイルシステム監視ドライバ部32はアクセス結果を受信し(S119)、フロー制御部25へ送信する(S120)。
【0082】
フロー制御部25は、アクセス結果を受信し(S121)、アプリケーションインターフェース部17へ送信する(S122)。アプリケーションインターフェース部17はアクセス結果を受信し(S123)、このアクセス結果をアプリケーションプログラム4へ送信する(S124)。アプリケーションプログラム4は、ファイルアクセス要求に対する返事を受信し、次の処理にかかる(S133)。
【0083】
データ処理部19での判定結果が正常ではない場合は(ステップ114のNoの場合)、データ処理部19はアクセス要求を破棄し(S125)、アクセス要求を破棄した旨のアクセス要求破棄の通知をフロー制御部25に送信する(S126)。そして、データ処理部19はアクセス要求破棄の通知をデータ情報に追加して(S127)、異常としてアクセスデータ管理部30へ送信する(S128)。
【0084】
フロー制御部25は、アクセス要求破棄の通知を示す異常を受信して(S129)、これをアプリケーションインターフェース部17に送信する(S130)。アプリケーションインターフェース部17はこの異常を受信し(S131)、アプリケーションプログラム4へ送信する(S132)。アプリケーションプログラム4は、ファイルアクセス要求に対する返事を受信し、次の処理にかかる(S133)。
【0085】
(アクセスログデータベース38の転送フロー)
次に、図5に図示したデータベース35のバックアップについて記述する。
フロー制御部25はアクセスログデータベース38の保存量を監視し、所定の値以上になるとそのバックアップ作業又はネットワーク26上のサーバへの転送を指示する。フロー制御部25から指示が出され、作業が開始し(S150)、アクセスログの保存量を確認する(S151)。アクセスログデータベース38の保存量が所定の値以上かを判定する(S152)。所定の保存量になってない場合は(Noの場合)、作業を中断する(S153)し、終了する(S163)。
【0086】
アクセスログ保存量が所定の値以上になっている場合は(Yesの場合)、データ処理部19にアクセスログデータベース38のデータ転送の指示をする(S154)。データ処理部19は、データ転送指示を受信し(S155)、アクセスデータ管理部30にデータ転送を要求する(S156)。アクセスデータ管理部30はデータ転送の要求を受信し(S157)、アクセスログデータベース38からデータを取得し、データ処理部19へこのデータを転送する(S158)。データ処理部19は、転送されてきたデータを受信し(S159)、ネットワーク26への送信データを作成する(S160)。
【0087】
ネットワーク26への送信データを作成するときは、データ機密保持のために暗号化処理を行う必要があり場合は、暗号化/復号化部31で暗号化処理を行う。暗号化されたデータは、ネットワーク26へ送信するためにパケット化し送信データを作成する(S161)。送信データはTDIクライアントドライバ部20へ送られて、TDIクライアントドライバ部20がネットワーク26へ送信データを送信する(S162)。よって一連の作業が終了する(S163)。
【0088】
(ファイル属性データの例)
図6には、ファイル属性データベース37の構成例を図示している。ファイル属性データベース37は、ファイル名101、作成日時102、更新日時103、アクセス日時104、隠しファイル105、読み出し専用106、サイズ107、アクセス権限者108などの項目からなっている。ファイル名101は、ファイルの名前、ファイルの種類を表す拡張子も含めている。ファイル名101はパス付きであっても良い。
【0089】
作成日時102、更新日時103、アクセス日時104はそれぞれファイルを作成した日時、ファイルを最後に更新した日時、ファイルにアクセスした最終日時である。ファイルを通常見えないようにするには隠しファイル105の項目、読み出し専用にするには読み出し専用106の項目をそれぞれ「yes」にする。そうではないときは「no」である。サイズ107の項目はファイルのサイズをバイトで表したものである。アクセス権限者108はファイルへアクセスできるユーザの属性を表す。
【0090】
例えば、open109は誰でもアクセスでき、owner 110は該システムに「owner」としてログインしたユーザだけがアクセスでき、Administrator 111はシステムの管理者である。また、Taro/pswd 112のように特定のユーザ(Taro)をパスワード(pswd01)付きで指定することが出来る。
【0091】
(制御条件データベースの例)
図7には、制御条件データベース36の構成例を2つ図示している。図7の表(a)の例では、ファイル名101、作成113、開く114、閉じる115、読み出す116、書き込む117等の項目がある。ファイル名101は、ファイルの名前であり、拡張子まで含まれており、ファイルのパスも含まれていると良い。それに続く作成113、開く114、閉じる115、読み出す116、書き込む117等の項目は、ファイルへアクセスする方法であり、それぞれファイルを作成する、開く、閉じる、読み出す、書き込むことを意味する。
【0092】
予め、各項目に「0」が入っていれば、該項目に対応するアクセスはできないと決めておくことが出来る。1以上の数字の場合は、アクセスできるとすると、ユーザがアクセスするごとにそれを減算して書きかえることが出来る。このような作業は、データ処理部19、アクセスデータ管理部30が行うことが出来、アクセスにカウンタをつけて管理することができる。
【0093】
例えば、「C:¥folder1¥failename01.abc」の場合は「書き込む117」項目に「4」の値があり、書き込みアクセスするごとに1つずつ減算していけば4回まで書き込みのアクセスが可能である。4回アクセスした後は、値が「0」となり、書き込みが出来なくなる。その他の項目も同様である。このようにすると、ファイルへのアクセスをそのアクセスの種類・方法によってカウンタ付きの管理および制御が自由に出来る。
【0094】
図7の表(b)の2つ目の例では、ユーザ118の項目をさらに設けて、上述のカウンタ付きのアクセス制御をユーザごとに行っている。例えば、「Taro」等のようにユーザごとにファイルのアクセス制御を行っている。また、アクセスできる期間を表す「期間119」、アクセスできる時間帯を表す「時間帯120」等のような項目も追加されて管理しても良い。期間119は年月日で始まりと終わりを、時間帯120は24時間で始まりと終わり表示し互いに「:」で区切っている。
【0095】
この場合は、あるユーザ118が登録されたファイル名101のファイルに、登録された特定の期間119の時間帯120にのみ決められた方法でのみアクセスできるようになる。例えば、「C:¥folder1¥failename01.abc」には、Taro、Hanako、Everyoneが読み出し出来るが(値が1以上である。)、アクセスできる時間帯120がとそれぞれ9時30分から17時30分まで、14時から17時まで、8時から22時までとなっている。
【0096】
(アクセスログデータベース例)
図8には、ファイルにアクセスしたアクセスログを記録したアクセスログデータベース38の構成例を図示している。アクセスログデータベース38は、ユーザ118、ファイル名101、作成113、開く114、閉じる115、読み出す116、書き込む117、タイムコード121などの項目からなっている。各ユーザ118はアクセスしたユーザ名で、ファイル名101はユーザ118がアクセスしたファイルの名前である。ファイル名101は、ファイルの拡張子とファイルの保存先を示すパスがついている方が望ましい。
【0097】
その他の作成113、開く114、閉じる115、読み出す116、書き込む117等の項目はアクセスの方法によるもので、値が「1」になったものはそのときのアクセスを示す。タイムコード121はアクセスした日時を表す。例えば、アクセスログデータベース38を見て、2001年12月10日の18時6分0秒に「C:¥folder1¥failename01.abc」を作成(作成113の値が「1」である。)し、2002年1月5日の1時6分30秒に該ファイルを開いている(開く114の値が「1」である。)と分かる。そのときのユーザ118は「Taro」である。
【0098】
このアクセスログデータベース38は、フロー制御部25の指示でデータ処理部19において作成されて、アクセスデータ管理部30によってデータベース35に書きこまれる。アクセスログデータベース38のデータが所定の保存量以上になると、ネットワーク26上のサーバ又は電子計算機に送られて保存される。また、ローカルのハードディスク34等の補助記憶装置に格納してバックアップをとっても良い。
【0099】
(実施の形態2)
図9には、実施の形態2の概念図を図示している。本実施の形態2は実施の形態1と基本的に同じものであり、この説明では実施の形態1と異なる部分だけを記述する。電子計算機11がネットワーク26を介してログサーバ28と接続されている。ログサーバ28は、ログデータベース(以下、ログデータベースとする。)28を有し、電子計算機11から送信されてくるアクセスログが保存されるものである。
【0100】
本実施の形態2では、アプリケーションプログラム4からのアクセス命令はデータ処理部19によって、ネットワークへの送信データが作成されてTDIクライアントドライバ部20によって直接ログサーバ28へ送信される。よって、データベース35には、制御条件データベース36、ファイル属性データベース37から構成される。アクセスデータ管理部は、制御条件データベース36とファイル属性データベース37の参照・変更・更新を行う。
【0101】
データ処理部19はステップS114の参照結果の判定を行い(図4のフローチャートを参照)、判定結果が正常である場合は、アクセス要求をファイルシステム監視ドライバ部32へ送信し(S115)、アクセスログを作成して、ネットワーク26上のログサーバ28に送信する。この送信手順は、図10のフローチャートを参照しながら説明する。
【0102】
参照結果が正常であるとき(S170)、データ処理部19はアクセスログを作成する(S171)。そして、ネットワーク26への送信データを作成する(S172)。作成された送信データをTDIクライアントドライバ部20に送信し(S173)、TDIクライアントドライバ部20は送信データを受け取り、ネットワークドライバ21によってネットワークへ送信する(S174)。
【0103】
ログサーバ28は、この送信データを受け取り、送信データからアクセスログを取り出して記憶装置に格納されているログデータベース29に追加する。よって、ログデータベース29を参照することにより、電子計算機11のハードディスク34に格納されているファイルへのアクセスを把握することできる。
【0104】
ログデータベース29の構造は、実施の形態1に示したアクセスログデータベース38と基本的に同じであるためその説明は省略する。しかし、制御条件データベース36、ファイル属性データベース37、ログデータベース29はあくまで一つの例であり、業務用途、ファイルシステムの特徴などにより、又は、システムの設計上の特徴により構造は異なる。
【0105】
また、電子計算機11がキーボード・マウスなどの入力装置を備えていて、これらの入力装置からユーザが入力するときの癖を利用してユーザ認証を行い、このユーザ認証を本実施の形態2と組み合わせるシステム構築できる。この場合は、不正アクセス、特にハードディスクのファイルに対する不正アクセス、およびそれに対する制御ができる。
【0106】
(実施の形態3)
本実施の形態3は、前述の実施の形態1又は2と同様のものであり、詳細な説明は省略し、異なる部分の説明だけを記述する。本実施の形態3では、データ処理部19は、ファイルシステムのファイルを削除するような命令を発する機能を有する。この機能を利用し、ハードディスク34のファイルを削除する手順を図11のフローチャートによって説明する。
【0107】
ファイルシステムのファイルへアクセス後、データ処理部19の指示でアクセスデータ管理部30は制御条件データベース36の更新を行う(S180)。このとき、更新した項目の値を確認する(S181)。値が「0」になった場合は、データ処理部19に通知する(S182)。データ処理部19は値「0」の通知を受信して、値が「0」になったファイルを削除するようファイル削除命令を出力する(S183)。
【0108】
この命令はファイルシステム監視ドライバ部32が受信し(S184)、ファイルシステムドライバ33に送信する(185)。よって、ファイルシステムドライバ33はファイルの削除を行う。このように、制御条件データベース36の値を設定する特定の値に設定することによって、ファイルシステムのファイルを削除したりすることができる。
【0109】
制御条件データベース36のファイルの値が「1」から「0」になり、この「0」の値によってデータ処理部19がファイル削除の命令を出している。これは、ファイルを1回だけアクセスして削除することになり、さまざまな場面で応用できる。例えば、ネットワークからダウンロードしたファイルを一回だけ実行後に消滅するように設定できる。
【0110】
(実施の形態4)
図16は、本発明の実施の形態4の概念図を図示している。実施の形態4は、実施の形態1から3と基本的に同様であり、その詳細な説明は省略し、異なる部分のみの説明を以下に記述する。
【0111】
実施の形態4では、共通インターフェースドライバ7が、電子計算機11のマウス27とキーボード15などの入力装置を制限したり、この入力装置から入力される操作を制限・制御したりする機能を有する。これらの機能は、共通インターフェースドライバ7のマウス監視ドライバ部39、キーボード監視ドライバ部41によって行われる。
【0112】
マウス27やキーボード15が操作されるとその入力データは、それぞれマウスドライバ40、キーボードドライバ24によってマウス監視ドライバ部39、キーボード監視ドライバ部41に送信される。そして、入力データは、さらにマウス監視ドライバ部39、キーボード監視ドライバ部41からデータ処理部19又はフロー制御部25へ送信される。
【0113】
入力装置からの入力データは、マウス監視ドライバ部39又はキーボード監視ドライバ部41からデータ処理部19に送られて、フロー制御部25を通ってアプリケーションインターフェース部17に送信される。そして、入力データはアプリケーションインターフェース部17からアプリケーションプログラム4へ提供される。
【0114】
電子計算機11を操作しているユーザは、特定のファイルを開いたり、コピー、プリントしたりすることがあり、特に、キーボード15を操作してこれらの操作を行うことが出来る。システム管理者又は用途によって、コピーさせないように、又はプリントさせないようにするには、このキーボード15等の入力装置から入力を制限する必要がある。
【0115】
本実施の形態4の動作を図17のフローチャートに示している。以下、フローチャートを説明する。
データ処理部19は、入力装置から入力データを受信し(S200)、入力データを解析する(201)。ここで、キーボード15からのデータかを判定し(S202)、キーボード15からのデータの場合は、その入力データが入力禁止キーからのデータかを判定し(204)、入力禁止キーからのデータである場合は入力データを破棄する(S207)。
【0116】
入力禁止キーからのデータではない場合は、入力データをフロー制御部25へ送信する(S208)。フロー制御部25は、入力データを受信し(S209)、アプリケーションインターフェース部17へ送信する(S210)。アプリケーションインターフェース部17は、入力データを受信し(S211)、アプリケーションプログラム4へ送信する(S212)。そして、入力装置から入力データが入力されるまで待機する(S213)。入力データがある場合はステップS200からの処理が繰り返して行われる。
【0117】
ステップS202の判定がキーボード15からのデータではない判定の場合は(No判定)、入力データがマウス27からのデータかを判定する(S203)。マウス27からのデータの場合は、マウス27の禁止操作のデータを確認する(S205)。禁止操作の場合はステップ207へと進む(上述のS207を参照)。
【0118】
マウス27からの禁止操作ではないと判定された場合は(S205)は、ステップS208へと進む。ステップS203の判定で入力データはマウス27からのデータではないと判定された場合は、入力データを破棄し(S206)。データ処理部19は、ステップS206、S207で入力データを破棄した場合は次のデータ入力されるまで待機する(S213)。
【0119】
データ処理部19は、入力装置から入力データを受け取ったときに、この入力データをどの入力装置から入力されているかの判定を行っている(S202、S203)。そして、図示してないが、入力データが入力された入力装置に対応する制御条件を引き出す。または、入力装置の制御条件は予めデータ処理部19又はフロー制御部25に設定されていても良い。
【0120】
又は、アプリケーションプログラム4から特定のファイルに対するアクセスがあった際に、そのファイルに対する制御条件の中にデータベース35で設定しても良い。この場合は、データ処理部19はデータベース35を参照するときに、入力装置の制御条件があるときは、入力装置からの入力データをチェックする動作モードに入る。
【0121】
このように設定すると、ユーザがあるファイルを開いたりするとき、そのファイルを読むだけで、コピー、印刷、編集などの作業ができないように設定することができる。
【0122】
(実施の形態5)
図18には、実施の形態5の概要を図示している。実施の形態5のシステムは、少なくともクライアント201とサーバ202とから構成される。クライアント201とサーバ202はネットワーク203によって互いに接続され、データの送受信を行う。ネットワーク203はクライアント201とサーバ202がデータの送受信を行うことが可能なLAN又はインターネット等の、有線または無線のどのようなネットワークであっても良い。
【0123】
クライアント201は、少なくともキーボード15とLANボード16を有する電子計算機である。クライアント201には共通インターフェースドライバ7がインストールされている。また、データベース35(図3を参照)を有しており、共通インターフェースドライバ7は実施の形態1から4の共通インターフェースドライバ7と同様の機能を有するためここでは詳記しない。共通インターフェースドライバ7はユーザがキーボード15から入力するデータを取得してサーバ202へ送信する機能を有する。詳しくは、ユーザが押下又は離反したキーの識別データとその時間データを含む入力データを取得してサーバ202へ送信する。
【0124】
サーバ202には、ユーザ認証プログラム204がインストールされている。サーバ202は、ユーザがキーボード15から入力するときの入力特徴を示すデータからなるユーザデータベース205を有する。ユーザ認証プログラム204は、クライアント201から送信されてくる入力データを受信し、その入力データをユーザデータベース205のデータと比較しながら解析を行ってユーザを特定する。
【0125】
また、サーバ202は、制御データベース211を有する。制御データベース211には、ユーザがアクセスできる範囲を指定したデータが格納されている。たとえば、制御データベース211は、図7に図示した制御条件データベースの制御条件であっても良い。
【0126】
ユーザ認証プログラム204はユーザの特定を行い、制御プログラム210はその結果を用いて制御データベース210を参照し、ユーザに関するアクセス範囲のデータを取得してクライアント201へ送信する。クライアント201がこのアクセス範囲のデータを受信し、制御条件データベース36に格納し、ファイルシステムへのアクセス、入力装置からの入力を制御できる。このクライアントでの、上述した実施の形態1から4に詳細に説明している。そのため詳しい説明は省略し、サーバ202での動作を中心に説明する。
【0127】
〔LVQの概要〕
ユーザ認証プログラム204は、入力データを解析するとき、ニューラルネットワーク手法を用いてデータ解析を行う。例えば、学習ベクトル量子化アルゴリズム(Learning Vector Quantization、以下は略してLVQという。)を用いている。LVQはT.Kohonenによって開発された手法であり、LVQ1からLVQ3までと複数のバージョンがある。
【0128】
本実施の形態5ではLVQ1を用いた。その他のLVQアルゴリズムやニューラルネットワーク手法のアルゴリズムを用いても良い。LVQについての詳細な説明は、T.Kohonen著「“Self-Organizing Maps”(Springer Series in Information Sciences, 30, 2000; Springer Verlag)」などに記載されている公知技術であるのでここでは詳記しない。
【0129】
初期状態に与えられる標本データ(以下、教師データという。)を複数の特徴ベクトルで特徴付けられるクラスに分けて量子化し、入力ベクトルと各特徴ベクトルとの距離を計算する。この距離がもっとも近づいた特徴ベクトルが属するクラスを入力ベクトルが属するクラスと判定する方法である。
【0130】
LVQ1は次式によって表現され、学習は次のように行われる。初期状態では、クラスを特徴付ける複数の特徴ベクトルが与えられている。入力された教師データと全ての特徴ベクトルとの距離を計算し、距離が一番近い特徴ベクトルの属するクラスを教師データの属するクラスと推定することができる。
【0131】
指定個数の特徴ベクトルをクラスごとに生成して、乱数を用いてこれを初期化し学習を開始する。このときの乱数の値は各クラスのベクトルデータの最大・最小値の間である。下記の式1にしたがって特徴ベクトルを更新して学習を行う。この学習を所定回数行うことによって、教師データに対して最適な特徴ベクトルを得る。
【0132】
mi、mjは教師データxに対してもっとも近い距離にある特徴ベクトルである。miは教師データxと異なるクラスに属する場合、mjは教師データxと同じクラスに属する場合である。σ(t)は係数で、0から1の値を取る。
mi(t+1)=mi(t)−σ(t)[x(t)−mi(t)]
mj(t+1)=mj(t)+σ(t)[x(t)−mj(t)]…(式1)
mk(t+1)=mk(t) for k≠i,j
【0133】
〔個人特徴〕
本実施の形態5で、ユーザの入力特徴はユーザが特定のキーを押下する時間、そのキーを離反する時間を用いて次のように表す。キーを押下するときの押下時間、押下したキーを離反するときの離反時間を用いる。ユーザがタイピングするキーはその前後にタイピングしたキーとの相対関係によってユーザの入力特徴になる。
【0134】
図19には、その例を図示している。ユーザの入力特徴を示すデータとして次の種類の時間を用いている。図中の横軸は時間軸である。下向きの大きな矢印でキーを押下した動作の時間を示している。同様に、上向きの大きな矢印ではキーを離反した動作の時間を示している。この二つの矢印が一組になって一つのキーを押下し離反してタイピングする動作を表す。共通インターフェースドライバ7は、ユーザがキーボード15から入力するとき各タイピングしたキーを識別するキーコード、キーの押下時間、離反時間を取得し、入力データとしてサーバ202へ送信する。
【0135】
図19のグラフ(a)には、キー1からキー3までをタイピングする例を示している。t1、t2、t3はキー1からキー2の時間的な相互関係を示している。t1はキー1の押下時間からキー2の押下時間までの時間、t2はキー1の離反時間からキー2の押下時間までの時間、t3はキー1の離反時間からキー2の離反時間までの時間をそれぞれ表している。
【0136】
t1’、t2’、t3’はt1、t2、t3の場合と同様にキー2とキー3との時間的な相互関係をそれぞれ表している。t2とt2’はキー1の離反時間、キー2の押下時間、又はキー2の離反時間、キー3の押下時間の相対関係によってマイナスの値をとることが可能である。
【0137】
図19のグラフ(b)には、キー1からキー3までをタイピングする他の例を示している。t4、t5、t4’、t5’、t4’’はキー1からキー3の時間的な相互関係を示している。t4はキー1の押下時間からキー1の離反時間までの時間、t5はキー1の離反時間からキー2の押下時間までの時間である。t4’はキー2の押下時間からキー2の離反時間までの時間、t5’はキー2の離反時間からキー3の押下時間までの時間で、t4’’はキー3の押下時間からキー3の離反時間までの時間である。
【0138】
t5とt5’はキー1の離反時間、キー2の押下時間、又はキー2の離反時間、キー3の押下時間の相対関係によってマイナスの値をとることが可能である。
【0139】
〔クライアントでの処理〕
本実施の形態6では、クライアント201ではユーザがキーボード15から入力するときの入力データをとってサーバ202へ送信する。クライアント201では、カーネルモードで動作する共通インターフェースドライバ7でキーに関するデータを取得している。共通インターフェースドライバ7の動作については前記の実施の形態1から5においてで詳細に説明しているため説明を省略する。
【0140】
図19には、共通インターフェースドライバ7で取得しサーバ202へ送信する入力データの例を図示している。入力データは、「番号」210、「時間」211、「IP」212、「キーコード」213、「押/離」214の欄からなっている。「番号」210はキーのデータを取得した順番で、「時間」211はキーのデータを取得したときの時間である。「時間」211は実時間の100ナノ秒単位で表示されている。
【0141】
「IP」212はクライアント201を識別するためのネットワーク上のアドレスである。「キーコード」213はキーのコード番号である。「キーコード」213は国又は国際機関で定まられたキーコード、又はキーボードの物理的なコード番号であっても良い。「押/離」214はキーを押下した又は離反したか示す欄で、「1」は押下、「0」は離反に対応する。
【0142】
共通インターフェースドライバ7は、データ取込部18によってキーのデータを取得し、データ処理部19でキーのデータに時間データを付け加えるなどとして入力データを作成する(図3を参照)。作成した入力データはTDIクライアントドライバ部20によって、LANボードドライバ21を経てサーバ202へ送信される。
【0143】
〔サーバでの処理〕
サーバ202では、クライアント201から送信されてくる入力データを受信して入力データファイル206としてハードディスクやメモリなどの記憶媒体に保存する。サーバ202では、予め特定ユーザの入力するデータを取得してユーザデータベース205を作成している。ユーザ認証プログラム204、入力データファイル206のデータをユーザデータベース205のデータと比較してユーザの識別を行う。
【0144】
ユーザ認証プログラム204は学習部208と識別部209とから構成される。学習部208はユーザデータベース205から特徴ベクトルを生成するためのプログラムである。識別部209は、入力データを特徴ベクトルと比較してユーザの識別を行うためのプログラムである。以下、各部の詳細な働きを示す。
【0145】
〔学習部208〕
学習部208では、教師データを読み込んで特徴ベクトルを求める。読み込みした教師データからは、例えば図19に例示したような入力されたキー、その押下、離反の時間データ、そのキーの前後に入力されたキーと関連する時間データを求めて特徴データとする。図19に例示したt1からt3又はt4、t5はその一例である。読み込んだすべての教師データに対する特徴データを求めて、全特徴データの特徴を示す特徴ベクトルを求める。
【0146】
図21のフローチャートに学習部208の動作手順を図示している。サーバ202のユーザ認証プログラム204を起動させると、学習部208が実行される(S400)。保存されているユーザデータベース205から教師データを読み込む(S401)。ユーザデータベース205は、テキスト、バイナリ等の形式のファイルとして保存されている。指定された数の教師データを読み終わるまで次の教師データを読み込みする(S402→S401)。
【0147】
読込まれた教師データが正しく読み込まれたかを判定する(S403)。正確に読込むことができなかった場合は、学習部208のプログラムを強制終了する(S404)。正確に読込まれた場合は、特徴ベクトルを初期化する(405)。特徴ベクトルの初期化では指定された数の特徴ベクトルを生成し、乱数を用いて初期化する。乱数は各クラスのベクトルの最大値と最小値との間の値を取る。
【0148】
そして、学習を開始する。学習回数の初期化(L=0)を行い(S406)、LVQ学習を所定回数nだけ行う(S407〜S409)。LVQ学習では式1で表されるように特徴ベクトルを更新する。σは0.1と固定し学習を行っている。
学習を所定回数nだけ行った後、学習した結果である特徴ベクトルを書き出して(S410)、学習部208が終了する(S411)。特徴ベクトルはテキスト又はバイナリ形式で出力されてサーバ402の記憶装置に記憶される。
【0149】
〔識別部209〕
学習部208のプログラムが実行されて、特徴ベクトルを出力して終了すると、識別部209のプログラムが実行される。図22のフローチャートには、識別部209のプログラムの手順を図示している。識別部209のプログラムが開始すると(S420)、学習部208で出力された特徴ベクトルを読み込む(S421)。特徴ベクトルを読み込んで、検証するユーザの入力データを読み込む(S422)。
【0150】
入力データはクライアント201から送信されてサーバ202に入力データファイル206として保存されている。入力データを読み終わると、識別処理を行う(S423)。識別処理が終了すると識別結果を出力して(S424)、次の入力データを読み込み識別する(S425→S422)。次の入力データが無い又は終了する指示がある場合はプログラムを終了する(S426)。
【0151】
〔識別結果〕
識別部209のプログラムで出力される識別結果はサーバ202の記憶装置にテキスト又はバイナリ形式のファイルとして記憶される。図23には、識別結果の例を図示している。識別結果を「読み込みファイル」220の行と「識別結果」221の列とから成る表で図示している。「読み込みファイル」220の行と「識別結果」221列はそれぞれ「A」、「B」…「G」の各行、各列から構成されている。
【0152】
「読み込みファイル」220の各行は入力データを示し、「識別結果」221の各列は教師データの各特徴ベクトルを示す。各行と各列に対する交差するセルは、入力データが各特徴ベクトルに属する割合をパーセントで示している。識別部209のプログラムは、入力データである「読み込みファイルA」222を読み込み、この入力データがどの特徴ベクトルに属するかを求めて、結果をパーセントで出力している。
【0153】
この表からは、クライアント201のキーボードから入力しているユーザが誰であるかを判断することができる。「読み込みファイルA」222のユーザは、「特徴ベクトルA」224を有するユーザである可能性は「75%」、「特徴ベクトルB」225を有するユーザである可能性は「6%」である。「読み込みファイルB」223のユーザは、「特徴ベクトルA」224を有するユーザである可能性は「0%」、「特徴ベクトルB」225を有するユーザである可能性は「100%」である。
【0154】
このように、各ユーザの個人特徴によって本人特定は「100%」のものもあれば、他のユーザの特徴と似ているため「70%」から「80%」程度もある。
【0155】
〔制御プログラム〕
サーバ202は、制御プログラム210を有する。この制御プログラム210は、ユーザ認証プログラム204でユーザ認証した結果を用いてクライアント201を利用するユーザのアクセス権限、アクセスできる範囲などを制御データベース211から取得してクライアント201へ送信するためのプログラムである。
【0156】
制御プログラム210は、識別部209から出力される識別結果を受信して、この識別結果のユーザに関するデータを制御データベース211から取得する。制御プログラム210は、制御データベース211から取得したデータをクライアント201へ送信する。
【0157】
図24には、制御データベース211の例を図示している。制御データベース211は図7の制御条件データベース36と比べクライアント122が追加されている。その他の同一名前の項目である101、113から120は実施の形態1で説明したファイルへのアクセスの制御である。クライアント122はユーザが利用しているクライアント201を示すもので、ネットワーク上の識別アドレスで表している。
【0158】
制御データベース211のクライント122の列にはクライアント201の識別アドレスと、このクライアント201を利用できる正当なユーザの名前がユーザ118にあらかじめ格納されている。
【0159】
制御プログラム210は、識別部209の識別結果を受信して、制御データベース211を参照して識別結果のユーザが正当なユーザであるかを検索して結果データをクライアント201へ送信する。結果データには、ユーザの名前、そのアクセスできる範囲、ファイルへのアクセス権限などのデータが含まれる。正当なユーザではなかった場合は、クライアント201を利用しているユーザの操作を停止する命令を含む結果データをクライアント201へ送信する。
【0160】
クライアント201はサーバ202からのデータを受信してその制御条件データベース36を更新する。よって、クライアント201をどのユーザが利用しているかを常時識別でき、そのユーザの利用状況に応じた制御、または不正アクセス者である場合はそのアクセスを停止することができるようになった。制御プログラム210とユーザ認証プログラム204は同一のプログラムを構成し、連動して動作するプログラムであっても良い。
【0161】
サーバ202での個人認証の結果不正アクセス者、又はユーザを認証できなかった場合、サーバ202からの命令でクライアント201のシステムをロックすることができる。このシステムロックの解除はサーバ202からの命令又は、クライアント201のシステム管理者によるアクセスで行うことができる。更に、ロックされた状態でクライアント201の電源を切り、再度電源を入れるとき、クライアント201の動作環境が電源を切る直前の状態が保持されて復帰させると良い。このとき、動作環境、動作環境の各種パラメータがクライアント201のハードディスク、メモリなどの記憶装置に保存される。
【産業上の利用可能性】
【0162】
本発明は、カーネルモードで入力装置からファイルシステムへのアクセスを制御し、ユーザごとにアクセス範囲、権限を設定している。また、電子計算機を利用するユーザの認証を行い、ユーザのアクセス範囲、権限に基づいてファイルシステムへのアクセスをカーネルモードで制御している。不正アクセス、未登録のユーザなどの場はシステムロックまで行う。ユーザの認証はユーザが電子計算機に最初にアクセスするときに、又は電子計算機を利用するときに連続的に行う。よって、セキュリティ保護関連の分野、例えば、個人情報、国家機密情報、企業秘密などの管理システムに組み込んで利用すればより安全が高めることが可能である。
【図面の簡単な説明】
【0163】
【図1】 図1は、本発明の実施の形態を示す概念図である。
【図2】 図2は、本発明の実施の形態の動作を示すフローチャートである。
【図3】 図3は、共通インターフェースドライバの構成図である。
【図4】 図4は、図3の動作を示すフローチャートである。
【図5】 図5は、アクセスログデータベースの転送手順を示すフローチャートである。
【図6】 図6は、ファイル属性データベースの例である。
【図7】 図7は、制御条件データベースの例1(a)、例2(b)である。
【図8】 図8は、アクセスログデータベースの例である。
【図9】 図9は、本発明の実施の形態2の概念図である。
【図10】 図10は、本発明の実施の形態2動作を示すフローチャートである。
【図11】 図11は、本発明の実施の形態2動作を示すフローチャートである。
【図12】 図12は、Windowsのアーキテクチャを示す図である。
【図13】 図13は、従来のOSとデバイスドライバの概念図である。
【図14】 図14は、従来のデバイスドライバの動作手順を示すフローチャートである。
【図15】 図15は、ファイルシステムドライバの概念を示すである。
【図16】 図16は、本発明の実施の形態4を示す概念図である。
【図17】 図17は、本発明の実施の形態4の動作を示すフローチャートである。
【図18】 図18は、実施の形態5の概要を示す図である。
【図19】 図19は、実施の形態5のキーの読み取りの時間間隔を示す図である。
【図20】 図20は、実施の形態5の入力データの例を示す図である。
【図21】 図21は、実施の形態5の学習部のプログラムの例を示すフローチャートである。
【図22】 図22は、実施の形態5の識別部のプログラムの例を示すフローチャートである。
【図23】 図23は、実施の形態5の識別結果を示す例である。
【図24】 図24は、制御データベースの例を示す図である。
Claims (20)
- 記憶装置を含む複数のデバイスが接続され、OSによって制御されている電子計算機の入力装置又はアプリケーションプログラムから、前記電子計算機のファイルシステムの特定ファイルへアクセスするとき、前記アクセスを要求するアクセス命令を制御する手段として前記電子計算機を機能させる制御プログラムにおいて、
前記OSは、前記ファイルシステムを制御するためのファイルシステムドライバを備え、
前記制御プログラムは、前記複数のデバイスそれぞれを制御するためのデバイスドライバからなるデバイスドライバ層と、前記OSがカーネルモードで提供する基本プログラムとの間に位置し、
前記OSの全ての命令が実行できる動作モードであるカーネルモードで動作し、
かつ、(I)前記デバイスドライバの共通の窓口となるとともに、前記基本プログラムを通して行われる、前記デバイスドライバと前記アプリケーションプログラムとのやり取りをまとめて行ない、(II)前記アプリケーションプログラムから要求されたときに、前記複数のデバイスの間、又は、前記アプリケーションプログラムと前記デバイスの間のデータの送受信を行ない、(III)前記アプリケーションプログラムから前記電子計算機の前記記憶装置に記憶されている前記特定ファイルへアクセスしようとするとき、前記OSが標準で備えているインターフェースを通して、前記アプリケーションプログラムから出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置とのデータのやりとりを経由する共通インターフェース手段として前記電子計算機を機能させるプログラムであり、
前記共通インターフェース手段は、
前記アクセス命令を受信するインターフェース手段と、
前記アクセス命令を前記インターフェース手段から受信し、前記アクセス命令を分析して前記特定ファイル及び前記アクセスの仕方を示すアクセス方法を取得し、前記特定ファイルと前記アクセス方法を後記データ処理手段に渡して、データの流れを制御するフロー制御手段と、
前記ファイルシステムのファイル名欄、及び1つ以上のアクセス方法欄からなるアクセス制御データベースを参照して、参照結果を出力する参照手段と、
(1)前記フロー制御手段から前記特定ファイルのファイル名及び前記アクセス命令を受信し、(2)前記特定ファイルの前記ファイル名及び前記アクセス命令に関する情報を前記参照手段に渡し、(3)前記アクセス命令に対する前記参照結果を前記参照手段から受信し、(4)前記参照結果が正常か異常かの判定を行い、(5)前記判定の結果が異常となるとき、前記アクセス命令を破棄し、(6)前記判定の結果が正常となるとき、前記アクセス命令を後記ファイルシステム監視ドライバ手段に渡す前記データ処理手段と、
(a)前記データ処理手段から前記アクセス命令を受信して、(b)前記アクセス命令を前記ファイルシステムドライバに渡し、(c)前記ファイルシステムドライバから前記アクセス命令の実行結果を受け取り、(d)前記実行結果を前記フロー制御手段に渡す前記ファイルシステム監視ドライバ手段からなり、
前記フロー制御手段は前記実行結果を前記インターフェース手段に渡し、
前記インターフェース手段は、前記実行結果を前記入力装置又はアプリケーションプログラムへ渡す
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項1において、
前記参照手段は、前記アクセス命令に対応する変更を前記アクセス制御データベースに行う
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項1において、
前記特定ファイルに対する前記アクセス方法欄の値が所定の値のとき、前記データ処理手段の前記判定は前記異常の結果を出力する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項3において、
前記アクセス方法欄は、ファイルを作成する、ファイルを開く、ファイルを閉じる、ファイルを読み出す、ファイルを書き込む、ファイルのアクセス期間、及びファイルのアクセス時間帯、の欄の内少なくとも1つ以上の欄からなり、
前記欄の値は整数、記号、及び単語から選択される1以上からなる
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項4において、
前記参照手段は、前記アクセス方法欄の前記値を確認し、前記値が「0」になった場合、前記データ処理手段に通知し、
前記データ処理手段は、前記通知を受信して、前記ファイルシステム監視ドライバ手段に前記値が「0」になった前記特定ファイルを削除するようにファイル削除命令を出力し、
前記ファイルシステム監視ドライバ手段は、前記ファイルシステムドライバに前記ファイル削除命令を送信して、前記値が「0」になった前記特定ファイルを削除する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項1において、
前記入力装置から入力される入力データを受信する入力手段を有し、
前記データ処理手段は、
前記入力装置の機能の全部又は一部を停止させる機能を有し、
前記入力手段からの前記入力データを受信し、分析し、
前記入力データの内の特定のデータを前記インターフェース手段に提供する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項6において、
前記入力手段はキーボードであり、
前記機能の停止は、前記キーボードの特定のキーからの入力データを停止させる
ことを特徴として前記電子計算機を機能させるための電子計算機のファイルシステムドライバの制御プログラム。 - 請求項6において、
前記入力手段はマウスであり、
前記機能の停止は、前記マウスから入力される特定データを停止させる
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項1において、
前記電子計算機の記憶手段には、前記電子計算機を利用するユーザを個人認証するための個人認証プログラムが格納されていて、
前記個人認証プログラムは、
前記入力装置であるキーボードのキーから入力する信号であるキー入力を取得する取得手段と、
前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第1認証手段と、
前記アクセス制御データベースを参照して、前記ユーザのアクセスできる範囲を示す前記条件を取得する取得手段と、
前記ユーザの前記アクセスを制御するために前記条件を前記フロー制御手段に送信する制御手段として前記電子計算機を機能させるためのプログラムである
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 請求項9において、
前記電子計算機とネットワークによって接続されているサーバの記憶手段に第2制御プログラムと、ユーザの個人情報、制御条件からなる制御データベースが記憶されていて、
前記電子計算機が前記キー入力を前記サーバへ送信する送信手段を有し、
前記第2制御プログラムは、
前記送信手段によって送信された送信データを取得する受信手段と、
前記送信データに含まれる前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第2認証手段と、
前記制御データベースを参照して、前記ユーザのアクセスできる範囲を示す前記条件を取得するデータベース参照手段と、
前記ユーザのアクセスを制御するために前記条件と制御命令を前記電子計算機に送信する制御条件送信手段として前記サーバを機能させるためのプログラムである
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラム。 - 記憶装置を含む複数のデバイスが接続され、OSによって制御されている電子計算機の入力装置又はアプリケーションプログラムから、前記電子計算機のファイルシステムの特定ファイルへアクセスするとき、要求されるアクセス命令を制御する手段として前記電子計算機を機能させる制御プログラムの記録媒体において、
前記OSは、前記ファイルシステムを制御するためのファイルシステムドライバを備え、
前記制御プログラムは、前記OSの全ての命令が実行できる動作モードであるカーネルモードで動作し、前記複数のデバイスそれぞれを制御するためのデバイスドライバからなるデバイスドライバ層と前記OSが前記カーネルモードで提供する基本プログラムとの間に位置し、
(I)前記デバイスドライバの共通の窓口となるともに、前記基本プログラムを通して行われる前記デバイスドライバと前記アプリケーションプログラムとのやり取りをまとめて行ない、(II)前記アプリケーションプログラムから要求されたときに、前記複数のデバイスの間、又は、前記アプリケーションプログラムと前記デバイスの間のデータの送受信を行ない、(III)前記アプリケーションプログラムから前記電子計算機の前記記憶装置に記憶されている前記特定ファイルへアクセスしようとするとき、前記OSが標準で備えているインターフェースを通して、前記アプリケーションプログラムから出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置とのデータのやりとりを経由する共通インターフェース手段として前記電子計算機を機能させるプログラムであり、
前記共通インターフェース手段は、
前記アクセス命令を受信するアプリケーションインターフェース手段と、
前記アクセス命令を前記アプリケーションインターフェース手段から受信し、前記命令を分析し、前記特定ファイル及び前記アクセスの仕方を示すアクセス方法を取得し、前記特定ファイルと前記アクセス方法を後記データ処理手段に渡して、データの流れを制御するフロー制御手段と、
前記ファイルシステムのファイル名欄、及び1つ以上のアクセス方法欄からなるアクセス制御データベースを参照し、参照結果を出力する参照手段と、
(1)前記フロー制御手段から前記特定ファイルのファイル名および前記アクセス命令を受信し、(2)前記特定ファイルの前記ファイル名および前記アクセス命令に関する情報を前記参照手段に渡し、(3)前記アクセス命令に対する前記参照結果を前記参照手段から受信し、(4)前記参照結果が正常か異常かの判定を行い、(5)前記判定の結果が異常となるとき、前記アクセス命令を破棄し、(6)前記判定の結果が正常となるとき、前記アクセス命令を後記ファイルシステム監視ドライバ手段に渡すデータ処理手段と、
(a)前記データ処理手段から前記アクセス命令を受信して、(b)前記アクセス命令を前記ファイルシステムドライバに渡し、(c)前記ファイルシステムドライバから前記アクセス命令の実行結果を受け取り、(d)前記実行結果を前記フロー制御手段に渡す前記ファイルシステム監視ドライバ手段からなり、
前記フロー制御手段は、前記実行結果を前記インターフェース手段に渡し、
前記インターフェース手段は、前記実行結果を前記入力装置又は前記アプリケーションプログラムへ渡す
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項11において、
前記参照手段は、前記アクセス命令に対応する変更を前記アクセス制御データベースに書き込む
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項11において、
前記特定ファイルに対する前記アクセス方法欄の値が所定の値のとき、前記データ処理手段の前記判定は前記異常の結果を出力する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項13において、
前記アクセス方法欄は、ファイルを作成する、ファイルを開く、ファイルを閉じる、ファイルを読み出す、ファイルを書き込む、ファイルのアクセス期間、及びファイルのアクセス時間帯、の欄の内少なくとも1つ以上の欄からなり、
前記欄の値は整数、記号、及び単語から選択される1以上からなる
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項14において、
前記参照手段は、前記アクセス方法欄の前記値を確認し、前記値が「0」になった場合、前記データ処理手段に通知し、
前記データ処理手段は、前記通知を受信して、前記ファイルシステム監視ドライバ手段に前記値が「0」になった前記特定ファイルを削除するようにファイル削除命令を出力し、
前記ファイルシステム監視ドライバ手段は、前記ファイルシステムドライバに前記ファイル削除命令を送信して、前記値が「0」になった前記特定ファイルを削除する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項11において、
前記電子計算機の前記入力装置から入力される入力データを受信する入力手段を有し、
前記データ処理手段は、
前記入力装置の機能の全部又は一部を停止させる機能を有し
前記入力手段からの前記入力データを受信し、分析し、
前記入力データの内の特定のデータを前記アプリケーションインターフェース手段に提供する
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項16において、
前記入力手段はキーボードであり、
前記機能の停止は、前記キーボードの特定のキーからの入力データを停止させる
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項16において、
前記入力手段はマウスであり、
前記機能の停止は、前記マウスから入力される特定データを停止させる
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項11において、
前記電子計算機の記憶手段には、前記電子計算機を利用するユーザを個人認証するための個人認証プログラムが格納されていて、
前記個人認証プログラムは、
前記入力装置であるキーボードのキーから入力するキー入力を取得する取得手段と、
前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第1認証手段と、
前記アクセス制御データベースを参照して、前記ユーザの前記アクセスできる範囲を示す前記条件を取得する取得手段と、
前記ユーザの前記アクセスを制御するために前記条件を前記フロー制御手段に送信する制御手段として前記電子計算機を機能させるためのプログラムである
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。 - 請求項19において、
前記電子計算機とネットワークによって接続されているサーバの記憶手段に第2制御プログラムと、ユーザの個人情報、制御条件からなる制御データベースが記憶されていて、
前記電子計算機が前記キー入力を前記サーバへ送信する送信手段を有し、
前記第2制御プログラムは、
前記送信手段によって送信された送信データを取得する受信手段と、
前記送信データに含まれる前記キー入力の入力特徴を用いて前記個人認証を行って前記ユーザを特定する第2認証手段と、
前記制御データベースを参照して、前記ユーザのアクセスできる範囲を示す前記条件を取得するデータベース参照手段と、
前記ユーザのアクセスを制御するために前記条件と制御命令を前記電子計算機に送信する制御条件送信手段として前記サーバを機能させるためのプログラムである
ことを特徴とする電子計算機のファイルシステムドライバの制御プログラムが記録されている記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002050778 | 2002-02-27 | ||
JP2002050778 | 2002-02-27 | ||
PCT/JP2003/002209 WO2003073289A1 (en) | 2002-02-27 | 2003-02-27 | Computer file system driver control method, program thereof, and program recording medium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008006333A Division JP4350150B2 (ja) | 2002-02-27 | 2008-01-15 | 電子計算機のファイルシステムドライバの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003073289A1 JPWO2003073289A1 (ja) | 2005-06-23 |
JP4257909B2 true JP4257909B2 (ja) | 2009-04-30 |
Family
ID=27764288
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003571915A Expired - Fee Related JP4257909B2 (ja) | 2002-02-27 | 2003-02-27 | 電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体 |
JP2008006333A Expired - Lifetime JP4350150B2 (ja) | 2002-02-27 | 2008-01-15 | 電子計算機のファイルシステムドライバの制御方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008006333A Expired - Lifetime JP4350150B2 (ja) | 2002-02-27 | 2008-01-15 | 電子計算機のファイルシステムドライバの制御方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7624135B2 (ja) |
EP (1) | EP1489516B1 (ja) |
JP (2) | JP4257909B2 (ja) |
KR (1) | KR100991895B1 (ja) |
CN (1) | CN100444128C (ja) |
AU (1) | AU2003211375A1 (ja) |
WO (1) | WO2003073289A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1623339A2 (en) * | 2003-05-01 | 2006-02-08 | Axonwave Software Inc. | A method and system for concept generation and management |
US20070276823A1 (en) * | 2003-05-22 | 2007-11-29 | Bruce Borden | Data management systems and methods for distributed data storage and management using content signatures |
US9678967B2 (en) * | 2003-05-22 | 2017-06-13 | Callahan Cellular L.L.C. | Information source agent systems and methods for distributed data storage and management using content signatures |
EP2284749B1 (en) * | 2004-04-26 | 2015-06-03 | Sap Se | Method, computer program and device for executing actions using data sets |
WO2006004130A1 (ja) * | 2004-07-05 | 2006-01-12 | Science Park Corporation | データ管理方法、そのプログラム及びプログラムの記録媒体 |
US7428642B2 (en) * | 2004-10-15 | 2008-09-23 | Hitachi, Ltd. | Method and apparatus for data storage |
CA2486103A1 (en) * | 2004-10-26 | 2006-04-26 | Platespin Ltd. | System and method for autonomic optimization of physical and virtual resource use in a data center |
US7721298B2 (en) * | 2004-12-03 | 2010-05-18 | Microsoft Corporation | Operating system performance |
US20060173803A1 (en) * | 2005-01-28 | 2006-08-03 | Morris Robert P | Method and system for associating specific files with different applications |
WO2006129676A1 (ja) * | 2005-05-31 | 2006-12-07 | Science Park Corporation | 監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体 |
US7464341B2 (en) * | 2005-06-30 | 2008-12-09 | International Business Machines Corporation | Canceling window close commands |
JP2007065825A (ja) * | 2005-08-30 | 2007-03-15 | Tsubasa System Co Ltd | ドライブ装置のアクセス制御システム |
US7523467B1 (en) * | 2005-09-16 | 2009-04-21 | Nvidia Corporation | Virtual processing chains |
US7523468B1 (en) * | 2005-09-16 | 2009-04-21 | Nvidia Corporation | Virtual processing chains |
US8656487B2 (en) * | 2005-09-23 | 2014-02-18 | Intel Corporation | System and method for filtering write requests to selected output ports |
US8898802B2 (en) * | 2005-10-24 | 2014-11-25 | Science Park Corporation | Electronic computer data management method, program, and recording medium |
US7587570B2 (en) * | 2006-05-31 | 2009-09-08 | International Business Machines Corporation | System and method for providing automated storage provisioning |
JP4791909B2 (ja) * | 2006-08-21 | 2011-10-12 | 株式会社東芝 | 高速入出力機能を備える制御装置、及びその制御データの制御方法 |
JP5140978B2 (ja) * | 2006-09-26 | 2013-02-13 | カシオ計算機株式会社 | クライアント装置およびプログラム |
JP2008090491A (ja) * | 2006-09-29 | 2008-04-17 | Brother Ind Ltd | Ftp通信システム |
JP4653150B2 (ja) * | 2007-10-11 | 2011-03-16 | Sky株式会社 | ファイル制御システム |
ES2384078T3 (es) * | 2008-05-07 | 2012-06-29 | Telefonaktiebolaget L M Ericsson (Publ) | Sistema para entrega de un contenido que ha de ser reproducido de manera autónoma |
US8732417B1 (en) * | 2008-10-15 | 2014-05-20 | Symantec Corporation | Techniques for creating snapshots of a target system |
US9270748B2 (en) | 2008-12-18 | 2016-02-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method for content delivery involving a policy database |
JP5399094B2 (ja) * | 2009-02-25 | 2014-01-29 | 株式会社日立情報通信エンジニアリング | 補助記憶装置用フィルタドライバ手段を備えた電子計算機、補助記憶装置用フィルタドライバプログラム、及び、補助記憶装置用フィルタドライバプログラムの記録媒体 |
US9330274B2 (en) * | 2009-03-13 | 2016-05-03 | Symantec Corporation | Methods and systems for applying parental-control policies to media files |
JP5623712B2 (ja) * | 2009-06-15 | 2014-11-12 | キヤノン電子株式会社 | 情報処理装置、情報処理システム、制御方法、プログラム、及び記憶媒体 |
CN101841527A (zh) * | 2010-03-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 网络通讯装置及方法 |
US9064111B2 (en) * | 2011-08-03 | 2015-06-23 | Samsung Electronics Co., Ltd. | Sandboxing technology for webruntime system |
US9244909B2 (en) * | 2012-12-10 | 2016-01-26 | General Electric Company | System and method for extracting ontological information from a body of text |
US9424267B2 (en) * | 2013-01-02 | 2016-08-23 | Oracle International Corporation | Compression and deduplication layered driver |
JP6183034B2 (ja) * | 2013-07-30 | 2017-08-23 | 富士通株式会社 | アクセス制御プログラム、アクセス制御方法およびシステム |
CN106660153A (zh) * | 2014-07-21 | 2017-05-10 | 阿尔法装配解决方案公司 | 用于焊接的低温高可靠性锡合金 |
RU2638735C2 (ru) * | 2016-04-25 | 2017-12-15 | Акционерное общество "Лаборатория Касперского" | Система и способ оптимизации антивирусной проверки неактивных операционных систем |
RU2639666C2 (ru) * | 2016-04-25 | 2017-12-21 | Акционерное общество "Лаборатория Касперского" | Удаление следов вредоносной активности из операционной системы, которая в настоящий момент не загружена на компьютерном устройстве |
US20180096130A1 (en) * | 2016-09-30 | 2018-04-05 | Salesforce.Com, Inc. | Associating multiple e-learning development environments with a single user |
US20230138967A1 (en) * | 2021-10-29 | 2023-05-04 | Blackberry Limited | Thread scheduling |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4740890A (en) * | 1983-12-22 | 1988-04-26 | Software Concepts, Inc. | Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media |
DE69027961T2 (de) * | 1989-09-06 | 1997-01-09 | Takeda Chemical Industries Ltd | Protein, DNA und ihre Verwendung |
JPH0696304A (ja) * | 1992-09-14 | 1994-04-08 | Toshiba Corp | メモリカード |
JPH06187213A (ja) * | 1992-12-17 | 1994-07-08 | Fuji Xerox Co Ltd | ファイルアクセス履歴管理方式 |
JP3335801B2 (ja) * | 1995-07-05 | 2002-10-21 | 株式会社日立製作所 | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 |
JPH09150566A (ja) * | 1995-11-30 | 1997-06-10 | Toshiba Corp | 情報処理方法および情報処理装置 |
JPH10187317A (ja) * | 1996-12-26 | 1998-07-14 | Toshiba Corp | コンピュータシステム及び同システムに適用するキーボード制御装置 |
AU8921698A (en) * | 1997-08-29 | 1999-03-16 | Human Genome Sciences, Inc. | Follistatin-3 |
US6249866B1 (en) * | 1997-09-16 | 2001-06-19 | Microsoft Corporation | Encrypting file system and method |
JPH11296423A (ja) * | 1998-04-06 | 1999-10-29 | Matsushita Electric Ind Co Ltd | ファイル管理システム、ファイル管理装置および媒体 |
JP2000305654A (ja) * | 1999-04-15 | 2000-11-02 | Kazunari Men | キーボードの入力特徴を用いた個人認証 |
JP2001084049A (ja) * | 1999-09-09 | 2001-03-30 | Canon Inc | コンピュータ及びコンピュータのセキュリティ方法 |
AU7735600A (en) * | 1999-10-01 | 2001-05-10 | Infraworks Corporation | Port blocking method and system |
JP2001175524A (ja) | 1999-12-17 | 2001-06-29 | Sony Corp | 情報処理装置および方法、並びにプログラム格納媒体 |
KR20020001046A (ko) * | 2000-06-24 | 2002-01-09 | 문성수 | 드라이버 등록 시스템 |
JP2002229991A (ja) * | 2001-01-31 | 2002-08-16 | Fujitsu Ltd | サーバ,ユーザ端末,情報提供サービスシステムおよび情報提供サービス方法 |
US7003670B2 (en) * | 2001-06-08 | 2006-02-21 | Musicrypt, Inc. | Biometric rights management system |
US7962950B2 (en) * | 2001-06-29 | 2011-06-14 | Hewlett-Packard Development Company, L.P. | System and method for file system mandatory access control |
-
2003
- 2003-02-27 AU AU2003211375A patent/AU2003211375A1/en not_active Abandoned
- 2003-02-27 WO PCT/JP2003/002209 patent/WO2003073289A1/ja active Application Filing
- 2003-02-27 KR KR1020047006909A patent/KR100991895B1/ko active IP Right Grant
- 2003-02-27 EP EP03743045.1A patent/EP1489516B1/en not_active Expired - Lifetime
- 2003-02-27 CN CNB038024950A patent/CN100444128C/zh not_active Expired - Lifetime
- 2003-02-27 US US10/505,751 patent/US7624135B2/en active Active
- 2003-02-27 JP JP2003571915A patent/JP4257909B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-15 JP JP2008006333A patent/JP4350150B2/ja not_active Expired - Lifetime
-
2009
- 2009-07-09 US US12/500,056 patent/US8150897B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU2003211375A1 (en) | 2003-09-09 |
EP1489516A1 (en) | 2004-12-22 |
US7624135B2 (en) | 2009-11-24 |
CN1620647A (zh) | 2005-05-25 |
JP2008171433A (ja) | 2008-07-24 |
KR20040088461A (ko) | 2004-10-16 |
EP1489516A4 (en) | 2010-06-09 |
WO2003073289A1 (en) | 2003-09-04 |
CN100444128C (zh) | 2008-12-17 |
US20050120359A1 (en) | 2005-06-02 |
US20100030782A1 (en) | 2010-02-04 |
JPWO2003073289A1 (ja) | 2005-06-23 |
JP4350150B2 (ja) | 2009-10-21 |
EP1489516B1 (en) | 2019-10-02 |
KR100991895B1 (ko) | 2010-11-04 |
US8150897B2 (en) | 2012-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4257909B2 (ja) | 電子計算機のファイルシステムドライバの制御プログラム及びプログラムの記録媒体 | |
JP4167300B2 (ja) | データ処理方法および装置 | |
CN1773417B (zh) | 聚集反病毒软件应用程序的知识库的系统和方法 | |
CN101894225B (zh) | 聚集反病毒软件应用程序的知识库的系统和方法 | |
Gray et al. | D’Agents: Security in a multiple-language, mobile-agent system | |
US9053302B2 (en) | Obligation system for enterprise environments | |
JP3976201B2 (ja) | ネットワークによる入力装置の入力特徴を用いた個人認証方法、そのプログラム及びプログラムの記録媒体 | |
US6941472B2 (en) | System and method for maintaining security in a distributed computer network | |
US7167982B2 (en) | Securing decrypted files in a shared environment | |
US6044378A (en) | Method and system for a federated digital library by managing links | |
EP1166211A1 (en) | Network vaults | |
JP3976738B2 (ja) | 機密文書管理装置、機密文書管理方法および機密文書管理プログラム | |
JPWO2003069491A1 (ja) | 電子計算機の入力装置の入力特徴を用いた個人認証方法、そのプログラム及びプログラムの記録媒体 | |
Walker | The advent of trusted computer operating systems | |
US20240037213A1 (en) | Implementing multi-party authorizations to thwart a ransomware attack | |
JP2002149494A (ja) | アクセス制御方法およびアクセス制御装置および記録媒体 | |
CN114626084A (zh) | 用于控制对数据的访问的安全智能容器 | |
Bishop et al. | Goal-oriented auditing and logging | |
JP2005332049A (ja) | ポリシ変換方法、ポリシ移行方法およびポリシ評価方法 | |
Benantar et al. | Access control systems: From host-centric to network-centric computing | |
JP4371995B2 (ja) | 共有ファイルのアクセス制御方法、システム、サーバ装置、及びプログラム | |
US20240037212A1 (en) | Implementing multi-party authorizations within an identity and access management regime | |
KR20020060517A (ko) | 프로세스 아이디와 저장공간 아이디를 이용한 문서 파일보안 방법 | |
JP2013025495A (ja) | 動的アイコンオーバーレイシステムおよび動的オーバーレイを作成する方法 | |
Molini | The New Frontier: Client/Server and Agent Technology—Part 2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080704 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081118 |
|
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: 20090202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4257909 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140213 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |