JP2004318720A - アクセス制限方法およびアクセス制限プログラム - Google Patents
アクセス制限方法およびアクセス制限プログラム Download PDFInfo
- Publication number
- JP2004318720A JP2004318720A JP2003114690A JP2003114690A JP2004318720A JP 2004318720 A JP2004318720 A JP 2004318720A JP 2003114690 A JP2003114690 A JP 2003114690A JP 2003114690 A JP2003114690 A JP 2003114690A JP 2004318720 A JP2004318720 A JP 2004318720A
- Authority
- JP
- Japan
- Prior art keywords
- access
- access restriction
- instruction
- input
- command
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】不正なデータの持ち出し並びにインストールを制限し得る命令制限方法及びプログラムを提供すること。
【解決手段】オペレーティングシステム1を実装し、入出力インターフェイスを備えたコンピュータシステムにおいて、前記コンピュータシステムに接続されたストレージデバイスへのアクセスを制限する方法であって、前記オペレーティングシステム1の入出力制御部31が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバ32に対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングする。
【選択図】 図2
【解決手段】オペレーティングシステム1を実装し、入出力インターフェイスを備えたコンピュータシステムにおいて、前記コンピュータシステムに接続されたストレージデバイスへのアクセスを制限する方法であって、前記オペレーティングシステム1の入出力制御部31が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバ32に対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングする。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、オペレーティングシステムを実装し、ストレージデバイスを備えたコンピュータシステムにおいて、当該オペレーティングシステムの発行する命令を制限する方法、及びプログラムに関するものである。
【0002】
【従来の技術】
現在、パーソナルコンピュータ(PC)やワークステーション(WS)、サーバ等のコンピュータシステムは幅広く利用されており、企業、研究機関、学校、公的機関、官公庁等においても業務の大部分は複数のコンピュータシステムによって実現されている状況である。
【0003】
このような場面で利用されるコンピュータシステムにおいては、社員、顧客、学生等の個人情報や、経営情報、会計情報、新製品情報、技術情報等のデータを管理保存しているため、このようなデータが漏洩することを防止する必要がある。さらに、近時において運用の開始された住民基本台帳ネットワーク(住基ネット)では、全国民/住民にユニークな識別番号を付与して一元管理し、住民票発行や個人認証のために使用することが計画されており、電子政府の実現も目前となっているが、このような場面で使用されるコンピュータシステムにおいては一層厳密な情報漏洩対策を採る必要がある。
【0004】
ここで、通常のコンピュータシステムには、ハードディスクドライブのような大容量の2次記憶装置だけでなく、さらにフロッピーディスクドライブ、CD−R/RWドライブや書き込み型DVDドライブのような外部記憶装置が標準で搭載されている場合が多い。さらに、昨今のコンピュータシステムにはUSBポートを備えたものも増えているが、このようなUSBポートに接続することでデータを書き込み可能なUSBメモリモジュール等の外部記憶装置も一般的になってきている。
【0005】
このため、通常のコンピュータシステムでは、業務担当者や侵入者が、ハードディスクに格納されたデータを、外部記憶装置を使用してコピーし、外部に持ち出すこと(以下、「不正なデータ持ち出し」という)が容易に可能である。かかる不正なデータ持ち出しは近時において頻発するようになってきており、これを低コストで確実に防止することが一つの課題となっている。
【0006】
また、上記の課題に加えて、システム管理者の意図しないデータが外部記憶装置から読み出されると、システム管理者の把握していないソフトウェアがインストールされてコンピュータシステムの管理を煩雑にするばかりでなく、ウィルスやトロイの木馬の進入を許すことにも繋がるので、CD−ROMドライブのような読み出し専用のものを含めて外部記憶装置からデータの読み出しを禁止したいという要請もある。
【0007】
上述のような不正なデータの持ち出しや、データの読み出しを防止するために、種々の提案がなされている。例えば、コンピュータシステムに搭載されたオペレーティングシステムによっては、1台のマシンに複数のユーザーまたはユーザーグループを設定し、そのユーザー/ユーザーグループ毎に各デバイスのそれぞれについてのアクセス可否を登録するサービスを提供可能となっている。このようなサービスによれば、コンピュータシステムのメンテナンス・保守等を行うシステム管理者と、コンピュータシステムを使用して業務を行う業務担当者とをユーザー登録し、システム管理者については外部記憶装置を含む全デバイスへのアクセスを可能に設定し、業務担当者については外部記憶装置へのアクセスおよび外部記憶装置の追加を禁止した設定とすることにより、業務担当者または侵入者による不正なデータの持ち出しおよびデータの読み出しを防止することができる。
【0008】
ところが、オペレーティングシステムがこのような機能を有していても、メンテナンス等の作業を補助するために、システム管理者のIDおよびパスワードが業務担当者に知らされていることが多い。これは、業務担当者がメンテナンス等の作業を一切行わないと、スムースなメンテナンス作業が困難となり、また、システム管理者の負担が極めて重くなってしまうためである。そのような場合には、実際には業務担当者であってもシステム管理者としてコンピュータシステムにログインすることが可能であり、オペレーティングシステムにかかる機能を搭載しても、悪意を持った業務担当者による不正なデータの持ち出しを防止することはできないのである。また、このような機能は、例えばユーザーの実行するプロセスを監視して、そのアクセスするデバイスやオブジェクトが当該ユーザーにアクセス許可されたものであるかどうかをその都度判断するという形で実装されるが、このような実装では全ての命令が監視対象となるためオーバーヘッドが高く、システム側に負担が大きいという問題もある。
【0009】
また、アクセス制限機構を備えさせることにより、前記データの持ち出し並びにインストールを防止する外部記憶装置も提案されている。このような外部記憶装置は、データが格納された記憶部に加えて、記憶部に対するアクセスの認証を行うための認証機構をアクセス制限機構として有している。この認証機構にはユーザーIDとそれに対応したパスワードとを備えたテーブルが記憶されており、ユーザーIDとパスワードとの入力によってアクセスの認証を行うことによって不正なデータの持ち出しを制限するものである。なお、記憶部は固定的に設けられている場合もあるし、リムーバブルディスクのように取り出し可能な記憶媒体を記憶部として使用する場合もある。
【0010】
さらに、同様に記憶装置へのアクセスを制限するという観点からは、特開2002−259214号公報(特許文献1参照)に記載の記憶システムも提案されている。この公報に記載の記憶システムは、データが格納される記憶部と、複数のコンピュータ又はネットワークと接続するための複数のポートとを有し、さらに認証機構をアクセス制限機構として有している。この記憶システムはポートを介して記憶部に対するアクセス命令を受け取り、アクセス命令が認証機構により認証されたコンピュータ又はネットワークから送信された場合のみ、記憶部に対するアクセスを認める。このため、この記憶システムは認証機構を設定するのみで、複数のコンピュータ又はネットワークに対するアクセス制限を可能にする。
【0011】
しかしながら、コンピュータシステムが有する外部記憶装置の全てを上述のようにアクセス制限機構を備えた装置に置き換えることはコスト的に困難であるし、また、外部からUSBメモリモジュール等を持ち込まれた場合には対処できないため、上述のように外部記憶装置にアクセス制限機能を設ける技術では不正なデータ持ち出しを防止することはできない。
【0012】
【特許文献1】
特開2002−259214号公報
【0013】
【発明が解決しようとする課題】
上記課題を鑑みて、本発明の目的は、不正なデータの持ち出しやデータの読み込みを制限することができるアクセス制限方法およびプログラムを提供することである。
【0014】
【課題を解決するための手段】
上記課題を解決するために、本発明の第1の観点は、オペレーティングシステムを実装し、入出力インターフェイスを備えたコンピュータシステムにおいて、前記コンピュータシステムに接続されたストレージデバイスへのアクセスを制限する方法であって、
前記オペレーティングシステムの入出力制御部が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバに対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングすることを特徴とするアクセス制限方法を提供する。
【0015】
上記本発明の第1の観点によれば、前記オペレーティングシステムの入出力制御部が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバに対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングするので、コンピュータシステムのストレージデバイスに対するアクセスを制限することができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。
【0016】
上記構成においては、前記コンピュータシステムにハードウェアキーが接続されているか否かを判断し、正しいハードウェアキーが接続されていない場合には読み込み命令および書き込み命令の少なくとも一方をフィルタリングし、正しいハードウェアキーが接続されている場合には読み込み命令および書き込み命令の少なくとも一方の実行を許可することが好適である。このような構成において、システム管理者等が必要と認めた場合にのみハードウェアキーを貸し与えるようにすれば、不正なデータ持ち出しやデータの読み込みを極めて効果的に防止することが可能となる。
【0017】
本発明は、前記コンピュータシステムに着脱自在なストレージデバイスや、交換可能な記録媒体にデータを記録する形式のストレージデバイスのように、不正なデータの持ち出しや不正なデータ読み込みに利用されやすいストレージデバイスへのアクセス制限に適用することが好適である。
【0018】
また、本発明の第2の観点は、オペレーティングシステムを実装したコンピュータに、オペレーティングシステムの入出力制御部がデバイスドライバに対して発行した命令のうち、特定のデバイスドライバに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングする処理を実行させることを特徴とするアクセス制限プログラムを提供する。
【0019】
このような構成によれば、オペレーティングシステムの入出力制御部がデバイスドライバに対して発行した命令のうち、特定のデバイスに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングする処理を実行させるので、コンピュータから特定のデバイスに対するデータ書き込み及びデータ読み込み命令の少なくとも一方をフィルタリングすることができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。逆に、特定のデバイスへのデータ書き込み/データ読み込み命令だけを許可し、他の命令をフィルタリングするようにしても同様の効果を得ることができる。
【0020】
上記本発明の第2の観点において、前記アクセス制限プログラムは、階層的なドライバ構造の一階層をなすことが好適である。
【0021】
また、上記本発明の第2の観点において、前記アクセス制限プログラムは、パスワードによる認証機構を有していることが好適である。上記パスワードは、前記デバイスドライバに対応したデバイスに格納されることがさらに好適である。
【0022】
また、上記本発明の第2の観点において、前記アクセス制限プログラムは、前記デバイスドライバに対応したデバイスに対するアクセスのログを記録することが好適である。
【0023】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【0024】
(構成)
まず、本発明の一例としての実施の形態のアクセス制限プログラムについて図1並びに図2を用いて説明する。図1は、本実施形態のアクセス制限プログラムがインストールされるコンピュータシステム50を示す概略図である。図2は、図1のコンピュータシステム50にインストールされているOS(オペレーティングシステム)の構成を示す概略図である。
【0025】
図1に示すように、このコンピュータシステム50は、主として、CPU51と、CPU51に接続され、種々のLSIチップを内蔵したコントローラ部52と、コントローラ部52に接続された主記憶装置(メインメモリ)であるRAM53、IDEインターフェイス55、USBインターフェイス58、PCIバス61およびAGPバス64とが筐体67に収容された構成となっている。
【0026】
このコンピュータシステム50には、種々のデバイスを含むハードウェア6(図2参照)が接続されている。本実施の形態において、ハードウェア6は、図1中に示すように、ハードディスクドライブ(HDD)56、CD−Recordableドライブ(CD−R)57、キーボード59、マウス60、モニタ66、及びフロッピーディスクドライブ(FDD)54を含んでいる。なお、コンピュータシステム50に接続されるハードウェア6は、上記に限定されない。上記ハードウェア6は、具体的には、以下ようにして、コンピュータシステム50に接続されている。例えば、図1中に示されるように、IDEインターフェイス55には、ハードディスクドライブ(HDD)56およびCD−R57が接続され、USBインターフェイス58にはいずれも筐体67外のキーボード59およびマウス60が接続され、PCIバス61にはSCSIカード62およびネットワークインターフェースカード(NIC)63が接続され、AGPバス64にはグラフィックボード65を介して筐体67外のモニタ66が接続されている。さらに、コントローラ部52は不図示のFDDコントローラを内蔵しており、これにFDD54が接続されている。
【0027】
CPU51としては、例えば、ユーザーモードおよびスーパーバイザーモード等に代表される2つ以上の保護モードないし特権モードによりプログラムを動作させるものを好適に利用することができる。ここで、ユーザーモードとは、プログラムの動作を制限した状態で実行させるモードである。また、スーパーバイザーモードとは、制限なくプログラムを実行させることの可能なモードである。ただし、CPU51がこれらのモードで動作可能なことは必須ではない。
【0028】
以下、図2を参照して、本実施形態におけるコンピュータシステム50のソフトウェア構成について説明する。図2では、コンピュータシステム50を使用するユーザー10を上層側に、コンピュータシステム50のハードウェア6を下層側にそれぞれ示している。このコンピュータシステム50は、主として、OS1と、OS1上にインストールされたアプリケーションソフト11とを、ソフトウェア的な構成要素として有している。ただし、アプリケーションソフト11は必須ではなく、OS1のみを有する構成としても構わない。
【0029】
OS1は、図2に示すように、上層側(ユーザー10側)をなすユーザー領域20と、下層側(ハードウェア6側)をなすカーネル領域30とを有している。より詳細には、OS1は、上層側からユーザーインターフェイス21、API提供部22、入出力制御部31およびデバイスドライバ32を階層的に備えている。さらに、本実施形態においては、以上のように構成されたOS1の入出力制御部31とデバイスドライバ32との間に、別途インストールされたアクセス制限プログラム40が介在している。
【0030】
以下、OS1の構成をより詳細に説明する。まず、ユーザー領域20の構成について説明する。
ユーザーインターフェイス21は、その一部をユーザー10が直接的に利用可能となっており、また、ユーザー10がアプリケーションソフト11を介して間接的に利用するものもある。
【0031】
API提供部22は、アプリケーションソフト11およびユーザーインターフェイス21にAPI(Application Programming Interface)を提供するものであり、より具体的にはWin32サブシステム、OS/2サブシステム、POSIXサブシステムといったアプリケーション環境や、ユーザーライブラリ等を用いることができる。アプリケーションソフト11は、直接的に、またはユーザーインターフェイス21を介して間接的に、API提供部22の提供するAPIを利用して、ユーザー10に種々の機能を提供する。
【0032】
次に、カーネル領域30について説明する。
入出力制御部31は、API提供部22の下層に位置しており、API提供部22からコンピュータシステム50のハードウェア6に含まれる各デバイスへの命令を受けて、命令発行先であるデバイスのデバイスドライバ32に対して種々の命令を発行する。本実施形態では、デバイスドライバ32に対して発行される命令のうち、デバイスにデータを書き込む命令を書き込み命令といい、デバイスからデータを読み出す命令を読み込み命令という。
【0033】
デバイスドライバ32は、入出力制御部31からの命令を受けて、特定のデバイスにその動作を制御する命令を発行する。デバイスドライバ32は、ハードウェア6に含まれる特定のデバイスと直接データを送受信し、対応するデバイスの動作を制御する。そのため、デバイスドライバ32は、操作対象であるデバイス毎に提供されており、デバイスの制御部に搭載されたコントローラチップに固有のものである。たとえば、コンピュータシステム50がCD−R57を制御する場合、CD−R57のコントローラに対応したドライバが必要になる。ハードウェア6をなす個々のデバイスは、入出力制御部31およびデバイスドライバ32を介してのみOS1のAPI提供部22からアクセスされ得る。したがって、OS1のカーネル領域30より上層に実装されたプログラムは、必ず入出力制御部31を介して個々のデバイスにアクセスする。つまり、入出力制御部31とデバイスドライバ32とは、協働して、コンピュータシステム50に接続されている現実のデバイスを、抽象化した仮想マシンとしてOS1に提供する。
【0034】
デバイスドライバ32の構成は、モノリシックでもよいし、ユニバーサルドライバおよびミニドライバからなるユニバーサルドライバアーキテクチャでもよく、さらにはクラスドライバとポートドライバとミニポートドライバとを含んだ階層的な構成のWDM(Windows Driver Model)を採用しても構わない。デバイスドライバ32は、例えば、モノリシックドライバとした場合には個々のデバイスのそれぞれに対応した複数のドライバから構成される。また、ユニバーサルドライバアーキテクチャを採用した場合には個々のデバイスに対応したミニドライバと、デバイスのグループ毎の共通部分に対応したユニバーサルドライバとから構成される。さらに、WDMの場合には、ファイルI/Oの処理を行うファイルシステムドライバと、デバイスが接続されるインターフェイス毎に設けられたUSBクラスドライバ等のクラスドライバと、個々のデバイスに対応して設けられたFDDドライバ・HDDドライバ・CD−ROMドライバ等のポートドライバ(さらにミニドライバを含んでもよい)等の複数のレイヤーを備えるように構成される。
【0035】
上述したような構成のカーネル領域30において、本実施形態では入出力制御部31とデバイスドライバ32との間に、アクセス制限プログラム40が挿入されている。このアクセス制限プログラム40は、入出力制御部31がデバイスドライバ32に対して発行した命令のうち、ストレージデバイスに対して発行された読み込み命令および/または書き込み命令をフィルタリングする処理を行う。
【0036】
以下、アクセス制限プログラム40について図3を参照して説明する。図3は、アクセス制限プログラム40の機能ブロックを示す概略図である。このアクセス制限プログラム40は、命令取得部41と、アクセスコントロール情報記憶部42と、命令判別部43とを具備している。なお、このうちアクセスコントロール情報記憶部42はアクセス制限プログラム40の外部に設け、必要に応じて呼び出す構成としてもよいが、その場合にはアクセスコントロール情報記憶部42が書き換えられないようにする必要がある。
【0037】
命令取得部41は、入出力制御部31から出力された命令を取得する機能を有している。
アクセスコントロール情報記憶部42は、上記フィルタリングを行う際の条件の情報が記憶されている。具体的には、本実施の形態において、アクセスコントロール情報記憶部42は、上記条件の情報として、アクセスを制限するデバイス(またはインターフェイス)と、当該デバイスに設定するアクセス制限の内容とを関連付けて記述したテーブルを記憶している(図4(a)参照)。上記アクセス制限の内容は、対応するデバイスに対する命令の種類である。上記命令の種類は、読み込み命令(read)および/または書き込み命令(write)である。
【0038】
命令判別部43は、命令取得部の取得した命令を、アクセスコントロール情報記憶部42中の情報に基づいて命令発行先のデバイスに通過させるかフィルタリングを行うフィルタリング手段である。なお、本明細書中において、用語「フィルタリング」とは、取得した命令が所定の条件に対して一致するか否かを判断し、前記判断に応じて、上記命令の通過を遮断する処理のことを指す。言い換えると、用語「フィルタリング」は、上記判断に応じて、命令発行先のデバイスに命令の発行を中断させる処理のことである。
【0039】
本実施の形態において、命令判別部43は、図4(a)により示されるテーブルを基に上記判断を行う。より具体的には、命令判別部43は、取得した命令において、発行先のデバイスと種類との組み合わせが、図4(a)中のアクセスを制限するデバイス(又はインターフェイス)と命令の種類との組み合わせに一致するか判断する。なお、本明細書中において、用語「アクセス」とは、OSがデバイスに対して発行した読み込み命令および/または書き込み命令が、命令発行先のデバイスにおいて実行されることを指す。従って、命令判別部43は、取得した命令においての発行先のデバイスと種類との組み合わせが、発行先のデバイスにおいて実行の制限された組み合わせであるか判断するといえる。命令判別部43は、これらが一致すると判断した場合、取得した命令を、発行禁止の命令であると判断する。
【0040】
また、命令判別部43は、命令が発行禁止であると判断した際に、当該命令の実行を中断するとともに、当該命令をデバイスにおいて実行できないことを入出力制御部31に通知する機能を有している。さらに、命令判別部43は、発行が禁止されなかった命令(発行が許可された命令)については、そのまま命令判別部43を通過してデバイスドライバ32に発行(通過)させる機能を有している。なお、通過した命令は、入出力制御部31の命令した動作が命令発行先のデバイスにおいて実行される。このようにして、命令判別部43は入出力制御部31から出力された命令のうち、特定のデバイスに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングすることにより、当該デバイスに対するアクセスを制限する。
【0041】
例えば、アクセスコントロール情報記憶部42は、図4(a)に示したテーブルを記憶している場合、命令判別部43は、FDD54、CD−R57、USBインターフェイス58に接続されるUSBデバイス、SCSIインターフェイスカード62に接続されるSCSIデバイスに対して発行された書き込み命令をフィルタリングし、書き込み命令が実行できないことを入出力制御部31に通知する。
【0042】
(動作)
以下、図5を参照して、アクセス制限プログラム40の動作について説明する。
まず、図1に示したハードウェア構成に図2に示したソフトウェア構成を実装したコンピュータシステム50において、アクセス制限プログラム40のアクセスコントロール情報記憶部42に予め図4(a)に示した内容のテーブルを記憶させ、アクセスコントロール情報記憶部42中の情報に基づいてフィルタリングを行った際の動作を図5を参照して説明する。
【0043】
まず、ユーザー10が、アプリケーションソフト11からOS1のユーザーインターフェイス21を介して、所定のデバイスに対してデータを書き込む書き込み命令ないしデータを読み出す読み込み命令を入力すると、API提供部22において所定のライブラリないしシステムコールが呼び出され、これに応じて入出力制御部31が対象デバイスのデバイスドライバ32に対して書き込み命令または読み込み命令を発行する。この命令はアクセス制限プログラム40に渡されて、図5に示すステップS11乃至ステップS15の手順で処理が行われる。
【0044】
まず、アクセス制限プログラム40の命令取得部41が、入出力制御部31から発行された命令を取得する(ステップS11)。すなわち、入出力制御部31が発行した命令は、デバイスドライバ32に到達する前に、命令取得部41によって取得される。なお、デバイスドライバ32がWDMのような複数のレイヤーを含む階層型に構成されている場合には、アクセス制限プログラム40は、これらのレイヤーの1つとして、デバイスドライバ32中に介在され得る。例えば、アクセス制限プログラム40は、前述のファイルシステムドライバの上層に配置されることも可能であるし、クラスドライバの上層又は下層に配置されることも可能である。また、デバイスドライバ32は、アクセス制限プログラム40を、各レイヤー中に含むように構成されることも可能である。例えば、アクセス制限プログラム40は、各ポートドライバ又はミニドライバ中に含まれることも可能であるが、クラスドライバ中に含まれることも可能である。クラスドライバ中にアクセス制限プログラム40を含んだ場合、各デバイス毎に、アクセス制限プログラム40を設ける必要がないため好ましい。上述のように、アクセス制限プログラム40を階層型のデバイスドライバに組み込んだ場合、アクセス制限プログラム40をOSに実装することが容易である。また、デバイスドライバ32がモノリシック型の場合には、入出力制御部31及びデバイスドライバ32の少なくとも一方にフックを設けて、両者の間にアクセス制限プログラム40を介在させるようにしてもよい。
【0045】
次に、命令判別部43が、アクセスコントロール情報記憶部42中の情報に基づいて、命令取得部41の取得した命令のフィルタリングを行う。まず、命令判別部43は、取得した命令において、命令の発行先であるデバイス(またはインターフェイス)と命令の種類との組み合わせが、実行の制限された組み合わせか否かを、アクセスコントロール情報記憶部42に格納されたテーブルを参照して判断する(ステップS12)。具体的には、命令判別部43は、取得した命令が、FDD54、CD−Rドライブ57、USBインターフェイス58に接続されたUSBデバイスおよびSCSIインターフェイスカード62に接続されたSCSIデバイスに対する書き込み命令であるか判断する。
【0046】
ステップS12において実行の制限された組み合わせではないと判断された場合、取得した命令は、発行が許可された命令であると判断され、そのままデバイスドライバ32に出力される。なお、アクセス制限プログラム40が、階層化されたデバイスドライバ32中に含まれる場合、命令判別部43は、上記命令をアクセス制限プログラム40に対して下層のデバイスドライバ32の層に発行する。そして、前記命令は、発行先であるデバイスに渡される。(ステップS13)続いて、命令の発行先であるデバイスにおいて前記命令が実行される(ステップS14)。
【0047】
一方、ステップS12において取得された命令が実行の制限された組み合わせであると判断された場合には、命令判別部43は、前記命令を、発行禁止の命令であると判断し、前記命令を中断し、入出力制御部31に命令が実行できないことを通知する(ステップ15)。これに応じて入出力制御部31がエラーを発生させ、ユーザーインターフェイス21を介してユーザー10に書き込みができない旨を知らせるようにしてもよい。
以上のような手順によって、アクセス制限プログラム40は、入出力制御部31からの命令のフィルタリングを行う。即ち、アクセス制限プログラム40は、任意のデバイスに対してアクセス制限を行う。
【0048】
なお、上述のアクセスコントロール情報記憶部42には、図4(a)中に示されるような、実行を制限するデバイス並びに命令の種類との組み合わせが記憶されているが、一部のストレージデバイスについてのみアクセスを許可し、その他のストレージデバイスについてアクセスを一切禁止する場合には、アクセスコントロール情報記憶部42にアクセスを許可するデバイスの一覧を記憶させてもよい(図4(b)参照)。アクセスコントロール情報記憶部42が図4(b)に示したテーブルを記憶している場合、命令判別部43は、HDD56以外のストレージデバイスに対する読み込み命令および書き込み命令をフィルタリングして命令実行を中断するとともに、命令が実行できないことを入出力制御部31に通知する。
【0049】
また、上述した命令判別部43は、命令取得部41が取得した命令のうち、ストレージデバイスに対して発行された命令のみについて上述の処理を実行するようにしてもよい。例えば、Windows(R)ないしこれに準じたOSの場合、ストレージデバイスには所定のドライブレター(C:、A:等)が付与されるので、命令判別部43はドライブレターの付与されたデバイスに対する命令のみについて、上述の処理を実行する。また、Linux等のUNIX系のOSの場合には、命令判別部43はブロックデバイスに対する命令のみについて上述の処理を実行すればよい。
【0050】
以下に、アクセス制限プログラム40が、図4(b)中のテーブルに示された情報に基づいてストレージデバイスに対する命令をフィルタリングする場合の動作について図6を参照して説明する。本実施の形態において具体的には、アクセス制限プログラム40は、ストレージデバイスに対して発行された読み込み命令及び書き込み命令を原則として禁止しつつ、HDD56に対する命令を例外的に許可する処理を行う。この場合において、アクセス制限プログラム40は、図5中のステップS12の代わりに、図6中に示されるステップS21及びS22が行われる。
【0051】
前述の図5中に示した動作と同様に、ユーザー10が所定のデバイスに対する書き込み命令または読み込み命令をコンピュータシステム50に対して入力すると、入出力制御部31が対象デバイスのデバイスドライバ32に対して書き込み命令または読み込み命令を発行する。この命令はアクセス制限プログラム40に渡され、図5に示した場合と同様に、ステップS11が行われる。
【0052】
ステップS11が完了した後に、続いて、ステップS22が行われる。このステップS22では、命令判別部43が、取得された命令がストレージデバイスに対する命令であるか否かを判断する。ここでの判断は、例えばWindows(R)系のOSでは、前述のように命令発行先のデバイスにドライブレターが付与されているか否かに基づいて行うことができる。UNIX系のOSでは、前述のように、命令発行先のデバイスがブロックデバイスであるか否かに基づいて行うようにしてもよい。
【0053】
ステップS22でストレージデバイスに対する命令ではないと判断された場合には、続いて、図5中の動作と同様なステップS13並びにS14が行われる。
【0054】
一方、ステップS22でストレージデバイスに対する命令であると判断された場合には、次に、取得された命令が、アクセスが制限されていないデバイスに対する命令(実行の許可された命令)であるか否かを、命令判別部43がアクセスコントロール情報記憶部42の内容に基づいて判断する(ステップS22)。本実施の形態において具体的には、取得した命令が、HDD56に対する命令であるか判断する。ここで、取得された命令が実行の許可された命令であると判断された場合には、前記同様にステップS13並びにS14が行われる。
【0055】
これに対して、取得された命令が実行の許可された命令ではないと判断された場合、図5中と同様なステップS15に進み、アクセス制限プログラム40は命令を中断し、入出力制御部31に命令が実行できないことを通知する。
以上のような手順によって、アクセス制限プログラム40は、入出力制御部31からの命令のフィルタリングを行うことも可能である。
【0056】
図5並びに図6中に示されるように、アクセス制限プログラム40は、アクセスコントロール情報記憶部42に予め記憶させておいた内容に基づいて、特定のデバイスに対して発行された読み込み命令および/または書き込み命令をフィルタリングすることにより、デバイス対してアクセスする命令を制限する。このようなアクセス制限プログラム40により、記録媒体を交換可能なストレージデバイスや、コンピュータシステム50に着脱自在なストレージデバイスに対する書き込み命令をフィルタリングすることで、これらのデバイスを利用した不正なデータ持ち出しを禁止することができる。また、読み込み命令をフィルタリングすることで、これらのデバイスから不正な内容が読み込まれることを防止することができる。
【0057】
また、以上のようなアクセス制限プログラム40はカーネル領域30に実装されているため、ユーザー10から設定を変更することが困難であり、権限を持たない者により停止または削除され難い構成となっている。さらに、ハードウェア6にアクセスする命令は必ず入出力制御部31からデバイスドライバ32に発行されるので、上述のように入出力制御部31が発行する命令にアクセス制限プログラム40でフィルタリング処理を施すことにより、実行の許可されていない命令を漏らすことなくフィルタリングすることができる。カーネル領域30よりも上層に実装されたアプリケーションにおいて同様のアクセス制限を試みることは可能であるが、その場合にはユーザー10から設定の変更が可能なばかりでなく、例えば新規なプログラムをインストールすることで容易にフィルタリングの迂回が達成できてしまう不都合がある。
【0058】
さらに、本実施形態のアクセス制限方法は、入出力制御部31からデバイスドライバに発行された命令だけを対象に処理(フィルタリング)を行うものであるから、ユーザーのプロセス中で発行される全命令を監視してアクセス制限するような方法に比べて、極めて低いオーバーヘッドで実行することが可能である。
【0059】
さらにまた、本実施の形態のアクセス制限プログラム40においては、アクセスコントロール情報記憶部42等にパスワードを併せて記憶させておき、図5のステップS15に替えてパスワードの入力をユーザー10に要求するステップを設け、正しいパスワードが入力された場合には命令の実行を許可し、正しいパスワードが入力されなかった場合には入出力制御部31に命令が実行できないことを通知する構成としてもよい。これにより正しい権限を持ったユーザー10にはストレージデバイスの利用を許可しつつ、第3者によるストレージデバイスの利用を制限することが可能となる。このような場合には、パスワードをUSBドングル等のハードウェアキーに格納する構成とし、ハードウェアキーをUSBポート等に挿入することによりアクセス制限プログラム40がパスワードを認識できるような構成とすることが好ましい。パスワードをワンタイムパスワード形式とすることも、セキュリティ強度の点からは好ましい。
【0060】
また、上記パスワードは、バイオメトリクス(例えば、指紋、手形,顔,網膜,虹彩,声紋,手書きサインなど)を用いてオペレーターから取得した情報を用いることが可能である。バイオメトリクスを用いた場合、アクセス制限プログラム40は、煩雑なパスワード入力の作業を軽減し得るとともに、パスワード入力のためだけに管理者を呼ぶ必要が無くなり、管理者の手間を軽減し得る。
【0061】
また、上記パスワードは、データの読み取り及び/又は書き込みに用いられるデバイス、又は上記デバイスに用いられる記録媒体中にあらかじめ格納され得る。アクセス制限プログラム40は、上記デバイス又は記録媒体からパスワードを取得し、アクセスコントロール情報記憶部42中のパスワードと照合し、上述のようにアクセス制限を解除するように構成され得る。このように、デバイス又は記録媒体にパスワードが格納されている場合、アクセス制限の解除のためのパスワード入力は、コンピュータシステム50のオペレーター並びの管理者が直接行う必要がない。従って、煩雑なパスワード入力の作業を軽減し得るとともに、パスワード入力のためだけに管理者を呼ぶ必要が無くなり、管理者の手間を軽減し得る。また、パスワードの内容自体をオペレーターが知る必要がないので、より安全にパスワードの管理を行い得る。これとともに、上記パスワードにより認証された記録媒体のみが、読み書きが行えるため、読み書きが可能な記録媒体を限定することができ、情報の漏洩を防止し得る。
【0062】
なお、この記録媒体中のパスワードは、例えば、MOのメディアID(R)や、SDカード(R)、マジックゲートメモリースティック(R)、並びにDVD中の著作権保護用ためのIDなどのように、オペレーターにより書き換えが困難な領域に記録されているデータを用いることが好ましい。この構成により、パスワードをより安全に保管し得る。
【0063】
上記パスワードは、アクセスコントロール情報記憶部42中に、ユーザー毎のユニークなユーザーIDに対応して格納されることも可能である。具体的には、上記パスワードは、各ハードウェアキー若しくは記録媒体毎に格納され、これらのハードウェアキー若しくは記録媒体毎に、各ハードウェアキー若しくは記録媒体毎の所有者に対応したユニークなユーザーIDが割り振られる。これにより、使用されたハードウェアキー又は記録媒体から、本人証明を行うことが出来、許可されていないオペレーターによるデバイスの使用を防止し得る。なお、上述のように、バイオメトリクスを用いた場合、アクセス制限プログラム40は、より確実に本人証明を行い、許可されていないオペレーターによるデバイスの使用を防止し得る。なお、アクセス制限プログラム40は、ユーザーID並びにアクセス内容をログに記録するように構成され得る。この場合、記録されたユーザーIDにより、コンピュータシステム50の使用者を特定することが出来、デバイスに対するアクセスを追跡調査する際に便利である。
【0064】
また、本実施の形態のアクセス制限プログラム40は、デバイスに対してデータを書き込む際に、前記データを暗号化するように構成され得る。この暗号化をする工程は、図5中のステップS13において、デバイスドライバ32にデータを送る前に行う。この構成により、アクセス制限プログラム40は、ストレージデバイスにデータを記録した後においても、許可しないユーザーのアクセスを制限し得る。
【0065】
なお、コンピュータシステム50中に暗号化用のチップ(デバイス)例えば、DSPや乱数発生器、を設け、上記チップにより暗号化を行うと、より迅速に暗号化処理が行えるため好ましい。なお、アクセス制限プログラム40は、デバイスドライバ32に組み込まれた場合、対応するデバイスに配置された上記チップを利用して暗号化処理を行うことも可能である。この場合、上記暗号化処理は、図5中のステップS14で行われる。アクセス制限プログラム40は、暗号化する際の暗号長が、記録されるデータの重要度によって任意に変更し得るように構成され得る。
【0066】
なお、アクセス制限プログラム40は、本実施の形態において、入出力制御部31より下層に配置されている。このため、上記パスワードの認証処理は、入出力制御部31より下層で行われ、取得したパスワードが入出力制御部31より上層に流れることはない。従って、上記パスワードが、ユーザー領域20に流出することが防止されており、パスワードを安全に運用し得る。
【0067】
また、コンピュータシステム50は、パスワードが格納されていないハードウェアキーにより、物理的なロックが解除された際に、上記アクセス制限プログラム40によるアクセス制限が解除される電気的な機構を有することが可能である。
【0068】
さらにまた、本実施形態のアクセス制限プログラム40は、コントローラ部52に内蔵されたROMやHDD56等に記録した状態で、予めコンピュータシステム50中に組み込むことも可能である。このようにすることにより、上述したアクセス制限プログラム40をプリインストールしたコンピュータシステムを提供することが可能となる。なお、このアクセス制限機構は、ROMやHDD56中において、管理者権限を有していないユーザーがアクセス困難な領域に格納されることがセキュリティ上好ましい。
【0069】
また、複数のコンピュータシステム50によりネットワークが組まれている場合、アクセス制限プログラム40は、ネットワーク上の他のコンピュータシステム50に対して、デバイスのアクセス制限の設定を行うように構成することも可能である。これにより、管理者は、各コンピュータシステム50まで行って設定を行う必要がなく、管理の手間が軽減され得る。
【0070】
なお、本発明は、上記実施形態に限られるものではなく、種々変形が可能である。例えば、上記実施形態ではストレージデバイスに対するアクセスを制限する場合を示したが、アクセス制限プログラム40によりNIC63に対するアクセスを制限することもでき、これによりネットワークを利用した不正なデータ持ち出しやデータ読み込みを防止することも可能である。また、コンピュータシステム50がIrDAやBluetooth等のインターフェイスを備えている場合には、これらの利用を制限することもできる。さらに、本発明は、PC・ワークステーション・サーバ等といった通常のコンピュータばかりでなく、プロセッサを内蔵した種々の組み込み機器に適用することも可能である。
【0071】
【発明の効果】
本発明によれば、オペレーティングシステムの入出力制御部がストレージデバイス若しくは入出力インターフェイスのデバイスドライバに対して発行する命令のうち、ストレージデバイスにアクセスする命令を制限するので、コンピュータシステムのストレージデバイスに対するアクセスを制限することができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。
【図面の簡単な説明】
【図1】図1は、本発明の1つの実施の形態におけるコンピュータシステムを示す概略図である。
【図2】図2は、図1のコンピュータシステムにおけるOSの構成を示す概略図である。
【図3】図3は、図2のOSに実装されたアクセス制限プログラムを示す概略図である。
【図4】図4(a)は、アクセスコントロール記憶部に格納されたテーブルの一例を示す図である。
図4(b)は、アクセスコントロール記憶部に格納されたテーブルの別の例を示す図である。
【図5】図5は、アクセス制限プログラムの動作の一例を示すフローチャートである。
【図6】図6は、アクセス制限プログラムの動作の別の例を示すフローチャートである。
【符号の説明】
1…オペレーティングシステム(OS)、 6…ハードウェア、 10…ユーザー、 11…アプリケーションソフト、 20…ユーザー領域、 21…ユーザーインターフェイス、 22…API提供部、 30…カーネル領域、 31…入出力制御部、 32…デバイスドライバ、 40…アクセス制限プログラム、 41…命令取得部、 42…アクセスコントロール情報記憶部、 43…命令判別部、 50…コンピュータシステム、 51…CPU、 52…コントローラ部、 61…PCIバス、 62…SCSIインターフェイスカード、63…ネットワークインターフェースカード、 64…AGPバス、 65…グラフィックボード、 66…モニタ、 67…筐体
【発明の属する技術分野】
本発明は、オペレーティングシステムを実装し、ストレージデバイスを備えたコンピュータシステムにおいて、当該オペレーティングシステムの発行する命令を制限する方法、及びプログラムに関するものである。
【0002】
【従来の技術】
現在、パーソナルコンピュータ(PC)やワークステーション(WS)、サーバ等のコンピュータシステムは幅広く利用されており、企業、研究機関、学校、公的機関、官公庁等においても業務の大部分は複数のコンピュータシステムによって実現されている状況である。
【0003】
このような場面で利用されるコンピュータシステムにおいては、社員、顧客、学生等の個人情報や、経営情報、会計情報、新製品情報、技術情報等のデータを管理保存しているため、このようなデータが漏洩することを防止する必要がある。さらに、近時において運用の開始された住民基本台帳ネットワーク(住基ネット)では、全国民/住民にユニークな識別番号を付与して一元管理し、住民票発行や個人認証のために使用することが計画されており、電子政府の実現も目前となっているが、このような場面で使用されるコンピュータシステムにおいては一層厳密な情報漏洩対策を採る必要がある。
【0004】
ここで、通常のコンピュータシステムには、ハードディスクドライブのような大容量の2次記憶装置だけでなく、さらにフロッピーディスクドライブ、CD−R/RWドライブや書き込み型DVDドライブのような外部記憶装置が標準で搭載されている場合が多い。さらに、昨今のコンピュータシステムにはUSBポートを備えたものも増えているが、このようなUSBポートに接続することでデータを書き込み可能なUSBメモリモジュール等の外部記憶装置も一般的になってきている。
【0005】
このため、通常のコンピュータシステムでは、業務担当者や侵入者が、ハードディスクに格納されたデータを、外部記憶装置を使用してコピーし、外部に持ち出すこと(以下、「不正なデータ持ち出し」という)が容易に可能である。かかる不正なデータ持ち出しは近時において頻発するようになってきており、これを低コストで確実に防止することが一つの課題となっている。
【0006】
また、上記の課題に加えて、システム管理者の意図しないデータが外部記憶装置から読み出されると、システム管理者の把握していないソフトウェアがインストールされてコンピュータシステムの管理を煩雑にするばかりでなく、ウィルスやトロイの木馬の進入を許すことにも繋がるので、CD−ROMドライブのような読み出し専用のものを含めて外部記憶装置からデータの読み出しを禁止したいという要請もある。
【0007】
上述のような不正なデータの持ち出しや、データの読み出しを防止するために、種々の提案がなされている。例えば、コンピュータシステムに搭載されたオペレーティングシステムによっては、1台のマシンに複数のユーザーまたはユーザーグループを設定し、そのユーザー/ユーザーグループ毎に各デバイスのそれぞれについてのアクセス可否を登録するサービスを提供可能となっている。このようなサービスによれば、コンピュータシステムのメンテナンス・保守等を行うシステム管理者と、コンピュータシステムを使用して業務を行う業務担当者とをユーザー登録し、システム管理者については外部記憶装置を含む全デバイスへのアクセスを可能に設定し、業務担当者については外部記憶装置へのアクセスおよび外部記憶装置の追加を禁止した設定とすることにより、業務担当者または侵入者による不正なデータの持ち出しおよびデータの読み出しを防止することができる。
【0008】
ところが、オペレーティングシステムがこのような機能を有していても、メンテナンス等の作業を補助するために、システム管理者のIDおよびパスワードが業務担当者に知らされていることが多い。これは、業務担当者がメンテナンス等の作業を一切行わないと、スムースなメンテナンス作業が困難となり、また、システム管理者の負担が極めて重くなってしまうためである。そのような場合には、実際には業務担当者であってもシステム管理者としてコンピュータシステムにログインすることが可能であり、オペレーティングシステムにかかる機能を搭載しても、悪意を持った業務担当者による不正なデータの持ち出しを防止することはできないのである。また、このような機能は、例えばユーザーの実行するプロセスを監視して、そのアクセスするデバイスやオブジェクトが当該ユーザーにアクセス許可されたものであるかどうかをその都度判断するという形で実装されるが、このような実装では全ての命令が監視対象となるためオーバーヘッドが高く、システム側に負担が大きいという問題もある。
【0009】
また、アクセス制限機構を備えさせることにより、前記データの持ち出し並びにインストールを防止する外部記憶装置も提案されている。このような外部記憶装置は、データが格納された記憶部に加えて、記憶部に対するアクセスの認証を行うための認証機構をアクセス制限機構として有している。この認証機構にはユーザーIDとそれに対応したパスワードとを備えたテーブルが記憶されており、ユーザーIDとパスワードとの入力によってアクセスの認証を行うことによって不正なデータの持ち出しを制限するものである。なお、記憶部は固定的に設けられている場合もあるし、リムーバブルディスクのように取り出し可能な記憶媒体を記憶部として使用する場合もある。
【0010】
さらに、同様に記憶装置へのアクセスを制限するという観点からは、特開2002−259214号公報(特許文献1参照)に記載の記憶システムも提案されている。この公報に記載の記憶システムは、データが格納される記憶部と、複数のコンピュータ又はネットワークと接続するための複数のポートとを有し、さらに認証機構をアクセス制限機構として有している。この記憶システムはポートを介して記憶部に対するアクセス命令を受け取り、アクセス命令が認証機構により認証されたコンピュータ又はネットワークから送信された場合のみ、記憶部に対するアクセスを認める。このため、この記憶システムは認証機構を設定するのみで、複数のコンピュータ又はネットワークに対するアクセス制限を可能にする。
【0011】
しかしながら、コンピュータシステムが有する外部記憶装置の全てを上述のようにアクセス制限機構を備えた装置に置き換えることはコスト的に困難であるし、また、外部からUSBメモリモジュール等を持ち込まれた場合には対処できないため、上述のように外部記憶装置にアクセス制限機能を設ける技術では不正なデータ持ち出しを防止することはできない。
【0012】
【特許文献1】
特開2002−259214号公報
【0013】
【発明が解決しようとする課題】
上記課題を鑑みて、本発明の目的は、不正なデータの持ち出しやデータの読み込みを制限することができるアクセス制限方法およびプログラムを提供することである。
【0014】
【課題を解決するための手段】
上記課題を解決するために、本発明の第1の観点は、オペレーティングシステムを実装し、入出力インターフェイスを備えたコンピュータシステムにおいて、前記コンピュータシステムに接続されたストレージデバイスへのアクセスを制限する方法であって、
前記オペレーティングシステムの入出力制御部が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバに対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングすることを特徴とするアクセス制限方法を提供する。
【0015】
上記本発明の第1の観点によれば、前記オペレーティングシステムの入出力制御部が発行した命令のうち、前記ストレージデバイスまたは前記入出力インターフェイスのデバイスドライバに対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングするので、コンピュータシステムのストレージデバイスに対するアクセスを制限することができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。
【0016】
上記構成においては、前記コンピュータシステムにハードウェアキーが接続されているか否かを判断し、正しいハードウェアキーが接続されていない場合には読み込み命令および書き込み命令の少なくとも一方をフィルタリングし、正しいハードウェアキーが接続されている場合には読み込み命令および書き込み命令の少なくとも一方の実行を許可することが好適である。このような構成において、システム管理者等が必要と認めた場合にのみハードウェアキーを貸し与えるようにすれば、不正なデータ持ち出しやデータの読み込みを極めて効果的に防止することが可能となる。
【0017】
本発明は、前記コンピュータシステムに着脱自在なストレージデバイスや、交換可能な記録媒体にデータを記録する形式のストレージデバイスのように、不正なデータの持ち出しや不正なデータ読み込みに利用されやすいストレージデバイスへのアクセス制限に適用することが好適である。
【0018】
また、本発明の第2の観点は、オペレーティングシステムを実装したコンピュータに、オペレーティングシステムの入出力制御部がデバイスドライバに対して発行した命令のうち、特定のデバイスドライバに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングする処理を実行させることを特徴とするアクセス制限プログラムを提供する。
【0019】
このような構成によれば、オペレーティングシステムの入出力制御部がデバイスドライバに対して発行した命令のうち、特定のデバイスに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングする処理を実行させるので、コンピュータから特定のデバイスに対するデータ書き込み及びデータ読み込み命令の少なくとも一方をフィルタリングすることができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。逆に、特定のデバイスへのデータ書き込み/データ読み込み命令だけを許可し、他の命令をフィルタリングするようにしても同様の効果を得ることができる。
【0020】
上記本発明の第2の観点において、前記アクセス制限プログラムは、階層的なドライバ構造の一階層をなすことが好適である。
【0021】
また、上記本発明の第2の観点において、前記アクセス制限プログラムは、パスワードによる認証機構を有していることが好適である。上記パスワードは、前記デバイスドライバに対応したデバイスに格納されることがさらに好適である。
【0022】
また、上記本発明の第2の観点において、前記アクセス制限プログラムは、前記デバイスドライバに対応したデバイスに対するアクセスのログを記録することが好適である。
【0023】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【0024】
(構成)
まず、本発明の一例としての実施の形態のアクセス制限プログラムについて図1並びに図2を用いて説明する。図1は、本実施形態のアクセス制限プログラムがインストールされるコンピュータシステム50を示す概略図である。図2は、図1のコンピュータシステム50にインストールされているOS(オペレーティングシステム)の構成を示す概略図である。
【0025】
図1に示すように、このコンピュータシステム50は、主として、CPU51と、CPU51に接続され、種々のLSIチップを内蔵したコントローラ部52と、コントローラ部52に接続された主記憶装置(メインメモリ)であるRAM53、IDEインターフェイス55、USBインターフェイス58、PCIバス61およびAGPバス64とが筐体67に収容された構成となっている。
【0026】
このコンピュータシステム50には、種々のデバイスを含むハードウェア6(図2参照)が接続されている。本実施の形態において、ハードウェア6は、図1中に示すように、ハードディスクドライブ(HDD)56、CD−Recordableドライブ(CD−R)57、キーボード59、マウス60、モニタ66、及びフロッピーディスクドライブ(FDD)54を含んでいる。なお、コンピュータシステム50に接続されるハードウェア6は、上記に限定されない。上記ハードウェア6は、具体的には、以下ようにして、コンピュータシステム50に接続されている。例えば、図1中に示されるように、IDEインターフェイス55には、ハードディスクドライブ(HDD)56およびCD−R57が接続され、USBインターフェイス58にはいずれも筐体67外のキーボード59およびマウス60が接続され、PCIバス61にはSCSIカード62およびネットワークインターフェースカード(NIC)63が接続され、AGPバス64にはグラフィックボード65を介して筐体67外のモニタ66が接続されている。さらに、コントローラ部52は不図示のFDDコントローラを内蔵しており、これにFDD54が接続されている。
【0027】
CPU51としては、例えば、ユーザーモードおよびスーパーバイザーモード等に代表される2つ以上の保護モードないし特権モードによりプログラムを動作させるものを好適に利用することができる。ここで、ユーザーモードとは、プログラムの動作を制限した状態で実行させるモードである。また、スーパーバイザーモードとは、制限なくプログラムを実行させることの可能なモードである。ただし、CPU51がこれらのモードで動作可能なことは必須ではない。
【0028】
以下、図2を参照して、本実施形態におけるコンピュータシステム50のソフトウェア構成について説明する。図2では、コンピュータシステム50を使用するユーザー10を上層側に、コンピュータシステム50のハードウェア6を下層側にそれぞれ示している。このコンピュータシステム50は、主として、OS1と、OS1上にインストールされたアプリケーションソフト11とを、ソフトウェア的な構成要素として有している。ただし、アプリケーションソフト11は必須ではなく、OS1のみを有する構成としても構わない。
【0029】
OS1は、図2に示すように、上層側(ユーザー10側)をなすユーザー領域20と、下層側(ハードウェア6側)をなすカーネル領域30とを有している。より詳細には、OS1は、上層側からユーザーインターフェイス21、API提供部22、入出力制御部31およびデバイスドライバ32を階層的に備えている。さらに、本実施形態においては、以上のように構成されたOS1の入出力制御部31とデバイスドライバ32との間に、別途インストールされたアクセス制限プログラム40が介在している。
【0030】
以下、OS1の構成をより詳細に説明する。まず、ユーザー領域20の構成について説明する。
ユーザーインターフェイス21は、その一部をユーザー10が直接的に利用可能となっており、また、ユーザー10がアプリケーションソフト11を介して間接的に利用するものもある。
【0031】
API提供部22は、アプリケーションソフト11およびユーザーインターフェイス21にAPI(Application Programming Interface)を提供するものであり、より具体的にはWin32サブシステム、OS/2サブシステム、POSIXサブシステムといったアプリケーション環境や、ユーザーライブラリ等を用いることができる。アプリケーションソフト11は、直接的に、またはユーザーインターフェイス21を介して間接的に、API提供部22の提供するAPIを利用して、ユーザー10に種々の機能を提供する。
【0032】
次に、カーネル領域30について説明する。
入出力制御部31は、API提供部22の下層に位置しており、API提供部22からコンピュータシステム50のハードウェア6に含まれる各デバイスへの命令を受けて、命令発行先であるデバイスのデバイスドライバ32に対して種々の命令を発行する。本実施形態では、デバイスドライバ32に対して発行される命令のうち、デバイスにデータを書き込む命令を書き込み命令といい、デバイスからデータを読み出す命令を読み込み命令という。
【0033】
デバイスドライバ32は、入出力制御部31からの命令を受けて、特定のデバイスにその動作を制御する命令を発行する。デバイスドライバ32は、ハードウェア6に含まれる特定のデバイスと直接データを送受信し、対応するデバイスの動作を制御する。そのため、デバイスドライバ32は、操作対象であるデバイス毎に提供されており、デバイスの制御部に搭載されたコントローラチップに固有のものである。たとえば、コンピュータシステム50がCD−R57を制御する場合、CD−R57のコントローラに対応したドライバが必要になる。ハードウェア6をなす個々のデバイスは、入出力制御部31およびデバイスドライバ32を介してのみOS1のAPI提供部22からアクセスされ得る。したがって、OS1のカーネル領域30より上層に実装されたプログラムは、必ず入出力制御部31を介して個々のデバイスにアクセスする。つまり、入出力制御部31とデバイスドライバ32とは、協働して、コンピュータシステム50に接続されている現実のデバイスを、抽象化した仮想マシンとしてOS1に提供する。
【0034】
デバイスドライバ32の構成は、モノリシックでもよいし、ユニバーサルドライバおよびミニドライバからなるユニバーサルドライバアーキテクチャでもよく、さらにはクラスドライバとポートドライバとミニポートドライバとを含んだ階層的な構成のWDM(Windows Driver Model)を採用しても構わない。デバイスドライバ32は、例えば、モノリシックドライバとした場合には個々のデバイスのそれぞれに対応した複数のドライバから構成される。また、ユニバーサルドライバアーキテクチャを採用した場合には個々のデバイスに対応したミニドライバと、デバイスのグループ毎の共通部分に対応したユニバーサルドライバとから構成される。さらに、WDMの場合には、ファイルI/Oの処理を行うファイルシステムドライバと、デバイスが接続されるインターフェイス毎に設けられたUSBクラスドライバ等のクラスドライバと、個々のデバイスに対応して設けられたFDDドライバ・HDDドライバ・CD−ROMドライバ等のポートドライバ(さらにミニドライバを含んでもよい)等の複数のレイヤーを備えるように構成される。
【0035】
上述したような構成のカーネル領域30において、本実施形態では入出力制御部31とデバイスドライバ32との間に、アクセス制限プログラム40が挿入されている。このアクセス制限プログラム40は、入出力制御部31がデバイスドライバ32に対して発行した命令のうち、ストレージデバイスに対して発行された読み込み命令および/または書き込み命令をフィルタリングする処理を行う。
【0036】
以下、アクセス制限プログラム40について図3を参照して説明する。図3は、アクセス制限プログラム40の機能ブロックを示す概略図である。このアクセス制限プログラム40は、命令取得部41と、アクセスコントロール情報記憶部42と、命令判別部43とを具備している。なお、このうちアクセスコントロール情報記憶部42はアクセス制限プログラム40の外部に設け、必要に応じて呼び出す構成としてもよいが、その場合にはアクセスコントロール情報記憶部42が書き換えられないようにする必要がある。
【0037】
命令取得部41は、入出力制御部31から出力された命令を取得する機能を有している。
アクセスコントロール情報記憶部42は、上記フィルタリングを行う際の条件の情報が記憶されている。具体的には、本実施の形態において、アクセスコントロール情報記憶部42は、上記条件の情報として、アクセスを制限するデバイス(またはインターフェイス)と、当該デバイスに設定するアクセス制限の内容とを関連付けて記述したテーブルを記憶している(図4(a)参照)。上記アクセス制限の内容は、対応するデバイスに対する命令の種類である。上記命令の種類は、読み込み命令(read)および/または書き込み命令(write)である。
【0038】
命令判別部43は、命令取得部の取得した命令を、アクセスコントロール情報記憶部42中の情報に基づいて命令発行先のデバイスに通過させるかフィルタリングを行うフィルタリング手段である。なお、本明細書中において、用語「フィルタリング」とは、取得した命令が所定の条件に対して一致するか否かを判断し、前記判断に応じて、上記命令の通過を遮断する処理のことを指す。言い換えると、用語「フィルタリング」は、上記判断に応じて、命令発行先のデバイスに命令の発行を中断させる処理のことである。
【0039】
本実施の形態において、命令判別部43は、図4(a)により示されるテーブルを基に上記判断を行う。より具体的には、命令判別部43は、取得した命令において、発行先のデバイスと種類との組み合わせが、図4(a)中のアクセスを制限するデバイス(又はインターフェイス)と命令の種類との組み合わせに一致するか判断する。なお、本明細書中において、用語「アクセス」とは、OSがデバイスに対して発行した読み込み命令および/または書き込み命令が、命令発行先のデバイスにおいて実行されることを指す。従って、命令判別部43は、取得した命令においての発行先のデバイスと種類との組み合わせが、発行先のデバイスにおいて実行の制限された組み合わせであるか判断するといえる。命令判別部43は、これらが一致すると判断した場合、取得した命令を、発行禁止の命令であると判断する。
【0040】
また、命令判別部43は、命令が発行禁止であると判断した際に、当該命令の実行を中断するとともに、当該命令をデバイスにおいて実行できないことを入出力制御部31に通知する機能を有している。さらに、命令判別部43は、発行が禁止されなかった命令(発行が許可された命令)については、そのまま命令判別部43を通過してデバイスドライバ32に発行(通過)させる機能を有している。なお、通過した命令は、入出力制御部31の命令した動作が命令発行先のデバイスにおいて実行される。このようにして、命令判別部43は入出力制御部31から出力された命令のうち、特定のデバイスに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングすることにより、当該デバイスに対するアクセスを制限する。
【0041】
例えば、アクセスコントロール情報記憶部42は、図4(a)に示したテーブルを記憶している場合、命令判別部43は、FDD54、CD−R57、USBインターフェイス58に接続されるUSBデバイス、SCSIインターフェイスカード62に接続されるSCSIデバイスに対して発行された書き込み命令をフィルタリングし、書き込み命令が実行できないことを入出力制御部31に通知する。
【0042】
(動作)
以下、図5を参照して、アクセス制限プログラム40の動作について説明する。
まず、図1に示したハードウェア構成に図2に示したソフトウェア構成を実装したコンピュータシステム50において、アクセス制限プログラム40のアクセスコントロール情報記憶部42に予め図4(a)に示した内容のテーブルを記憶させ、アクセスコントロール情報記憶部42中の情報に基づいてフィルタリングを行った際の動作を図5を参照して説明する。
【0043】
まず、ユーザー10が、アプリケーションソフト11からOS1のユーザーインターフェイス21を介して、所定のデバイスに対してデータを書き込む書き込み命令ないしデータを読み出す読み込み命令を入力すると、API提供部22において所定のライブラリないしシステムコールが呼び出され、これに応じて入出力制御部31が対象デバイスのデバイスドライバ32に対して書き込み命令または読み込み命令を発行する。この命令はアクセス制限プログラム40に渡されて、図5に示すステップS11乃至ステップS15の手順で処理が行われる。
【0044】
まず、アクセス制限プログラム40の命令取得部41が、入出力制御部31から発行された命令を取得する(ステップS11)。すなわち、入出力制御部31が発行した命令は、デバイスドライバ32に到達する前に、命令取得部41によって取得される。なお、デバイスドライバ32がWDMのような複数のレイヤーを含む階層型に構成されている場合には、アクセス制限プログラム40は、これらのレイヤーの1つとして、デバイスドライバ32中に介在され得る。例えば、アクセス制限プログラム40は、前述のファイルシステムドライバの上層に配置されることも可能であるし、クラスドライバの上層又は下層に配置されることも可能である。また、デバイスドライバ32は、アクセス制限プログラム40を、各レイヤー中に含むように構成されることも可能である。例えば、アクセス制限プログラム40は、各ポートドライバ又はミニドライバ中に含まれることも可能であるが、クラスドライバ中に含まれることも可能である。クラスドライバ中にアクセス制限プログラム40を含んだ場合、各デバイス毎に、アクセス制限プログラム40を設ける必要がないため好ましい。上述のように、アクセス制限プログラム40を階層型のデバイスドライバに組み込んだ場合、アクセス制限プログラム40をOSに実装することが容易である。また、デバイスドライバ32がモノリシック型の場合には、入出力制御部31及びデバイスドライバ32の少なくとも一方にフックを設けて、両者の間にアクセス制限プログラム40を介在させるようにしてもよい。
【0045】
次に、命令判別部43が、アクセスコントロール情報記憶部42中の情報に基づいて、命令取得部41の取得した命令のフィルタリングを行う。まず、命令判別部43は、取得した命令において、命令の発行先であるデバイス(またはインターフェイス)と命令の種類との組み合わせが、実行の制限された組み合わせか否かを、アクセスコントロール情報記憶部42に格納されたテーブルを参照して判断する(ステップS12)。具体的には、命令判別部43は、取得した命令が、FDD54、CD−Rドライブ57、USBインターフェイス58に接続されたUSBデバイスおよびSCSIインターフェイスカード62に接続されたSCSIデバイスに対する書き込み命令であるか判断する。
【0046】
ステップS12において実行の制限された組み合わせではないと判断された場合、取得した命令は、発行が許可された命令であると判断され、そのままデバイスドライバ32に出力される。なお、アクセス制限プログラム40が、階層化されたデバイスドライバ32中に含まれる場合、命令判別部43は、上記命令をアクセス制限プログラム40に対して下層のデバイスドライバ32の層に発行する。そして、前記命令は、発行先であるデバイスに渡される。(ステップS13)続いて、命令の発行先であるデバイスにおいて前記命令が実行される(ステップS14)。
【0047】
一方、ステップS12において取得された命令が実行の制限された組み合わせであると判断された場合には、命令判別部43は、前記命令を、発行禁止の命令であると判断し、前記命令を中断し、入出力制御部31に命令が実行できないことを通知する(ステップ15)。これに応じて入出力制御部31がエラーを発生させ、ユーザーインターフェイス21を介してユーザー10に書き込みができない旨を知らせるようにしてもよい。
以上のような手順によって、アクセス制限プログラム40は、入出力制御部31からの命令のフィルタリングを行う。即ち、アクセス制限プログラム40は、任意のデバイスに対してアクセス制限を行う。
【0048】
なお、上述のアクセスコントロール情報記憶部42には、図4(a)中に示されるような、実行を制限するデバイス並びに命令の種類との組み合わせが記憶されているが、一部のストレージデバイスについてのみアクセスを許可し、その他のストレージデバイスについてアクセスを一切禁止する場合には、アクセスコントロール情報記憶部42にアクセスを許可するデバイスの一覧を記憶させてもよい(図4(b)参照)。アクセスコントロール情報記憶部42が図4(b)に示したテーブルを記憶している場合、命令判別部43は、HDD56以外のストレージデバイスに対する読み込み命令および書き込み命令をフィルタリングして命令実行を中断するとともに、命令が実行できないことを入出力制御部31に通知する。
【0049】
また、上述した命令判別部43は、命令取得部41が取得した命令のうち、ストレージデバイスに対して発行された命令のみについて上述の処理を実行するようにしてもよい。例えば、Windows(R)ないしこれに準じたOSの場合、ストレージデバイスには所定のドライブレター(C:、A:等)が付与されるので、命令判別部43はドライブレターの付与されたデバイスに対する命令のみについて、上述の処理を実行する。また、Linux等のUNIX系のOSの場合には、命令判別部43はブロックデバイスに対する命令のみについて上述の処理を実行すればよい。
【0050】
以下に、アクセス制限プログラム40が、図4(b)中のテーブルに示された情報に基づいてストレージデバイスに対する命令をフィルタリングする場合の動作について図6を参照して説明する。本実施の形態において具体的には、アクセス制限プログラム40は、ストレージデバイスに対して発行された読み込み命令及び書き込み命令を原則として禁止しつつ、HDD56に対する命令を例外的に許可する処理を行う。この場合において、アクセス制限プログラム40は、図5中のステップS12の代わりに、図6中に示されるステップS21及びS22が行われる。
【0051】
前述の図5中に示した動作と同様に、ユーザー10が所定のデバイスに対する書き込み命令または読み込み命令をコンピュータシステム50に対して入力すると、入出力制御部31が対象デバイスのデバイスドライバ32に対して書き込み命令または読み込み命令を発行する。この命令はアクセス制限プログラム40に渡され、図5に示した場合と同様に、ステップS11が行われる。
【0052】
ステップS11が完了した後に、続いて、ステップS22が行われる。このステップS22では、命令判別部43が、取得された命令がストレージデバイスに対する命令であるか否かを判断する。ここでの判断は、例えばWindows(R)系のOSでは、前述のように命令発行先のデバイスにドライブレターが付与されているか否かに基づいて行うことができる。UNIX系のOSでは、前述のように、命令発行先のデバイスがブロックデバイスであるか否かに基づいて行うようにしてもよい。
【0053】
ステップS22でストレージデバイスに対する命令ではないと判断された場合には、続いて、図5中の動作と同様なステップS13並びにS14が行われる。
【0054】
一方、ステップS22でストレージデバイスに対する命令であると判断された場合には、次に、取得された命令が、アクセスが制限されていないデバイスに対する命令(実行の許可された命令)であるか否かを、命令判別部43がアクセスコントロール情報記憶部42の内容に基づいて判断する(ステップS22)。本実施の形態において具体的には、取得した命令が、HDD56に対する命令であるか判断する。ここで、取得された命令が実行の許可された命令であると判断された場合には、前記同様にステップS13並びにS14が行われる。
【0055】
これに対して、取得された命令が実行の許可された命令ではないと判断された場合、図5中と同様なステップS15に進み、アクセス制限プログラム40は命令を中断し、入出力制御部31に命令が実行できないことを通知する。
以上のような手順によって、アクセス制限プログラム40は、入出力制御部31からの命令のフィルタリングを行うことも可能である。
【0056】
図5並びに図6中に示されるように、アクセス制限プログラム40は、アクセスコントロール情報記憶部42に予め記憶させておいた内容に基づいて、特定のデバイスに対して発行された読み込み命令および/または書き込み命令をフィルタリングすることにより、デバイス対してアクセスする命令を制限する。このようなアクセス制限プログラム40により、記録媒体を交換可能なストレージデバイスや、コンピュータシステム50に着脱自在なストレージデバイスに対する書き込み命令をフィルタリングすることで、これらのデバイスを利用した不正なデータ持ち出しを禁止することができる。また、読み込み命令をフィルタリングすることで、これらのデバイスから不正な内容が読み込まれることを防止することができる。
【0057】
また、以上のようなアクセス制限プログラム40はカーネル領域30に実装されているため、ユーザー10から設定を変更することが困難であり、権限を持たない者により停止または削除され難い構成となっている。さらに、ハードウェア6にアクセスする命令は必ず入出力制御部31からデバイスドライバ32に発行されるので、上述のように入出力制御部31が発行する命令にアクセス制限プログラム40でフィルタリング処理を施すことにより、実行の許可されていない命令を漏らすことなくフィルタリングすることができる。カーネル領域30よりも上層に実装されたアプリケーションにおいて同様のアクセス制限を試みることは可能であるが、その場合にはユーザー10から設定の変更が可能なばかりでなく、例えば新規なプログラムをインストールすることで容易にフィルタリングの迂回が達成できてしまう不都合がある。
【0058】
さらに、本実施形態のアクセス制限方法は、入出力制御部31からデバイスドライバに発行された命令だけを対象に処理(フィルタリング)を行うものであるから、ユーザーのプロセス中で発行される全命令を監視してアクセス制限するような方法に比べて、極めて低いオーバーヘッドで実行することが可能である。
【0059】
さらにまた、本実施の形態のアクセス制限プログラム40においては、アクセスコントロール情報記憶部42等にパスワードを併せて記憶させておき、図5のステップS15に替えてパスワードの入力をユーザー10に要求するステップを設け、正しいパスワードが入力された場合には命令の実行を許可し、正しいパスワードが入力されなかった場合には入出力制御部31に命令が実行できないことを通知する構成としてもよい。これにより正しい権限を持ったユーザー10にはストレージデバイスの利用を許可しつつ、第3者によるストレージデバイスの利用を制限することが可能となる。このような場合には、パスワードをUSBドングル等のハードウェアキーに格納する構成とし、ハードウェアキーをUSBポート等に挿入することによりアクセス制限プログラム40がパスワードを認識できるような構成とすることが好ましい。パスワードをワンタイムパスワード形式とすることも、セキュリティ強度の点からは好ましい。
【0060】
また、上記パスワードは、バイオメトリクス(例えば、指紋、手形,顔,網膜,虹彩,声紋,手書きサインなど)を用いてオペレーターから取得した情報を用いることが可能である。バイオメトリクスを用いた場合、アクセス制限プログラム40は、煩雑なパスワード入力の作業を軽減し得るとともに、パスワード入力のためだけに管理者を呼ぶ必要が無くなり、管理者の手間を軽減し得る。
【0061】
また、上記パスワードは、データの読み取り及び/又は書き込みに用いられるデバイス、又は上記デバイスに用いられる記録媒体中にあらかじめ格納され得る。アクセス制限プログラム40は、上記デバイス又は記録媒体からパスワードを取得し、アクセスコントロール情報記憶部42中のパスワードと照合し、上述のようにアクセス制限を解除するように構成され得る。このように、デバイス又は記録媒体にパスワードが格納されている場合、アクセス制限の解除のためのパスワード入力は、コンピュータシステム50のオペレーター並びの管理者が直接行う必要がない。従って、煩雑なパスワード入力の作業を軽減し得るとともに、パスワード入力のためだけに管理者を呼ぶ必要が無くなり、管理者の手間を軽減し得る。また、パスワードの内容自体をオペレーターが知る必要がないので、より安全にパスワードの管理を行い得る。これとともに、上記パスワードにより認証された記録媒体のみが、読み書きが行えるため、読み書きが可能な記録媒体を限定することができ、情報の漏洩を防止し得る。
【0062】
なお、この記録媒体中のパスワードは、例えば、MOのメディアID(R)や、SDカード(R)、マジックゲートメモリースティック(R)、並びにDVD中の著作権保護用ためのIDなどのように、オペレーターにより書き換えが困難な領域に記録されているデータを用いることが好ましい。この構成により、パスワードをより安全に保管し得る。
【0063】
上記パスワードは、アクセスコントロール情報記憶部42中に、ユーザー毎のユニークなユーザーIDに対応して格納されることも可能である。具体的には、上記パスワードは、各ハードウェアキー若しくは記録媒体毎に格納され、これらのハードウェアキー若しくは記録媒体毎に、各ハードウェアキー若しくは記録媒体毎の所有者に対応したユニークなユーザーIDが割り振られる。これにより、使用されたハードウェアキー又は記録媒体から、本人証明を行うことが出来、許可されていないオペレーターによるデバイスの使用を防止し得る。なお、上述のように、バイオメトリクスを用いた場合、アクセス制限プログラム40は、より確実に本人証明を行い、許可されていないオペレーターによるデバイスの使用を防止し得る。なお、アクセス制限プログラム40は、ユーザーID並びにアクセス内容をログに記録するように構成され得る。この場合、記録されたユーザーIDにより、コンピュータシステム50の使用者を特定することが出来、デバイスに対するアクセスを追跡調査する際に便利である。
【0064】
また、本実施の形態のアクセス制限プログラム40は、デバイスに対してデータを書き込む際に、前記データを暗号化するように構成され得る。この暗号化をする工程は、図5中のステップS13において、デバイスドライバ32にデータを送る前に行う。この構成により、アクセス制限プログラム40は、ストレージデバイスにデータを記録した後においても、許可しないユーザーのアクセスを制限し得る。
【0065】
なお、コンピュータシステム50中に暗号化用のチップ(デバイス)例えば、DSPや乱数発生器、を設け、上記チップにより暗号化を行うと、より迅速に暗号化処理が行えるため好ましい。なお、アクセス制限プログラム40は、デバイスドライバ32に組み込まれた場合、対応するデバイスに配置された上記チップを利用して暗号化処理を行うことも可能である。この場合、上記暗号化処理は、図5中のステップS14で行われる。アクセス制限プログラム40は、暗号化する際の暗号長が、記録されるデータの重要度によって任意に変更し得るように構成され得る。
【0066】
なお、アクセス制限プログラム40は、本実施の形態において、入出力制御部31より下層に配置されている。このため、上記パスワードの認証処理は、入出力制御部31より下層で行われ、取得したパスワードが入出力制御部31より上層に流れることはない。従って、上記パスワードが、ユーザー領域20に流出することが防止されており、パスワードを安全に運用し得る。
【0067】
また、コンピュータシステム50は、パスワードが格納されていないハードウェアキーにより、物理的なロックが解除された際に、上記アクセス制限プログラム40によるアクセス制限が解除される電気的な機構を有することが可能である。
【0068】
さらにまた、本実施形態のアクセス制限プログラム40は、コントローラ部52に内蔵されたROMやHDD56等に記録した状態で、予めコンピュータシステム50中に組み込むことも可能である。このようにすることにより、上述したアクセス制限プログラム40をプリインストールしたコンピュータシステムを提供することが可能となる。なお、このアクセス制限機構は、ROMやHDD56中において、管理者権限を有していないユーザーがアクセス困難な領域に格納されることがセキュリティ上好ましい。
【0069】
また、複数のコンピュータシステム50によりネットワークが組まれている場合、アクセス制限プログラム40は、ネットワーク上の他のコンピュータシステム50に対して、デバイスのアクセス制限の設定を行うように構成することも可能である。これにより、管理者は、各コンピュータシステム50まで行って設定を行う必要がなく、管理の手間が軽減され得る。
【0070】
なお、本発明は、上記実施形態に限られるものではなく、種々変形が可能である。例えば、上記実施形態ではストレージデバイスに対するアクセスを制限する場合を示したが、アクセス制限プログラム40によりNIC63に対するアクセスを制限することもでき、これによりネットワークを利用した不正なデータ持ち出しやデータ読み込みを防止することも可能である。また、コンピュータシステム50がIrDAやBluetooth等のインターフェイスを備えている場合には、これらの利用を制限することもできる。さらに、本発明は、PC・ワークステーション・サーバ等といった通常のコンピュータばかりでなく、プロセッサを内蔵した種々の組み込み機器に適用することも可能である。
【0071】
【発明の効果】
本発明によれば、オペレーティングシステムの入出力制御部がストレージデバイス若しくは入出力インターフェイスのデバイスドライバに対して発行する命令のうち、ストレージデバイスにアクセスする命令を制限するので、コンピュータシステムのストレージデバイスに対するアクセスを制限することができ、これにより不正なデータ持ち出しやデータの読み込みを抑制することができる。
【図面の簡単な説明】
【図1】図1は、本発明の1つの実施の形態におけるコンピュータシステムを示す概略図である。
【図2】図2は、図1のコンピュータシステムにおけるOSの構成を示す概略図である。
【図3】図3は、図2のOSに実装されたアクセス制限プログラムを示す概略図である。
【図4】図4(a)は、アクセスコントロール記憶部に格納されたテーブルの一例を示す図である。
図4(b)は、アクセスコントロール記憶部に格納されたテーブルの別の例を示す図である。
【図5】図5は、アクセス制限プログラムの動作の一例を示すフローチャートである。
【図6】図6は、アクセス制限プログラムの動作の別の例を示すフローチャートである。
【符号の説明】
1…オペレーティングシステム(OS)、 6…ハードウェア、 10…ユーザー、 11…アプリケーションソフト、 20…ユーザー領域、 21…ユーザーインターフェイス、 22…API提供部、 30…カーネル領域、 31…入出力制御部、 32…デバイスドライバ、 40…アクセス制限プログラム、 41…命令取得部、 42…アクセスコントロール情報記憶部、 43…命令判別部、 50…コンピュータシステム、 51…CPU、 52…コントローラ部、 61…PCIバス、 62…SCSIインターフェイスカード、63…ネットワークインターフェースカード、 64…AGPバス、 65…グラフィックボード、 66…モニタ、 67…筐体
Claims (9)
- オペレーティングシステムを実装し、入出力インターフェイスを備えたコンピュータシステムにおいて、前記コンピュータシステムに接続されたストレージデバイスへのアクセスを制限する方法であって、
前記オペレーティングシステムの入出力制御部が発行した命令のうち、前記ストレージデバイス及び前記入出力インターフェイスの少なくとも一方のデバイスドライバに対して発行された読み込み命令および書き込み命令の少なくとも一方をフィルタリングすることを特徴とするアクセス制限方法。 - 前記コンピュータシステムにハードウェアキーが接続されているか否かを判断し、正しいハードウェアキーが接続されていない場合には読み込み命令および書き込み命令の少なくとも一方をフィルタリングし、正しいハードウェアキーが接続されている場合には読み込み命令および書き込み命令の少なくとも一方の実行を許可することを特徴とする請求項1に記載のアクセス制限方法。
- 前記ストレージデバイスは、前記コンピュータシステムに着脱自在であることを特徴とする請求項1または請求項2に記載のアクセス制限方法。
- 前記ストレージデバイスは、交換可能な記録媒体にデータを記録することを特徴とする請求項1から請求項3のいずれか1項に記載のアクセス制御方法。
- オペレーティングシステムを実装したコンピュータに、オペレーティングシステムの入出力制御部がデバイスドライバに対して発行した命令のうち、特定のデバイスドライバに対する読み込み命令および書き込み命令の少なくとも一方をフィルタリングする処理を実行させることを特徴とするアクセス制限プログラム。
- 前記アクセス制限プログラムは、階層的なドライバ構造の一層をなすことを特徴とする請求項5に記載のアクセス制限プログラム。
- 前記アクセス制限プログラムは、パスワードによる認証機構を有していることを特徴とする請求項5又は6に記載のアクセス制限プログラム。
- パスワードは、前記デバイスドライバに対応したデバイスに格納されていることを特徴とする請求項7に記載のアクセス制限プログラム。
- 前記アクセス制限プログラムは、前記デバイスドライバに対応したデバイスに対するアクセスのログを記録する請求項5乃至8のいずれか1項に記載のアクセス制限プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114690A JP2004318720A (ja) | 2003-04-18 | 2003-04-18 | アクセス制限方法およびアクセス制限プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114690A JP2004318720A (ja) | 2003-04-18 | 2003-04-18 | アクセス制限方法およびアクセス制限プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004318720A true JP2004318720A (ja) | 2004-11-11 |
Family
ID=33474188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003114690A Pending JP2004318720A (ja) | 2003-04-18 | 2003-04-18 | アクセス制限方法およびアクセス制限プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004318720A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164266A (ja) * | 2004-12-03 | 2006-06-22 | Microsoft Corp | オペレーティングシステムのパフォーマンスの改善 |
JP2006221259A (ja) * | 2005-02-08 | 2006-08-24 | Io Network:Kk | 外部記憶媒体へのデータ記録方式とこれに使用するデータ転送制御インタフェース・ソフトウェアー |
JP2006330835A (ja) * | 2005-05-23 | 2006-12-07 | Kyocera Corp | デバイス制御装置、デバイス制御方法およびプログラム |
WO2007049625A1 (ja) * | 2005-10-24 | 2007-05-03 | Science Park Corporation | 電子計算機のデータ管理方法、プログラム、及び記録媒体 |
JP2007249519A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 任意アプリケーションによる外部記憶装置への情報持ち出し制御方法 |
JP2009509282A (ja) * | 2005-09-21 | 2009-03-05 | マクロビジョン ヨーロッパ リミテッド | コンピュータ可読媒体上のデータへのアクセスをモニタリングし制御する機器および方法 |
GB2434899B (en) * | 2004-11-30 | 2009-06-24 | Nec Corp | Information processing device, device access control method, and device access control program |
JP2010128826A (ja) * | 2008-11-28 | 2010-06-10 | Softbank Mobile Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2020106544A (ja) * | 2013-10-25 | 2020-07-09 | アセンシア・ダイアベティス・ケア・ホールディングス・アーゲーAscensia Diabetes Care Holdings AG | 装置保護のためのハードウェアキーシステム |
JP7425398B2 (ja) | 2019-09-27 | 2024-01-31 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびハードウェア制御プログラム |
-
2003
- 2003-04-18 JP JP2003114690A patent/JP2004318720A/ja active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2434899B (en) * | 2004-11-30 | 2009-06-24 | Nec Corp | Information processing device, device access control method, and device access control program |
JP2006164266A (ja) * | 2004-12-03 | 2006-06-22 | Microsoft Corp | オペレーティングシステムのパフォーマンスの改善 |
JP2006221259A (ja) * | 2005-02-08 | 2006-08-24 | Io Network:Kk | 外部記憶媒体へのデータ記録方式とこれに使用するデータ転送制御インタフェース・ソフトウェアー |
JP4647392B2 (ja) * | 2005-05-23 | 2011-03-09 | 京セラ株式会社 | デバイス制御装置、デバイス制御方法およびプログラム |
JP2006330835A (ja) * | 2005-05-23 | 2006-12-07 | Kyocera Corp | デバイス制御装置、デバイス制御方法およびプログラム |
US8117451B2 (en) | 2005-05-23 | 2012-02-14 | Kyocera Corporation | Device controller, method for controlling a device, and program therefor |
JP2012069240A (ja) * | 2005-09-21 | 2012-04-05 | Rovi Europe Ltd | コンピュータ可読媒体上のデータへのアクセスをモニタリングし制御する機器および方法 |
JP2009509282A (ja) * | 2005-09-21 | 2009-03-05 | マクロビジョン ヨーロッパ リミテッド | コンピュータ可読媒体上のデータへのアクセスをモニタリングし制御する機器および方法 |
WO2007049625A1 (ja) * | 2005-10-24 | 2007-05-03 | Science Park Corporation | 電子計算機のデータ管理方法、プログラム、及び記録媒体 |
JP4787263B2 (ja) * | 2005-10-24 | 2011-10-05 | サイエンスパーク株式会社 | 電子計算機のデータ管理方法、プログラム、及び記録媒体 |
US8898802B2 (en) | 2005-10-24 | 2014-11-25 | Science Park Corporation | Electronic computer data management method, program, and recording medium |
JP2007249519A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 任意アプリケーションによる外部記憶装置への情報持ち出し制御方法 |
JP2010128826A (ja) * | 2008-11-28 | 2010-06-10 | Softbank Mobile Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2020106544A (ja) * | 2013-10-25 | 2020-07-09 | アセンシア・ダイアベティス・ケア・ホールディングス・アーゲーAscensia Diabetes Care Holdings AG | 装置保護のためのハードウェアキーシステム |
JP7425398B2 (ja) | 2019-09-27 | 2024-01-31 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびハードウェア制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9881013B2 (en) | Method and system for providing restricted access to a storage medium | |
JP4717058B2 (ja) | 仮想ディスクを利用した応用プログラム別アクセス制御システム | |
JP4781692B2 (ja) | クライアントのi/oアクセスを制限する方法、プログラム、システム | |
US8136147B2 (en) | Privilege management | |
US20080046997A1 (en) | Data safe box enforced by a storage device controller on a per-region basis for improved computer security | |
KR101552950B1 (ko) | 서버 및 네트워크 장비의 직접접근 제어시스템 | |
CN102948114A (zh) | 用于访问加密数据的单次使用认证方法 | |
JP2008052704A (ja) | コンピュータおよび共有パスワードの管理方法 | |
JP4980288B2 (ja) | 計算機システム、記憶領域の状態制御方法及び計算機 | |
JPH07191776A (ja) | 機密保護を実現するパーソナル・コンピュータ・システム | |
WO2008001823A1 (fr) | procédé de gestion de données informatiques, programme et support d'enregistrement | |
US20120266238A1 (en) | Computer Including at Least One Connector for a Replaceable Storage Medium, and Method for Starting and Operating a Computer Via a Replaceable Storage Medium | |
JP2004318720A (ja) | アクセス制限方法およびアクセス制限プログラム | |
JP3658189B2 (ja) | コンピュータ装置におけるなりすまし防止方法 | |
RU2434283C1 (ru) | Система защиты информации от несанкционированного доступа к информации, содержащей сведения, составляющие государственную тайну | |
EP4006758B1 (en) | Data storage apparatus with variable computer file system | |
RU2443017C1 (ru) | Система защиты информации от несанкционированного доступа к информации, содержащей сведения, составляющие государственную тайну | |
Thibadeau | Trusted computing for disk drives and other peripherals | |
KR20030090568A (ko) | 단말기 내의 자원 보호 시스템 및 방법 | |
RU119910U1 (ru) | Встраиваемый модуль безопасности tsm | |
JP2003208234A (ja) | ソフトウェア記録部分離型情報処理装置及びソフトウェア管理方法 | |
KR100602180B1 (ko) | 네트워크 기반의 금융 자동화기기 보안관리 시스템 및 그제어방법 | |
JP2007241800A (ja) | リムーバブルメモリユニットおよびコンピュータ装置 | |
KR100847659B1 (ko) | 키 록 보드와 보안 유에스비 메모리의 아이디 검증방식을이용한 데이터 유출 방지 방법 및 그 장치 | |
KR20070116397A (ko) | 컴퓨터 보안 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060418 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090818 |