JP2010282606A - Information processing control program and information processing apparatus - Google Patents
Information processing control program and information processing apparatus Download PDFInfo
- Publication number
- JP2010282606A JP2010282606A JP2010036435A JP2010036435A JP2010282606A JP 2010282606 A JP2010282606 A JP 2010282606A JP 2010036435 A JP2010036435 A JP 2010036435A JP 2010036435 A JP2010036435 A JP 2010036435A JP 2010282606 A JP2010282606 A JP 2010282606A
- Authority
- JP
- Japan
- Prior art keywords
- file
- file data
- storage
- information processing
- program
- 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
Abstract
Description
本発明は、コンピュータ装置における情報セキュリティを向上させる技術に関する。 The present invention relates to a technique for improving information security in a computer apparatus.
企業などの勤務者が自宅などに仕事を持ち帰り、自宅などのパソコンを使用して業務を行う場合には、USB(Universal Serial Bus)メモリなどの記憶媒体に仕事に必要なファイルを格納し、これを持ち帰って自宅などのパソコンに接続して使用することが行われている。 When a worker at a company takes his / her home to work and uses a personal computer at home or the like to work, store files necessary for work in a storage medium such as a USB (Universal Serial Bus) memory. Is taken home and connected to a personal computer at home.
また、インターネットVPN(Virtual Private Network)技術により、企業のサーバ装置と自宅などのパソコンとをインターネットを介して接続し、サーバ装置から仕事に必要なファイルを自宅などのパソコンにダウンロードして使用することも可能である。この場合に、暗号化にSSL(Secure Socket Layer)技術を用いて(SSL−VPN技術)、インターネット上での情報漏洩を防止することが行われている。 In addition, by using the Internet VPN (Virtual Private Network) technology, a company server device and a personal computer at home are connected via the Internet, and files necessary for work are downloaded from the server device to a personal computer at home. Is also possible. In this case, SSL (Secure Socket Layer) technology is used for encryption (SSL-VPN technology) to prevent information leakage on the Internet.
しかしながら、USBメモリなどを用いて必要なファイルを自宅などに持ち帰る場合には、そのUSBメモリが第三者の手に渡ってしまうと、企業などの情報が外部に漏洩してしまう恐れがある。この対策として、パスワードの入力や指紋認証などの生体認証によりユーザの認証を行うことを条件にUSBメモリへのアクセスを許可する技術も知られている(特許文献1などを参照。)。しかし、USBメモリをパソコンに接続するたびにユーザ認証を受けなければならないという煩雑さがある。 However, when a necessary file is taken home using a USB memory or the like, if the USB memory is transferred to a third party, information on a company or the like may be leaked to the outside. As a countermeasure, there is also known a technique for permitting access to a USB memory on the condition that user authentication is performed by biometric authentication such as password input or fingerprint authentication (see Patent Document 1, etc.). However, there is a problem that user authentication must be performed every time the USB memory is connected to the personal computer.
また、SSL−VPN技術を用いてインターネット上での情報漏洩を防止できたとしても、ダウンロードされたファイルは勤務者の自宅などのパソコンのハードディスクに保存されるので、その自宅などのパソコンの情報セキュリティが不十分であれば、このパソコンを介して企業などの情報が外部に漏洩してしまう恐れがある。 Even if information leakage on the Internet can be prevented using SSL-VPN technology, the downloaded file is saved on the hard disk of a personal computer such as the worker's home, so the information security of the personal computer such as the home If this is insufficient, there is a risk that information about companies and the like will be leaked to the outside through this personal computer.
本発明の目的は、パソコンにおいてファイルを取り扱う際の情報セキュリティを従来に比べて強化することができるようにすることである。 An object of the present invention is to make it possible to reinforce information security when handling a file in a personal computer as compared with the prior art.
上記の課題を解決するため、本発明にあっては、所定のビューアを介して予め定められたロケーションのサーバ装置からファイルデータをダウンロードするときは、前記ファイルデータの保存および管理をオペレーティングシステムに代わって行い、前記オペレーティングシステムが予め指定している第1の記憶領域に代えて第2の記憶領域を前記ファイルデータの保存先として指定し、暗号化された仮想ファイル内に前記ファイルデータを保存する保存・管理手段をコンピュータに実行させるようにしている。 In order to solve the above-mentioned problems, in the present invention, when file data is downloaded from a server device at a predetermined location via a predetermined viewer, the storage and management of the file data is replaced with an operating system. The second storage area is specified as the storage destination of the file data in place of the first storage area specified in advance by the operating system, and the file data is stored in the encrypted virtual file. The storage / management means is executed by a computer.
本発明の情報処理制御プログラムおよび情報処理装置にあっては、オペレーティングシステムが予め指定している第1の記憶領域に代えて第2の記憶領域を前記データの保存先として指定し、暗号化された仮想ファイル内にファイルデータを保存するので、ファイルデータには専用のプログラムからしかアクセスすることができず、情報セキュリティを強化することができる。 In the information processing control program and the information processing apparatus according to the present invention, the second storage area is designated as the storage destination of the data in place of the first storage area designated in advance by the operating system, and is encrypted. Since the file data is stored in the virtual file, the file data can be accessed only from a dedicated program, and information security can be enhanced.
以下、本発明の好適な実施形態につき説明する。 Hereinafter, preferred embodiments of the present invention will be described.
<構成>
図1は本発明の一実施形態のシステム構成について説明するブロック図である。
<Configuration>
FIG. 1 is a block diagram illustrating a system configuration according to an embodiment of the present invention.
サーバ装置1は、特定の企業など(この例では「A会社」とする)が自社の社員向けなどに運営している情報処理装置(コンピュータ装置)であり、インターネットなどのネットワーク2に接続されている。A会社は自宅などでパソコン3を使用して仕事を行う自社の社員(この例では「a社員」とする)に対して、自宅などでの仕事に使用するツールとしてUSBメモリ4を提供する。USBメモリ4は、USBポートのコネクタを介してパソコン3に対し容易に着脱自在な記憶装置である。なお、パソコン3に対してコネクタを介して着脱自在なリムーバブルな記憶装置であれば、USBメモリ4に代えて様々な種類のメディアを使用することができる。
The server device 1 is an information processing device (computer device) operated by a specific company or the like (in this example, “Company A”) for its employees, etc., and is connected to a network 2 such as the Internet. Yes. The company A provides the USB memory 4 as a tool used for work at home or the like to a company employee who uses the
パソコン3は、a社員が自宅などで仕事を行うために使用する情報処理装置である。パソコン3は、各種演算を行い、各部を集中的に制御するCPU(Central Processing Unit)31と、読み取り専用のROM(Read Only Memory)32と、CPU31の作業エリアとなるRAM(Random Access Memory)33とがバス34を介して接続されている。さらにバス34には、所定のインタフェースを介して、マウス、キーボードなどの入力装置35と、LCD(Liquid Crystal Display)などの表示装置36と、HDD(Hard Disk Drive)などの記憶装置37と、ネットワーク2と通信を行うための通信手段となる通信インタフェース(I/F)38と、が接続されている。なお、以下の説明に用いる例としては、パソコン3のオペレーティングシステム(OS)としてWindows(マイクロソフト社の登録商標である)を使用しているものする。
The
一方、記憶装置37には、後述する操作に基づいてサーバ装置1からダウンロードされる情報処理制御プログラム301が格納される。情報処理制御プログラム301は、利用者による設定情報は保存されるが、最新のプログラムとするため、サーバ装置1に接続する毎にダウンロードされる。なお、情報処理制御プログラム301は、アップデートを適切に行うことを条件に、サーバ装置1からダウンロードすることなく、パソコン3の利用者がCD−ROM(Compact Disk Read-Only Memory)などのメディアからセットアップしてもよい。
On the other hand, the
図2は情報処理制御プログラム301により実現されるソフトウェア機能部の構成例を示す図である。
FIG. 2 is a diagram illustrating a configuration example of a software function unit realized by the information
図2において、情報処理制御プログラム301は、ビューアプログラム302とローカルコントロールプログラム306とVPNコントロールプログラム312とを含んでいる。
In FIG. 2, the information
ビューアプログラム302は、情報処理制御プログラム301の制御の対象となるアプリケーションプログラム321を登録してその起動を管理するとともに、実際にはUSBメモリ4や記憶装置37の仮想ファイル内に保存される各種ファイルを通常のディレクトリ位置(Windowsの場合はCドライブなど)に存在するかのように表示するビューア機能を提供するものである。ビューアプログラム302は、ランチャー制御部303とビューア制御部304とフックモジュール305とを含んでいる。
The
ランチャー制御部303は、所定ウインドウへのアプリケーションプログラムのアイコンのドラッグなどによりアプリケーションプログラムの登録を行い、所定ウインドウ内に表示されたアプリケーションプログラムのアイコンをマウスでダブルクリックなどすることにより起動を行わせる機能を有している。登録されたアプリケーションプログラムはリストとして内部的に保存される。なお、所定ウインドウは、ダイアログコントロール(DC)によってウインドウの輪郭に赤い枠などの特殊表示を施すことにより、仮想ファイルによる機密保護が行われていることを利用者にわからせるようになっている。
The
ビューア制御部304は、ローカルコントロールプログラム306のファイルシステム309を介して、ビューア画面を表示する機能を有している。ビューア画面は、Windowsのエクスプローラと同様な画面を有している。異なるのは、実際にはUSBメモリ4や記憶装置37の仮想ファイル内に保存される各種ファイルデータを通常のディレクトリ位置に存在するかのように表示する点である。なお、ビューア画面のウインドウは、ダイアログコントロールによってウインドウの輪郭に赤い枠などの特殊表示を施すことにより、仮想ファイルによる機密保護が行われていることを利用者にわからせるようになっている。また、ビューア制御部304により提供されるビューアは、VPN経由で外部のサーバ装置と接続する場合、VPNコントロールプログラム312の制御により、独自のプロトコルにより通信を行い、当該プロトコルに対応したサーバ装置1でなければ通信を行うことができないようになっている。これにより、予め定められたロケーションのサーバ装置1からでなければデータのダウンロードなどを行うことができないようになっている。
The
フックモジュール305は、ビューアプログラム302内においてファイル操作関数などの命令が実行されたことをフック(検出)し、所定の処理を行う機能を有している。フックモジュール305の処理の詳細については後述する。なお、ここでは予めフックモジュール305がビューアプログラム302内に挿入され、前述したダイアログコントロールによる特殊表示も予め施されているものとしているが、後述するアプリケーションプログラム321へのダイアログコントロールの修正およびフックモジュールの挿入と同じメカニズムを用い、ビューアプログラム302の起動時に動的にダイアログコントロールの修正とフックモジュールの挿入を行うようにしてもよい。
The
ローカルコントロールプログラム306は、制御の対象となるアプリケーションプログラム321の起動時に動的にダイアログコントロールの修正とフックモジュールの挿入を行うとともに、オペレーティングシステム331が有する固有のファイルシステム333とは別の独自のファイルシステム309を提供するものである。ローカルコントロールプログラム306は、ダイアログコントロール(DC)修正部307とフックモジュール(FM)挿入部308とファイルシステム309とフックモジュール311とを含んでいる。
The
ダイアログコントロール修正部307は、情報処理制御プログラム301の管理の下で起動するアプリケーションプログラム321に対して、ダイアログコントロールの修正を行い、当該アプリケーションプログラム321が表示するウインドウに赤い枠などの特殊表示を施す機能を有している。ダイアログコントロールの修正は、アプリケーションプログラム321のプログラムコード内のウインドウ表示のプロパティデータを書き換えることで行う。
The dialog
フックモジュール挿入部308は、情報処理制御プログラム301の管理の下で起動するアプリケーションプログラム321に対してフックモジュール322を挿入する機能を有している。アプリケーションプログラム321に挿入されたフックモジュール322は、アプリケーションプログラム321の実行に伴ってファイル操作関数やコピー、プリントなどの命令が実行されたことをフック(検出)し、所定の処理を行う機能を有している。フックモジュール322の処理の詳細については後述する。
The hook
ファイルシステム309は、オペレーティングシステム331が有する固有のファイルシステム333とは別の独自のファイルシステムを提供する機能を有しており、オペレーティングシステム331を介し、記憶装置37あるいはUSBメモリ4への仮想ファイルの書き込み/読み出しを行う機能を有している。ファイルシステム309は、オペレーティングシステム331のファイルシステム333と同様に、ファイルパスをディレクトリのデータとして階層的に管理している。なお、ハンドルマップ310により、ファイルハンドルと表示上のファイルパスと仮想ファイル内のファイル位置とを対応付けて管理している。なお、ここではファイルシステム309が記憶装置37あるいはUSBメモリ4上に保存される仮想ファイル自体の作成・更新機能も有しているとして説明するが、ファイルシステム309には通常のファイルシステム333と同様に、指定されたファイルの書き込み/読み出しおよびディレクトリの管理機能のみを持たせ、仮想ファイル自体の作成・更新は各フックモジュール305、311、314、322が行うようにしてもよい。
The
フックモジュール311は、ローカルコントロールプログラム306内においてファイル操作関数などの命令が実行されたことをフック(検出)し、所定の処理を行う機能を有している。フックモジュール311の処理の詳細については後述する。
The
VPNコントロールプログラム312は、VPN経由での外部サーバ(サーバ装置1など)へのアクセスを制御する機能を提供する。VPNコントロールプログラム312は、VPN制御部313とフックモジュール314とを含んでいる。
The
VPN制御部313は、オペレーティングシステム331および通信インタフェース38を介し、VPN経由でSMB(Server Message Block)などのプロトコルをベースにした独自のプロトコルによるサーバアクセス制御を行う機能を有している。
The
フックモジュール314は、VPNコントロールプログラム312内においてファイル操作関数などの命令が実行されたことをフック(検出)し、所定の処理を行う機能を有している。フックモジュール305の処理の詳細については後述する。
The hook module 314 has a function of hooking (detecting) execution of a command such as a file operation function in the
なお、オペレーティングシステム331にはファイルシステム333を用いてファイル操作を行うファイルズファンクション332が設けられているが、仮想ファイルの管理には用いない。
The
<概略動作>
図1において、a社員が自宅などで仕事を行うときは、パソコン3のUSBポートのコネクタを介してUSBメモリ4を接続する。そして、a社員は、パソコン3をサーバ装置1のクライアントとして使用する。すなわち、パソコン3のWebブラウザを起動して特定のURL(Uniform Resource Locator)を入力し、A会社がサーバ装置1により社員向けに提供しているWebページを表示装置36に表示する。a社員は、このWebページ上などで予め定められた認証(パスワードの入力などに基づく照合処理)を受けることにより、情報処理制御プログラム301をサーバ装置1からダウンロードすることができる。この情報処理制御プログラム301をダウンロードし、パソコン3の記憶装置37にセットアップすることにより、a社員が自宅などで仕事を行うための基本的な準備が整う。
<Overview of operation>
In FIG. 1, when the employee a works at home or the like, the USB memory 4 is connected through the connector of the USB port of the
これにより、情報処理制御プログラム301の提供するビューア機能あるいはランチャー制御部303により登録されたアプリケーションプログラム321から、VPNコントロールプログラム312を介することで、a社員は、サーバ装置1の少なくとも自らのために提供されている領域に格納されている各種ファイルを利用することができる。このファイルをダウンロードするときは、SSL−VPN技術によりデータをSSL技術で暗号化して送信するので、ネットワーク2上でデータが漏洩する恐れはない。
As a result, the employee a is provided for at least himself / herself of the server apparatus 1 through the
図3は本発明の一実施形態にかかる情報処理制御プログラム301が実行する処理について説明する機能ブロック図である。
FIG. 3 is a functional block diagram for explaining processing executed by the information
情報処理制御プログラム301により、ビューアプログラム302のビューア制御部304によるビューア機能と、ファイル操作関数やコピー・プリントなどの命令に対するフック機能とが提供される。また、情報処理制御プログラム301には、独自のファイルシステム309も含まれている。一般に、ファイルシステムは記憶媒体上でのファイルの保存と管理の方法を定めたものであり、オペレーティングシステム331には固有のファイルシステム333が含まれ、通常はこのオペレーティングシステム331に含まれているファイルシステム333によりファイルの保存と管理が行われる。しかし、後述する予め定められた条件の下では、オペレーティングシステム331に含まれているファイルシステム333に代えて、情報処理制御プログラム301により提供される独自のファイルシステム309によりファイルの保存と管理が行われる。
The information
前述のとおり、A会社がサーバ装置1により社員向けに提供しているWebページ上で予め定められた認証を受けたa社員は、サーバ装置1の少なくとも自らのために提供されている領域に格納されている各種ファイルをダウンロードすることが可能となる。通常、パソコン3でネットワーク2から何らかのファイルをダウンロードしようとすると、オペレーティングシステム331のファイルズファンクション332により、当該ファイルは記憶装置37などに保存されるのが通例である。そして、このファイルの保存と管理はオペレーティングシステム331のファイルシステム333により行われる。
As described above, the employee “a” who has received the predetermined authentication on the Web page provided to the employee by the server device 1 by the company A is stored in at least the area provided for the server device 1 itself. It is possible to download various files. Normally, when a
これに対して、a社員がサーバ装置1に格納されているファイルをダウンロードしようとするときには、前述のフック機能を実現するフックモジュール305、322は、本来はファイルズファンクション332により記憶装置37に保存されるはずのファイルを横取りし、独自のファイルシステム309により記憶装置37あるいはUSBメモリ4に暗号化した仮想ファイル内のデータとしてファイルを保存させる。すなわち、記憶装置37やUSBメモリ4に保存されたファイルの保存と管理はファイルシステム309により行われる。なお、仮想ファイルは所定のファイル階層内に保存されるが、仮想ファイルの存在自体を外部から認識できないように、記憶装置37やUSBメモリ4内の所定の領域に独自のフォーマットを施し、その中に仮想ファイルを保存するようにしてもよい。
On the other hand, when the employee a tries to download a file stored in the server device 1, the
また、例えば、記憶装置37に通常の保存領域として用いられるCドライブが構築され、USBメモリ4はリムーバブルディスクとしてGドライブと認識されて、通常、ネットワーク2からダウンロードしたファイルがCドライブに保存される場合には、USBメモリ4に保存されたファイルはGドライブに保存されていると表示されるはずである。しかし、前述のようにサーバ装置1からUSBメモリ4の特定の領域にダウンロードされたファイルは、独自のファイルシステム309により、仮想ファイルが実際に保存されたGドライブではなく、あたかもCドライブに単体のファイルとして保存されているかのように表示装置36に表示される。ダウンロードされたファイルが仮想ファイルにファイルデータとして記憶装置37の所定のディレクトリ階層に保存される場合、Cドライブではあっても通常のディレクトリ階層とは異なる場合には、Cドライブの通常のディレクトリ階層に単体のファイルとして保存されているかのように表示装置36に表示される。
For example, a C drive used as a normal storage area is constructed in the
これは、ファイルシステム309が、USBメモリ4や記憶装置37の特定の領域に保存されている仮想ファイルに含まれるファイルデータが何であるかを認識し、当該ファイルについては仮想的にCドライブに保存されているものとして表示するものである。例えば、Gドライブを開いても当該ファイルを示すアイコンなどは表示されないが、Cドライブを開けば当該ファイルを示すアイコンなどが表示される。
This is because the
そして、Cドライブ中に表示されている当該アイコンをクリックすると、当該アイコンが表示するファイルを開くためのアプリケーションプログラム321が立ち上がり、このアプリケーションプログラム321がファイルにアクセスしようとするところをフックモジュール322が横取りして、ファイルシステム309によりUSBメモリ4あるいは記憶装置37に仮想ファイル内のデータとして保存されているファイルを開く。同様に、この開いたファイルを保存しようとすると、アプリケーションプログラム321がCドライブである記憶装置37に保存しようとするのをフックモジュール322が横取りして、ファイルシステム309によりUSBメモリ4あるいは記憶装置37に仮想ファイル内のデータとして保存する。
When the icon displayed in the C drive is clicked, an
以上のとおり、A会社のサーバ装置1からダウンロードしたファイルはパソコン3の記憶装置37の通常の領域には保存されず、USBメモリ4あるいは記憶装置37内の所定領域に暗号化された仮想ファイルにファイルデータとして保存されるので、パソコン3の情報セキュリティが不十分であったとしても、パソコン3からA会社の情報が漏洩することを防止することができる。また、a社員がUSBメモリ4を紛失し、あるいは盗まれても、情報処理制御プログラム301がダウンロードされていない他のパソコンなどでUSBメモリ4に保存されるファイルを読み出すことはできないので、USBメモリ4からA会社の情報が漏洩することを防止することもできる。
As described above, the file downloaded from the server device 1 of the company A is not stored in the normal area of the
さらに、サーバ装置1からUSBメモリ4あるいは記憶装置37の特定の領域にダウンロードされたファイルは、通常、ネットワーク2からダウンロードした記憶装置37のCドライブの通常のディレクトリ階層に保存されているかのように表示されるので、a社員は通常のファイルと同様に当該ファイルを扱うことができ、作業が行いやすくなる。
Further, the file downloaded from the server device 1 to the USB memory 4 or a specific area of the
<詳細動作>
図4は実施形態のより詳細な処理例を示すフローチャートである。なお、VPN経由のサーバアクセスを行う場合には、事前にVPN構築のための処理と認証は済んでいるものとする。この場合、通常のブラウザからサーバ装置1に接続して認証処理を行うと、ビューアプログラム302が自動的に起動される。
<Detailed operation>
FIG. 4 is a flowchart showing a more detailed processing example of the embodiment. In addition, when performing server access via VPN, the process and authentication for VPN construction shall be completed in advance. In this case, when an authentication process is performed by connecting to the server device 1 from a normal browser, the
図4において、ビューアプログラム302が起動され(ステップS101)、ランチャー制御部303により制御されるランチャーからビューア制御部304により制御されるビューアを起動すると(ステップS102)、各種のファイル操作が可能となる。
In FIG. 4, when the
そして、ビューアの中で例えばネットワーク上のファイルをローカルにコピーするようなファイル操作を行うと(ステップS103)、これがフックモジュール305によりフック(検出)され(ステップS104)、フックモジュール305によりファイル操作関数などに応じた処理が行われる(ステップS105)。所定の処理の後、フックした命令もしくはその他の命令に戻る。フックモジュール305の処理の内容については後述する。
When a file operation such as copying a file on the network locally in the viewer is performed (step S103), this is hooked (detected) by the hook module 305 (step S104), and the file operation function is processed by the
一方、ビューアの操作の中でファイルオープンが行われると(ステップS106のYes)、ビューアプログラム302はファイルに対応するアプリケーションプログラム321を起動する(ステップS107)。これは、ファイルの拡張子に基づいて行われる。また、ビューアプログラム302のランチャー制御部303により制御されるランチャーからアプリケーションプログラム321を起動した場合についても、その後の動作は以下と同様となる。
On the other hand, when the file is opened during the operation of the viewer (Yes in step S106), the
次いで、ビューアプログラム302は、ローカルコントロールプログラム306を起動する(ステップS108)。
Next, the
起動したローカルコントロールプログラム306は、フックモジュールの雛形を所定の記憶領域からロードする(ステップS109)。
The activated
また、ローカルコントロールプログラム306は、アプリケーションプログラム321のダイアログコントロールを修正し、例えば、ウインドウの外側に赤い枠を表示するようにプログラムコード(主にプロパティデータ)を修正する(ステップS110)。
The
次いで、ローカルコントロールプログラム306は、先にロードしたフックモジュールの雛形に基づいて、アプリケーションプログラム321にフックモジュール322を挿入する(ステップS111)。
Next, the
そして、挿入したフックモジュール322を起動し(ステップS112)、アプリケーションプログラム321を実行する(ステップS113)。
Then, the inserted
図5は、アプリケーションプログラム321に挿入されたフックモジュール322の処理例を示すフローチャートである。
FIG. 5 is a flowchart showing a processing example of the
図5において、アプリケーションプログラム321においてファイル操作などが行われると(ステップS201)、これがフックモジュール322によりフック(検出)され(ステップS202)、フックモジュール322によりファイル操作関数などに応じた処理が行われる(ステップS203)。所定の処理の後、フックした命令もしくはその他の命令に戻る。フックモジュール322の処理の内容については次にする。
In FIG. 5, when a file operation or the like is performed in the application program 321 (step S201), this is hooked (detected) by the hook module 322 (step S202), and the
図6はフックモジュール305、311、314、322の処理例を示すフローチャート(ファイル作成関数の場合)である。
FIG. 6 is a flowchart (in the case of a file creation function) showing a processing example of the
図6において、フックモジュールは、CreateFile関数をフックすると(ステップS301)、CreateFile関数の引数からファイルパス名を取得する(ステップS302)。 In FIG. 6, when the hook module hooks the CreateFile function (step S301), the hook module acquires the file path name from the argument of the CreateFile function (step S302).
次いで、フックモジュールは、VPN経由以外のネットワークファイルであるか否か判断し(ステップS303)、VPN経由以外のネットワークファイルである場合(ステップS303のYes)、CreateFile関数の実行を拒否し(ステップS304)、元に復帰し(ステップS317)、その後の処理に移行する。VPN経由以外のネットワークファイルの作成を禁止するのは、任意のネットワーク上にファイルを作成できてしまうと機密漏洩を招くこととなるからである。 Next, the hook module determines whether it is a network file other than via VPN (step S303). If it is a network file other than via VPN (Yes in step S303), it rejects execution of the CreateFile function (step S304). ), Return to the original state (step S317), and shift to the subsequent processing. The reason why the creation of a network file other than via VPN is prohibited is that if a file can be created on an arbitrary network, it will cause a security leak.
VPN経由以外のネットワークファイルでない場合(ステップS303のNo)、続いてファイルパス名からCD−ROM上のファイルであるか否かの判断を行い(ステップS305)、CD−ROM上のファイルでない場合(ステップS305のNo)、続いてファイルの拡張子に対応するアプリケーションプログラムが制御外のアプリケーションプログラムであるか否かの判断を行い(ステップS306)、制御外のアプリケーションプログラムでない場合(ステップS306のNo)、続いて許可されたファイルパスであるか否かの判断を行う(ステップS307)。許可されたファイルパスは、内部的に保持されているファイルパスのリストと照合することで判断する。 If it is not a network file other than via VPN (No in step S303), it is then determined whether the file is a file on the CD-ROM from the file path name (step S305). If it is not a file on the CD-ROM (step S305) Next, it is determined whether or not the application program corresponding to the file extension is an uncontrolled application program (step S306). If the application program is not an uncontrolled application program (No in step S306). Subsequently, it is determined whether the file path is permitted (step S307). The permitted file path is determined by checking with a list of file paths held internally.
CD−ROM上のファイルである場合(ステップS305のYes)、制御外のアプリケーションプログラムである場合(ステップS306のYes)、あるいは、許可されたファイルパスである場合(ステップS307のYes)、元の関数を呼び出し(ステップS308)、復帰する(ステップS317)。 If it is a file on the CD-ROM (Yes in step S305), if it is an application program outside the control (Yes in step S306), or if it is a permitted file path (Yes in step S307), the original A function is called (step S308), and the process returns (step S317).
一方、許可されたファイルパスでない場合(ステップS307のNo)、続いてVPN経由のサーバ上のファイルであるか否か判断する(ステップS309)。VPN経由のサーバ上のファイルである場合(ステップS309のYes)、元の関数を呼び出し、VPNコントロールプログラム312によるSMBを介した処理を行い(ステップS310)、復帰する(ステップS317)。VPN経由のサーバ上のファイルである場合にCreateFile関数の実行を許可するのは、VPNにより機密保護がなされたサーバには生のままファイルの作成を許可しても問題がないからである。
On the other hand, if the file path is not permitted (No in step S307), it is subsequently determined whether the file is on the server via the VPN (step S309). If the file is on the server via the VPN (Yes in step S309), the original function is called, the process via the SMB by the
VPN経由のサーバ上のファイルでない場合(ステップS309のNo)、ローカルコントロールプログラム306のファイルシステム309を呼び出す(ステップS311)。
If the file is not on the server via VPN (No in step S309), the
呼び出されたファイルシステム309は、ハンドルマップ310を参照することで仮想ファイル内に同じファイルがあるか否か判断する(ステップS312)。
The called
仮想ファイル内に同じファイルがない場合(ステップS312のNo)、仮想ファイル内にファイルを作成する(ステップS313)。 When the same file does not exist in the virtual file (No in step S312), the file is created in the virtual file (step S313).
次いで、表示用のファイルパスを生成する(ステップS314)。例えば、Gドライブとして認識されるUSBメモリ4に仮想ファイルが存在する場合であっても、通常の作業領域として用いられるCドライブ上のファイルパスを生成する。 Next, a display file path is generated (step S314). For example, even if a virtual file exists in the USB memory 4 recognized as the G drive, a file path on the C drive used as a normal work area is generated.
次いで、ハンドルマップ310に新たなファイルハンドルと表示上のファイルパスと仮想ファイル内のファイル位置とを追記する(ステップS315)。 Next, a new file handle, a file path on the display, and a file position in the virtual file are added to the handle map 310 (step S315).
仮想ファイル内に同じファイルがある場合(ステップS312のYes)、ファイルの作成(ステップS313)、表示用のファイルパス生成(ステップS314)、および、ハンドルマップ310への追記(ステップS315)は行わない。 If there is the same file in the virtual file (Yes in step S312), file creation (step S313), file path generation for display (step S314), and addition to the handle map 310 (step S315) are not performed. .
次いで、次の命令の呼び出しを行い(ステップS316)、復帰する(ステップS317)。 Next, the next instruction is called (step S316), and the process returns (step S317).
図7はフックモジュール305、311、314、322のファイル終了関数の場合の処理例を示すフローチャートである。
FIG. 7 is a flowchart showing an example of processing in the case of the file end function of the
図7において、フックモジュールは、CloseHandle関数をフックすると(ステップS321)、ローカルコントロールプログラム306のファイルシステム309を呼び出す(ステップS322)。
In FIG. 7, when the hook module hooks the CloseHandle function (step S321), the hook module calls the
呼び出されたファイルシステム309は、ハンドルマップ310を参照することで仮想ファイル内に同じファイルハンドルがあるか否か判断する(ステップS323)。
The called
仮想ファイル内に同じファイルハンドルがない場合(ステップS323のNo)、元の関数を呼び出し(ステップS324)、復帰する(ステップS328)。 When the same file handle does not exist in the virtual file (No in step S323), the original function is called (step S324), and the process returns (step S328).
仮想ファイル内に同じファイルハンドルがある場合(ステップS323のYes)、ハンドルマップ310から当該ファイルハンドルを削除し(ステップS325)、当該ファイルハンドルをクローズし(ステップS326)、次の命令を呼び出し(ステップS327)、復帰する(ステップS328)。 When the same file handle exists in the virtual file (Yes in step S323), the file handle is deleted from the handle map 310 (step S325), the file handle is closed (step S326), and the next instruction is called (step S326). S327) and return (step S328).
図8はフックモジュール305、311、314、322のファイルリード関数の場合の処理例を示すフローチャートである。
FIG. 8 is a flowchart showing a processing example in the case of the file read function of the
図8において、フックモジュールは、ReadFile関数をフックすると(ステップS331)、ローカルコントロールプログラム306のファイルシステム309を呼び出す(ステップS332)。
In FIG. 8, when the hook module hooks the ReadFile function (step S331), the hook module calls the
呼び出されたファイルシステム309は、ハンドルマップ310を参照することで仮想ファイル内に同じファイルハンドルがあるか否か判断する(ステップS333)。
The called
仮想ファイル内に同じファイルハンドルがない場合(ステップS333のNo)、元の関数を呼び出し(ステップS334)、復帰する(ステップS337)。 If the same file handle does not exist in the virtual file (No in step S333), the original function is called (step S334), and the process returns (step S337).
仮想ファイル内に同じファイルハンドルがある場合(ステップS333のYes)、仮想ファイル内から該当するファイルを読み出し(ステップS335)、次の命令を呼び出し(ステップS336)、復帰する(ステップS337)。 If the same file handle exists in the virtual file (Yes in step S333), the corresponding file is read from the virtual file (step S335), the next instruction is called (step S336), and the process returns (step S337).
図9はフックモジュール305、311、314、322のファイルライト関数の場合の処理例を示すフローチャートである。
FIG. 9 is a flowchart showing an example of processing in the case of the file write function of the
図9において、フックモジュールは、WriteFile関数をフックすると(ステップS341)、ローカルコントロールプログラム306のファイルシステム309を呼び出す(ステップS342)。
In FIG. 9, when the hook module hooks the WriteFile function (step S341), the hook module calls the
呼び出されたファイルシステム309は、ハンドルマップ310を参照することで仮想ファイル内に同じファイルハンドルがあるか否か判断する(ステップS343)。
The called
仮想ファイル内に同じファイルハンドルがない場合(ステップS343のNo)、元の関数を呼び出し(ステップS344)、復帰する(ステップS348)。 If the same file handle does not exist in the virtual file (No in step S343), the original function is called (step S344), and the process returns (step S348).
仮想ファイル内に同じファイルハンドルがある場合(ステップS343のYes)、仮想ファイル内のファイルデータを更新し(ステップS345)、仮想ファイル内のファイル位置などに変更が生じる場合はハンドルマップ310を更新する(ステップS346)。そして、次の命令を呼び出し(ステップS347)、復帰する(ステップS348)。
If the same file handle exists in the virtual file (Yes in step S343), the file data in the virtual file is updated (step S345), and the
その他、ファイルデータの部分的なコピー操作やプリント操作を禁止する場合、フックモジュールは、それらの命令をフックした場合、その実行を拒否する。 In addition, when a partial copy operation or print operation of file data is prohibited, the hook module rejects the execution of these instructions when hooked.
<総括>
上述したように、本実施形態によれば次のような利点がある。
<Summary>
As described above, this embodiment has the following advantages.
(1)オペレーティングシステムが予め指定しているCドライブなどの記憶装置の所定の領域に代え、同じ記憶装置の他の領域あるいはGドライブなどのリムーバブルな記憶装置の所定の領域を前記データの保存先として指定し、暗号化された仮想ファイル内にファイルデータを保存するので、ファイルデータには専用のプログラムからしかアクセスすることができず、情報セキュリティを強化することができる。 (1) Instead of a predetermined area of a storage device such as a C drive specified in advance by the operating system, another area of the same storage device or a predetermined area of a removable storage device such as a G drive is stored in the data storage destination. Since the file data is stored in the encrypted virtual file, the file data can be accessed only from a dedicated program, and information security can be enhanced.
(2)暗号化された仮想ファイルをUSBメモリなどのリムーバブルな記憶装置に保存し、その記憶装置をパソコンから取り外すことで、仮想ファイル自体もパソコンに残すことがなくなり、より一層、情報セキュリティを強化することができる。 (2) By saving the encrypted virtual file to a removable storage device such as a USB memory and removing the storage device from the personal computer, the virtual file itself will not remain on the personal computer, further enhancing information security. can do.
(3)専用のビューアからは、仮想ファイルの実際の保存領域とは異なり、通常の操作環境で用いられるCドライブなどにファイルが単体で存在するように見えるため、ダウロード後のファイルを使った作業が行いやすくなる。 (3) From the dedicated viewer, unlike the actual storage area of the virtual file, the file appears to exist alone on the C drive used in the normal operating environment, so work with the downloaded file Is easier to do.
(4)仮想ファイルとして管理されるファイルを操作するアプリケーションプログラムなどのウインドウに、制御下にあることを示す特殊表示を付すことで、利用者に機密保護が行われていることを容易にわからせることができる。 (4) A special display indicating that the file is under control is attached to a window of an application program or the like that operates a file managed as a virtual file, so that the user can easily know that the security is protected. be able to.
(5)サーバ装置からファイルをダウンロードする以外に、USBメモリなどのリムーバブルな記憶装置にファイルを保存して閲覧用(コピー、プリントの禁止)として利用することができる。 (5) In addition to downloading a file from the server device, the file can be saved in a removable storage device such as a USB memory and used for browsing (prohibition of copying and printing).
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。 The present invention has been described above by the preferred embodiments of the present invention. While the invention has been described with reference to specific embodiments, various modifications and changes may be made to the embodiments without departing from the broad spirit and scope of the invention as defined in the claims. Obviously you can. In other words, the present invention should not be construed as being limited by the details of the specific examples and the accompanying drawings.
1 サーバ装置
2 ネットワーク
3 パソコン
31 CPU
32 ROM
33 RAM
34 バス
35 入力装置
36 表示装置
37 記憶装置
38 通信インタフェース
301 情報処理制御プログラム
302 ビューアプログラム
303 ランチャー制御部
304 ビューア制御部
305 フックモジュール
306 ローカルコントロールプログラム
307 ダイアログコントロール修正部
308 フックモジュール挿入部
309 ファイルシステム
310 ハンドルマップ
311 フックモジュール
312 VPNコントロールプログラム
313 VPN制御部
314 フックモジュール
321 アプリケーションプログラム
322 フックモジュール
331 オペレーティングシステム
332 ファイルズファンクション
333 ファイルシステム
4 USBメモリ
1 Server device 2
32 ROM
33 RAM
34
Claims (5)
ファイルデータの保存および管理を行う保存・管理手段と、
をコンピュータに実行させ、
前記フック手段は、前記フック機能により、所定のビューアを介して予め定められたロケーションのサーバ装置から前記ファイルデータをダウンロードするときは、オペレーティングシステムが前記ファイルデータの保存および管理を行おうとするのに代えて、前記保存・管理手段に、前記オペレーティングシステムが予め指定している第1の記憶領域に代えて第2の記憶領域を前記ファイルデータの保存先として指定させ、暗号化された仮想ファイル内に前記ファイルデータを保存させるコンピュータに読取可能な情報処理制御プログラム。 Hook means for realizing a hook function for a file operation function of a program;
A storage and management means for storing and managing file data;
To the computer,
The hook means uses the hook function to store and manage the file data when the operating system downloads the file data from a server device at a predetermined location via a predetermined viewer. Instead, the storage / management means causes the second storage area to be specified as the storage destination of the file data instead of the first storage area specified in advance by the operating system, and the encrypted virtual file A computer-readable information processing control program for storing the file data.
ファイルデータの保存および管理を行う保存・管理手段と、
を備え、
前記フック手段は、前記フック機能により、所定のビューアを介して予め定められたロケーションのサーバ装置から前記ファイルデータをダウンロードするときは、オペレーティングシステムが前記ファイルデータの保存および管理を行おうとするのに代えて、前記保存・管理手段に、前記オペレーティングシステムが予め指定している第1の記憶領域に代えて第2の記憶領域を前記ファイルデータの保存先として指定させ、暗号化された仮想ファイル内に前記ファイルデータを保存させる情報処理装置。 Hook means for realizing a hook function for a file operation function of a program;
A storage and management means for storing and managing file data;
With
The hook means uses the hook function to store and manage the file data when the operating system downloads the file data from a server device at a predetermined location via a predetermined viewer. Instead, the storage / management means causes the second storage area to be specified as the storage destination of the file data instead of the first storage area specified in advance by the operating system, and the encrypted virtual file An information processing apparatus for storing the file data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010036435A JP2010282606A (en) | 2009-05-08 | 2010-02-22 | Information processing control program and information processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009113347 | 2009-05-08 | ||
JP2010036435A JP2010282606A (en) | 2009-05-08 | 2010-02-22 | Information processing control program and information processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010282606A true JP2010282606A (en) | 2010-12-16 |
Family
ID=43539251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010036435A Pending JP2010282606A (en) | 2009-05-08 | 2010-02-22 | Information processing control program and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010282606A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018134945A1 (en) * | 2017-01-19 | 2018-07-26 | 株式会社クリエイターズ・ヘッド | Information control program, information control system, and information control method |
-
2010
- 2010-02-22 JP JP2010036435A patent/JP2010282606A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018134945A1 (en) * | 2017-01-19 | 2018-07-26 | 株式会社クリエイターズ・ヘッド | Information control program, information control system, and information control method |
JPWO2018134945A1 (en) * | 2017-01-19 | 2019-11-07 | 株式会社クリエイターズ・ヘッド | Information control program, information control system, and information control method |
US11734443B2 (en) | 2017-01-19 | 2023-08-22 | Creator's Head Inc. | Information control program, information control system, and information control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4400059B2 (en) | Policy setting support tool | |
US10104044B2 (en) | Coerced encryption on connected devices | |
US20030191716A1 (en) | Secure storage system and method | |
JP2009259153A (en) | Information processing apparatus, method of controlling the same, and control program | |
US10831885B2 (en) | Program behavior monitoring control apparatus, distributed object creation management apparatus, recording medium, and program behavior monitoring system | |
KR100898968B1 (en) | Automatic complete delete method for temporary files used in applications | |
JP5377282B2 (en) | Information processing apparatus, control method therefor, and computer program | |
JP4707748B2 (en) | External storage device, method for processing data stored in external storage device, program, and information processing apparatus | |
JP6351245B2 (en) | Image forming apparatus, control method therefor, and program | |
JP2009217556A (en) | Information processing system, information terminal, and program | |
JP2006202259A (en) | Information processing system and method, and information processing program | |
JP2003303114A (en) | Security maintenance system and usb key | |
JP2010282606A (en) | Information processing control program and information processing apparatus | |
WO2011021340A1 (en) | Virtual thin client making device, virtual thin client making system, virtual thin client making program, and virtual thin client making method | |
US8422059B2 (en) | Information processing apparatus and control method therefor | |
JP2000082002A (en) | Data management system and recording medium | |
JP2008077600A (en) | Thin client, thin client system and program | |
US10628096B2 (en) | Device data management system for managing device data usable as setting values | |
JP6999044B2 (en) | LAN booting environment infrastructure A device for file security and centralization, a computer-readable recording medium on which a method for this and a program for performing this method are recorded. | |
JP4895319B2 (en) | File editing apparatus and file editing program | |
JP2008108185A (en) | File editing device and file editing program | |
JP7247307B2 (en) | Device data management system, control method and program | |
JP2007213436A (en) | Information processor, information processing method, terminal, and control method for terminal | |
JP2007293780A (en) | Network information system which boots from reliable detachable medium | |
JP2017134736A (en) | Remote operation system and remote operation program |